public function oAuthSuccess($client) { // get user data from client $userAttributes = $client->getUserAttributes(); $email = $userAttributes['emails'][0]['value']; $player = Player::findByEmail($email); if ($player == null) { $player = new Player(); $player->email = $email; if (isset($userAttributes['image']) && isset($userAttributes['image']['url'])) { $photo = explode('?', $userAttributes['image']['url'])[0]; $player->photo = $photo; } if (isset($userAttributes['name'])) { $player->first_name = $userAttributes['name']['givenName']; $player->last_name = $userAttributes['name']['familyName']; } $player->generateAuthKey(); $player->generateAccessToken(); $player->save(); } if (Yii::$app->user->login($player, 3600 * 24 * 30)) { return $this->redirect(Url::previous()); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Forward::find(); $forwardTable = Forward::tableName(); $playerTable = Player::tableName(); $teamTable = Team::tableName(); $query->joinWith(['player' => function ($query) use($playerTable) { $query->from(['player' => $playerTable]); }]); $query->joinWith(['team' => function ($query) use($teamTable) { $query->from(['team' => $teamTable]); }]); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 50], 'sort' => ['defaultOrder' => ['goals' => SORT_DESC, 'penalty' => SORT_DESC]]]); // enable sorting for the related columns $addSortAttributes = ["player.lastname", "team.name"]; foreach ($addSortAttributes as $addSortAttribute) { $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]]; } if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(["{$forwardTable}id" => $this->id, 'goals' => $this->goals, 'penalty' => $this->penalty, 'matches' => $this->matches, 'team_id' => $this->team_id, 'player_id' => $this->player_id, 'season_id' => $this->season_id]); $query->andFilterWhere(['like', 'team.name', $this->getAttribute('team.name')])->andFilterWhere(['like', 'player.lastname', $this->getAttribute('player.lastname')]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Membership::find(); $membershipTable = Membership::tableName(); $teamTable = Team::tableName(); $playerTable = Player::tableName(); $ampluaTable = Amplua::tableName(); $query->joinWith(['team' => function ($query) use($teamTable) { $query->from(['team' => $teamTable]); }]); $query->joinWith(['amplua' => function ($query) use($ampluaTable) { $query->from(['amplua' => $ampluaTable]); }]); $query->joinWith(['player' => function ($query) use($playerTable) { $query->from(['player' => $playerTable]); }]); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 20]]); // enable sorting for the related columns $addSortAttributes = ["team.name", "amplua.name", "player.name"]; foreach ($addSortAttributes as $addSortAttribute) { $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]]; } if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(["{$membershipTable}.id" => $this->id, 'command_id' => $this->command_id, 'player_id' => $this->player_id, 'number' => $this->number, 'amplua_id' => $this->amplua_id, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'team.name', $this->getAttribute('team.name')]); $query->andFilterWhere(['like', 'player.lastname', $this->getAttribute('player.name')]); $query->andFilterWhere(['like', 'amplua.name', $this->getAttribute('amplua.name')]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Transfer::find(); $transferTable = Transfer::tableName(); // set up query with relation to `player.lastname` $playerTable = Player::tableName(); // set up query with relation to `teamFrom.name` and `teamTo.name` $teamTable = Team::tableName(); $query->joinWith(['player' => function ($query) use($playerTable) { $query->from(['player' => $playerTable]); }]); $query->joinWith(['teamFrom' => function ($query) use($teamTable) { $query->from(['teamFrom' => $teamTable]); }]); $query->joinWith(['teamTo' => function ($query) use($teamTable) { $query->from(['teamTo' => $teamTable]); }]); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 10]]); // enable sorting for the related columns $addSortAttributes = ["player.lastname", "teamFrom.name", "teamTo.name"]; foreach ($addSortAttributes as $addSortAttribute) { $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]]; } if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(["{$transferTable}.id" => $this->id, 'season_id' => $this->season_id, 'transfer_type_id' => $this->transfer_type_id, 'player_id' => $this->player_id, 'probability' => $this->probability, 'command_from_id' => $this->command_from_id, 'command_to_id' => $this->command_to_id, 'is_active' => $this->is_active, 'contract_date' => $this->contract_date, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'sum', $this->sum])->andFilterWhere(['like', 'clubs', $this->clubs])->andFilterWhere(['like', 'others', $this->others])->andFilterWhere(['like', 'teamFrom.name', $this->getAttribute('teamFrom.name')])->andFilterWhere(['like', 'teamTo.name', $this->getAttribute('teamTo.name')])->andFilterWhere(['like', 'player.lastname', $this->getAttribute('player.lastname')]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Contract::find(); $contractTable = Contract::tableName(); $playerTable = Player::tableName(); $teamTable = Team::tableName(); $seasonTable = Season::tableName(); $ampluaTable = Amplua::tableName(); $query->joinWith(['player' => function ($query) use($playerTable) { $query->from(['player' => $playerTable]); }]); $query->joinWith(['team' => function ($query) use($teamTable) { $query->from(['team' => $teamTable]); }]); $query->joinWith(['teamFrom' => function ($query) use($teamTable) { $query->from(['teamFrom' => $teamTable]); }]); $query->joinWith(['season' => function ($query) use($seasonTable) { $query->from(['season' => $seasonTable]); }]); $query->joinWith(['amplua' => function ($query) use($ampluaTable) { $query->from(['amplua' => $ampluaTable]); }]); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 10]]); $addSortAttributes = ["player.lastname", "teamFrom.name", "team.name", "season.name", "amplua.name"]; foreach ($addSortAttributes as $addSortAttribute) { $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]]; } if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(["{$contractTable}.id" => $this->id, 'command_id' => $this->command_id, 'season_id' => $this->season_id, 'amplua_id' => $this->amplua_id, 'number' => $this->number, 'command_from_id' => $this->command_from_id, 'year_from' => $this->year_from, 'year_till' => $this->year_till, 'matches' => $this->matches, 'goals' => $this->goals, 'is_active' => $this->is_active, 'debut' => $this->debut, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'teamFrom.name', $this->getAttribute('teamFrom.name')])->andFilterWhere(['like', 'team.name', $this->getAttribute('team.name')])->andFilterWhere(['like', 'player.lastname', $this->getAttribute('player.lastname')])->andFilterWhere(['like', 'season.name', $this->getAttribute('season.name')])->andFilterWhere(['like', 'amplua.name', $this->getAttribute('amplua.name')]); return $dataProvider; }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = PlayerModel::find(); // add conditions that should always apply here $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } // grid filtering conditions $query->andFilterWhere(['like', 'id', $this->id])->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'country_id', $this->country_id]); return $dataProvider; }
public function actionEdit($id) { $player = Player::find()->with(['playerPairStatisticCount' => function ($query) { $query->orderBy(['training_matches_count' => SORT_DESC]); }])->with('playerStatisticSummary')->with('playerSkill')->where(['id' => $id])->one(); if ($player->playerSkill == null) { $player->link('playerSkill', new PlayerSkill()); } $request = Yii::$app->request; if ($request->isPost) { if ($player->playerSkill->load($request->post()) && $player->playerSkill->save()) { return $this->redirect(['player/player', 'id' => $player->id]); } } return $this->render('edit', ['player' => $player]); }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Player::find(); $playerTable = Player::tableName(); // set up query with relation to `user.username` $ampluaTable = Amplua::tableName(); $query->joinWith(['amplua' => function ($query) use($ampluaTable) { $query->from(['amplua' => $ampluaTable]); }]); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 10]]); // enable sorting for the related columns $addSortAttributes = ["amplua.name"]; foreach ($addSortAttributes as $addSortAttribute) { $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]]; } if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(["{$playerTable}.id" => $this->id, 'birthday' => $this->birthday, 'height' => $this->height, 'weight' => $this->weight, 'amplua_id' => $this->amplua_id, 'country_id' => $this->country_id, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'firstname', $this->firstname])->andFilterWhere(['like', 'lastname', $this->lastname])->andFilterWhere(['like', 'slug', $this->slug])->andFilterWhere(['like', 'notes', $this->notes])->andFilterWhere(['like', 'image', $this->image])->andFilterWhere(['like', 'more_ampluas', $this->more_ampluas])->andFilterWhere(['like', 'amplua.name', $this->getAttribute('amplua.name')]); return $dataProvider; }
/** * Creates a new Career model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($playerID = null) { $model = new Career(); if (!isset($playerID)) { throw new \yii\web\BadRequestHttpException('Unidentified playerID'); } $player = Player::findOne($playerID); if (!isset($player)) { throw new \yii\web\BadRequestHttpException('Unidentified player model'); } $model->player_id = $playerID; if ($model->load(Yii::$app->request->post()) && $model->save()) { if (Yii::$app->request->isAjax) { $out = ['success' => 'true']; return Json::encode($out); } return $this->redirect(['view', 'id' => $model->id]); } else { if (Yii::$app->request->isAjax) { return $this->renderAjax('create', ['model' => $model]); } return $this->render('create', ['model' => $model]); } }
/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Career::find(); $team = new Team(); $league = new League(); $season = new Season(); $player = new Player(); $careerTable = Career::tableName(); $teamTable = Team::tableName(); $leagueTable = League::tableName(); $seasonTable = Season::tableName(); $playerTable = Player::tableName(); $query->joinWith(['team' => function ($query) use($teamTable) { $query->from(['team' => $teamTable]); }]); $query->joinWith(['league' => function ($query) use($leagueTable) { $query->from(['league' => $leagueTable]); }]); $query->joinWith(['player' => function ($query) use($playerTable) { $query->from(['player' => $playerTable]); }]); $query->joinWith(['season' => function ($query) use($seasonTable) { $query->from(['season' => $seasonTable]); }]); $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 10]]); $addSortAttributes = ['team.name', 'player.lastname', 'league.name', 'season.name']; foreach ($addSortAttributes as $addSortAttribute) { $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]]; } if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(["{$careerTable}.id" => $this->id, 'player_id' => $this->player_id, 'season_id' => $this->season_id, 'championship_matches' => $this->championship_matches, 'championship_goals' => $this->championship_goals, 'cup_matches' => $this->cup_matches, 'cup_goals' => $this->cup_goals, 'euro_matches' => $this->euro_matches, 'euro_goals' => $this->euro_goals, 'avg_mark' => $this->avg_mark, 'goal_passes' => $this->goal_passes]); $query->andFilterWhere(['like', "team.name", $this->getAttribute('team.name')])->andFilterWhere(['like', "player.lastname", $this->getAttribute('player.lastname')])->andFilterWhere(['like', "league.name", $this->getAttribute('league.name')])->andFilterWhere(['like', "season.name", $this->getAttribute('season.name')]); return $dataProvider; }
/** * Url: /player/{$id}-{$slug} * @param int $id Player id * @param $slug * @return mixed * @throws NotFoundHttpException */ public function actionPlayer($id, $slug) { $player = Player::findOne($id); if (!isset($player)) { throw new NotFoundHttpException('Страница не найдена.'); } $image = $player->getAsset(Asset::THUMBNAIL_CONTENT); $options = ['templateType' => 'col2', 'title' => 'Dynamomania.com | ' . $player->name, 'columnFirst' => ['post' => ['view' => '@frontend/views/site/team_member', 'data' => compact('player', 'image'), 'weight' => 0]], 'columnSecond' => ['blog_column' => SiteBlock::getBlogPosts(), 'banner1' => SiteBlock::getBanner(Banner::REGION_NEWS), 'banner2' => SiteBlock::getBanner(Banner::REGION_NEWS), 'banner3' => SiteBlock::getBanner(Banner::REGION_NEWS), 'banner4' => SiteBlock::getBanner(Banner::REGION_NEWS), 'banner5' => SiteBlock::getBanner(Banner::REGION_NEWS)]]; return $this->render('@frontend/views/site/index', $options); }
public function getPlayer2() { return $this->hasOne(Player::className(), ['id' => 'player_id_2']); }
public function actionPlayers($id) { $trainingMatch = TrainingMatch::findOne($id); $request = Yii::$app->request; if ($request->isPost) { $post = $request->post(); // Сброс старых игроков foreach ($trainingMatch->greenPlayers as $player) { $trainingMatch->unlink('greenPlayers', $player); } foreach ($trainingMatch->purplePlayers as $player) { $trainingMatch->unlink('purplePlayers', $player); } // Добавление новых if (isset($post['green_players_ids'])) { $greenPlayers = Player::find()->where(['id' => $post['green_players_ids']])->all(); foreach ($greenPlayers as $player) { $trainingMatch->link('greenPlayers', $player); } } if (isset($post['purple_players_ids'])) { $purplePlayers = Player::find()->where(['id' => $post['purple_players_ids']])->all(); foreach ($purplePlayers as $player) { $trainingMatch->link('purplePlayers', $player); } } // Сохранение в БД $trainingMatch->save(); } return [$trainingMatch->greenPlayers, $trainingMatch->purplePlayers]; }
/** * @return \yii\db\ActiveQuery */ public function getPlayers() { return $this->hasMany(Player::className(), ['country_id' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getPlayers() { return $this->hasMany(Player::className(), ['id' => 'player_id'])->viaTable('{{%video_player}}', ['video_id' => 'id']); }
public function getRefusedPlayers() { return $this->hasMany(Player::className(), ['id' => 'player_id'])->viaTable('training_match_refused_player', ['training_match_id' => 'id']); }
use yii\helpers\ArrayHelper; /* @var $this yii\web\View */ /* @var $model common\models\Career */ /* @var $form yii\widgets\ActiveForm */ ?> <div class="career-form"> <?php $form = ActiveForm::begin(); ?> <?php $availablePlayers = []; if (isset($model->player_id)) { $player = Player::findOne($model->player_id); if (isset($player->id)) { $availablePlayers = [$player->id => $player->name]; } } echo $form->field($model, 'player_id')->widget(SelectizeDropDownList::classname(), ['loadUrl' => Url::to(['player/player-list']), 'items' => $availablePlayers, 'options' => ['multiple' => false], 'clientOptions' => ['valueField' => 'value', 'labelField' => 'text', 'persist' => false]]); ?> <?php echo $form->field($model, 'league_id')->widget(Select2::classname(), ['data' => ArrayHelper::map(League::find()->all(), 'id', 'name'), 'language' => 'ru', 'options' => ['placeholder' => 'Выберите лигу...'], 'pluginOptions' => ['allowClear' => true]]); ?> <?php echo $form->field($model, 'season_id')->widget(Select2::classname(), ['data' => ArrayHelper::map(Season::find()->orderBy(['id' => SORT_DESC])->all(), 'id', 'name'), 'language' => 'ru', 'options' => ['placeholder' => 'Выберите сезон...'], 'pluginOptions' => ['allowClear' => true]]); ?>
public function actionRefuse($id) { $trainingMatch = TrainingMatch::find()->where(['id' => $id])->one(); if (!Yii::$app->user->isGuest) { $userId = Yii::$app->user->identity->id; $request = Yii::$app->request; if ($request->isPost) { $post = $request->post(); $player = Player::find()->where(['id' => $userId])->one(); $trainingMatch->unlink('purplePlayers', $player); $trainingMatch->unlink('greenPlayers', $player); $trainingMatch->link('refusedPlayers', $player); $trainingMatch->save(); } } return $this->goBack(); }
/** * Finds the Player model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param string $id * @return Player the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Player::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
public function getPlayer() { return $this->hasOne(Player::className(), ['user_id' => 'id']); }