diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/menu/menu.admin.inc | 7 | ||||
-rw-r--r-- | modules/system/system.install | 5 |
2 files changed, 4 insertions, 8 deletions
diff --git a/modules/menu/menu.admin.inc b/modules/menu/menu.admin.inc index 91ecd3050..53972544d 100644 --- a/modules/menu/menu.admin.inc +++ b/modules/menu/menu.admin.inc @@ -95,7 +95,7 @@ function _menu_overview_tree_form($tree) { $operations = array(); $operations['edit'] = l(t('edit'), 'admin/build/menu/item/'. $item['mlid'] .'/edit'); // Only items created by the menu module can be deleted. - if ($item['module'] == 'menu') { + if ($item['module'] == 'menu' || $item['updated'] == 1) { $operations['delete'] = l(t('delete'), 'admin/build/menu/item/'. $item['mlid'] .'/delete'); } // Set the reset column. @@ -534,8 +534,9 @@ function menu_edit_menu_submit($form, &$form_state) { * Menu callback; Check access and present a confirm form for deleting a menu link. */ function menu_item_delete_page($item) { - // Links defined via hook_menu may not be deleted. - if ($item['module'] == 'system') { + // Links defined via hook_menu may not be deleted. Updated items are an + // exception, as they can be broken. + if ($item['module'] == 'system' && !$item['updated']) { drupal_access_denied(); return; } diff --git a/modules/system/system.install b/modules/system/system.install index 810d1a005..682f76a36 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -2327,11 +2327,6 @@ function system_update_6021() { } if ($_SESSION['system_update_6021'] >= $_SESSION['system_update_6021_max']) { - $result = db_query('SELECT * FROM {menu_links} WHERE updated = 1 AND has_children = 0 AND customized = 0 ORDER BY depth DESC'); - // Remove all items that are not customized. - while ($item = db_fetch_array($result)) { - _menu_delete_item($item, TRUE); - } if (!empty($_SESSION['menu_bogus_menus'])) { // Remove entries in bogus menus. This is secure because we deleted // every non-alpanumeric character from the menu name. |