Fix: cvs<->git problem

This commit is contained in:
Regis Houssin 2011-08-21 00:20:43 +00:00
parent fe27643152
commit 5183fd9e86
7 changed files with 105 additions and 88 deletions

View File

@ -31,7 +31,7 @@
* \file htdocs/core/class/html.form.class.php * \file htdocs/core/class/html.form.class.php
* \ingroup core * \ingroup core
* \brief File of class with all html predefined components * \brief File of class with all html predefined components
* \version $Id: html.form.class.php,v 1.202 2011/08/20 15:11:32 eldy Exp $ * \version $Id: html.form.class.php,v 1.203 2011/08/21 00:20:44 hregis Exp $
*/ */
@ -822,13 +822,14 @@ class Form
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
$out.= '<select class="flat" id="'.$htmlname.'" name="'.$htmlname.'"'.($disabled?' disabled="true"':'').'>';
if ($show_empty) $out.= '<option value="-1"'.($id==-1?' selected="selected"':'').'>&nbsp;</option>'."\n";
$num = $this->db->num_rows($resql); $num = $this->db->num_rows($resql);
$i = 0; $i = 0;
if ($num) if ($num)
{ {
$userstatic=new User($this->db); $out.= '<select class="flat" id="'.$htmlname.'" name="'.$htmlname.'"'.($disabled?' disabled="true"':'').'>';
if ($show_empty) $out.= '<option value="-1"'.($id==-1?' selected="selected"':'').'>&nbsp;</option>'."\n";
$userstatic=new User($this->db);
while ($i < $num) while ($i < $num)
{ {
@ -866,6 +867,11 @@ class Form
$out.= '</option>'; $out.= '</option>';
$i++; $i++;
} }
}
else
{
$out.= '<select class="flat" name="'.$htmlname.'" disabled="disabled">';
$out.= '<option value="">'.$langs->trans("EmptyList").'</option>';
} }
$out.= '</select>'; $out.= '</select>';
} }
@ -3514,10 +3520,11 @@ class Form
* @param disabled If select list must be disabled * @param disabled If select list must be disabled
* @param include Array list of groups id to include * @param include Array list of groups id to include
* @param enableonly Array list of groups id to be enabled. All other must be disabled * @param enableonly Array list of groups id to be enabled. All other must be disabled
* @param force_entity Possibility to force entity
*/ */
function select_dolgroups($selected='',$htmlname='groupid',$show_empty=0,$exclude='',$disabled=0,$include='',$enableonly='') function select_dolgroups($selected='',$htmlname='groupid',$show_empty=0,$exclude='',$disabled=0,$include='',$enableonly='',$force_entity)
{ {
global $conf; global $conf,$user,$langs;
// Permettre l'exclusion de groupes // Permettre l'exclusion de groupes
if (is_array($exclude)) $excludeGroups = implode("','",$exclude); if (is_array($exclude)) $excludeGroups = implode("','",$exclude);
@ -3528,15 +3535,16 @@ class Form
// On recherche les groupes // On recherche les groupes
$sql = "SELECT ug.rowid, ug.nom "; $sql = "SELECT ug.rowid, ug.nom ";
if($conf->multicompany->enabled && $conf->entity == 1) if($conf->multicompany->enabled && $conf->entity == 1 && $user->admin && ! $user->entity)
{ {
$sql.= ", e.label"; $sql.= ", e.label";
} }
$sql.= " FROM ".MAIN_DB_PREFIX."usergroup as ug "; $sql.= " FROM ".MAIN_DB_PREFIX."usergroup as ug ";
if($conf->multicompany->enabled && $conf->entity == 1) if($conf->multicompany->enabled && $conf->entity == 1 && $user->admin && ! $user->entity)
{ {
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."entity as e on e.rowid=ug.entity"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."entity as e on e.rowid=ug.entity";
$sql.= " WHERE ug.entity IS NOT NULL"; if ($force_entity) $sql.= " WHERE ug.entity IN (0,".$force_entity.")";
else $sql.= " WHERE ug.entity IS NOT NULL";
} }
else else
{ {
@ -3550,12 +3558,13 @@ class Form
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
$out.= '<select class="flat" name="'.$htmlname.'"'.($disabled?' disabled="true"':'').'>';
if ($show_empty) $out.= '<option value="-1"'.($id==-1?' selected="selected"':'').'>&nbsp;</option>'."\n";
$num = $this->db->num_rows($resql); $num = $this->db->num_rows($resql);
$i = 0; $i = 0;
if ($num) if ($num)
{ {
$out.= '<select class="flat" name="'.$htmlname.'"'.($disabled?' disabled="true"':'').'>';
if ($show_empty) $out.= '<option value="-1"'.($id==-1?' selected="selected"':'').'>&nbsp;</option>'."\n";
while ($i < $num) while ($i < $num)
{ {
$obj = $this->db->fetch_object($resql); $obj = $this->db->fetch_object($resql);
@ -3580,6 +3589,11 @@ class Form
$i++; $i++;
} }
} }
else
{
$out.= '<select class="flat" name="'.$htmlname.'" disabled="disabled">';
$out.= '<option value="">'.$langs->trans("EmptyList").'</option>';
}
$out.= '</select>'; $out.= '</select>';
} }
else else

View File

@ -25,7 +25,7 @@
/** /**
* \file htdocs/user/class/user.class.php * \file htdocs/user/class/user.class.php
* \brief Fichier de la classe utilisateur * \brief Fichier de la classe utilisateur
* \version $Id: user.class.php,v 1.51 2011/08/20 23:56:03 eldy Exp $ * \version $Id: user.class.php,v 1.52 2011/08/21 00:20:43 hregis Exp $
*/ */
require_once(DOL_DOCUMENT_ROOT ."/core/class/commonobject.class.php"); require_once(DOL_DOCUMENT_ROOT ."/core/class/commonobject.class.php");
@ -146,7 +146,7 @@ class User extends CommonObject
$sql.= " u.openid as openid"; $sql.= " u.openid as openid";
$sql.= " FROM ".MAIN_DB_PREFIX."user as u"; $sql.= " FROM ".MAIN_DB_PREFIX."user as u";
if (! empty($conf->multicompany->enabled) && $conf->entity == 1 && ($conf->global->MULTICOMPANY_TRANSVERSE_MODE || ($user->admin && ! $user->entity))) if($conf->multicompany->enabled && $conf->entity == 1)
{ {
$sql.= " WHERE u.entity IS NOT NULL"; $sql.= " WHERE u.entity IS NOT NULL";
} }

View File

@ -21,7 +21,7 @@
* \file htdocs/user/class/usergroup.class.php * \file htdocs/user/class/usergroup.class.php
* \brief Fichier de la classe des groupes d'utilisateur * \brief Fichier de la classe des groupes d'utilisateur
* \author Rodolphe Qiedeville * \author Rodolphe Qiedeville
* \version $Id: usergroup.class.php,v 1.14 2011/08/19 22:15:22 hregis Exp $ * \version $Id: usergroup.class.php,v 1.15 2011/08/21 00:20:43 hregis Exp $
*/ */
require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php");
@ -120,7 +120,7 @@ class UserGroup extends CommonObject
*/ */
function listGroupsForUser($userid) function listGroupsForUser($userid)
{ {
global $conf; global $conf, $user;
$ret=array(); $ret=array();
@ -130,7 +130,7 @@ class UserGroup extends CommonObject
$sql.= " WHERE ug.fk_usergroup = g.rowid"; $sql.= " WHERE ug.fk_usergroup = g.rowid";
$sql.= " AND ug.fk_user = ".$userid; $sql.= " AND ug.fk_user = ".$userid;
if($conf->multicompany->enabled && $conf->global->MULTICOMPANY_TRANSVERSE_MODE && $conf->entity == 1) if($conf->multicompany->enabled && $conf->entity == 1 && $user->admin && ! $user->entity)
{ {
$sql.= " AND g.entity IS NOT NULL"; $sql.= " AND g.entity IS NOT NULL";
} }
@ -172,7 +172,7 @@ class UserGroup extends CommonObject
*/ */
function listUsersForGroup() function listUsersForGroup()
{ {
global $conf; global $conf, $user;
$ret=array(); $ret=array();
@ -182,7 +182,7 @@ class UserGroup extends CommonObject
$sql.= " WHERE ug.fk_user = u.rowid"; $sql.= " WHERE ug.fk_user = u.rowid";
$sql.= " AND ug.fk_usergroup = ".$this->id; $sql.= " AND ug.fk_usergroup = ".$this->id;
if($conf->multicompany->enabled && $conf->global->MULTICOMPANY_TRANSVERSE_MODE && $conf->entity == 1) if($conf->multicompany->enabled && $conf->entity == 1 && $user->admin && ! $user->entity)
{ {
$sql.= " AND u.entity IS NOT NULL"; $sql.= " AND u.entity IS NOT NULL";
} }
@ -197,11 +197,11 @@ class UserGroup extends CommonObject
{ {
while ($obj = $this->db->fetch_object($result)) while ($obj = $this->db->fetch_object($result))
{ {
$user=new User($this->db); $userstatic=new User($this->db);
$user->fetch($obj->rowid); $userstatic->fetch($obj->rowid);
$user->usergroup_entity = $obj->usergroup_entity; $userstatic->usergroup_entity = $obj->usergroup_entity;
$ret[]=$user; $ret[]=$userstatic;
} }
$this->db->free($result); $this->db->free($result);
@ -455,8 +455,8 @@ class UserGroup extends CommonObject
{ {
$this->rights->$row[0]->$row[1] = 1; $this->rights->$row[0]->$row[1] = 1;
} }
} }
$i++; $i++;
} }
} }

View File

@ -24,7 +24,7 @@
/** /**
* \file htdocs/user/fiche.php * \file htdocs/user/fiche.php
* \brief Tab of user card * \brief Tab of user card
* \version $Id: fiche.php,v 1.279 2011/08/19 22:15:23 hregis Exp $ * \version $Id: fiche.php,v 1.280 2011/08/21 00:20:44 hregis Exp $
*/ */
require("../main.inc.php"); require("../main.inc.php");
@ -1292,7 +1292,7 @@ else
print '<table class="noborder" width="100%">'."\n"; print '<table class="noborder" width="100%">'."\n";
print '<tr class="liste_titre"><td class="liste_titre" width="25%">'.$langs->trans("GroupsToAdd").'</td>'."\n"; print '<tr class="liste_titre"><td class="liste_titre" width="25%">'.$langs->trans("GroupsToAdd").'</td>'."\n";
print '<td>'; print '<td>';
print $form->select_dolgroups('','group',1,$exclude); print $form->select_dolgroups('','group',1,$exclude,0,'','',$fuser->entity);
print ' &nbsp; '; print ' &nbsp; ';
// Multicompany // Multicompany
if ($conf->multicompany->enabled) if ($conf->multicompany->enabled)
@ -1776,7 +1776,7 @@ else
$db->close(); $db->close();
llxFooter('$Date: 2011/08/19 22:15:23 $ - $Revision: 1.279 $'); llxFooter('$Date: 2011/08/21 00:20:44 $ - $Revision: 1.280 $');

View File

@ -21,7 +21,7 @@
/** /**
* \file htdocs/user/group/fiche.php * \file htdocs/user/group/fiche.php
* \brief Onglet groupes utilisateurs * \brief Onglet groupes utilisateurs
* \version $Id: fiche.php,v 1.75 2011/08/20 09:03:38 hregis Exp $ * \version $Id: fiche.php,v 1.76 2011/08/21 00:20:44 hregis Exp $
*/ */
require("../../main.inc.php"); require("../../main.inc.php");
@ -44,6 +44,11 @@ if (! empty($conf->global->MAIN_USE_ADVANCED_PERMS))
$langs->load("users"); $langs->load("users");
$langs->load("other"); $langs->load("other");
$id=GETPOST("id");
$action=GETPOST("action");
$confirm=GETPOST("confirm");
$userid=GETPOST("user","int");
// Security check // Security check
$result = restrictedArea($user, 'user', $_GET["id"], 'usergroup', 'user'); $result = restrictedArea($user, 'user', $_GET["id"], 'usergroup', 'user');
@ -52,10 +57,6 @@ if($conf->multicompany->enabled && $conf->entity > 1 && $conf->global->MULTICOMP
accessforbidden(); accessforbidden();
} }
$action=GETPOST("action");
$confirm=GETPOST("confirm");
$userid=GETPOST("user","int");
$object = new Usergroup($db); $object = new Usergroup($db);
@ -80,7 +81,7 @@ if ($action == 'confirm_delete' && $confirm == "yes")
/** /**
* Action add group * Action add group
*/ */
if ($_POST["action"] == 'add') if ($action == 'add')
{ {
if($caneditperms) if($caneditperms)
{ {
@ -131,7 +132,7 @@ if ($action == 'adduser' || $action =='removeuser')
{ {
if ($userid) if ($userid)
{ {
$object->fetch($_GET["id"]); $object->fetch($id);
$object->oldcopy=dol_clone($object); $object->oldcopy=dol_clone($object);
$edituser = new User($db); $edituser = new User($db);
@ -157,7 +158,7 @@ if ($action == 'adduser' || $action =='removeuser')
} }
if ($_POST["action"] == 'update') if ($action == 'update')
{ {
if($caneditperms) if($caneditperms)
{ {
@ -165,7 +166,7 @@ if ($_POST["action"] == 'update')
$db->begin(); $db->begin();
$object->fetch($_GET["id"]); $object->fetch($id);
$object->oldcopy=dol_clone($object); $object->oldcopy=dol_clone($object);
@ -261,9 +262,9 @@ if ($action == 'create')
/* ************************************************************************** */ /* ************************************************************************** */
else else
{ {
if ($_GET["id"] ) if ($id)
{ {
$object->fetch($_GET["id"]); $object->fetch($id);
/* /*
* Affichage onglets * Affichage onglets
@ -352,14 +353,12 @@ else
// On selectionne les users qui ne sont pas deja dans le groupe // On selectionne les users qui ne sont pas deja dans le groupe
$exclude = array(); $exclude = array();
$userslist = $object->listUsersForGroup();
if (! empty($userslist)) if (! empty($object->members))
{ {
if( !($conf->multicompany->enabled && $conf->global->MULTICOMPANY_TRANSVERSE_MODE)) if( !($conf->multicompany->enabled && $conf->global->MULTICOMPANY_TRANSVERSE_MODE))
{ {
foreach($userslist as $useringroup) foreach($object->members as $useringroup)
{ {
$exclude[]=$useringroup->id; $exclude[]=$useringroup->id;
} }
@ -374,7 +373,7 @@ else
print '<table class="noborder" width="100%">'."\n"; print '<table class="noborder" width="100%">'."\n";
print '<tr class="liste_titre"><td class="liste_titre" width="25%">'.$langs->trans("NonAffectedUsers").'</td>'."\n"; print '<tr class="liste_titre"><td class="liste_titre" width="25%">'.$langs->trans("NonAffectedUsers").'</td>'."\n";
print '<td>'; print '<td>';
print $form->select_users('','user',1,$exclude,0,'','',$object->entity); print $form->select_dolusers('','user',1,$exclude,0,'','',$object->entity);
print ' &nbsp; '; print ' &nbsp; ';
// Multicompany // Multicompany
if ($conf->multicompany->enabled) if ($conf->multicompany->enabled)
@ -405,23 +404,22 @@ else
*/ */
print '<table class="noborder" width="100%">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td class="liste_titre" width="25%">'.$langs->trans("Login").'</td>'; print '<td class="liste_titre">'.$langs->trans("Login").'</td>';
if($conf->multicompany->enabled && $conf->entity == 1) print '<td class="liste_titre">'.$langs->trans("Lastname").'</td>';
print '<td class="liste_titre">'.$langs->trans("Firstname").'</td>';
if($conf->multicompany->enabled && $conf->entity == 1)
{ {
print '<td class="liste_titre" width="25%">'.$langs->trans("Entity").'</td>'; print '<td class="liste_titre">'.$langs->trans("Entity").'</td>';
} }
print '<td class="liste_titre" width="25%">'.$langs->trans("Lastname").'</td>'; print '<td class="liste_titre" width="5" align="center">'.$langs->trans("Status").'</td>';
print '<td class="liste_titre" width="25%">'.$langs->trans("Firstname").'</td>'; print '<td class="liste_titre" width="5" align="right">&nbsp;</td>';
print '<td class="liste_titre" align="right">'.$langs->trans("Status").'</td>';
print '<td>&nbsp;</td>';
print "<td>&nbsp;</td>";
print "</tr>\n"; print "</tr>\n";
if (! empty($userslist)) if (! empty($object->members))
{ {
$var=True; $var=True;
foreach($userslist as $useringroup) foreach($object->members as $useringroup)
{ {
$var=!$var; $var=!$var;
@ -431,16 +429,15 @@ else
if ($useringroup->admin && ! $useringroup->entity) print img_picto($langs->trans("SuperAdministrator"),'redstar'); if ($useringroup->admin && ! $useringroup->entity) print img_picto($langs->trans("SuperAdministrator"),'redstar');
else if ($useringroup->admin) print img_picto($langs->trans("Administrator"),'star'); else if ($useringroup->admin) print img_picto($langs->trans("Administrator"),'star');
print '</td>'; print '</td>';
print '<td>'.ucfirst(stripslashes($useringroup->lastname)).'</td>';
print '<td>'.ucfirst(stripslashes($useringroup->firstname)).'</td>';
if($conf->multicompany->enabled && $conf->entity == 1) if($conf->multicompany->enabled && $conf->entity == 1)
{ {
$mc = new ActionsMulticompany($db); $mc = new ActionsMulticompany($db);
$mc->getInfo($useringroup->usergroup_entity); $mc->getInfo($useringroup->usergroup_entity);
print '<td class="valeur">'.$mc->label."</td>"; print '<td class="valeur">'.$mc->label."</td>";
} }
print '<td>'.ucfirst(stripslashes($useringroup->lastname)).'</td>'; print '<td align="center">'.$useringroup->getLibStatut(3).'</td>';
print '<td>'.ucfirst(stripslashes($useringroup->firstname)).'</td>';
print '<td align="right">'.$useringroup->getLibStatut(5).'</td>';
print '<td>&nbsp;</td>';
print '<td align="right">'; print '<td align="right">';
if ($user->admin) if ($user->admin)
{ {
@ -521,5 +518,5 @@ else
$db->close(); $db->close();
llxFooter('$Date: 2011/08/20 09:03:38 $ - $Revision: 1.75 $'); llxFooter('$Date: 2011/08/21 00:20:44 $ - $Revision: 1.76 $');
?> ?>

View File

@ -22,7 +22,7 @@
/** /**
* \file htdocs/user/group/perms.php * \file htdocs/user/group/perms.php
* \brief Onglet user et permissions de la fiche utilisateur * \brief Onglet user et permissions de la fiche utilisateur
* \version $Id: perms.php,v 1.41 2011/08/17 15:56:24 eldy Exp $ * \version $Id: perms.php,v 1.42 2011/08/21 00:20:43 hregis Exp $
*/ */
require("../../main.inc.php"); require("../../main.inc.php");
@ -31,7 +31,10 @@ require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php");
$langs->load("users"); $langs->load("users");
$module=isset($_GET["module"])?$_GET["module"]:$_POST["module"]; $id=GETPOST("id");
$action=GETPOST("action");
$confirm=GETPOST("confirm");
$module=GETPOST("module");
// Defini si peux lire les permissions // Defini si peux lire les permissions
$canreadperms=($user->admin || $user->rights->user->user->lire); $canreadperms=($user->admin || $user->rights->user->user->lire);
@ -52,17 +55,17 @@ if (! $canreadperms) accessforbidden();
/** /**
* Actions * Actions
*/ */
if ($_GET["action"] == 'addrights' && $caneditperms) if ($action == 'addrights' && $caneditperms)
{ {
$editgroup = new Usergroup($db); $editgroup = new Usergroup($db);
$result=$editgroup->fetch($_GET["id"]); $result=$editgroup->fetch($id);
if ($result > 0) $editgroup->addrights($_GET["rights"],$module); if ($result > 0) $editgroup->addrights($_GET["rights"],$module);
} }
if ($_GET["action"] == 'delrights' && $caneditperms) if ($action == 'delrights' && $caneditperms)
{ {
$editgroup = new Usergroup($db); $editgroup = new Usergroup($db);
$result=$editgroup->fetch($_GET["id"]); $result=$editgroup->fetch($id);
if ($result > 0) $editgroup->delrights($_GET["rights"],$module); if ($result > 0) $editgroup->delrights($_GET["rights"],$module);
} }
@ -75,10 +78,10 @@ $form = new Form($db);
llxHeader('',$langs->trans("Permissions")); llxHeader('',$langs->trans("Permissions"));
if ($_GET["id"]) if ($id)
{ {
$fgroup = new Usergroup($db); $fgroup = new Usergroup($db);
$fgroup->fetch($_GET["id"]); $fgroup->fetch($id);
$fgroup->getrights(); $fgroup->getrights();
/* /*
@ -167,7 +170,7 @@ if ($_GET["id"])
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r";
$sql.= ", ".MAIN_DB_PREFIX."usergroup_rights as ugr"; $sql.= ", ".MAIN_DB_PREFIX."usergroup_rights as ugr";
$sql.= " WHERE ugr.fk_id = r.id"; $sql.= " WHERE ugr.fk_id = r.id";
$sql.= " AND r.entity = ".$conf->entity; $sql.= " AND r.entity = ".$fgroup->entity;
$sql.= " AND ugr.fk_usergroup = ".$fgroup->id; $sql.= " AND ugr.fk_usergroup = ".$fgroup->id;
$result=$db->query($sql); $result=$db->query($sql);
@ -232,7 +235,7 @@ if ($_GET["id"])
$sql = "SELECT r.id, r.libelle, r.module"; $sql = "SELECT r.id, r.libelle, r.module";
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r";
$sql.= " WHERE r.libelle NOT LIKE 'tou%'"; // On ignore droits "tous" $sql.= " WHERE r.libelle NOT LIKE 'tou%'"; // On ignore droits "tous"
$sql.= " AND r.entity = ".$conf->entity; $sql.= " AND r.entity = ".$fgroup->entity;
if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) $sql.= " AND r.perms NOT LIKE '%_advance'"; // Hide advanced perms if option is disable if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) $sql.= " AND r.perms NOT LIKE '%_advance'"; // Hide advanced perms if option is disable
$sql.= " ORDER BY r.module, r.id"; $sql.= " ORDER BY r.module, r.id";
@ -316,5 +319,5 @@ if ($_GET["id"])
$db->close(); $db->close();
llxFooter('$Date: 2011/08/17 15:56:24 $ - $Revision: 1.41 $'); llxFooter('$Date: 2011/08/21 00:20:43 $ - $Revision: 1.42 $');
?> ?>

View File

@ -22,7 +22,7 @@
/** /**
* \file htdocs/user/perms.php * \file htdocs/user/perms.php
* \brief Onglet user et permissions de la fiche utilisateur * \brief Onglet user et permissions de la fiche utilisateur
* \version $Id: perms.php,v 1.58 2011/08/17 15:56:25 eldy Exp $ * \version $Id: perms.php,v 1.59 2011/08/21 00:20:44 hregis Exp $
*/ */
require("../main.inc.php"); require("../main.inc.php");
@ -31,9 +31,12 @@ require_once(DOL_DOCUMENT_ROOT."/lib/usergroups.lib.php");
$langs->load("users"); $langs->load("users");
$langs->load("admin"); $langs->load("admin");
$module=isset($_GET["module"])?$_GET["module"]:$_POST["module"]; $id=GETPOST("id");
$action=GETPOST("action");
$confirm=GETPOST("confirm");
$module=GETPOST("module");
if (! isset($_GET["id"]) || empty($_GET["id"])) accessforbidden(); if (! isset($id) || empty($id)) accessforbidden();
// Defini si peux lire les permissions // Defini si peux lire les permissions
$canreaduser=($user->admin || $user->rights->user->user->lire); $canreaduser=($user->admin || $user->rights->user->user->lire);
@ -43,7 +46,7 @@ $caneditperms=($user->admin || $user->rights->user->user->creer);
if (! empty($conf->global->MAIN_USE_ADVANCED_PERMS)) if (! empty($conf->global->MAIN_USE_ADVANCED_PERMS))
{ {
$canreaduser=($user->admin || ($user->rights->user->user->lire && $user->rights->user->user_advance->readperms)); $canreaduser=($user->admin || ($user->rights->user->user->lire && $user->rights->user->user_advance->readperms));
$caneditselfperms=($user->id == $_GET["id"] && $user->rights->user->self_advance->writeperms); $caneditselfperms=($user->id == $id && $user->rights->user->self_advance->writeperms);
$caneditperms = '('.$caneditperms.' || '.$caneditselfperms.')'; $caneditperms = '('.$caneditperms.' || '.$caneditselfperms.')';
} }
@ -51,40 +54,40 @@ if (! empty($conf->global->MAIN_USE_ADVANCED_PERMS))
$socid=0; $socid=0;
if ($user->societe_id > 0) $socid = $user->societe_id; if ($user->societe_id > 0) $socid = $user->societe_id;
$feature2 = (($socid && $user->rights->user->self->creer)?'':'user'); $feature2 = (($socid && $user->rights->user->self->creer)?'':'user');
if ($user->id == $_GET["id"]) // A user can always read its own card if ($user->id == $id) // A user can always read its own card
{ {
$feature2=''; $feature2='';
$canreaduser=1; $canreaduser=1;
} }
$result = restrictedArea($user, 'user', $_GET["id"], '', $feature2); $result = restrictedArea($user, 'user', $id, '', $feature2);
if ($user->id <> $_REQUEST["id"] && ! $canreaduser) accessforbidden(); if ($user->id <> $id && ! $canreaduser) accessforbidden();
/** /**
* Actions * Actions
*/ */
if ($_GET["action"] == 'addrights' && $caneditperms) if ($action == 'addrights' && $caneditperms)
{ {
$edituser = new User($db); $edituser = new User($db);
$edituser->fetch($_GET["id"]); $edituser->fetch($id);
$edituser->addrights($_GET["rights"],$module); $edituser->addrights($_GET["rights"],$module);
// Si on a touche a ses propres droits, on recharge // Si on a touche a ses propres droits, on recharge
if ($_GET["id"] == $user->id) if ($id == $user->id)
{ {
$user->clearrights(); $user->clearrights();
$user->getrights(); $user->getrights();
} }
} }
if ($_GET["action"] == 'delrights' && $caneditperms) if ($action == 'delrights' && $caneditperms)
{ {
$edituser = new User($db); $edituser = new User($db);
$edituser->fetch($_GET["id"]); $edituser->fetch($id);
$edituser->delrights($_GET["rights"],$module); $edituser->delrights($_GET["rights"],$module);
// Si on a touche a ses propres droits, on recharge // Si on a touche a ses propres droits, on recharge
if ($_GET["id"] == $user->id) if ($id == $user->id)
{ {
$user->clearrights(); $user->clearrights();
$user->getrights(); $user->getrights();
@ -104,7 +107,7 @@ llxHeader('',$langs->trans("Permissions"));
$form=new Form($db); $form=new Form($db);
$fuser = new User($db); $fuser = new User($db);
$fuser->fetch($_GET["id"]); $fuser->fetch($id);
$fuser->getrights(); $fuser->getrights();
/* /*
@ -192,7 +195,7 @@ $sql = "SELECT r.id, r.libelle, r.module";
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r,"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r,";
$sql.= " ".MAIN_DB_PREFIX."user_rights as ur"; $sql.= " ".MAIN_DB_PREFIX."user_rights as ur";
$sql.= " WHERE ur.fk_id = r.id"; $sql.= " WHERE ur.fk_id = r.id";
$sql.= " AND r.entity = ".$conf->entity; $sql.= " AND r.entity = ".$fuser->entity;
$sql.= " AND ur.fk_user = ".$fuser->id; $sql.= " AND ur.fk_user = ".$fuser->id;
$result=$db->query($sql); $result=$db->query($sql);
@ -221,8 +224,8 @@ $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r,";
$sql.= " ".MAIN_DB_PREFIX."usergroup_rights as gr,"; $sql.= " ".MAIN_DB_PREFIX."usergroup_rights as gr,";
$sql.= " ".MAIN_DB_PREFIX."usergroup_user as gu"; $sql.= " ".MAIN_DB_PREFIX."usergroup_user as gu";
$sql.= " WHERE gr.fk_id = r.id"; $sql.= " WHERE gr.fk_id = r.id";
$sql.= " AND r.entity = ".$conf->entity; $sql.= " AND r.entity = ".$fuser->entity;
$sql.= " AND gu.entity IN (0,".$conf->entity.")"; $sql.= " AND gu.entity IN (0,".$fuser->entity.")";
$sql.= " AND gr.fk_usergroup = gu.fk_usergroup"; $sql.= " AND gr.fk_usergroup = gu.fk_usergroup";
$sql.= " AND gu.fk_user = ".$fuser->id; $sql.= " AND gu.fk_user = ".$fuser->id;
@ -285,7 +288,7 @@ print '</tr>'."\n";
$sql = "SELECT r.id, r.libelle, r.module"; $sql = "SELECT r.id, r.libelle, r.module";
$sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r";
$sql.= " WHERE r.libelle NOT LIKE 'tou%'"; // On ignore droits "tous" $sql.= " WHERE r.libelle NOT LIKE 'tou%'"; // On ignore droits "tous"
$sql.= " AND r.entity = ".$conf->entity; $sql.= " AND r.entity = ".$fuser->entity;
if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) $sql.= " AND r.perms NOT LIKE '%_advance'"; // Hide advanced perms if option is disable if (empty($conf->global->MAIN_USE_ADVANCED_PERMS)) $sql.= " AND r.perms NOT LIKE '%_advance'"; // Hide advanced perms if option is disable
$sql.= " ORDER BY r.module, r.id"; $sql.= " ORDER BY r.module, r.id";
@ -395,5 +398,5 @@ print '</table>';
$db->close(); $db->close();
llxFooter('$Date: 2011/08/17 15:56:25 $ - $Revision: 1.58 $'); llxFooter('$Date: 2011/08/21 00:20:44 $ - $Revision: 1.59 $');
?> ?>