diff --git a/modules/blog/blog.controller.php b/modules/blog/blog.controller.php index 7b60a2626..f1d14d031 100644 --- a/modules/blog/blog.controller.php +++ b/modules/blog/blog.controller.php @@ -353,6 +353,18 @@ if(!$args->module_srl) { $output = $oModuleController->insertModule($args); $msg_code = 'success_registed'; + + // 글작성, 파일첨부, 댓글 파일첨부, 관리에 대한 권한 지정 + if($output->toBool()) { + $oMemberModel = &getModel('member'); + $admin_group = $oMemberModel->getAdminGroup(); + $admin_group_srl = $admin_group->group_srl; + + $module_srl = $output->get('module_srl'); + $grants = serialize(array('write_document'=>array($admin_group_srl), 'fileupload'=>array($admin_group_srl), 'comment_fileupload'=>array($admin_group_srl), 'manager'=>array($admin_group_srl))); + + $oModuleController->updateModuleGrant($module_srl, $grants); + } } else { $output = $oModuleController->updateModule($args); $msg_code = 'success_updated'; diff --git a/modules/blog/conf/module.xml b/modules/blog/conf/module.xml index 697e4f6b2..8e8237e16 100644 --- a/modules/blog/conf/module.xml +++ b/modules/blog/conf/module.xml @@ -5,10 +5,6 @@ 목록 list - - 열람 - view - 글 작성 write document @@ -21,6 +17,10 @@ 파일 첨부 file upload + + 댓글 파일 첨부 + comment file upload + 관리 manager diff --git a/modules/blog/tpl/grant_list.html b/modules/blog/tpl/grant_list.html index 432d7f464..d464088cc 100644 --- a/modules/blog/tpl/grant_list.html +++ b/modules/blog/tpl/grant_list.html @@ -22,7 +22,7 @@
- grants)&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="true"/> + grants[$key])&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="true"/> diff --git a/modules/board/board.class.php b/modules/board/board.class.php index 048bfe10d..e8b8d35ce 100644 --- a/modules/board/board.class.php +++ b/modules/board/board.class.php @@ -31,6 +31,21 @@ $oModuleController->insertActionForward('board', 'view', 'dispBoardAdminGrantInfo'); $oModuleController->insertActionForward('board', 'controller', 'procBoardAdminUpdateSkinInfo'); + // 기본 게시판 생성 + // 설치된 기본 모듈이 있는지 확인 + $output = executeQuery('module.getDefaultMidInfo'); + if($output->data) return new Object(); + + // 기본 데이터 세팅 + $args->board_name = 'board'; + $args->browser_title = 'test module'; + $args->is_default = 'Y'; + $args->skin = 'default'; + + // 게시판 controller 생성 + $oBoardController = &getController('board'); + $oBoardController->procBoardAdminInsertBoard($args); + return new Object(); } diff --git a/modules/board/board.controller.php b/modules/board/board.controller.php index 8efcb871b..682adc79b 100644 --- a/modules/board/board.controller.php +++ b/modules/board/board.controller.php @@ -380,9 +380,12 @@ /** * @brief 게시판 추가 **/ - function procBoardAdminInsertBoard() { + function procBoardAdminInsertBoard($args = null) { // 일단 입력된 값들을 모두 받아서 db 입력항목과 그외 것으로 분리 - $args = Context::gets('module_srl','module_category_srl','board_name','skin','browser_title','description','is_default','header_text','footer_text','admin_id'); + if(!$args) { + $args = Context::gets('module_srl','module_category_srl','board_name','skin','browser_title','description','is_default','header_text','footer_text','admin_id'); + } + $args->module = 'board'; $args->mid = $args->board_name; unset($args->board_name); @@ -418,6 +421,18 @@ if(!$args->module_srl) { $output = $oModuleController->insertModule($args); $msg_code = 'success_registed'; + + // 파일업로드, 댓글 파일업로드, 관리에 대한 권한 지정 + if($output->toBool()) { + $oMemberModel = &getModel('member'); + $admin_group = $oMemberModel->getAdminGroup(); + $admin_group_srl = $admin_group->group_srl; + + $module_srl = $output->get('module_srl'); + $grants = serialize(array('fileupload'=>array($admin_group_srl), 'comment_fileupload'=>array($admin_group_srl), 'manager'=>array($admin_group_srl))); + + $oModuleController->updateModuleGrant($module_srl, $grants); + } } else { $output = $oModuleController->updateModule($args); $msg_code = 'success_updated'; @@ -425,19 +440,6 @@ if(!$output->toBool()) return $output; - // 신규 입력일 경우 기본 권한 설정 (file upload, manager권한을 관리그룹으로 정함) - if($msg_code == 'success_registed') { - $oMemberModel = &getModel('member'); - $admin_group = $oMemberModel->getAdminGroup(); - $admin_group_srl = $admin_group->group_srl; - - $module_srl = $output->get('module_srl'); - $grants = serialize(array('fileupload'=>array($admin_group_srl), 'comment_fileupload'=>array($admin_group_srl), 'manager'=>array($admin_group_srl))); - - $oModuleController = &getController('module'); - $oModuleController->updateModuleGrant($module_srl, $grants); - } - $this->add('page',Context::get('page')); $this->add('module_srl',$output->get('module_srl')); $this->setMessage($msg_code); diff --git a/modules/board/board.view.php b/modules/board/board.view.php index c2e1377db..883a941c3 100644 --- a/modules/board/board.view.php +++ b/modules/board/board.view.php @@ -404,10 +404,9 @@ $comment_srl = getNextSequence(); Context::set('comment_srl', $comment_srl); } - // 에디터 모듈의 getEditor를 호출하여 세팅 $oEditorModel = &getModel('editor'); - $comment_editor = $oEditorModel->getEditor($comment_srl, $this->grant->fileupload); + $comment_editor = $oEditorModel->getEditor($comment_srl, $this->grant->comment_fileupload); Context::set('comment_editor', $comment_editor); } diff --git a/modules/board/tpl/grant_list.html b/modules/board/tpl/grant_list.html index 432d7f464..d464088cc 100644 --- a/modules/board/tpl/grant_list.html +++ b/modules/board/tpl/grant_list.html @@ -22,7 +22,7 @@
- grants)&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="true"/> + grants[$key])&&in_array($v->group_srl,$module_info->grants[$key]))-->checked="true"/> diff --git a/modules/install/install.controller.php b/modules/install/install.controller.php index 94d0d07e4..0a9c20614 100644 --- a/modules/install/install.controller.php +++ b/modules/install/install.controller.php @@ -122,11 +122,12 @@ **/ function installDownloadedModule() { // 수동으로 설치를 할 목록 - $manual_modules = array('install','module'); + $manual_modules = array('install','module','member'); // install, module 모듈은 미리 설치 $this->installModule('install', './modules/install/'); $this->installModule('module', './modules/module/'); + $this->installModule('member', './modules/member/'); // 각 모듈의 schemas/*.xml 파일을 모두 찾아서 table 생성 $module_list = FileHandler::readDir('./modules/', NULL, false, true); diff --git a/modules/module/module.class.php b/modules/module/module.class.php index 5332d7531..1043fba7f 100644 --- a/modules/module/module.class.php +++ b/modules/module/module.class.php @@ -21,9 +21,6 @@ // module 모듈에서 사용할 디렉토리 생성 FileHandler::makeDir('./files/cache/module_info'); - // 기본 모듈을 생성 - $oModule = &getController('module'); - $oModule->makeDefaultModule(); return new Object(); } diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php index 6ae882029..0b42fc39f 100644 --- a/modules/module/module.controller.php +++ b/modules/module/module.controller.php @@ -45,24 +45,6 @@ $this->setMessage($msg_code); } - /** - * @brief 기본 모듈 생성 - **/ - function makeDefaultModule() { - // 설치된 기본 모듈이 있는지 확인 - $output = executeQuery('module.getDefaultMidInfo'); - if($output->data) return; - - // 기본 데이터 세팅 - $args->mid = 'board'; - $args->browser_title = '테스트 모듈'; - $args->is_default = 'Y'; - $args->module = 'board'; - $args->skin = 'default'; - - return $this->insertModule($args); - } - /** * @brief 모듈의 기본 정보 입력 * 모듈의 정보를 입력받은 데이터를 serialize하여 등록한다.