git-svn-id: http://xe-core.googlecode.com/svn/trunk@809 201d5d3c-b55e-5fd7-737f-ddc643e51545

This commit is contained in:
zero 2007-03-30 06:30:52 +00:00
parent 95fefd418f
commit 098b5fa611
19 changed files with 419 additions and 392 deletions

View file

@ -4,10 +4,9 @@
<action name="dispLayoutAdminContent" type="view" admin_index="true" standalone="true" />
<action name="dispLayoutAdminInsertLayout" type="view" standalone="true" />
<action name="dispLayoutAdminMenu" type="view" standalone="true" />
<action name="dispLayoutAdminDownloadedLayoutList" type="view" standalone="true" />
<action name="dispLayoutAdminDownloadedList" type="view" standalone="true" />
<action name="dispLayoutAdminInfo" type="view" standalone="true" />
<action name="getLayoutAdminMenuSrl" type="model" standalone="true" />
<action name="getLayoutAdminMenuTplInfo" type="model" standalone="true" />
<action name="procLayoutAdminInsert" type="controller" standalone="true" />

View file

@ -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');

View file

@ -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');

View file

@ -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);
}
}
?>

View file

@ -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();

View file

@ -2,36 +2,38 @@
<!-- 레이아웃의 목록 -->
<div>
<table border="1" width="100%">
<tr>
<td>{$lang->layout_name}</td>
<td>{$lang->version}</td>
<td>{$lang->author}</td>
<td>{$lang->menu_count}</td>
<td>{$lang->date}</td>
<td>{$lang->path}</td>
<td>{$lang->layout_info}</td>
<td>{$lang->cmd_make}</td>
</tr>
<!--@foreach($layout_list as $key => $val)-->
<tr>
<td rowspan="2">
{$val->title} <br />
({$val->layout})
</td>
<td>{$val->version}</td>
<td><a href="#" onclick="window.open('{$val->author->homepage}')">{$val->author->name}</a></td>
<td>{$val->menu_count}</td>
<td>{$val->author->date}</td>
<td>{$val->path}</td>
<td><a href="#" onclick="winopen('{getUrl('','module','layout','act','dispLayoutInfo','selected_layout',$val->layout)}','layout_info','width=10,height=10,toolbars=no,scrollbars=yes,resizable=yes');return false">{$lang->cmd_view}</a></td>
<td><a href="{getUrl('mo','layout','act','dispInsertLayout','layout',$val->layout)}">{$lang->cmd_make}</a></td>
</tr>
<tr>
<td colspan="7">
{nl2br($val->author->description)}
</td>
</tr>
<!--@end-->
</table>
<table border="1" width="100%">
<tr>
<td>{$lang->layout_name}</td>
<td>{$lang->version}</td>
<td>{$lang->author}</td>
<td>{$lang->menu_count}</td>
<td>{$lang->date}</td>
<td>{$lang->path}</td>
<td>{$lang->layout_info}</td>
<td>{$lang->cmd_make}</td>
</tr>
<!--@foreach($layout_list as $key => $val)-->
<tr>
<td rowspan="2">
{$val->title} <br />
({$val->layout})
</td>
<td>{$val->version}</td>
<td><a href="#" onclick="window.open('{$val->author->homepage}')">{$val->author->name}</a></td>
<td>{$val->menu_count}</td>
<td>{$val->author->date}</td>
<td>{$val->path}</td>
<td><a href="#" onclick="winopen('{getUrl('','module','layout','act','dispLayoutAdminInfo','selected_layout',$val->layout)}','layout_info','width=10,height=10,toolbars=no,scrollbars=yes,resizable=yes');return false">{$lang->cmd_view}</a></td>
<td><a href="{getUrl('mo','layout','act','dispLayoutAdminInsert','layout',$val->layout)}">{$lang->cmd_make}</a></td>
</tr>
<tr>
<td colspan="7">
{nl2br($val->author->description)}
</td>
</tr>
<!--@end-->
</table>
</div>

