1.20.x menu.module | menu_reset_item($link) |
Reset a system-defined menu link.
File
- modules/
menu/ menu.module, line 475 - Allows administrators to customize the site's 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;
}