Пример #1
0
 /**
  * Finds user by [[username]]
  *
  * @return User|null
  */
 protected function getUser()
 {
     if ($this->_user === null) {
         $this->_user = User::findByUsername($this->username);
     }
     return $this->_user;
 }
Пример #2
0
 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']);
     }
 }
Пример #3
0
 /**
  * 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;
 }
Пример #4
0
 public function getUser()
 {
     return $this->hasOne(User::className(), ['id' => 'user_id']);
 }
Пример #5
0
 /**
  * Renders the index view for the module
  * @return string
  */
 public function actionIndex($id)
 {
     $user = User::findOne($id);
     return $this->render('index', ['user' => $user]);
 }