summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2010-12-17 22:19:46 -0800
committerBharat Mediratta <bharat@menalto.com>2010-12-17 22:19:46 -0800
commitdbb9b8b1c8ee5395a65b6329c793e7a2c398ef00 (patch)
tree7e37f4a2482465d45c351787b8e524a5aef61c71
parente60edcdeba577e8cdbdbbc700cb3dfe9d0dd9443 (diff)
Sort the Admin > Settings menu instead of relying on module activation order.
Requires making Menu::get() return a reference. Fixes #1545.
-rw-r--r--modules/gallery/helpers/gallery_event.php3
-rw-r--r--modules/gallery/libraries/Admin_View.php4
-rw-r--r--modules/gallery/libraries/Menu.php5
3 files changed, 10 insertions, 2 deletions
diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php
index b59bb9b9..cbb939bb 100644
--- a/modules/gallery/helpers/gallery_event.php
+++ b/modules/gallery/helpers/gallery_event.php
@@ -371,6 +371,9 @@ class gallery_event_Core {
->id("admin_menu")
->label(t("Admin")));
module::event("admin_menu", $admin_menu, $theme);
+
+ $settings_menu = $admin_menu->get("settings_menu");
+ sort($settings_menu->elements);
}
}
}
diff --git a/modules/gallery/libraries/Admin_View.php b/modules/gallery/libraries/Admin_View.php
index 74ed4fb3..11f8ad14 100644
--- a/modules/gallery/libraries/Admin_View.php
+++ b/modules/gallery/libraries/Admin_View.php
@@ -44,6 +44,10 @@ class Admin_View_Core extends Gallery_View {
public function admin_menu() {
$menu = Menu::factory("root");
module::event("admin_menu", $menu, $this);
+
+ $settings_menu = $menu->get("settings_menu");
+ sort($settings_menu->elements);
+
return $menu->render();
}
diff --git a/modules/gallery/libraries/Menu.php b/modules/gallery/libraries/Menu.php
index 3ad6ebef..58852a72 100644
--- a/modules/gallery/libraries/Menu.php
+++ b/modules/gallery/libraries/Menu.php
@@ -223,12 +223,13 @@ class Menu_Core extends Menu_Element {
/**
* Retrieve a Menu_Element by id
*/
- public function get($id) {
+ public function &get($id) {
if (array_key_exists($id, $this->elements)) {
return $this->elements[$id];
}
- return null;
+ $null = null;
+ return $null;
}
public function is_empty() {