From 098b5fa611426aa1d89338de9bc630cf59b46f1c Mon Sep 17 00:00:00 2001 From: zero Date: Fri, 30 Mar 2007 06:30:52 +0000 Subject: [PATCH] git-svn-id: http://xe-core.googlecode.com/svn/trunk@809 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/layout/conf/module.xml | 3 +- modules/layout/layout.class.php | 19 ++ modules/layout/layout.controller.php | 14 +- modules/layout/layout.model.php | 102 ++++---- modules/layout/layout.view.php | 10 +- .../layout/tpl/downloaded_layout_list.html | 66 ++--- modules/layout/tpl/filter/delete_layout.xml | 16 +- .../layout/tpl/filter/delete_layout_menu.xml | 30 +-- modules/layout/tpl/filter/insert_layout.xml | 26 +- .../layout/tpl/filter/insert_layout_menu.xml | 32 +-- .../layout/tpl/filter/move_layout_menu.xml | 18 +- .../layout/tpl/filter/update_layout_info.xml | 16 +- modules/layout/tpl/header.html | 4 +- modules/layout/tpl/index.html | 44 ++-- modules/layout/tpl/insert_layout.html | 54 ++--- modules/layout/tpl/js/admin.js | 2 +- modules/layout/tpl/layout_detail_info.html | 50 ++-- modules/layout/tpl/layout_info.html | 226 +++++++++--------- modules/layout/tpl/layout_menu_info.html | 79 +++--- 19 files changed, 419 insertions(+), 392 deletions(-) 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 @@
- style="font-weight:bold">[{$lang->layout_list}] - style="font-weight:bold">[{$lang->downloaded_list}] + style="font-weight:bold">[{$lang->layout_list}] + style="font-weight:bold">[{$lang->downloaded_list}]
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 @@
-
- - - - - - - - - - - - - - - -
{$lang->layout_name} - -
{$lang->title}
{$lang->about_title}
- - -
-
+
+ + + + + + + + + + + + + + + +
{$lang->layout_name} + +
{$lang->title}
{$lang->about_title}
+ + +
+
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)}
-
- - + + + - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - - + + - - + + - - + + - - + + - + - +
{$lang->title}
{$var->name} - + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - -
{$lang->title}
{$var->name} + +
{$var->description}
{$var->description}
- - -
- - - - -
- - - - - - - - - - - - - -
{$lang->menu_management}{nl2br($lang->about_menu_management)}
- {$menu->name}
- ({$menu->maxdepth} {$lang->depth}) -
-
- - - - - - - - - + +
- -
- -
-
- - - - -
-
- -
+ + +
-
- -
+ + +
+ +
+ + + + + + + + + + + + + + + +
{$lang->menu_management}{nl2br($lang->about_menu_management)}
+ {$menu->name}
+ ({$menu->maxdepth} {$lang->depth}) +
+
+ + + + + + + + + + + +
+ +
+ +
+
+ + + + +
+
+ +
+
+ +
diff --git a/modules/layout/tpl/layout_menu_info.html b/modules/layout/tpl/layout_menu_info.html index 7185334d2..7334aabc5 100644 --- a/modules/layout/tpl/layout_menu_info.html +++ b/modules/layout/tpl/layout_menu_info.html @@ -6,76 +6,75 @@
{$lang->parent_menu_name}{$menu_info->parent_menu_name}{$lang->parent_menu_name}{$menu_info->parent_menu_name}
{$lang->menu_name}{$lang->menu_name}
{$lang->about_menu_name}{$lang->about_menu_name}
{$lang->menu_url}{$lang->menu_url}
{$lang->about_menu_url}{$lang->about_menu_url}
{$lang->menu_open_window}open_window=="Y")-->checked="true" />{$lang->menu_open_window}open_window=="Y")-->checked="true" />
{$lang->about_menu_open_window}{$lang->about_menu_open_window}
{$lang->menu_expand}expand=="Y")-->checked="true" />{$lang->menu_expand}expand=="Y")-->checked="true" />
{$lang->about_menu_expand}{$lang->about_menu_expand}
{$lang->menu_img_btn}{$lang->about_menu_img_btn}{$lang->menu_img_btn}{$lang->about_menu_img_btn}
{$lang->menu_normal_btn}{$lang->menu_normal_btn}
{$lang->menu_hover_btn}{$lang->menu_hover_btn}
{$lang->menu_active_btn}{$lang->menu_active_btn}
{$lang->menu_group_srls} - - group_srls))-->checked="true"/> - - - - {$lang->menu_group_srls} + + group_srls))-->checked="true"/> + + +
{$lang->about_menu_group_srls}{$lang->about_menu_group_srls}
- - - - - - - - + + + + + + + +