summaryrefslogtreecommitdiff
path: root/modules/menu/menu.module
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2004-09-16 07:17:56 +0000
committerDries Buytaert <dries@buytaert.net>2004-09-16 07:17:56 +0000
commit5c7983c4deae55ad41b85ca99db54d3fce283fd9 (patch)
tree59801cd96a36c390586752c58d6cf5ba50c230ce /modules/menu/menu.module
parent6f0fd3aa55659f8bd6b023e8e82e990326c1b788 (diff)
downloadbrdo-5c7983c4deae55ad41b85ca99db54d3fce283fd9.tar.gz
brdo-5c7983c4deae55ad41b85ca99db54d3fce283fd9.tar.bz2
- Patch #8179 by JonBob: reintroduced menu caching.
Diffstat (limited to 'modules/menu/menu.module')
-rw-r--r--modules/menu/menu.module75
1 files changed, 38 insertions, 37 deletions
diff --git a/modules/menu/menu.module b/modules/menu/menu.module
index 916c31903..fb3c042fb 100644
--- a/modules/menu/menu.module
+++ b/modules/menu/menu.module
@@ -9,42 +9,45 @@
/**
* Implementation of hook_menu().
*/
-function menu_menu() {
+function menu_menu($may_cache) {
$items = array();
- $items[] = array('path' => 'admin/menu', 'title' => t('menus'),
- 'callback' => 'menu_overview',
- 'access' => user_access('administer menu'));
- $items[] = array('path' => 'admin/menu/item/edit', 'title' => t('edit menu item'),
- 'callback' => 'menu_edit_item',
- 'access' => user_access('administer menu'),
- 'type' => MENU_CALLBACK);
- $items[] = array('path' => 'admin/menu/item/reset', 'title' => t('reset menu item'),
- 'callback' => 'menu_reset_item',
- 'access' => user_access('administer menu'),
- 'type' => MENU_CALLBACK);
- $items[] = array('path' => 'admin/menu/item/disable', 'title' => t('disable menu item'),
- 'callback' => 'menu_disable_item',
- 'access' => user_access('administer menu'),
- 'type' => MENU_CALLBACK);
- $items[] = array('path' => 'admin/menu/item/delete', 'title' => t('delete menu item'),
- 'callback' => 'menu_delete_item',
- 'access' => user_access('administer menu'),
- 'type' => MENU_CALLBACK);
-
- $items[] = array('path' => 'admin/menu/list', 'title' => t('list'),
- 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10);
- $items[] = array('path' => 'admin/menu/menu/add', 'title' => t('add menu'),
- 'callback' => 'menu_add_menu',
- 'access' => user_access('administer menu'),
- 'type' => MENU_LOCAL_TASK);
- $items[] = array('path' => 'admin/menu/item/add', 'title' => t('add menu item'),
- 'callback' => 'menu_edit_item',
- 'access' => user_access('administer menu'),
- 'type' => MENU_LOCAL_TASK);
- $items[] = array('path' => 'admin/menu/reset', 'title' => t('reset menus'),
- 'callback' => 'menu_reset',
- 'access' => user_access('administer menu'),
- 'type' => MENU_LOCAL_TASK);
+
+ if ($may_cache) {
+ $items[] = array('path' => 'admin/menu', 'title' => t('menus'),
+ 'callback' => 'menu_overview',
+ 'access' => user_access('administer menu'));
+ $items[] = array('path' => 'admin/menu/item/edit', 'title' => t('edit menu item'),
+ 'callback' => 'menu_edit_item',
+ 'access' => user_access('administer menu'),
+ 'type' => MENU_CALLBACK);
+ $items[] = array('path' => 'admin/menu/item/reset', 'title' => t('reset menu item'),
+ 'callback' => 'menu_reset_item',
+ 'access' => user_access('administer menu'),
+ 'type' => MENU_CALLBACK);
+ $items[] = array('path' => 'admin/menu/item/disable', 'title' => t('disable menu item'),
+ 'callback' => 'menu_disable_item',
+ 'access' => user_access('administer menu'),
+ 'type' => MENU_CALLBACK);
+ $items[] = array('path' => 'admin/menu/item/delete', 'title' => t('delete menu item'),
+ 'callback' => 'menu_delete_item',
+ 'access' => user_access('administer menu'),
+ 'type' => MENU_CALLBACK);
+
+ $items[] = array('path' => 'admin/menu/list', 'title' => t('list'),
+ 'type' => MENU_DEFAULT_LOCAL_TASK, 'weight' => -10);
+ $items[] = array('path' => 'admin/menu/menu/add', 'title' => t('add menu'),
+ 'callback' => 'menu_add_menu',
+ 'access' => user_access('administer menu'),
+ 'type' => MENU_LOCAL_TASK);
+ $items[] = array('path' => 'admin/menu/item/add', 'title' => t('add menu item'),
+ 'callback' => 'menu_edit_item',
+ 'access' => user_access('administer menu'),
+ 'type' => MENU_LOCAL_TASK);
+ $items[] = array('path' => 'admin/menu/reset', 'title' => t('reset menus'),
+ 'callback' => 'menu_reset',
+ 'access' => user_access('administer menu'),
+ 'type' => MENU_LOCAL_TASK);
+ }
return $items;
}
@@ -334,8 +337,6 @@ function menu_edit_item_save($edit) {
drupal_set_message(t('Since a menu item %old already exists for %path, this new menu item was created as a shortcut to that location.', array('%old' => l('<em>'. $old_item['title'] .'</em>', 'admin/menu/item/edit/'. $old_mid), '%path' => '<em>'. $edit['path'] .'</em>')));
}
}
-
- menu_rebuild();
}
/**