diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index 0907032c30f..a7f4ce86341 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -151,47 +151,31 @@ if (isset($_GET["action"]) && $_GET["action"] == 'add') $_GET["action"] = 'create'; $error++; } - if (! $error) - { - $sql = "SELECT max(m.rowid) as maxId FROM ".MAIN_DB_PREFIX."menu as m"; - $result = $db->query($sql); - $obj = $db->fetch_object($result); - $rowid = $obj->maxId + 1; - - // On prend le max de toutes celles qui auront le meme pere fk_menu - $sql = "SELECT max(m.position) as maxOrder FROM ".MAIN_DB_PREFIX."menu as m WHERE m.fk_menu = ".$_POST['menuId']; - $result = $db->query($sql); - $obj = $db->fetch_object($result); - if ($obj) $position = $obj->maxOrder + 1; - else - { - dolibarr_print_error($db); - } - - if ($rowid == $_POST['menuId']) - { - $mesg='
'.'FailedToInsertParentdoesNotExist sql='.$sql.'
'; - $_GET["action"] = 'create'; - $error++; - } - } if (! $error) - { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."menu(rowid,menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, user, position)"; - $sql.=" VALUES(".$rowid.",'".$_POST['menu_handler']."','".$_POST['type']."','".$_POST['mainmenu']."','".$_POST['leftmenu']."',".$_POST['menuId'].",'".$_POST['url']."','".$_POST['titre']."','".$_POST['level']."','".$_POST['langs']."','".$_POST['perms']."','".$_POST['target']."',".$_POST['user'].", ".$position.")"; - - dolibarr_syslog("edit: insert menu entry sql=".$sql); - $result=$db->query($sql); + { + $menu = new Menubase($db); + $menu->fk_menu=$_POST['menuId']; + $menu->menu_handler=$_POST['menu_handler']; + $menu->type=$_POST['type']; + $menu->titre=$_POST['titre']; + $menu->leftmenu=$_POST['leftmenu']; + $menu->url=$_POST['url']; + $menu->langs=$_POST['langs']; + $menu->position=$_POST['position']; + $menu->perms=$_POST['perms']; + $menu->target=$_POST['target']; + $menu->user=$_POST['user']; + $result=$menu->create($user); if ($result > 0) { - header("Location: ".DOL_URL_ROOT."/admin/menus/index.php"); + header("Location: ".DOL_URL_ROOT."/admin/menus/index.php?menu_handler=".$_POST['menu_handler']); exit; } else { - $mesg='
Error '.$db->lasterror().' sql='.$sql.'
'; $_GET["action"] = 'create'; + $mesg='
'.$menu->error.'
'; } } } @@ -358,23 +342,23 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create') print ''.$langs->trans('Type').''; print ''; // print ''; print ''.$langs->trans('DetailType').''; //Titre - print ''.$langs->trans('Title').''.$langs->trans('DetailTitre').''; + print ''.$langs->trans('Title').''.$langs->trans('DetailTitre').''; //Langs print ''.$langs->trans('LangFile').''.$langs->trans('DetailLangs').''; //Position - print ''.$langs->trans('Position').''.$langs->trans('DetailPosition').''; + print ''.$langs->trans('Position').''.$langs->trans('DetailPosition').''; //URL - print ''.$langs->trans('URL').''.$langs->trans('DetailUrl').''; + print ''.$langs->trans('URL').''.$langs->trans('DetailUrl').''; //Target print ''.$langs->trans('Target').''.$langs->trans('DetailTarget').''; //Perms - print ''.$langs->trans('Rights').''.$langs->trans('DetailRight').''; + print ''.$langs->trans('Rights').''.$langs->trans('DetailRight').''; // Boutons print '';