Exemplo n.º 1
0
 public function actionConfirm($key)
 {
     $this->layout = '//home/yii';
     $success = false;
     $userKey = UserKey::findActiveByKey($key, [UserKey::TYPE_EMAIL_ACTIVATE, UserKey::TYPE_EMAIL_CHANGE]);
     if ($userKey) {
         $user = new User();
         $user = $user::findOne($userKey->id_user);
         if ($user->status == Dict::USER_STATUS_INACTIVE) {
             $user->confirm(Dict::USER_STATUS_INACTIVE);
         } else {
             $user->confirm(Dict::USER_STATUS_ACTIVE);
         }
         $userKey->consume();
         $success = $user->email;
     } else {
         return $this->render("badlink");
     }
     return $this->render("confirm", ["userKey" => $userKey, "success" => $success]);
 }
Exemplo n.º 2
0
 public static function forgotPassword($type, $user, $expireTime)
 {
     $expireTime = $expireTime !== null ? date("Y-m-d H:i:s", strtotime("+" . $expireTime)) : null;
     $userKey = UserKey::generate($user->id, UserKey::TYPE_PASSWORD_RESET, $expireTime);
     $template = 'forgotPassword';
     $subject = DictEmail::$emailType[$type];
     return ['subject' => $subject, 'template' => $template, 'user' => $user, 'userKey' => $userKey];
 }
Exemplo n.º 3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getUserKeys()
 {
     return $this->hasMany(UserKey::className(), ['user_id' => 'user_id']);
 }