Пример #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = User::find()->with('info');
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'role', $this->role]);
     return $dataProvider;
 }
 /**
  * @param string $key password recovery key.
  * @throws Exception if can't update model.
  * @return bool
  */
 public function resetPassword($key)
 {
     /** @var User $user */
     $user = User::find()->where(['recoveryKey' => $key])->one();
     if (!$user || !$this->validate()) {
         return false;
     }
     $user->password = $user->passwordToHash($this->password);
     if (!$user->validate(['password'])) {
         $this->addErrors($user->getErrors());
         return false;
     }
     $user->recoveryKey = null;
     $user->saveOrPanic();
     // Auto login
     Yii::$app->user->login($user);
     return true;
 }
Пример #3
0
 /**
  * Find records
  * @param  array|string                    $parameters
  * @return multitype:\App\Core\Models\User
  */
 public function find($parameters = null)
 {
     return User::find($parameters);
 }