mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-03 17:22:20 +09:00
css 및 js 호출순서 조정기능 추가
git-svn-id: http://xe-core.googlecode.com/svn/sandbox@5785 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
parent
4f380d9c48
commit
61851f1dfe
2149 changed files with 109090 additions and 18689 deletions
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="0.2">
|
||||
<title xml:lang="ko">메뉴</title>
|
||||
<title xml:lang="zh-CN">菜单</title>
|
||||
<title xml:lang="zh-CN">菜单管理</title>
|
||||
<title xml:lang="jp">メニュー</title>
|
||||
<title xml:lang="en">Menu</title>
|
||||
<title xml:lang="es">Menú</title>
|
||||
|
|
@ -16,7 +16,7 @@
|
|||
<description xml:lang="zh-TW">可建立並管理連結版面和模組的選單。</description>
|
||||
<version>0.1</version>
|
||||
<date>2007-02-28</date>
|
||||
<category>manager</category>
|
||||
<category>construction</category>
|
||||
|
||||
<author email_address="zero@zeroboard.com" link="http://blog.nzeo.com">
|
||||
<name xml:lang="ko">zero</name>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<module>
|
||||
<grants />
|
||||
<permissions />
|
||||
<actions>
|
||||
<action name="dispMenuAdminContent" type="view" admin_index="true" standalone="true" />
|
||||
<action name="dispMenuAdminInsert" type="view" standalone="true" />
|
||||
|
|
|
|||
|
|
@ -24,24 +24,24 @@
|
|||
$lang->menu_hover_btn = '마우스오버';
|
||||
$lang->menu_active_btn = '선택시';
|
||||
$lang->menu_group_srls = '그룹 제한';
|
||||
$lang->layout_maker = "레이아웃 제작자";
|
||||
$lang->layout_history = "변경 사항 ";
|
||||
$lang->layout_info = "레이아웃 정보";
|
||||
$lang->layout_maker = '레이아웃 제작자';
|
||||
$lang->layout_history = '변경 사항 ';
|
||||
$lang->layout_info = '레이아웃 정보';
|
||||
$lang->layout_list = '레이아웃 목록';
|
||||
$lang->downloaded_list = '다운로드 목록';
|
||||
$lang->limit_menu_depth = '표시 가능';
|
||||
|
||||
$lang->cmd_make_child = '하부 메뉴 추가';
|
||||
$lang->cmd_move_to_installed_list = "생성된 목록 보기";
|
||||
$lang->cmd_enable_move_menu = "메뉴 옮기기 (선택후 위 메뉴를 드래그하세요)";
|
||||
$lang->cmd_search_mid = "mid 찾기";
|
||||
$lang->cmd_move_to_installed_list = '생성된 목록 보기';
|
||||
$lang->cmd_enable_move_menu = '메뉴 옮기기 (선택후 위 메뉴를 드래그하세요)';
|
||||
$lang->cmd_search_mid = 'mid 찾기';
|
||||
|
||||
$lang->msg_cannot_delete_for_child = '하부 메뉴가 있는 메뉴는 삭제하실 수 없습니다';
|
||||
|
||||
$lang->about_title = '모듈에 연결시 쉽게 구분할 수 있는 제목을 입력해주세요';
|
||||
$lang->about_menu_management = "메뉴관리는 선택하신 레이아웃에서 사용하는 메뉴를 구성할 수 있도록 합니다.\n정해진 단계까지 메뉴를 구성 가능하며 입력하신 메뉴를 클릭하시면 상세 정보를 입력할 수 있습니다.\n폴더그림을 클릭하시면 메뉴를 확장하실 수 있습니다.\n간혹 메뉴가 정상적으로 나타나지 않으면 \"캐시파일 재생성\" 버튼을 눌러서 정보를 갱신하세요.\n* 정해진 단계 이상의 메뉴는 제대로 표시되지 않을 수 있습니다.";
|
||||
$lang->about_menu_name = '관리 및 이미지 버튼이 아닐경우 메뉴 명으로 나타날 제목입니다';
|
||||
$lang->about_menu_url = "메뉴를 선택시 이동한 URL입니다.<br />다른 모듈을 연결하고자 할 때에는 id값만 입력해주시면 됩니다.<br />내용이 없을시 메뉴를 선택하여도 아무런 동작이 없게 됩니다.";
|
||||
$lang->about_menu_url = '메뉴를 선택시 이동한 URL입니다.<br />다른 모듈을 연결하고자 할 때에는 mid값만 입력해주시면 됩니다.<br />내용이 없을시 메뉴를 선택하여도 아무런 동작이 없게 됩니다.';
|
||||
$lang->about_menu_open_window = '메뉴 선택시 새창으로 띄울 것인지를 정할 수 있습니다';
|
||||
$lang->about_menu_expand = '트리메뉴(tree_menu.js)를 사용시 늘 펼쳐진 상태로 있게 합니다';
|
||||
$lang->about_menu_img_btn = '이미지 버튼을 등록하시면 레이아웃에서 자동으로 이미지 버튼으로 교체되어 표시가 됩니다.';
|
||||
|
|
@ -49,5 +49,5 @@
|
|||
|
||||
$lang->about_menu = "메뉴모듈은 생성된 모듈을 편리한 메뉴관리기를 통해 정리하고 레이아웃과 연결하여 별도의 수작업 없이 완성된 사이트를 구축하도록 도와줍니다..\n메뉴는 사이트를 관리하기 보다는 모듈과 레이아웃을 연결해 주며 레이아웃을 통해서 여러가지 형태의 메뉴를 표시할 수 있도록 하는 정보만 가지고 있습니다.";
|
||||
|
||||
$lang->alert_image_only = "이미지 파일만 등록가능합니다.";
|
||||
$lang->alert_image_only = '이미지 파일만 등록가능합니다.';
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
$lang->msg_cannot_delete_for_child = '有下级菜单的菜单不能删除。';
|
||||
|
||||
$lang->about_title = '请输入连接模块时容易区分的标题。';
|
||||
$lang->about_menu_management = "菜单管理可以构筑被选布局中使用的菜单。\n不仅可以构筑指定级(层级)菜单,点击输入的菜单项即可对其详细设置。\n点击菜单前置图标可以展开菜单。\n偶尔不能正常显示菜单时,请按\"缓冲文件再生成\"按钮更新信息。\n* 可能不能正常显示指定级(层级)以上的菜单。";
|
||||
$lang->about_menu_management = "在此创建要在布局中使用的菜单。\n点击菜单前的文件夹图标可以展开收缩菜单。\n偶尔不能正常显示菜单时,请按\"更新缓冲\"按钮更新信息。\n* 不能正常显示指定级(层级)以上的菜单,创建菜单项的时候,请确认你要使用的布局究竟支持多少级别的菜单。";
|
||||
$lang->about_menu_name = '输入不是图片按钮时显示为菜单名标题。';
|
||||
$lang->about_menu_url = "点击菜单时要移动的URL。<br />连接其他模块时只输入id值即可。<br />没有内容时点击菜单也不会有什么动作。";
|
||||
$lang->about_menu_open_window = '可以设置点击菜单时是否要在新窗口中打开。';
|
||||
|
|
|
|||
|
|
@ -41,11 +41,11 @@
|
|||
$lang->about_title = '請輸入連接模組時,容易區分的標題。';
|
||||
$lang->about_menu_management = "選單管理可以建構所選擇版面中使用的選單。\n不僅可以建構指定級(層級)選單,點擊輸入的選單名稱即可對其進行詳細設置。\n點擊選單前圖標可以展開選單。\n偶爾無法正常顯示選單時,請按\"重新建立暫存檔\"按鈕更新資料。\n* 可能無法正常顯示指定級(層級)以上的選單。";
|
||||
$lang->about_menu_name = '輸入不是圖片按鈕時,顯示為選單名標題。';
|
||||
$lang->about_menu_url = "按選單名稱後,要移往的網址。<br />連結其他模組時,只要輸入模組id即可。<br />沒有內容時,點擊選單不會產生任何事情。";
|
||||
$lang->about_menu_url = "按選單名稱後,要移往的網址。<br />連結其他模組時,只要輸入模組mid即可。<br />沒有內容時,點擊選單不會產生任何事情。";
|
||||
$lang->about_menu_open_window = '按選單後,是否要以新視窗開啟。';
|
||||
$lang->about_menu_expand = '使用樹型選單(tree_menu.js)時,總是呈現展開狀態。';
|
||||
$lang->about_menu_expand = '使用樹型選單(tree_menu.js)時,總是呈現展開狀態。';
|
||||
$lang->about_menu_img_btn = '如果登錄圖片按鈕,在版面中會自動替換顯示為圖片按鈕。';
|
||||
$lang->about_menu_group_srls = '如果選擇用戶組,只有所屬組用戶才能看到此選單。 —(xml檔案中不能隱藏)';
|
||||
$lang->about_menu_group_srls = '如果選擇用戶組,只有所屬組用戶才能看到此選單。(如果可直接連結xml檔案,內容將無法隱藏)';
|
||||
|
||||
$lang->about_menu = "選單模組可以透過選單管理器,管理已建立的模組並可和版面相互連結,輕鬆架設一個完整的網站。\n選單模組雖然可連結模組和版面,並透過版面來顯示多種類型的選單,但它不具備管理網站的功能。";
|
||||
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
**/
|
||||
function procMenuAdminInsert() {
|
||||
// 입력할 변수 정리
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
$args->site_srl = (int)$site_module_info->site_srl;
|
||||
$args->title = Context::get('title');
|
||||
$args->menu_srl = getNextSequence();
|
||||
$args->listorder = $args->menu_srl * -1;
|
||||
|
|
@ -49,7 +51,10 @@
|
|||
**/
|
||||
function procMenuAdminDelete() {
|
||||
$menu_srl = Context::get('menu_srl');
|
||||
|
||||
return $this->deleteMenu($menu_srl);
|
||||
}
|
||||
|
||||
function deleteMenu($menu_srl) {
|
||||
// 캐시 파일 삭제
|
||||
$cache_list = FileHandler::readDir("./files/cache/menu","",false,true);
|
||||
if(count($cache_list)) {
|
||||
|
|
@ -73,7 +78,7 @@
|
|||
$output = executeQuery("menu.deleteMenu", $args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
$this->setMessage('success_deleted');
|
||||
return new Object(0,'success_deleted');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -89,25 +94,13 @@
|
|||
$source_args->group_srls = str_replace('|@|',',',$source_args->group_srls);
|
||||
$source_args->parent_srl = (int)$source_args->parent_srl;
|
||||
|
||||
// 메뉴 이름 체크
|
||||
$lang_supported = Context::get('lang_supported');
|
||||
$name_inserted = false;
|
||||
foreach($lang_supported as $key => $val) {
|
||||
$menu_name[$key] = $source_args->{"menu_name_".strtolower($key )};
|
||||
if($menu_name[$key]) $name_inserted = true;
|
||||
}
|
||||
if(!$name_inserted) {
|
||||
global $lang;
|
||||
return new Object(-1, sprintf($lang->filter->isnull, $lang->menu_name));
|
||||
}
|
||||
|
||||
// 변수를 다시 정리 (form문의 column과 DB column이 달라서)
|
||||
$args->menu_srl = $source_args->menu_srl;
|
||||
$args->menu_item_srl = $source_args->menu_item_srl;
|
||||
$args->parent_srl = $source_args->parent_srl;
|
||||
$args->menu_srl = $source_args->menu_srl;
|
||||
$args->menu_id = $source_args->menu_id;
|
||||
$args->name = serialize($menu_name);
|
||||
$args->name = $source_args->menu_name;
|
||||
$args->url = trim($source_args->menu_url);
|
||||
$args->open_window = $source_args->menu_open_window;
|
||||
$args->expand = $source_args->menu_expand;
|
||||
|
|
@ -209,41 +202,6 @@
|
|||
/**
|
||||
* @brief 메뉴의 메뉴를 이동
|
||||
**/
|
||||
/*
|
||||
function procMenuAdminMoveItem() {
|
||||
// 변수 설정
|
||||
$menu_id = Context::get('menu_id');
|
||||
$source_item_srl = str_replace('menu_'.$menu_id.'_','',Context::get('source_item'));
|
||||
$target_item_srl = str_replace('menu_'.$menu_id.'_','',Context::get('target_item'));
|
||||
|
||||
// target_item 의 값을 구함
|
||||
$oMenuModel = &getAdminModel('menu');
|
||||
$target_item = $oMenuModel->getMenuItemInfo($target_item_srl);
|
||||
|
||||
// source_item에 target_item_srl의 parent_srl, listorder 값을 입력
|
||||
$source_args->menu_item_srl = $source_item_srl;
|
||||
$source_args->parent_srl = $target_item->parent_srl;
|
||||
$source_args->listorder = $target_item->listorder;
|
||||
$output = executeQuery('menu.updateMenuItemParent', $source_args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
// target_item의 listorder값을 +1해 준다
|
||||
$target_args->menu_item_srl = $target_item_srl;
|
||||
$target_args->parent_srl = $target_item->parent_srl;
|
||||
$target_args->listorder = $target_item->listorder -1;
|
||||
$output = executeQuery('menu.updateMenuItemParent', $target_args);
|
||||
if(!$output->toBool()) return $output;
|
||||
|
||||
// xml파일 재생성
|
||||
$xml_file = $this->makeXmlFile($target_item->menu_srl);
|
||||
|
||||
// return 변수 설정
|
||||
$this->add('menu_srl', $target_item->menu_srl);
|
||||
$this->add('xml_file', $xml_file);
|
||||
$this->add('source_item_srl', $source_item_srl);
|
||||
}
|
||||
*/
|
||||
|
||||
function procMenuAdminMoveItem() {
|
||||
$menu_srl = Context::get('menu_srl');
|
||||
$mode = Context::get('mode');
|
||||
|
|
@ -255,8 +213,6 @@
|
|||
$this->moveMenuItem($menu_srl,$parent_srl,$source_srl,$target_srl,$mode);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function moveMenuItem($menu_srl,$parent_srl,$source_srl,$target_srl,$mode){
|
||||
// 원본 메뉴들을 구함
|
||||
$oMenuAdminModel = &getAdminModel('menu');
|
||||
|
|
@ -298,10 +254,8 @@
|
|||
|
||||
$xml_file = $this->makeXmlFile($menu_srl);
|
||||
return $xml_file;
|
||||
// $this->add('xml_file', $xml_file);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief xml 파일을 갱신
|
||||
* 관리자페이지에서 메뉴 구성 후 간혹 xml파일이 재생성 안되는 경우가 있는데\n
|
||||
|
|
@ -377,6 +331,12 @@
|
|||
// xml파일 생성시 필요한 정보가 없으면 그냥 return
|
||||
if(!$menu_srl) return;
|
||||
|
||||
// 메뉴 정보를 구함
|
||||
$args->menu_srl = $menu_srl;
|
||||
$output = executeQuery('menu.getMenu', $args);
|
||||
if(!$output->toBool() || !$output->data) return $output;
|
||||
$site_srl = $output->data->site_srl;
|
||||
|
||||
// DB에서 menu_srl에 해당하는 메뉴 아이템 목록을 listorder순으로 구해옴
|
||||
$args->menu_srl = $menu_srl;
|
||||
$args->sort_index = 'listorder';
|
||||
|
|
@ -440,11 +400,11 @@
|
|||
'?>'.
|
||||
'<root>%s</root>',
|
||||
$header_script,
|
||||
$this->getXmlTree($tree[0], $tree)
|
||||
$this->getXmlTree($tree[0], $tree, $site_srl)
|
||||
);
|
||||
|
||||
// php 캐시 파일 생성
|
||||
$php_output = $this->getPhpCacheCode($tree[0], $tree);
|
||||
$php_output = $this->getPhpCacheCode($tree[0], $tree, $site_srl);
|
||||
$php_buff = sprintf(
|
||||
'<?php '.
|
||||
'if(!defined("__ZBXE__")) exit(); '.
|
||||
|
|
@ -468,7 +428,7 @@
|
|||
* 메뉴 xml파일은 node라는 tag가 중첩으로 사용되며 이 xml doc으로 관리자 페이지에서 메뉴를 구성해줌\n
|
||||
* (tree_menu.js 에서 xml파일을 바로 읽고 tree menu를 구현)
|
||||
**/
|
||||
function getXmlTree($source_node, $tree) {
|
||||
function getXmlTree($source_node, $tree, $site_srl) {
|
||||
if(!$source_node) return;
|
||||
|
||||
$oMenuAdminModel = &getAdminModel('menu');
|
||||
|
|
@ -477,10 +437,10 @@
|
|||
$child_buff = "";
|
||||
|
||||
// 자식 노드의 데이터 가져옴
|
||||
if($menu_item_srl&&$tree[$menu_item_srl]) $child_buff = $this->getXmlTree($tree[$menu_item_srl], $tree);
|
||||
if($menu_item_srl&&$tree[$menu_item_srl]) $child_buff = $this->getXmlTree($tree[$menu_item_srl], $tree, $site_srl);
|
||||
|
||||
// 변수 정리
|
||||
$names = $oMenuAdminModel->getMenuItemNames($node->name);
|
||||
$names = $oMenuAdminModel->getMenuItemNames($node->name, $site_srl);
|
||||
foreach($names as $key => $val) {
|
||||
$name_arr_str .= sprintf('"%s"=>"%s",',$key, str_replace('\\','\\\\',htmlspecialchars($val)));
|
||||
}
|
||||
|
|
@ -551,7 +511,7 @@
|
|||
* php로 된 캐시파일을 만들어서 db이용없이 바로 메뉴 정보를 구할 수 있도록 한다
|
||||
* 이 캐시는 ModuleHandler::displayContent() 에서 include하여 Context::set() 한다
|
||||
**/
|
||||
function getPhpCacheCode($source_node, $tree) {
|
||||
function getPhpCacheCode($source_node, $tree, $site_srl) {
|
||||
$output = array("buff"=>"", "url_list"=>array());
|
||||
if(!$source_node) return $output;
|
||||
|
||||
|
|
@ -559,11 +519,11 @@
|
|||
|
||||
foreach($source_node as $menu_item_srl => $node) {
|
||||
// 자식 노드가 있으면 자식 노드의 데이터를 먼저 얻어옴
|
||||
if($menu_item_srl&&$tree[$menu_item_srl]) $child_output = $this->getPhpCacheCode($tree[$menu_item_srl], $tree);
|
||||
if($menu_item_srl&&$tree[$menu_item_srl]) $child_output = $this->getPhpCacheCode($tree[$menu_item_srl], $tree, $site_srl);
|
||||
else $child_output = array("buff"=>"", "url_list"=>array());
|
||||
|
||||
// 변수 정리
|
||||
$names = $oMenuAdminModel->getMenuItemNames($node->name);
|
||||
$names = $oMenuAdminModel->getMenuItemNames($node->name, $site_srl);
|
||||
foreach($names as $key => $val) {
|
||||
$name_arr_str .= sprintf('"%s"=>"%s",',$key, str_replace('\\','\\\\',htmlspecialchars($val)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,7 +18,11 @@
|
|||
* @brief 전체 메뉴 목록을 구해옴
|
||||
**/
|
||||
function getMenuList($obj) {
|
||||
|
||||
if(!$obj->site_srl) {
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
$obj->site_srl = (int)$site_module_info->site_srl;
|
||||
}
|
||||
$args->site_srl = $obj->site_srl;
|
||||
$args->sort_index = $obj->sort_index;
|
||||
$args->page = $obj->page?$obj->page:1;
|
||||
$args->list_count = $obj->list_count?$obj->list_count:20;
|
||||
|
|
@ -36,8 +40,13 @@
|
|||
/**
|
||||
* @brief 등록된 모든 메뉴를 return
|
||||
**/
|
||||
function getMenus() {
|
||||
function getMenus($site_srl = 0) {
|
||||
if(!$site_srl) {
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
$site_srl = (int)$site_module_info->site_srl;
|
||||
}
|
||||
// 일단 DB에서 정보를 가져옴
|
||||
$args->site_srl = $site_srl ;
|
||||
$args->menu_srl = $menu_srl;
|
||||
$output = executeQuery('menu.getMenus', $args);
|
||||
if(!$output->data) return;
|
||||
|
|
@ -74,40 +83,28 @@
|
|||
if($node->group_srls) $node->group_srls = explode(',',$node->group_srls);
|
||||
else $node->group_srls = array();
|
||||
|
||||
$node->name = $this->getMenuItemNames($node->name);
|
||||
|
||||
$tmp_name = unserialize($node->name);
|
||||
if($tmp_name && count($tmp_name) ) {
|
||||
$selected_lang = array();
|
||||
$rand_name = $tmp_name[Context::getLangType()];
|
||||
if(!$rand_name) $rand_name = array_shift($tmp_name);
|
||||
$node->name = $rand_name;
|
||||
}
|
||||
return $node;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief 다국어 지원을 위해 menu의 name을 언어별로 나눠서 return
|
||||
*/
|
||||
function getMenuItemNames($name) {
|
||||
$lang_supported = Context::get('lang_supported');
|
||||
|
||||
$source_name = $name;
|
||||
$name = unserialize($name);
|
||||
|
||||
// unserialize한 값이 없으면, 즉 beta 0.2.3 이전 버전이라면 정해진 값을 모든 언어에 맞게 처리
|
||||
if(!$name) {
|
||||
$name = array();
|
||||
foreach($lang_supported as $key => $val) {
|
||||
$name[$key] = $source_name;
|
||||
}
|
||||
// 값이 있다면 혹시나 빠진 부분의 언어가 있는지 체크
|
||||
} else {
|
||||
$values = array_values($name);
|
||||
$title_name = '';
|
||||
for($i=0;$i<count($values);$i++) {
|
||||
$title_name = trim($values[$i]);
|
||||
if($title_name) break;;
|
||||
}
|
||||
foreach($lang_supported as $key => $val) {
|
||||
if(!$name[$key]) $name[$key] = $title_name;
|
||||
}
|
||||
function getMenuItemNames($source_name, $site_srl = null) {
|
||||
if(!$site_srl) {
|
||||
$site_module_info = Context::get('site_module_info');
|
||||
$site_srl = (int)$site_module_info->site_srl;
|
||||
}
|
||||
|
||||
return $name;
|
||||
// 언어코드 구함
|
||||
$oModuleAdminModel = &getAdminModel('module');
|
||||
return $oModuleAdminModel->getLangCode($site_srl, $source_name);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -144,15 +141,12 @@
|
|||
$item_info->menu_item_srl = getNextSequence();
|
||||
}
|
||||
}
|
||||
|
||||
Context::set('item_info', $item_info);
|
||||
|
||||
// template 파일을 직접 컴파일한후 tpl변수에 담아서 return한다.
|
||||
$oTemplate = &TemplateHandler::getInstance();
|
||||
$tpl = $oTemplate->compile($this->module_path.'tpl', 'menu_item_info');
|
||||
|
||||
// return 할 변수 설정
|
||||
|
||||
$this->add('tpl', str_replace("\n"," ",$tpl));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,12 +11,6 @@
|
|||
* @brief 설치시 추가 작업이 필요할시 구현
|
||||
**/
|
||||
function moduleInstall() {
|
||||
// action forward에 등록 (관리자 모드에서 사용하기 위함)
|
||||
$oModuleController = &getController('module');
|
||||
$oModuleController->insertActionForward('menu', 'view', 'dispMenuAdminContent');
|
||||
$oModuleController->insertActionForward('menu', 'view', 'dispMenuAdminInsert');
|
||||
$oModuleController->insertActionForward('menu', 'view', 'dispMenuAdminManagement');
|
||||
|
||||
// 메뉴 사용할 디렉토리 생성
|
||||
FileHandler::makeDir('./files/cache/menu');
|
||||
|
||||
|
|
@ -27,6 +21,11 @@
|
|||
* @brief 설치가 이상이 없는지 체크하는 method
|
||||
**/
|
||||
function checkUpdate() {
|
||||
$oDB = &DB::getInstance();
|
||||
|
||||
// 2009. 02. 11 menu 테이블에 site_srl 추가
|
||||
if(!$oDB->isColumnExists('menu', 'site_srl')) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -34,7 +33,14 @@
|
|||
* @brief 업데이트 실행
|
||||
**/
|
||||
function moduleUpdate() {
|
||||
return new Object();
|
||||
$oDB = &DB::getInstance();
|
||||
|
||||
// 2009. 02. 11 menu 테이블에 site_srl 추가
|
||||
if(!$oDB->isColumnExists('menu', 'site_srl')) {
|
||||
$oDB->addColumn('menu','site_srl','number',11,0,true);
|
||||
}
|
||||
|
||||
return new Object(0, 'success_updated');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="site_srl" var="site_srl" filter="number" default="0" notnull="notnull" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="listorder" order="asc" />
|
||||
<list_count var="list_count" default="20" />
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
<columns>
|
||||
<column name="*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="site_srl" var="site_srl" filter="number" default="0" notnull="notnull" />
|
||||
</conditions>
|
||||
<navigation>
|
||||
<index var="sort_index" default="listorder" order="asc" />
|
||||
</navigation>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
</tables>
|
||||
<columns>
|
||||
<column name="menu_srl" var="menu_srl" filter="number" notnull="notnull" />
|
||||
<column name="site_srl" var="site_srl" filter="number" default="0" notnull="notnull" />
|
||||
<column name="title" var="title" notnull="notnull" />
|
||||
<column name="listorder" var="listorder" notnull="notnull" />
|
||||
<column name="regdate" var="regdate" default="curdate()" />
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<table name="menu">
|
||||
<column name="menu_srl" type="number" size="12" notnull="notnull" primary_key="primary_key" />
|
||||
<column name="site_srl" type="number" size="11" notnull="notnull" default="0" index="menu_site_srl" />
|
||||
<column name="title" type="varchar" size="250" />
|
||||
<column name="listorder" type="number" size="11" default="0" inex="idx_listorder" />
|
||||
<column name="listorder" type="number" size="11" default="0" index="idx_listorder" />
|
||||
<column name="regdate" type="date" index="idx_regdate" />
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -10,6 +10,6 @@
|
|||
<column name="hover_btn" type="varchar" size="255" />
|
||||
<column name="active_btn" type="varchar" size="255" />
|
||||
<column name="group_srls" type="text" />
|
||||
<column name="listorder" type="number" size="11" default="0" inex="idx_listorder" />
|
||||
<column name="listorder" type="number" size="11" default="0" index="idx_listorder" />
|
||||
<column name="regdate" type="date" index="idx_regdate" />
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -9,5 +9,4 @@ h3 { margin:0 20px 0 20px; }
|
|||
.menuListZone td.category_zone { padding-right:10px; }
|
||||
|
||||
#category_list { padding:.5em 0 .5em 0; margin-bottom:2em; width:250px; overflow:hidden; float:left; position:absolute; left:10px;}
|
||||
#menu_zone_info { margin-left:10px; width:550px; _width:530px; float:left; position:absolute; right:10px;}
|
||||
*:first-child+html #category_info { width:540px; }
|
||||
#menu_zone_info { width:560px; position:absolute; margin:0 auto; left:0; right:0; z-index:9999;}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<!--%import("js/board_admin.js")-->
|
||||
|
||||
<h3>{$lang->menu} <span class="gray">{$lang->cmd_management}</span></h3>
|
||||
<h3 class="xeAdmin">{$lang->menu} <span class="gray">{$lang->cmd_management}</span></h3>
|
||||
|
||||
<div class="infoText">{nl2br($lang->about_menu)}</div>
|
||||
|
|
|
|||
|
|
@ -3,39 +3,36 @@
|
|||
|
||||
<!--#include("header.html")-->
|
||||
|
||||
<!-- 정보 -->
|
||||
<div class="summary">
|
||||
<strong>Total</strong> <em>{number_format($total_count)}</em>, Page <strong>{number_format($page)}</strong>/{number_format($total_page)}
|
||||
</div>
|
||||
|
||||
<!-- 삭제를 위한 임시 form -->
|
||||
<form id="fo_menu" action="./" method="get">
|
||||
<input type="hidden" name="menu_srl" value="" />
|
||||
</form>
|
||||
|
||||
<!-- 목록 -->
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<table cellspacing="0" class="crossTable">
|
||||
<caption>Total {number_format($total_count)}, Page {number_format($page)}/{number_format($total_page)}</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col"><div>{$lang->no}</div></th>
|
||||
<th scope="col" class="wide"><div>{$lang->title}</div></th>
|
||||
<th scope="col"><div>{$lang->regdate}</div></th>
|
||||
<th scope="col"><div>{$lang->cmd_delete}</div></th>
|
||||
<th scope="col" colspan="2"><div> </div></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<!--@foreach($menu_list as $no => $val)-->
|
||||
<tr class="row{$cycle_idx}">
|
||||
<td class="number center">{$no}</td>
|
||||
<td><a href="{getUrl('act','dispMenuAdminManagement','menu_srl',$val->menu_srl)}">{htmlspecialchars($val->title)}</a></td>
|
||||
<td class="date center nowrap">{zdate($val->regdate,"Y-m-d")}</td>
|
||||
<td class="delete center"><a href="#" onclick="doDeleteMenu('{$val->menu_srl}');return false;">{$lang->cmd_delete}</a></td>
|
||||
<td class="wide">{htmlspecialchars($val->title)}</td>
|
||||
<td class="nowrap">{zdate($val->regdate,"Y-m-d")}</td>
|
||||
<td><a href="{getUrl('act','dispMenuAdminManagement','menu_srl',$val->menu_srl)}" class="buttonSet buttonSetting"><span>{$lang->cmd_setup}</span></a></td>
|
||||
<td><a href="#" onclick="doDeleteMenu('{$val->menu_srl}');return false;" title="{htmlspecialchars($lang->cmd_delete)}" class="buttonSet buttonDelete"><span>{$lang->cmd_delete}</span></a></td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<td colspan="4" class="right">
|
||||
<a href="{getUrl('act','dispMenuAdminInsert','module_srl','')}" class="button"><span>{$lang->cmd_make}</span></a>
|
||||
</td>
|
||||
<th colspan="5" class="button">
|
||||
<a href="{getUrl('act','dispMenuAdminInsert','module_srl','')}" class="button black strong"><span>{$lang->cmd_make}</span></a>
|
||||
</th>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -234,4 +234,4 @@ function completeInsertMenu(ret_obj) {
|
|||
|
||||
//var url = current_url.setQuery('act','dispMenuAdminManagement').setQuery('menu_srl',menu_srl);
|
||||
//window.open(url);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ function Tree(url){
|
|||
// clear tree;
|
||||
jQuery('#menu > ul > li > ul').remove();
|
||||
|
||||
if(jQuery("ul.simpleTree > li > a").size() ==0)jQuery('<a href="#" class="add"><img src="./common/js/plugins/ui.tree/images/iconAdd.gif" /></a>').bind("click",function(e){addNode(0,e);}).appendTo("ul.simpleTree > li");
|
||||
if(jQuery("ul.simpleTree > li > a").size() ==0)jQuery('<a href="#" class="add"><img src="./common/js/plugins/ui.tree/images/iconAdd.gif" alt="'+lang_cmd_insert+'" title="'+lang_cmd_insert+'" /></a>').bind("click",function(e){addNode(0,e);}).appendTo("ul.simpleTree > li");
|
||||
|
||||
//ajax get data and transeform ul il
|
||||
jQuery.get(url,function(data){
|
||||
|
|
@ -16,17 +16,17 @@ function Tree(url){
|
|||
var node = jQuery('<li id="tree_'+node_srl+'"><span>'+text+'</span></li>');
|
||||
|
||||
// button
|
||||
jQuery('<a href="#" class="add"><img src="./common/js/plugins/ui.tree/images/iconAdd.gif" /></a>').bind("click",function(e){
|
||||
jQuery('<a href="#" class="add"><img src="./common/js/plugins/ui.tree/images/iconAdd.gif" alt="'+lang_cmd_insert+'" title="'+lang_cmd_insert+'" /></a>').bind("click",function(e){
|
||||
addNode(node_srl,e);
|
||||
return false;
|
||||
}).appendTo(node);
|
||||
|
||||
jQuery('<a href="#" class="modify"><img src="./common/js/plugins/ui.tree/images/iconModify.gif" /></a>').bind("click",function(e){
|
||||
jQuery('<a href="#" class="modify"><img src="./common/js/plugins/ui.tree/images/iconModify.gif" alt="'+lang_cmd_modify+'" title="'+lang_cmd_modify+'" /></a>').bind("click",function(e){
|
||||
modifyNode(node_srl,e);
|
||||
return false;
|
||||
}).appendTo(node);
|
||||
|
||||
jQuery('<a href="#" class="delete"><img src="./common/js/plugins/ui.tree/images/iconDel.gif" /></a>').bind("click",function(e){
|
||||
jQuery('<a href="#" class="delete"><img src="./common/js/plugins/ui.tree/images/iconDel.gif" alt="'+lang_cmd_delete+'" title="'+lang_cmd_delete+'" /></a>').bind("click",function(e){
|
||||
deleteNode(node_srl);
|
||||
return false;
|
||||
}).appendTo(node);
|
||||
|
|
@ -128,8 +128,7 @@ function modifyNode(node_srl,e){
|
|||
};
|
||||
|
||||
jQuery.exec_json('menu.getMenuAdminTplInfo', params, function(data){
|
||||
jQuery('#menu_zone_info').html(data.tpl);
|
||||
jQuery('#menu_zone_info').html(data.tpl).css("margin-top",e.pageY-400);
|
||||
jQuery('#menu_zone_info').html(data.tpl).css('position','absolute').css("left",e.pageX).css("top",e.pageY).css('display','block');
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -144,7 +143,7 @@ function addNode(node_srl,e){
|
|||
};
|
||||
|
||||
jQuery.exec_json('menu.getMenuAdminTplInfo', params, function(data){
|
||||
jQuery('#menu_zone_info').html(data.tpl).css("margin-top",e.pageY-400);
|
||||
jQuery('#menu_zone_info').html(data.tpl).css('position','absolute').css("left",e.pageX).css("top",e.pageY).css('display','block');
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -168,3 +167,7 @@ function completeInsertMenuItem(ret_obj) {
|
|||
jQuery('#menu_zone_info').html('');
|
||||
Tree(xml_url);
|
||||
}
|
||||
|
||||
function doMoveMenuInfo() {
|
||||
xAddEventListener(window,'load', function() { window.document.body.appendChild(xGetElementById('fo_menu')); xGetElementById('menu_zone_info').style.width = '550px'; } );
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, insert_menu)">
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr>
|
||||
<th scope="col"><div>{$lang->cmd_menu_insert}</div></th>
|
||||
<td>{nl2br($lang->about_menu_management)}</td>
|
||||
|
|
@ -17,9 +17,9 @@
|
|||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="right">
|
||||
<span class="button"><input type="submit" value="{$lang->cmd_submit}" accesskey="s" /></span>
|
||||
</td>
|
||||
<th colspan="2" class="button">
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_submit}" accesskey="s" /></span>
|
||||
</th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
|
|
|||
|
|
@ -4,120 +4,113 @@
|
|||
<input type="hidden" name="hover_btn" value="{$item_info->hover_btn}" />
|
||||
<input type="hidden" name="active_btn" value="{$item_info->active_btn}" />
|
||||
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<tr>
|
||||
<th scope="row" colspan="3" class="button"><div>
|
||||
<div class="layer" style="display:block;">
|
||||
|
||||
<h4 class="xeAdmin">{$lang->menu}</h4>
|
||||
<button class="xButton" type="button" onclick="hideCategoryInfo();return false" ><span>{$lang->cmd_close}</span></button>
|
||||
|
||||
<span class="button green"><input type="submit" value="{$lang->cmd_save}" /></span>
|
||||
<span class="button red"><input type="button" onclick="hideCategoryInfo();return false" value="{$lang->cmd_close}" /></span>
|
||||
<div class="layerBody">
|
||||
|
||||
|
||||
</div></th>
|
||||
</tr>
|
||||
<!--@if($item_info->parent_menu_name)-->
|
||||
<tr class="row{$cycle_idx}">
|
||||
<th scope="row" colspan="2"><div>{$lang->parent_menu_name}</div></th>
|
||||
<td>{$item_info->parent_menu_name[$lang_type]}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
|
||||
{@ $_row = 0;}
|
||||
<!--@foreach($lang_supported as $key => $val)-->
|
||||
<tr>
|
||||
<!--@if($_row==0)--><th scope="row" rowspan="{count($lang_supported)}"><div>{$lang->menu_name}</div></th><!--@end-->
|
||||
<th><div>{$val}</div></th>
|
||||
<td><input type="checkbox" name="ck_menu_name_{$key}" /><input type="text" name="menu_name_{$key}" value="{htmlspecialchars($item_info->name[$key])}" class="inputTypeText"/></td>
|
||||
{@ $_row ++ }
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<tr>
|
||||
<th scope="row" colspan="2"><div>{$lang->menu_url}</div></th>
|
||||
<td>
|
||||
<input type="text" name="menu_url" value="{htmlspecialchars($item_info->url)}" class="inputTypeText" />
|
||||
<a href="{getUrl('module','menu','act','dispMenuAdminMidList')}" onclick="popopen(this.href);return false;" class="button"><span>{$lang->cmd_search_mid}</span> </a>
|
||||
<p class="clear">{$lang->about_menu_url}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2"><div>{$lang->menu_open_window}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="menu_open_window" value="Y" <!--@if($item_info->open_window=="Y")-->checked="checked"<!--@end--> />
|
||||
<p>{$lang->about_menu_open_window}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2"><div>{$lang->menu_expand}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="menu_expand" value="Y" <!--@if($item_info->expand=="Y")-->checked="checked"<!--@end--> />
|
||||
<p>{$lang->about_menu_expand}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2"><div>{$lang->menu_img_btn}</div></th>
|
||||
<td><p>{$lang->about_menu_img_btn}</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2"><div>{$lang->menu_normal_btn}</div></th>
|
||||
<td>
|
||||
<div id="menu_normal_btn_zone" <!--@if(!$item_info->normal_btn)-->style="display:none;"<!--@end-->>
|
||||
<img src="{$item_info->normal_btn}" alt="" id="menu_normal_btn_img" /><br />
|
||||
<a href="#" onclick="doDeleteButton('menu_normal_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
</div>
|
||||
<input type="file" name="menu_normal_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2"><div>{$lang->menu_hover_btn}</div></th>
|
||||
<td>
|
||||
<div id="menu_hover_btn_zone") <!--@if(!$item_info->hover_btn)-->style="display:none;"<!--@end-->>
|
||||
<img src="{$item_info->hover_btn}" alt="" id="menu_hover_btn_img" /><br />
|
||||
<a href="#" onclick="doDeleteButton('menu_hover_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
</div>
|
||||
<input type="file" name="menu_hover_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2"><div>{$lang->menu_active_btn}</div></th>
|
||||
<td>
|
||||
<div id="menu_active_btn_zone" <!--@if(!$item_info->active_btn)-->style="display:none;"<!--@end-->>
|
||||
<img src="{$item_info->active_btn}" alt="" id="menu_active_btn_img" /><br />
|
||||
<a href="#" onclick="doDeleteButton('menu_active_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
</div>
|
||||
<input type="file" name="menu_active_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="2"><div>{$lang->menu_group_srls}</div></th>
|
||||
<td>
|
||||
<!--@foreach($group_list as $key=>$val)-->
|
||||
<input type="checkbox" name="group_srls" value="{$key}" id="group_{$key}" <!--@if(is_array($item_info->group_srls)&&in_array($key, $item_info->group_srls))-->checked="checked"<!--@end-->/>
|
||||
<label for="group_{$key}">{$val->title}</label>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<!--@if($item_info->parent_menu_name)-->
|
||||
<tr class="row{$cycle_idx}">
|
||||
<th scope="row"><div>{$lang->parent_menu_name}</div></th>
|
||||
<td>{$item_info->parent_menu_name}</td>
|
||||
</tr>
|
||||
<!--@end-->
|
||||
<p>{$lang->about_menu_group_srls}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="3" class="button"><div>
|
||||
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_name}</div></th>
|
||||
<td>
|
||||
<input type="text" name="menu_name" id="menu_name" value="{htmlspecialchars($item_info->name)}" class="inputTypeText w300"/>
|
||||
<a href="{getUrl('','module','module','act','dispModuleAdminLangcode','target','menu_name')}" onclick="popopen(this.href);return false;" class="buttonSet buttonSetting"><span>{$lang->cmd_find_langcode}</span></a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_url}</div></th>
|
||||
<td>
|
||||
<input type="text" name="menu_url" value="{htmlspecialchars($item_info->url)}" class="inputTypeText" />
|
||||
<a href="{getUrl('module','menu','act','dispMenuAdminMidList')}" onclick="popopen(this.href);return false;" class="button black"><span>{$lang->cmd_search_mid}</span> </a>
|
||||
<p class="clear">{$lang->about_menu_url}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_open_window}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="menu_open_window" value="Y" <!--@if($item_info->open_window=="Y")-->checked="checked"<!--@end--> />
|
||||
<p>{$lang->about_menu_open_window}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_expand}</div></th>
|
||||
<td>
|
||||
<input type="checkbox" name="menu_expand" value="Y" <!--@if($item_info->expand=="Y")-->checked="checked"<!--@end--> />
|
||||
<p>{$lang->about_menu_expand}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_img_btn}</div></th>
|
||||
<td><p>{$lang->about_menu_img_btn}</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_normal_btn}</div></th>
|
||||
<td>
|
||||
<div id="menu_normal_btn_zone" <!--@if(!$item_info->normal_btn)-->style="display:none;"<!--@end-->>
|
||||
<img src="{$item_info->normal_btn}" alt="" id="menu_normal_btn_img" /><br />
|
||||
<a href="#" onclick="doDeleteButton('menu_normal_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
</div>
|
||||
<input type="file" name="menu_normal_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_hover_btn}</div></th>
|
||||
<td>
|
||||
<div id="menu_hover_btn_zone") <!--@if(!$item_info->hover_btn)-->style="display:none;"<!--@end-->>
|
||||
<img src="{$item_info->hover_btn}" alt="" id="menu_hover_btn_img" /><br />
|
||||
<a href="#" onclick="doDeleteButton('menu_hover_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
</div>
|
||||
<input type="file" name="menu_hover_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_active_btn}</div></th>
|
||||
<td>
|
||||
<div id="menu_active_btn_zone" <!--@if(!$item_info->active_btn)-->style="display:none;"<!--@end-->>
|
||||
<img src="{$item_info->active_btn}" alt="" id="menu_active_btn_img" /><br />
|
||||
<a href="#" onclick="doDeleteButton('menu_active_btn');return false;" class="button"><span>{$lang->cmd_delete}</span></a>
|
||||
</div>
|
||||
<input type="file" name="menu_active_btn" value="" class="inputTypeText" onchange="doMenuUploadButton(this); return false;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->menu_group_srls}</div></th>
|
||||
<td>
|
||||
<!--@foreach($group_list as $key=>$val)-->
|
||||
<input type="checkbox" name="group_srls" value="{$key}" id="group_{$key}" <!--@if(is_array($item_info->group_srls)&&in_array($key, $item_info->group_srls))-->checked="checked"<!--@end-->/>
|
||||
<label for="group_{$key}">{$val->title}</label>
|
||||
<!--@end-->
|
||||
<p>{$lang->about_menu_group_srls}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row" colspan="3" class="button"><div>
|
||||
<span class="button black strong"><input type="submit" value="{$lang->cmd_save}" /></span>
|
||||
</div></th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<span class="button green"><input type="submit" value="{$lang->cmd_save}" /></span>
|
||||
<span class="button red"><input type="button" onclick="hideCategoryInfo();return false" value="{$lang->cmd_close}" /></span>
|
||||
<script type="text/javascript">
|
||||
|
||||
(function($){
|
||||
$("[name^=menu_name_]").bind("blur",function(e){
|
||||
if($("[name=ck_"+$(this).attr("name")+"]:checked").size()>0){
|
||||
$("[name^=ck_menu_name_]:checked").each(function(i){
|
||||
$("[name="+$(this).attr("name").substring(3)+"]").val(e.target.value);
|
||||
});
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
|
||||
</div></th>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
(function($){
|
||||
$("[name^=menu_name_]").bind("blur",function(e){
|
||||
if($("[name=ck_"+$(this).attr("name")+"]:checked").size()>0){
|
||||
$("[name^=ck_menu_name_]:checked").each(function(i){
|
||||
$("[name="+$(this).attr("name").substring(3)+"]").val(e.target.value);
|
||||
});
|
||||
}
|
||||
});
|
||||
})(jQuery);
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -18,8 +18,8 @@
|
|||
<!--@if($module == 'admin')-->
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, update_menu_title)">
|
||||
<input type="hidden" name="menu_srl" value="{$menu_info->menu_srl}" />
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<caption>{$lang->menu} {$lang->cmd_management}</caption>
|
||||
<h4 class="xeAdmin">{$lang->menu} {$lang->cmd_management}</h4>
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr>
|
||||
<th scope="col"><div>{$lang->title}</div></th>
|
||||
<td>
|
||||
|
|
@ -41,7 +41,7 @@
|
|||
</form>
|
||||
|
||||
<!--@else-->
|
||||
<table cellspacing="0" class="adminTable">
|
||||
<table cellspacing="0" class="rowTable">
|
||||
<tr>
|
||||
<th scope="col"><div>{$lang->title}</div></th>
|
||||
<td class="left">
|
||||
|
|
@ -65,24 +65,30 @@
|
|||
<input type="hidden" name="module" value="menu" />
|
||||
<input type="hidden" name="act" value="" />
|
||||
<input type="hidden" name="target" value="" />
|
||||
|
||||
<div id="menu">
|
||||
<ul class="simpleTree">
|
||||
<li class="root" id='tree_0'><span>{$lang->menu}</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="menu_zone_info" style="position:absolute;top:200px; width:70%; right:20px"></div>
|
||||
<div id="menu_zone_info"></div>
|
||||
</form>
|
||||
<div id="menu">
|
||||
<ul class="simpleTree">
|
||||
<li class="root" id='tree_0'><span>{$lang->menu}</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<iframe id='tmp_upload_iframe' name='tmp_upload_iframe' style='display:none;width:1px;height:1px;position:absolute;top:-10px;left:-10px'></iframe>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript">//<![CDATA[
|
||||
//언어파일 로드용
|
||||
var lang_cmd_insert = "{htmlspecialchars($lang->cmd_insert)}";
|
||||
var lang_cmd_delete = "{htmlspecialchars($lang->cmd_delete)}";
|
||||
var lang_cmd_modify = "{htmlspecialchars($lang->cmd_modify)}";
|
||||
|
||||
var simpleTreeCollection;
|
||||
var max_menu_depth = 999;
|
||||
var xml_url = "{$menu_info->xml_file}";
|
||||
var lang_confirm_delete = "{$lang->confirm_delete}";
|
||||
doMoveMenuInfo();
|
||||
Tree(xml_url);
|
||||
//]]>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<!--%import("js/menu_admin.js")-->
|
||||
<div id="popHeadder" class="w700">
|
||||
<h3>{$lang->cmd_search_mid}</h3>
|
||||
<div id="popHeader" class="wide">
|
||||
<h3 class="xeAdmin">{$lang->cmd_search_mid}</h3>
|
||||
</div>
|
||||
|
||||
<div id="popBody" class="w700">
|
||||
<div id="popBody">
|
||||
<form action="./" method="get">
|
||||
<input type="hidden" name="module" value="{$module}" />
|
||||
<input type="hidden" name="act" value="{$act}" />
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
<!--@end-->
|
||||
</select>
|
||||
<input type="submit" name="go_button" id="go_button" value="GO" class="buttonTypeGo" />
|
||||
<table cellspacing="0" class="adminTable topGap">
|
||||
<table cellspacing="0" class="rowTable topGap">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="row"><div>{$lang->module_category}</div></th>
|
||||
|
|
@ -50,9 +50,3 @@
|
|||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="popFooter" class="w700">
|
||||
<div class="tCenter gap1">
|
||||
<a href="#" onclick="window.close(); return false;" class="button"><span>{$lang->cmd_close}</span></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue