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); } }
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); } }