From 09b95d3fa805e6808ce20d8dfea45d07c8018adc Mon Sep 17 00:00:00 2001 From: zero Date: Thu, 15 Feb 2007 09:35:16 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@70 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/rss/{module.xml => conf/info.xml} | 0 modules/rss/rss.module.php | 197 +++++++++++----------- modules/tag/tag.controller.php | 68 ++++++++ modules/tag/tag.module.php | 109 ------------ 4 files changed, 166 insertions(+), 208 deletions(-) rename modules/rss/{module.xml => conf/info.xml} (100%) create mode 100644 modules/tag/tag.controller.php delete mode 100644 modules/tag/tag.module.php diff --git a/modules/rss/module.xml b/modules/rss/conf/info.xml similarity index 100% rename from modules/rss/module.xml rename to modules/rss/conf/info.xml diff --git a/modules/rss/rss.module.php b/modules/rss/rss.module.php index 747c6082c..e777d404f 100644 --- a/modules/rss/rss.module.php +++ b/modules/rss/rss.module.php @@ -1,111 +1,110 @@ - * @desc : 기본 모듈중의 하나인 rss module - * RSS 2.0형식으로 문서 출력 - **/ - - class rss extends Module { - /** - * 모듈의 정보 - **/ - var $cur_version = "20070130_0.01"; - - /** - * 기본 action 지정 - * $act값이 없거나 잘못된 값이 들어올 경우 $default_act 값으로 진행 - **/ - var $default_act = ''; - - /** - * 현재 모듈의 초기화를 위한 작업을 지정해 놓은 method - * css/js파일의 load라든지 lang파일 load등을 미리 선언 - * - * Init() => 공통 - * dispInit() => disp시에 - * procInit() => proc시에 - * - * $this->module_path는 현재 이 모듈파일의 위치를 나타낸다 - * (ex: $this->module_path = "./modules/system_install/"; + * @file : modules/rss/rss.module.php + * @author : zero + * @desc : 기본 모듈중의 하나인 rss module + * RSS 2.0형식으로 문서 출력 **/ - // 초기화 - function init() {/*{{{*/ - }/*}}}*/ + class rss extends Module { - // disp 초기화 - function dispInit() {/*{{{*/ - }/*}}}*/ - - // proc 초기화 - function procInit() {/*{{{*/ - }/*}}}*/ + /** + * 모듈의 정보 + **/ + var $cur_version = "20070130_0.01"; - /** - * 여기서부터는 action의 구현 - * request parameter의 경우 각 method의 첫번째 인자로 넘어온다 - * - * dispXXXX : 출력을 위한 method, output에 tpl file이 지정되어야 한다 - * procXXXX : 처리를 위한 method, output에는 error, message가 지정되어야 한다 - **/ + /** + * 기본 action 지정 + * $act값이 없거나 잘못된 값이 들어올 경우 $default_act 값으로 진행 + **/ + var $default_act = ''; - // 출력 부분 + /** + * 현재 모듈의 초기화를 위한 작업을 지정해 놓은 method + * css/js파일의 load라든지 lang파일 load등을 미리 선언 + * + * Init() => 공통 + * dispInit() => disp시에 + * procInit() => proc시에 + * + * $this->module_path는 현재 이 모듈파일의 위치를 나타낸다 + * (ex: $this->module_path = "./modules/system_install/"; + **/ - // 실행 부분 + // 초기화 + function init() { + } - /** - * 여기부터는 이 모듈과 관련된 라이브러리 개념의 method들 - **/ - function printRssDocument($info, $content) { /*{{{*/ - header("Content-Type: text/xml; charset=UTF-8"); - header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); - header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); - header("Cache-Control: no-store, no-cache, must-revalidate"); - header("Cache-Control: post-check=0, pre-check=0", false); - header("Pragma: no-cache"); - print ''."\n"; - print "\n"; -?> - - <![CDATA[<?=$info->title?>]]> - link?>]]> - description?>]]> - language?> - date?> -regdate,0,4); - $month = substr($item->regdate,4,2); - $day = substr($item->regdate,6,2); - $hour = substr($item->regdate,8,2); - $min = substr($item->regdate,10,2); - $sec = substr($item->regdate,12,2); - $time = mktime($hour,$min,$sec,$month,$day,$year); + // disp 초기화 + function dispInit() { + } - $title = $item->title; - $author = $item->user_name; - $link = sprintf("%s?document_srl=%d", Context::getRequestUri(), $item->document_srl); - $description = $item->content; - $date = gmdate("D, d M Y H:i:s", $time); -?> - - <![CDATA[<?=$title?>]]> - ]]> - ]]> - ]]> - - -'."\n"; + print "\n"; + ?> + + <![CDATA[<?=$info->title?>]]> + link?>]]> + description?>]]> + language?> + date?> + regdate,0,4); + $month = substr($item->regdate,4,2); + $day = substr($item->regdate,6,2); + $hour = substr($item->regdate,8,2); + $min = substr($item->regdate,10,2); + $sec = substr($item->regdate,12,2); + $time = mktime($hour,$min,$sec,$month,$day,$year); + + $title = $item->title; + $author = $item->user_name; + $link = sprintf("%s?document_srl=%d", Context::getRequestUri(), $item->document_srl); + $description = $item->content; + $date = gmdate("D, d M Y H:i:s", $time); + ?> + + <![CDATA[<?=$title?>]]> + ]]> + ]]> + ]]> + + + + + + - - - diff --git a/modules/tag/tag.controller.php b/modules/tag/tag.controller.php new file mode 100644 index 000000000..41b5a205b --- /dev/null +++ b/modules/tag/tag.controller.php @@ -0,0 +1,68 @@ +deleteTag($document_srl); + if(!$tags) return; + + // tags변수 정리 + $tmp_tag_list = explode(',', $tags); + $tag_count = count($tmp_tag_list); + for($i=0;$i<$tag_count;$i++) { + $tag = trim($tmp_tag_list[$i]); + if(!$tag) continue; + $tag_list[] = $tag; + } + if(!count($tag_list)) return; + + // 다시 태그를 입력 + $oDB = &DB::getInstance(); + + $args->module_srl = $module_srl; + $args->document_srl = $document_srl; + $tag_count = count($tag_list); + for($i=0;$i<$tag_count;$i++) { + $args->tag = $tag_list[$i]; + $oDB->executeQuery('tag.insertTag', $args); + } + + return implode(',',$tag_list); + } + + /** + * @brief 특정 문서의 태그 삭제 + **/ + function deleteTag($document_srl) { + $oDB = &DB::getInstance(); + $args->document_srl = $document_srl; + return $oDB->executeQuery('tag.deleteTag', $args); + } + + /** + * @brief 특정 모듈의 태그 삭제 + **/ + function deleteModuleTags($module_srl) { + // 삭제 + $oDB = &DB::getInstance(); + $args->module_srl = $module_srl; + return $oDB->executeQuery('tag.deleteModuleTags', $args); + } + } +?> diff --git a/modules/tag/tag.module.php b/modules/tag/tag.module.php deleted file mode 100644 index 93838e42e..000000000 --- a/modules/tag/tag.module.php +++ /dev/null @@ -1,109 +0,0 @@ - - * @desc : 기본 모듈중의 하나인 tag module - * Module class에서 상속을 받아서 사용 - * action 의 경우 disp/proc 2가지만 존재하며 이는 action명세서에 - * 미리 기록을 하여야 함 - **/ - - class tag extends Module { - /** - * 모듈의 정보 - **/ - var $cur_version = "20070130_0.01"; - - /** - * 기본 action 지정 - * $act값이 없거나 잘못된 값이 들어올 경우 $default_act 값으로 진행 - **/ - var $default_act = ''; - - /** - * 현재 모듈의 초기화를 위한 작업을 지정해 놓은 method - * css/js파일의 load라든지 lang파일 load등을 미리 선언 - * - * Init() => 공통 - * dispInit() => disp시에 - * procInit() => proc시에 - * - * $this->module_path는 현재 이 모듈파일의 위치를 나타낸다 - * (ex: $this->module_path = "./modules/install/"; - **/ - - // 초기화 - function init() { - } - - // disp 초기화 - function dispInit() { - } - - // proc 초기화 - function procInit() { - } - - /** - * 여기서부터는 action의 구현 - * request parameter의 경우 각 method의 첫번째 인자로 넘어온다 - * - * dispXXXX : 출력을 위한 method, output에 tpl file이 지정되어야 한다 - * procXXXX : 처리를 위한 method, output에는 tag, tag가 지정되어야 한다 - **/ - - /** - * 여기부터는 이 모듈과 관련된 라이브러리 개념의 method들 - **/ - - // public string insertTag($module_srl, $document_srl, $tags) - // 태그 입력 - function insertTag($module_srl, $document_srl, $tags) { - - // 해당 글의 tags를 모두 삭제 - $this->deleteTag($document_srl); - - if(!$tags) return; - - // tags변수 정리 - $tmp_tag_list = explode(',', $tags); - $tag_count = count($tmp_tag_list); - for($i=0;$i<$tag_count;$i++) { - $tag = trim($tmp_tag_list[$i]); - if(!$tag) continue; - $tag_list[] = $tag; - } - if(!count($tag_list)) return; - - // 다시 태그를 입력 - $oDB = &DB::getInstance(); - - $args->module_srl = $module_srl; - $args->document_srl = $document_srl; - $tag_count = count($tag_list); - for($i=0;$i<$tag_count;$i++) { - $args->tag = $tag_list[$i]; - $oDB->executeQuery('tag.insertTag', $args); - } - - return implode(',',$tag_list); - } - - // public boolean deleteTag($document_srl) - // 특정 문서의 태그 삭제 - function deleteTag($document_srl) { - $oDB = &DB::getInstance(); - $args->document_srl = $document_srl; - return $oDB->executeQuery('tag.deleteTag', $args); - } - - // public boolean deleteModuleTags($module_sr) - // 특정 모듈의 태그 삭제 - function deleteModuleTags($module_srl) { - // 삭제 - $oDB = &DB::getInstance(); - $args->module_srl = $module_srl; - return $oDB->executeQuery('tag.deleteModuleTags', $args); - } - } -?>