issue 70 admin menu use menu module

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8592 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2011-07-13 07:26:19 +00:00
parent 6ded9684bc
commit 3fa20cd6b8
5 changed files with 34 additions and 129 deletions

View file

@ -275,7 +275,7 @@
$logged_info = $oMemberModel->getLoggedInfo(); $logged_info = $oMemberModel->getLoggedInfo();
if($logged_info->is_admin=='Y') { if($logged_info->is_admin=='Y') {
$orig_module->makeGnbUrl($forward->module); $orig_module->makeGnbUrl();
$oModule->setLayoutPath("./modules/admin/tpl"); $oModule->setLayoutPath("./modules/admin/tpl");
$oModule->setLayoutFile("layout.html"); $oModule->setLayoutFile("layout.html");
} }

View file

@ -23,7 +23,7 @@
$this->setLayoutPath($this->getTemplatePath()); $this->setLayoutPath($this->getTemplatePath());
$this->setLayoutFile('layout.html'); $this->setLayoutFile('layout.html');
$this->makeGnbUrl($this->module); $this->makeGnbUrl();
// Retrieve the list of installed modules // Retrieve the list of installed modules
@ -46,18 +46,16 @@
} }
function makeGnbUrl($module) function makeGnbUrl()
{ {
require_once(_XE_PATH_.'modules/admin/model/AdminCategory.php'); global $lang;
$oAdminCategory = new AdminCategory($module);
$oMenuAdminModel = &getAdminModel('menu'); $oMenuAdminModel = &getAdminModel('menu');
$menu_info = $oMenuAdminModel->getMenuByTitle('__XE_ADMIN__'); $menu_info = $oMenuAdminModel->getMenuByTitle('__XE_ADMIN__');
debugPrint($menu_info);
Context::set('gnbUrlList', $oAdminCategory->getCategoryList()); if(is_readable($menu_info->php_file))
Context::set('gnbSubUrlList', $oAdminCategory->getSubCategoryList()); include $menu_info->php_file;
Context::set('category', $oAdminCategory->getCategory());
Context::set('gnbUrlList', $menu->list);
} }
function loadSideBar() function loadSideBar()

View file

@ -87,11 +87,11 @@
), ),
'user'=>array( 'user'=>array(
'url'=>$adminUrl, 'url'=>$adminUrl,
'lnbList'=>array('userList', 'setting', 'point') 'lnbList'=>array('userList'=>$adminUrl, 'setting'=>$adminUrl, 'point'=>$adminUrl)
), ),
'content'=>array( 'content'=>array(
'url'=>$adminUrl, 'url'=>$adminUrl,
'lnbList'=>array('document', 'comment', 'trackback', 'file', 'poll', 'dataMigration') 'lnbList'=>array('document'=>$adminUrl, 'comment'=>$adminUrl, 'trackback'=>$adminUrl, 'file'=>$adminUrl, 'poll'=>$adminUrl, 'dataMigration'=>$adminUrl)
), ),
'theme'=>array( 'theme'=>array(
'url'=>$adminUrl, 'url'=>$adminUrl,
@ -99,11 +99,11 @@
), ),
'extensions'=>array( 'extensions'=>array(
'url'=>$adminUrl, 'url'=>$adminUrl,
'lnbList'=>array('easyInstaller', 'installedLayout', 'installedModule', 'installedWidget', 'installedAddon', 'WYSIWYGEditor', 'spamFilter') 'lnbList'=>array('easyInstaller'=>$adminUrl, 'installedLayout'=>$adminUrl, 'installedModule'=>$adminUrl, 'installedWidget'=>$adminUrl, 'installedAddon'=>$adminUrl, 'WYSIWYGEditor'=>$adminUrl, 'spamFilter'=>$adminUrl)
), ),
'configuration'=>array( 'configuration'=>array(
'url'=>$adminUrl, 'url'=>$adminUrl,
'lnbList'=>array('general', 'fileUpload') 'lnbList'=>array('general'=>$adminUrl, 'fileUpload'=>$adminUrl)
) )
); );
@ -123,27 +123,34 @@
{ {
//insert menu item //insert menu item
$args->menu_item_srl = getNextSequence(); $args->menu_item_srl = getNextSequence();
$args->name = '$lang->menu_gnb[\''.$key.'\']'; $args->name = '{$lang->menu_gnb[\''.$key.'\']}';
$args->url = $value['url']; $args->url = $value['url'];
$args->listorder = -1*$args->menu_item_srl; $args->listorder = -1*$args->menu_item_srl;
$output = executeQuery('menu.insertMenuItem', $args); $output = executeQuery('menu.insertMenuItem', $args);
if(is_array($value) && count($value)>0) if(is_array($value) && count($value)>0)
{ {
unset($parentSrl); $args2->menu_srl = $args->menu_srl;
$parentSrl = $args->menu_item_srl; $args2->open_window = 'N';
foreach($value AS $key2=>$value2) $args2->expand = 'N';
$args2->normal_btn = '';
$args2->hover_btn = '';
$args2->active_btn = '';
$args2->group_srls = $adminGroupSrl;
foreach($value['lnbList'] AS $key2=>$value2)
{ {
//insert menu item //insert menu item
$args->menu_item_srl = getNextSequence(); $args2->menu_item_srl = getNextSequence();
$args->parent_srl = $parentSrl; $args2->parent_srl = $args->menu_item_srl;
$args->name = '$lang->menu_gnb_sub[\''.$key.'\'][\''.$key2.'\']'; $args2->name = '{$lang->menu_gnb_sub[\''.$key.'\'][\''.$key2.'\']}';
$args->url = $value2['url']; $args2->url = $value2;
$args->listorder = -1*$args->menu_item_srl; $args2->listorder = -1*$args2->menu_item_srl;
$output = executeQuery('menu.insertMenuItem', $args); $output = executeQuery('menu.insertMenuItem', $args2);
} }
} }
} }
$oMenuAdminConroller = &getAdminController('menu');
$oMenuAdminConroller->makeXmlFile($args->menu_srl);
} }
} }
?> ?>