View file

@ -1,9 +1,9 @@
<filter name="delete_layout" module="layout" act="procDeleteLayout" confirm_msg_code="confirm_delete">
<form>
<node target="layout_srl" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
</response>
<filter name="delete_layout" module="layout" act="procLayoutAdminDelete" confirm_msg_code="confirm_delete">
<form>
<node target="layout_srl" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,16 +1,16 @@
<filter name="delete_layout_menu" module="layout" act="procDeleteLayoutMenu" confirm_msg_code="confirm_delete">
<form>
<node target="layout_srl" required="true" />
<node target="layout" required="true" />
<node target="menu_srl" required="true" />
<node target="menu_id" required="true" />
</form>
<response callback_func="completeInsertLayoutMenu">
<tag name="error" />
<tag name="message" />
<tag name="menu_srl" />
<tag name="xml_file" />
<tag name="menu_id" />
<tag name="menu_title" />
</response>
<filter name="delete_layout_menu" module="layout" act="procLayoutAdminDeleteMenu" confirm_msg_code="confirm_delete">
<form>
<node target="layout_srl" required="true" />
<node target="layout" required="true" />
<node target="menu_srl" required="true" />
<node target="menu_id" required="true" />
</form>
<response callback_func="completeInsertLayoutMenu">
<tag name="error" />
<tag name="message" />
<tag name="menu_srl" />
<tag name="xml_file" />
<tag name="menu_id" />
<tag name="menu_title" />
</response>
</filter>

View file

@ -1,14 +1,14 @@
<filter name="insert_layout" module="layout" act="procInsertLayout" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" />
</form>
<parameter>
<param name="layout" target="layout" />
<param name="title" target="title" />
</parameter>
<response callback_func="completeInsertLayout">
<tag name="error" />
<tag name="message" />
<tag name="layout_srl" />
</response>
<filter name="insert_layout" module="layout" act="procLayoutAdminInsert" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" />
</form>
<parameter>
<param name="layout" target="layout" />
<param name="title" target="title" />
</parameter>
<response callback_func="completeInsertLayout">
<tag name="error" />
<tag name="message" />
<tag name="layout_srl" />
</response>
</filter>

View file

@ -1,17 +1,17 @@
<filter name="insert_layout_menu" module="layout" act="procInsertLayoutMenu" confirm_msg_code="confirm_submit">
<form>
<node target="layout_srl" required="true" />
<node target="layout" required="true" />
<node target="menu_srl" required="true" />
<node target="menu_id" required="true" />
<node target="menu_name" required="true" />
</form>
<response callback_func="completeInsertLayoutMenu">
<tag name="error" />
<tag name="message" />
<tag name="menu_srl" />
<tag name="xml_file" />
<tag name="menu_id" />
<tag name="menu_title" />
</response>
<filter name="insert_layout_menu" module="layout" act="procLayoutAdminInsertMenu" confirm_msg_code="confirm_submit">
<form>
<node target="layout_srl" required="true" />
<node target="layout" required="true" />
<node target="menu_srl" required="true" />
<node target="menu_id" required="true" />
<node target="menu_name" required="true" />
</form>
<response callback_func="completeInsertLayoutMenu">
<tag name="error" />
<tag name="message" />
<tag name="menu_srl" />
<tag name="xml_file" />
<tag name="menu_id" />
<tag name="menu_title" />
</response>
</filter>

View file

@ -1,10 +1,10 @@
<filter name="move_layout_menu" module="layout" act="procMoveLayoutMenu" confirm_msg_code="confirm_move">
<form />
<parameter />
<response callback_func="completeMoveLayoutMenu">
<tag name="error" />
<tag name="message" />
<tag name="menu_id" />
<tag name="source_node_srl" />
</response>
<filter name="move_layout_menu" module="layout" act="procLayoutAdminMoveMenu" confirm_msg_code="confirm_move">
<form />
<parameter />
<response callback_func="completeMoveLayoutMenu">
<tag name="error" />
<tag name="message" />
<tag name="menu_id" />
<tag name="source_node_srl" />
</response>
</filter>

