Beispiel #1
0
 /**
  * @return array the validation rules.
  */
 public function rules()
 {
     return [[['username', 'email', 'password'], 'required'], ['email', 'email'], [['username'], 'string', 'max' => 30], [['password', 'password_repeat'], 'string', 'max' => 20], [['first_name', 'last_name'], 'string', 'max' => 50], ['password', function ($attribute, $params) {
         if ($this->password != $this->password_repeat) {
             $this->addError($attribute, 'Введенные пароли не совпадают');
         }
     }], [['username', 'email'], 'unique', 'targetClass' => users::className()], ['verifyCode', 'captcha'], [['avatar'], 'image', 'maxSize' => 1024 * 1024, 'tooBig' => 'Максимальный размер файла 1Мб']];
 }
 /**
  * @return array the validation rules.
  */
 public function rules()
 {
     return [[['username', 'email'], 'required'], ['email', 'email'], [['username'], 'string', 'max' => 30], [['password', 'password_repeat'], 'string', 'max' => 20], [['first_name', 'last_name'], 'string', 'max' => 50], ['notifications', 'integer'], ['password', function ($attribute, $params) {
         if ($this->password != $this->password_repeat) {
             $this->addError($attribute, 'Введенные пароли не совпадают');
         }
     }], [['username', 'email'], 'unique', 'targetClass' => users::className(), 'filter' => ['not', ['id' => Yii::$app->user->identity->id]]], [['avatar'], 'image', 'maxSize' => 1024 * 1024, 'tooBig' => 'Максимальный размер файла 1Мб']];
 }
 public function __construct($token, $config = [])
 {
     if (empty($token) || !is_string($token)) {
         throw new InvalidParamException('Неверный token сброса пароля');
     }
     $this->_user = users::findOne(['forgotten_password_code' => $token]);
     if (!$this->_user) {
         throw new InvalidParamException('Неверный token сброса пароля');
     }
     parent::__construct($config);
 }
 public function passReset()
 {
     $user = users::findOne(['active' => Users::STATUS_ACTIVE, 'username' => $this->username, 'email' => $this->email]);
     if ($user) {
         if (empty($user->forgotten_password_code)) {
             $user->forgotten_password_code = Yii::$app->security->generateRandomString();
         }
         if ($user->save()) {
             return \Yii::$app->mailer->compose('passReset', ['user' => $user])->setFrom([Yii::$app->params['adminEmail'] => 'Sportforecast'])->setTo($user->email)->setSubject('Восстановление пароля')->send();
         }
     }
     return false;
 }
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = users::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'created_on' => $this->created_on, 'last_login' => $this->last_login, 'active' => $this->active, 'notifications' => $this->notifications]);
     $query->andFilterWhere(['like', 'username', $this->username])->andFilterWhere(['like', 'password', $this->password])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'forgotten_password_code', $this->forgotten_password_code])->andFilterWhere(['like', 'first_name', $this->first_name])->andFilterWhere(['like', 'last_name', $this->last_name])->andFilterWhere(['like', 'avatar', $this->avatar])->andFilterWhere(['like', 'auth_key', $this->auth_key]);
     return $dataProvider;
 }