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; }
/** * 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)); }
/** * 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; } }