diff options
author | Fabian Becker <halfdan@xnorfz.de> | 2013-01-29 22:17:57 +0400 |
---|---|---|
committer | Fabian Becker <halfdan@xnorfz.de> | 2013-01-29 22:17:57 +0400 |
commit | 388792fc912351eb32f194bb96a0c4f2c46a41fd (patch) | |
tree | 315da676c78842b75951ee986e873b36ce9cb7d9 /core/Menu | |
parent | 15cbd9a535a401d7428b062ef08cc8d244fccebc (diff) |
New admin menus, hooray!
New vertical admin menus are organized as follow:
- Predefined menus are Manage, Settings, Diagnostics, Plugins, Community
- New submenus can be defined via Piwik_AddAdminSubMenu()
- Piwik_AddAdminMenu defaults to "Settings"
fixed #1552
git-svn-id: http://dev.piwik.org/svn/trunk@7815 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'core/Menu')
-rw-r--r-- | core/Menu/Abstract.php | 4 | ||||
-rw-r--r-- | core/Menu/Admin.php | 29 |
2 files changed, 26 insertions, 7 deletions
diff --git a/core/Menu/Abstract.php b/core/Menu/Abstract.php index d1b483721b..50222d15e7 100644 --- a/core/Menu/Abstract.php +++ b/core/Menu/Abstract.php @@ -86,7 +86,9 @@ abstract class Piwik_Menu_Abstract if (!isset($this->menu[$menuName]) || empty($subMenuName)) { $this->menu[$menuName]['_url'] = $url; - $this->menu[$menuName]['_order'] = $order; + if(empty($subMenuName)) { + $this->menu[$menuName]['_order'] = $order; + } $this->menu[$menuName]['_name'] = $menuName; $this->menu[$menuName]['_hasSubmenu'] = false; $this->menu[$menuName]['_tooltip'] = $tooltip; diff --git a/core/Menu/Admin.php b/core/Menu/Admin.php index ddc7da32fd..6e2dd5b018 100644 --- a/core/Menu/Admin.php +++ b/core/Menu/Admin.php @@ -54,12 +54,15 @@ function Piwik_GetCurrentAdminMenuName() $menu = Piwik_GetAdminMenu(); $currentModule = Piwik::getModule(); $currentAction = Piwik::getAction(); - foreach($menu as $name => $parameters) + foreach($menu as $name => $submenu) { - if($parameters['_url']['module'] == $currentModule - && $parameters['_url']['action'] == $currentAction) - { - return $name; + foreach($submenu as $subMenuName => $parameters) { + if(strpos($subMenuName, '_') !== 0 && + $parameters['_url']['module'] == $currentModule + && $parameters['_url']['action'] == $currentAction) + { + return $subMenuName; + } } } return false; @@ -85,7 +88,21 @@ function Piwik_GetAdminMenu() */ function Piwik_AddAdminMenu( $adminMenuName, $url, $displayedForCurrentUser = true, $order = 10 ) { - Piwik_Menu_Admin::getInstance()->add($adminMenuName, null, $url, $displayedForCurrentUser, $order); + Piwik_Menu_Admin::getInstance()->add('General_Settings', $adminMenuName, $url, $displayedForCurrentUser, $order); +} + +/** + * Adds a new AdminMenu entry with a submenu. + * + * @param string $adminMenuName + * @param string $adminSubMenuName + * @param string $url + * @param boolean $displayedForCurrentUser + * @param int $order + */ +function Piwik_AddAdminSubMenu( $adminMenuName, $adminSubMenuName, $url, $displayedForCurrentUser = true, $order = 10 ) +{ + Piwik_Menu_Admin::getInstance()->add($adminMenuName, $adminSubMenuName, $url, $displayedForCurrentUser, $order); } /** |