menu_rebuild

Versions
4.6 – 7
menu_rebuild()

(Re)populate the database tables used by various menu functions.

This function will clear and populate the {menu_router} table, add entries to {menu_links} for new router items, then remove stale items from {menu_links}. If called from update.php or install.php, it will also schedule a call to itself on the first real page load from menu_execute_active_handler(), because the maintenance page environment is different and leaves stale data in the menu tables.

Related topics

▾ 16 functions call menu_rebuild()

default_profile_tasks in profiles/default/default.profile
Perform any final installation tasks for this profile.
drupal_flush_all_caches in includes/common.inc
Flush all cached data on the site.
example_profile_tasks in developer/example.profile
Perform any final installation tasks for this profile.
menu_enable in modules/menu/menu.module
Implementation of hook_enable()
menu_execute_active_handler in includes/menu.inc
Execute the page callback associated with the current path
menu_uninstall in modules/menu/menu.install
Implementation of hook_uninstall().
node_type_delete_confirm_submit in modules/node/content_types.inc
Process content type delete confirm submissions.
node_type_form_submit in modules/node/content_types.inc
Implementation of hook_form_submit().
profile_admin_overview_submit in modules/profile/profile.admin.inc
Submit handler to update changed profile field weights and categories.
profile_field_form_submit in modules/profile/profile.admin.inc
Process profile_field_form submissions.
system_modules_submit in modules/system/system.admin.inc
Submit callback; handles modules form submission.
system_themes_form_submit in modules/system/system.admin.inc
Process system_themes_form form submissions.
system_update_6021 in modules/system/system.install
Migrate the menu items from the old menu system to the new menu_links table.
system_update_6029 in modules/system/system.install
Enable the dblog module on sites that upgrade, since otherwise watchdog logging will stop unexpectedly.
update_uninstall in modules/update/update.install
Implementation of hook_uninstall().
_locale_import_po in includes/locale.inc
Parses Gettext Portable Object file information and inserts into database

Code

includes/menu.inc, line 1690

<?php
function menu_rebuild() {
  variable_del('menu_rebuild_needed');
  $menu = menu_router_build(TRUE);
  _menu_navigation_links_rebuild($menu);
  // Clear the menu, page and block caches.
  menu_cache_clear_all();
  _menu_clear_page_cache();
  if (defined('MAINTENANCE_MODE')) {
    variable_set('menu_rebuild_needed', TRUE);
  }
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.