View file

@ -1,9 +1,9 @@
<filter name="update_layout_info" module="layout" act="procUpdateLayout" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
</response>
<filter name="update_layout_info" module="layout" act="procLayoutAdminUpdate" confirm_msg_code="confirm_submit">
<form>
<node target="title" required="true" />
</form>
<response>
<tag name="error" />
<tag name="message" />
</response>
</filter>

View file

@ -1,7 +1,7 @@
<!--%import("js/admin.js")-->
<div style="margin-bottom:20px;">
<span <!--@if($act=='dispContent')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispContent')}">{$lang->layout_list}</a>]</span>
<span <!--@if($act=='dispDownloadedLayoutList')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispDownloadedLayoutList')}">{$lang->downloaded_list}</a>]</span>
<span <!--@if($act=='dispLayoutAdminContent')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispLayoutAdminContent')}">{$lang->layout_list}</a>]</span>
<span <!--@if($act=='dispLayoutAdminDownloadedList')-->style="font-weight:bold"<!--@end-->>[<a href="{getUrl('act','dispLayoutAdminDownloadedList')}">{$lang->downloaded_list}</a>]</span>
</div>

View file

@ -4,37 +4,39 @@
<!--#include("header.html")-->
<div>
{$lang->total_count} {number_format(count($layout_list))}
{$lang->total_count} {number_format(count($layout_list))}
</div>
<!-- 삭제를 위한 임시 form -->
<form id="fo_layout" action="./" method="get" onsubmit="return procFilter(this, delete_layout)">
<input type="hidden" name="layout_srl" value="" />
<input type="hidden" name="layout_srl" value="" />
</form>
<!-- 목록 -->
<div>
<table>
<tr>
<th>{$lang->no}</th>
<th>{$lang->layout}</th>
<th>{$lang->title}</th>
<th>{$lang->regdate}</th>
<th>{$lang->cmd_delete}</th>
</tr>
<!--@foreach($layout_list as $no => $val)-->
<tr>
<td>{$no+1}</td>
<td>{$val->layout}</td>
<td><a href="#" onclick="location.href='{getUrl('act','dispLayoutMenu','layout_srl',$val->layout_srl)}';return false;">{$val->title}</a></td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td><a href="#" onclick="doDeleteLayout('{$val->layout_srl}');return false;">{$lang->cmd_delete}</a></td>
</tr>
<!--@end-->
</table>
<table>
<tr>
<th>{$lang->no}</th>
<th>{$lang->layout}</th>
<th>{$lang->title}</th>
<th>{$lang->regdate}</th>
<th>{$lang->cmd_delete}</th>
</tr>
<!--@foreach($layout_list as $no => $val)-->
<tr>
<td>{$no+1}</td>
<td>{$val->layout}</td>
<td><a href="#" onclick="location.href='{getUrl('act','dispLayoutAdminMenu','layout_srl',$val->layout_srl)}';return false;">{$val->title}</a></td>
<td>{zdate($val->regdate,"Y-m-d")}</td>
<td><a href="#" onclick="doDeleteLayout('{$val->layout_srl}');return false;">{$lang->cmd_delete}</a></td>
</tr>
<!--@end-->
</table>
</div>
<!-- 버튼 -->
<div>
[<a href="{getUrl('act','dispInsertLayout','layout_srl','')}">{$lang->cmd_make}</a>]
[<a href="{getUrl('act','dispAdminLayoutInsert','layout_srl','')}">{$lang->cmd_make}</a>]
</div>

View file

