[Fusionforge-commits] r7283 - trunk/gforge/common/include

Julien HEYMAN jheyman at libremir.placard.fr.eu.org
Thu Apr 2 14:33:50 CEST 2009


Author: jheyman
Date: 2009-04-02 14:33:49 +0200 (Thu, 02 Apr 2009)
New Revision: 7283

Modified:
   trunk/gforge/common/include/User.class.php
Log:
Add feature : add getRole in User class

Modified: trunk/gforge/common/include/User.class.php
===================================================================
--- trunk/gforge/common/include/User.class.php	2009-04-02 12:33:29 UTC (rev 7282)
+++ trunk/gforge/common/include/User.class.php	2009-04-02 12:33:49 UTC (rev 7283)
@@ -1408,6 +1408,38 @@
 		}
 		return $this->theme;
 	}
+
+	/**
+	 *  getRole() - Get user Role object.
+	 *
+	 *  @param  object  group object
+	 *  @return object  Role object
+	 */
+	function getRole(&$group) {
+		if (!$group || !is_object($group)) {
+			$this->setError('User::getRole : Unable to get group object');
+			return false;
+		}
+		$sql = "SELECT role_id FROM user_group WHERE user_id=".$this->getID()." AND group_id = ".$group->getID();
+		$res = db_query($sql);
+		if (!$res) {
+			$this->setError('User::getRole::DB - Could Not get role_id '.db_error());
+			return false;
+		}
+		$role_id = db_result($res,0,'role_id');
+		//
+		//  Role setup
+		//
+		$role = new Role($group,$role_id);
+		if (!$role || !is_object($role)) {
+			$this->setError('Error Getting Role Object');
+			return false;
+		} elseif ($role->isError()) {
+			$this->setError('User::getRole::roleget::'.$role->getErrorMessage());
+			return false;
+		}
+		return $role;
+	}
 }
 
 /*




More information about the Fusionforge-commits mailing list