function menu_reset_item
7.x menu.module | menu_reset_item( |
6.x menu.module | menu_reset_item($item) |
Reset a system-defined menu link.
2 calls to menu_reset_item()
- menu_delete_menu_confirm_submit in drupal-7.x/
modules/ menu/ menu.admin.inc - Delete a custom menu and all links in it.
- menu_reset_item_confirm_submit in drupal-7.x/
modules/ menu/ menu.admin.inc - Process menu reset item form submissions.
File
- drupal-7.x/
modules/ menu/ menu.module, line 448 - Allows administrators to customize the site's navigation menus.
Code
function menu_reset_item($link) {
// To reset the link to its original values, we need to retrieve its
// definition from hook_menu(). Otherwise, for example, the link's menu would
// not be reset, because properties like the original 'menu_name' are not
// stored anywhere else. Since resetting a link happens rarely and this is a
// one-time operation, retrieving the full menu router does no harm.
$menu = menu_get_router();
$router_item = $menu[$link['router_path']];
$new_link = _menu_link_build($router_item);
// Merge existing menu link's ID and 'has_children' property.
foreach (array('mlid', 'has_children') as $key) {
$new_link[$key] = $link[$key];
}
menu_link_save($new_link);
return $new_link;
}