issue 70 site map admin developement

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@9055 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2011-09-06 09:29:29 +00:00
parent b909a11c5e
commit fc3a39b65a
8 changed files with 131 additions and 46 deletions

View file

@ -334,13 +334,23 @@
/**
* @brief Get admin favorite list
**/
function getFavoriteList($siteSrl)
function getFavoriteList($siteSrl = 0, $isGetModuleInfo = false)
{
$args->site_srl = $siteSrl;
$output = executeQueryArray('admin.getFavoriteList', $args);
if (!$output->toBool()) return $output;
if (!$output->data) return new Object();
if($isGetModuleInfo && is_array($output->data))
{
$oModuleModel = &getModel('module');
foreach($output->data AS $key=>$value)
{
$moduleInfo = $oModuleModel->getModuleInfoXml($value->module);
$value->admin_index_act = $moduleInfo->admin_index_act;
}
}
$returnObject = new Object();
$returnObject->add('favoriteList', $output->data);
return $returnObject;

View file

@ -302,6 +302,12 @@
if(file_exists($path)) $isEnviromentGatheringAgreement = true;
Context::set('isEnviromentGatheringAgreement', $isEnviromentGatheringAgreement);
Context::set('layout','none');
// Get list of favorite
$oAdminAdminModel = &getAdminModel('admin');
$output = $oAdminAdminModel->getFavoriteList(0, true);
Context::set('favorite_list', $output->data);
$this->setTemplateFile('index');
}

View file

@ -65,7 +65,7 @@
<ul class="lined">
<!--@foreach($latestCommentList AS $key=>$value)-->
<li>
<a href="#" target="_blank">{$value->content}</a> <span class="side">{$value->nick_name}</span>
<a href="{getUrl('', 'document_srl', $value->document_srl)}#comment_{$value->comment_srl}" target="_blank">{$value->content}</a> <span class="side">{$value->nick_name}</span>
<span class="action">
<form>
<input type="hidden" name="module" value="admin" />

View file

