From f9514ecfb07795d0cd35c2a9b13bb786919e2972 Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Sat, 2 Aug 2014 03:22:33 +0000 Subject: [PATCH] Fix ability to set the an empty Parent Menu --- core/menu/menu_item_edit.php | 38 +++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/core/menu/menu_item_edit.php b/core/menu/menu_item_edit.php index 9eb46ca4a5..9a926cf1dd 100644 --- a/core/menu/menu_item_edit.php +++ b/core/menu/menu_item_edit.php @@ -127,23 +127,24 @@ else { $menu_language = $row['menu_language']; } + //get the highest menu item order + if (strlen($menu_item_parent_uuid) == 0) { + $sql = "SELECT menu_item_order FROM v_menu_items "; + $sql .= "where menu_uuid = '$menu_uuid' "; + $sql .= "and menu_item_parent_uuid = '$menu_item_parent_uuid' "; + $sql .= "order by menu_item_order desc "; + $sql .= "limit 1 "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); + foreach ($result as &$row) { + $highest_menu_item_order = $row['menu_item_order']; + } + unset($prep_statement); + } + //add a menu item if ($action == "add" && permission_exists('menu_add')) { - if (strlen($menu_item_parent_uuid) == 0) { - $sql = "SELECT menu_item_order FROM v_menu_items "; - $sql .= "where menu_uuid = '$menu_uuid' "; - $sql .= "and menu_item_parent_uuid = '$menu_item_parent_uuid' "; - $sql .= "order by menu_item_order desc "; - $sql .= "limit 1 "; - $prep_statement = $db->prepare(check_sql($sql)); - $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $highest_menu_item_order = $row['menu_item_order']; - } - unset($prep_statement); - } - $menu_item_uuid = uuid(); $sql = "insert into v_menu_items "; $sql .= "("; @@ -194,7 +195,12 @@ else { $sql .= "menu_item_protected = '$menu_item_protected', "; if (strlen($menu_item_parent_uuid) == 0) { $sql .= "menu_item_parent_uuid = null, "; - $sql .= "menu_item_order = '$menu_item_order', "; + if (strlen($menu_item_order) > 0) { + $sql .= "menu_item_order = '$menu_item_order', "; + } + else { + $sql .= "menu_item_order = '$highest_menu_item_order', " + } } else { $sql .= "menu_item_parent_uuid = '$menu_item_parent_uuid', ";