public function actionIndex() { if (Yii::$app->user->isGuest) { $dataProvider = new ArrayDataProvider(['allModels' => Tournaments::getAllTournaments()]); $dataProvider->sort = ['attributes' => ['startsOn'], 'defaultOrder' => ['startsOn' => SORT_DESC]]; $dataProvider->pagination = ['pageSize' => 10]; return $this->render('indexGuest', ['dataProvider' => $dataProvider]); } $user = Yii::$app->user->identity; Yii::$app->user->returnUrl = Yii::$app->request->url; //active tournaments where user participates $k = Tournaments::getActivePendingTournamentsUserParticipate($user->id); $userTournaments = new ArrayDataProvider(['allModels' => $k, 'sort' => ['attributes' => ['startsOn'], 'defaultOrder' => ['startsOn' => SORT_DESC]]]); $k = Tournaments::finishedTournamentsUserParticipated($user->id); $userFinishedTournaments = new ArrayDataProvider(['allModels' => $k, 'sort' => ['attributes' => ['startsOn'], 'defaultOrder' => ['startsOn' => SORT_DESC]]]); $k = Tournaments::getAllTournamentsUserNotParticipate($user->id); //all tournaments, those not finished - ability to start participating $notUserTournaments = new ArrayDataProvider(['allModels' => $k, 'sort' => ['attributes' => ['startsOn'], 'defaultOrder' => ['startsOn' => SORT_DESC]]]); return $this->render('indexUser', ['userTournaments' => $userTournaments, 'userFinishedTournaments' => $userFinishedTournaments, 'notUserTournaments' => $notUserTournaments]); }