diff options
author | robocoder <anthon.pang@gmail.com> | 2011-04-01 04:21:31 +0400 |
---|---|---|
committer | robocoder <anthon.pang@gmail.com> | 2011-04-01 04:21:31 +0400 |
commit | 92551cc846fbdb4f75fe5f2ca2a32bcf54ddc842 (patch) | |
tree | b8925daa5aca76e98aa186ff2421e62e4169957d /core/Menu | |
parent | 0cec4274905e7dcfa2bc0e78be1a6c749235756b (diff) |
fixes #2242 - fix VisitorGenerator
git-svn-id: http://dev.piwik.org/svn/trunk@4271 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'core/Menu')
-rw-r--r-- | core/Menu/Abstract.php | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/core/Menu/Abstract.php b/core/Menu/Abstract.php index 6e6c0b2d3a..7c41d29fae 100644 --- a/core/Menu/Abstract.php +++ b/core/Menu/Abstract.php @@ -53,28 +53,32 @@ abstract class Piwik_Menu_Abstract { } /** + * Builds a single menu item + */ + private function buildMenuItem($menuName, $subMenuName, $url, $displayForCurrentUser, $order = 50) { + if ($displayForCurrentUser) { + if (!isset($this->menu[$menuName]) || empty($subMenuName)) { + $this->menu[$menuName]['_url'] = $url; + $this->menu[$menuName]['_order'] = $order; + $this->menu[$menuName]['_name'] = $menuName; + $this->menu[$menuName]['_hasSubmenu'] = false; + } + if (!empty($subMenuName)) { + $this->menu[$menuName][$subMenuName]['_url'] = $url; + $this->menu[$menuName][$subMenuName]['_order'] = $order; + $this->menu[$menuName][$subMenuName]['_name'] = $subMenuName; + $this->menu[$menuName]['_hasSubmenu'] = true; + } + } + } + + /** * Builds the menu from the $this->menuEntries variable. * */ private function buildMenu() { foreach ($this->menuEntries as $menuEntry) { - $menuName = $menuEntry[0]; - $subMenuName = $menuEntry[1]; - - if ($menuEntry[3]) { - if (!isset($this->menu[$menuName]) || empty($subMenuName)) { - $this->menu[$menuName]['_url'] = $menuEntry[2]; - $this->menu[$menuName]['_order'] = $menuEntry[4]; - $this->menu[$menuName]['_name'] = $menuName; - $this->menu[$menuName]['_hasSubmenu'] = false; - } - if (!empty($subMenuName)) { - $this->menu[$menuName][$subMenuName]['_url'] = $menuEntry[2]; - $this->menu[$menuName][$subMenuName]['_order'] = $menuEntry[4]; - $this->menu[$menuName][$subMenuName]['_name'] = $subMenuName; - $this->menu[$menuName]['_hasSubmenu'] = true; - } - } + $this->buildMenuItem($menuEntry[0], $menuEntry[1], $menuEntry[2], $menuEntry[3], $menuEntry[4]); } } @@ -105,7 +109,7 @@ abstract class Piwik_Menu_Abstract { $subMenuToEdit = $edit[1]; $newUrl = $edit[2]; if (!isset($this->menu[$mainMenuToEdit][$subMenuToEdit])) { - $this->add($mainMenuToEdit, $subMenuToEdit, $newUrl, true); + $this->buildMenuItem($mainMenuToEdit, $subMenuToEdit, $newUrl, true); } else { $this->menu[$mainMenuToEdit][$subMenuToEdit]['_url'] = $newUrl; } |