diff options
| author | Tim Almdal <tnalmdal@shaw.ca> | 2009-06-17 21:14:36 +0800 |
|---|---|---|
| committer | <unostar@danalan.info> | 2009-06-18 16:29:39 +0800 |
| commit | e2863cf1c568b2e88d6c08fa67800a13cd4bd067 (patch) | |
| tree | 881e8b1cc11ea270c6bab079697697fe2d46dd7e /modules/gallery/libraries/Theme_View.php | |
| parent | 753ce3e02596c9dc1bc072707c214197088b4611 (diff) | |
Fix for ticket #366
1) Stored the menu element type in the menu element
2) Scanned the menu before display removing any empty sub menus.
Went with the removal approach because there will more users than developers
Signed-off-by: <unostar@danalan.info>
Diffstat (limited to 'modules/gallery/libraries/Theme_View.php')
| -rw-r--r-- | modules/gallery/libraries/Theme_View.php | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php index 31c2faa7..904a3c07 100644 --- a/modules/gallery/libraries/Theme_View.php +++ b/modules/gallery/libraries/Theme_View.php @@ -103,11 +103,25 @@ class Theme_View_Core extends View { call_user_func_array(array($class, "site"), array(&$menu, $this)); } } + + $this->_remove_empty_items($menu); } print $menu; } + private function _remove_empty_items($menu) { + foreach ($menu->elements as $target_id => $element) { + if ($element->type == "submenu") { + if (empty($element->elements)) { + $menu->remove($target_id); + } else { + $this->_remove_empty_items($element); + } + } + } + } + public function album_menu() { $this->_menu("album"); } |
