From 235af94a921cb2e7f5ca1bd5d1179fb5a85168e8 Mon Sep 17 00:00:00 2001 From: Jerome Nadaud Date: Mon, 16 Sep 2013 17:05:27 +0200 Subject: [PATCH] // Fix Page header toolbar --- admin-dev/themes/default/template/content.tpl | 20 +++++++++++++++ .../default/template/page_header_toolbar.tpl | 16 ------------ classes/controller/AdminController.php | 25 +++++++++++++++++++ controllers/admin/AdminAccessController.php | 9 +++++++ .../admin/AdminInformationController.php | 10 +++++--- 5 files changed, 60 insertions(+), 20 deletions(-) diff --git a/admin-dev/themes/default/template/content.tpl b/admin-dev/themes/default/template/content.tpl index 9fb652427..e32da791e 100644 --- a/admin-dev/themes/default/template/content.tpl +++ b/admin-dev/themes/default/template/content.tpl @@ -25,6 +25,26 @@ {if isset($content)} {if isset($show_page_header_toolbar) && $show_page_header_toolbar} +
+ {foreach from=$page_header_toolbar_btn item=btn key=k} + {if $k == 'modules-list'} + + {/if} + {/foreach} +
{include file="page_header_toolbar.tpl" toolbar_btn=$page_header_toolbar_btn title=$page_header_toolbar_title} {/if} {$content} diff --git a/admin-dev/themes/default/template/page_header_toolbar.tpl b/admin-dev/themes/default/template/page_header_toolbar.tpl index 9008cbe2d..361fa98af 100644 --- a/admin-dev/themes/default/template/page_header_toolbar.tpl +++ b/admin-dev/themes/default/template/page_header_toolbar.tpl @@ -40,22 +40,6 @@
{$btn.desc}
- {if $k == 'modules-list'} - - {/if} {/foreach} diff --git a/classes/controller/AdminController.php b/classes/controller/AdminController.php index eb6dc6570..e1df32feb 100644 --- a/classes/controller/AdminController.php +++ b/classes/controller/AdminController.php @@ -1102,6 +1102,8 @@ class AdminControllerCore extends Controller 'page_header_toolbar_title' => $this->page_header_toolbar_title, 'page_header_toolbar_btn' => $this->page_header_toolbar_btn )); + + $this->addPageHeaderToolBarModulesListButton(); } /** @@ -1551,6 +1553,7 @@ class AdminControllerCore extends Controller elseif (is_array($this->tab_modules_list['slider_list']) && count($this->tab_modules_list['slider_list'])) { $this->addToolBarModulesListButton(); + $this->addPageHeaderToolBarModulesListButton(); $this->context->smarty->assign(array( 'tab_modules_list' => implode(',', $this->tab_modules_list['slider_list']), 'admin_module_ajax_url' => $this->context->link->getAdminLink('AdminModules'), @@ -1559,6 +1562,28 @@ class AdminControllerCore extends Controller )); } } + + protected function addPageHeaderToolBarModulesListButton() + { + if (!$this->isFresh(Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST, 86400)) + file_put_contents(_PS_ROOT_DIR_.Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST, Tools::addonsRequest('native')); + + $country_module_list = file_get_contents(_PS_ROOT_DIR_.Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST); + if (!empty($country_module_list) && $country_module_list_xml = simplexml_load_string($country_module_list)) + { + $country_module_list_array = array(); + foreach ($country_module_list_xml->module as $k => $m) + $country_module_list_array[] = (string)$m->name; + + $this->tab_modules_list['slider_list'] = array_intersect($this->tab_modules_list['slider_list'], $country_module_list_array); + } + + if (is_array($this->tab_modules_list['slider_list']) && count($this->tab_modules_list['slider_list'])) + $this->page_header_toolbar_btn['modules-list'] = array( + 'href' => '#', + 'desc' => $this->l('Modules List') + ); + } protected function addToolBarModulesListButton() { diff --git a/controllers/admin/AdminAccessController.php b/controllers/admin/AdminAccessController.php index 823c6ad49..454bc19a6 100644 --- a/controllers/admin/AdminAccessController.php +++ b/controllers/admin/AdminAccessController.php @@ -32,6 +32,7 @@ class AdminAccessControllerCore extends AdminController public function __construct() { $this->bootstrap = true; + $this->show_toolbar = false; $this->table = 'access'; $this->className = 'Profile'; $this->multishop_context = Shop::CONTEXT_ALL; @@ -44,6 +45,12 @@ class AdminAccessControllerCore extends AdminController parent::__construct(); } + public function initPageHeaderToolbar() + { + $this->page_header_toolbar_title = $this->l('Permissions'); + parent::initPageHeaderToolbar(); + } + /** * AdminController::renderForm() override * @see AdminController::renderForm() @@ -118,6 +125,8 @@ class AdminAccessControllerCore extends AdminController if (!$this->loadObject(true)) return; + $this->initPageHeaderToolbar(); + $this->content .= $this->renderForm(); $this->context->smarty->assign(array( 'content' => $this->content, diff --git a/controllers/admin/AdminInformationController.php b/controllers/admin/AdminInformationController.php index b2faf19e8..2c18ed522 100644 --- a/controllers/admin/AdminInformationController.php +++ b/controllers/admin/AdminInformationController.php @@ -35,12 +35,14 @@ class AdminInformationControllerCore extends AdminController public function initContent() { + $this->show_toolbar = false; $this->display = 'view'; parent::initContent(); } public function renderView() { + $this->initPageHeaderToolbar(); $this->tpl_view_vars = array( 'version' => array( 'php' => phpversion(), @@ -74,12 +76,12 @@ class AdminInformationControllerCore extends AdminController return parent::renderView(); } - - public function initToolBar() + + public function initPageHeaderToolbar() { - return; + $this->page_header_toolbar_title = $this->l('Configuration information'); + parent::initPageHeaderToolbar(); } - /** * get all tests