Example #1
0
 /**
  * Provides all members of this group.
  * 
  * @return UserGroupMember[]
  */
 public function getMembers()
 {
     // First get all userIDs that are members.
     $qAllMembers = db_query(sprintf("SELECT `userID`,`access` FROM `%s_group_members` WHERE `groupID`=%d", db_prefix(), $this->getGroupID()));
     $nAllMembers = db_num($qAllMembers);
     // Verify that we got any users.
     if ($qAllMembers === false || $nAllMembers < 1) {
         return array();
     }
     $members = array();
     $userIDs = array();
     $rowsIndexedByUID = array();
     // Fetch each as User
     while ($row = db_fetch_assoc($qAllMembers)) {
         $userIDs[] = $row["userID"];
         $rowsIndexedByUID[$row["userID"]] = $row;
     }
     // Fetch the users.
     $users = UserManager::getInstance()->getUsersByID($userIDs);
     if (count($users) < 1) {
         return array();
     }
     // Create as UserGroupMember
     foreach ($users as $user) {
         $memberRow = $rowsIndexedByUID[$user->getUserID()];
         $member = new UserGroupMember($user->getUserID());
         $member->fillInfo($user->getInfo());
         // fill extra variables
         $member->setAccess($memberRow["access"]);
         $member->setGroup($this);
         $members[] = $member;
         unset($memberRow, $user, $member);
     }
     return $members;
 }
Example #2
0
	public function groups()
	{
		return UserGroupMember::getGroupsWithUser($this->username);
	}
Example #3
0
	public function members()
	{
		return UserGroupMember::getAllInGroup($this->name);
	}