/** * 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; }
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: "Ошибка восстановления пароля"}'; }
public function checkIfExists($email) { $user = FrontendUser::model()->findByAttributes(array('email' => $email)); return $user; }
/** * 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; }