_menu_delete_item
- Versions
- 6 – 7
_menu_delete_item($item, $force = FALSE)
Helper function for menu_link_delete; deletes a single menu link.
Parameters
$item Item to be deleted.
$force Forces deletion. Internal use only, setting to TRUE is discouraged.
Related topics
Code
includes/menu.inc, line 1848
<?php
function _menu_delete_item($item, $force = FALSE) {
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 = %d", $item['mlid']);
while ($m = db_fetch_array($result)) {
$child = menu_link_load($m['mlid']);
$child['plid'] = $item['plid'];
menu_link_save($child);
}
}
db_query('DELETE FROM {menu_links} WHERE mlid = %d', $item['mlid']);
// Update the has_children status of the parent.
_menu_update_parental_status($item);
menu_cache_clear($item['menu_name']);
_menu_clear_page_cache();
}
}
?>Login or register to post comments 