public function register() { $user = new Users(); $user->username = $this->username; $user->email = $this->email; $user->password = $this->password; $user->first_name = $this->first_name; $user->last_name = $this->last_name; $user->last_login = time(); $user->avatar = UploadedFile::getInstance($this, 'avatar'); $user->save(); return Yii::$app->user->login($user, 3600 * 24 * 7); }
/** * Finds user by [[username]] */ public function getUser($username) { if (!$this->_user) { $this->_user = Users::findOne(compact('username')); } return $this->_user; }
public function up() { $users = Users::find()->all(); foreach ($users as &$one) { $one->rehash = 0; $one->save(); } }
public function __construct($config = []) { $this->_user = Users::findOne(['id' => Yii::$app->user->identity->id]); $this->username = $this->_user->username; $this->email = $this->_user->email; $this->old_avatar = $this->_user->avatar; $this->first_name = $this->_user->first_name; $this->last_name = $this->_user->last_name; $this->notifications = $this->_user->notifications; parent::__construct($config); }
public static function getAutoReminderRecipients($tournament, $tour) { $candidates = self::find()->joinWith('idUser')->where(['id_tournament' => $tournament, 'notification' => self::NOTIFICATION_ENABLED, 'active' => Users::STATUS_ACTIVE])->all(); $recipients = []; $tours = Games::getNumberOfGamesPerTour($tournament); foreach ($candidates as $one) { if (Forecasts::getUserForecastTour($one['id_user'], $tournament, $tours)[$tour] != '2' && Reminders::ifEligible($tournament, $tour, $one['id_user'])) { $recipients[] = Users::find()->where(['id' => $one['id_user']])->one(); } } return $recipients; }
public function up() { $rbac = \Yii::$app->authManager; $user = $rbac->createRole('user'); $user->description = 'Regular site user'; $rbac->add($user); $admin = $rbac->createRole('administrator'); $admin->description = 'Administrator'; $rbac->add($admin); $rbac->addChild($admin, $user); $users = Users::find()->all(); foreach ($users as $one) { if ($one->id == 1) { $rbac->assign($admin, $one->id); } else { $rbac->assign($user, $one->id); } } }
/** * @return \yii\db\ActiveQuery */ public function getIdUser() { return $this->hasOne(\app\models\users\Users::className(), ['id' => 'id_user']); }
public function actionUser($user, $tournament) { $userModel = Users::findOne($user); $forecastStatus = Forecasts::getUserForecastStatus($tournament, $user); $forecast = new ArrayDataProvider(['allModels' => $forecastStatus, 'pagination' => false]); $winnersForecast = Top3TeamsForecast::find()->where(['id_tournament' => $tournament])->andWhere(['id_user' => $user])->with('team.idTeam')->orderBy(['forecasted_position' => SORT_ASC])->asArray()->all(); $isFinished = Tournaments::findOne($tournament)->is_active == Tournaments::FINISHED; $winnersForecastDataProvider = new ArrayDataProvider(['allModels' => $winnersForecast, 'pagination' => false]); $data = ['forecast' => $forecast, 'user' => $userModel, 'winnersForecast' => $winnersForecastDataProvider, 'isFinished' => $isFinished]; if ($isFinished) { $userTournamentModel = UsersTournaments::find()->where(['id_user' => $user])->andWhere(['id_tournament' => $tournament])->with('winnersForecast')->one(); $data['winnersForecastDetails'] = implode('</br>', Top3TeamsForecast::getClarifications($user, $tournament)); $data['totalAdditionalPoints'] = $userTournamentModel->calculateAdditionalPoints(); } return $this->renderAjax('user', $data); }
<?php use yii\helpers\Html; use yii\helpers\Url; use kartik\grid\GridView; use yii\bootstrap\Modal; use app\models\users\Users; ?> <?php Modal::begin(['header' => '<h4>Прогноз по турам</h4>', 'id' => 'mU', 'size' => 'SIZE_LARGE']); echo "<div id = 'modalUserContent'></div>"; Modal::end(); ?> <?php echo GridView::widget(['dataProvider' => $forecasters, 'export' => false, 'caption' => 'Лидеры прогноза', 'summary' => false, 'responsive' => false, 'responsiveWrap' => false, 'options' => ['class' => 'col-xs-12 col-md-5 col-lg-4 col-lg-offset-1'], 'columns' => [['class' => 'yii\\grid\\SerialColumn', 'contentOptions' => ['align' => 'center', 'style' => 'vertical-align:middle'], 'headerOptions' => ['style' => 'text-align:center'], 'options' => ['class' => 'col-xs-1'], 'header' => 'Место'], ['header' => 'Пользователь', 'attribute' => "idUser.username", 'vAlign' => 'middle', 'options' => ['class' => 'col-xs-9'], 'hAlign' => 'left', 'headerOptions' => ['style' => 'text-align:center'], 'content' => function ($model) { return Html::img(Users::getPath() . '/' . $model->idUser->avatar, ['height' => '30']) . Html::button($model->idUser->username, ['value' => Url::to(['tournaments/user', 'user' => $model->id_user, 'tournament' => $model->id_tournament]), 'class' => 'btn btn-link modalUser']); }], ['header' => 'Очки', 'attribute' => "points", 'vAlign' => 'middle', 'options' => ['class' => 'col-xs-1'], 'hAlign' => 'center', 'content' => function ($model) { return $model->totalPoints === NULL ? '-' : $model->totalPoints; }, 'headerOptions' => ['style' => 'text-align:center']]]]); ?>