@ -4,31 +4,31 @@
<!--#include("header.html")-->
<form action="./" method="get" onsubmit="return procFilter(this, insert_layout)">
<div style="margin-bottom:10px;">
<table border="1" width="100%">
<tr>
<th>{$lang->layout_name}</th>
<td>
<select name="layout">
<!--@foreach($layout_list as $key => $val)-->
<option value="{$val->layout}" <!--@if($layout == $val->layout)-->selected="true"<!--@end-->>{$val->title} ({$val->layout})</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
<th rowspan="2">{$lang->title}</th>
<td><input type="text" name="title" value="{$info->title}" /></td>
</tr>
<tr>
<td>{$lang->about_title}</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_list}" onclick="location.href='{getUrl('act',dispContent)}';return false;" />
<input type="submit" value="{$lang->cmd_next}" />
</td>
</tr>
</table>
</div>
<div style="margin-bottom:10px;">
<table border="1" width="100%">
<tr>
<th>{$lang->layout_name}</th>
<td>
<select name="layout">
<!--@foreach($layout_list as $key => $val)-->
<option value="{$val->layout}" <!--@if($layout == $val->layout)-->selected="true"<!--@end-->>{$val->title} ({$val->layout})</option>
<!--@end-->
</select>
</td>
</tr>
<tr>
<th rowspan="2">{$lang->title}</th>
<td><input type="text" name="title" value="{$info->title}" /></td>
</tr>
<tr>
<td>{$lang->about_title}</td>
</tr>
<tr>
<td colspan="2">
<input type="button" value="{$lang->cmd_list}" onclick="location.href='{getUrl('act','dispLayoutAdminContent')}';return false;" />
<input type="submit" value="{$lang->cmd_next}" />
</td>
</tr>
</table>
</div>
</form>

View file

@ -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;
}
/* 레이아웃메뉴 입력후 */

View file

@ -2,55 +2,55 @@
<col width="100" />
<col width="300" />
<tr>
<th colspan="2">{$lang->layout_maker}</th>
<th colspan="2">{$lang->layout_maker}</th>
</tr>
<tr>
<th>{$lang->title}</th>
<td>{$layout_info->title} ver {$layout_info->version}</td>
<th>{$lang->title}</th>
<td>{$layout_info->title} ver {$layout_info->version}</td>
</tr>
<tr>
<th>{$lang->author}</th>
<td><a href="mailto:{$layout_info->author->email_address}">{$layout_info->author->name}</a></td>
<th>{$lang->author}</th>
<td><a href="mailto:{$layout_info->author->email_address}">{$layout_info->author->name}</a></td>
</tr>
<tr>
<th>{$lang->homepage}</th>
<td><a href="#" onclick="window.open('{$layout_info->author->homepage}');return false;">{$layout_info->author->homepage}</a></td>
<th>{$lang->homepage}</th>
<td><a href="#" onclick="window.open('{$layout_info->author->homepage}');return false;">{$layout_info->author->homepage}</a></td>
</tr>
<tr>
<th>{$lang->regdate}</th>
<td>{$layout_info->author->date}</td>
<th>{$lang->regdate}</th>
<td>{$layout_info->author->date}</td>
</tr>
<tr>
<th>{$lang->description}</th>
<td>{nl2br($layout_info->author->description)}</td>
<th>{$lang->description}</th>
<td>{nl2br($layout_info->author->description)}</td>
</tr>
<tr>
<th colspan="2">{$lang->layout_history}</th>
</tr>
<tr>
<th colspan="2">{$lang->layout_history}</th>
</tr>
<!--@foreach($layout_info->history as $history)-->
<!--@if($history->name)-->
<tr>
<th>{$lang->name}</th>
<td><a href="mailto:{$history->email_address}">{$history->name}</a></td>
<th>{$lang->name}</th>
<td><a href="mailto:{$history->email_address}">{$history->name}</a></td>
</tr>
<tr>
<th>{$lang->homepage}</th>
<td><a href="#" onclick="window.open('{$history->homepage}');return false;">{$history->homepage}</a></td>
<th>{$lang->homepage}</th>
<td><a href="#" onclick="window.open('{$history->homepage}');return false;">{$history->homepage}</a></td>
</tr>
<tr>
<th>{$lang->regdate}</th>
<td>{$history->date}</td>
<th>{$lang->regdate}</th>
<td>{$history->date}</td>
</tr>
<tr>
<th>{$lang->description}</th>
<td>{nl2br($history->description)}</td>
<th>{$lang->description}</th>
<td>{nl2br($history->description)}</td>
</tr>
<!--@end-->
<!--@end-->
<tr>
<td colspan="2">
<a href="#" onclick="self.close()">{$lang->cmd_close}</a>
</td>
<td colspan="2">
<a href="#" onclick="self.close()">{$lang->cmd_close}</a>
</td>
</tr>
</table>

