コード例 #1
0
 public function filterGroupControl($filterChain)
 {
     if (!isset($_GET['id'])) {
         throw new CHttpException(404);
     }
     /** @var Group $group */
     $group = Group::model()->findByAttributes(['number' => $_GET['id']]);
     if (!$group) {
         throw new CHttpException(404, 'Данной группы не существует');
     }
     $is_admin = Yii::app()->user->checkAccess('admin');
     $is_owner = $group->owner_id == Yii::app()->user->getId();
     $is_member = GroupMember::model()->findByAttributes(['group_id' => $group->id, 'user_id' => Yii::app()->user->getId()]);
     if (!$is_admin && !$is_owner && !$is_member) {
         throw new CHttpException(403, 'У вас нет доступа к данной группе');
     }
     self::$group = $group;
     $filterChain->run();
 }