New: L'ajout de menus personnalisés est possible

This commit is contained in:
Laurent Destailleur 2008-01-08 18:35:13 +00:00
parent 495f5de6ac
commit f022d27c76
18 changed files with 244 additions and 170 deletions

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> /* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
* Copyright (C) 2007 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2007-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -17,7 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* $Id$ * $Id$
* $Source$
*/ */
/** /**
@ -80,10 +79,12 @@ if (isset($_GET["action"]) && $_GET["action"] == 'add')
{ {
if ($_POST['cancel']) if ($_POST['cancel'])
{ {
header("location:index.php"); header("Location: ".DOL_URL_ROOT."/admin/menus/index.php");
exit; exit;
} }
$langs->load("errors");
$error=0; $error=0;
if (! $error && ! $_POST['handler']) if (! $error && ! $_POST['handler'])
{ {
@ -109,6 +110,12 @@ if (isset($_GET["action"]) && $_GET["action"] == 'add')
$_GET["action"] = 'create'; $_GET["action"] = 'create';
$error++; $error++;
} }
if (! $error && $_POST['menuId'] && $_POST['type'] == 'top')
{
$mesg='<div class="error">'.$langs->trans("ErrorTopMenuMustHaveAParentWithId0").'</div>';
$_GET["action"] = 'create';
$error++;
}
if (! $error) if (! $error)
{ {
$sql = "SELECT max(m.rowid) as maxId FROM ".MAIN_DB_PREFIX."menu as m"; $sql = "SELECT max(m.rowid) as maxId FROM ".MAIN_DB_PREFIX."menu as m";
@ -143,13 +150,12 @@ if (isset($_GET["action"]) && $_GET["action"] == 'add')
$result=$db->query($sql); $result=$db->query($sql);
if ($result > 0) if ($result > 0)
{ {
dolibarr_syslog("location: edit.php?action=edit&menuId=".$rowid); header("Location: ".DOL_URL_ROOT."/admin/menus/index.php");
header("location: edit.php?action=edit&menuId=".$rowid);
exit; exit;
} }
else else
{ {
$mesg='<div class="error">'.'FailedToInsert'.$db->lasterror().' sql='.$sql.'</div>'; $mesg='<div class="error">Error '.$db->lasterror().' sql='.$sql.'</div>';
$_GET["action"] = 'create'; $_GET["action"] = 'create';
} }
} }
@ -204,15 +210,17 @@ if (isset($_GET["action"]) && $_GET["action"] == 'del_const')
// Suppression // Suppression
if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes') if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
{ {
$this->db->begin();
$sql = "SELECT c.rowid, c.fk_constraint FROM ".MAIN_DB_PREFIX."menu_const as c WHERE c.fk_menu = ".$_GET['menuId']; $sql = "SELECT c.rowid, c.fk_constraint FROM ".MAIN_DB_PREFIX."menu_const as c WHERE c.fk_menu = ".$_GET['menuId'];
$res = $db->query($sql); $res = $db->query($sql);
if ($res) if ($res)
{ {
while ($obj = $db->fetch_object ($res)) while ($obj = $db->fetch_object($res))
{ {
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu_const WHERE rowid = ".$obj->rowid; $sql = "DELETE FROM ".MAIN_DB_PREFIX."menu_const WHERE rowid = ".$obj->rowid;
$db->query($sql); $result = $db->query($sql);
$sql = "SELECT count(rowid) as countId FROM ".MAIN_DB_PREFIX."menu_const WHERE fk_constraint = ".$obj->fk_constraint; $sql = "SELECT count(rowid) as countId FROM ".MAIN_DB_PREFIX."menu_const WHERE fk_constraint = ".$obj->fk_constraint;
$result = $db->query($sql); $result = $db->query($sql);
@ -224,9 +232,6 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
$db->query($sql); $db->query($sql);
} }
} }
} }
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu WHERE rowid = ".$_GET['menuId']; $sql = "DELETE FROM ".MAIN_DB_PREFIX."menu WHERE rowid = ".$_GET['menuId'];
@ -234,6 +239,8 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
if ($result == 0) if ($result == 0)
{ {
$this->db->commit();
llxHeader(); llxHeader();
print '<div class="ok">'.$langs->trans("MenuDeleted").'</div>'; print '<div class="ok">'.$langs->trans("MenuDeleted").'</div>';
llxFooter(); llxFooter();
@ -241,6 +248,8 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
} }
else else
{ {
$this->db->rollback();
$reload = 0; $reload = 0;
$_GET["action"]=''; $_GET["action"]='';
} }
@ -261,6 +270,7 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
print_titre($langs->trans("NewMenu"),'','setup'); print_titre($langs->trans("NewMenu"),'','setup');
if ($mesg) print $mesg; if ($mesg) print $mesg;
else print '<br>';
print '<form action="./edit.php?action=add&menuId='.$_GET['menuId'].'" method="post" name="formmenucreate">'; print '<form action="./edit.php?action=add&menuId='.$_GET['menuId'].'" method="post" name="formmenucreate">';
@ -287,16 +297,12 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
// MenuId Parent // MenuId Parent
print '<tr><td><b>'.$langs->trans('MenuIdParent').'</b></td>'; print '<tr><td><b>'.$langs->trans('MenuIdParent').'</b></td>';
//$menu_handler print '<td><input type="text" size="10" name="menuId" value="'.$parent_rowid.'"></td>';
//print '<td><input type="text" size="50" name="handler" value="all"></td>';
print '<td><input type="text" size="50" name="menuId" value="'.$parent_rowid.'"></td>';
print '<td>'.$langs->trans('DetailMenuIdParent').'</td></tr>'; print '<td>'.$langs->trans('DetailMenuIdParent').'</td></tr>';
//Handler //Handler
print '<tr><td><b>'.$langs->trans('MenuHandler').'</b></td>'; print '<tr><td><b>'.$langs->trans('MenuHandler').'</b></td>';
//$menu_handler print '<td><input type="text" size="30" name="handler" value="'.$menu_handler.'"></td>';
//print '<td><input type="text" size="50" name="handler" value="all"></td>';
print '<td><input type="text" size="50" name="handler" value="'.$menu_handler.'"></td>';
print '<td>'.$langs->trans('DetailMenuHandler').'</td></tr>'; print '<td>'.$langs->trans('DetailMenuHandler').'</td></tr>';
// Type // Type
@ -309,11 +315,11 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
// print '<input type="text" size="50" name="type" value="'.$type.'">'; // print '<input type="text" size="50" name="type" value="'.$type.'">';
print '</td><td>'.$langs->trans('DetailType').'</td></tr>'; print '</td><td>'.$langs->trans('DetailType').'</td></tr>';
//User //User
print '<tr><td><b>'.$langs->trans('User').'</b></td>'; print '<tr><td><b>'.$langs->trans('MenuForUsers').'</b></td>';
print '<td><select class="flat" name="user">'; print '<td><select class="flat" name="user">';
print '<option value="2" selected>'.$langs->trans("All").'</option>';
print '<option value="0">'.$langs->trans('Interne').'</option>'; print '<option value="0">'.$langs->trans('Interne').'</option>';
print '<option value="1">'.$langs->trans('Externe').'</option>'; print '<option value="1">'.$langs->trans('Externe').'</option>';
print '<option value="2" selected>Tous</option>';
print '</select></td>'; print '</select></td>';
print '<td>'.$langs->trans('DetailUser').'</td></tr>'; print '<td>'.$langs->trans('DetailUser').'</td></tr>';
//Level //Level
@ -323,7 +329,7 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
//URL //URL
print '<tr><td><b>'.$langs->trans('URL').'</b></td><td><input type="text" size="50" name="url" value=""></td><td>'.$langs->trans('DetailUrl').'</td></tr>'; print '<tr><td><b>'.$langs->trans('URL').'</b></td><td><input type="text" size="50" name="url" value=""></td><td>'.$langs->trans('DetailUrl').'</td></tr>';
//Langs //Langs
print '<tr><td>'.$langs->trans('Langs').'</td><td><input type="text" size="50" name="langs" value="'.$parent_langs.'"></td><td>'.$langs->trans('DetailLangs').'</td></tr>'; print '<tr><td>'.$langs->trans('LangFile').'</td><td><input type="text" size="50" name="langs" value="'.$parent_langs.'"></td><td>'.$langs->trans('DetailLangs').'</td></tr>';
//Target //Target
print '<tr><td>'.$langs->trans('Target').'</td><td><select class="flat" name="target">'; print '<tr><td>'.$langs->trans('Target').'</td><td><select class="flat" name="target">';
print '<option value=""'.($menu->target==""?' selected="true"':'').'>'.$langs->trans('').'</option>'; print '<option value=""'.($menu->target==""?' selected="true"':'').'>'.$langs->trans('').'</option>';
@ -338,9 +344,9 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
//print '<tr><td>'.$langs->trans('Leftmenu').'</td><td><input type="text" size="50" name="leftmenu" value=""></td><td>'.$langs->trans('DetailLeftmenu').'</td></tr>'; //print '<tr><td>'.$langs->trans('Leftmenu').'</td><td><input type="text" size="50" name="leftmenu" value=""></td><td>'.$langs->trans('DetailLeftmenu').'</td></tr>';
// Boutons // Boutons
print '<tr><td colspan="3" align="center"><input type="submit" class="button" name="save" value="Enregistrer">'; print '<tr><td colspan="3" align="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
print '&nbsp;'; print '&nbsp;';
print '<input type="submit" class="button" name="cancel" value="Annuler"></td></tr>'; print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>';
print '</table>'; print '</table>';
@ -351,6 +357,8 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
{ {
print_titre($langs->trans("ModifMenu"),'','setup'); print_titre($langs->trans("ModifMenu"),'','setup');
print '<br>';
print '<form action="./edit.php?action=update" method="post" name="formmenuedit">'; print '<form action="./edit.php?action=update" method="post" name="formmenuedit">';
print '<table class="border" width="100%">'; print '<table class="border" width="100%">';
@ -382,10 +390,10 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
print '<tr><td>'.$langs->trans('MenuHandler').'</td><td>'.$menu->menu_handler.'</td><td>'.$langs->trans('DetailMenuHandler').'</td></tr>'; print '<tr><td>'.$langs->trans('MenuHandler').'</td><td>'.$menu->menu_handler.'</td><td>'.$langs->trans('DetailMenuHandler').'</td></tr>';
// user // user
print '<tr><td>'.$langs->trans('User').'</td><td><select class="flat" name="user">'; print '<tr><td>'.$langs->trans('MenuForUsers').'</td><td><select class="flat" name="user">';
print '<option value="2"'.($menu->user==2?' selected="true"':'').'>'.$langs->trans("All").'</option>';
print '<option value="0"'.($menu->user==0?' selected="true"':'').'>'.$langs->trans('Interne').'</option>'; print '<option value="0"'.($menu->user==0?' selected="true"':'').'>'.$langs->trans('Interne').'</option>';
print '<option value="1"'.($menu->user==1?' selected="true"':'').'>'.$langs->trans('Externe').'</option>'; 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 '</select></td><td>'.$langs->trans('DetailUser').'</td></tr>'; print '</select></td><td>'.$langs->trans('DetailUser').'</td></tr>';
// Type // Type
@ -397,7 +405,7 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
// Titre // Titre
print '<tr><td>'.$langs->trans('Title').'</td><td><input type="text" size="70" name="titre" value="'.$menu->titre.'"></td><td>'.$langs->trans('DetailTitre').'</td></tr>'; print '<tr><td>'.$langs->trans('Title').'</td><td><input type="text" size="70" name="titre" value="'.$menu->titre.'"></td><td>'.$langs->trans('DetailTitre').'</td></tr>';
// Langs // Langs
print '<tr><td>'.$langs->trans('Langs').'</td><td><input type="text" size="70" name="langs" value="'.$menu->langs.'"></td><td>'.$langs->trans('DetailLangs').'</td></tr>'; print '<tr><td>'.$langs->trans('LangFile').'</td><td><input type="text" size="70" name="langs" value="'.$menu->langs.'"></td><td>'.$langs->trans('DetailLangs').'</td></tr>';
// Url // Url
print '<tr><td>'.$langs->trans('URL').'</td><td><input type="text" size="70" name="url" value="'.$menu->url.'"></td><td>'.$langs->trans('DetailUrl').'</td></tr>'; print '<tr><td>'.$langs->trans('URL').'</td><td><input type="text" size="70" name="url" value="'.$menu->url.'"></td><td>'.$langs->trans('DetailUrl').'</td></tr>';
@ -409,7 +417,7 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
print '</select></td></td><td>'.$langs->trans('DetailTarget').'</td></tr>'; print '</select></td></td><td>'.$langs->trans('DetailTarget').'</td></tr>';
// Right // Right
print '<tr><td>'.$langs->trans('Right').'</td><td><input type="text" size="70" name="right" value="'.$menu->right.'"></td><td>'.$langs->trans('DetailRight').'</td></tr>'; print '<tr><td>'.$langs->trans('Rights').'</td><td><input type="text" size="70" name="right" value="'.$menu->right.'"></td><td>'.$langs->trans('DetailRight').'</td></tr>';
// Leftmenu // Leftmenu
//print '<tr><td>'.$langs->trans('Leftmenu').'</td><td><input type="text" size="70" name="leftmenu" value="'.htmlentities($menu->leftmenu).'"></td><td>'.$langs->trans('DetailLeftmenu').'</td></tr>'; //print '<tr><td>'.$langs->trans('Leftmenu').'</td><td><input type="text" size="70" name="leftmenu" value="'.htmlentities($menu->leftmenu).'"></td><td>'.$langs->trans('DetailLeftmenu').'</td></tr>';
@ -417,16 +425,20 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
//print '<tr><td>'.$langs->trans('Group').'</td><td><input type="text" size="70" name="mainmenu" value="'.$menu->mainmenu.'"></td><td>'.$langs->trans('DetailMainmenu').'</td></tr>'; //print '<tr><td>'.$langs->trans('Group').'</td><td><input type="text" size="70" name="mainmenu" value="'.$menu->mainmenu.'"></td><td>'.$langs->trans('DetailMainmenu').'</td></tr>';
// Bouton // Bouton
print '<tr><td colspan="3" align="center"><input type="submit" class="button" name="save" value="Enregistrer">'; print '<tr><td colspan="3" align="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
print '&nbsp;'; print ' &nbsp; &nbsp; ';
print '<input type="submit" class="button" name="cancel" value="Annuler"></td></tr>'; print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>';
$i++; $i++;
} }
} }
print '</table>';
print '</form>'; print '</form>';
print '<br>';
/* /*
* Lignes de contraintes * Lignes de contraintes
*/ */
@ -478,7 +490,7 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
} }
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'.$langs->trans('Constraint').'</td>'; print '<td>'.$langs->trans('Constraints').'</td>';
print '<td width="250">'.$langs->trans('User').'</td>'; print '<td width="250">'.$langs->trans('User').'</td>';
print '<td width="16">&nbsp;</td>'; print '<td width="16">&nbsp;</td>';
print "</tr>\n"; print "</tr>\n";
@ -495,6 +507,7 @@ elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
print '<td>'; print '<td>';
print '<select name="user">'; print '<select name="user">';
print '<option value="0"'.($menu->user==0?' selected="true"':'').'>'.$langs->trans('Interne').'</option>'; print '<option value="0"'.($menu->user==0?' selected="true"':'').'>'.$langs->trans('Interne').'</option>';
print '<option value="0"'.($menu->user==0?' selected="true"':'').'>'.$langs->trans('Interne').'</option>';
print '<option value="1"'.($menu->user==1?' selected="true"':'').'>'.$langs->trans('Externe').'</option>'; 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 '<option value="2"'.($menu->user==2?' selected="true"':'').'>Tous</option>';
print '</td>'; print '</td>';

