diff options
author | Dries Buytaert <dries@buytaert.net> | 2007-06-06 06:26:15 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2007-06-06 06:26:15 +0000 |
commit | cd0c56481de5d50582f9a9ac09670cf97b8cb290 (patch) | |
tree | 6fa609ce3c3f7d48205fc7a83192737b46d8e7d3 | |
parent | 722f8faae97f17274598b28952b15a9e0af96ed4 (diff) | |
download | brdo-cd0c56481de5d50582f9a9ac09670cf97b8cb290.tar.gz brdo-cd0c56481de5d50582f9a9ac09670cf97b8cb290.tar.bz2 |
- Patch #149562 by chx: avoid duplicate menu items.
-rw-r--r-- | includes/menu.inc | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/includes/menu.inc b/includes/menu.inc index 888715548..c87ffb124 100644 --- a/includes/menu.inc +++ b/includes/menu.inc @@ -1343,21 +1343,23 @@ function menu_link_save(&$item) { else { $item['plid'] = $parent['mlid']; } - db_query("INSERT INTO {menu_links} ( - menu_name, plid, link_path, - hidden, external, has_children, - expanded, weight, - module, link_title, options) VALUES ( - '%s', %d, '%s', - %d, %d, %d, - %d, %d, - '%s', '%s', '%s')", - $item['menu_name'], $item['plid'], $item['link_path'], - $item['hidden'], $item['_external'], $item['has_children'], - $item['expanded'], $item['weight'], - $item['module'], $item['link_title'], serialize($item['options'])); - $item['mlid'] = db_last_insert_id('menu_links', 'mlid'); + if (!$existing_item) { + db_query("INSERT INTO {menu_links} ( + menu_name, plid, link_path, + hidden, external, has_children, + expanded, weight, + module, link_title, options) VALUES ( + '%s', %d, '%s', + %d, %d, %d, + %d, %d, + '%s', '%s', '%s')", + $item['menu_name'], $item['plid'], $item['link_path'], + $item['hidden'], $item['_external'], $item['has_children'], + $item['expanded'], $item['weight'], + $item['module'], $item['link_title'], serialize($item['options'])); + $item['mlid'] = db_last_insert_id('menu_links', 'mlid'); + } if (!$item['plid']) { $item['p1'] = $item['mlid']; |