New: Ajout classe objet pour gerer enregistrement de la table llx_menu (premier essai de l'utilisation du generateur de code). Ca marche nickel.
This commit is contained in:
parent
da489269af
commit
1966ed019a
@ -175,7 +175,7 @@ class Skeleton_class // extends CommonObject
|
||||
$sql.= " t.field2";
|
||||
//...
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."mytable as t";
|
||||
$sql.= " WHERE c.rowid = ".$id;
|
||||
$sql.= " WHERE t.rowid = ".$id;
|
||||
|
||||
dolibarr_syslog("Skeleton_class::fetch sql=".$sql, LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
|
||||
@ -27,6 +27,8 @@
|
||||
|
||||
require("./pre.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/html.formadmin.class.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/menubase.class.php");
|
||||
|
||||
|
||||
$langs->load("admin");
|
||||
|
||||
@ -47,7 +49,8 @@ $menu_handler_left=eregi_replace('_frontoffice\.php','',$menu_handler_left);
|
||||
|
||||
$menu_handler=$menu_handler_left;
|
||||
|
||||
if ($_REQUEST["menu_handler"]) $menu_handler=$_REQUEST["menu_handler"];
|
||||
if ($_REQUEST["handler_origine"]) $menu_handler=$_REQUEST["handler_origine"];
|
||||
if ($_REQUEST["menu_handler"]) $menu_handler=$_REQUEST["menu_handler"];
|
||||
|
||||
|
||||
|
||||
@ -57,54 +60,53 @@ if ($_REQUEST["menu_handler"]) $menu_handler=$_REQUEST["menu_handler"];
|
||||
|
||||
if (isset($_GET["action"]) && $_GET["action"] == 'update')
|
||||
{
|
||||
if(!$_POST['cancel'])
|
||||
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'];
|
||||
$db->query($sql);
|
||||
$resql=$db->query($sql);
|
||||
if ($resql > 0)
|
||||
{
|
||||
$mesg='<div class="ok">'.$langs->trans("RecordModifiedSuccessfully").'</div>';
|
||||
}
|
||||
$_GET["menuId"]=$_POST['menuId'];
|
||||
$_GET["action"]="edit";
|
||||
}
|
||||
else
|
||||
{
|
||||
header("location: index.php?menu_handler=".$menu_handler);
|
||||
header("Location: ".DOL_URL_ROOT."/admin/menus/index.php?menu_handler=".$menu_handler);
|
||||
exit;
|
||||
}
|
||||
|
||||
if($_GET['return'])
|
||||
if ($_GET['return'])
|
||||
{
|
||||
header("location: index.php");
|
||||
header("Location: ".DOL_URL_ROOT."/admin/menus/index.php?menu_handler=".$menu_handler);
|
||||
exit;
|
||||
}
|
||||
else
|
||||
{
|
||||
header("location: edit.php?action=edit&menuId=".$_POST['menuId']);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (isset($_GET["action"]) && $_GET["action"] == 'add')
|
||||
{
|
||||
if ($_POST['cancel'])
|
||||
{
|
||||
header("Location: ".DOL_URL_ROOT."/admin/menus/index.php");
|
||||
header("Location: ".DOL_URL_ROOT."/admin/menus/index.php?menu_handler=".$menu_handler);
|
||||
exit;
|
||||
}
|
||||
|
||||
$langs->load("errors");
|
||||
|
||||
$error=0;
|
||||
if (! $error && ! $_POST['handler'])
|
||||
if (! $error && ! $_POST['menu_handler'])
|
||||
{
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",'handler').'</div>';
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiest("MenuHandler")).'</div>';
|
||||
$_GET["action"] = 'create';
|
||||
$error++;
|
||||
}
|
||||
if (! $error && ! $_POST['type'])
|
||||
{
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",'type').'</div>';
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiest("Type")).'</div>';
|
||||
$_GET["action"] = 'create';
|
||||
$error++;
|
||||
}
|
||||
@ -154,7 +156,7 @@ 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['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.=" 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)";
|
||||
|
||||
dolibarr_syslog("edit: insert menu entry sql=".$sql);
|
||||
$result=$db->query($sql);
|
||||
@ -286,7 +288,7 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
|
||||
else print '<br>';
|
||||
|
||||
print '<form action="./edit.php?action=add&menuId='.$_GET['menuId'].'" method="post" name="formmenucreate">';
|
||||
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Id
|
||||
@ -317,7 +319,6 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
|
||||
print '<tr><td><b>'.$langs->trans('MenuHandler').'</b></td>';
|
||||
print '<td>';
|
||||
print $htmladmin->select_menu_families($menu_handler,'menu_handler',$dirleft);
|
||||
//print '<input type="text" size="30" name="handler" value="'.$menu_handler.'">';
|
||||
print '</td>';
|
||||
print '<td>'.$langs->trans('DetailMenuHandler').'</td></tr>';
|
||||
|
||||
@ -331,33 +332,26 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
|
||||
// print '<input type="text" size="50" name="type" value="'.$type.'">';
|
||||
print '</td><td>'.$langs->trans('DetailType').'</td></tr>';
|
||||
//User
|
||||
print '<tr><td><b>'.$langs->trans('MenuForUsers').'</b></td>';
|
||||
print '<tr><td nowrap="nowrap"><b>'.$langs->trans('MenuForUsers').'</b></td>';
|
||||
print '<td><select class="flat" name="user">';
|
||||
print '<option value="2" selected>'.$langs->trans("All").'</option>';
|
||||
print '<option value="2" selected>'.$langs->trans("AllMenus").'</option>';
|
||||
print '<option value="0">'.$langs->trans('Interne').'</option>';
|
||||
print '<option value="1">'.$langs->trans('Externe').'</option>';
|
||||
print '</select></td>';
|
||||
print '<td>'.$langs->trans('DetailUser').'</td></tr>';
|
||||
//Level
|
||||
print '<input type="hidden" size="50" name="level" value="'.($parent_level + 1).'">';
|
||||
//Titre
|
||||
print '<tr><td><b>'.$langs->trans('Title').'</b></td><td><input type="text" size="50" name="titre" value=""></td><td>'.$langs->trans('DetailTitre').'</td></tr>';
|
||||
//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('Title').'</b></td><td><input type="text" size="30" name="titre" value=""></td><td>'.$langs->trans('DetailTitre').'</td></tr>';
|
||||
//Langs
|
||||
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>';
|
||||
print '<tr><td>'.$langs->trans('LangFile').'</td><td><input type="text" size="30" name="langs" value="'.$parent_langs.'"></td><td>'.$langs->trans('DetailLangs').'</td></tr>';
|
||||
//URL
|
||||
print '<tr><td><b>'.$langs->trans('URL').'</b></td><td><input type="text" size="60" name="url" value=""></td><td>'.$langs->trans('DetailUrl').'</td></tr>';
|
||||
//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="_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('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>';
|
||||
//Leftmenu
|
||||
//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('Rights').'</td><td><input type="text" size="60" name="right" value=""></td><td>'.$langs->trans('DetailRight').'</td></tr>';
|
||||
|
||||
// Boutons
|
||||
print '<tr><td colspan="3" align="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
|
||||
@ -372,88 +366,71 @@ if (isset($_GET["action"]) && $_GET["action"] == 'create')
|
||||
elseif (isset($_GET["action"]) && $_GET["action"] == 'edit')
|
||||
{
|
||||
print_titre($langs->trans("ModifMenu"),'','setup');
|
||||
|
||||
print '<br>';
|
||||
|
||||
print '<form action="./edit.php?action=update" method="post" name="formmenuedit">';
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
$sql = "SELECT m.rowid, m.menu_handler, m.type, m.titre, m.mainmenu, m.leftmenu, m.fk_menu, m.url, m.langs, m.level, m.right, m.target, m.user, m.order";
|
||||
$sql.=" FROM ".MAIN_DB_PREFIX."menu as m WHERE m.rowid = ".$_GET['menuId'];
|
||||
$result = $db->query($sql);
|
||||
if ($result)
|
||||
{
|
||||
$num = $db->num_rows();
|
||||
$i = 0;
|
||||
$menu = new Menubase($db);
|
||||
$result=$menu->fetch($_GET['menuId']);
|
||||
|
||||
while($i < $num)
|
||||
{
|
||||
$menu = $db->fetch_object($result);
|
||||
|
||||
// MenuId Parent
|
||||
print '<tr><td>'.$langs->trans('MenuIdParent').'</td>';
|
||||
//$menu_handler
|
||||
//print '<td><input type="text" size="50" name="handler" value="all"></td>';
|
||||
print '<td>'.$menu->fk_menu.'</td>';
|
||||
print '<td>'.$langs->trans('DetailMenuIdParent').'</td></tr>';
|
||||
print '<input type="hidden" name="menuId" value="'.$_GET['menuId'].'">';
|
||||
// MenuId Parent
|
||||
print '<tr><td>'.$langs->trans('MenuIdParent').'</td>';
|
||||
//$menu_handler
|
||||
//print '<td><input type="text" size="50" name="handler" value="all"></td>';
|
||||
print '<td>'.$menu->fk_menu.'</td>';
|
||||
print '<td>'.$langs->trans('DetailMenuIdParent').'</td></tr>';
|
||||
print '<input type="hidden" name="menuId" value="'.$_GET['menuId'].'">';
|
||||
|
||||
// Id
|
||||
print '<tr><td>'.$langs->trans('Id').'</td><td>'.$menu->rowid.'</td><td>'.$langs->trans('DetailId').'</td></tr>';
|
||||
// Id
|
||||
print '<tr><td>'.$langs->trans('Id').'</td><td>'.$menu->id.'</td><td>'.$langs->trans('DetailId').'</td></tr>';
|
||||
|
||||
// Handler
|
||||
print '<tr><td>'.$langs->trans('MenuHandler').'</td><td>'.$menu->menu_handler.'</td><td>'.$langs->trans('DetailMenuHandler').'</td></tr>';
|
||||
// Handler
|
||||
print '<tr><td>'.$langs->trans('MenuHandler').'</td><td>'.$menu->menu_handler.'</td><td>'.$langs->trans('DetailMenuHandler').'</td></tr>';
|
||||
|
||||
// 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="1"'.($menu->user==1?' selected="true"':'').'>'.$langs->trans('Externe').'</option>';
|
||||
print '</select></td><td>'.$langs->trans('DetailUser').'</td></tr>';
|
||||
// user
|
||||
print '<tr><td nowrap="nowrap">'.$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="1"'.($menu->user==1?' selected="true"':'').'>'.$langs->trans('Externe').'</option>';
|
||||
print '</select></td><td>'.$langs->trans('DetailUser').'</td></tr>';
|
||||
|
||||
// Type
|
||||
print '<tr><td>'.$langs->trans('Type').'</td><td>'.$menu->type.'</td><td>'.$langs->trans('DetailType').'</td></tr>';
|
||||
// Type
|
||||
print '<tr><td>'.$langs->trans('Type').'</td><td>'.$menu->type.'</td><td>'.$langs->trans('DetailType').'</td></tr>';
|
||||
|
||||
// Niveau
|
||||
//print '<tr><td>'.$langs->trans('Level').'</td><td>'.$menu->level.'</td><td>'.$langs->trans('DetailLevel').'</td></tr>';
|
||||
// Niveau
|
||||
//print '<tr><td>'.$langs->trans('Level').'</td><td>'.$menu->level.'</td><td>'.$langs->trans('DetailLevel').'</td></tr>';
|
||||
|
||||
// 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>';
|
||||
// Langs
|
||||
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>';
|
||||
// Titre
|
||||
print '<tr><td>'.$langs->trans('Title').'</td><td><input type="text" size="30" name="titre" value="'.$menu->titre.'"></td><td>'.$langs->trans('DetailTitre').'</td></tr>';
|
||||
// Langs
|
||||
print '<tr><td>'.$langs->trans('LangFile').'</td><td><input type="text" size="30" name="langs" value="'.$menu->langs.'"></td><td>'.$langs->trans('DetailLangs').'</td></tr>';
|
||||
|
||||
// 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>';
|
||||
// Url
|
||||
print '<tr><td>'.$langs->trans('URL').'</td><td><input type="text" size="60" name="url" value="'.$menu->url.'"></td><td>'.$langs->trans('DetailUrl').'</td></tr>';
|
||||
|
||||
// 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="_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('Rights').'</td><td><input type="text" size="70" name="right" value="'.$menu->right.'"></td><td>'.$langs->trans('DetailRight').'</td></tr>';
|
||||
|
||||
// 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>';
|
||||
// Mainmenu = group
|
||||
//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
|
||||
print '<tr><td colspan="3" align="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
|
||||
print ' ';
|
||||
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>';
|
||||
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
// 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="_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('Rights').'</td><td><input type="text" size="60" name="right" value="'.$menu->right.'"></td><td>'.$langs->trans('DetailRight').'</td></tr>';
|
||||
|
||||
// Bouton
|
||||
print '<tr><td colspan="3" align="center"><input type="submit" class="button" name="save" value="'.$langs->trans("Save").'">';
|
||||
print ' ';
|
||||
print '<input type="submit" class="button" name="cancel" value="'.$langs->trans("Cancel").'"></td></tr>';
|
||||
|
||||
print '</table>';
|
||||
|
||||
print '</form>';
|
||||
|
||||
print '<br>';
|
||||
|
||||
if ($mesg) print $mesg.'<br>';
|
||||
|
||||
/*
|
||||
* Lignes de contraintes
|
||||
|
||||
@ -41,10 +41,10 @@ $mesg=$_GET["mesg"];
|
||||
|
||||
$menu_handler_top=eregi_replace('\.php','',$conf->global->MAIN_MENU_BARRETOP);
|
||||
$menu_handler_left=eregi_replace('\.php','',$conf->global->MAIN_MENU_BARRELEFT);
|
||||
$menu_handler_top=eregi_replace('_backoffice\.php','',$menu_handler_top);
|
||||
$menu_handler_top=eregi_replace('_frontoffice\.php','',$menu_handler_top);
|
||||
$menu_handler_left=eregi_replace('_backoffice\.php','',$menu_handler_left);
|
||||
$menu_handler_left=eregi_replace('_frontoffice\.php','',$menu_handler_left);
|
||||
$menu_handler_top=eregi_replace('_backoffice','',$menu_handler_top);
|
||||
$menu_handler_top=eregi_replace('_frontoffice','',$menu_handler_top);
|
||||
$menu_handler_left=eregi_replace('_backoffice','',$menu_handler_left);
|
||||
$menu_handler_left=eregi_replace('_frontoffice','',$menu_handler_left);
|
||||
|
||||
$menu_handler=$menu_handler_left;
|
||||
|
||||
|
||||
@ -34,43 +34,35 @@ $langs->load("admin");
|
||||
|
||||
function llxHeader($head = "", $title="", $help_url='')
|
||||
{
|
||||
global $user, $langs;
|
||||
global $conf, $user, $langs;
|
||||
|
||||
top_menu($head);
|
||||
|
||||
$menu = new Menu();
|
||||
$langs->load("admin");
|
||||
$langs->load("users");
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/company.php", $langs->trans("MenuCompanySetup"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/modules.php", $langs->trans("Modules"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/menus.php", $langs->trans("Menus"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/ihm.php", $langs->trans("GUISetup"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/boxes.php", $langs->trans("Boxes"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/delais.php",$langs->trans("Alerts"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/perms.php", $langs->trans("Security"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/mails.php", $langs->trans("EMails"));
|
||||
$menuarray=array();
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/limits.php", $langs->trans("Limits"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/user/home.php", $langs->trans("MenuUsersAndGroups"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/dict.php", $langs->trans("DictionnarySetup"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/const.php", $langs->trans("OtherSetup"));
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/system/", $langs->trans("System"));
|
||||
if ($conf->left_menu == 'rodolphe')
|
||||
{
|
||||
$langs->load("admin");
|
||||
$langs->load("users");
|
||||
$menu = new Menu();
|
||||
$menu->add(DOL_URL_ROOT."/admin/company.php", $langs->trans("MenuCompanySetup"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/modules.php", $langs->trans("Modules"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/menus.php", $langs->trans("Menus"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/ihm.php", $langs->trans("GUISetup"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/boxes.php", $langs->trans("Boxes"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/delais.php",$langs->trans("Alerts"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/perms.php", $langs->trans("Security"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/mails.php", $langs->trans("EMails"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/limits.php", $langs->trans("Limits"));
|
||||
$menu->add(DOL_URL_ROOT."/user/home.php", $langs->trans("MenuUsersAndGroups"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/dict.php", $langs->trans("DictionnarySetup"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/const.php", $langs->trans("OtherSetup"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/system/", $langs->trans("System"));
|
||||
$menu->add(DOL_URL_ROOT."/admin/tools/", $langs->trans("Tools"));
|
||||
$varmenuarray=$menu->liste;
|
||||
}
|
||||
|
||||
$menu->add(DOL_URL_ROOT."/admin/tools/", $langs->trans("Tools"));
|
||||
|
||||
left_menu($menu->liste, $help_url);
|
||||
left_menu($varmenuarray, $help_url);
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
@ -159,7 +159,8 @@ class MenuLeft {
|
||||
for ($i = 0 ; $i < sizeof($this->menu_array) ; $i++)
|
||||
{
|
||||
$alt++;
|
||||
if ($this->menu_array[$i]['level']==0) {
|
||||
if ($this->menu_array[$i]['level']==0)
|
||||
{
|
||||
if (($alt%2==0))
|
||||
{
|
||||
print '<div class="menu">'."\n";
|
||||
|
||||
@ -394,6 +394,7 @@ BackToList=Back to list
|
||||
GoBack=Go back
|
||||
CanBeModifiedIfOk=Can be modified if valid
|
||||
CanBeModifiedIfKo=Can be modified if not valid
|
||||
RecordModifiedSuccessfully=Record modified successfully
|
||||
AutomaticCode=Automatic code
|
||||
NotManaged=Not managed
|
||||
FeatureDisabled=Feature disabled
|
||||
|
||||
@ -396,6 +396,7 @@ BackToList=Retour liste
|
||||
GoBack=Retour arrière
|
||||
CanBeModifiedIfOk=Peut être modifié si valide
|
||||
CanBeModifiedIfKo=Peut être modifié si invalide
|
||||
RecordModifiedSuccessfully=Enregistrement modifié avec succès
|
||||
AutomaticCode=Création automatique du code
|
||||
NotManaged=Non géré
|
||||
FeatureDisabled=Fonction désactivée
|
||||
|
||||
348
htdocs/lib/menubase.class.php
Normal file
348
htdocs/lib/menubase.class.php
Normal file
@ -0,0 +1,348 @@
|
||||
<?php
|
||||
/* Copyright (C) 2007-2008 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
*
|
||||
* 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
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
\file htdocs/lib/menubase.class.php
|
||||
\ingroup core
|
||||
\brief File of class to manage menu entries
|
||||
\remarks Initialy built by build_class_from_table on 2008-01-12 14:19
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
\class Menubase
|
||||
\brief Class to manage menu entries
|
||||
*/
|
||||
class Menubase
|
||||
{
|
||||
var $db; // To store db handler
|
||||
var $error; // To return error code (or message)
|
||||
var $errors=array(); // To return several error codes (or messages)
|
||||
|
||||
var $id;
|
||||
|
||||
var $menu_handler;
|
||||
var $type;
|
||||
var $mainmenu;
|
||||
var $fk_menu;
|
||||
var $order;
|
||||
var $url;
|
||||
var $target;
|
||||
var $titre;
|
||||
var $langs;
|
||||
var $level;
|
||||
var $leftmenu;
|
||||
var $right;
|
||||
var $user;
|
||||
var $tms;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* \brief Constructor
|
||||
* \param DB Database handler
|
||||
*/
|
||||
function Menubase($DB)
|
||||
{
|
||||
$this->db = $DB;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Create in database
|
||||
* \param user User that create
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function create($user)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
// Clean parameters
|
||||
$this->rowid=trim($this->rowid);
|
||||
$this->menu_handler=trim($this->menu_handler);
|
||||
$this->type=trim($this->type);
|
||||
$this->mainmenu=trim($this->mainmenu);
|
||||
$this->fk_menu=trim($this->fk_menu);
|
||||
$this->order=trim($this->order);
|
||||
$this->url=trim($this->url);
|
||||
$this->target=trim($this->target);
|
||||
$this->titre=trim($this->titre);
|
||||
$this->langs=trim($this->langs);
|
||||
$this->level=trim($this->level);
|
||||
$this->leftmenu=trim($this->leftmenu);
|
||||
$this->right=trim($this->right);
|
||||
$this->user=trim($this->user);
|
||||
|
||||
// Check parameters
|
||||
// Put here code to add control on parameters values
|
||||
|
||||
// Insert request
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."menu(";
|
||||
$sql.= "menu_handler,";
|
||||
$sql.= "type,";
|
||||
$sql.= "mainmenu,";
|
||||
$sql.= "fk_menu,";
|
||||
$sql.= "order,";
|
||||
$sql.= "url,";
|
||||
$sql.= "target,";
|
||||
$sql.= "titre,";
|
||||
$sql.= "langs,";
|
||||
$sql.= "level,";
|
||||
$sql.= "leftmenu,";
|
||||
$sql.= "right,";
|
||||
$sql.= "user,";
|
||||
$sql.= "tms";
|
||||
$sql.= ") VALUES (";
|
||||
$sql.= " '".$this->menu_handler."',";
|
||||
$sql.= " '".$this->type."',";
|
||||
$sql.= " '".$this->mainmenu."',";
|
||||
$sql.= " '".$this->fk_menu."',";
|
||||
$sql.= " '".$this->order."',";
|
||||
$sql.= " '".$this->url."',";
|
||||
$sql.= " '".$this->target."',";
|
||||
$sql.= " '".$this->titre."',";
|
||||
$sql.= " '".$this->langs."',";
|
||||
$sql.= " '".$this->level."',";
|
||||
$sql.= " '".$this->leftmenu."',";
|
||||
$sql.= " '".$this->right."',";
|
||||
$sql.= " '".$this->user."',";
|
||||
$sql.= " ".$this->db->idate($this->tms)."";
|
||||
$sql.= ")";
|
||||
|
||||
dolibarr_syslog("Menu::create sql=".$sql, LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."menu");
|
||||
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) $this->errors=$interface->errors;
|
||||
// Fin appel triggers
|
||||
|
||||
return $this->id;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dolibarr_syslog("Menu::create ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* \brief Update database
|
||||
* \param user User that modify
|
||||
* \param notrigger 0=no, 1=yes (no update trigger)
|
||||
* \return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function update($user=0, $notrigger=0)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
// Clean parameters
|
||||
$this->rowid=trim($this->rowid);
|
||||
$this->menu_handler=trim($this->menu_handler);
|
||||
$this->type=trim($this->type);
|
||||
$this->mainmenu=trim($this->mainmenu);
|
||||
$this->fk_menu=trim($this->fk_menu);
|
||||
$this->order=trim($this->order);
|
||||
$this->url=trim($this->url);
|
||||
$this->target=trim($this->target);
|
||||
$this->titre=trim($this->titre);
|
||||
$this->langs=trim($this->langs);
|
||||
$this->level=trim($this->level);
|
||||
$this->leftmenu=trim($this->leftmenu);
|
||||
$this->right=trim($this->right);
|
||||
$this->user=trim($this->user);
|
||||
|
||||
// Check parameters
|
||||
// Put here code to add control on parameters values
|
||||
|
||||
// Update request
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."menu SET";
|
||||
$sql.= " menu_handler='".addslashes($this->menu_handler)."',";
|
||||
$sql.= " type='".$this->type."',";
|
||||
$sql.= " mainmenu='".addslashes($this->mainmenu)."',";
|
||||
$sql.= " fk_menu='".$this->fk_menu."',";
|
||||
$sql.= " order='".$this->order."',";
|
||||
$sql.= " url='".addslashes($this->url)."',";
|
||||
$sql.= " target='".addslashes($this->target)."',";
|
||||
$sql.= " titre='".addslashes($this->titre)."',";
|
||||
$sql.= " langs='".addslashes($this->langs)."',";
|
||||
$sql.= " level='".$this->level."',";
|
||||
$sql.= " leftmenu='".addslashes($this->leftmenu)."',";
|
||||
$sql.= " right='".addslashes($this->right)."',";
|
||||
$sql.= " user='".$this->user."',";
|
||||
$sql.= " tms=".$this->db->idate($this->tms)."";
|
||||
$sql.= " WHERE rowid=".$this->id;
|
||||
|
||||
dolibarr_syslog("Menu::update sql=".$sql, LOG_DEBUG);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dolibarr_syslog("Menu::update ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf);
|
||||
if ($result < 0) $this->errors=$interface->errors;
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* \brief Load object in memory from database
|
||||
* \param id id object
|
||||
* \param user User that load
|
||||
* \return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function fetch($id, $user=0)
|
||||
{
|
||||
global $langs;
|
||||
|
||||
$sql = "SELECT";
|
||||
$sql.= " t.rowid,";
|
||||
$sql.= " t.menu_handler,";
|
||||
$sql.= " t.type,";
|
||||
$sql.= " t.mainmenu,";
|
||||
$sql.= " t.fk_menu,";
|
||||
$sql.= " t.order,";
|
||||
$sql.= " t.url,";
|
||||
$sql.= " t.target,";
|
||||
$sql.= " t.titre,";
|
||||
$sql.= " t.langs,";
|
||||
$sql.= " t.level,";
|
||||
$sql.= " t.leftmenu,";
|
||||
$sql.= " t.right,";
|
||||
$sql.= " t.user,";
|
||||
$sql.= " ".$this->db->pdate('t.tms')."";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."menu as t";
|
||||
$sql.= " WHERE t.rowid = ".$id;
|
||||
|
||||
dolibarr_syslog("Menu::fetch sql=".$sql, LOG_DEBUG);
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
if ($this->db->num_rows($resql))
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
$this->id = $obj->rowid;
|
||||
|
||||
$this->menu_handler = $obj->menu_handler;
|
||||
$this->type = $obj->type;
|
||||
$this->mainmenu = $obj->mainmenu;
|
||||
$this->fk_menu = $obj->fk_menu;
|
||||
$this->order = $obj->order;
|
||||
$this->url = $obj->url;
|
||||
$this->target = $obj->target;
|
||||
$this->titre = $obj->titre;
|
||||
$this->langs = $obj->langs;
|
||||
$this->level = $obj->level;
|
||||
$this->leftmenu = $obj->leftmenu;
|
||||
$this->right = $obj->right;
|
||||
$this->user = $obj->user;
|
||||
$this->tms = $obj->tms;
|
||||
}
|
||||
$this->db->free($resql);
|
||||
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dolibarr_syslog("Menu::fetch ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* \brief Delete object in database
|
||||
* \param user User that delete
|
||||
* \return int <0 if KO, >0 if OK
|
||||
*/
|
||||
function delete($user)
|
||||
{
|
||||
global $conf, $langs;
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."menu";
|
||||
$sql.= " WHERE rowid=".$this->id;
|
||||
|
||||
dolibarr_syslog("Menu::delete sql=".$sql);
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
{
|
||||
$this->error="Error ".$this->db->lasterror();
|
||||
dolibarr_syslog("Menu::delete ".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) $this->errors=$interface->errors;
|
||||
// Fin appel triggers
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* \brief Initialise object with example values
|
||||
* \remarks id must be 0 if object instance is a specimen.
|
||||
*/
|
||||
function initAsSpecimen()
|
||||
{
|
||||
$this->id=0;
|
||||
|
||||
$this->menu_handler='';
|
||||
$this->type='';
|
||||
$this->mainmenu='';
|
||||
$this->fk_menu='';
|
||||
$this->order='';
|
||||
$this->url='';
|
||||
$this->target='';
|
||||
$this->titre='';
|
||||
$this->langs='';
|
||||
$this->level='';
|
||||
$this->leftmenu='';
|
||||
$this->right='';
|
||||
$this->user='';
|
||||
$this->tms='';
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
@ -832,8 +832,8 @@ function left_menu($menu_array, $helppagename='', $form_search='')
|
||||
$conf->left_menu='eldy_backoffice.php';
|
||||
}
|
||||
require_once(DOL_DOCUMENT_ROOT ."/includes/menus/barre_left/".$conf->left_menu);
|
||||
$menu=new MenuLeft($db,$menu_array);
|
||||
$menu->showmenu();
|
||||
$menuleft=new MenuLeft($db,$menu_array);
|
||||
$menuleft->showmenu();
|
||||
|
||||
// Affichage des zones de recherche permanantes
|
||||
$addzonerecherche=0;
|
||||
|
||||
@ -25,3 +25,11 @@ DELETE FROM llx_rights_def WHERE module = 'menudb';
|
||||
ALTER table llx_boxes_def drop column name;
|
||||
ALTER table llx_boxes_def add column tms timestamp;
|
||||
|
||||
-- Rename primary key of llx_menu
|
||||
ALTER TABLE llx_menu_const drop foreign key fk_menu_const_fk_menu;
|
||||
alter table llx_menu drop primary key;
|
||||
alter table llx_menu modify rowid integer AUTO_INCREMENT NOT NULL PRIMARY KEY;
|
||||
ALTER TABLE llx_menu_const ADD CONSTRAINT fk_menu_const_fk_menu FOREIGN KEY (fk_menu) REFERENCES llx_menu (rowid);
|
||||
|
||||
alter table llx_menu modify user integer NOT NULL default '0';
|
||||
alter table llx_menu add column tms timestamp;
|
||||
|
||||
@ -21,25 +21,25 @@
|
||||
|
||||
|
||||
CREATE TABLE `llx_menu` (
|
||||
`rowid` int(11) NOT NULL,
|
||||
rowid integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
|
||||
|
||||
`menu_handler` varchar(16) NOT NULL default 'auguria', -- Menu handler name
|
||||
`type` enum('top','left') NOT NULL default 'left', -- Menu top or left
|
||||
menu_handler varchar(16) NOT NULL, -- Menu handler name
|
||||
type enum('top','left') NOT NULL, -- Menu top or left
|
||||
|
||||
`mainmenu` varchar(100) NOT NULL, -- Name family/module (home, companies, ...)
|
||||
`fk_menu` int(11) NOT NULL, -- 0 or Id of mother menu line
|
||||
`order` tinyint(4) NOT NULL, -- Order of entry
|
||||
mainmenu varchar(100) NOT NULL, -- Name family/module (home, companies, ...)
|
||||
fk_menu int(11) NOT NULL, -- 0 or Id of mother menu line
|
||||
order tinyint(4) NOT NULL, -- Order of entry
|
||||
|
||||
`url` varchar(255) NOT NULL, -- Relative (or absolute) url to go
|
||||
`target` varchar(100) NULL, -- Target of Url link
|
||||
url varchar(255) NOT NULL, -- Relative (or absolute) url to go
|
||||
target varchar(100) NULL, -- Target of Url link
|
||||
|
||||
`titre` varchar(255) NOT NULL, -- Key for menu translation
|
||||
`langs` varchar(100), -- Lang file to load for translation
|
||||
titre varchar(255) NOT NULL, -- Key for menu translation
|
||||
langs varchar(100), -- Lang file to load for translation
|
||||
|
||||
`level` tinyint(1), -- ???
|
||||
level tinyint(1), -- Used by auguria menu only. Do not use.
|
||||
|
||||
`leftmenu` varchar(100) NULL, -- Condition to show or hide
|
||||
`right` varchar(255), -- Condition to show enabled or disabled
|
||||
`user` tinyint(4) NOT NULL default '0', -- 0 if menu for all users, 1 for external only, 2 for internal only
|
||||
PRIMARY KEY (`rowid`)
|
||||
leftmenu varchar(100) NULL, -- Condition to show or hide
|
||||
right varchar(255), -- Condition to show enabled or disabled
|
||||
user integer NOT NULL default '0', -- 0 if menu for all users, 1 for external only, 2 for internal only
|
||||
tms timestamp
|
||||
) type=innodb;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user