[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