/** * Finds user by [[username]] * * @return User|null */ protected function getUser() { if ($this->_user === null) { $this->_user = User::findByUsername($this->username); } return $this->_user; }
public function successCallback($client) { $session = Yii::$app->session; $attributes = $client->getUserAttributes(); $email = User::find()->where(['email' => $attributes['email']])->one(); if ($email) { // email, fbid existed, login success $fbid = User::find()->where(['fbid' => $attributes['id'], 'email' => $attributes['email']])->one(); if ($fbid) { $active = User::find()->where(['fbid' => $attributes['id'], 'email' => $attributes['email'], 'status' => 1])->one(); if ($active) { Yii::$app->user->login($active); } else { // email existed, redirect to login $session->set('active', 'true'); $session->set('email', $attributes['email']); $session->set('fbid', $attributes['id']); $this->successUrl = Yii::$app->urlManager->createAbsoluteUrl(['site/login']); } } else { // email existed, redirect to login $session->set('login', ''); $session->set('email', $attributes['email']); $session->set('fbid', $attributes['id']); $this->successUrl = Yii::$app->urlManager->createAbsoluteUrl(['site/login']); } } else { // email not exist, redirect to register $session->set('login', 'false'); $session->set('email', $attributes['email']); $session->set('fbid', $attributes['id']); $session->set('name', $attributes['name']); $this->successUrl = Yii::$app->urlManager->createAbsoluteUrl(['site/login']); } }
/** * Sends an email with a link, for resetting the password. * * @return boolean whether the email was send */ public function sendEmail() { /* @var $user User */ $user = User::findOne(['status' => User::STATUS_ACTIVE, 'email' => $this->email]); if ($user) { if (!User::isPasswordResetTokenValid($user->password_reset_token)) { $user->generatePasswordResetToken(); } if ($user->save()) { return \Yii::$app->mailer->compose(['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user])->setFrom([\Yii::$app->params['supportEmail'] => \Yii::$app->name . ' robot'])->setTo($this->email)->setSubject('Password reset for ' . \Yii::$app->name)->send(); } } return false; }
public function getUser() { return $this->hasOne(User::className(), ['id' => 'user_id']); }
/** * Renders the index view for the module * @return string */ public function actionIndex($id) { $user = User::findOne($id); return $this->render('index', ['user' => $user]); }