public function inGroup($uid, $gid)
 {
     $user = \GO\Base\Model\User::model()->findSingleByAttribute('username', $uid);
     if (!$user) {
         return false;
     }
     $group = \GO\Base\Model\Group::model()->findSingleByAttribute('name', $gid);
     if (!$group) {
         return false;
     }
     $ug = \GO\Base\Model\UserGroup::model()->findByPk(array('user_id' => $user->id, 'group_id' => $group->id));
     return $ug != false;
 }
Example #2
0
 /**
  * Check if this group has a user
  * 
  * @param type $user_id
  * @return UserGroup or false 
  */
 public function hasUser($user_id)
 {
     return UserGroup::model()->findByPk(array('user_id' => $user_id, 'group_id' => $this->pk));
 }
Example #3
0
 /**
  * Returns an array of user group id's
  * 
  * @return Array 
  */
 public static function getGroupIds($userId)
 {
     $user = GO::user();
     if ($user && $userId == $user->id) {
         if (!isset(GO::session()->values['user_groups'])) {
             GO::session()->values['user_groups'] = array();
             $stmt = UserGroup::model()->find(\GO\Base\Db\FindParams::newInstance()->select('t.group_id')->criteria(\GO\Base\Db\FindCriteria::newInstance()->addCondition("user_id", $userId)));
             while ($r = $stmt->fetch()) {
                 GO::session()->values['user_groups'][] = $r->group_id;
             }
         }
         return GO::session()->values['user_groups'];
     } else {
         $ids = array();
         $stmt = UserGroup::model()->find(\GO\Base\Db\FindParams::newInstance()->select('t.group_id')->debugSql()->criteria(\GO\Base\Db\FindCriteria::newInstance()->addCondition("user_id", $userId)));
         while ($r = $stmt->fetch()) {
             $ids[] = $r->group_id;
         }
         return $ids;
     }
 }