diff --git a/htdocs/user/class/usergroup.class.php b/htdocs/user/class/usergroup.class.php index 8a81d7c5318..a566dc2e2e6 100644 --- a/htdocs/user/class/usergroup.class.php +++ b/htdocs/user/class/usergroup.class.php @@ -21,7 +21,7 @@ * \file htdocs/user/class/usergroup.class.php * \brief Fichier de la classe des groupes d'utilisateur * \author Rodolphe Qiedeville - * \version $Id: usergroup.class.php,v 1.16 2011/08/21 10:01:37 hregis Exp $ + * \version $Id: usergroup.class.php,v 1.17 2011/08/23 22:25:38 eldy Exp $ */ require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); @@ -115,6 +115,7 @@ class UserGroup extends CommonObject /** * Return array of groups objects for a particular user + * * @param userid User id to search * @return array Array of groups objects */ @@ -129,7 +130,6 @@ class UserGroup extends CommonObject $sql.= " ".MAIN_DB_PREFIX."usergroup_user as ug"; $sql.= " WHERE ug.fk_usergroup = g.rowid"; $sql.= " AND ug.fk_user = ".$userid; - if(! empty($conf->multicompany->enabled) && $conf->entity == 1 && $user->admin && ! $user->entity) { $sql.= " AND g.entity IS NOT NULL"; @@ -138,7 +138,6 @@ class UserGroup extends CommonObject { $sql.= " AND g.entity IN (0,".$conf->entity.")"; } - $sql.= " ORDER BY g.nom"; dol_syslog("UserGroup::listGroupsForUser sql=".$sql,LOG_DEBUG); @@ -147,11 +146,11 @@ class UserGroup extends CommonObject { while ($obj = $this->db->fetch_object($result)) { - $group=new UserGroup($this->db); - $group->fetch($obj->rowid); - $group->usergroup_entity = $obj->usergroup_entity; + $newgroup=new UserGroup($this->db); + $newgroup->fetch($obj->rowid); + $newgroup->usergroup_entity = $obj->usergroup_entity; - $ret[]=$group; + $ret[]=$newgroup; } $this->db->free($result); @@ -168,6 +167,7 @@ class UserGroup extends CommonObject /** * Return array of users id for group + * * @return array of users */ function listUsersForGroup() @@ -181,7 +181,6 @@ class UserGroup extends CommonObject $sql.= " ".MAIN_DB_PREFIX."usergroup_user as ug"; $sql.= " WHERE ug.fk_user = u.rowid"; $sql.= " AND ug.fk_usergroup = ".$this->id; - if(! empty($conf->multicompany->enabled) && $conf->entity == 1 && $user->admin && ! $user->entity) { $sql.= " AND u.entity IS NOT NULL"; @@ -190,18 +189,17 @@ class UserGroup extends CommonObject { $sql.= " AND u.entity IN (0,".$conf->entity.")"; } - dol_syslog("UserGroup::listUsersForGroup sql=".$sql,LOG_DEBUG); $result = $this->db->query($sql); if ($result) { while ($obj = $this->db->fetch_object($result)) { - $userstatic=new User($this->db); - $userstatic->fetch($obj->rowid); - $userstatic->usergroup_entity = $obj->usergroup_entity; + $newuser=new User($this->db); + $newuser->fetch($obj->rowid); + $newuser->usergroup_entity = $obj->usergroup_entity; - $ret[]=$userstatic; + $ret[]=$newuser; } $this->db->free($result); @@ -456,7 +454,7 @@ class UserGroup extends CommonObject $this->rights->$row[0]->$row[1] = 1; } } - + $i++; } } @@ -521,7 +519,7 @@ class UserGroup extends CommonObject global $user, $conf, $langs; $now=dol_now(); - + $entity=$conf->entity; if(! empty($conf->multicompany->enabled) && $conf->entity == 1) { @@ -576,7 +574,7 @@ class UserGroup extends CommonObject global $user, $conf, $langs; $error=0; - + $entity=$conf->entity; if(! empty($conf->multicompany->enabled) && $conf->entity == 1) { diff --git a/htdocs/user/fiche.php b/htdocs/user/fiche.php index 0c97cd7880c..ee48afe3bc6 100644 --- a/htdocs/user/fiche.php +++ b/htdocs/user/fiche.php @@ -24,7 +24,7 @@ /** * \file htdocs/user/fiche.php * \brief Tab of user card - * \version $Id: fiche.php,v 1.281 2011/08/21 10:01:37 hregis Exp $ + * \version $Id: fiche.php,v 1.282 2011/08/23 22:25:38 eldy Exp $ */ require("../main.inc.php"); @@ -702,7 +702,7 @@ if (($action == 'create') || ($action == 'adduserldap')) } print "\n"; } - + //Multicompany if (! empty($conf->multicompany->enabled)) { @@ -1037,7 +1037,7 @@ else print yn($fuser->admin); } print ''."\n"; - + // Multicompany if (! empty($conf->multicompany->enabled) && empty($conf->global->MULTICOMPANY_TRANSVERSE_MODE) && $conf->entity == 1 && $user->admin && ! $user->entity) { @@ -1046,7 +1046,7 @@ else { print $langs->trans("AllEntities"); } - else + else { $mc = new ActionsMulticompany($db); $mc->getInfo($fuser->entity); @@ -1394,7 +1394,7 @@ else print ''; $rowspan=12; - + if ($conf->societe->enabled) $rowspan++; if ($conf->adherent->enabled) $rowspan++; if ($conf->webcalendar->enabled) $rowspan++; @@ -1596,7 +1596,7 @@ else } print ''; } - + // Tel pro print "".''; print ''."\n"; $sql = "SELECT r.id, r.libelle, r.module"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r"; $sql.= " WHERE r.libelle NOT LIKE 'tou%'"; // On ignore droits "tous" -$sql.= " AND r.entity = ".$fuser->entity; +if (empty($conf->multicompany->enabled)) $sql.= " AND r.entity = ".$conf->entity; +else $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 $sql.= " ORDER BY r.module, r.id"; +dol_syslog("sql=".$sql); $result=$db->query($sql); if ($result) { $num = $db->num_rows($result); $i = 0; $var = True; + while ($i < $num) { $obj = $db->fetch_object($result); @@ -394,9 +401,10 @@ if ($result) $i++; } } +else dol_print_error($db); print '
'.$langs->trans("PhonePro").''; @@ -1776,7 +1776,7 @@ else $db->close(); -llxFooter('$Date: 2011/08/21 10:01:37 $ - $Revision: 1.281 $'); +llxFooter('$Date: 2011/08/23 22:25:38 $ - $Revision: 1.282 $'); diff --git a/htdocs/user/group/perms.php b/htdocs/user/group/perms.php index 2d6b3de31dd..f740bb05696 100644 --- a/htdocs/user/group/perms.php +++ b/htdocs/user/group/perms.php @@ -22,7 +22,7 @@ /** * \file htdocs/user/group/perms.php * \brief Onglet user et permissions de la fiche utilisateur - * \version $Id: perms.php,v 1.42 2011/08/21 00:20:43 hregis Exp $ + * \version $Id: perms.php,v 1.43 2011/08/23 22:25:37 eldy Exp $ */ require("../../main.inc.php"); @@ -170,7 +170,8 @@ if ($id) $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r"; $sql.= ", ".MAIN_DB_PREFIX."usergroup_rights as ugr"; $sql.= " WHERE ugr.fk_id = r.id"; - $sql.= " AND r.entity = ".$fgroup->entity; + if (empty($conf->multicompany->enabled)) $sql.= " AND r.entity = ".$conf->entity; + else $sql.= " AND r.entity = ".$fgroup->entity; $sql.= " AND ugr.fk_usergroup = ".$fgroup->id; $result=$db->query($sql); @@ -235,7 +236,8 @@ if ($id) $sql = "SELECT r.id, r.libelle, r.module"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r"; $sql.= " WHERE r.libelle NOT LIKE 'tou%'"; // On ignore droits "tous" - $sql.= " AND r.entity = ".$fgroup->entity; + if (empty($conf->multicompany->enabled)) $sql.= " AND r.entity = ".$conf->entity; + else $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 $sql.= " ORDER BY r.module, r.id"; @@ -319,5 +321,5 @@ if ($id) $db->close(); -llxFooter('$Date: 2011/08/21 00:20:43 $ - $Revision: 1.42 $'); +llxFooter('$Date: 2011/08/23 22:25:37 $ - $Revision: 1.43 $'); ?> diff --git a/htdocs/user/perms.php b/htdocs/user/perms.php index 963cff8098f..8b7d569b12d 100644 --- a/htdocs/user/perms.php +++ b/htdocs/user/perms.php @@ -22,7 +22,7 @@ /** * \file htdocs/user/perms.php * \brief Onglet user et permissions de la fiche utilisateur - * \version $Id: perms.php,v 1.59 2011/08/21 00:20:44 hregis Exp $ + * \version $Id: perms.php,v 1.60 2011/08/23 22:25:38 eldy Exp $ */ require("../main.inc.php"); @@ -154,7 +154,7 @@ foreach($modulesdir as $dir) $handle=opendir($dir); if (is_resource($handle)) { - while (($file = readdir($handle))!==false) + while (($file = readdir($handle))!==false) { if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php') { @@ -164,6 +164,7 @@ foreach($modulesdir as $dir) { include_once($dir.$file); $objMod = new $modName($db); + // Load all lang files of module if (isset($objMod->langfiles) && is_array($objMod->langfiles)) { @@ -173,8 +174,8 @@ foreach($modulesdir as $dir) } } // Load all permissions - if ($objMod->rights_class) { - + if ($objMod->rights_class) + { $ret=$objMod->insert_permissions(0); $modules[$objMod->rights_class]=$objMod; @@ -195,7 +196,8 @@ $sql = "SELECT r.id, r.libelle, r.module"; $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r,"; $sql.= " ".MAIN_DB_PREFIX."user_rights as ur"; $sql.= " WHERE ur.fk_id = r.id"; -$sql.= " AND r.entity = ".$fuser->entity; +if (empty($conf->multicompany->enabled)) $sql.= " AND r.entity = ".$conf->entity; +else $sql.= " AND r.entity = ".$fuser->entity; $sql.= " AND ur.fk_user = ".$fuser->id; $result=$db->query($sql); @@ -224,8 +226,10 @@ $sql.= " FROM ".MAIN_DB_PREFIX."rights_def as r,"; $sql.= " ".MAIN_DB_PREFIX."usergroup_rights as gr,"; $sql.= " ".MAIN_DB_PREFIX."usergroup_user as gu"; $sql.= " WHERE gr.fk_id = r.id"; -$sql.= " AND r.entity = ".$fuser->entity; -$sql.= " AND gu.entity IN (0,".$fuser->entity.")"; +if (empty($conf->multicompany->enabled)) $sql.= " AND r.entity = ".$conf->entity; +else $sql.= " AND r.entity = ".$fuser->entity; +if (empty($conf->multicompany->enabled)) $sql.= " AND gu.entity IN (0,".$conf->entity.")"; +else $sql.= " AND gu.entity IN (0,".$fuser->entity.")"; $sql.= " AND gr.fk_usergroup = gu.fk_usergroup"; $sql.= " AND gu.fk_user = ".$fuser->id; @@ -288,16 +292,19 @@ print '
'; $db->close(); -llxFooter('$Date: 2011/08/21 00:20:44 $ - $Revision: 1.59 $'); +llxFooter('$Date: 2011/08/23 22:25:38 $ - $Revision: 1.60 $'); ?>