View file

@ -8,124 +8,130 @@
<!-- 메뉴 이동을 위해 임시로 사용하는 form -->
<form id="fo_move_menu">
<input type="hidden" name="menu_id" />
<input type="hidden" name="source_node_srl" />
<input type="hidden" name="target_node_srl" />
<input type="hidden" name="menu_id" />
<input type="hidden" name="source_node_srl" />
<input type="hidden" name="target_node_srl" />
</form>
<div style="margin-bottom:10px;">
<table border="1" width="100%">
<col width="140" />
<col width="*" />
<tr>
<th>{$lang->layout}</th>
<td>{$layout_info->title} ver {$layout_info->version} ({$layout_info->layout})</td>
</tr>
<tr>
<th>{$lang->path}</th>
<td>{$layout_info->path}</td>
</tr>
<tr>
<th>{$lang->author}</th>
<td><a href="#" onclick="window.open('{$layout_info->author->homepage}');return false;">{$layout_info->author->name}</a></td>
</tr>
<tr>
<th>{$lang->description}</th>
<td>{nl2br($layout_info->author->description)}</td>
</tr>
</table>
<table border="1" width="100%">
<col width="140" />
<col width="*" />
<tr>
<th>{$lang->layout}</th>
<td>{$layout_info->title} ver {$layout_info->version} ({$layout_info->layout})</td>
</tr>
<tr>
<th>{$lang->path}</th>
<td>{$layout_info->path}</td>
</tr>
<tr>
<th>{$lang->author}</th>
<td><a href="#" onclick="window.open('{$layout_info->author->homepage}');return false;">{$layout_info->author->name}</a></td>
</tr>
<tr>
<th>{$lang->description}</th>
<td>{nl2br($layout_info->author->description)}</td>
</tr>
</table>
</div>
<div style="margin-bottom:10px;">
<form id="fo_layout" action="./" method="get" onsubmit="return procFilter(this, update_layout_info)">
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<input type="hidden" name="layout" value="{$layout_info->layout}" />
<form id="fo_layout" action="./" method="get" onsubmit="return procFilter(this, update_layout_info)">
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<input type="hidden" name="layout" value="{$layout_info->layout}" />
<table border="1" width="100%">
<col width="140" />
<col width="*" />
<tr>
<th>{$lang->title}</th>
<td><input type="text" name="title" value="{$layout_info->layout_title}" /></td>
</tr>
<!--@foreach($layout_info->extra_var as $id => $var)-->
<tr>
<th rowspan="2">{$var->name}</th>
<!--@if($var->type == "text")-->
<td><input type="text" name="{$id}" value="{$var->value}" /></td>
<!--@elseif($var->type == "textarea")-->
<td><textarea name="{$id}">{$var->value}</textarea></td>
<!--@elseif($var->type == "select")-->
<td>
<select name="{$id}">
<!--@foreach($var->options as $key => $val)-->
<option value="{$key}" <!--@if($key==$var->value)-->selected="true"<!--@end-->>{$val}</option>
<table border="1" width="100%">
<col width="140" />
<col width="*" />
<tr>
<th>{$lang->title}</th>
<td><input type="text" name="title" value="{$layout_info->layout_title}" /></td>
</tr>
<!--@foreach($layout_info->extra_var as $id => $var)-->
<tr>
<th rowspan="2">{$var->name}</th>
<!--@if($var->type == "text")-->
<td><input type="text" name="{$id}" value="{$var->value}" /></td>
<!--@elseif($var->type == "textarea")-->
<td><textarea name="{$id}">{$var->value}</textarea></td>
<!--@elseif($var->type == "select")-->
<td>
<select name="{$id}">
<!--@foreach($var->options as $key => $val)-->
<option value="{$key}" <!--@if($key==$var->value)-->selected="true"<!--@end-->>{$val}</option>
<!--@end-->
</select>
</td>
<!--@end-->
</tr>
<tr>
<td>{$var->description}</td>
</tr>
<!--@end-->
</select>
<!--@end-->
</tr>
<tr>
<td>{$var->description}</td>
</tr>
<!--@end-->
<tr>
<td colspan="2" align="center">
<input type="button" value="{$lang->cmd_list}" onclick="location.href='{getUrl('act','dispContent')}';return false;"/>
<input type="submit" value="{$lang->cmd_save}" />
</td>
</tr>
</table>
</form>
</div>
<div style="margin-bottom:10px;">
<table border="1" width="100%">
<col width="140" />
<col width="*" />
<tr>
<th>{$lang->menu_management}</th>
<td>{nl2br($lang->about_menu_management)}</td>
</tr>
<!--@foreach($layout_info->menu as $menu_id => $menu)-->
<tr>
<th>
{$menu->name} <br />
({$menu->maxdepth} {$lang->depth})
</th>
<td>
<form id="fo_{$menu_id}" action="./" method="get" onsubmit="return procFilter(this, insert_layout_menu)">
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<input type="hidden" name="layout" value="{$layout_info->layout}" />
<input type="hidden" name="menu_id" value="{$menu_id}" />
<input type="hidden" name="menu_title" value="{$menu->name}" />
<input type="hidden" name="xml_file" value="{$menu->xml_file}" />
<table border="0">
<tr valign="top">
<td width="350">
<div id="menu_zone_{$menu_id}"></div>
<div>
<input type="checkbox" id="{$menu_id}_enable_move" /> <label for="{$menu_id}_enable_move">{$lang->cmd_enable_move_menu}</label>
</div>
<div>
<input type="button" value="{$lang->cmd_insert}" onclick="doInsertLayoutMenu('{$menu_id}');return false;" />
<input type="button" value="{$lang->cmd_open_all}" onclick="openAllTreeMenu('{$menu_id}');return false;" />
<input type="button" value="{$lang->cmd_close_all}" onclick="closeAllTreeMenu('{$menu_id}');return false;" />
<input type="button" value="{$lang->cmd_remake_cache}" onclick="doReloadTreeMenu('{$menu_id}');return false;" />
</div>
</td>
<td>
<div id="menu_zone_info_{$menu_id}">
</div>
</td>
<tr>
<td colspan="2" align="center">
<input type="button" value="{$lang->cmd_list}" onclick="location.href='{getUrl('act','dispLayoutAdminContent')}';return false;"/>
<input type="submit" value="{$lang->cmd_save}" />
</td>
</tr>
</table>
</form>
<script type="text/javascript">
loadTreeMenu("{$menu->xml_file}", "{$menu_id}", "menu_zone_{$menu_id}", "{$menu->name}", doGetMenuInfo, 0, doMoveTree);
</script>
</td>
</tr>
<!--@end-->
</table>
</form>
</div>
<div style="margin-bottom:10px;">
<table border="1" width="100%">
<col width="140" />
<col width="*" />
<tr>
<th>{$lang->menu_management}</th>
<td>{nl2br($lang->about_menu_management)}</td>
</tr>
<!--@foreach($layout_info->menu as $menu_id => $menu)-->
<tr>
<th>
{$menu->name} <br />
({$menu->maxdepth} {$lang->depth})
</th>
<td>
<form id="fo_{$menu_id}" action="./" method="get" onsubmit="return procFilter(this, insert_layout_menu)">
<input type="hidden" name="layout_srl" value="{$layout_srl}" />
<input type="hidden" name="layout" value="{$layout_info->layout}" />
<input type="hidden" name="menu_id" value="{$menu_id}" />
<input type="hidden" name="menu_title" value="{$menu->name}" />
<input type="hidden" name="xml_file" value="{$menu->xml_file}" />
<table border="0">
<tr valign="top">
<td width="350">
<div id="menu_zone_{$menu_id}"></div>
<div>
<input type="checkbox" id="{$menu_id}_enable_move" /> <label for="{$menu_id}_enable_move">{$lang->cmd_enable_move_menu}</label>
</div>
<div>
<input type="button" value="{$lang->cmd_insert}" onclick="doInsertLayoutMenu('{$menu_id}');return false;" />
<input type="button" value="{$lang->cmd_open_all}" onclick="openAllTreeMenu('{$menu_id}');return false;" />
<input type="button" value="{$lang->cmd_close_all}" onclick="closeAllTreeMenu('{$menu_id}');return false;" />
<input type="button" value="{$lang->cmd_remake_cache}" onclick="doReloadTreeMenu('{$menu_id}');return false;" />
</div>
</td>
<td>
<div id="menu_zone_info_{$menu_id}"></div>
</td>
</tr>
</table>
</form>
<script type="text/javascript">
loadTreeMenu("{$menu->xml_file}", "{$menu_id}", "menu_zone_{$menu_id}", "{$menu->name}", doGetMenuInfo, 0, doMoveTree);
</script>
</td>
</tr>
<!--@end-->
</table>
</div>

