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 @@
+