function _menu_delete_item
_menu_delete_item($item, $force = FALSE)
Deletes a single menu link.
Parameters
$item: Item to be deleted.
$force: Forces deletion. Internal use only, setting to TRUE is discouraged.
See also
Related topics
File
- includes/menu.inc, line 3078
- API for the Drupal menu system.
Code
function _menu_delete_item($item, $force = FALSE) { $item = is_object($item) ? get_object_vars($item) : $item; if ($item && ($item['module'] != 'system' || $item['updated'] || $force)) { // Children get re-attached to the item's parent. if ($item['has_children']) { $result = db_query("SELECT mlid FROM {menu_links} WHERE plid = :plid", array(':plid' => $item['mlid'])); foreach ($result as $m) { $child = menu_link_load($m->mlid); $child['plid'] = $item['plid']; menu_link_save($child); } } // Notify modules we are deleting the item. module_invoke_all('menu_link_delete', $item); db_delete('menu_links')->condition('mlid', $item['mlid'])->execute(); // Update the has_children status of the parent. _menu_update_parental_status($item); menu_cache_clear($item['menu_name']); _menu_clear_page_cache(); } }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/includes!menu.inc/function/_menu_delete_item/7.x