diff --git a/modules/board/tpl.admin/category_list.html b/modules/board/tpl.admin/category_list.html index 6c9c63b4c..2c746e783 100644 --- a/modules/board/tpl.admin/category_list.html +++ b/modules/board/tpl.admin/category_list.html @@ -14,7 +14,6 @@ - @@ -22,13 +21,12 @@ - + - diff --git a/modules/module/conf/module.xml b/modules/module/conf/module.xml index 2a8d4dc7e..dcb908f2a 100644 --- a/modules/module/conf/module.xml +++ b/modules/module/conf/module.xml @@ -4,5 +4,8 @@ + + + diff --git a/modules/module/lang/ko.lang.php b/modules/module/lang/ko.lang.php index 199718c1f..1fe5f3c77 100644 --- a/modules/module/lang/ko.lang.php +++ b/modules/module/lang/ko.lang.php @@ -6,7 +6,9 @@ **/ $lang->module_list = "모듈 목록"; - $lang->module_config = "모듈 기본 설정"; + $lang->module_index = "초기화면"; $lang->module_category = "모듈 카테고리"; + $lang->category_title = "카테고리 이름"; + ?> diff --git a/modules/module/module.controller.php b/modules/module/module.controller.php index bfb589fbe..a84fc9e6b 100644 --- a/modules/module/module.controller.php +++ b/modules/module/module.controller.php @@ -186,11 +186,14 @@ /** * @brief 모듈 카테고리 추가 **/ - function procInsertModuleCategory() { + function procInsertCategory() { $oDB = &DB::getInstance(); $args->title = Context::get('title'); - return $oDB->executeQuery('module.insertModuleCategory', $args); + $output = $oDB->executeQuery('module.insertModuleCategory', $args); + if(!$output->toBool()) return $output; + + $this->setMessage("success_registed"); } /** @@ -213,5 +216,27 @@ $args->module_category_srl = Context::get('module_category_srl'); return $oDB->executeQuery('module.deleteModuleCategory', $args); } + + /** + * @brief 카테고리의 내용 수정 + **/ + function procUpdateCategory() { + $mode = Context::get('mode'); + + switch($mode) { + case 'delete' : + $output = $this->procDeleteModuleCategory(); + $msg_code = 'success_deleted'; + break; + case 'update' : + $output = $this->procUpdateModuleCategory(); + $msg_code = 'success_updated'; + break; + } + if(!$output->toBool()) return $output; + + $this->setMessage($msg_code); + } + } ?> diff --git a/modules/module/module.model.php b/modules/module/module.model.php index 36d1742a6..7763f358d 100644 --- a/modules/module/module.model.php +++ b/modules/module/module.model.php @@ -384,11 +384,23 @@ $oDB = &DB::getInstance(); // 데이터를 DB에서 가져옴 - $args->document_srl = $document_srl; - $output = $oDB->executeQuery('module.getModuleCategories', $args); + $output = $oDB->executeQuery('module.getModuleCategories'); if(!$output->toBool()) return $output; + if($output->data && !is_array($output->data)) return array($output->data); + return $output->data; + } - if(!is_array($output->data)) return array($output->data); + /** + * @brief 특정 모듈 카테고리의 내용을 구함 + **/ + function getModuleCategory($module_category_srl) { + // DB 객체 생성 + $oDB = &DB::getInstance(); + + // 데이터를 DB에서 가져옴 + $args->module_category_srl = $module_category_srl; + $output = $oDB->executeQuery('module.getModuleCategory', $args); + if(!$output->toBool()) return $output; return $output->data; } diff --git a/modules/module/module.view.php b/modules/module/module.view.php index 17419e8c5..b86cd826e 100644 --- a/modules/module/module.view.php +++ b/modules/module/module.view.php @@ -36,5 +36,33 @@ $this->setTemplateFile('module_list'); } + /** + * @brief 모듈 카테고리 목록 + **/ + function dispCategory() { + $module_category_srl = Context::get('module_category_srl'); + + // 모듈 목록을 구해서 + $oModuleModel = &getModel('module'); + + // 선택된 카테고리가 있으면 해당 카테고리의 정보 수정 페이지로 + if($module_category_srl) { + $selected_category = $oModuleModel->getModuleCategory($module_category_srl); + Context::set('selected_category', $selected_category); + + // 템플릿 파일 지정 + $this->setTemplateFile('category_update_form'); + debugPrint($selected_category); + + // 아니면 전체 목록 + } else { + $category_list = $oModuleModel->getModuleCategories(); + Context::set('category_list', $category_list); + + // 템플릿 파일 지정 + $this->setTemplateFile('category_list'); + } + } + } ?> diff --git a/modules/module/queries/deleteModuleCategory.xml b/modules/module/queries/deleteModuleCategory.xml index 82ce55ac3..8336ac65e 100644 --- a/modules/module/queries/deleteModuleCategory.xml +++ b/modules/module/queries/deleteModuleCategory.xml @@ -1,4 +1,4 @@ - +
{$lang->category_title}{$lang->document_count} {$lang->last_update} {$lang->cmd_modify} {$lang->cmd_move}
{$lang->msg_category_is_null}{$lang->msg_category_is_null}
{$category_info->title}{number_format($category_info->document_count)} {zdate($category_info->last_update,"Y-m-d H:i:s")} {$lang->cmd_modify} {$lang->cmd_move_up}
diff --git a/modules/module/queries/getModuleCategory.xml b/modules/module/queries/getModuleCategory.xml new file mode 100644 index 000000000..d7ae4d810 --- /dev/null +++ b/modules/module/queries/getModuleCategory.xml @@ -0,0 +1,9 @@ + + +
+ + + + + + diff --git a/modules/module/queries/updateModuleCategory.xml b/modules/module/queries/updateModuleCategory.xml index fb21d09c4..93b21010f 100644 --- a/modules/module/queries/updateModuleCategory.xml +++ b/modules/module/queries/updateModuleCategory.xml @@ -1,4 +1,4 @@ - +
diff --git a/modules/module/tpl.admin/category_list.html b/modules/module/tpl.admin/category_list.html new file mode 100644 index 000000000..88b9aa9ad --- /dev/null +++ b/modules/module/tpl.admin/category_list.html @@ -0,0 +1,48 @@ + + + + + + + + + + + +
+
+ + + + + + + + + + + + + + + + + + + +
{$lang->category_title}{$lang->regdate}{$lang->cmd_modify}{$lang->cmd_delete}
{$lang->msg_category_is_null}
{$val->title}{zdate($val->regdate,"Y-m-d H:i:s")}{$lang->cmd_modify}{$lang->cmd_delete}
+ + + +
+ + + + +
+ {$lang->category_title} : + + +
+ +
diff --git a/modules/module/tpl.admin/category_update_form.html b/modules/module/tpl.admin/category_update_form.html new file mode 100644 index 000000000..b2cb54930 --- /dev/null +++ b/modules/module/tpl.admin/category_update_form.html @@ -0,0 +1,19 @@ + + + + + + +
+ + + +
+ {$lang->category_title} : + + + +
+ +
+ diff --git a/modules/module/tpl.admin/filter/insert_category.xml b/modules/module/tpl.admin/filter/insert_category.xml new file mode 100644 index 000000000..cb8c6d879 --- /dev/null +++ b/modules/module/tpl.admin/filter/insert_category.xml @@ -0,0 +1,10 @@ + +
+ + + + + + + +
diff --git a/modules/module/tpl.admin/filter/update_category.xml b/modules/module/tpl.admin/filter/update_category.xml new file mode 100644 index 000000000..e42997946 --- /dev/null +++ b/modules/module/tpl.admin/filter/update_category.xml @@ -0,0 +1,10 @@ + +
+ + + + + + + +
diff --git a/modules/module/tpl.admin/header.html b/modules/module/tpl.admin/header.html index bf79f83e4..01f00d307 100644 --- a/modules/module/tpl.admin/header.html +++ b/modules/module/tpl.admin/header.html @@ -1,7 +1,9 @@ + +
- style="font-weight:bold">[{$lang->module_config}] + style="font-weight:bold">[{$lang->module_index}] style="font-weight:bold">[{$lang->module_category}]
diff --git a/modules/module/tpl.admin/js/admin.js b/modules/module/tpl.admin/js/admin.js new file mode 100644 index 000000000..04ad74d53 --- /dev/null +++ b/modules/module/tpl.admin/js/admin.js @@ -0,0 +1,26 @@ +/** + * @file : modules/module/js/admin.js + * @author : zero + * @desc : module 모듈의 관리자용 javascript + **/ + +/* 카테고리 관련 작업들 */ +function doUpdateCategory(module_category_srl, mode, message) { + if(typeof(message)!='undefined'&&!confirm(message)) return; + + var fo_obj = xGetElementById('fo_category_info'); + fo_obj.module_category_srl.value = module_category_srl; + fo_obj.mode.value = mode; + + procFilter(fo_obj, update_category); +} + +/* 카테고리 정보 수정 후 */ +function completeUpdateCategory(ret_obj) { + var error = ret_obj['error']; + var message = ret_obj['message']; + alert(message); + + var url = "./?module=admin&mo=module&act=dispCategory"; + location.href = url; +}