@ -257,19 +257,24 @@
$this->itemKeyList = Context::get('item_key');
// menu name update
/*$args->menu_srl = $this->menuSrl;
$args->menu_srl = $this->menuSrl;
$output = executeQuery('menu.updateMenu', $args);
if(!$output->toBool()) return $output;*/
if(!$output->toBool()) return $output;
$this->map = array();
if(is_array($parentKeyList))
{
foreach($parentKeyList as $no=>$srl)
{
if ($srl === 0) continue;
if (!is_array($this->map[$srl]))$this->map[$srl] = array();
$this->map[$srl][] = $no;
}
}
$result = array();
if(is_array($this->itemKeyList))
{
foreach($this->itemKeyList as $srl)
{
if (!$this->checked[$srl]){
@ -284,6 +289,7 @@
$result[] = $target;
}
}
}
if(is_array($result))
{
@ -319,13 +325,15 @@
function _recursiveMoveMenuItem($result)
{
$i = 0;
while(count($result->child))
{
unset($node);
$node = array_shift($result->child);
$this->moveMenuItem($this->menuSrl, $node->parent_node, 0, $node->node, 'move');
$this->moveMenuItem($this->menuSrl, $node->parent_node, $i, $node->node, 'move');
$this->_recursiveMoveMenuItem($node);
$i = $node->node;
}
}

View file

@ -6,6 +6,7 @@
**/
class menuAdminView extends menu {
var $tmpMenu = null;
/**
* @brief Initialization
@ -102,27 +103,40 @@
function dispMenuAdminSiteMap()
{
$oMenuAdminModel = &getAdminModel('menu');
$output = $oMenuAdminModel->getMenus();
$output = array_reverse($oMenuAdminModel->getMenus());
$menuList = array();
if(is_array($output))
{
$columnList = array('menu_item_srl', 'parent_srl', 'menu_srl', 'name');
$menuItems = array();
foreach($output AS $key=>$value)
{
if($value->title == '__XE_ADMIN__') unset($output[$key]);
else
{
unset($menu);
unset($menuItems);
$value->xml_file = sprintf('./files/cache/menu/%s.xml.php',$value->menu_srl);
//$value->php_file = sprintf('./files/cache/menu/%s.php',$value->menu_srl);
//if(file_exists($value->php_file)) @include($value->php_file);
$value->php_file = sprintf('./files/cache/menu/%s.php',$value->menu_srl);
if(file_exists($value->php_file)) @include($value->php_file);
array_push($menuList, $value->xml_file);
if(count($menu->list)>0)
{
foreach($menu->list AS $key2=>$value2)
{
$this->_menuInfoSetting($menu->list[$key2]);
}
}
//array_push($menuList, $value->xml_file);
$menuItems->menuSrl = $value->menu_srl;
$menuItems->title = $value->title;
$menuItems->menuItems = $menu;
array_push($menuList, $menuItems);
}
}
}
Context::set('menu_url_list', $menuList);
Context::set('menu_list', $menuList);
// get installed module list
$oModuleModel = &getModel('module');
@ -156,6 +170,30 @@
$this->setTemplateFile('sitemap');
}
function _menuInfoSetting(&$menu)
{
$oModuleModel = &getModel('module');
if(!preg_match('/^http/i', $menu['url']))
{
unset($midInfo);
unset($moduleInfo);
$midInfo = $oModuleModel->getModuleInfoByMid($menu['url']);
$moduleInfo = $oModuleModel->getModuleInfoXml($midInfo->module);
if($moduleInfo->setup_index_act)
{
$menu['module_srl'] = $midInfo->module_srl;
$menu['setup_index_act'] = $moduleInfo->setup_index_act;
}
}
if(count($menu['list']) > 0)
{
foreach($menu['list'] AS $key=>$value)
{
$this->_menuInfoSetting($menu['list'][$key]);
}
}
}
function _arrangeMenuItem($menuItems)
{
if(is_array($menuItems))

View file

@ -96,10 +96,18 @@ function completeMoveMenuItem(ret_obj) {
function doReloadTreeMenu(menu_srl) {
var params = new Array();
params["menu_srl"] = menu_srl;
console.log(params);
// 서버에 요청하여 해당 노드의 정보를 수정할 수 있도록 한다.
var response_tags = new Array('error','message', 'xml_file', 'menu_title');
exec_xml('menu', 'procMenuAdminMakeXmlFile', params, completeInsertMenuItem, response_tags, params);
exec_xml('menu', 'procMenuAdminMakeXmlFile', params, completeRemakeCache, response_tags, params);
}
function completeRemakeCache(ret_obj) {
if(ret_obj.error == 0)
{
document.location.reload();
}
}
/* 메뉴 삭제 */

View file

@ -1,3 +1,4 @@
<load target="./js/menu_admin.js" />
<load target="../../admin/tpl/js/sitemap.js" />
<load target="./js/sitemap.js" />
@ -6,37 +7,35 @@
<p>{$XE_VALIDATOR_MESSAGE}</p>
</div>
<h1 class="h1">Site Map</h1>
<!--@foreach($menu_list AS $key=>$value)-->
{@$menu_srl = $value->menu_srl}
<form class="portlet siteMap" id="menu_{$menu_srl}">
<block loop="$menu_list=>$key,$value">
{@$menuSrl = $value->menuSrl}
<form class="portlet siteMap" id="menu_{$menuSrl}">
<input type="hidden" name="act" value="procMenuAdminDeleteItem" />
<input type="hidden" name="menu_srl" value="{$value->menu_srl}" />
<input type="hidden" name="menu_srl" value="{$menuSrl}" />
<input type="hidden" name="menu_item_srl" value="" />
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', 'dispMenuAdminSiteMap')}" />
<h2 class="h2"><input name="title" value="{$value->title}" /></h2>
<a href="#nav1" class="tgMap">접기</a>
<ul class="lined" id="nav1">
<li loop="$value->menuItems=>$key2,$value2">
<input type="hidden" name="parent_key[]" value="0" class="_parent_key" />
<input type="hidden" name="item_key[]" value="{$key2}" class="_item_key" />
<a href="#" class="ms">{$value2['name']}</a> {$key2} <a href="#" class="wPreview" target="_blank">Preview</a>
<span class="side"><a href="#editMenu" class="modalAnchor _edit">Edit...</a> | <a href="#delete" class="_delete">Delete</a></span>
<ul cond="$value2['subMenu']>0">
<li loop="$value2['subMenu']=>$key3,$value3">
<input type="hidden" name="parent_key[]" value="{$key2}" class="_parent_key" />
<input type="hidden" name="item_key[]" value="{$key3}" class="_item_key" />
{$value3->name} {$key3} <a href="#" class="wPreview" target="_blank">Preview</a> <span class="side"><a href="#editMenu" class="modalAnchor _edit">Edit...</a> | <a href="#delete" class="_delete">Delete</a></span>
</li>
<ul class="lined" id="nav1" cond="count($value->menuItems->list > 0)">
<block loop="$value->menuItems->list=>$key2,$value2">
{@$item = $value2}
<include target="sitemap.item.html" />
</block>
</ul>
</li>
</ul>
<p class="btnArea"><span class="btn small"><a href="#editMenu" class="modalAnchor _add">Add Menu...</a></span> <span class="btn small"><button value="procMenuAdminArrangeItem" name="act" type="submit">{$lang->cmd_save}</button></span></p>
<p class="btnArea"><span class="btn small"><a href="#editMenu" class="modalAnchor _add">Add Menu...</a></span> <span class="btn small"><button value="procMenuAdminArrangeItem" name="act" type="submit">{$lang->cmd_save}</button></span><span class="btn small"><a href="#remakeCache" onclick="doReloadTreeMenu('{$menuSrl}');return false;">{$lang->cmd_remake_cache}</a></span></p>
</form>
<!--@end-->
</block>
<form action="./" method="post" class="form">
<input type="hidden" name="act" value="procMenuAdminInsert" />
<input type="hidden" name="title" value="untitled" />
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin', 'act', 'dispMenuAdminSiteMap')}" />
<div class="btnArea">
<span class="btn medium"><button type="button">Add New Site Map...</button></span>
<span class="btn medium"><button type="submit">Add New Site Map...</button></span>
</div>
</form>
<div class="modal" id="editMenu">
<div class="fg">
<form ruleset="insertMenuItem" id="editForm" action="./" method="post" enctype="multipart/form-data" class="form">

View file

@ -0,0 +1,16 @@
<li>
<input type="hidden" name="parent_key[]" value="{$item['parent_srl']}" class="_parent_key" />
<input type="hidden" name="item_key[]" value="{$item['node_srl']}" class="_item_key" />
<!--@if($item['href'])--><a href="{$item['href']}" class="ms" target="_blank">{$item['text']}</a><!--@else-->{$item['text']}<!--@end-->
<!--@if($item['setup_index_act'])-->
<a href="{getUrl('', 'module', 'admin', 'act', $item['setup_index_act'], 'module_srl', $item['module_srl'])}" class="wPreview">Preview</a>
<!--@end-->
<span class="side"><a href="#editMenu" class="modalAnchor _edit">Edit...</a> | <a href="#delete" class="_delete">Delete</a></span>
<ul cond="count($item['list']>0)">
<block loop="$item['list']=>$idx,$val">
{@$item = $val}
<include target="sitemap.item.html" />
</block>
</ul>
</li>