diff --git a/modules/admin/tpl/index.html b/modules/admin/tpl/index.html index b01ff9ed5..ba0034b56 100644 --- a/modules/admin/tpl/index.html +++ b/modules/admin/tpl/index.html @@ -132,4 +132,4 @@ jQuery(function($){ } }); }); - \ No newline at end of file + diff --git a/modules/rss/tpl/rss_admin_index.html b/modules/rss/tpl/rss_admin_index.html index 7205c2253..fd5e73882 100644 --- a/modules/rss/tpl/rss_admin_index.html +++ b/modules/rss/tpl/rss_admin_index.html @@ -1,9 +1,9 @@ -
-

{$XE_VALIDATOR_MESSAGE}

-

RSS

+
+

{$XE_VALIDATOR_MESSAGE}

+

{$lang->total_feed} {$lang->cmd_management}

diff --git a/modules/spamfilter/conf/module.xml b/modules/spamfilter/conf/module.xml index e35175440..dacc50529 100644 --- a/modules/spamfilter/conf/module.xml +++ b/modules/spamfilter/conf/module.xml @@ -18,7 +18,9 @@ - + + + diff --git a/modules/spamfilter/lang/lang.xml b/modules/spamfilter/lang/lang.xml index eeb2844d5..9a25b34e7 100644 --- a/modules/spamfilter/lang/lang.xml +++ b/modules/spamfilter/lang/lang.xml @@ -24,6 +24,15 @@ + + + + + + + + + @@ -154,7 +163,7 @@ les articles en plus seront reconnus comme polluriel, et l'adresse IP sera bloqu - + @@ -258,8 +267,15 @@ l'article qui comporte le mot ne sera pas affichagé.]]> - + + + + + - \ No newline at end of file + + 실패(이미 존재합니다.)
%s ]]>
+
+ diff --git a/modules/spamfilter/spamfilter.admin.controller.php b/modules/spamfilter/spamfilter.admin.controller.php index 96a038cf7..5e6cec511 100644 --- a/modules/spamfilter/spamfilter.admin.controller.php +++ b/modules/spamfilter/spamfilter.admin.controller.php @@ -27,7 +27,7 @@ $moduleConfigOutput = $oModuleController->insertModuleConfig('spamfilter',$argsConfig); if(!$moduleConfigOutput->toBool()) return $moduleConfigOutput; - $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminSetting'); + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminConfigBlock'); $this->setRedirectUrl($returnUrl); } @@ -36,22 +36,27 @@ $ipaddress_list = Context::get('ipaddress_list'); $oSpamfilterController = &getController('spamfilter'); if($ipaddress_list){ - $insertIPOutput = $oSpamfilterController->insertIP($ipaddress_list); - if(!$insertIPOutput->toBool()) return $insertIPOutput; + $output = $oSpamfilterController->insertIP($ipaddress_list); + if(!$output->toBool() && !$output->get('fail_list')) return $output; } - $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminSetting'); + if($output->get('fail_list')) $message_fail = ''.sprintf(Context::getLang('msg_faillist'),$output->get('fail_list')).''; + $this->setMessage(Context::getLang('success_registed').$message_fail); + + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminDeniedIPList'); $this->setRedirectUrl($returnUrl); } function procSpamfilterAdminInsertDeniedWord(){ //스팸 키워드 추가 $word_list = Context::get('word_list'); if($word_list){ - $insertWordOutput = $this->insertWord($word_list); - if(!$insertWordOutput->toBool()) return $insertWordOutput; + $output = $this->insertWord($word_list); + if(!$output->toBool() && !$output->get('fail_list')) return $output; } + if($output->get('fail_list')) $message_fail = ''.sprintf(Context::getLang('msg_faillist'),$output->get('fail_list')).''; + $this->setMessage(Context::getLang('success_registed').$message_fail); - $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminSetting'); + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminDeniedWordList'); $this->setRedirectUrl($returnUrl); } @@ -62,7 +67,7 @@ $ipaddress = Context::get('ipaddress'); $output = $this->deleteIP($ipaddress); - $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminSetting'); + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminDeniedIPList'); return $this->setRedirectUrl($returnUrl, $output); } @@ -74,7 +79,7 @@ //$word = base64_decode(Context::get('word')); $output = $this->deleteWord($word); - $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminSetting'); + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminDeniedWordList','active','word'); return $this->setRedirectUrl($returnUrl, $output); } @@ -94,13 +99,17 @@ * The post, which contains the newly registered spam word, should be considered as a spam **/ function insertWord($word_list) { + if(!preg_match("/^(.{2,40}\s*)*$/",$word_list)) return new Object(-1, 'msg_invalid'); + $word_list = str_replace("\r","",$word_list); $word_list = explode("\n",$word_list); + $fail_word = ''; foreach($word_list as $word) { if(trim($word)) $args->word = $word; $output = executeQuery('spamfilter.insertDeniedWord', $args); - if(!$output->toBool()) return $output; + if(!$output->toBool()) $fail_word .= $word.'
'; } + $output->add('fail_list',$fail_word); return $output; } diff --git a/modules/spamfilter/spamfilter.admin.view.php b/modules/spamfilter/spamfilter.admin.view.php index bcf427da7..075a7e99d 100644 --- a/modules/spamfilter/spamfilter.admin.view.php +++ b/modules/spamfilter/spamfilter.admin.view.php @@ -1,44 +1,67 @@ setTemplatePath($this->module_path.'tpl'); + } - /** - * @brief Initialization - **/ - function init() { - // Set template path - $this->setTemplatePath($this->module_path.'tpl'); - } + /** + * @brief Output the list of banned IPs + **/ + function dispSpamfilterAdminDeniedIPList() + { + // Get the list of denied IP addresses and words + $oSpamFilterModel = &getModel('spamfilter'); + $ip_list = $oSpamFilterModel->getDeniedIPList(); + Context::set('ip_list', $ip_list); - /** - * @brief Spam Filter configurations - * Output the list of banned IPs and words - **/ - function dispSpamfilterAdminSetting() { - // Get configurations (using module model object) - $oModuleModel = &getModel('module'); - $config = $oModuleModel->getModuleConfig('spamfilter'); - - // Get the list of denied IP addresses and words - $oSpamFilterModel = &getModel('spamfilter'); - $ip_list = $oSpamFilterModel->getDeniedIPList(); - $word_list = $oSpamFilterModel->getDeniedWordList(); + $security = new Security(); + $security->encodeHTML('ip_list..'); - Context::set('config',$config); - Context::set('ip_list', $ip_list); - Context::set('word_list', $word_list); - - $security = new Security(); - $security->encodeHTML('word_list..word'); - $security->encodeHTML('ip_list..'); + // Set a template file + $this->setTemplateFile('denied_ip_list'); - // Set a template file - $this->setTemplateFile('index'); - } + } + + /** + * @brief Output the list of banned words + **/ + function dispSpamfilterAdminDeniedWordList() + { + // Get the list of denied IP addresses and words + $oSpamFilterModel = &getModel('spamfilter'); + $word_list = $oSpamFilterModel->getDeniedWordList(); + Context::set('word_list', $word_list); + + $security = new Security(); + $security->encodeHTML('word_list..word'); + + // Set a template file + $this->setTemplateFile('denied_word_list'); + } + + /** + * @brief Configure auto block + **/ + function dispSpamfilterAdminConfigBlock() + { + // Get configurations (using module model object) + $oModuleModel = &getModel('module'); + $config = $oModuleModel->getModuleConfig('spamfilter'); + Context::set('config',$config); + + $this->setTemplateFile('config_block'); + } } ?> diff --git a/modules/spamfilter/spamfilter.controller.php b/modules/spamfilter/spamfilter.controller.php index e0d889b92..43784e61c 100644 --- a/modules/spamfilter/spamfilter.controller.php +++ b/modules/spamfilter/spamfilter.controller.php @@ -137,6 +137,9 @@ * The registered IP address is considered as a spammer **/ function insertIP($ipaddress_list, $description = null) { + print_r($ipaddress_list); + $regExr = "/^((\d{1,3}(?:.(\d{1,3}|\*)){3})\s*(\/\/(.*)\s*)?)*\s*$/"; + if(!preg_match($regExr,$ipaddress_list)) return new Object(-1, 'msg_invalid'); $ipaddress_list = str_replace("\r","",$ipaddress_list); $ipaddress_list = explode("\n",$ipaddress_list); foreach($ipaddress_list as $ipaddressValue) { @@ -146,11 +149,11 @@ if(!$description && $matches[4]) $args->description = $matches[4]; else $args->description = $description; } - $output = executeQuery('spamfilter.insertDeniedIP', $args); - - if(!$output->toBool()) return $output; + if(!$output->toBool()) $fail_list .= $ipaddress.'
'; } + + $output->add('fail_list',$fail_list); return $output; } diff --git a/modules/spamfilter/tpl/js/spamfilter_admin.js b/modules/spamfilter/tpl/js/spamfilter_admin.js index 3d8e6bd74..19d3728bb 100644 --- a/modules/spamfilter/tpl/js/spamfilter_admin.js +++ b/modules/spamfilter/tpl/js/spamfilter_admin.js @@ -19,26 +19,3 @@ function doDeleteDeniedWord(word) { fo_obj.ruleset.value = 'deleteDeniedWord'; fo_obj.submit(); } -function doInsertDeniedIP(msg_invalid_format){ - var fo_obj = get_by_id('spamfilterInsert'); - var reg_ipaddress = /^((\d{1,3}(?:.(\d{1,3}|\*)){3})\s*(\/\/(.*)\s*)?)*\s*$/; - var matchStr_ipaddress = fo_obj.ipaddress_list.value; - if(!matchStr_ipaddress.match(reg_ipaddress)) { - alert(msg_invalid_format); return false; - } - fo_obj.act.value = "procSpamfilterAdminInsertDeniedIP"; - fo_obj.ruleset.value = "insertDeniedIp"; - fo_obj.submit(); -} -function doInsertDeniedWord(msg_invalid_format){ - var fo_obj = get_by_id('spamfilterInsert'); - var reg_word = /^(.{2,40}\s*)*$/; - var matchStr_word = fo_obj.word_list.value; - if(!matchStr_word.match(reg_word)) { - alert(msg_invalid_format); return false; - } - fo_obj.act.value = "procSpamfilterAdminInsertDeniedWord"; - fo_obj.ruleset.value = "insertDeniedWord"; - fo_obj.submit(); -} -