From 0af94a227575f2139fa360f3a06f14b3bc6c5542 Mon Sep 17 00:00:00 2001 From: Kijin Sung Date: Tue, 13 Dec 2016 20:05:01 +0900 Subject: [PATCH] Clean up insertWord() --- .../spamfilter.admin.controller.php | 39 ++++++++++++------- modules/spamfilter/spamfilter.controller.php | 5 +++ 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/modules/spamfilter/spamfilter.admin.controller.php b/modules/spamfilter/spamfilter.admin.controller.php index d2e78244c..9f8eadd25 100644 --- a/modules/spamfilter/spamfilter.admin.controller.php +++ b/modules/spamfilter/spamfilter.admin.controller.php @@ -114,27 +114,38 @@ class spamfilterAdminController extends spamfilter */ function insertWord($word_list) { - - $word_list = str_replace("\r","",$word_list); - $word_list = explode("\n",$word_list); - - foreach($word_list as $word) + if (!is_array($word_list)) { - if(!preg_match("/^(.{2,40}[\r\n]+)*.{2,40}$/", $word)) + $word_list = array_map('trim', explode("\n", $word_list)); + } + $fail_list = ''; + $output = null; + + foreach ($word_list as $word) + { + if ($word === '') + { + continue; + } + + if (mb_strlen($word, 'UTF-8') < 2 || mb_strlen($word, 'UTF-8') > 40) { return new Object(-1, 'msg_invalid'); } - } - - $fail_word = ''; - foreach($word_list as $word) - { + $args = new stdClass; - if(trim($word)) $args->word = $word; + $args->word = $word; $output = executeQuery('spamfilter.insertDeniedWord', $args); - if(!$output->toBool()) $fail_word .= $word.'
'; + if (!$output->toBool()) + { + $fail_list .= $args->word . '
'; + } + } + + if ($output) + { + $output->add('fail_list', $fail_list); } - $output->add('fail_list',$fail_word); return $output; } diff --git a/modules/spamfilter/spamfilter.controller.php b/modules/spamfilter/spamfilter.controller.php index e5a88ad1e..21ce45f7f 100644 --- a/modules/spamfilter/spamfilter.controller.php +++ b/modules/spamfilter/spamfilter.controller.php @@ -173,6 +173,11 @@ class spamfilterController extends spamfilter foreach ($ipaddress_list as $ipaddress) { + if ($ipaddress === '') + { + continue; + } + $args = new stdClass; if (preg_match('@^(.+?)(?://|#)(.*)$@', $ipaddress, $matches)) {