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 '| ';
|