From 94217bdd7392017ea674840012a75be69de398b6 Mon Sep 17 00:00:00 2001 From: chschy Date: Tue, 27 Sep 2011 03:00:50 +0000 Subject: [PATCH] issue 160, change spamfilter git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9353 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/spamfilter/conf/module.xml | 7 +++- .../spamfilter.admin.controller.php | 38 ++++++++++++------- modules/spamfilter/tpl/index.html | 37 +++++++++--------- modules/spamfilter/tpl/js/spamfilter_admin.js | 35 ++++++++--------- 4 files changed, 64 insertions(+), 53 deletions(-) diff --git a/modules/spamfilter/conf/module.xml b/modules/spamfilter/conf/module.xml index 48f690204..217791868 100644 --- a/modules/spamfilter/conf/module.xml +++ b/modules/spamfilter/conf/module.xml @@ -19,10 +19,13 @@ - + + + + - + diff --git a/modules/spamfilter/spamfilter.admin.controller.php b/modules/spamfilter/spamfilter.admin.controller.php index 31d62a3fa..8b0071b7c 100644 --- a/modules/spamfilter/spamfilter.admin.controller.php +++ b/modules/spamfilter/spamfilter.admin.controller.php @@ -14,38 +14,50 @@ } - function procSpamfilterAdminInsertSetting() { + function procSpamfilterAdminInsertConfig() { // Get the default information $argsConfig = Context::gets('limits','check_trackback'); - $ipaddressList = Context::get('ipaddressList'); - $wordList = Context::get('wordList'); $flag = Context::get('flag'); //interval, limit_count + if($argsConfig->check_trackback!='Y') $argsConfig->check_trackback = 'N'; + if($argsConfig->limits!='Y') $argsConfig->limits = 'N'; + // Create and insert the module Controller object + $oModuleController = &getController('module'); + $moduleConfigOutput = $oModuleController->insertModuleConfig('spamfilter',$argsConfig); + if(!$moduleConfigOutput->toBool()) return $moduleConfigOutput; - if(!$flag){ - if($argsConfig->check_trackback && $argsConfig->check_trackback!='Y') $argsConfig->check_trackback = 'N'; - //컬럼 변경하거나. 변경이 불가능하다면 룰셋에서 값을 고정 할 수 잇는지 알아볼 것 (config에서 값을 10,2f로 세팅할 것) - if($argsConfig->limits && $argsConfig->limits!='Y') $argsConfig->limits = 'N'; - // Create and insert the module Controller object - $oModuleController = &getController('module'); - $moduleConfigOutput = $oModuleController->insertModuleConfig('spamfilter',$argsConfig); - if(!$moduleConfigOutput->toBool()) return $moduleConfigOutput; + if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) { + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminSetting'); + header('location:'.$returnUrl); + return; } - + return false; + } + + function procSpamfilterAdminInsertDeniedIP(){ //스팸IP 추가 + $ipaddressList = Context::get('ipaddressList'); $oSpamfilterController = &getController('spamfilter'); if($ipaddressList){ $insertIPOutput = $oSpamfilterController->insertIP($ipaddressList); if(!$insertIPOutput->toBool()) return $insertIPOutput; } + if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) { + $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminSetting'); + header('location:'.$returnUrl); + return; + } + return false; + } + function procSpamfilterAdminInsertDeniedWord(){ //스팸 키워드 추가 + $wordList = Context::get('wordList'); if($wordList){ $insertWordOutput = $this->insertWord($wordList); if(!$insertWordOutput->toBool()) return $insertWordOutput; } - if(!in_array(Context::getRequestMethod(),array('XMLRPC','JSON'))) { $returnUrl = Context::get('success_return_url') ? Context::get('success_return_url') : getNotEncodedUrl('', 'module', 'admin', 'act', 'dispSpamfilterAdminSetting'); header('location:'.$returnUrl); diff --git a/modules/spamfilter/tpl/index.html b/modules/spamfilter/tpl/index.html index 6e4ec1061..dfe4b71c8 100644 --- a/modules/spamfilter/tpl/index.html +++ b/modules/spamfilter/tpl/index.html @@ -1,26 +1,20 @@ +
+

{$XE_VALIDATOR_MESSAGE}

+
-
- + + - - -

Spam Filter

+ +

{$lang->spamfilter}

  • {$lang->cmd_interval}

    @@ -38,6 +32,16 @@ function doInsertDeniedSome(some){ check_trackback!='Y' && $config->check_trackback!='')--> checked="checked" / >

  • +
+
+ +
+
+
+ + + +
  • {$lang->cmd_denied_ip}

    @@ -51,7 +55,7 @@ function doInsertDeniedSome(some){

    - + {$lang->about_denied_ip}

  • @@ -66,12 +70,9 @@ function doInsertDeniedSome(some){

    - + {$lang->about_denied_word}

-
- -
diff --git a/modules/spamfilter/tpl/js/spamfilter_admin.js b/modules/spamfilter/tpl/js/spamfilter_admin.js index a8b93f945..46a42623a 100644 --- a/modules/spamfilter/tpl/js/spamfilter_admin.js +++ b/modules/spamfilter/tpl/js/spamfilter_admin.js @@ -19,31 +19,26 @@ function doDeleteDeniedWord(word) { fo_obj.ruleset.value = 'deleteDeniedWord'; fo_obj.submit(); } - -function checkSomeValid(some){ +function doInsertDeniedIP(msg_invalid_format){ var fo_obj = get_by_id('spamfilterInsert'); - var reg_ipaddress = /^(\d{1,3}(?:.(\d{1,3}|\*)){3}\s*(\/\/[^\r\n]*)?[\r\n]*)*$/; var matchStr_ipaddress = fo_obj.ipaddressList.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}[\r\n]+)*.{0,40}$/; var matchStr_word = fo_obj.wordList.value; - - var valid_word = true; - var valid_ip = true; - - if(!matchStr_ipaddress.match(reg_ipaddress)) valid_ip = false; - if(!matchStr_word.match(reg_word)) valid_word = false; - - if(some == 'ip'){ - fo_obj.wordList.value = ''; - valid_word = true; - } else if(some == 'word'){ - fo_obj.ipaddressList.value = ''; - valid_ip = true; + if(!matchStr_word.match(reg_word)) { + alert(msg_invalid_format); return false; } - - if(valid_ip && valid_word) return true; - else return false; + fo_obj.act.value = "procSpamfilterAdminInsertDeniedWord"; + fo_obj.ruleset.value = "insertDeniedWord"; + fo_obj.submit(); }