Пример #1
0
 /**
  * Authenticates username and password
  * @return boolean CUserIdentity::ERROR_NONE if successful authentication
  */
 public function authenticate()
 {
     $attribute = strpos($this->username, '@') ? 'email' : 'username';
     $user = FrontendUser::model()->find(array('condition' => $attribute . '=:loginname', 'params' => array(':loginname' => $this->username)));
     if ($user === null) {
         $this->errorCode = self::ERROR_USERNAME_INVALID;
     } else {
         if (!$user->verifyPassword($this->password)) {
             $this->errorCode = self::ERROR_PASSWORD_INVALID;
         } else {
             $user->regenerateValidationKey();
             $this->_id = $user->id;
             $this->username = $user->username;
             $this->setState('vkey', $user->validation_key);
             $this->errorCode = self::ERROR_NONE;
         }
     }
     return !$this->errorCode;
 }
Пример #2
0
 public function actionValidateForgetPassword()
 {
     $model = new ForgotPasswordForm();
     if (isset($_POST['ForgotPasswordForm'])) {
         $model->attributes = $_POST['ForgotPasswordForm'];
         $email = $model->email;
         $user = FrontendUser::model()->findByAttributes(array('email' => $email));
         if (!$model->validate()) {
             echo json_encode(array('status' => "fail", 'errors' => CHtml::error($model, 'email')));
             Yii::app()->end();
         } elseif (!$user) {
             echo json_encode(array('status' => "fail", 'errors' => 'Пользователь с таким e-mail не зарегистрирован'));
             Yii::app()->end();
         } else {
             echo '{"status" : "ok"}';
             Yii::app()->end();
         }
     }
     echo '{status: "fail", errors: "Ошибка восстановления пароля"}';
 }
Пример #3
0
 public function checkIfExists($email)
 {
     $user = FrontendUser::model()->findByAttributes(array('email' => $email));
     return $user;
 }
Пример #4
0
 /**
  * Returns
  * @return null
  */
 public function getUser()
 {
     if ($this->_user === null) {
         $attribute = strpos($this->username, '@') ? 'email' : 'username';
         $this->_user = FrontendUser::model()->find(array('condition' => $attribute . '=:loginname', 'params' => array(':loginname' => $this->username)));
     }
     return $this->_user;
 }