From a35fb53e7209614421c6fce51b6f468d13b99312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Hojtsy?= <gabor@hojtsy.hu> Date: Thu, 29 Nov 2007 12:02:06 +0000 Subject: [PATCH] #194585 by chx: some duplicate menu items appeared through the menu updates --- modules/system/system.install | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/modules/system/system.install b/modules/system/system.install index 5e21c21ba22e..d8febe019404 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -2245,10 +2245,7 @@ function system_update_6021() { foreach ($menus as $menu) { db_query("INSERT INTO {menu_custom} (menu_name, title, description) VALUES ('%s', '%s', '%s')", $menu); } - menu_rebuild(); $_SESSION['system_update_6021'] = 0; - // force page reload. - return $ret; } $limit = 50; @@ -2301,15 +2298,9 @@ function system_update_6021() { } $item['updated'] = TRUE; // Save the link. - if ($existing_item = db_fetch_array(db_query("SELECT mlid, menu_name FROM {menu_links} WHERE link_path = '%s' AND plid = '%s' AND link_title = '%s' AND menu_name = '%s'", $item['link_path'], $item['plid'], $item['link_title'], $item['menu_name']))) { - $_SESSION['menu_item_map'][$item['mid']] = $existing_item; - } - else { - $item['router_path'] = ''; - menu_link_save($item); - $_SESSION['menu_item_map'][$item['mid']] = array('mlid' => $item['mlid'], 'menu_name' => $item['menu_name']); - } - + $item['router_path'] = ''; + menu_link_save($item); + $_SESSION['menu_item_map'][$item['mid']] = array('mlid' => $item['mlid'], 'menu_name' => $item['menu_name']); } elseif (!isset($_SESSION['menu_menu_map'][$item['mid']])) { $item['menu_name'] = 'menu-'. preg_replace('/[^a-zA-Z0-9]/', '-', strtolower($item['title'])); @@ -2362,8 +2353,14 @@ function system_update_6021() { $ret[] = array('success' => TRUE, 'query' => t('Relocated @num existing items to the new menu system.', array('@num' => $_SESSION['system_update_6021']))); $ret[] = update_sql("DROP TABLE {menu}"); unset($_SESSION['system_update_6021'], $_SESSION['system_update_6021_max'], $_SESSION['menu_menu_map'], $_SESSION['menu_item_map'], $_SESSION['menu_bogus_menus']); - // Create the menu overview links - also calls menu_rebuild(). - module_invoke('menu', 'enable'); + // Create the menu overview links - also calls menu_rebuild(). If menu is + // disabled, then just call menu_rebuild. + if (function_exists('menu_enable')) { + menu_enable(); + } + else { + menu_rebuild(); + } $ret['#finished'] = 1; } else { -- GitLab