summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/menu.inc30
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'];