diff --git a/modules/layout/conf/module.xml b/modules/layout/conf/module.xml
index 90f005f27..9b6dbbfd0 100644
--- a/modules/layout/conf/module.xml
+++ b/modules/layout/conf/module.xml
@@ -4,10 +4,9 @@
-
+
-
diff --git a/modules/layout/layout.class.php b/modules/layout/layout.class.php
index ffc7fe3c6..ad007ab4a 100644
--- a/modules/layout/layout.class.php
+++ b/modules/layout/layout.class.php
@@ -11,6 +11,25 @@
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
+ // action forward에 등록 (관리자 모드에서 사용하기 위함)
+ $oModuleController = &getController('module');
+ $oModuleController->insertActionFoward('layout', 'view', 'dispLayoutAdminContent');
+ $oModuleController->insertActionFoward('layout', 'view', 'dispLayoutAdminInsertLayout');
+ $oModuleController->insertActionFoward('layout', 'view', 'dispLayoutAdminMenu');
+ $oModuleController->insertActionFoward('layout', 'view', 'dispLayoutAdminDownloadedLayoutList');
+ $oModuleController->insertActionFoward('layout', 'view', 'dispLayoutAdminAdminInfo');
+
+ $oModuleController->insertActionFoward('layout', 'model', 'getLayoutAdminMenuSrl');
+ $oModuleController->insertActionFoward('layout', 'model', 'getLayoutAdminMenuTplInfo');
+
+ $oModuleController->insertActionFoward('layout', 'controller', 'procLayoutAdminInsert');
+ $oModuleController->insertActionFoward('layout', 'controller', 'procLayoutAdminUpdate');
+ $oModuleController->insertActionFoward('layout', 'controller', 'procLayoutAdminDelete');
+ $oModuleController->insertActionFoward('layout', 'controller', 'procLayoutAdminInsertMenu');
+ $oModuleController->insertActionFoward('layout', 'controller', 'procLayoutAdminDeleteMenu');
+ $oModuleController->insertActionFoward('layout', 'controller', 'procLayoutAdminMakeXmlFile');
+ $oModuleController->insertActionFoward('layout', 'controller', 'procLayoutAdminMoveMenu');
+
// 레이아웃에서 사용할 디렉토리 생성
FileHandler::makeDir('./files/cache/layout');
diff --git a/modules/layout/layout.controller.php b/modules/layout/layout.controller.php
index 949059366..57a7e1d7d 100644
--- a/modules/layout/layout.controller.php
+++ b/modules/layout/layout.controller.php
@@ -17,7 +17,7 @@
* @brief 레이아웃 신규 생성
* 레이아웃의 신규 생성은 제목만 받아서 layouts테이블에 입력함
**/
- function procInsertLayout() {
+ function procLayoutAdminInsert() {
$oDB = &DB::getInstance();
$args->layout_srl = $oDB->getNextSequence();
@@ -34,7 +34,7 @@
* @brief 레이아웃 정보 변경
* 생성된 레이아웃의 제목과 확장변수(extra_vars)를 적용한다
**/
- function procUpdateLayout() {
+ function procLayoutAdminUpdate() {
// module, act, layout_srl, layout, title을 제외하면 확장변수로 판단.. 좀 구리다..
$extra_vars = Context::getRequestVars();
unset($extra_vars->module);
@@ -58,7 +58,7 @@
* @brief 레이아웃 삭제
* 삭제시 메뉴 xml 캐시 파일도 삭제
**/
- function procDeleteLayout() {
+ function procLayoutAdminDelete() {
$layout_srl = Context::get('layout_srl');
// 캐시 파일 삭제
@@ -88,7 +88,7 @@
/**
* @brief 레이아웃에 메뉴 추가
**/
- function procInsertLayoutMenu() {
+ function procLayoutInsertMenu() {
// 입력할 변수 정리
$source_args = Context::getRequestVars();
unset($source_args->module);
@@ -156,7 +156,7 @@
/**
* @brief 레이아웃 메뉴 삭제
**/
- function procDeleteLayoutMenu() {
+ function procLayoutAdminDeleteMenu() {
// 변수 정리
$args = Context::gets('layout_srl','layout','menu_srl','menu_id');
@@ -193,7 +193,7 @@
/**
* @brief 레이아웃의 메뉴를 이동
**/
- function procMoveLayoutMenu() {
+ function procLayoutAdminMoveMenu() {
// 변수 설정
$menu_id = Context::get('menu_id');
$source_node_srl = str_replace('menu_'.$menu_id.'_','',Context::get('source_node_srl'));
@@ -232,7 +232,7 @@
* 이럴 경우 관리자의 수동 갱신 기능을 구현해줌\n
* 개발 중간의 문제인 것 같고 현재는 문제가 생기지 않으나 굳이 없앨 필요 없는 기능
**/
- function procMakeXmlFile() {
+ function procLayoutAdminMakeXmlFile() {
// 입력값을 체크
$menu_id = Context::get('menu_id');
$layout = Context::get('layout');
diff --git a/modules/layout/layout.model.php b/modules/layout/layout.model.php
index 8a6340189..8ed7e97da 100644
--- a/modules/layout/layout.model.php
+++ b/modules/layout/layout.model.php
@@ -14,6 +14,57 @@
function init() {
}
+ /**
+ * @brief 특정 menu_srl의 정보를 이용하여 템플릿을 구한후 return
+ * 관리자 페이지에서 특정 메뉴의 정보를 추가하기 위해 서버에서 tpl을 컴파일 한후 컴파일 된 html을 직접 return
+ **/
+ function getLayoutAdminTplInfo() {
+ // 해당 메뉴의 정보를 가져오기 위한 변수 설정
+ $menu_id = Context::get('menu_id');
+ $menu_srl = Context::get('menu_srl');
+ $layuot = Context::get('layout');
+ $parent_srl = Context::get('parent_srl');
+
+ // 회원 그룹의 목록을 가져옴
+ $oMemberModel = &getModel('member');
+ $group_list = $oMemberModel->getGroups();
+ Context::set('group_list', $group_list);
+
+ // parent_srl이 있고 menu_srl이 없으면 하부 메뉴 추가임
+ if(!$menu_srl && $parent_srl) {
+ // 상위 메뉴의 정보를 가져옴
+ $parent_info = $this->getLayoutMenuInfo($parent_srl);
+
+ // 추가하려는 메뉴의 기본 변수 설정
+ $oDB = &DB::getInstance();
+ $menu_info->menu_srl = $oDB->getNextSequence();
+ $menu_info->parent_srl = $parent_srl;
+ $menu_info->parent_menu_name = $parent_info->name;
+
+ // root에 메뉴 추가하거나 기존 메뉴의 수정일 경우
+ } else {
+ // menu_srl 이 있으면 해당 메뉴의 정보를 가져온다
+ if($menu_srl) $menu_info = $this->getLayoutMenuInfo($menu_srl);
+
+ // 찾아진 값이 없다면 신규 메뉴 추가로 보고 menu_srl값만 구해줌
+ if(!$menu_info->menu_srl) {
+ $oDB = &DB::getInstance();
+ $menu_info->menu_srl = $oDB->getNextSequence();
+ }
+ }
+
+ Context::set('menu_info', $menu_info);
+
+ // template 파일을 직접 컴파일한후 tpl변수에 담아서 return한다.
+ require_once("./classes/template/TemplateHandler.class.php");
+ $oTemplate = new TemplateHandler();
+ $tpl = $oTemplate->compile($this->module_path.'tpl.admin', 'layout_menu_info');
+
+ // return 할 변수 설정
+ $this->add('menu_id', $menu_id);
+ $this->add('tpl', $tpl);
+ }
+
/**
* @brief DB 에 생성된 레이아웃의 목록을 구함
* 생성되었다는 것은 DB에 등록이 되었다는 것을 의미
@@ -187,56 +238,5 @@
if($node->group_srls) $node->group_srls = explode(',',$node->group_srls);
return $node;
}
-
- /**
- * @brief 특정 menu_srl의 정보를 이용하여 템플릿을 구한후 return
- * 관리자 페이지에서 특정 메뉴의 정보를 추가하기 위해 서버에서 tpl을 컴파일 한후 컴파일 된 html을 직접 return
- **/
- function getMenuTplInfo() {
- // 해당 메뉴의 정보를 가져오기 위한 변수 설정
- $menu_id = Context::get('menu_id');
- $menu_srl = Context::get('menu_srl');
- $layuot = Context::get('layout');
- $parent_srl = Context::get('parent_srl');
-
- // 회원 그룹의 목록을 가져옴
- $oMemberModel = &getModel('member');
- $group_list = $oMemberModel->getGroups();
- Context::set('group_list', $group_list);
-
- // parent_srl이 있고 menu_srl이 없으면 하부 메뉴 추가임
- if(!$menu_srl && $parent_srl) {
- // 상위 메뉴의 정보를 가져옴
- $parent_info = $this->getLayoutMenuInfo($parent_srl);
-
- // 추가하려는 메뉴의 기본 변수 설정
- $oDB = &DB::getInstance();
- $menu_info->menu_srl = $oDB->getNextSequence();
- $menu_info->parent_srl = $parent_srl;
- $menu_info->parent_menu_name = $parent_info->name;
-
- // root에 메뉴 추가하거나 기존 메뉴의 수정일 경우
- } else {
- // menu_srl 이 있으면 해당 메뉴의 정보를 가져온다
- if($menu_srl) $menu_info = $this->getLayoutMenuInfo($menu_srl);
-
- // 찾아진 값이 없다면 신규 메뉴 추가로 보고 menu_srl값만 구해줌
- if(!$menu_info->menu_srl) {
- $oDB = &DB::getInstance();
- $menu_info->menu_srl = $oDB->getNextSequence();
- }
- }
-
- Context::set('menu_info', $menu_info);
-
- // template 파일을 직접 컴파일한후 tpl변수에 담아서 return한다.
- require_once("./classes/template/TemplateHandler.class.php");
- $oTemplate = new TemplateHandler();
- $tpl = $oTemplate->compile($this->module_path.'tpl.admin', 'layout_menu_info');
-
- // return 할 변수 설정
- $this->add('menu_id', $menu_id);
- $this->add('tpl', $tpl);
- }
}
?>
diff --git a/modules/layout/layout.view.php b/modules/layout/layout.view.php
index 5b6e0593c..e44027ca2 100644
--- a/modules/layout/layout.view.php
+++ b/modules/layout/layout.view.php
@@ -17,7 +17,7 @@
/**
* @brief 레이아웃 관리의 첫 페이지
**/
- function dispContent() {
+ function dispLayoutAdminContent() {
$oLayoutModel = &getModel('layout');
$layout_list = $oLayoutModel->getLayoutList();
Context::set('layout_list', $layout_list);
@@ -29,7 +29,7 @@
* @brief 레이아웃 등록 페이지
* 1차적으로 레이아웃만 선택한 후 DB 에 빈 값을 넣고 그 후 상세 값 설정하는 단계를 거침
**/
- function dispInsertLayout() {
+ function dispLayoutAdminInsert() {
// 레이아웃 목록을 세팅
$oLayoutModel = &getModel('layout');
$layout_list = $oLayoutModel->getDownloadedLayoutList();
@@ -41,7 +41,7 @@
/**
* @brief 레이아웃 세부 정보 입력
**/
- function dispLayoutMenu() {
+ function dispLayoutAdminMenu() {
// 선택된 레이아웃의 정보르 구해서 세팅
$layout_srl = Context::get('layout_srl');
@@ -60,7 +60,7 @@
/**
* @brief 레이아웃의 상세 정보(conf/info.xml)를 팝업 출력
**/
- function dispLayoutInfo() {
+ function dispLayoutAdminInfo() {
// 선택된 레이아웃 정보를 구함
$oLayoutModel = &getModel('layout');
$layout_info = $oLayoutModel->getLayoutInfo(Context::get('selected_layout'));
@@ -77,7 +77,7 @@
/**
* @brief 레이아웃 목록을 보여줌
**/
- function dispDownloadedLayoutList() {
+ function dispLayoutAdminDownloadedList() {
// 레이아웃 목록을 세팅
$oLayoutModel = &getModel('layout');
$layout_list = $oLayoutModel->getDownloadedLayoutList();
diff --git a/modules/layout/tpl/downloaded_layout_list.html b/modules/layout/tpl/downloaded_layout_list.html
index 786a49ee4..e271366c7 100644
--- a/modules/layout/tpl/downloaded_layout_list.html
+++ b/modules/layout/tpl/downloaded_layout_list.html
@@ -2,36 +2,38 @@
-
-
- | {$lang->layout_name} |
- {$lang->version} |
- {$lang->author} |
- {$lang->menu_count} |
- {$lang->date} |
- {$lang->path} |
- {$lang->layout_info} |
- {$lang->cmd_make} |
-
-
-
-
- {$val->title}
- ({$val->layout})
- |
- {$val->version} |
- {$val->author->name} |
- {$val->menu_count} |
- {$val->author->date} |
- {$val->path} |
- {$lang->cmd_view} |
- {$lang->cmd_make} |
-
-
- |
- {nl2br($val->author->description)}
- |
-
-
-
+
+
+ | {$lang->layout_name} |
+ {$lang->version} |
+ {$lang->author} |
+ {$lang->menu_count} |
+ {$lang->date} |
+ {$lang->path} |
+ {$lang->layout_info} |
+ {$lang->cmd_make} |
+
+
+
+
+
+ {$val->title}
+ ({$val->layout})
+ |
+ {$val->version} |
+ {$val->author->name} |
+ {$val->menu_count} |
+ {$val->author->date} |
+ {$val->path} |
+ {$lang->cmd_view} |
+ {$lang->cmd_make} |
+
+
+ |
+ {nl2br($val->author->description)}
+ |
+
+
+
+
diff --git a/modules/layout/tpl/filter/delete_layout.xml b/modules/layout/tpl/filter/delete_layout.xml
index b7d8daa3e..1e2961876 100644
--- a/modules/layout/tpl/filter/delete_layout.xml
+++ b/modules/layout/tpl/filter/delete_layout.xml
@@ -1,9 +1,9 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/modules/layout/tpl/filter/delete_layout_menu.xml b/modules/layout/tpl/filter/delete_layout_menu.xml
index 4a9de5f93..347943198 100644
--- a/modules/layout/tpl/filter/delete_layout_menu.xml
+++ b/modules/layout/tpl/filter/delete_layout_menu.xml
@@ -1,16 +1,16 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/layout/tpl/filter/insert_layout.xml b/modules/layout/tpl/filter/insert_layout.xml
index 81c8f43da..9b5b52c1a 100644
--- a/modules/layout/tpl/filter/insert_layout.xml
+++ b/modules/layout/tpl/filter/insert_layout.xml
@@ -1,14 +1,14 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/layout/tpl/filter/insert_layout_menu.xml b/modules/layout/tpl/filter/insert_layout_menu.xml
index 26025b827..7ab52fd82 100644
--- a/modules/layout/tpl/filter/insert_layout_menu.xml
+++ b/modules/layout/tpl/filter/insert_layout_menu.xml
@@ -1,17 +1,17 @@
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/modules/layout/tpl/filter/move_layout_menu.xml b/modules/layout/tpl/filter/move_layout_menu.xml
index 0fd6b8a67..416449095 100644
--- a/modules/layout/tpl/filter/move_layout_menu.xml
+++ b/modules/layout/tpl/filter/move_layout_menu.xml
@@ -1,10 +1,10 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
diff --git a/modules/layout/tpl/filter/update_layout_info.xml b/modules/layout/tpl/filter/update_layout_info.xml
index 0c869e6d1..1cf5f5dc6 100644
--- a/modules/layout/tpl/filter/update_layout_info.xml
+++ b/modules/layout/tpl/filter/update_layout_info.xml
@@ -1,9 +1,9 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/modules/layout/tpl/header.html b/modules/layout/tpl/header.html
index 37855aa62..65d108aea 100644
--- a/modules/layout/tpl/header.html
+++ b/modules/layout/tpl/header.html
@@ -1,7 +1,7 @@
diff --git a/modules/layout/tpl/index.html b/modules/layout/tpl/index.html
index 4e929fb75..65941dd52 100644
--- a/modules/layout/tpl/index.html
+++ b/modules/layout/tpl/index.html
@@ -4,37 +4,39 @@
- {$lang->total_count} {number_format(count($layout_list))}
+ {$lang->total_count} {number_format(count($layout_list))}
-
-
- | {$lang->no} |
- {$lang->layout} |
- {$lang->title} |
- {$lang->regdate} |
- {$lang->cmd_delete} |
-
-
-
- | {$no+1} |
- {$val->layout} |
- {$val->title} |
- {zdate($val->regdate,"Y-m-d")} |
- {$lang->cmd_delete} |
-
-
-
+
+
+ | {$lang->no} |
+ {$lang->layout} |
+ {$lang->title} |
+ {$lang->regdate} |
+ {$lang->cmd_delete} |
+
+
+
+
+ | {$no+1} |
+ {$val->layout} |
+ {$val->title} |
+ {zdate($val->regdate,"Y-m-d")} |
+ {$lang->cmd_delete} |
+
+
+
+
diff --git a/modules/layout/tpl/insert_layout.html b/modules/layout/tpl/insert_layout.html
index 48a485ced..8e4d532c2 100644
--- a/modules/layout/tpl/insert_layout.html
+++ b/modules/layout/tpl/insert_layout.html
@@ -4,31 +4,31 @@
diff --git a/modules/layout/tpl/js/admin.js b/modules/layout/tpl/js/admin.js
index a6be75c68..48d549d7f 100644
--- a/modules/layout/tpl/js/admin.js
+++ b/modules/layout/tpl/js/admin.js
@@ -1,7 +1,7 @@
/* 레이아웃 신규 생성시 완료 후 요청하는 함수 */
function completeInsertLayout(ret_obj) {
var layout_srl = ret_obj['layout_srl'];
- location.href="./?module=admin&mo=layout&act=dispLayoutMenu&layout_srl="+layout_srl;
+ location.href="./?module=admin&mo=layout&act=dispLayoutAdminMenu&layout_srl="+layout_srl;
}
/* 레이아웃메뉴 입력후 */
diff --git a/modules/layout/tpl/layout_detail_info.html b/modules/layout/tpl/layout_detail_info.html
index 1d940bbb8..7bff986fa 100644
--- a/modules/layout/tpl/layout_detail_info.html
+++ b/modules/layout/tpl/layout_detail_info.html
@@ -2,55 +2,55 @@
- | {$lang->layout_maker} |
+ {$lang->layout_maker} |
- | {$lang->title} |
- {$layout_info->title} ver {$layout_info->version} |
+ {$lang->title} |
+ {$layout_info->title} ver {$layout_info->version} |
- | {$lang->author} |
- {$layout_info->author->name} |
+ {$lang->author} |
+ {$layout_info->author->name} |
- | {$lang->homepage} |
- {$layout_info->author->homepage} |
+ {$lang->homepage} |
+ {$layout_info->author->homepage} |
- | {$lang->regdate} |
- {$layout_info->author->date} |
+ {$lang->regdate} |
+ {$layout_info->author->date} |
- | {$lang->description} |
- {nl2br($layout_info->author->description)} |
+ {$lang->description} |
+ {nl2br($layout_info->author->description)} |
+
+
+ | {$lang->layout_history} |
-
- | {$lang->layout_history} |
-
- | {$lang->name} |
- {$history->name} |
+ {$lang->name} |
+ {$history->name} |
- | {$lang->homepage} |
- {$history->homepage} |
+ {$lang->homepage} |
+ {$history->homepage} |
- | {$lang->regdate} |
- {$history->date} |
+ {$lang->regdate} |
+ {$history->date} |
- | {$lang->description} |
- {nl2br($history->description)} |
+ {$lang->description} |
+ {nl2br($history->description)} |
- |
- {$lang->cmd_close}
- |
+
+ {$lang->cmd_close}
+ |
diff --git a/modules/layout/tpl/layout_info.html b/modules/layout/tpl/layout_info.html
index fd425baf7..5d14643bc 100644
--- a/modules/layout/tpl/layout_info.html
+++ b/modules/layout/tpl/layout_info.html
@@ -8,124 +8,130 @@
-
-
-
-
- | {$lang->layout} |
- {$layout_info->title} ver {$layout_info->version} ({$layout_info->layout}) |
-
-
- | {$lang->path} |
- {$layout_info->path} |
-
-
- | {$lang->author} |
- {$layout_info->author->name} |
-
-
- | {$lang->description} |
- {nl2br($layout_info->author->description)} |
-
-
+
+
+
+
+ | {$lang->layout} |
+ {$layout_info->title} ver {$layout_info->version} ({$layout_info->layout}) |
+
+
+ | {$lang->path} |
+ {$layout_info->path} |
+
+
+ | {$lang->author} |
+ {$layout_info->author->name} |
+
+
+ | {$lang->description} |
+ {nl2br($layout_info->author->description)} |
+
+