View file

@ -1,99 +0,0 @@
<?php
class AdminCategory
{
var $module;
var $category;
var $categoryList;
var $subCategoryList;
var $categoryListForSearchWithModule;
function AdminCategory($module = 'admin')
{
$this->module = $module;
$this->category = 'dashboard';
$this->_makeCategoryList();
$this->_makeSubCategoryList();
$this->_makeCategoryListForSearchWithModule();
}
function getCategoryList()
{
return $this->categoryList;
}
function getSubCategoryList()
{
return $this->subCategoryList;
}
function getCategory()
{
foreach($this->categoryList AS $key=>$value)
{
if(in_array($this->module, $this->categoryListForSearchWithModule[$key]))
{
$this->category = $key;
break;
}
}
return $this->category;
}
function _makeCategoryList()
{
$this->categoryList = array(
'dashboard'=>getUrl('', 'module', 'admin'),
'site'=>getUrl(''),
'user'=>getUrl(''),
'content'=>getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList'),
'theme'=>getUrl(''),
'extensions'=>getUrl(''),
'configuration'=>getUrl('')
);
}
function _makeSubCategoryList()
{
$this->subCategoryList['dashboard'] = array();
$this->subCategoryList['site'] = array();
$this->subCategoryList['user'] = array(
'userList'=>getUrl(''),
'setting'=>getUrl(''),
'point'=>getUrl('')
);
$this->subCategoryList['content'] = array(
'document'=>getUrl('', 'module', 'admin', 'act', 'dispDocumentAdminList'),
'comment'=>getUrl('', 'module', 'admin', 'act', 'dispCommentAdminList'),
'trackback'=>getUrl(''),
'file'=>getUrl(''),
'poll'=>getUrl(''),
'dataMigration'=>getUrl('')
);
$this->subCategoryList['theme'] = array();
$this->subCategoryList['extensions'] = array(
'easyInstaller'=>getUrl(''),
'installedLayout'=>getUrl(''),
'installedModule'=>getUrl(''),
'installedWidget'=>getUrl(''),
'installedAddon'=>getUrl(''),
'WYSIWYGEditor'=>getUrl(''),
'spamFilter'=>getUrl('')
);
$this->subCategoryList['configuration'] = array(
'general'=>getUrl(''),
'fileUpload'=>getUrl('')
);
}
function _makeCategoryListForSearchWithModule()
{
$this->categoryListForSearchWithModule = array(
'dashboard'=>array('admin'),
'site'=>array(),
'user'=>array('member'),
'content'=>array('document', 'comment', 'trackback', 'file', 'poll', 'importer'),
'theme'=>array(),
'extensions'=>array(),
'configuration'=>array()
);
}
}
?>

View file

@ -29,13 +29,12 @@
</div> </div>
<div class="gnb jx"> <div class="gnb jx">
<ul> <ul>
<!--li class="activeOn"><a href="#">Dashboard</a></li--> <!--@foreach($gnbUrlList AS $key=>$value)-->
<!--@foreach($lang->menu_gnb AS $key=>$value)--> <li <!--@if($category == $key)-->class="activeOn"<!--@end-->><a href="{$value['href']}">{$value['text']}</a>
<li <!--@if($category == $key)-->class="activeOn"<!--@end-->><a href="{$gnbUrlList[$key]}">{$value}</a> <!--@if(count($gnbUrlList[$key]['list']) > 0)-->
<!--@if(count($lang->menu_gnb_sub[$key]) > 0)-->
<ul> <ul>
<!--@foreach($lang->menu_gnb_sub[$key] AS $key2=>$value2)--> <!--@foreach($gnbUrlList[$key]['list'] AS $key2=>$value2)-->
<li><a href="{$gnbSubUrlList[$key][$key2]}">{$value2}</a></li> <li><a href="{$value2['href']}">{$value2['text']}</a></li>
<!--@end--> <!--@end-->
</ul> </ul>
<!--@end--> <!--@end-->