From 5b767b6443011031190ce2d7580dca2d6dc33e19 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Wed, 17 Jun 2009 06:42:31 -0700 Subject: Fix for ticket #366 Move the creation of the setting menu back to gallery_menu::admin, now that there is a mechanism to remove empty menu items --- modules/akismet/helpers/akismet_menu.php | 6 ------ modules/gallery/helpers/gallery_menu.php | 3 +++ modules/gallery/libraries/Admin_View.php | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 6 deletions(-) (limited to 'modules') diff --git a/modules/akismet/helpers/akismet_menu.php b/modules/akismet/helpers/akismet_menu.php index 2862fd40..ebd948d6 100644 --- a/modules/akismet/helpers/akismet_menu.php +++ b/modules/akismet/helpers/akismet_menu.php @@ -26,12 +26,6 @@ class akismet_menu_Core { ->url(url::site("admin/akismet"))); if (module::get_var("akismet", "api_key")) { - if (!$statistics_menu = $menu->get("statistics_menu")) { - $menu->append(Menu::factory("submenu") - ->id("statistics_menu") - ->label(t("Statistics"))); - } - $menu->get("statistics_menu") ->append(Menu::factory("link") ->id("akismet") diff --git a/modules/gallery/helpers/gallery_menu.php b/modules/gallery/helpers/gallery_menu.php index fb0234b1..a25832fe 100644 --- a/modules/gallery/helpers/gallery_menu.php +++ b/modules/gallery/helpers/gallery_menu.php @@ -149,6 +149,9 @@ class gallery_menu_Core { ->id("theme_options") ->label(t("Theme Options")) ->url(url::site("admin/theme_options")))) + ->append(Menu::factory("submenu") + ->id("statistics_menu") + ->label(t("Statistics"))) ->append(Menu::factory("link") ->id("maintenance") ->label(t("Maintenance")) diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php index 1f976871..11a96d75 100644 --- a/modules/gallery/libraries/Admin_View.php +++ b/modules/gallery/libraries/Admin_View.php @@ -69,9 +69,23 @@ class Admin_View_Core extends View { } } + $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); + } + } + } + } + + /** * Print out any site wide status information. */ -- cgit v1.2.3