From 68bb7a3c14a1c0e19cc4583528900b7ef7d14336 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 12 Jan 2008 16:14:14 +0000 Subject: [PATCH] Fix: Debuggage editeur de menu --- htdocs/admin/menus/edit.php | 91 ++++++++++++------- htdocs/admin/menus/index.php | 38 ++++---- .../menus/barre_top/auguria_backoffice.php | 2 +- .../menus/barre_top/auguria_frontoffice.php | 2 +- .../menus/barre_top/eldy_backoffice.php | 2 +- .../menus/barre_top/eldy_frontoffice.php | 2 +- htdocs/includes/menus/barre_top/empty.php | 2 +- htdocs/includes/menus/barre_top/rodolphe.php | 2 +- htdocs/langs/en_US/admin.lang | 1 + htdocs/langs/fr_FR/admin.lang | 1 + htdocs/lib/menubase.class.php | 69 +++++++------- mysql/migration/2.2.0-2.4.0.sql | 2 + mysql/tables/llx_menu.sql | 4 +- 13 files changed, 124 insertions(+), 94 deletions(-) diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index bb2c5dfba7a..b892d23cb8f 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -62,14 +62,31 @@ if (isset($_GET["action"]) && $_GET["action"] == 'update') { if (! $_POST['cancel']) { - - $sql = "UPDATE ".MAIN_DB_PREFIX."menu as m"; - $sql.=" SET m.titre = '".$_POST['titre']."', m.leftmenu = '".$_POST['leftmenu']."', m.url = '".$_POST['url']."', m.langs = '".$_POST['langs']."', m.right = '".$_POST['right']."',m.target = '".$_POST['target']."', m.user = ".$_POST['user']; - $sql.=" WHERE m.rowid = ".$_POST['menuId']; - $resql=$db->query($sql); - if ($resql > 0) + $menu = new Menubase($db); + $result=$menu->fetch($_POST['menuId']); + if ($result > 0) { - $mesg='
'.$langs->trans("RecordModifiedSuccessfully").'
'; + $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->update($user); + if ($result > 0) + { + $mesg='
'.$langs->trans("RecordModifiedSuccessfully").'
'; + } + else + { + $mesg='
'.$menu->error.'
'; + } + } + else + { + $mesg='
'.$menu->error.'
'; } $_GET["menuId"]=$_POST['menuId']; $_GET["action"]="edit"; @@ -138,14 +155,14 @@ if (isset($_GET["action"]) && $_GET["action"] == 'add') { $sql = "SELECT max(m.rowid) as maxId FROM ".MAIN_DB_PREFIX."menu as m"; $result = $db->query($sql); - $lastMenu = $db->fetch_object($result); - $rowid = $lastMenu->maxId + 1; + $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.order) as maxOrder FROM ".MAIN_DB_PREFIX."menu as m WHERE m.fk_menu = ".$_POST['menuId']; + $sql = "SELECT max(m.position) as maxOrder FROM ".MAIN_DB_PREFIX."menu as m WHERE m.fk_menu = ".$_POST['menuId']; $result = $db->query($sql); - $lastMenu = $db->fetch_object($result); - if ($lastMenu) $order = $lastMenu->maxOrder + 1; + $obj = $db->fetch_object($result); + if ($obj) $position = $obj->maxOrder + 1; else { dolibarr_print_error($db); @@ -161,8 +178,8 @@ if (isset($_GET["action"]) && $_GET["action"] == 'add') if (! $error) { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."menu(rowid,menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, `right`, target, user, `order`)"; - $sql.=" VALUES(".$rowid.",'".$_POST['menu_handler']."','".$_POST['type']."','".$_POST['mainmenu']."','".$_POST['leftmenu']."',".$_POST['menuId'].",'".$_POST['url']."','".$_POST['titre']."','".$_POST['level']."','".$_POST['langs']."','".$_POST['right']."','".$_POST['target']."',".$_POST['user'].",0)"; + $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); @@ -321,13 +338,22 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create') print ''; print ''.$langs->trans('DetailMenuIdParent').''; - //Handler + // Handler print ''.$langs->trans('MenuHandler').''; print ''; print $htmladmin->select_menu_families($menu_handler,'menu_handler',$dirleft); print ''; print ''.$langs->trans('DetailMenuHandler').''; + //User + print ''.$langs->trans('MenuForUsers').''; + print ''; + print ''.$langs->trans('DetailUser').''; + // Type print ''.$langs->trans('Type').''; print ''; // print ''; print ''.$langs->trans('DetailType').''; - //User - print ''.$langs->trans('MenuForUsers').''; - print ''; - print ''.$langs->trans('DetailUser').''; + //Titre print ''.$langs->trans('Title').''.$langs->trans('DetailTitre').''; + //Langs print ''.$langs->trans('LangFile').''.$langs->trans('DetailLangs').''; + + //Position + print ''.$langs->trans('Position').''.$langs->trans('DetailPosition').''; + //URL print ''.$langs->trans('URL').''.$langs->trans('DetailUrl').''; + //Target print ''.$langs->trans('Target').''.$langs->trans('DetailTarget').''; - //Right - print ''.$langs->trans('Rights').''.$langs->trans('DetailRight').''; + //Perms + print ''.$langs->trans('Rights').''.$langs->trans('DetailRight').''; // Boutons print ''; @@ -395,24 +420,28 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit') // Handler print ''.$langs->trans('MenuHandler').''.$menu->menu_handler.''.$langs->trans('DetailMenuHandler').''; - // user + // Type + print ''.$langs->trans('Type').''.$menu->type.''.$langs->trans('DetailType').''; + + // User print ''.$langs->trans('MenuForUsers').''.$langs->trans('DetailUser').''; - // Type - print ''.$langs->trans('Type').''.$menu->type.''.$langs->trans('DetailType').''; - // Niveau //print ''.$langs->trans('Level').''.$menu->level.''.$langs->trans('DetailLevel').''; // Titre print ''.$langs->trans('Title').''.$langs->trans('DetailTitre').''; + // Langs print ''.$langs->trans('LangFile').''.$langs->trans('DetailLangs').''; + // Position + print ''.$langs->trans('Position').''.$langs->trans('DetailPosition').''; + // Url print ''.$langs->trans('URL').''.$langs->trans('DetailUrl').''; @@ -422,8 +451,8 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit') print ''; print ''.$langs->trans('DetailTarget').''; - // Right - print ''.$langs->trans('Rights').''.$langs->trans('DetailRight').''; + // Perms + print ''.$langs->trans('Rights').''.$langs->trans('DetailRight').''; // Bouton print ''; diff --git a/htdocs/admin/menus/index.php b/htdocs/admin/menus/index.php index ae2d2a54de6..068e00389a6 100644 --- a/htdocs/admin/menus/index.php +++ b/htdocs/admin/menus/index.php @@ -58,44 +58,44 @@ if ($_REQUEST["menu_handler"]) $menu_handler=$_REQUEST["menu_handler"]; if (isset($_GET["action"]) && $_GET["action"] == 'up') { - $sql = "SELECT m.rowid, m.order FROM ".MAIN_DB_PREFIX."menu as m"; + $sql = "SELECT m.rowid, m.position FROM ".MAIN_DB_PREFIX."menu as m"; $sql.= " WHERE m.rowid = ".$_GET["menuId"]; $result = $db->query($sql); - $num = $db->num_rows(); + $num = $db->num_rows($result); $i = 0; while($i < $num) { $obj = $db->fetch_object($result); $precedent['rowid'] = $obj->rowid; - $precedent['order'] = $obj->order; + $precedent['order'] = $obj->position; $i++; } // Menu top - $sql = "SELECT m.rowid, m.order FROM ".MAIN_DB_PREFIX."menu as m"; - $sql.= " WHERE m.order = ".($precedent['order'] - 1)." AND m.type = 'top'"; + $sql = "SELECT m.rowid, m.position FROM ".MAIN_DB_PREFIX."menu as m"; + $sql.= " WHERE m.position = ".($precedent['order'] - 1)." AND m.type = 'top'"; $sql.= " AND menu_handler='".$menu_handler_top."'"; $result = $db->query($sql); - $num = $db->num_rows(); + $num = $db->num_rows($result); $i = 0; while($i < $num) { $obj = $db->fetch_object($result); $suivant['rowid'] = $obj->rowid; - $suivant['order'] = $obj->order; + $suivant['order'] = $obj->position; $i++; } $sql = "UPDATE ".MAIN_DB_PREFIX."menu as m"; - $sql.= " SET m.order = ".$suivant['order']; + $sql.= " SET m.position = ".$suivant['order']; $sql.= " WHERE m.rowid = ".$precedent['rowid'].""; // Monte celui select $db->query($sql); $sql = "UPDATE ".MAIN_DB_PREFIX."menu as m"; - $sql.= " SET m.order = ".$precedent['order']; + $sql.= " SET m.position = ".$precedent['order']; $sql.= " WHERE m.rowid = ".$suivant['rowid'].""; // Descend celui du dessus $db->query($sql); } @@ -103,39 +103,39 @@ if (isset($_GET["action"]) && $_GET["action"] == 'up') if (isset($_GET["action"]) && $_GET["action"] == 'down') { - $sql = "SELECT m.rowid, m.order FROM ".MAIN_DB_PREFIX."menu as m WHERE m.rowid = ".$_GET["menuId"]; + $sql = "SELECT m.rowid, m.position FROM ".MAIN_DB_PREFIX."menu as m WHERE m.rowid = ".$_GET["menuId"]; $result = $db->query($sql); - $num = $db->num_rows(); + $num = $db->num_rows($result); $i = 0; while($i < $num) { $obj = $db->fetch_object($result); $precedent['rowid'] = $obj->rowid; - $precedent['order'] = $obj->order; + $precedent['order'] = $obj->position; $i++; } - $sql = "SELECT m.rowid, m.order"; + $sql = "SELECT m.rowid, m.position"; $sql.= " FROM ".MAIN_DB_PREFIX."menu as m"; - $sql.= " WHERE m.order = ".($precedent['order'] + 1)." AND type='top'"; + $sql.= " WHERE m.position = ".($precedent['order'] + 1)." AND type='top'"; $result = $db->query($sql); - $num = $db->num_rows(); + $num = $db->num_rows($result); $i = 0; while($i < $num) { $obj = $db->fetch_object($result); $suivant['rowid'] = $obj->rowid; - $suivant['order'] = $obj->order; + $suivant['order'] = $obj->position; $i++; } - $sql = "UPDATE ".MAIN_DB_PREFIX."menu as m SET m.order = ".$suivant['order']." WHERE m.rowid = ".$precedent['rowid'].""; // Monte celui select + $sql = "UPDATE ".MAIN_DB_PREFIX."menu as m SET m.position = ".$suivant['order']." WHERE m.rowid = ".$precedent['rowid'].""; // Monte celui select $db->query($sql); - $sql = "UPDATE ".MAIN_DB_PREFIX."menu as m SET m.order = ".$precedent['order']." WHERE m.rowid = ".$suivant['rowid'].""; // Descend celui du dessus + $sql = "UPDATE ".MAIN_DB_PREFIX."menu as m SET m.position = ".$precedent['order']." WHERE m.rowid = ".$suivant['rowid'].""; // Descend celui du dessus $db->query($sql); } @@ -277,7 +277,7 @@ if ($conf->use_javascript_ajax) $sql = "SELECT m.rowid, m.fk_menu, m.titre, m.langs"; $sql.= " FROM ".MAIN_DB_PREFIX."menu as m"; $sql.= " WHERE menu_handler='".$menu_handler."'"; - $sql.= " ORDER BY m.order, m.rowid"; + $sql.= " ORDER BY m.position, m.rowid"; $res = $db->query($sql); if ($res) diff --git a/htdocs/includes/menus/barre_top/auguria_backoffice.php b/htdocs/includes/menus/barre_top/auguria_backoffice.php index 0e331139e74..914c21dea1a 100644 --- a/htdocs/includes/menus/barre_top/auguria_backoffice.php +++ b/htdocs/includes/menus/barre_top/auguria_backoffice.php @@ -86,7 +86,7 @@ class MenuTop { $menuArbo = new Menubase($this->db,'auguria','top'); - $tabMenu = $menuArbo->menutopCharger(0,$_SESSION['mainmenu']); + $tabMenu = $menuArbo->menutopCharger(0,$_SESSION['mainmenu'], 'auguria'); print '