From 7d1693ad994c1c3218d7556b0631e436b6d7efb5 Mon Sep 17 00:00:00 2001 From: zero Date: Tue, 20 Feb 2007 01:41:21 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@115 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- classes/module/Module.class.php | 34 +++++++++++++++++++++- classes/module/ModuleHandler.class.php | 13 ++++++--- modules/admin/admin.class.php | 11 +++++++ modules/admin/admin.controller.php | 2 +- modules/admin/admin.model.php | 2 +- modules/admin/admin.view.php | 2 +- modules/board/board.class.php | 28 ++++++++++++++++++ modules/board/board.controller.php | 2 +- modules/board/board.view.php | 19 +----------- modules/comment/comment.class.php | 11 +++++++ modules/comment/comment.controller.php | 2 +- modules/comment/comment.model.php | 2 +- modules/document/document.class.php | 11 +++++++ modules/document/document.controller.php | 2 +- modules/document/document.model.php | 6 ++-- modules/document/document.view.php | 2 +- modules/file/file.class.php | 11 +++++++ modules/file/file.controller.php | 2 +- modules/file/file.model.php | 2 +- modules/file/file.view.php | 2 +- modules/install/install.class.php | 11 +++++++ modules/install/install.controller.php | 2 +- modules/install/install.view.php | 2 +- modules/log/log.class.php | 11 +++++++ modules/log/log.controller.php | 2 +- modules/member/member.class.php | 11 +++++++ modules/member/member.controller.php | 2 +- modules/member/member.model.php | 2 +- modules/member/member.view.php | 2 +- modules/message/message.class.php | 11 +++++++ modules/message/message.view.php | 2 +- modules/module/module.class.php | 11 +++++++ modules/module/module.controller.php | 12 ++++---- modules/module/module.model.php | 2 +- modules/module/module.view.php | 4 +-- modules/rss/rss.class.php | 11 +++++++ modules/rss/rss.view.php | 2 +- modules/tag/tag.class.php | 11 +++++++ modules/tag/tag.controller.php | 2 +- modules/trackback/trackback.class.php | 11 +++++++ modules/trackback/trackback.controller.php | 2 +- modules/trackback/trackback.model.php | 2 +- modules/trackback/trackback.view.php | 2 +- 43 files changed, 238 insertions(+), 58 deletions(-) create mode 100644 modules/admin/admin.class.php create mode 100644 modules/board/board.class.php create mode 100644 modules/comment/comment.class.php create mode 100644 modules/document/document.class.php create mode 100644 modules/file/file.class.php create mode 100644 modules/install/install.class.php create mode 100644 modules/log/log.class.php create mode 100644 modules/member/member.class.php create mode 100644 modules/message/message.class.php create mode 100644 modules/module/module.class.php create mode 100644 modules/rss/rss.class.php create mode 100644 modules/tag/tag.class.php create mode 100644 modules/trackback/trackback.class.php diff --git a/classes/module/Module.class.php b/classes/module/Module.class.php index 1f62092cd..a90447ee3 100644 --- a/classes/module/Module.class.php +++ b/classes/module/Module.class.php @@ -5,7 +5,7 @@ * @brief module의 abstract class **/ - class Module extends Object { + class ModuleObject extends Object { var $mid = NULL; ///< module로 생성한 instance(관리상)의 값 var $module = NULL; ///< mid로 찾아서 생성한 모듈 class 이름 @@ -122,6 +122,38 @@ return $this->template_path; } + /** + * @brief layout 파일 지정 + **/ + function setLayoutFile($filename) { + if(substr($filename,-5)!='.html') $filename .= '.html'; + $this->layout_file = $filename; + } + + /** + * @brief layout 파일 return + **/ + function getLayoutFile() { + return $this->layout_file; + } + + /** + * @brief layout 경로 지정 + **/ + function setLayoutPath($path) { + if(substr($path,-1)!='/') $path .= '/'; + if(substr($path,0,2)!='./') $path = './'.$path; + $this->layout_path = $path; + } + + /** + * @brief layout 경로 return + **/ + function getLayoutPath() { + return $this->layout_path; + } + + /** * @brief 모듈의 action에 해당하는 method를 실행 * diff --git a/classes/module/ModuleHandler.class.php b/classes/module/ModuleHandler.class.php index b1323299c..f681e3082 100644 --- a/classes/module/ModuleHandler.class.php +++ b/classes/module/ModuleHandler.class.php @@ -70,7 +70,7 @@ Context::set('act', $act, true); // 모듈 객체 생성 - $oModule = $this->getModuleInstance($module, $type); + $oModule = &$this->getModuleInstance($module, $type); // 모듈 정보 세팅 $oModule->setModuleInfo($module_info); @@ -111,6 +111,11 @@ * ./files/modules/* 의 클래스 파일을 우선으로 처리해야 함 **/ + // 상위 클래스명 구함 + $high_class_file = sprintf('%s%s.class.php', $class_path, $module); + if(!file_exists($high_class_file)) return NULL; + require_once($high_class_file); + // 객체의 이름을 구함 switch($type) { case 'controller' : @@ -137,12 +142,12 @@ @eval($eval_str); if(!is_object($oModule)) return NULL; - // 생성된 객체에 자신이 호출된 위치를 세팅해줌 - $oModule->setModulePath($class_path); - // 해당 위치에 속한 lang 파일을 읽음 Context::loadLang($class_path.'lang'); + // 생성된 객체에 자신이 호출된 위치를 세팅해줌 + $oModule->setModulePath($class_path); + // GLOBALS 변수에 생성된 객체 저장 $GLOBALS['_loaded_module'][$module][$type] = $oModule; } diff --git a/modules/admin/admin.class.php b/modules/admin/admin.class.php new file mode 100644 index 000000000..ca171b7f7 --- /dev/null +++ b/modules/admin/admin.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/admin/admin.controller.php b/modules/admin/admin.controller.php index 641951caf..2512567a3 100644 --- a/modules/admin/admin.controller.php +++ b/modules/admin/admin.controller.php @@ -5,7 +5,7 @@ * @brief admin 모듈의 controller class **/ - class adminController extends Module { + class adminController extends admin { /** * @brief 초기화 **/ diff --git a/modules/admin/admin.model.php b/modules/admin/admin.model.php index d4dd69ac7..6c4826bc1 100644 --- a/modules/admin/admin.model.php +++ b/modules/admin/admin.model.php @@ -5,7 +5,7 @@ * @brief admin 모듈의 model class **/ - class adminModel extends Module { + class adminModel extends admin { /** * @brief 초기화 diff --git a/modules/admin/admin.view.php b/modules/admin/admin.view.php index e80c37ed9..c33481baf 100644 --- a/modules/admin/admin.view.php +++ b/modules/admin/admin.view.php @@ -5,7 +5,7 @@ * @brief admin 모듈의 view class **/ - class adminView extends Module { + class adminView extends admin { /** * @brief 초기화 diff --git a/modules/board/board.class.php b/modules/board/board.class.php new file mode 100644 index 000000000..603175007 --- /dev/null +++ b/modules/board/board.class.php @@ -0,0 +1,28 @@ + diff --git a/modules/board/board.controller.php b/modules/board/board.controller.php index f562a58ab..63f795406 100644 --- a/modules/board/board.controller.php +++ b/modules/board/board.controller.php @@ -5,7 +5,7 @@ * @brief board 모듈의 Controller class **/ - class boardController extends Module { + class boardController extends board { /** * @brief 초기화 diff --git a/modules/board/board.view.php b/modules/board/board.view.php index 79e17b6f1..012df39bd 100644 --- a/modules/board/board.view.php +++ b/modules/board/board.view.php @@ -5,24 +5,7 @@ * @brief board 모듈의 View class **/ - class boardView extends Module { - - var $search_option = array('title','content','title_content','user_name'); ///< 검색 옵션 - - var $skin = "default"; ///< 스킨 이름 - var $list_count = 3; ///< 한 페이지에 나타날 글의 수 - var $page_count = 10; ///< 페이지의 수 - var $category_list = NULL; ///< 카테고리 목록 - - var $grant_list = array( - 'list', - 'view', - 'write_document', - 'write_comment', - 'fileupload', - ); ///< 권한의 종류를 미리 설정 - - var $editor = 'default'; ///< 에디터 종류 + class boardView extends board { /** * @brief 초기화 diff --git a/modules/comment/comment.class.php b/modules/comment/comment.class.php new file mode 100644 index 000000000..07dd62395 --- /dev/null +++ b/modules/comment/comment.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/comment/comment.controller.php b/modules/comment/comment.controller.php index 77157dab3..5884e2e2f 100644 --- a/modules/comment/comment.controller.php +++ b/modules/comment/comment.controller.php @@ -5,7 +5,7 @@ * @brief comment 모듈의 controller class **/ - class commentController extends Module { + class commentController extends comment { /** * @brief 초기화 diff --git a/modules/comment/comment.model.php b/modules/comment/comment.model.php index 355c47304..8753efac4 100644 --- a/modules/comment/comment.model.php +++ b/modules/comment/comment.model.php @@ -5,7 +5,7 @@ * @brief comment 모듈의 model class **/ - class commentModel extends Module { + class commentModel extends comment { /** * @brief 초기화 diff --git a/modules/document/document.class.php b/modules/document/document.class.php new file mode 100644 index 000000000..22fd392a6 --- /dev/null +++ b/modules/document/document.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/document/document.controller.php b/modules/document/document.controller.php index afef70e9a..90c345a3a 100644 --- a/modules/document/document.controller.php +++ b/modules/document/document.controller.php @@ -5,7 +5,7 @@ * @brief document 모듈의 controller 클래스 **/ - class documentController extends Module { + class documentController extends document { /** * @brief 초기화 diff --git a/modules/document/document.model.php b/modules/document/document.model.php index fea580a49..54089c793 100644 --- a/modules/document/document.model.php +++ b/modules/document/document.model.php @@ -5,7 +5,7 @@ * @brief document 모듈의 model 클래스 **/ - class documentModel extends Module { + class documentModel extends document { /** * @brief 초기화 @@ -34,8 +34,8 @@ if($this->isGranted($document->document_srl)) { $document->is_granted = true; } elseif($document->member_srl) { - $oMember = getModule('member'); - $member_srl = $oMember->getMemberSrl(); + $oMemberModel = getMemberModel('member'); + $member_srl = $oMemberModel->getMemberSrl(); if($member_srl && $member_srl ==$document->member_srl) $document->is_granted = true; } return $document; diff --git a/modules/document/document.view.php b/modules/document/document.view.php index 916f68c7d..b6a084637 100644 --- a/modules/document/document.view.php +++ b/modules/document/document.view.php @@ -5,7 +5,7 @@ * @brief document 모듈의 view 클래스 **/ - class documentView extends Module { + class documentView extends document { /** * @brief 초기화 diff --git a/modules/file/file.class.php b/modules/file/file.class.php new file mode 100644 index 000000000..5edae4e5a --- /dev/null +++ b/modules/file/file.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/file/file.controller.php b/modules/file/file.controller.php index 69bb61165..ad503182a 100644 --- a/modules/file/file.controller.php +++ b/modules/file/file.controller.php @@ -5,7 +5,7 @@ * @brief file 모듈의 controller 클래스 **/ - class fileController extends Module { + class fileController extends file { /** * @brief 초기화 diff --git a/modules/file/file.model.php b/modules/file/file.model.php index 97ad57f01..d047b593f 100644 --- a/modules/file/file.model.php +++ b/modules/file/file.model.php @@ -5,7 +5,7 @@ * @brief file 모듈의 model 클래스 **/ - class fileModel extends Module { + class fileModel extends file { /** * @brief 초기화 diff --git a/modules/file/file.view.php b/modules/file/file.view.php index cb0881d90..2859172eb 100644 --- a/modules/file/file.view.php +++ b/modules/file/file.view.php @@ -5,7 +5,7 @@ * @brief file 모듈의 view 클래스 **/ - class fileView extends Module { + class fileView extends file { /** * @brief 초기화 diff --git a/modules/install/install.class.php b/modules/install/install.class.php new file mode 100644 index 000000000..1ddf567b7 --- /dev/null +++ b/modules/install/install.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/install/install.controller.php b/modules/install/install.controller.php index 1b7c511d2..6b717a503 100644 --- a/modules/install/install.controller.php +++ b/modules/install/install.controller.php @@ -5,7 +5,7 @@ * @brief install module의 Controller class **/ - class installController extends Module { + class installController extends install { /** diff --git a/modules/install/install.view.php b/modules/install/install.view.php index f9eecaa3f..4d98f240a 100644 --- a/modules/install/install.view.php +++ b/modules/install/install.view.php @@ -5,7 +5,7 @@ * @brief install module의 View class **/ - class installView extends Module { + class installView extends install { /** * @brief 초기화 diff --git a/modules/log/log.class.php b/modules/log/log.class.php new file mode 100644 index 000000000..7901d73e2 --- /dev/null +++ b/modules/log/log.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/log/log.controller.php b/modules/log/log.controller.php index c70e46093..60f83994e 100644 --- a/modules/log/log.controller.php +++ b/modules/log/log.controller.php @@ -6,7 +6,7 @@ * @todo 미구현 **/ - class logController extends Module { + class logController extends log { /** * @brief 초기화 diff --git a/modules/member/member.class.php b/modules/member/member.class.php new file mode 100644 index 000000000..5b001601e --- /dev/null +++ b/modules/member/member.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/member/member.controller.php b/modules/member/member.controller.php index ae712dc19..32abe43a1 100644 --- a/modules/member/member.controller.php +++ b/modules/member/member.controller.php @@ -5,7 +5,7 @@ * @brief member module의 Controller class **/ - class memberController extends Module { + class memberController extends member { /** * @brief 초기화 diff --git a/modules/member/member.model.php b/modules/member/member.model.php index c5a6fa5af..cb28639cb 100644 --- a/modules/member/member.model.php +++ b/modules/member/member.model.php @@ -5,7 +5,7 @@ * @brief member module의 Model class **/ - class memberModel extends Module { + class memberModel extends member { /** * @brief 초기화 diff --git a/modules/member/member.view.php b/modules/member/member.view.php index 0b38962f2..f7d49ef61 100644 --- a/modules/member/member.view.php +++ b/modules/member/member.view.php @@ -5,7 +5,7 @@ * @brief member module의 View class **/ - class memberView extends Module { + class memberView extends member { var $group_list = NULL; ///< 그룹 목록 정보 var $member_info = NULL; ///< 선택된 사용자의 정보 diff --git a/modules/message/message.class.php b/modules/message/message.class.php new file mode 100644 index 000000000..5802c9799 --- /dev/null +++ b/modules/message/message.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/message/message.view.php b/modules/message/message.view.php index bb8b6582e..890ff1b5f 100644 --- a/modules/message/message.view.php +++ b/modules/message/message.view.php @@ -5,7 +5,7 @@ * @brief message모듈의 view class **/ - class messageView extends Module { + class messageView extends message { /** * @brief 초기화 diff --git a/modules/module/module.class.php b/modules/module/module.class.php new file mode 100644 index 000000000..7dbafc147 --- /dev/null +++ b/modules/module/module.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php index 7ff02a120..cf8255f01 100644 --- a/modules/module/module.controller.php +++ b/modules/module/module.controller.php @@ -5,7 +5,7 @@ * @brief module 모듈의 Controller class **/ - class moduleController extends Module { + class moduleController extends ModuleObject { /** * @brief 초기화 @@ -41,7 +41,7 @@ **/ function insertModule($args) { // module model 객체 생성 - $oModuleModel = getModule('module','model'); + $oModuleModel = getModel('module'); // 선택된 스킨정보에서 colorset을 구함 $skin_info = $oModuleModel->loadSkinInfo($args->module, $args->skin); @@ -100,7 +100,7 @@ // plugin 삭제 // document 삭제 - $oDocumentController = getModule('document', 'controller'); + $oDocumentController = getController('document'); $output = $oDocumentController->deleteModuleDocument($module_srl); if(!$output->toBool()) return $output; @@ -109,17 +109,17 @@ if(!$output->toBool()) return $output; // trackbacks 삭제 - $oTrackbackController = getModule('trackback','controller'); + $oTrackbackController = getController('trackback'); $output = $oTrackbackController->deleteModuleTrackbacks($module_srl); if(!$output->toBool()) return $output; // comments 삭제 - $oCommentController = getModule('comment','controller'); + $oCommentController = getController('comment'); $output = $oCommentController->deleteModuleComments($module_srl); if(!$output->toBool()) return $output; // tags 삭제 - $oTagController = getModule('tag','controller'); + $oTagController = getController('tag'); $output = $oTagController->deleteModuleTags($module_srl); if(!$output->toBool()) return $output; diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 30fe08bab..45c457584 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -5,7 +5,7 @@ * @brief module 모듈의 Model class **/ - class moduleModel extends Module { + class moduleModel extends module { /** * @brief 초기화 diff --git a/modules/module/module.view.php b/modules/module/module.view.php index e6885d4e1..f8436cb26 100644 --- a/modules/module/module.view.php +++ b/modules/module/module.view.php @@ -5,7 +5,7 @@ * @brief module 모듈의 View class **/ - class moduleView extends Module { + class moduleView extends module { /** * @brief 초기화 @@ -18,7 +18,7 @@ **/ function dispContent() { // 모듈모델 객체를 구함 - $oModuleModel = getModule('module','model'); + $oModuleModel = getModel('module'); // 등록된 모듈의 목록을 구해옴 $installed_module_list = $oModuleModel->getModulesInfo(); diff --git a/modules/rss/rss.class.php b/modules/rss/rss.class.php new file mode 100644 index 000000000..a4ba8c7b5 --- /dev/null +++ b/modules/rss/rss.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/rss/rss.view.php b/modules/rss/rss.view.php index 8888aa63a..8efc3dcc9 100644 --- a/modules/rss/rss.view.php +++ b/modules/rss/rss.view.php @@ -9,7 +9,7 @@ * **/ - class rssView extends Module { + class rssView extends rss { /** * @brief 초기화 diff --git a/modules/tag/tag.class.php b/modules/tag/tag.class.php new file mode 100644 index 000000000..96aa4772b --- /dev/null +++ b/modules/tag/tag.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/tag/tag.controller.php b/modules/tag/tag.controller.php index 41b5a205b..1f7cbc107 100644 --- a/modules/tag/tag.controller.php +++ b/modules/tag/tag.controller.php @@ -5,7 +5,7 @@ * @brief tag 모듈의 controller class **/ - class tagController extends Module { + class tagController extends tag { /** * @brief 초기화 diff --git a/modules/trackback/trackback.class.php b/modules/trackback/trackback.class.php new file mode 100644 index 000000000..bef3aad27 --- /dev/null +++ b/modules/trackback/trackback.class.php @@ -0,0 +1,11 @@ + diff --git a/modules/trackback/trackback.controller.php b/modules/trackback/trackback.controller.php index d0d279278..0d6700bfd 100644 --- a/modules/trackback/trackback.controller.php +++ b/modules/trackback/trackback.controller.php @@ -5,7 +5,7 @@ * @brief trackback모듈의 Controller class **/ - class trackbackController extends Module { + class trackbackController extends trackback { /** * @brief 초기화 diff --git a/modules/trackback/trackback.model.php b/modules/trackback/trackback.model.php index 731712c8e..7e0108f5f 100644 --- a/modules/trackback/trackback.model.php +++ b/modules/trackback/trackback.model.php @@ -5,7 +5,7 @@ * @brief trackback 모듈의 model class **/ - class trackbackModel extends Module { + class trackbackModel extends trackback { /** * @brief 초기화 diff --git a/modules/trackback/trackback.view.php b/modules/trackback/trackback.view.php index c876dad7b..36ceb1136 100644 --- a/modules/trackback/trackback.view.php +++ b/modules/trackback/trackback.view.php @@ -5,7 +5,7 @@ * @brief trackback모듈의 View class **/ - class trackbackView extends Module { + class trackbackView extends trackback { /** * @brief 초기화