aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/admin.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/admin.php')
-rw-r--r--engine/lib/admin.php10
1 files changed, 7 insertions, 3 deletions
diff --git a/engine/lib/admin.php b/engine/lib/admin.php
index be01a150c..b4a55877c 100644
--- a/engine/lib/admin.php
+++ b/engine/lib/admin.php
@@ -115,6 +115,8 @@ function elgg_admin_notice_exists($id) {
*
* The text of the menu item is obtained from elgg_echo(admin:$parent_id:$menu_id)
*
+ * This function handles registering the parent if it has not been registered.
+ *
* @param string $menu_id The Unique ID of section
* @param string $parent_id If a child section, the parent section id.
* @param int $weight The menu item weight
@@ -124,6 +126,11 @@ function elgg_admin_notice_exists($id) {
*/
function elgg_add_admin_menu_item($menu_id, $parent_id = NULL, $weight = 100) {
+ // make sure parent is registered
+ if ($parent_id && !elgg_is_menu_item_registered('page', $parent_id)) {
+ elgg_add_admin_menu_item($parent_id);
+ }
+
// in the admin section parents never have links
if ($parent_id) {
$href = "pg/admin/$parent_id/$menu_id";
@@ -199,9 +206,6 @@ function admin_init() {
elgg_add_admin_menu_item('simple', 'plugins', 10);
elgg_add_admin_menu_item('advanced', 'plugins', 20);
- // utilities
- elgg_add_admin_menu_item('utilities', null, 70);
-
// dashboard
elgg_register_menu_item('page', array(
'name' => 'dashboard',