diff --git a/modules/counter/counter.class.php b/modules/counter/counter.class.php index 480a7b64d..675748d58 100644 --- a/modules/counter/counter.class.php +++ b/modules/counter/counter.class.php @@ -1,11 +1,11 @@ insertActionForward('spamfilter', 'view', 'dispSpamfilterAdminConfig'); - $oModuleController->insertActionForward('spamfilter', 'view', 'dispSpamfilterAdminDeniedIPList'); - $oModuleController->insertActionForward('spamfilter', 'view', 'dispSpamfilterAdminDeniedWordList'); - //$oModuleController->insertActionForward('spamfilter', 'controller', 'procSpamfilterAdminInsertConfig'); - //$oModuleController->insertActionForward('spamfilter', 'controller', 'procSpamfilterAdminInsertDeniedIP'); - //$oModuleController->insertActionForward('spamfilter', 'controller', 'procSpamfilterAdminDeleteDeniedIP'); - //$oModuleController->insertActionForward('spamfilter', 'controller', 'procSpamfilterAdminInsertDeniedWord'); - //$oModuleController->insertActionForward('spamfilter', 'controller', 'procSpamfilterAdminDeleteDeniedWord'); + $oModuleController->insertActionForward('counter', 'view', 'dispCounterAdminIndex'); return new Object(); } @@ -29,6 +22,12 @@ * @brief 설치가 이상이 없는지 체크하는 method **/ function moduleIsInstalled() { + $oDB = &DB::getInstance(); + + // 테이블 검사 + if(!$oDB->isTableExists('counter_log')) return new Object(-1,'fail'); + if(!$oDB->isTableExists('counter_status ')) return new Object(-1,'fail'); + return new Object(); } diff --git a/modules/counter/counter.controller.php b/modules/counter/counter.controller.php index 82345d792..5404f1fe3 100644 --- a/modules/counter/counter.controller.php +++ b/modules/counter/counter.controller.php @@ -1,11 +1,11 @@ check_trackback!='Y') $args->check_trackback = 'N'; - - // module Controller 객체 생성하여 입력 - $oModuleController = &getController('module'); - $output = $oModuleController->insertModuleConfig('spamfilter',$args); - return $output; - } - - /** - * @brief 금지 IP등록 - **/ - function procSpamfilterAdminInsertDeniedIP() { - $ipaddress = Context::get('ipaddress'); - return $this->insertIP($ipaddress); - } - - /** - * @brief 금지 IP삭제 - **/ - function procSpamfilterAdminDeleteDeniedIP() { - $ipaddress = Context::get('ipaddress'); - return $this->deleteIP($ipaddress); - } - - /** - * @brief 금지 Word등록 - **/ - function procSpamfilterAdminInsertDeniedWord() { - $word = Context::get('word'); - return $this->insertWord($word); - } - - /** - * @brief 금지 Word삭제 - **/ - function procSpamfilterAdminDeleteDeniedWord() { - $word = Context::get('word'); - return $this->deleteWord($word); - } - - /** - * @brief IP 등록 - * 등록된 IP는 스패머로 간주 - **/ - function insertIP($ipaddress) { - $args->ipaddress = $ipaddress; - return executeQuery('spamfilter.insertDeniedIP', $args); - } - - /** - * @brief IP 제거 - * 스패머로 등록된 IP를 제거 - **/ - function deleteIP($ipaddress) { - if(!$ipaddress) return; - - $args->ipaddress = $ipaddress; - return executeQuery('spamfilter.deleteDeniedIP', $args); - } - - /** - * @brief 스팸단어 등록 - * 등록된 단어가 포함된 글은 스팸글로 간주 - **/ - function insertWord($word) { - if(!$word) return; - - $args->word = $word; - return executeQuery('spamfilter.insertDeniedWord', $args); - } - - /** - * @brief 스팸단어 제거 - * 스팸 단어로 등록된 단어 제거 - **/ - function deleteWord($word) { - if(!$word) return; - - $args->word = $word; - return executeQuery('spamfilter.deleteDeniedWord', $args); - } - - /** - * @brief 로그 등록 - * 현 접속 IP를 로그에 등록, 로그의 간격이 특정 시간 이내일 경우 도배로 간주하여 - * 스패머로 등록할 수 있음 + * @brief 로그 등록 **/ function insertLog() { - $output = executeQuery('spamfilter.insertLog'); - return $output; + return executeQuery('counter.insertCounterLog'); + } + + /** + * @brief 현황 등록 + **/ + function insertStatus() { + return executeQuery('counter.insertCounterStatus'); } } diff --git a/modules/counter/counter.model.php b/modules/counter/counter.model.php index 97dd2a65f..921185edf 100644 --- a/modules/counter/counter.model.php +++ b/modules/counter/counter.model.php @@ -1,11 +1,11 @@ getModuleConfig('spamfilter'); + function isLogged() { + $output = executeQuery('counter.getCounterLog'); + return $output->data->count?true:false; } /** - * @brief 등록된 금지 IP의 목록을 return + * @brief 특정 일의 접속 통계를 가져옴 **/ - function getDeniedIPList() { - $args->sort_index = "regdate"; - $args->page = Context::get('page')?Context::get('page'):1; - $output = executeQuery('spamfilter.getDeniedIPList', $args); - if(!$output->data) return; - if(!is_array($output->data)) return array($output->data); + function getStatus($regdate) { + $args->regdate = $regdate; + $output = executeQuery('counter.getCounterStatus', $args); return $output->data; } - /** - * @brief 인자로 넘겨진 ipaddress가 금지 ip인지 체크하여 return - **/ - function isDeniedIP($ipaddress) { - $args->ipaddress = $ipaddress; - $output = executeQuery('spamfilter.isDeniedIP', $args); - if($output->data->count>0) return true; - return false; - } - - /** - * @brief 등록된 금지 Word 의 목록을 return - **/ - function getDeniedWordList() { - $args->sort_index = "regdate"; - $output = executeQuery('spamfilter.getDeniedWordList', $args); - if(!$output->data) return; - if(!is_array($output->data)) return array($output->data); - return $output->data; - } - - /** - * @brief 지정된 IPaddress의 특정 시간대 내의 로그 수를 return - **/ - function getLogCount($time = 60, $ipaddress='') { - if(!$ipaddress) $ipaddress = $_SERVER['REMOTE_ADDR']; - - $args->ipaddress = $ipaddress; - $args->regdate = date("YmdHis", time()-$time); - $output = executeQuery('spamfilter.getLogCount', $args); - $count = $output->data->count; - return $count; - } - - } ?> diff --git a/modules/counter/counter.view.php b/modules/counter/counter.view.php index 80bd34005..0e61eb0ed 100644 --- a/modules/counter/counter.view.php +++ b/modules/counter/counter.view.php @@ -1,11 +1,11 @@ getModuleConfig('spamfilter'); - Context::set('config',$config); - - // 템플릿 파일 지정 - $this->setTemplateFile('index'); + function dispCounterAdminIndex() { } - /** - * @brief 금지 목록 출력 - **/ - function dispSpamfilterAdminDeniedIPList() { - // 등록된 금지 IP 목록을 가져옴 - $oSpamFilterModel = &getModel('spamfilter'); - $ip_list = $oSpamFilterModel->getDeniedIPList(); - - Context::set('ip_list', $ip_list); - - // 템플릿 파일 지정 - $this->setTemplateFile('denied_ip_list'); - } - - /** - * @brief 금지 목록 출력 - **/ - function dispSpamfilterAdminDeniedWordList() { - // 등록된 금지 Word 목록을 가져옴 - $oSpamFilterModel = &getModel('spamfilter'); - $word_list = $oSpamFilterModel->getDeniedWordList(); - - Context::set('word_list', $word_list); - - // 템플릿 파일 지정 - $this->setTemplateFile('denied_word_list'); - } } ?> diff --git a/modules/counter/schemas/counter_log.xml b/modules/counter/schemas/counter_log.xml index 3d31f68b0..140f8c7cd 100644 --- a/modules/counter/schemas/counter_log.xml +++ b/modules/counter/schemas/counter_log.xml @@ -1,5 +1,5 @@