From 64c18d84cdf886238182a0597bff5f426f084d1f Mon Sep 17 00:00:00 2001 From: zero Date: Thu, 15 Feb 2007 14:19:26 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@102 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- addons/spam_filter/spam_filter.addon.php | 8 +-- classes/addon/AddOn.class.php | 43 ------------- classes/layout/Layout.class.php | 38 +----------- classes/plugin/AddOn.class.php | 61 ------------------- classes/plugin/Plugin.class.php | 20 ++++++ .../sample_layout/sample_layout.layout.php | 5 +- .../addons/spam_filter/spam_filter.addon.php | 11 ++++ 7 files changed, 35 insertions(+), 151 deletions(-) delete mode 100644 classes/plugin/AddOn.class.php create mode 100644 classes/plugin/Plugin.class.php create mode 100644 plugins/addons/spam_filter/spam_filter.addon.php diff --git a/addons/spam_filter/spam_filter.addon.php b/addons/spam_filter/spam_filter.addon.php index 4acd13341..cc624ff1b 100644 --- a/addons/spam_filter/spam_filter.addon.php +++ b/addons/spam_filter/spam_filter.addon.php @@ -6,12 +6,6 @@ * @todo 미구현 **/ - class spam_filter extends AddOnHandler { - - function proc(&$oModule, $oModuleInfo) { - $oModule->setError(-1); - $oModule->setMessage('error'); - } - + class spam_filter extends AddOn { } ?> diff --git a/classes/addon/AddOn.class.php b/classes/addon/AddOn.class.php index 15d7919d5..1ef1a6049 100644 --- a/classes/addon/AddOn.class.php +++ b/classes/addon/AddOn.class.php @@ -8,54 +8,11 @@ class AddOn extends Object { - var $addon_name; ///< 실행하고자 하는 addon의 이름 - - /** - * @brief 모듈에 등록된 애드온을 act값에 맞추어 정리 - **/ - function callAddOns(&$oModule, $oModuleInfo, $status) { - if(!$oModuleInfo->isAddOnExists($status, Context::get('act'))) return; - - $addon_list = $oModuleInfo->getAddOnList($status, Context::get('act')); - $addon_cnt = count($addon_list); - if(!$addon_cnt) return; - - for($i=0; $i<$addon_cnt; $i++) { - $addon_name = $addon_list[$i]; - - $oAddOn = new AddOn($addon_name); - $oAddOn->proc($oModule, $oModuleInfo); - } - } - /** * @brief constructor **/ function AddOn($addon_name) { - $this->addon_name = $addon_name; } - - /** - * @brief 애드온의 실행 - **/ - function proc(&$oModule, $oModuleInfo) { - // 해당 모듈을 읽어서 객체를 만듬 - $addon_file = sprintf('./addons/%s/%s.addon.php', $this->addon_name, $this->addon_name); - - // 모듈 파일이 없으면 에러 - if(!file_exists($addon_file)) return; - - // 모듈 파일을 include - require_once($addon_file); - - // 선택된 모듈의 instance는 eval string으로 처리 - $eval_str = sprintf('$oAddOn = new %s();', $this->addon_name); - eval($eval_str); - - // 애드온 실행 - $oAddOn->proc($oModule, $oModuleInfo); - } - } ?> diff --git a/classes/layout/Layout.class.php b/classes/layout/Layout.class.php index 3dc1267c1..cd3d02ef8 100644 --- a/classes/layout/Layout.class.php +++ b/classes/layout/Layout.class.php @@ -7,44 +7,10 @@ **/ class Layout extends Object { - - var $layout_name; ///< 레이아웃의 이름 - var $layout_info; ///< 레이아웃의 정보 - /** - * @brief 레이아웃 정보를 구함 + * @brief constructor **/ - function callLayout(&$oModule, $oModuleInfo) { - if($oModule->getActType() != 'disp') return; - if(!$oModuleInfo->isLayoutExists()) return; - - $oLayout = new Layout(); - $oLayout->proc($oModule, $oModuleInfo); - } - - /** - * @brief 레이아웃 template을 실행하여 html코드로 변환 - **/ - function proc(&$oModule, $oModuleInfo) { - $this->layout_info = $oModuleInfo->getLayout(); - $this->layout_name = $this->layout_info->layout_name; - $this->layout_name = 'test'; - - // 해당 모듈을 읽어서 객체를 만듬 - $layout_file = sprintf('./layouts/%s/%s.layout.php', $this->layout_name, $this->layout_name); - - // 모듈 파일이 없으면 에러 - if(!file_exists($layout_file)) return; - - // 모듈 파일을 include - require_once($layout_file); - - // 선택된 모듈의 instance는 eval string으로 처리 - $eval_str = sprintf('$oLayout = new %s();', $this->layout_name); - eval($eval_str); - - // 애드온 실행 - $oLayout->proc($oModule, $oModuleInfo); + function Layout() { } } ?> diff --git a/classes/plugin/AddOn.class.php b/classes/plugin/AddOn.class.php deleted file mode 100644 index 15d7919d5..000000000 --- a/classes/plugin/AddOn.class.php +++ /dev/null @@ -1,61 +0,0 @@ -isAddOnExists($status, Context::get('act'))) return; - - $addon_list = $oModuleInfo->getAddOnList($status, Context::get('act')); - $addon_cnt = count($addon_list); - if(!$addon_cnt) return; - - for($i=0; $i<$addon_cnt; $i++) { - $addon_name = $addon_list[$i]; - - $oAddOn = new AddOn($addon_name); - $oAddOn->proc($oModule, $oModuleInfo); - } - } - - /** - * @brief constructor - **/ - function AddOn($addon_name) { - $this->addon_name = $addon_name; - } - - /** - * @brief 애드온의 실행 - **/ - function proc(&$oModule, $oModuleInfo) { - // 해당 모듈을 읽어서 객체를 만듬 - $addon_file = sprintf('./addons/%s/%s.addon.php', $this->addon_name, $this->addon_name); - - // 모듈 파일이 없으면 에러 - if(!file_exists($addon_file)) return; - - // 모듈 파일을 include - require_once($addon_file); - - // 선택된 모듈의 instance는 eval string으로 처리 - $eval_str = sprintf('$oAddOn = new %s();', $this->addon_name); - eval($eval_str); - - // 애드온 실행 - $oAddOn->proc($oModule, $oModuleInfo); - } - - } - -?> diff --git a/classes/plugin/Plugin.class.php b/classes/plugin/Plugin.class.php new file mode 100644 index 000000000..cf3e18f6a --- /dev/null +++ b/classes/plugin/Plugin.class.php @@ -0,0 +1,20 @@ + diff --git a/layouts/sample_layout/sample_layout.layout.php b/layouts/sample_layout/sample_layout.layout.php index 5efe3de8a..b3ba83e89 100644 --- a/layouts/sample_layout/sample_layout.layout.php +++ b/layouts/sample_layout/sample_layout.layout.php @@ -6,10 +6,7 @@ * @todo 미구현 **/ - class sample_layout extends LayoutHandler { - function proc(&$oModule, $oModuleInfo) { - $oModule->setHtml('레이아웃'); - } + class sample_layout extends Layout { } ?> diff --git a/plugins/addons/spam_filter/spam_filter.addon.php b/plugins/addons/spam_filter/spam_filter.addon.php new file mode 100644 index 000000000..cc624ff1b --- /dev/null +++ b/plugins/addons/spam_filter/spam_filter.addon.php @@ -0,0 +1,11 @@ +