[evolvis-commits] r15174: Bugfixes
mirabilos at evolvis.org
mirabilos at evolvis.org
Mon Feb 28 23:47:53 CET 2011
Author: mirabilos
Date: 2011-02-28 23:47:52 +0100 (Mon, 28 Feb 2011)
New Revision: 15174
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBAC.php
trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBACEngine.class.php
Log:
Bugfixes
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBAC.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBAC.php 2011-02-28 22:47:50 UTC (rev 15173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBAC.php 2011-02-28 22:47:52 UTC (rev 15174)
@@ -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_base/evolvisforge-5.1/gforge/common/include/RBACEngine.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBACEngine.class.php 2011-02-28 22:47:50 UTC (rev 15173)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBACEngine.class.php 2011-02-28 22:47:52 UTC (rev 15174)
@@ -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 evolvis-commits
mailing list