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();
if($logged_info->is_admin=='Y') {
$orig_module->makeGnbUrl($forward->module);
$orig_module->makeGnbUrl();
$oModule->setLayoutPath("./modules/admin/tpl");
$oModule->setLayoutFile("layout.html");
}

View file

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

View file

@ -87,11 +87,11 @@
),
'user'=>array(
'url'=>$adminUrl,
'lnbList'=>array('userList', 'setting', 'point')
'lnbList'=>array('userList'=>$adminUrl, 'setting'=>$adminUrl, 'point'=>$adminUrl)
),
'content'=>array(
'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(
'url'=>$adminUrl,
@ -99,11 +99,11 @@
),
'extensions'=>array(
'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(
'url'=>$adminUrl,
'lnbList'=>array('general', 'fileUpload')
'lnbList'=>array('general'=>$adminUrl, 'fileUpload'=>$adminUrl)
)
);
@ -123,27 +123,34 @@
{
//insert menu item
$args->menu_item_srl = getNextSequence();
$args->name = '$lang->menu_gnb[\''.$key.'\']';
$args->name = '{$lang->menu_gnb[\''.$key.'\']}';
$args->url = $value['url'];
$args->listorder = -1*$args->menu_item_srl;
$output = executeQuery('menu.insertMenuItem', $args);
if(is_array($value) && count($value)>0)
{
unset($parentSrl);
$parentSrl = $args->menu_item_srl;
foreach($value AS $key2=>$value2)
$args2->menu_srl = $args->menu_srl;
$args2->open_window = 'N';
$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
$args->menu_item_srl = getNextSequence();
$args->parent_srl = $parentSrl;
$args->name = '$lang->menu_gnb_sub[\''.$key.'\'][\''.$key2.'\']';
$args->url = $value2['url'];
$args->listorder = -1*$args->menu_item_srl;
$output = executeQuery('menu.insertMenuItem', $args);
$args2->menu_item_srl = getNextSequence();
$args2->parent_srl = $args->menu_item_srl;
$args2->name = '{$lang->menu_gnb_sub[\''.$key.'\'][\''.$key2.'\']}';
$args2->url = $value2;
$args2->listorder = -1*$args2->menu_item_srl;
$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 class="gnb jx">
<ul>
<!--li class="activeOn"><a href="#">Dashboard</a></li-->
<!--@foreach($lang->menu_gnb AS $key=>$value)-->
<li <!--@if($category == $key)-->class="activeOn"<!--@end-->><a href="{$gnbUrlList[$key]}">{$value}</a>
<!--@if(count($lang->menu_gnb_sub[$key]) > 0)-->
<!--@foreach($gnbUrlList AS $key=>$value)-->
<li <!--@if($category == $key)-->class="activeOn"<!--@end-->><a href="{$value['href']}">{$value['text']}</a>
<!--@if(count($gnbUrlList[$key]['list']) > 0)-->
<ul>
<!--@foreach($lang->menu_gnb_sub[$key] AS $key2=>$value2)-->
<li><a href="{$gnbSubUrlList[$key][$key2]}">{$value2}</a></li>
<!--@foreach($gnbUrlList[$key]['list'] AS $key2=>$value2)-->
<li><a href="{$value2['href']}">{$value2['text']}</a></li>
<!--@end-->
</ul>
<!--@end-->