[Fusionforge-commits] r9853 - trunk/gforge/common/include
Roland Mas
lolando at libremir.placard.fr.eu.org
Fri May 21 10:00:22 CEST 2010
Author: lolando
Date: 2010-05-21 10:00:21 +0200 (Fri, 21 May 2010)
New Revision: 9853
Modified:
trunk/gforge/common/include/RBAC.php
trunk/gforge/common/include/RBACEngine.class.php
Log:
Bugfixes
Modified: trunk/gforge/common/include/RBAC.php
===================================================================
--- trunk/gforge/common/include/RBAC.php 2010-05-21 07:59:59 UTC (rev 9852)
+++ trunk/gforge/common/include/RBAC.php 2010-05-21 08:00:21 UTC (rev 9853)
@@ -102,7 +102,7 @@
}
$this->data_array =& db_fetch_array($res);
- $res = db_query_params ('SELECT section, reference, value FROM pfo_role_setting WHERE role_id=$1',
+ $res = db_query_params ('SELECT section_name, ref_id, perm_val FROM pfo_role_setting WHERE role_id=$1',
array ($role_id)) ;
if (!$res) {
$this->setError('BaseRole::fetchData()::'.db_error());
@@ -110,7 +110,7 @@
}
$this->perms_array=array();
while ($arr =& db_fetch_array($res)) {
- $this->perms_array[$arr['section']][$arr['reference']] = $arr['value'];
+ $this->perms_array[$arr['section_name']][$arr['ref_id']] = $arr['perm_val'];
}
} else {
$res = db_query_params ('SELECT * FROM role WHERE role_id=$1',
Modified: trunk/gforge/common/include/RBACEngine.class.php
===================================================================
--- trunk/gforge/common/include/RBACEngine.class.php 2010-05-21 07:59:59 UTC (rev 9852)
+++ trunk/gforge/common/include/RBACEngine.class.php 2010-05-21 08:00:21 UTC (rev 9853)
@@ -43,11 +43,19 @@
if (session_loggedin()) {
$result[] = RoleLoggedIn::getInstance() ;
+ $user = session_get_user() ;
- $user = session_get_user() ;
- $groups = $user->getGroups() ;
- foreach ($groups as $g) {
- $result[] = $user->getRole($g) ;
+ if (USE_PFO_RBAC) {
+ $res = db_query_params ('SELECT role_id FROM pfo_user_role WHERE user_id=$1',
+ array ($user->getID()));
+ while ($arr =& db_fetch_array($res)) {
+ $result[] = $this->getRoleById ($arr['role_id']) ;
+ }
+ } else {
+ $groups = $user->getGroups() ;
+ foreach ($groups as $g) {
+ $result[] = $user->getRole($g) ;
+ }
}
}
More information about the Fusionforge-commits
mailing list