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}
+
-
+
+
+
+
+
+
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();
}