示例#1
0
 public function bind_nexists_user()
 {
     $username = IFilter::act(IReq::get('username'));
     $email = IFilter::act(IReq::get('email'));
     $oauth_id = IFilter::act(ISession::get('oauth_id'));
     $oauth_userInfo = IFilter::act(ISession::get('oauth_userInfo'));
     /*注册信息校验*/
     if (IValidate::email($email) == false) {
         $message = '邮箱格式不正确';
     } else {
         if (!Util::is_username($username)) {
             $message = '用户名必须是由2-20个字符,可以为字数,数字下划线和中文';
         } else {
             $userObj = new IModel('user');
             $where = 'email = "' . $email . '" or username = "******" or username = "******"';
             $userRow = $userObj->getObj($where);
             if (!empty($userRow)) {
                 if ($email == $userRow['email']) {
                     $message = '此邮箱已经被注册过,请重新更换';
                 } else {
                     $message = "此用户名已经被注册过,请重新更换";
                 }
             } else {
                 $userData = array('email' => $email, 'username' => $username, 'password' => md5(ITime::getDateTime()));
                 $userObj->setData($userData);
                 $user_id = $userObj->add();
                 $memberObj = new IModel('member');
                 $memberData = array('user_id' => $user_id, 'true_name' => $oauth_userInfo['name'], 'last_login' => ITime::getDateTime(), 'sex' => isset($oauth_userInfo['sex']) ? $oauth_userInfo['sex'] : 1, 'time' => ITime::getDateTime());
                 $memberObj->setData($memberData);
                 $memberObj->add();
                 $oauthUserObj = new IModel('oauth_user');
                 //插入关系表
                 $oauthUserData = array('oauth_user_id' => $oauth_userInfo['id'], 'oauth_id' => $oauth_id, 'user_id' => $user_id, 'datetime' => ITime::getDateTime());
                 $oauthUserObj->setData($oauthUserData);
                 $oauthUserObj->add();
                 $userRow = CheckRights::isValidUser($userData['email'], $userData['password']);
                 CheckRights::loginAfter($userRow);
                 //自定义跳转页面
                 $callback = ISafe::get('callback');
                 $this->redirect('/site/success?message=' . urlencode("注册成功!") . '&callback=' . $callback);
             }
         }
     }
     if ($message != '') {
         $this->message = $message;
         $this->redirect('bind_user', false);
     }
 }
示例#2
0
 public function bind_exists_user()
 {
     $login_info = IReq::get('login_info');
     $password = IReq::get('password');
     $oauth_id = IFilter::act(ISession::get('oauth_id'));
     $oauth_userInfo = IFilter::act(ISession::get('oauth_userInfo'));
     if (!$oauth_id || !isset($oauth_userInfo['id'])) {
         $this->redirect('login');
         exit;
     }
     if ($userRow = CheckRights::isValidUser($login_info, md5($password))) {
         $oauthUserObj = new IModel('oauth_user');
         //插入关系表
         $oauthUserData = array('oauth_user_id' => $oauth_userInfo['id'], 'oauth_id' => $oauth_id, 'user_id' => $userRow['user_id'], 'datetime' => ITime::getDateTime());
         $oauthUserObj->setData($oauthUserData);
         $oauthUserObj->add();
         $this->loginAfter($userRow);
         //自定义跳转页面
         $callback = ISafe::get('callback');
         $this->redirect('/simple/success_info/?callback=' . $callback);
     } else {
         $this->login_info = $login_info;
         $this->message = '用户名和密码不匹配';
         $_GET['bind_type'] = 'exists';
         $this->redirect('bind_user', false);
     }
 }