From 2eb8d34fcd8ae52832a99496f2e6807b0f413c05 Mon Sep 17 00:00:00 2001 From: ovclas Date: Wed, 19 Sep 2012 02:44:43 +0000 Subject: [PATCH] issue 2498 when access to the page not a dashboard, admin menu created also. git-svn-id: http://xe-core.googlecode.com/svn/branches/maserati@11334 201d5d3c-b55e-5fd7-737f-ddc643e51545 --- modules/admin/admin.admin.view.php | 13 ++++----- modules/admin/admin.class.php | 44 ++++++++++++++++-------------- modules/menu/conf/module.xml | 2 +- modules/menu/menu.admin.view.php | 8 ++++++ 4 files changed, 39 insertions(+), 28 deletions(-) diff --git a/modules/admin/admin.admin.view.php b/modules/admin/admin.admin.view.php index 8e5c64412..a8b9ac698 100644 --- a/modules/admin/admin.admin.view.php +++ b/modules/admin/admin.admin.view.php @@ -113,13 +113,12 @@ $oAdminAdminModel = &getAdminModel('admin'); $lang->menu_gnb_sub = $oAdminAdminModel->getAdminMenuLang(); - $oMenuAdminModel = &getAdminModel('menu'); - $menu_info = $oMenuAdminModel->getMenuByTitle($oAdminAdminModel->getAdminMenuName()); - Context::set('admin_menu_srl', $menu_info->menu_srl); - - if(!is_readable($menu_info->php_file)) return; - - include $menu_info->php_file; + $menuPhpFile = $oAdminAdminModel->checkAdminMenu(); + if(!$menuPhpFile) + { + return $this->setRedirectUrl(getUrl('', 'module', 'admin')); + } + include $menuPhpFile; $oModuleModel = &getModel('module'); $moduleActionInfo = $oModuleModel->getModuleActionXml($module); diff --git a/modules/admin/admin.class.php b/modules/admin/admin.class.php index f589edbc1..6f3047b75 100644 --- a/modules/admin/admin.class.php +++ b/modules/admin/admin.class.php @@ -31,26 +31,6 @@ $oDB = &DB::getInstance(); if(!$oDB->isColumnExists("admin_favorite", "type")) return true; - // for admin menu - if(Context::isInstalled()) - { - $oMenuAdminModel = &getAdminModel('menu'); - $output = $oMenuAdminModel->getMenuByTitle($this->adminMenuName); - - if(!$output->menu_srl) - { - $oAdminClass = &getClass('admin'); - $oAdminClass->createXeAdminMenu(); - } - else if(!is_readable($output->php_file)) - { - $oMenuAdminController = &getAdminController('menu'); - $oMenuAdminController->makeXmlFile($output->menu_srl); - } - - $this->_oldAdminmenuDelete(); - } - return false; } @@ -89,6 +69,30 @@ function recompileCache() { } + public function checkAdminMenu() + { + // for admin menu + if(Context::isInstalled()) + { + $oMenuAdminModel = &getAdminModel('menu'); + $output = $oMenuAdminModel->getMenuByTitle($this->adminMenuName); + + if(!$output->menu_srl) + { + $oAdminClass = &getClass('admin'); + $oAdminClass->createXeAdminMenu(); + } + else if(!is_readable(FileHandler::getRealPath($output->php_file))) + { + $oMenuAdminController = &getAdminController('menu'); + $oMenuAdminController->makeXmlFile($output->menu_srl); + } + + $this->_oldAdminmenuDelete(); + return FileHandler::getRealPath($output->php_file); + } + } + /** * Regenerate xe admin default menu * @return void diff --git a/modules/menu/conf/module.xml b/modules/menu/conf/module.xml index 1b45263df..2ad3f1f7c 100644 --- a/modules/menu/conf/module.xml +++ b/modules/menu/conf/module.xml @@ -9,7 +9,7 @@ - + diff --git a/modules/menu/menu.admin.view.php b/modules/menu/menu.admin.view.php index 8a87047ad..ef85891c6 100644 --- a/modules/menu/menu.admin.view.php +++ b/modules/menu/menu.admin.view.php @@ -216,6 +216,14 @@ $this->setTemplateFile('sitemap'); } + /** + * Site design admin page + * @return void + */ + public function dispMenuAdminSiteDesign() + { + } + /** * Setting menu information(recursive) * @param array $menu