Beispiel #1
0
 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);
 }
Beispiel #2
0
 /**
  * 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']]]]);
?>