View File

@ -1,6 +1,6 @@
<?php <?php
/* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com> /* Copyright (C) 2007 Patrick Raguin <patrick.raguin@gmail.com>
* Copyright (C) 2007 Laurent Destailleur <eldy@users.sourceforge.net> * Copyright (C) 2007-2008 Laurent Destailleur <eldy@users.sourceforge.net>
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -17,7 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
* *
* $Id$ * $Id$
* $Source$
*/ */
/** /**
@ -30,6 +29,7 @@
require("./pre.inc.php"); require("./pre.inc.php");
$langs->load("other"); $langs->load("other");
$langs->load("admin");
if (! $user->admin) if (! $user->admin)
accessforbidden(); accessforbidden();
@ -37,6 +37,8 @@ if (! $user->admin)
$dirtop = "../../includes/menus/barre_top"; $dirtop = "../../includes/menus/barre_top";
$dirleft = "../../includes/menus/barre_left"; $dirleft = "../../includes/menus/barre_left";
$mesg=$_GET["mesg"];
$menu_handler_top=$conf->global->MAIN_MENU_BARRETOP; $menu_handler_top=$conf->global->MAIN_MENU_BARRETOP;
$menu_handler_left=$conf->global->MAIN_MENU_BARRELEFT; $menu_handler_left=$conf->global->MAIN_MENU_BARRELEFT;
$menu_handler_top=eregi_replace('_backoffice\.php','',$menu_handler_top); $menu_handler_top=eregi_replace('_backoffice\.php','',$menu_handler_top);
@ -139,11 +141,12 @@ if (isset($_GET["action"]) && $_GET["action"] == 'down')
if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes') if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
{ {
$db->begin();
$sql = "SELECT c.rowid, c.fk_constraint FROM ".MAIN_DB_PREFIX."menu_const as c WHERE c.fk_menu = ".$_GET['menuId']; $sql = "SELECT c.rowid, c.fk_constraint FROM ".MAIN_DB_PREFIX."menu_const as c WHERE c.fk_menu = ".$_GET['menuId'];
$res = $db->query($sql); $res = $db->query($sql);
if ($res) if ($res)
{ {
while ($obj = $db->fetch_object ($res)) while ($obj = $db->fetch_object ($res))
{ {
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu_const WHERE rowid = ".$obj->rowid; $sql = "DELETE FROM ".MAIN_DB_PREFIX."menu_const WHERE rowid = ".$obj->rowid;
@ -159,9 +162,6 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
$db->query($sql); $db->query($sql);
} }
} }
} }
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu WHERE rowid = ".$_GET['menuId']; $sql = "DELETE FROM ".MAIN_DB_PREFIX."menu WHERE rowid = ".$_GET['menuId'];
@ -169,13 +169,15 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
if ($result == 0) if ($result == 0)
{ {
llxHeader(); $db->commit();
print '<div class="ok">'.$langs->trans("MenuDeleted").'</div>';
llxFooter(); Header("Location: ".DOL_URL_ROOT.'/admin/menus/index.php?mesg='.urlencode($langs->trans("MenuDeleted")));
exit ; exit ;
} }
else else
{ {
$db->rollback();
$reload = 0; $reload = 0;
$_GET["action"]=''; $_GET["action"]='';
} }
@ -195,6 +197,9 @@ print_fiche_titre($langs->trans("Menus"),'','setup');
print $langs->trans("MenusEditorDesc")."<br>\n"; print $langs->trans("MenusEditorDesc")."<br>\n";
print "<br>\n"; print "<br>\n";
if ($mesg) print '<div class="ok">'.$mesg.'.</div><br>';
$h = 0; $h = 0;
$head[$h][0] = DOL_URL_ROOT."/admin/menus.php"; $head[$h][0] = DOL_URL_ROOT."/admin/menus.php";
@ -209,7 +214,7 @@ $h++;
dolibarr_fiche_head($head, 'editor', $langs->trans("Menus")); dolibarr_fiche_head($head, 'editor', $langs->trans("Menus"));
// Confirmation de la suppression de la facture // Confirmation de la suppression menu
if ($_GET["action"] == 'delete') if ($_GET["action"] == 'delete')
{ {
$sql = "SELECT m.titre FROM ".MAIN_DB_PREFIX."menu as m WHERE m.rowid = ".$_GET['menuId']; $sql = "SELECT m.titre FROM ".MAIN_DB_PREFIX."menu as m WHERE m.rowid = ".$_GET['menuId'];
@ -221,8 +226,8 @@ if ($_GET["action"] == 'delete')
print "<br />\n"; print "<br />\n";
} }
print $html->textwithwarning($langs->trans("FeatureExperimental"),$langs->trans("FeatureExperimental"),-1); //print $html->textwithwarning($langs->trans("FeatureExperimental"),$langs->trans("FeatureExperimental"),-1);
print '<br>'; //print '<br>';
print '<form name="newmenu" class="nocellnopadding" action="'.$_SERVER["PHP_SELF"].'">'; print '<form name="newmenu" class="nocellnopadding" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" action="change_menu_handler">'; print '<input type="hidden" action="change_menu_handler">';
@ -251,20 +256,93 @@ $idLast = -1;
if ($conf->use_javascript_ajax) if ($conf->use_javascript_ajax)
{ {
print '<script src="menu.js" type="text/javascript"></script>'; print '<script src="menu.js" type="text/javascript"></script>';
/*-------------------- MAIN -----------------------
tableau des éléments de l'arbre:
c'est un tableau à 2 dimensions.
Une ligne représente un élément : data[$x]
chaque ligne est décomposée en 3 données:
- l'index de l'élément
- l'index de l'élément parent
- la chaîne à afficher
ie: data[]= array (index, index parent, chaine )
*/
//il faut d'abord déclarer un élément racine de l'arbre
$data[] = array(0,-1,"racine");
//puis tous les éléments enfants
$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";
$res = $db->query($sql);
if ($res)
{
$num = $db->num_rows($res);
$i = 1;
while ($menu = $db->fetch_array ($res))
{
$langs->load($menu['langs']);
$titre = $langs->trans($menu['titre']);
$data[] = array($menu['rowid'],$menu['fk_menu'],$titre);
$i++;
}
}
//appelle de la fonction récursive (ammorce)
//avec recherche depuis la racine.
print '<ul class="arbre">';
recur($data,0,0);
print '<script type="text/javascript">imgDel('.$idLast.')</script>';
print '</ul>';
print '</td>';
print '</tr>';
print '</table>';
print '</div>';
/*
* Boutons actions
*/
print '<div class="tabsAction">';
print '<a class="butAction" href="'.DOL_URL_ROOT.'/admin/menus/edit.php?menuId=0&amp;action=create">'.$langs->trans("NewMenu").'</a>';
print '</div>';
} }
else
{
$langs->load("errors");
print '<div class="error">'.$langs->trans("ErrorFeatureNeedJavascript").'</div>';
}
$db->close();
llxFooter('$Date$ - $Revision$');
/* cette fonction gère le décallage des éléments /* cette fonction gère le décallage des éléments
suivant leur position dans l'arborescence suivant leur position dans l'arborescence
*/ */
function affiche($tab,$rang) function affiche($tab,$rang)
{ {
global $rangLast, $idLast, $menu_handler; global $conf, $rangLast, $idLast, $menu_handler;
if ($conf->use_javascript_ajax) if ($conf->use_javascript_ajax)
{ {
if($rang == $rangLast) if($rang == $rangLast)
{ {
print '<script type="text/javascript">imgDel('.$idLast.');</script>'; print '<script type="text/javascript">imgDel('.$idLast.');</script>';
//print '<a href="'.DOL_URL_ROOT.'/admin/menus/index.php?menu_handler=eldy&action=delete&menuId='.$idLast.'">aa</a>';
} }
elseif($rang > $rangLast) elseif($rang > $rangLast)
{ {
@ -307,9 +385,9 @@ function affiche($tab,$rang)
print '<li id=li'.$tab[0].'>'; print '<li id=li'.$tab[0].'>';
print '<strong>'; print '<strong>';
print '<a href="edit.php?menu_handler='.$menu_handler.'&action=edit&menuId='.$tab[0].'">'.$tab[2].'</a></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="menuEdit"><a href="edit.php?menu_handler='.$menu_handler.'&action=edit&menuId='.$tab[0].'">'.img_edit('default',0,'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="menuNew"><a href="edit.php?menu_handler='.$menu_handler.'&action=create&menuId='.$tab[0].'">'.img_edit_add('default',0,'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="menuDel"><a href="index.php?menu_handler='.$menu_handler.'&action=delete&menuId='.$tab[0].'">'.img_delete('default',0,'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 '<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>'; print '</li>';
echo "\n"; echo "\n";
@ -345,67 +423,5 @@ function recur($tab,$pere,$rang) {
} }
} }
/*-------------------- MAIN -----------------------
tableau des éléments de l'arbre:
c'est un tableau à 2 dimensions.
Une ligne représente un élément : data[$x]
chaque ligne est décomposée en 3 données:
- l'index de l'élément
- l'index de l'élément parent
- la chaîne à afficher
ie: data[]= array (index, index parent, chaine )
*/
//il faut d'abord déclarer un élément racine de l'arbre
$data[] = array(0,-1,"racine");
//puis tous les éléments enfants
$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";
$res = $db->query($sql);
if ($res)
{
$num = $db->num_rows();
$i = 1;
while ($menu = $db->fetch_array ($res))
{
$langs->load($menu['langs']);
$titre = $langs->trans($menu['titre']);
$data[] = array($menu['rowid'],$menu['fk_menu'],$titre);
$i++;
}
}
//appelle de la fonction récursive (ammorce)
//avec recherche depuis la racine.
print '<ul class="arbre">';
recur($data,0,0);
print '<script type="text/javascript">imgDel('.$idLast.')</script>';
print '</ul>';
print '</td>';
print '</tr>';
print '</table>';
print '</div>';
print '<div class="tabsAction">';
print '<a class="butAction" href="'.DOL_URL_ROOT.'/admin/menus/edit.php?menuId=0&amp;action=create">'.$langs->trans("NewMenu").'</a>';
print '</div>';
$db->close();
llxFooter('$Date$ - $Revision$');
?> ?>

View File

@ -131,7 +131,7 @@ $character_set_client="ISO-8859-1";
# $dolibarr_main_authentication="dolibarr"; # $dolibarr_main_authentication="dolibarr";
# $dolibarr_main_authentication="ldap"; # $dolibarr_main_authentication="ldap";
# #
$dolibarr_main_authentication="dolibarr" $dolibarr_main_authentication="dolibarr";
# Parameters used to setup LDAP authentication. # Parameters used to setup LDAP authentication.

View File

@ -52,7 +52,7 @@ class box_actions extends ModeleBoxes {
global $langs; global $langs;
$langs->load("boxes"); $langs->load("boxes");
$this->boxlabel="Actions commerciales"; $this->boxlabel=$langs->trans("BoxLastActions");
} }
/** /**

View File

@ -69,7 +69,7 @@ class MenuTop {
if (! session_id()) { if (! session_id()) {
session_name("DOLSESSID_".$dolibarr_main_db_name); session_name("DOLSESSID_".$dolibarr_main_db_name);
session_start(); // En mode authentification PEAR, la session a déjà été ouverte session_start();
} }
$user->getrights(""); $user->getrights("");
@ -86,7 +86,7 @@ class MenuTop {
} }
$menuArbo = new menudb($this->db,'auguria','top'); $menuArbo = new MenuDb($this->db,'auguria','top');
$tabMenu = $menuArbo->menutopCharger(0,$_SESSION['mainmenu']); $tabMenu = $menuArbo->menutopCharger(0,$_SESSION['mainmenu']);
print '<ul>'; print '<ul>';
@ -104,8 +104,6 @@ class MenuTop {
} }
} }
print '</ul>'; print '</ul>';

View File

@ -69,7 +69,7 @@ class MenuTop {
if (! session_id()) { if (! session_id()) {
session_name("DOLSESSID_".$dolibarr_main_db_name); session_name("DOLSESSID_".$dolibarr_main_db_name);
session_start(); // En mode authentification PEAR, la session a déjà été ouverte session_start();
} }
$user->getrights(""); $user->getrights("");
@ -104,9 +104,7 @@ class MenuTop {
} }
} }
print '</ul>'; print '</ul>';
} }

View File

@ -423,6 +423,26 @@ class MenuTop {
print '<td class="tmenu"><a '.$class.' href="'.DOL_URL_ROOT.'/mantis/mantis.php?mainmenu=mantis"'.($this->atarget?" target=$this->atarget":"").'>'.$langs->trans("BugTracker").'</a></td>'; print '<td class="tmenu"><a '.$class.' href="'.DOL_URL_ROOT.'/mantis/mantis.php?mainmenu=mantis"'.($this->atarget?" target=$this->atarget":"").'>'.$langs->trans("BugTracker").'</a></td>';
} }
// Affichage des menus personnalises
require_once(DOL_DOCUMENT_ROOT."/admin/menus/module_menudb.php");
$menuArbo = new MenuDb($this->db,'eldy','top');
$tabMenu = $menuArbo->menutopCharger(0,$_SESSION['mainmenu']);
for($i=0;$i<count($tabMenu);$i++)
{
if ($tabMenu[$i]['right'] == true)
{
print '<td class="tmenu"><a class="tmenu" href="'.DOL_URL_ROOT.$tabMenu[$i]['url'].'"'.($this->atarget?" target=$this->atarget":"").'>'.$tabMenu[$i]['titre'].'</a></td>';
}
else
{
print '<td class="tmenu"><font class="tmenudisabled">'.$tabMenu[$i]['titre'].'</font></td>';
}
}
print '</tr></table>'; print '</tr></table>';

View File

@ -82,6 +82,7 @@ class modAgenda extends DolibarrModules
// Boites // Boites
//------- //-------
$this->boxes = array(); $this->boxes = array();
$this->boxes[0][1] = "box_actions.php";
// Permissions // Permissions
//------------ //------------

View File

@ -80,9 +80,6 @@ class modCommercial extends DolibarrModules
$this->boxes[1][0] = "Derniers prospects enregistrés"; $this->boxes[1][0] = "Derniers prospects enregistrés";
$this->boxes[1][1] = "box_prospect.php"; $this->boxes[1][1] = "box_prospect.php";
$this->boxes[2][0] = "Dernières actions";
$this->boxes[2][1] = "box_actions.php";
// Permissions // Permissions
$this->rights = array(); $this->rights = array();
$this->rights_class = 'commercial'; $this->rights_class = 'commercial';

View File

@ -44,6 +44,8 @@ ComptaSetup=Accounting module setup
UserSetup=Users' management setup UserSetup=Users' management setup
MenuSetup=Menus management setup MenuSetup=Menus management setup
MenuLimits=Limits and accuracy MenuLimits=Limits and accuracy
MenuIdParent=Parent menu id
DetailMenuIdParent=Id of parent menu (0 for a top menu)
NotConfigured=Not configured NotConfigured=Not configured
Setup=Setup Setup=Setup
Activation=Activation Activation=Activation
@ -70,7 +72,9 @@ Boxes=Boxes
PositionByDefault=Default order PositionByDefault=Default order
Position=Order Position=Order
MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar).
MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid having dolibarr instable and menu entries definitely not reachable. MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid having dolibarr instable and menu entries definitely not reachable.<br>Some modules add some entries in menus (in menu <b>all</b> in most cases). If you removed some of this entries by error, you can restore them by disabling and reenabling the module.
MenuForUsers=Menu for users
LangFile=File .langs
System=System System=System
SystemInfo=System information SystemInfo=System information
SystemTools=System tools SystemTools=System tools
@ -804,14 +808,14 @@ MenuHandler=Menu handler
DetailId=Id menu DetailId=Id menu
DetailMenuHandler=Menu handler (or "all" for all menu handlers) DetailMenuHandler=Menu handler (or "all" for all menu handlers)
DetailType=Type of menu (top or left) DetailType=Type of menu (top or left)
DetailTitre=Menu label DetailTitre=Menu label or label code for translation
DetailMainmenu=Group for which it belongs (obsolete) DetailMainmenu=Group for which it belongs (obsolete)
DetailUrl=URL where menu send you DetailUrl=URL where menu send you (Absolute URL link or external link with http://)
DetailLeftmenu=Displya condition or not (obsolete) DetailLeftmenu=Displya condition or not (obsolete)
DetailRight=Condition to display unauthorized grey menus DetailRight=Condition to display unauthorized grey menus
DetailLangs=Lang file name for label translation DetailLangs=Lang file name for label code translation
DetailUser=Intern / Extern / All DetailUser=Intern / Extern / All
DetailTarget=Target DetailTarget=Target for links (_new top open a new window)
DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu)
ModifMenu=Menu change ModifMenu=Menu change
DeleteMenu=Delete menu entry DeleteMenu=Delete menu entry

View File

@ -12,6 +12,7 @@ BoxLastCustomers=Last customers
BoxLastCustomerOrders=Last customer orders BoxLastCustomerOrders=Last customer orders
BoxLastSuppliers=Last suppliers BoxLastSuppliers=Last suppliers
BoxLastBooks=Last books BoxLastBooks=Last books
BoxLastActions=Last actions
BoxCurrentAccounts=Current accounts balance BoxCurrentAccounts=Current accounts balance
BoxSalesTurnover=Sales turnover BoxSalesTurnover=Sales turnover
BoxTotalUnpayedCustomerBills=Total unpayed customer's invoices BoxTotalUnpayedCustomerBills=Total unpayed customer's invoices

View File

@ -1,19 +1,21 @@
# Dolibarr language file - en_US - errors # Dolibarr language file - en_US - errors
ErrorDuplicateTrigger=A trigger file with class nam '<b>%s</b>' is present sevaral times. Remove duplicate trigger file in directory '<b>%s</b>'. ErrorDuplicateTrigger=A trigger file with class nam '<b>%s</b>' is present sevaral times. Remove duplicate trigger file in directory '<b>%s</b>'.
ErrorFailToDeleteFile=Failed to remove file '<b>%s</b>'. ErrorFailToDeleteFile=Failed to remove file '<b>%s</b>'.
ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type. ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type.
ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only. ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only.
ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different. ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different.
ErrorBadThirdPartyName=Bad value for third party name ErrorBadThirdPartyName=Bad value for third party name
ErrorBadCustomerCodeSyntax=Bad syntax for customer code ErrorBadCustomerCodeSyntax=Bad syntax for customer code
ErrorCustomerCodeRequired=Customer code required ErrorCustomerCodeRequired=Customer code required
ErrorCustomerCodeAlreadyUsed=Customer code already used ErrorCustomerCodeAlreadyUsed=Customer code already used
ErrorPrefixRequired=Prefix required ErrorPrefixRequired=Prefix required
ErrorBadSupplierCodeSyntax=Bad syntax for supplier code ErrorBadSupplierCodeSyntax=Bad syntax for supplier code
ErrorSupplierCodeRequired=Supplier code required ErrorSupplierCodeRequired=Supplier code required
ErrorSupplierCodeAlreadyUsed=Supplier code already used ErrorSupplierCodeAlreadyUsed=Supplier code already used
ErrorBadParameters=Bad parameters ErrorBadParameters=Bad parameters
UserCannotBeDelete=User can not be deleted. May be it is associated on Dolibarr entities. UserCannotBeDelete=User can not be deleted. May be it is associated on Dolibarr entities.
ErrorFieldsRequired=Some required fields were not filled. ErrorFieldsRequired=Some required fields were not filled.
ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter <b>safe_mode</b> is enabled on this PHP, check that Dolibarr php files owns to web server user (or group). ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter <b>safe_mode</b> is enabled on this PHP, check that Dolibarr php files owns to web server user (or group).
ErrorNoMailDefinedForThisUser=No mail defined for this user ErrorNoMailDefinedForThisUser=No mail defined for this user
ErrorFeatureNeedJavascript=This feature need javascript to be activated to work. Change this in setup - display.
ErrorTopMenuMustHaveAParentWithId0=A menu of type 'Top' can't have a parent menu. Put 0 in parent menu or choose a menu of type 'Left'.

View File

@ -43,6 +43,8 @@ UseAvToScanUploadedFiles=Utilisation d'un anti-virus pour scanner les fichiers u
ComptaSetup=Configuration du module Comptabilité ComptaSetup=Configuration du module Comptabilité
UserSetup=Configuration gestion des utilisateurs UserSetup=Configuration gestion des utilisateurs
MenuSetup=Administration des menus par base de données MenuSetup=Administration des menus par base de données
MenuIdParent=Id du menu parent
DetailMenuIdParent=Id du menu parent (0 pour un menu du haut)
MenuLimits=Limites et précision MenuLimits=Limites et précision
NotConfigured=Non configuré NotConfigured=Non configuré
Setup=Configuration Setup=Configuration
@ -70,7 +72,9 @@ Boxes=Bo
PositionByDefault=Position par défaut PositionByDefault=Position par défaut
Position=Ordre Position=Ordre
MenusDesc=Les gestionnaires de menu définissent le contenu des 2 barres de menus (la barre horizontale et la barre verticale). Il est possible de mettre un gestionnaire différent selon que l'utilisateur soit interne ou externe. MenusDesc=Les gestionnaires de menu définissent le contenu des 2 barres de menus (la barre horizontale et la barre verticale). Il est possible de mettre un gestionnaire différent selon que l'utilisateur soit interne ou externe.
MenusEditorDesc=L'éditeur de menu permet de définir des entrées personalisées dans les menus. Il doit être utilisé avec prudence sous peine de mettre Dolibarr en situation instable nécéssitant une réinstallation pour retrouver un menu cohérent. MenusEditorDesc=L'éditeur de menu permet de définir des entrées personalisées dans les menus. Il doit être utilisé avec prudence sous peine de mettre Dolibarr en situation instable nécéssitant une réinstallation pour retrouver un menu cohérent.<br>Certains modules ajoutent des entrées personnalisées aux menus (dans le menu <b>all</b> en général). Si vous détruisez ces entrées par erreur, vous pourrez les récupérer en désactivant puis réactivant le module.
MenuForUsers=Menu pour les utilisateurs
LangFile=Fichier .langs
System=Système System=Système
SystemInfo=Infos Système SystemInfo=Infos Système
SystemTools=Outils Système SystemTools=Outils Système
@ -809,14 +813,14 @@ MenuHandler=Gestionnaire de menu
DetailId=Identifiant du menu DetailId=Identifiant du menu
DetailMenuHandler=Nom du gestionnaire menu (ou "all" pour tous) DetailMenuHandler=Nom du gestionnaire menu (ou "all" pour tous)
DetailType=Type de menu (top ou left) DetailType=Type de menu (top ou left)
DetailTitre=Libellé du menu DetailTitre=Libellé du menu ou code libellé à traduire
DetailMainmenu=Groupe auquel il appartient (obsolete) DetailMainmenu=Groupe auquel il appartient (obsolete)
DetailUrl=URL de la page vers laquelle le menu pointe DetailUrl=URL vers laquelle le menu pointe (Lien URL absolu ou lien externe avec http://)
DetailLeftmenu=Condition d'affichage ou non (obsolete) DetailLeftmenu=Condition d'affichage ou non (obsolete)
DetailRight=Condition d'affichage plein ou grisé DetailRight=Condition d'affichage plein ou grisé
DetailLangs=Fichier langs pour la traduction du titre DetailLangs=Fichier langs pour la traduction du code libellé
DetailUser=Interne / Externe / Tous DetailUser=Interne / Externe / Tous
DetailTarget=Cible DetailTarget=Cible liens menu (_new pour ouvrir une nouvelle fenetre)
DetailLevel=Niveau (-1:menu top, 0:entete menu, >0 menu et sous menu) DetailLevel=Niveau (-1:menu top, 0:entete menu, >0 menu et sous menu)
ModifMenu=Modification du menu ModifMenu=Modification du menu
DeleteMenu=Effacer entrée de menu DeleteMenu=Effacer entrée de menu

View File

@ -12,6 +12,7 @@ BoxLastCustomers=Derniers clients
BoxLastCustomerOrders=Dernières commandes BoxLastCustomerOrders=Dernières commandes
BoxLastSuppliers=Derniers fournisseurs BoxLastSuppliers=Derniers fournisseurs
BoxLastBooks=Derniers livres BoxLastBooks=Derniers livres
BoxLastActions=Dernières actions
BoxCurrentAccounts=Soldes Comptes courants BoxCurrentAccounts=Soldes Comptes courants
BoxSalesTurnover=Chiffre d'affaire BoxSalesTurnover=Chiffre d'affaire
BoxTotalUnpayedCustomerBills=Total des factures clients impayées BoxTotalUnpayedCustomerBills=Total des factures clients impayées

View File

@ -1,19 +1,21 @@
# Dolibarr language file - fr_FR - errors # Dolibarr language file - fr_FR - errors
ErrorDuplicateTrigger=Un fichier trigger de classe '<b>%s</b>' est present plusieurs fois. Supprimer le doublon du répertoire '<b>%s</b>'. ErrorDuplicateTrigger=Un fichier trigger de classe '<b>%s</b>' est present plusieurs fois. Supprimer le doublon du répertoire '<b>%s</b>'.
ErrorFailToDeleteFile=Echec de l'effacement du fichier '<b>%s</b>'. ErrorFailToDeleteFile=Echec de l'effacement du fichier '<b>%s</b>'.
ErrorThisContactIsAlreadyDefinedAsThisType=Ce contact est déjà défini comme contact pour ce type. ErrorThisContactIsAlreadyDefinedAsThisType=Ce contact est déjà défini comme contact pour ce type.
ErrorCashAccountAcceptsOnlyCashMoney=Ce compte bancaire est de type caisse et n'accepte que les mode de réglement de type <b>espèce</b>. ErrorCashAccountAcceptsOnlyCashMoney=Ce compte bancaire est de type caisse et n'accepte que les mode de réglement de type <b>espèce</b>.
ErrorFromToAccountsMustDiffers=Le compte source et destination doivent etre différents. ErrorFromToAccountsMustDiffers=Le compte source et destination doivent etre différents.
ErrorBadThirdPartyName=Nom de tiers incorrect ErrorBadThirdPartyName=Nom de tiers incorrect
ErrorBadCustomerCodeSyntax=La syntaxe du code client est incorrect ErrorBadCustomerCodeSyntax=La syntaxe du code client est incorrect
ErrorCustomerCodeRequired=Code client obligatoire ErrorCustomerCodeRequired=Code client obligatoire
ErrorCustomerCodeAlreadyUsed=Code client deja utilise ErrorCustomerCodeAlreadyUsed=Code client deja utilise
ErrorPrefixRequired=Prefix obligatoire ErrorPrefixRequired=Prefix obligatoire
ErrorBadSupplierCodeSyntax=La syntaxe du code fournisseur est incorrect ErrorBadSupplierCodeSyntax=La syntaxe du code fournisseur est incorrect
ErrorSupplierCodeRequired=Code fournisseur obligatoire ErrorSupplierCodeRequired=Code fournisseur obligatoire
ErrorSupplierCodeAlreadyUsed=Code fournisseur deja utilise ErrorSupplierCodeAlreadyUsed=Code fournisseur deja utilise
ErrorBadParameters=Parametres incorrects ErrorBadParameters=Parametres incorrects
UserCannotBeDelete=L'utilisateur ne peut pas etre supprimée. Peut-être est-il associé à des éléments de Dolibarr. UserCannotBeDelete=L'utilisateur ne peut pas etre supprimée. Peut-être est-il associé à des éléments de Dolibarr.
ErrorFieldsRequired=Des champs obligatoires n'ont pas été renseignés ErrorFieldsRequired=Des champs obligatoires n'ont pas été renseignés
ErrorFailedToCreateDir=Echec a la creation d'un repertoire. Verifiez que le user du serveur Web a bien les droits d'ecriture dans les repertoires documents de Dolibarr. Si le parametre <b>safe_mode</b> a été activé sur ce PHP, vérifier que les fichiers php dolibarr appartiennent à l'utilisateur du serveur Web. ErrorFailedToCreateDir=Echec a la creation d'un repertoire. Verifiez que le user du serveur Web a bien les droits d'ecriture dans les repertoires documents de Dolibarr. Si le parametre <b>safe_mode</b> a été activé sur ce PHP, vérifier que les fichiers php dolibarr appartiennent à l'utilisateur du serveur Web.
ErrorNoMailDefinedForThisUser=EMail non defini pour cet utilisateur ErrorNoMailDefinedForThisUser=EMail non defini pour cet utilisateur
ErrorFeatureNeedJavascript=Cette fonctionnalité a besoin de javascript activé pour fonctionner. Modifier dans configuration - affichage.
ErrorTopMenuMustHaveAParentWithId0=Un menu de type 'Top' ne peut avoir de menu père. Mettre 0 dans l'id père ou choisir un menu de type 'Left'.

View File

@ -1029,12 +1029,13 @@ function img_edit_remove($alt = "default")
\param float Si il faut y mettre le style "float: right" \param float Si il faut y mettre le style "float: right"
\return string Retourne tag img \return string Retourne tag img
*/ */
function img_edit($alt = "default",$float=0) function img_edit($alt = "default", $float=0, $other='')
{ {
global $conf,$langs; global $conf,$langs;
if ($alt=="default") $alt=$langs->trans("Modify"); if ($alt=="default") $alt=$langs->trans("Modify");
$img='<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/edit.png" border="0" alt="'.$alt.'" title="'.$alt.'"'; $img='<img src="'.DOL_URL_ROOT.'/theme/'.$conf->theme.'/img/edit.png" border="0" alt="'.$alt.'" title="'.$alt.'"';
if ($float) $img.=' style="float: right"'; if ($float) $img.=' style="float: right"';
if ($other) $img.=' '.$other;
$img.='>'; $img.='>';
return $img; return $img;
} }

View File

@ -30,7 +30,7 @@ require("../../conf/conf.php");
header('Content-type: text/css'); header('Content-type: text/css');
// Important: Avoid page request by browser and dynamic build at // Important: Avoid page request by browser and dynamic build at
// each Dolibarr page access. // each Dolibarr page access.
if (! isset($conf->global->MAIN_FEATURES_LEVEL) || $conf->global->MAIN_FEATURES_LEVEL < 2) if (empty($conf->global->MAIN_FEATURES_LEVEL) || $conf->global->MAIN_FEATURES_LEVEL < 2)
{ {
header('Cache-Control: max-age=3600, public, must-revalidate'); header('Cache-Control: max-age=3600, public, must-revalidate');
} }
@ -167,16 +167,19 @@ div.tmenu
border-left: 0px; border-left: 0px;
padding: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;
margin: 0px 0px 2px 0px; margin: 0px 0px 2px 0px;
font-size: 12px;
height: 19px;
background-image : url(<?php echo $dolibarr_main_url_root.'/theme/auguria/img/nav.jpg' ?>) ; background-image : url(<?php echo $dolibarr_main_url_root.'/theme/auguria/img/nav.jpg' ?>) ;
height: 22px; height: 22px;
} }
div.tmenu .tmenudisabled div.tmenu .tmenudisabled
{ {
color: #757575; color: #757575;
font-size: 13px; font-size: 12px;
padding-left:10px; padding-left:10px;
padding-right:10px; padding-right:10px;
padding-top:3px; padding-top:3px;
cursor: not-allowed;
} }
table.tmenu table.tmenu
@ -240,8 +243,9 @@ font.tmenudisabled
color: #93a5aa; color: #93a5aa;
padding: 0px 5px 0px 5px; padding: 0px 5px 0px 5px;
margin: 0px 0px 2px 0px; margin: 0px 0px 2px 0px;
font-weight:bold; font-weight: normal;
font-size:12px; font-size: 12px;
cursor: not-allowed;
} }
a.tmenu:active a.tmenu:active
@ -906,6 +910,10 @@ font-size: 12px;
.warning { color: #887711; } .warning { color: #887711; }
.error { color: #550000; font-weight: bold; } .error { color: #550000; font-weight: bold; }
td.warning { /* Utilise par Smarty */
background: #FF99A9;
}
div.ok { div.ok {
color: #114466; color: #114466;
} }
@ -921,6 +929,13 @@ div.error {
border: 1px solid #8C9CAB; border: 1px solid #8C9CAB;
} }
div.info { /* Info admin */
color: #888888;
padding: 0.2em 0.2em 0.2em 0.2em;
margin: 0.5em 0em 0.5em 0em;
border: 1px solid #ACACAB;
}
/* /*
* Liens Payes/Non payes * Liens Payes/Non payes

View File

@ -183,7 +183,7 @@ div.tmenu
border-bottom: 1px solid #8B9999; border-bottom: 1px solid #8B9999;
padding: 0px 0px 0px 0px; padding: 0px 0px 0px 0px;
margin: 0px 0px 2px 0px; margin: 0px 0px 2px 0px;
font-weight: bold; font-weight: normal;
font-size: 12px; font-size: 12px;
height: 19px; height: 19px;
background: #b3c5cc; background: #b3c5cc;
@ -194,10 +194,11 @@ div.tmenu
div.tmenu .tmenudisabled div.tmenu .tmenudisabled
{ {
color: #757575; color: #757575;
font-size: 13px; font-size: 12px;
padding-left:10px; padding-left:10px;
padding-right:10px; padding-right:10px;
padding-top:3px; padding-top:3px;
cursor: not-allowed;
} }
table.tmenu table.tmenu
@ -262,7 +263,7 @@ font.tmenudisabled
padding: 0px 5px 0px 5px; padding: 0px 5px 0px 5px;
margin: 0px 0px 2px 0px; margin: 0px 0px 2px 0px;
font-weight: normal; font-weight: normal;
font-size:12px; font-size: 12px;
cursor: not-allowed; cursor: not-allowed;
} }