コード例 #1
0
ファイル: UserControl.php プロジェクト: ttym7993/Linger
 /**
  * 修改用户邮箱
  * @param User   $user
  * @param string $email
  * @param string $password
  * @param string $code
  * @throws \Exception
  */
 public function edit_email($user, $email, $password, $code)
 {
     lib()->load('UserCheck');
     $email = strtolower(trim($email));
     $code = strtolower(trim($code));
     if ($user->getPassword() !== UserCheck::CreatePassword($password, $user->getSalt())) {
         $this->throwMsg(-10);
     }
     $email_check = UserCheck::CheckEmail($email);
     if ($email_check !== true) {
         throw new \Exception($email_check);
     }
     $meta = $user->getMeta()->get(['edit_email_add', 'edit_email_time', 'edit_email_code'], '');
     if ($meta['edit_email_add'] !== $email) {
         $this->throwMsg(-13);
     }
     if ($meta['edit_email_code'] !== $code) {
         $this->throwMsg(-12);
     }
     if (time() - strtotime($meta['edit_email_time']) > hook()->apply('UserControl_edit_email_time', 3 * 24 * 60 * 60)) {
         $this->throwMsg(-11);
     }
     $user->getMeta()->delete(['edit_email_add', 'edit_email_time', 'edit_email_code']);
     $user->set(['email' => $email]);
 }
コード例 #2
0
ファイル: UserRegister.php プロジェクト: ttym7993/Linger
 /**
  * @param User   $user
  * @param string $code
  * @throws \Exception
  * @return int 返回用户状态码
  */
 public static function UserActivation($user, $code)
 {
     if ($user->is_active()) {
         throw new \Exception(_("User is already activation"));
     }
     $meta = $user->getMeta()->get(["activation_code", "activation_time"], '');
     if (empty($meta['activation_time']) || empty($meta['activation_code'])) {
         throw new \Exception(_("Activation code is invalid"));
     }
     if (time() - strtotime($meta['activation_time']) > hook()->apply('UserRegister_UserActivation_time', 3 * 24 * 60 * 60)) {
         throw new \Exception(_("Activation code is time out"));
     }
     if ($meta['activation_code'] != $code) {
         throw new \Exception(_("Activation code is error"));
     } else {
         $user->set(['status' => 1]);
     }
     return $user->getStatus();
 }