View file

@ -6,76 +6,75 @@
<col width="*" />
<!--@if($menu_info->parent_menu_name)-->
<tr>
<th>{$lang->parent_menu_name}</th>
<td>{$menu_info->parent_menu_name}</td>
<th>{$lang->parent_menu_name}</th>
<td>{$menu_info->parent_menu_name}</td>
</tr>
<!--@end-->
<tr>
<th rowspan="2">{$lang->menu_name}</th>
<td><input type="text" name="menu_name" value="{htmlspecialchars($menu_info->name)}" /></td>
<th rowspan="2">{$lang->menu_name}</th>
<td><input type="text" name="menu_name" value="{htmlspecialchars($menu_info->name)}" /></td>
</tr>
<tr>
<td>{$lang->about_menu_name}</td>
<td>{$lang->about_menu_name}</td>
</tr>
<tr>
<th rowspan="2">{$lang->menu_url}</th>
<td><input type="text" name="menu_url" value="{htmlspecialchars($menu_info->url)}" /></td>
<th rowspan="2">{$lang->menu_url}</th>
<td><input type="text" name="menu_url" value="{htmlspecialchars($menu_info->url)}" /></td>
</tr>
<tr>
<td>{$lang->about_menu_url}</td>
<td>{$lang->about_menu_url}</td>
</tr>
<tr>
<th rowspan="2">{$lang->menu_open_window}</th>
<td><input type="checkbox" name="menu_open_window" value="Y" <!--@if($menu_info->open_window=="Y")-->checked="true"<!--@end--> /></td>
<th rowspan="2">{$lang->menu_open_window}</th>
<td><input type="checkbox" name="menu_open_window" value="Y" <!--@if($menu_info->open_window=="Y")-->checked="true"<!--@end--> /></td>
</tr>
<tr>
<td>{$lang->about_menu_open_window}</td>
<td>{$lang->about_menu_open_window}</td>
</tr>
<tr>
<th rowspan="2">{$lang->menu_expand}</th>
<td><input type="checkbox" name="menu_expand" value="Y" <!--@if($menu_info->expand=="Y")-->checked="true"<!--@end--> /></td>
<th rowspan="2">{$lang->menu_expand}</th>
<td><input type="checkbox" name="menu_expand" value="Y" <!--@if($menu_info->expand=="Y")-->checked="true"<!--@end--> /></td>
</tr>
<tr>
<td>{$lang->about_menu_expand}</td>
<td>{$lang->about_menu_expand}</td>
</tr>
<tr>
<th>{$lang->menu_img_btn}</th>
<td>{$lang->about_menu_img_btn}</td>
<th>{$lang->menu_img_btn}</th>
<td>{$lang->about_menu_img_btn}</td>
</tr>
<tr>
<td>{$lang->menu_normal_btn}</td>
<td><input type="text" name="menu_normal_btn" value="{htmlspecialchars($menu_info->normal_btn)}" /></td>
<td>{$lang->menu_normal_btn}</td>
<td><input type="text" name="menu_normal_btn" value="{htmlspecialchars($menu_info->normal_btn)}" /></td>
</tr>
<tr>
<td>{$lang->menu_hover_btn}</td>
<td><input type="text" name="menu_hover_btn" value="{htmlspecialchars($menu_info->hover_btn)}" /></td>
<td>{$lang->menu_hover_btn}</td>
<td><input type="text" name="menu_hover_btn" value="{htmlspecialchars($menu_info->hover_btn)}" /></td>
</tr>
<tr>
<td>{$lang->menu_active_btn}</td>
<td><input type="text" name="menu_active_btn" value="{htmlspecialchars($menu_info->active_btn)}" /></td>
<td>{$lang->menu_active_btn}</td>
<td><input type="text" name="menu_active_btn" value="{htmlspecialchars($menu_info->active_btn)}" /></td>
</tr>
<tr>
<th rowspan="2">{$lang->menu_group_srls}</th>
<td>
<!--@foreach($group_list as $key=>$val)-->
<input type="checkbox" name="group_srls" value="{$key}" id="group_{$key}" <!--@if(in_array($key, $menu_info->group_srls))-->checked="true"<!--@end-->/>
<label for="group_{$key}">{$val->title}</label>
<!--@end-->
</td>
<th rowspan="2">{$lang->menu_group_srls}</th>
<td>
<!--@foreach($group_list as $key=>$val)-->
<input type="checkbox" name="group_srls" value="{$key}" id="group_{$key}" <!--@if(in_array($key, $menu_info->group_srls))-->checked="true"<!--@end-->/>
<label for="group_{$key}">{$val->title}</label>
<!--@end-->
</td>
</tr>
<tr>
<td>{$lang->about_menu_group_srls}</td>
<td>{$lang->about_menu_group_srls}</td>
</tr>
<tr>
<td colspan="2">
<!--@if($menu_info->name)-->
<input type="submit" value="{$lang->cmd_save}" />
<input type="button" value="{$lang->cmd_make_child}" onclick="doInsertLayoutMenu('{$menu_info->menu_id}','{$menu_info->menu_srl}');return false" />
<input type="button" value="{$lang->cmd_delete}" onclick="doDeleteLayoutMenu('{$menu_srl}','{$menu_info->menu_id}');return false" />
<!--@else-->
<input type="submit" value="{$lang->cmd_submit}" />
<!--@end-->
</td>
<td colspan="2">
<!--@if($menu_info->name)-->
<input type="submit" value="{$lang->cmd_save}" />
<input type="button" value="{$lang->cmd_make_child}" onclick="doInsertLayoutMenu('{$menu_info->menu_id}','{$menu_info->menu_srl}');return false" />
<input type="button" value="{$lang->cmd_delete}" onclick="doDeleteLayoutMenu('{$menu_srl}','{$menu_info->menu_id}');return false" />
<!--@else-->
<input type="submit" value="{$lang->cmd_submit}" />
<!--@end-->
</td>
</tr>
</table>