From 495ac679befa2f85b8cd1990b212fe68a50dac50 Mon Sep 17 00:00:00 2001 From: zero Date: Thu, 19 Apr 2007 09:00:15 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@1246 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/blog/blog.controller.php | 33 +++++++++++++++++++ modules/blog/blog.view.php | 7 ++-- modules/blog/conf/module.xml | 1 + modules/blog/queries/updateCategoryParent.xml | 12 +++++++ modules/blog/skins/default/css/layout.css | 5 +++ modules/blog/skins/default/layout.html | 4 +-- modules/blog/skins/default/skin.xml | 6 ++-- modules/blog/tpl/category_list.html | 2 +- modules/blog/tpl/filter/move_category.xml | 4 +-- modules/blog/tpl/js/blog_admin.js | 9 ++--- 10 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 modules/blog/queries/updateCategoryParent.xml diff --git a/modules/blog/blog.controller.php b/modules/blog/blog.controller.php index 784d61ca3..6acb2f606 100644 --- a/modules/blog/blog.controller.php +++ b/modules/blog/blog.controller.php @@ -458,6 +458,39 @@ $this->setMessage('success_deleted'); } + /** + * @brief 카테고리 이동 + **/ + function procBlogAdminMoveCategory() { + $source_category_srl = Context::get('source_category_srl'); + $target_category_srl = Context::get('target_category_srl'); + + $oBlogModel = &getModel('blog'); + $target_category = $oBlogModel->getCategoryInfo($target_category_srl); + $source_category = $oBlogModel->getCategoryInfo($source_category_srl); + + // source_category에 target_category_srl의 parent_srl, listorder 값을 입력 + $source_args->category_srl = $source_category_srl; + $source_args->parent_srl = $target_category->parent_srl; + $source_args->listorder = $target_category->listorder; + $output = executeQuery('blog.updateCategoryParent', $source_args); + if(!$output->toBool()) return $output; + + // target_category의 listorder값을 +1해 준다 + $target_args->category_srl = $target_category_srl; + $target_args->parent_srl = $target_category->parent_srl; + $target_args->listorder = $target_category->listorder -1; + $output = executeQuery('blog.updateCategoryParent', $target_args); + if(!$output->toBool()) return $output; + + // xml파일 재생성 + $xml_file = $this->makeXmlFile($target_category->module_srl); + + // return 변수 설정 + $this->add('xml_file', $xml_file); + $this->add('source_category_srl', $source_category_srl); + } + /** * @brief xml 파일을 갱신 * 관리자페이지에서 메뉴 구성 후 간혹 xml파일이 재생성 안되는 경우가 있는데\n diff --git a/modules/blog/blog.view.php b/modules/blog/blog.view.php index a19a3837b..1eb713e1d 100644 --- a/modules/blog/blog.view.php +++ b/modules/blog/blog.view.php @@ -15,6 +15,9 @@ function init() { if(substr_count($this->act, 'Admin')) $this->initAdmin(); else $this->initNormal(); + + // 카테고리 xml 파일 위치 지정 + $this->module_info->category_xml_file = sprintf('./files/cache/blog_category/%d.xml.php', $this->module_info->module_srl); } /** @@ -66,8 +69,6 @@ function initNormal() { // 템플릿에서 사용할 변수를 Context::set() if($this->module_srl) Context::set('module_srl',$this->module_srl); - - Context::set('module_info',$this->module_info); // 기본 모듈 정보들 설정 $this->list_count = $this->module_info->list_count?$this->module_info->list_count:1; @@ -85,6 +86,8 @@ // rss url if($this->grant->list) Context::set('rss_url', getUrl('','mid',$this->mid,'act','dispBlogRss')); + + Context::set('module_info',$this->module_info); } /** diff --git a/modules/blog/conf/module.xml b/modules/blog/conf/module.xml index 2a5548f83..cd9c95425 100644 --- a/modules/blog/conf/module.xml +++ b/modules/blog/conf/module.xml @@ -64,5 +64,6 @@ + diff --git a/modules/blog/queries/updateCategoryParent.xml b/modules/blog/queries/updateCategoryParent.xml new file mode 100644 index 000000000..3c34004ad --- /dev/null +++ b/modules/blog/queries/updateCategoryParent.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/modules/blog/skins/default/css/layout.css b/modules/blog/skins/default/css/layout.css index daeab6348..7d43400e4 100644 --- a/modules/blog/skins/default/css/layout.css +++ b/modules/blog/skins/default/css/layout.css @@ -41,6 +41,11 @@ body { z-index:10; } +#blog_category { + padding:10px; + margin-bottom:10px; +} + /* 컨텐츠 */ .layout_content { position:absolute; diff --git a/modules/blog/skins/default/layout.html b/modules/blog/skins/default/layout.html index 28d128238..cc6a0a1d4 100644 --- a/modules/blog/skins/default/layout.html +++ b/modules/blog/skins/default/layout.html @@ -3,7 +3,7 @@ @@ -62,7 +62,7 @@ - +
diff --git a/modules/blog/skins/default/skin.xml b/modules/blog/skins/default/skin.xml index 66015a2a8..d3c2a6287 100644 --- a/modules/blog/skins/default/skin.xml +++ b/modules/blog/skins/default/skin.xml @@ -30,9 +30,9 @@ 프로필간단한 프로필을 입력해주세요 - - 분류 메뉴명 - 분류 메뉴의 제목을 입력해주세요. + + 카테고리명 + 카테고리의 이름을 입력해주세요. diff --git a/modules/blog/tpl/category_list.html b/modules/blog/tpl/category_list.html index 18e7352f2..31d4f659e 100644 --- a/modules/blog/tpl/category_list.html +++ b/modules/blog/tpl/category_list.html @@ -25,7 +25,7 @@
- +
diff --git a/modules/blog/tpl/filter/move_category.xml b/modules/blog/tpl/filter/move_category.xml index fd2424b9e..d324a1a59 100644 --- a/modules/blog/tpl/filter/move_category.xml +++ b/modules/blog/tpl/filter/move_category.xml @@ -1,7 +1,7 @@ - +
- + diff --git a/modules/blog/tpl/js/blog_admin.js b/modules/blog/tpl/js/blog_admin.js index 1e418a135..a180f0405 100644 --- a/modules/blog/tpl/js/blog_admin.js +++ b/modules/blog/tpl/js/blog_admin.js @@ -181,8 +181,9 @@ function completeInsertCategory(ret_obj) { /* 카테고리를 드래그하여 이동한 후 실행할 함수 , 이동하는 category_srl과 대상 category_srl을 받음 */ function doMoveTree(category_id, source_category_srl, target_category_srl) { + source_category_srl = source_category_srl.replace(/menu_category_/,''); + target_category_srl = target_category_srl.replace(/menu_category_/,''); var fo_obj = xGetElementById("fo_move_category"); - fo_obj.category_id.value = category_id; fo_obj.source_category_srl.value = source_category_srl; fo_obj.target_category_srl.value = target_category_srl; @@ -199,11 +200,7 @@ function completeMoveCategory(ret_obj) { var source_category_srl = ret_obj['source_category_srl']; var xml_file = ret_obj['xml_file']; - var fo_category = xGetElementById("fo_category"); - if(!fo_category) return; - - var title = fo_category.title.value; - loadTreeMenu(xml_file, 'category', "category_zone_category", title, doGetCategoryInfo, source_category_srl, doMoveTree); + loadTreeMenu(xml_file, 'category', "zone_category", category_title, doGetCategoryInfo, source_category_srl, doMoveTree); } /* 카테고리 목록 갱신 */