diff --git a/htdocs/user/group/fiche.php b/htdocs/user/group/fiche.php index e8b39042c61..8d679368501 100644 --- a/htdocs/user/group/fiche.php +++ b/htdocs/user/group/fiche.php @@ -47,14 +47,14 @@ $action=isset($_GET["action"])?$_GET["action"]:$_POST["action"]; */ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == "yes") { - if($caneditperms){ - $editgroup = new Usergroup($db, $_GET["id"]); - $editgroup->fetch($_GET["id"]); - $editgroup->delete(); - Header("Location: index.php"); - }else{ - $message = '
'.$langs->trans('ErrorForbidden').'
'; - } + if($caneditperms){ + $editgroup = new Usergroup($db, $_GET["id"]); + $editgroup->fetch($_GET["id"]); + $editgroup->delete(); + Header("Location: index.php"); + }else{ + $message = '
'.$langs->trans('ErrorForbidden').'
'; + } } /** @@ -62,97 +62,97 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == "yes") */ if ($_POST["action"] == 'add') { - if($caneditperms){ - $message=""; - if (! $_POST["nom"]) { - $message='
'.$langs->trans("NameNotDefined").'
'; - $action="create"; // Go back to create page - } + if($caneditperms){ + $message=""; + if (! $_POST["nom"]) { + $message='
'.$langs->trans("NameNotDefined").'
'; + $action="create"; // Go back to create page + } - if (! $message) { - $editgroup = new UserGroup($db,0); + if (! $message) { + $editgroup = new UserGroup($db,0); - $editgroup->nom = trim($_POST["nom"]); - $editgroup->note = trim($_POST["note"]); + $editgroup->nom = trim($_POST["nom"]); + $editgroup->note = trim($_POST["note"]); - $db->begin(); + $db->begin(); - $id = $editgroup->create(); + $id = $editgroup->create(); - if ($id > 0) - { - $db->commit(); + if ($id > 0) + { + $db->commit(); - Header("Location: fiche.php?id=".$editgroup->id); - } - else - { - $langs->load("errors"); - $db->rollback(); - $message='
'.$langs->trans("ErrorGroupAlreadyExists",$editgroup->nom).'
'; - $action="create"; // Go back to create page - } - } - }else{ - $message = '
'.$langs->trans('ErrorForbidden').'
'; - } + Header("Location: fiche.php?id=".$editgroup->id); + } + else + { + $langs->load("errors"); + $db->rollback(); + $message='
'.$langs->trans("ErrorGroupAlreadyExists",$editgroup->nom).'
'; + $action="create"; // Go back to create page + } + } + }else{ + $message = '
'.$langs->trans('ErrorForbidden').'
'; + } } if ($_POST["action"] == 'adduser') { - if($caneditperms){ - if ($_POST["user"]) - { - $edituser = new User($db, $_POST["user"]); - $edituser->SetInGroup($_GET["id"]); + if($caneditperms){ + if ($_POST["user"]) + { + $edituser = new User($db, $_POST["user"]); + $edituser->SetInGroup($_GET["id"]); - Header("Location: fiche.php?id=".$_GET["id"]); - } - }else{ - $message = '
'.$langs->trans('ErrorForbidden').'
'; - } + Header("Location: fiche.php?id=".$_GET["id"]); + } + }else{ + $message = '
'.$langs->trans('ErrorForbidden').'
'; + } } if ($_GET["action"] == 'removeuser') { - if($caneditperms){ - if ($_GET["user"]) - { - $edituser = new User($db, $_GET["user"]); - $edituser->RemoveFromGroup($_GET["id"]); + if($caneditperms){ + if ($_GET["user"]) + { + $edituser = new User($db, $_GET["user"]); + $edituser->RemoveFromGroup($_GET["id"]); - Header("Location: fiche.php?id=".$_GET["id"]); - } - }else{ - $message = '
'.$langs->trans('ErrorForbidden').'
'; - } + Header("Location: fiche.php?id=".$_GET["id"]); + } + }else{ + $message = '
'.$langs->trans('ErrorForbidden').'
'; + } } if ($_POST["action"] == 'update') { - if($caneditperms){ - $message=""; + if($caneditperms){ + $message=""; - $db->begin(); + $db->begin(); - $editgroup = new Usergroup($db, $_GET["id"]); - $editgroup->fetch($_GET["id"]); + $editgroup = new Usergroup($db, $_GET["id"]); + $editgroup->fetch($_GET["id"]); - $editgroup->nom = $_POST["group"]; - $editgroup->note = $_POST["note"]; + $editgroup->nom = $_POST["group"]; + $editgroup->note = $_POST["note"]; - $ret=$editgroup->update(); + $ret=$editgroup->update(); - if ($ret >= 0) { - $message.='
'.$langs->trans("GroupModified").'
'; - $db->commit(); - } else { - $message.='
'.$editgroup->error.'
'; - $db->rollback; - } - }else{ - $message = '
'.$langs->trans('ErrorForbidden').'
'; - } + if ($ret >= 0) { + $message.='
'.$langs->trans("GroupModified").'
'; + $db->commit(); + } else { + $message.='
'.$editgroup->error.'
'; + $db->rollback; + } + }else{ + $message = '
'.$langs->trans('ErrorForbidden').'
'; + } } @@ -169,20 +169,20 @@ $html = new Form($db); if ($action == 'create') { - print_fiche_titre($langs->trans("NewGroup")); - print "
"; + print_fiche_titre($langs->trans("NewGroup")); + print "
"; - if ($message) { print $message."
"; } + if ($message) { print $message."
"; } - print '
'; - print ''; + print ''; + print ''; - print ''; + print '
'; - print "".''; - print ''; + print "".''; + print ''; - print "".'".'\n"; + print "\n"; - print "".''; - print "
'.$langs->trans("Name").'
'.$langs->trans("Name").'
'.$langs->trans("Note").''; + print "
'.$langs->trans("Note").''; if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_USER) { require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); @@ -194,11 +194,11 @@ if ($action == 'create') print ''; } - print "
\n"; - print "
"; + print "".''; + print "\n"; + print ""; } @@ -210,225 +210,225 @@ if ($action == 'create') else { if ($_GET["id"] ) - { - $group = new UserGroup($db); - $group->fetch($_GET["id"]); + { + $group = new UserGroup($db); + $group->fetch($_GET["id"]); /* * Affichage onglets */ $head = group_prepare_head($group); $title = $langs->trans("Group"); - if (!$group->entity) $title = $langs->trans("GlobalGroup"); + if (! $group->entity) $title = $langs->trans("GlobalGroup"); - dol_fiche_head($head, 'group', $title.": ".$group->nom); + dol_fiche_head($head, 'group', $title); - /* - * Confirmation suppression - */ - if ($action == 'delete') - { - $html = new Form($db); - $html->form_confirm("fiche.php?id=$group->id",$langs->trans("DeleteAGroup"),$langs->trans("ConfirmDeleteGroup",$group->name),"confirm_delete"); - } + /* + * Confirmation suppression + */ + if ($action == 'delete') + { + $html = new Form($db); + $html->form_confirm("fiche.php?id=$group->id",$langs->trans("DeleteAGroup"),$langs->trans("ConfirmDeleteGroup",$group->name),"confirm_delete"); + } - /* - * Fiche en mode visu - */ + /* + * Fiche en mode visu + */ - if ($action != 'edit') - { - print ''; + if ($action != 'edit') + { + print '
'; - // Ref - print ''; - print ''; - print ''; - - // Nom - print ''; - print '\n"; + // Ref + print ''; + print ''; + print ''; - // Note - print ''; - print ''; - print "\n"; - print "
'.$langs->trans("Ref").''; - print $html->showrefnav($group,'id','',$user->rights->user->user->lire || $user->admin); - print '
'.$langs->trans("Name").''.$group->nom; - if (!$group->entity) - { - print img_redstar($langs->trans("GlobalGroup")); - } - print "
'.$langs->trans("Ref").''; + print $html->showrefnav($group,'id','',$user->rights->user->user->lire || $user->admin); + print '
'.$langs->trans("Note").''.nl2br($group->note).' 
\n"; + // Name + print ''.$langs->trans("Name").''; + print ''.$group->nom; + if (!$group->entity) + { + print img_redstar($langs->trans("GlobalGroup")); + } + print "\n"; - print ''; + // Note + print ''.$langs->trans("Note").''; + print ''.nl2br($group->note).' '; + print "\n"; + print "\n"; - /* - * Barre d'actions - */ - print '
'; + print '
'; - if ($caneditperms) - { - print ''.$langs->trans("Modify").''; - } + /* + * Barre d'actions + */ + print '
'; - if ($candisableperms) - { - print ''.$langs->trans("DeleteGroup").''; - } + if ($caneditperms) + { + print ''.$langs->trans("Modify").''; + } - print "
\n"; - print "
\n"; + if ($candisableperms) + { + print ''.$langs->trans("DeleteGroup").''; + } + + print "\n"; + print "
\n"; if ($message) { print $message."
"; } - /* - * Liste des utilisateurs dans le groupe - */ + /* + * Liste des utilisateurs dans le groupe + */ - print_fiche_titre($langs->trans("ListOfUsersInGroup"),'',''); + print_fiche_titre($langs->trans("ListOfUsersInGroup"),'',''); - // On sélectionne les users qui ne sont pas déjà dans le groupe - $uss = array(); + // On sélectionne les users qui ne sont pas déjà dans le groupe + $uss = array(); - $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin"; - $sql.= " FROM ".MAIN_DB_PREFIX."user as u"; - $sql.= " WHERE u.entity IN (0,".$conf->entity.")"; - $sql.= " ORDER BY u.name"; + $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin"; + $sql.= " FROM ".MAIN_DB_PREFIX."user as u"; + $sql.= " WHERE u.entity IN (0,".$conf->entity.")"; + $sql.= " ORDER BY u.name"; - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - $i = 0; + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; - while ($i < $num) - { - $obj = $db->fetch_object($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); - $uss[$obj->rowid] = ucfirst(stripslashes($obj->name)).' '.ucfirst(stripslashes($obj->firstname)); - if ($obj->login) $uss[$obj->rowid].=' ('.$obj->login.')'; - $i++; - } - } - else { - dol_print_error($db); - } + $uss[$obj->rowid] = ucfirst(stripslashes($obj->name)).' '.ucfirst(stripslashes($obj->firstname)); + if ($obj->login) $uss[$obj->rowid].=' ('.$obj->login.')'; + $i++; + } + } + else { + dol_print_error($db); + } - if ($caneditperms) - { - $form = new Form($db); - print '
'."\n"; - print ''; - print ''."\n"; - // print ''."\n"; - print ''."\n"; - print ''."\n"; - print '
'.$langs->trans("NonAffectedUsers").'
'.$langs->trans("UsersToAdd").''; - print $form->select_array("user",$uss,'',1); - print '   '; - print ''; - print '
'."\n"; - print '
'; - } + if ($caneditperms) + { + $form = new Form($db); + print '
'."\n"; + print ''; + print ''."\n"; + // print ''."\n"; + print ''."\n"; + print ''."\n"; + print '
'.$langs->trans("NonAffectedUsers").'
'.$langs->trans("UsersToAdd").''; + print $form->select_array("user",$uss,'',1); + print '   '; + print ''; + print '
'."\n"; + print '
'; + } - /* - * Membres du groupe - */ - $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin, u.entity"; - $sql.= " FROM ".MAIN_DB_PREFIX."user as u,"; - $sql.= " ".MAIN_DB_PREFIX."usergroup_user as ug"; - $sql.= " WHERE ug.fk_user = u.rowid"; - $sql.= " AND ug.fk_usergroup = ".$group->id; - $sql.= " ORDER BY u.name"; + /* + * Membres du groupe + */ + $sql = "SELECT u.rowid, u.login, u.name, u.firstname, u.admin, u.entity"; + $sql.= " FROM ".MAIN_DB_PREFIX."user as u,"; + $sql.= " ".MAIN_DB_PREFIX."usergroup_user as ug"; + $sql.= " WHERE ug.fk_user = u.rowid"; + $sql.= " AND ug.fk_usergroup = ".$group->id; + $sql.= " ORDER BY u.name"; - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - $i = 0; + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + $i = 0; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print "\n"; - if ($num) { - $var=True; - while ($i < $num) - { - $obj = $db->fetch_object($result); - $var=!$var; + print '
'.$langs->trans("Login").''.$langs->trans("Lastname").''.$langs->trans("Firstname").'  
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + if ($num) { + $var=True; + while ($i < $num) + { + $obj = $db->fetch_object($result); + $var=!$var; - print ""; - print ''; - print ''; - print ''; - print '"; + print ''; + print ''; + print ''; + print '\n"; - $i++; - } - } - else - { - print ''; - } - print "
'.$langs->trans("Login").''.$langs->trans("Lastname").''.$langs->trans("Firstname").'  
'; - print ''.img_object($langs->trans("ShowUser"),"user").' '.$obj->login.''; - if ($obj->admin && !$obj->entity) - { - print img_redstar($langs->trans("SuperAdministrator")); - } - else if ($obj->admin) - { - print img_picto($langs->trans("Administrator"),'star'); - } - print ''.ucfirst(stripslashes($obj->name)).''.ucfirst(stripslashes($obj->firstname)).' '; + print "
'; + print ''.img_object($langs->trans("ShowUser"),"user").' '.$obj->login.''; + if ($obj->admin && !$obj->entity) + { + print img_redstar($langs->trans("SuperAdministrator")); + } + else if ($obj->admin) + { + print img_picto($langs->trans("Administrator"),'star'); + } + print ''.ucfirst(stripslashes($obj->name)).''.ucfirst(stripslashes($obj->firstname)).' '; - if ($user->admin) - { + if ($user->admin) + { - print ''; - print img_delete($langs->trans("RemoveFromGroup")); - } - else - { - print "-"; - } - print "
'.$langs->trans("None").'
"; - print "
"; - $db->free($result); - } - else { - dol_print_error($db); - } - } + print ''; + print img_delete($langs->trans("RemoveFromGroup")); + } + else + { + print "-"; + } + print "\n"; + $i++; + } + } + else + { + print ''.$langs->trans("None").''; + } + print ""; + print "
"; + $db->free($result); + } + else { + dol_print_error($db); + } + } - /* - * Fiche en mode edition - */ - if ($_GET["action"] == 'edit' && $caneditperms) - { - print '
'; - print ''; + /* + * Fiche en mode edition + */ + if ($_GET["action"] == 'edit' && $caneditperms) + { + print ''; + print ''; - print ''; - print ''; - print '\n"; - print ''; - print '\n"; + print ''; + print "
'.$langs->trans("Name").''; - if (!$group->entity) - { - print img_redstar($langs->trans("GlobalGroup")); - } - print "
'.$langs->trans("Note").''; + print ''; + print ''; + print '\n"; + print ''; + print ''; - print "\n"; - print ''; - print "
'.$langs->trans("Name").''; + if (!$group->entity) + { + print img_redstar($langs->trans("GlobalGroup")); + } + print "
'.$langs->trans("Note").''; if ($conf->fckeditor->enabled && $conf->global->FCKEDITOR_ENABLE_USER) { require_once(DOL_DOCUMENT_ROOT."/lib/doleditor.class.php"); @@ -442,15 +442,15 @@ else print ''; } print '
\n"; - print ''; + print "
\n"; + print ''; - print ''; - } + print ''; + } - } + } } $db->close(); diff --git a/htdocs/user/group/ldap.php b/htdocs/user/group/ldap.php index 799853d5ad0..79b6bad75c0 100644 --- a/htdocs/user/group/ldap.php +++ b/htdocs/user/group/ldap.php @@ -62,7 +62,7 @@ $fgroup->getrights(); */ $head = group_prepare_head($fgroup); -dol_fiche_head($head, 'ldap', $langs->trans("Group").": ".$fgroup->nom); +dol_fiche_head($head, 'ldap', $langs->trans("Group")); @@ -71,10 +71,21 @@ dol_fiche_head($head, 'ldap', $langs->trans("Group").": ".$fgroup->nom); */ print ''; -// Nom +// Ref +print ''; +print ''; +print ''; + +// Name print ''; -print ''; -print "\n"; +print '\n"; // Note print ''; diff --git a/htdocs/user/group/perms.php b/htdocs/user/group/perms.php index 5c899facf01..4b46958c9a4 100644 --- a/htdocs/user/group/perms.php +++ b/htdocs/user/group/perms.php @@ -1,7 +1,7 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo - * Copyright (C) 2004-2005 Laurent Destailleur + * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2009 Regis Houssin * @@ -21,19 +21,16 @@ */ /** - \file htdocs/user/group/perms.php - \brief Onglet user et permissions de la fiche utilisateur - \version $Id$ -*/ + * \file htdocs/user/group/perms.php + * \brief Onglet user et permissions de la fiche utilisateur + * \version $Id$ + */ require("./pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php"); $langs->load("users"); - -$form = new Form($db); - $module=isset($_GET["module"])?$_GET["module"]:$_POST["module"]; // Defini si peux modifier utilisateurs et permisssions @@ -62,6 +59,8 @@ if ($_GET["action"] == 'delrights' && $caneditperms) /* */ /* ************************************************************************** */ +$form = new Form($db); + llxHeader('',$langs->trans("Permissions")); if ($_GET["id"]) @@ -77,38 +76,47 @@ if ($_GET["id"]) $title = $langs->trans("Group"); if (!$fgroup->entity) $title = $langs->trans("GlobalGroup"); - dol_fiche_head($head, 'rights', $title.": ".$fgroup->nom); + dol_fiche_head($head, 'rights', $title); $db->begin(); // Charge les modules soumis a permissions - $dir = DOL_DOCUMENT_ROOT . "/includes/modules/"; - $handle=opendir($dir); $modules = array(); - while (($file = readdir($handle))!==false) - { - if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, strlen($file) - 10) == '.class.php') - { - $modName = substr($file, 0, strlen($file) - 10); + foreach ($conf->dol_document_root as $dirroot) + { + $dir = $dirroot . "/includes/modules/"; - if ($modName) - { - include_once("../../includes/modules/$file"); - $objMod = new $modName($db); - if ($objMod->rights_class) { + // Load modules attributes in arrays (name, numero, orders) from dir directory + //print $dir."\n
"; + $handle=@opendir($dir); + if ($handle) + { + while (($file = readdir($handle))!==false) + { + if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, strlen($file) - 10) == '.class.php') + { + $modName = substr($file, 0, strlen($file) - 10); - $ret=$objMod->insert_permissions(); + if ($modName) + { + include_once($dir."/".$file); + $objMod = new $modName($db); + if ($objMod->rights_class) { + + $ret=$objMod->insert_permissions(); + + $modules[$objMod->rights_class]=$objMod; + //print "modules[".$objMod->rights_class."]=$objMod;"; + } + } + } + } + } + } - $modules[$objMod->rights_class]=$objMod; - //print "modules[".$objMod->rights_class."]=$objMod;"; - } - } - } - } - $db->commit(); - + // Lecture des droits groupes $permsgroup = array(); @@ -144,32 +152,32 @@ if ($_GET["id"]) */ print '
'.$langs->trans("Ref").''; +print $form->showrefnav($fgroup,'id','',$user->rights->user->group->lire || $user->admin); +print '
'.$langs->trans("Name").''.$fgroup->nom.'
'.$fgroup->nom; +if (!$fgroup->entity) +{ + print img_redstar($langs->trans("GlobalGroup")); +} +print "
'.$langs->trans("Note").'
'; - + // Ref print ''; print ''; print ''; - + // Nom print ''; print '\n"; - + // Note print ''; - print ''; + print ''; print "\n"; - + print '
'.$langs->trans("Ref").''; print $form->showrefnav($fgroup,'id','',$user->rights->user->user->lire || $user->admin); print '
'.$langs->trans("Name").''.$fgroup->nom.''; - if (!$obj->entity) + if (! $fgroup->entity) { print img_redstar($langs->trans("GlobalGroup")); } print "
'.$langs->trans("Note").''.nl2br($fgroup->note).' '.nl2br($fgroup->note).'

'; - + if ($user->admin) print info_admin($langs->trans("WarningOnlyPermissionOfActivatedModules")); - + print ''; print ''; print ''; @@ -195,7 +203,7 @@ if ($_GET["id"]) $obj = $db->fetch_object($result); // Si la ligne correspond a un module qui n'existe plus (absent de includes/module), on l'ignore - if (! $modules[$obj->module]) + if (! $modules[$obj->module]) { $i++; continue; @@ -209,12 +217,12 @@ if ($_GET["id"]) // Rupture détectée, on récupère objMod $objMod = $modules[$obj->module]; $picto=($objMod->picto?$objMod->picto:'generic'); - + if ($caneditperms) { print ''; print ''; + print ' '; print '
'.$langs->trans("Module").'
'.img_object('',$picto).' '.$objMod->getName(); - print ' '; print ''.$langs->trans("All").""; print '/';