summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-06-17 06:42:31 -0700
committerTim Almdal <tnalmdal@shaw.ca>2009-06-17 06:42:31 -0700
commit5b767b6443011031190ce2d7580dca2d6dc33e19 (patch)
tree4420be728dc57ea2d356038c2a972ae4e594ba0d
parentfbefdd55564d2c14e0a4602784abcc51f0279edf (diff)
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
-rw-r--r--modules/akismet/helpers/akismet_menu.php6
-rw-r--r--modules/gallery/helpers/gallery_menu.php3
-rw-r--r--modules/gallery/libraries/Admin_View.php14
3 files changed, 17 insertions, 6 deletions
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.
*/