Suite outil edition menus

This commit is contained in:
Laurent Destailleur 2007-06-07 22:52:47 +00:00
parent fac3fb3be8
commit 9449542711
4 changed files with 62 additions and 43 deletions

View File

@ -56,6 +56,11 @@ if (isset($_GET["action"]) && $_GET["action"] == 'update')
$sql.=" WHERE m.rowid = ".$_POST['menuId'];
$db->query($sql);
}
else
{
header("location: index.php?menu_handler=".$menu_handler);
exit;
}
if($_GET['return'])
{
@ -121,6 +126,16 @@ if (isset($_GET["action"]) && $_GET["action"] == 'add')
dolibarr_print_error($db);
}
if ($rowid == $_POST['menuId'])
{
$mesg='<div class="error">'.'FailedToInsertParentdoesNotExist sql='.$sql.'</div>';
$_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, `right`, target, user, `order`)";
$sql.=" VALUES(".$rowid.",'".$_POST['handler']."','".$_POST['type']."','".$_POST['mainmenu']."','".$_POST['leftmenu']."',".$_POST['menuId'].",'".$_POST['url']."','".$_POST['titre']."','".$_POST['level']."','".$_POST['langs']."','".$_POST['right']."','".$_POST['target']."',".$_POST['user'].",0)";
@ -128,7 +143,7 @@ if (isset($_GET["action"]) && $_GET["action"] == 'add')
$result=$db->query($sql);
if ($result > 0)
{
dolibarr_syslog("location: edit.php?action=edit&menuId=".$rowid);
dolibarr_syslog("location: edit.php?action=edit&menuId=".$rowid);
header("location: edit.php?action=edit&menuId=".$rowid);
exit;
}
@ -252,16 +267,11 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
print '<table class="border" width="100%">';
// Id
if($_GET['menuId'] == 0)
{
$parent_rowid = $_GET['menuId'];
$parent_level = -2;
}
else
$parent_rowid = $_GET['menuId'];
if ($_GET['menuId'])
{
$sql = "SELECT m.rowid, m.mainmenu, m.level, m.langs FROM ".MAIN_DB_PREFIX."menu as m WHERE m.rowid = ".$_GET['menuId'];
$res = $db->query($sql);
if ($res)
{
@ -279,7 +289,7 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
print '<tr><td><b>'.$langs->trans('MenuIdParent').'</b></td>';
//$menu_handler
//print '<td><input type="text" size="50" name="handler" value="all"></td>';
print '<td><input type="text" size="50" name="menuId" value="0"></td>';
print '<td><input type="text" size="50" name="menuId" value="'.$parent_rowid.'"></td>';
print '<td>'.$langs->trans('DetailMenuIdParent').'</td></tr>';
//Handler
@ -320,7 +330,7 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
print '<option value="_new"'.($menu->target=="_new"?' selected="true"':'').'>'.$langs->trans('_new').'</option>';
print '</select></td></td><td>'.$langs->trans('DetailTarget').'</td></tr>';
//Right
print '<tr><td>'.$langs->trans('Right').'</td><td><input type="text" size="50" name="right" value=""></td><td>'.$langs->trans('DetailRight').'</td></tr>';
print '<tr><td>'.$langs->trans('Rights').'</td><td><input type="text" size="50" name="right" value=""></td><td>'.$langs->trans('DetailRight').'</td></tr>';
//Mainmenu = group
//print '<tr><td>'.$langs->trans('Group').'</td><td><input type="text" size="50" name="mainmenu" value="'.$mainmenu.'"></td><td>'.$langs->trans('DetailMainmenu').'</td></tr>';
@ -488,7 +498,7 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
print '<option value="1"'.($menu->user==1?' selected="true"':'').'>'.$langs->trans('Externe').'</option>';
print '<option value="2"'.($menu->user==2?' selected="true"':'').'>Tous</option>';
print '</td>';
print '<td align="center"><input type="submit" class="button"></td>';
print '<td align="center"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>';
print '</form>';
@ -523,7 +533,7 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
print '<option value="1"'.($menu->user==1?' selected="true"':'').'>'.$langs->trans('Externe').'</option>';
print '<option value="2"'.($menu->user==2?' selected="true"':'').'>Tous</option>';
print '</td>';
print '<td align="center"><input type="submit" class="button""></td>';
print '<td align="center"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>';
print '</form>';

View File

@ -31,7 +31,9 @@ require("./pre.inc.php");
if (! $user->admin)
accessforbidden();
$dirtop = "../../includes/menus/barre_top";
$dirleft = "../../includes/menus/barre_left";
$menu_handler_top=$conf->global->MAIN_MENU_BARRETOP;
$menu_handler_left=$conf->global->MAIN_MENU_BARRELEFT;
@ -42,6 +44,9 @@ $menu_handler_left=eregi_replace('_frontoffice\.php','',$menu_handler_left);
$menu_handler=$menu_handler_left;
if ($_REQUEST["menu_handler"]) $menu_handler=$_REQUEST["menu_handler"];
/*
* Actions
*/
@ -178,6 +183,7 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
/*
* Affichage page
*/
$html=new Form($db);
llxHeader();
@ -209,18 +215,21 @@ if ($_GET["action"] == 'delete')
$obj = $db->fetch_object($result);
$html = new Form($db);
$html->form_confirm("index.php?menuId=".$_GET['menuId'],$langs->trans("DeleteMenu"),$langs->trans("ConfirmDeleteMenu",$obj->titre),"confirm_delete");
$html->form_confirm("index.php?menu_handler=".$menu_handler."&menuId=".$_GET['menuId'],$langs->trans("DeleteMenu"),$langs->trans("ConfirmDeleteMenu",$obj->titre),"confirm_delete");
print "<br />\n";
}
print '<form name="newmenu" class="nocellnopadding" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" action="change_menu_handler">';
print $langs->trans("MenuHandler").': ';
print $html->select_menu_families($menu_handler,'menu_handler',$dirleft);
print ' &nbsp; <input type="submit" class="button" value="'.$langs->trans("Refresh").'">';
print '</form>';
print '<br>';
print '<table class="border" width="100%">';
print '<tr>';
print '<td>'.$langs->trans("MenuHandler").': <b>'.$menu_handler.'</b></td>';
print '</tr>';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("TreeMenuPersonalized").'</td>';
print '</tr>';
@ -244,7 +253,7 @@ if ($conf->use_javascript)
*/
function affiche($tab,$rang)
{
global $rangLast, $idLast;
global $rangLast, $idLast, $menu_handler;
if ($conf->use_javascript)
{
@ -291,11 +300,12 @@ function affiche($tab,$rang)
}
print '<li id=li'.$tab[0].'>';
print '<strong><a href="edit.php?action=edit&menuId='.$tab[0].'">'.$tab[2].'</a></strong>';
print '<div class="menuEdit"><a href="edit.php?action=edit&menuId='.$tab[0].'"><img src="../../theme/auguria/img/edit.png" class="menuEdit" id="edit'.$tab[0].'" /></a></div>';
print '<div class="menuNew"><a href="edit.php?action=create&menuId='.$tab[0].'"><img src="../../theme/auguria/img/filenew.png" class="menuNew" id="new'.$tab[0].'" /></a></div>';
print '<div class="menuDel"><a href="index.php?action=delete&menuId='.$tab[0].'"><img src="../../theme/auguria/img/stcomm-1.png" class="menuDel" id="del'.$tab[0].'" /></a></div>';
print '<div class="menuFleche"><a href="index.php?action=up&menuId='.$tab[0].'">'.img_picto("Monter","1uparrow").'</a><a href="index.php?action=down&menuId='.$tab[0].'">'.img_picto("Descendre","1downarrow").'</a></div>';
print '<strong>';
print '<a href="edit.php?menu_handler='.$menu_handler.'&action=edit&menuId='.$tab[0].'">'.$tab[2].'</a></strong>';
print '<div class="menuEdit"><a href="edit.php?menu_handler='.$menu_handler.'&action=edit&menuId='.$tab[0].'"><img src="../../theme/auguria/img/edit.png" class="menuEdit" id="edit'.$tab[0].'" /></a></div>';
print '<div class="menuNew"><a href="edit.php?menu_handler='.$menu_handler.'&action=create&menuId='.$tab[0].'"><img src="../../theme/auguria/img/filenew.png" class="menuNew" id="new'.$tab[0].'" /></a></div>';
print '<div class="menuDel"><a href="index.php?menu_handler='.$menu_handler.'&action=delete&menuId='.$tab[0].'"><img src="../../theme/auguria/img/stcomm-1.png" class="menuDel" id="del'.$tab[0].'" /></a></div>';
print '<div class="menuFleche"><a href="index.php?menu_handler='.$menu_handler.'&action=up&menuId='.$tab[0].'">'.img_picto("Monter","1uparrow").'</a><a href="index.php?action=down&menuId='.$tab[0].'">'.img_picto("Descendre","1downarrow").'</a></div>';
print '</li>';
echo "\n";
@ -311,24 +321,23 @@ function affiche($tab,$rang)
*/
function recur($tab,$pere,$rang) {
//ballayage du tableau
for ($x=0;$x<count($tab);$x++) {
if ($rang > 10) return; // Protection contre boucle infinie
//ballayage du tableau
for ($x=0;$x<count($tab);$x++)
{
//si un élément a pour père : $pere
if ($tab[$x][1]==$pere) {
//si un élément a pour père : $pere
if ($tab[$x][1]==$pere) {
//on l'affiche avec le décallage courrant
affiche($tab[$x],$rang);
/*et on recherche ses fils
en rappelant la fonction recur()
(+ incrémentation du décallage)*/
recur($tab,$tab[$x][0],$rang+1);
}
}
//on l'affiche avec le décallage courrant
affiche($tab[$x],$rang);
/*et on recherche ses fils
en rappelant la fonction recur()
(+ incrémentation du décallage)*/
recur($tab,$tab[$x][0],$rang+1);
}
}
}
/*-------------------- MAIN -----------------------
@ -375,8 +384,6 @@ if ($res)
print '<script type="text/javascript">imgDel('.$idLast.')</script>';
print '</ul>';
print '</td>';

View File

@ -366,6 +366,7 @@ NoEMail=No EMail
Owner=Owner
DetectedVersion=Detected version
FollowingConstantsWillBeSubstituted=Following constants will be substitute with corresponding value.
Refresh=Refresh
# Countries
CountryFR=France
CountryBE=Belgium

View File

@ -370,6 +370,7 @@ NoEMail=Pas d'email
Owner=Propriétaire
DetectedVersion=Version détectée
FollowingConstantsWillBeSubstituted=Les constantes suivantes seront substituées par leur valeur correspondante.
Refresh=Rafraichir
# Countries
CountryFR=France
CountryBE=Belgique