From 606e53122e20e134b56c9243cf1bc68e06adb8d1 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Sat, 27 Jul 2019 23:43:56 +0900 Subject: [PATCH] Use object cache for spamfilter IP and word list --- modules/spamfilter/spamfilter.admin.controller.php | 13 ++++++++++--- modules/spamfilter/spamfilter.controller.php | 1 + modules/spamfilter/spamfilter.model.php | 14 ++++++++++++-- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/modules/spamfilter/spamfilter.admin.controller.php b/modules/spamfilter/spamfilter.admin.controller.php index 9e4762e1f..1847e0fd6 100644 --- a/modules/spamfilter/spamfilter.admin.controller.php +++ b/modules/spamfilter/spamfilter.admin.controller.php @@ -66,7 +66,6 @@ class spamfilterAdminController extends spamfilter $this->setMessage(lang('success_registed').$message_fail); } - $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminDeniedIPList'); $this->setRedirectUrl($returnUrl); } @@ -126,7 +125,10 @@ class spamfilterAdminController extends spamfilter $args = new stdClass; $args->ipaddress = $ipaddress; - return executeQuery('spamfilter.deleteDeniedIP', $args); + $output = executeQuery('spamfilter.deleteDeniedIP', $args); + + Rhymix\Framework\Cache::delete('spamfilter:denied_ip_list'); + return $output; } /** @@ -167,6 +169,8 @@ class spamfilterAdminController extends spamfilter { $output->add('fail_list', $fail_list); } + + Rhymix\Framework\Cache::delete('spamfilter:denied_word_list'); return $output; } @@ -179,7 +183,10 @@ class spamfilterAdminController extends spamfilter if(!$word) return; $args = new stdClass; $args->word = $word; - return executeQuery('spamfilter.deleteDeniedWord', $args); + $output = executeQuery('spamfilter.deleteDeniedWord', $args); + + Rhymix\Framework\Cache::delete('spamfilter:denied_word_list'); + return $output; } } /* End of file spamfilter.admin.controller.php */ diff --git a/modules/spamfilter/spamfilter.controller.php b/modules/spamfilter/spamfilter.controller.php index ae8a8615a..6b857f800 100644 --- a/modules/spamfilter/spamfilter.controller.php +++ b/modules/spamfilter/spamfilter.controller.php @@ -195,6 +195,7 @@ class spamfilterController extends spamfilter $output->add('fail_list', $fail_list); } + Rhymix\Framework\Cache::delete('spamfilter:denied_ip_list'); return $output; } diff --git a/modules/spamfilter/spamfilter.model.php b/modules/spamfilter/spamfilter.model.php index b5a407aee..1528ff660 100644 --- a/modules/spamfilter/spamfilter.model.php +++ b/modules/spamfilter/spamfilter.model.php @@ -42,7 +42,12 @@ class spamfilterModel extends spamfilter */ function isDeniedIP() { - $ip_list = $this->getDeniedIPList(); + $ip_list = Rhymix\Framework\Cache::get('spamfilter:denied_ip_list'); + if ($ip_list === null) + { + $ip_list = $this->getDeniedIPList(); + Rhymix\Framework\Cache::set('spamfilter:denied_ip_list', $ip_list); + } if(!count($ip_list)) return new BaseObject(); $ip_ranges = array(); @@ -77,7 +82,12 @@ class spamfilterModel extends spamfilter */ function isDeniedWord($text) { - $word_list = $this->getDeniedWordList(); + $word_list = Rhymix\Framework\Cache::get('spamfilter:denied_word_list'); + if ($word_list === null) + { + $word_list = $this->getDeniedWordList(); + Rhymix\Framework\Cache::set('spamfilter:denied_word_list', $ip_list); + } if(!count($word_list)) return new BaseObject(); $text = strtolower(utf8_trim(utf8_normalize_spaces(htmlspecialchars_decode(strip_tags($text, '')))));