示例#1
0
 /**
  * 返回登录
  */
 public function callback()
 {
     require_once COMMON_LIB_PATH . "QqConnect/API/qqConnectAPI.php";
     $qc = new QC();
     $callback = $qc->qq_callback();
     $openid = $qc->get_openid();
     $user = K("user")->field("uid,username,password,qqau,userlock,uuid,usergroup")->where(array("qqau" => $openid))->find();
     session("qqau", $openid);
     if (empty($user["qqau"])) {
         //首次登录或没有绑定账号
         $qc = new QC($callback, $openid);
         $arr = $qc->get_user_info();
         session("UserInfo", $arr["nickname"]);
         go("Passport/Qqlogin/index");
     } elseif ($user["qqau"] == $openid) {
         //数据库比对正确
         if ($user["userlock"] == 1) {
             $this->error("您已经被锁定,请联系管理员!");
         }
         //$this->eve_exp($user["uid"]);
         $loginData = array("logintime" => time(), "loginip" => ip::getClientIp(), "qqau" => $openid);
         M("user")->where(array("uid" => $user["uid"]))->save($loginData);
         // p($_POST);
         session("username", $user["username"]);
         session("uid", $user["uid"]);
         session("uuid", $user["uuid"]);
         session("usergroup", $user["usergroup"]);
         $this->success("登录成功!正在跳转...", U(__WEB__));
     }
 }
 public function callback()
 {
     require 'QQ/API/qqConnectAPI.php';
     //引进qqapi 接口
     $qc = new \QC();
     $acs = $qc->qq_callback();
     //获取access-token 和openid
     $oid = $qc->get_openid();
     $qc = new \QC($acs, $oid);
     $uinfo = $qc->get_user_info();
     //获取用户信息
     $user = M('user');
     $list = $user->where("openid='" . $oid . "'  and status = 1")->find();
     if ($list) {
         session('userid', $list['id']);
         session('username', $list['nickname']);
         session('userphone', $list['mobile']);
         session('userimg', $list['headpic']);
         //var_dump($list);die();
         echo "<script>window.close();window.opener.location.reload()</script>";
         exit;
         //$this->redirect('Index/index', '', 0, '页面跳转中...');
     } else {
         session('openid', $oid);
         session('uinfo', $uinfo);
         session('sign', array('name' => 'QQ账号', 'code' => 1));
         echo "<script>window.close();window.opener.location.href='" . U('User/threepartlogin') . "'</script>";
         exit;
     }
 }
示例#3
0
 public function qqcallback()
 {
     Vendor('Oauth.QC#class');
     $qc = new \QC();
     $token = $qc->qq_callback();
     $openid = $qc->get_openid();
     if (!$token || !$openid) {
         $this->error('操作失败');
     }
     // 重新实例化 QC类
     $qc = new \QC($token, $openid);
     $uinfo = $qc->get_user_info();
     $this->user_model = D('user');
     $user = $this->user_model->field('id,email,password')->where(array('qq_token' => $token, 'qq_openid' => $openid))->find();
     // echo $this->user_model->getLastSql();
     if ($user['id'] > 0) {
         // 登录用户
         if ($this->user_model->login($user['id'], $user['email'], $user['password'])) {
             //TODO:跳转到登录前页面
             $this->success('登录成功!', session('rebackurl'));
         } else {
             $this->error($model->getError());
         }
     } else {
         session('avatar', $uinfo['figureurl_qq_2']);
         session('openid', $openid);
         session('token', $token);
         session('uname', $uinfo['nickname']);
         session('oatype', 'qq_');
         //print_r($uinfo);
         $this->redirect('join');
     }
 }
 public function callback()
 {
     vendor('QQApi.qqConnectAPI');
     $qc = new \QC();
     $access_token = $qc->qq_callback();
     $openid = $qc->get_openid();
     $data['data'] = serialize(array('access_token' => $access_token, 'openid' => $openid));
     M('post_log')->add($data);
     //注册会员信息
     //查看此openid是否存在
     $map['username'] = $openid;
     $detail = D('User')->where($map)->find();
     $userid = $detail['userid'];
     $nickname = $detail['nickname'];
     if (!$detail) {
         //获取用户信息
         $arr = $qc->get_user_info();
         M('post_log')->add(array('data' => serialize($arr)));
         $info['username'] = $openid;
         $info['nickname'] = $nickname = $arr['nickname'];
         $userid = D('User')->add($info);
     }
     if ($userid) {
         //保存session
         session('userid', $userid);
         //保存cookie用户信息
         cookie('userid', $userid);
         cookie('nickname', $nickname);
         cookie('userid', $userid);
         redirect(U('Shenma/user'));
     }
     /* $arr = $qc->get_user_info();
     		
     		var_dump($arr);exit; */
 }
示例#5
0
文件: qq.php 项目: yongge666/sunupedu
 public function getUserInfo()
 {
     require_once dirname(__FILE__) . "/API/qqConnectAPI.php";
     $qc = new QC(ISession::get('access_token'), ISession::get('openid'), $this->apiId);
     $arr = $qc->get_user_info();
     $userInfo['id'] = ISession::get('openid');
     $userInfo['name'] = isset($arr['nickname']) ? $arr['nickname'] : '';
     return $userInfo;
 }
示例#6
0
 public function qq_callback()
 {
     require_once "./public/Library/qqAuth/qqConnectAPI.php";
     $qc = new QC();
     //echo $qc->qq_callback();
     $openid = $qc->get_openid();
     $arr = $qc->get_user_info();
     $nickname = $arr["nickname"];
     //TODO 注册登录操作
 }
 /**
  * QQ回调地址 
  *
  */
 public function actionQq_callback()
 {
     require_once Yii::getPathOfAlias('ext') . "/OAuth/qq/qqConnectAPI.php";
     $qc = new QC();
     $access_token = $qc->qq_callback();
     $openid = $qc->get_openid();
     $qc = new QC($access_token, $openid);
     $user_info = $qc->get_user_info();
     //查看是否已绑定
     $bind = OAuthQQ::model()->findByPk($openid);
     //数据
     $data = array('type' => 'qq', 'access_token' => $access_token, 'openid' => $openid, 'uid' => $bind ? $bind->uid : 0, 'username' => $user_info['nickname'], 'avatar' => $user_info['figureurl_2']);
     //绑定注册
     $this->bind_register($bind, $data);
 }
示例#8
0
文件: QQ.php 项目: dalinhuang/andyou
 /**
  * 获得用户信息
  * 具体接口:http://wiki.open.qq.com/wiki/website/get_user_info
  */
 public static function getUserInfo($paramArr)
 {
     $options = array('openId' => '', 'accessToken' => '', 'debug' => false);
     if (is_array($paramArr)) {
         $options = array_merge($options, $paramArr);
     }
     extract($options);
     $obj = new QC(self::$_APPID, $accessToken, $openId, $debug);
     $info = $obj->get_user_info();
     if ($info) {
         //字符转码
         array_walk_recursive($info, "api_json_convert_encoding_u2g");
     }
     return $info;
 }
示例#9
0
function QQ_callback()
{
    $cb_arr = array();
    $qc = new QC();
    $access_token = $qc->qq_callback();
    //DE89B12F418C136D96F62898CBC4705E
    $openid = $qc->get_openid();
    //B8C02925F80EE3B4462B86E7868DAC1D
    //echo $access_token;
    //echo $openid;
    $qc1 = new QC($access_token, $openid);
    $userinfo_arr = $qc1->get_user_info();
    $nickname = $userinfo_arr["nickname"];
    $cb_arr = array('access_token' => $access_token, 'openid' => $openid, 'nick' => $nickname);
    return $cb_arr;
}
示例#10
0
 public function callback()
 {
     define('QQ_LOGIN_APPID', $this->config->get('qq_login_appid'));
     define('QQ_LOGIN_APPKEY', $this->config->get('qq_login_appkey'));
     define('QQ_CALLBACK_URI', HTTP_SERVER . 'catalog/controller/api/qq_callback.php');
     require_once DIR_SYSTEM . 'library/qq/qqConnectAPI.php';
     $qc = new QC();
     $access_token = $qc->qq_callback();
     $openid = $qc->get_openid();
     $qui = new QC($access_token, $openid);
     $user_info = $qui->get_user_info();
     $this->session->data['qq_nickname'] = $user_info['nickname'];
     $this->load->language('extension/module/qq_login');
     $data['text_qq_login'] = $this->language->get('text_qq_login');
     if (stristr($openid, 'error')) {
         echo $this->language->get('error_openid');
     } elseif ($openid) {
         $this->session->data['qq_openid'] = $openid;
         if ($this->customer->login_qq($this->session->data['qq_openid'])) {
             unset($this->session->data['guest']);
             // Default Addresses
             $this->load->model('account/address');
             if ($this->config->get('config_tax_customer') == 'payment') {
                 $this->session->data['payment_address'] = $this->model_account_address->getAddress($this->customer->getAddressId());
             }
             if ($this->config->get('config_tax_customer') == 'shipping') {
                 $this->session->data['shipping_address'] = $this->model_account_address->getAddress($this->customer->getAddressId());
             }
             $this->response->redirect($this->url->link('account/account', '', 'SSL'));
         } else {
             $this->session->data['qq_login_warning'] = sprintf($this->language->get('text_qq_login_warning'), $this->config->get('config_name'));
             $this->response->redirect($this->url->link('account/login', '', 'SSL'));
         }
     } else {
         echo $this->language->get('text_qq_fail');
     }
 }
示例#11
0
//$qc->get_user_info();
////////////////////////////////////////////////////////////////////////
/*ThinkSAAS开始*/
if ($openid) {
    $strOpen = $new['pubs']->find('user_open', array('sitename' => 'qq', 'openid' => $openid));
    $new['pubs']->update('user_open', array('sitename' => 'qq', 'openid' => $openid), array('access_token' => $access_token, 'uptime' => time()));
    if ($strOpen['userid']) {
        $userData = $new['pubs']->find('user_info', array('userid' => $strOpen['userid']), 'userid,username,path,face,isadmin,signin,uptime');
        //更新登录时间
        $new['pubs']->update('user_info', array('userid' => $strOpen['userid']), array('ip' => getIp(), 'uptime' => time()));
        $_SESSION['tsuser'] = $userData;
        header("Location: " . SITE_URL);
        exit;
    } else {
        //获取用户基本资料
        $arrUserInfo = $qc->get_user_info();
        //$arrWeiboInfo = $qc->get_info();
        //print_r($arrWeiboInfo);exit;
        /*	
        Array
        (
        	[ret] => 0
        	[msg] => 
        	[nickname] => 我就是我
        	[gender] => 男
        	[figureurl] => http://qzapp.qlogo.cn/qzapp/205607/30CA6A53A2580AAD3299CB874EEED345/30
        	[figureurl_1] => http://qzapp.qlogo.cn/qzapp/205607/30CA6A53A2580AAD3299CB874EEED345/50
        	[figureurl_2] => http://qzapp.qlogo.cn/qzapp/205607/30CA6A53A2580AAD3299CB874EEED345/100
        	[figureurl_qq_1] => http://q.qlogo.cn/qqapp/205607/30CA6A53A2580AAD3299CB874EEED345/40
        	[figureurl_qq_2] => http://q.qlogo.cn/qqapp/205607/30CA6A53A2580AAD3299CB874EEED345/100
        	[is_yellow_vip] => 0
示例#12
0
function randusname($name)
{
    $nickname = $name . '_' . rand(1000, 9999);
    return $nickname;
}
require_once "../../../include/conn.php";
require_once "../../../include/myfunction.php";
require_once "../API/qqConnectAPI.php";
require_once "../../../config.inc.php";
require_once "../../../uc_client/client.php";
$siteweb = GetSiteconfig();
$qc = new QC();
$qqcallback = $qc->qq_callback();
$qqid = $qc->get_openid();
$qc = new QC($qqcallback, $qqid);
$arr = $qc->get_user_info();
if (!empty($qqcallback)) {
    $sql = "select * from user where qq_ua='{$qqid}'";
    $result = mysql_query($sql);
    $count = mysql_num_rows($result);
    $usxx = mysql_fetch_assoc($result);
    if (!empty($_SESSION['usnamese']) && !empty($usxx['qq_ua'])) {
        echo "<script>location='/u'</script>";
        exit;
    }
    if ($count) {
        if (time() > $usxx['Pingbi']) {
            $_SESSION['usnamese'] = $usxx['name'];
            $_SESSION['usidse'] = $usxx['id'];
            $_SESSION['shua'] = 1;
            $_SESSION['us_type'] = $usxx['us_type'];
示例#13
0
 public function index()
 {
     //phpinfo();
     //点击QQ登录
     if (isset($_REQUEST['qq'])) {
         require_once "./Public/QQLogin/qqConnectAPI.php";
         $qc = new QC();
         $qc->qq_login();
         die;
     }
     //QQ登录后返回处理
     if (isset($_REQUEST['code'])) {
         require_once "./Public/QQLogin/qqConnectAPI.php";
         $qc = new QC();
         $acs = $qc->qq_callback();
         $oid = $qc->get_openid();
         $qq_open_id = $qc->get_openid();
         echo $acs . "|" . $oid;
         $qc = new QC($acs, $oid);
         $qq_user = $qc->get_user_info();
         //p($qq_user);die;
         $username = $qq_user['nickname'];
         $sex = $qq_user['gender'] == '男' ? 1 : 0;
         $face = $qq_user['figureurl_2'];
         //头像处理
         /*获取网络图片太忙,展示考虑
             	$qq_face=$qq_user['figureurl_2'];
             	$face=date("Y_m")."/".time().".jpg";
             	$path="./Uploads/face/".date("Y_m");
             	$file="./Uploads/face/".$face;
             	//p($file);die;
             	if(!file_exists($path)){  //检测变量中的文件夹是否存在,如果存在,删除
         			mkdir($path,0777); //创建文件夹
         		}
             	
             	$qq_face=file_get_contents($qq_face);
             	file_put_contents($file, $qq_face);*/
         $user = M('user')->where(array('qq_open_id' => $qq_open_id))->find();
         if (!$user) {
             //第一次登录,保存用户信息
             $data = array('qq_open_id' => $qq_open_id, 'username' => $username, 'sex' => $sex, 'face' => $face, 'description' => $this->_post('description'), 'register_time' => time());
             //p($data);die;
             $user_id = M('user')->add($data);
             if ($user_id) {
                 session('user_id', $user_id);
                 session('username', $username);
                 redirect(U('Index/index'));
                 die;
             } else {
                 redirect(U('Index/index'));
                 die;
             }
         } else {
             //以前登录过
             if ($user['lock'] > time()) {
                 $this->error('您已被锁定,请过段时间在试。。。');
                 die;
             }
             session('user_id', $user['user_id']);
             session('username', $user['username']);
             redirect(U('Index/index'));
         }
         die;
     }
     if (isset($_SESSION['user_id'])) {
         redirect(U('Index/index'));
         die;
     }
     if (!$this->isPost()) {
         $this->display();
         die;
     }
     $username = $this->_post('username');
     $password = $this->_post('password', 'md5');
     $where = array('username' => $username);
     $user = M('user')->where($where)->find();
     p($username);
     p($password);
     //p($user);die;
     if ($user['lock'] == 1) {
         $this->error("您已被锁定,请过段时间在试。。。");
     }
     if (!$user || $user['password'] != $password) {
         $this->error("用户名或者密码错误!~_~");
     }
     session('user_id', $user['user_id']);
     session('username', $user['username']);
     redirect(__APP__);
 }
示例#14
0
 /**
  * qq登陆回调
  * @return void
  */
 public function qqCallback()
 {
     require_once APP_DIR . "vendors/auth/qq/API/qqConnectAPI.php";
     $qc = new \QC();
     $token = $qc->qq_callback();
     $openid = $qc->get_openid();
     if (!$openid || !$token) {
         return;
     }
     //授权之后的操作,默认是登录
     $auth_action = $this->input->cookie('auth_action');
     if ($auth_action) {
         //清楚此临时cookie
         $this->output->cookie(['auth_action' => ''], 0);
     } else {
         $auth_action = 'login';
     }
     //得到第三方账户对应的数据库账户
     $account = $this->related_account->one($openid);
     if ($auth_action == 'login') {
         if ($account) {
             // 在登录前转移数据
             $this->transferData($account->uid);
             $this->model('passport')->login($account->uid, 'password');
             $this->output->view('passport/qq', ['uid' => $account->uid]);
         } else {
             $qc = new \QC($token, $openid);
             $userinfo = $qc->get_user_info();
             //判断nickname是否存在
             if ($this->user->isNicknameExist($userinfo['nickname'])) {
                 $userinfo['nickname'] = $userinfo['nickname'] . '_' . substr(md5(time()), 0, 2);
             }
             $data = ['with_openid' => 1, 'nickname' => $userinfo['nickname'], 'created' => time(), 'modified' => time(), 'login_ip' => ip2long($this->input->ip())];
             $uid = $this->user->insert($data);
             if ($uid) {
                 $this->user_config->insert(['uid' => $uid]);
                 // 添加默认标签
                 $this->tag->addDefaultTags($uid);
                 // 转移数据
                 $this->transferData($account->uid);
             }
             //头像放入队列获取
             $this->redis('queue')->lPush('queue:avatar:download', "{$uid}|{$userinfo['figureurl_qq_2']}");
             if ($uid) {
                 if ($this->related_account->insert(['uid' => $uid, 'app_uid' => $openid, 'app_id' => $this->config->logintype['qq'], 'access_token' => $token])) {
                     $this->model('passport')->login($uid, 'password');
                     $this->output->view('passport/qq', ['uid' => $uid]);
                 } else {
                     echo 'login error';
                 }
             } else {
                 echo 'login error';
             }
         }
     } else {
         if ($auth_action == 'bind') {
             //得到当前用户
             $uid = $this->passport->getAuthenticatedUid();
             //用户未登录
             if (!$uid) {
                 $this->output->view('passport/bind_failed', ['message' => "请您先登录", 'app' => 'qq']);
                 exit;
             }
             //检测当前登录用户是否已经绑定了qq账号,如果绑定了则要求解绑
             $result = $this->related_account->select(['where' => ['uid' => $uid]]);
             if ($result && $result[0] && $result[0]->app_id == $this->config->logintype['qq']) {
                 //已经绑定qq
                 if ($result[0]->app_uid == $openid) {
                     $this->output->view('passport/bind_failed', ['message' => "您已经绑定此QQ账号,无需再次绑定", 'app' => 'qq']);
                 } else {
                     $this->output->view('passport/bind_failed', ['message' => "您已经绑定其他QQ账号,请先解绑,然后绑定新的QQ账号", 'app' => 'qq']);
                 }
                 exit;
             }
             //绑定QQ账户
             if ($account) {
                 //如果此账户已经在数据库中存在关联,
                 $user = $this->user->one($account->uid);
                 //如果此qq账号已经绑定邮箱
                 if ($user->mail) {
                     $this->output->view('passport/bind_failed', ['message' => "此账户已经与另一账号绑定,请先解绑另一账户", 'app' => 'qq']);
                     exit;
                 } else {
                     //将第三方关联到当前用户,
                     if ($this->related_account->update(['uid' => $uid, 'access_token' => $token], ['app_uid' => $openid, 'uid' => $account->uid, 'app_id' => $this->config->logintype['qq']])) {
                         //转移数据(贴纸,标签,图片,书签)到当前用户
                         $from = $account->uid;
                         $to = $uid;
                         $this->user->mergeUserData($from, $to);
                         //成功页面
                         $this->output->view('passport/bind_success', ['app' => 'qq']);
                     } else {
                         $this->output->view('passport/bind_failed', ['message' => '关联失败', 'app' => 'qq']);
                     }
                 }
             } else {
                 if ($this->related_account->insert(['uid' => $uid, 'app_uid' => $openid, 'app_id' => $this->config->logintype['qq'], 'access_token' => $token])) {
                     //成功页面
                     $this->output->view('passport/bind_success', ['app' => 'qq']);
                 } else {
                     $this->output->view('passport/bind_failed', ['message' => '关联失败', 'app' => 'qq']);
                     exit;
                 }
             }
         }
     }
 }
示例#15
0
文件: callback.php 项目: blackzw/auth
<?php

session_start();
include_once '../../config.php';
$site = get_site(__DIR__);
define('SITE_PATH', $site);
include_once CONFIG_PATH . '/' . $site . PHP_EXT;
include_once QQ_PATH . '/qqConnectAPI.php';
$Mac_ID = $_SESSION['Mac_ID'];
$qc = new QC();
$acs = $qc->qq_callback();
$oid = $qc->get_openid();
$qc = new QC($acs, $oid);
$user = $qc->get_user_info();
$idol = array('name' => QQ_ADD_IDOL_BY_NAME);
$content = array('content' => QQ_SEND_WEIBO_MESSAGE);
$idol_ret = $qc->add_idol($idol);
$content_ret = $qc->add_t($content);
UniFi::set_site($site);
UniFi::sendAuthorization($Mac_ID, WIFI_EXPIRED_TIME);
sleep(5);
header('Location: ' . DEFAULT_URL);
示例#16
0
function login_by_qq()
{
    include INCLUDES_PATH . 'qqapi/qqConnectAPI.php';
    global $_db, $_cache, $_user;
    $qc = new QC();
    $access_token = $qc->qq_callback();
    $qq_uid = $qc->get_openid();
    if ($qq_uid) {
        $_user = user::get_one(array('qq_uid' => $qq_uid));
        $user_id = $_user->user_id;
        $qc = new QC($access_token, $qq_uid);
        $user_info = $qc->get_user_info();
        //获取用户等基本信息
        if (!$user_id) {
            $user_id = user::register(array('screen_name' => $user_info['nickname'], 'qq_uid' => $qq_uid, 'avatar_url' => $user_info['figureurl_qq_1']));
            $_user = user::get_one(array('user_id' => $user_id));
            $res = 'new_user';
        } else {
            $res = $_user;
        }
        $_SESSION['uid'] = $user_id;
        //set_cookie('uid',$user_id);
        return $res;
    } else {
        //授权失败
    }
    return false;
}
 /**
  * Action:OAuth 2.0 QQ
  * @return Response
  */
 public function getOauthQQ()
 {
     include_once app_path('api/qq/qqConnectAPI.php');
     $qc = new QC();
     $callback = $qc->qq_callback();
     $openid = $qc->get_openid();
     $qc = new QC($callback, $openid);
     $access_token = $qc->get_access_token();
     $arr = $qc->get_user_info();
     $nickname = $arr["nickname"];
     $credentials = array('email' => $openid, 'password' => $access_token);
     if (Auth::attempt($credentials)) {
         // Signin success, redirect to the previous page that was blocked
         return Redirect::intended();
     } else {
         $user = new User();
         $user->email = $openid;
         $user->password = $access_token;
         $user->nickname = $nickname;
         $user->bound_type = '3';
         $user->activated_at = date('Y-m-d H:m:s');
         $user->save();
         return View::make('authority.oauthQQ');
     }
 }
示例#18
0
文件: qqback.php 项目: kong-qi/lexiu
<?php

require_once "../qqconnect/API/qqConnectAPI.php";
require_once "base.inc.php";
$qc = new QC();
$token = $qc->qq_callback();
$openid = $qc->get_openid();
$qc2 = new QC($token, $openid);
$arr = $qc2->get_user_info();
//判断是否已经注册,如果是已经注册了则登陆
$user = get_first_date('user', "where kq_openid='" . $openid . "'");
if (count($user) > 0) {
    setcookie("user", $user['kq_name'], time() + 7200 * 12, "/");
    setcookie("uid", $user['kq_uniqueid'], time() + 7200 * 12, "/");
    header("Location:../user.html");
} else {
    $data['kq_name'] = $arr["nickname"];
    $data['kq_ctime'] = time();
    $data['kq_uuid'] = uuid();
    $data['kq_openid'] = $openid;
    $data['kq_token'] = $token;
    $data['kq_uniqueid'] = sha1(uuid());
    $data['kq_picurl'] = $arr['figureurl_qq_2'];
    $data['kq_sex'] = $arr["gender"] == '男' ? '1' : '2';
    if ($conn->post_insert("" . DB_EXT . "user", $data)) {
        setcookie("user", $data['kq_name'], time() + 7200 * 12, "/");
        setcookie("uid", $data['kq_uniqueid'], time() + 7200 * 12, "/");
        header("Location:../user.html");
    } else {
        header("Location:../");
    }
示例#19
0
}
if (!$user) {
    $user = get_by_openid($openid);
} else {
    remove_auth($openid);
    add_auth($token, $openid, $uid);
    header("Location:" . SITE_URL . "index.php?user/mycategory");
    exit;
}
if ($user) {
    add_auth($token, $openid, $uid);
    refresh($user);
    header("Location:" . SITE_URL);
    exit;
} else {
    $userinfo = $qc->get_user_info();
    $gender = 2;
    if ($userinfo['gender'] == '男') {
        $gender = 1;
    } else {
        if ($userinfo['gender'] == '女') {
            $gender = 0;
        }
    }
    $randpasswd = strtolower(random(6, 1));
    $uid = add_user($userinfo['nickname'], $randpasswd, $gender, $token, $openid);
    $userid = $uid;
    if ($uid && $setting['qqlogin_avatar']) {
        $avatardir = "/data/avatar/";
        $uid = sprintf("%09d", $uid);
        $dir1 = $avatardir . substr($uid, 0, 3);
示例#20
0
 public function index()
 {
     //点击QQ登录
     if (isset($_REQUEST['qq'])) {
         require_once "./Public/QQLogin/qqConnectAPI.php";
         $qc = new QC();
         $qc->qq_login();
         die;
     }
     //QQ登录后返回处理
     if (isset($_REQUEST['code'])) {
         require_once "./Public/QQLogin/qqConnectAPI.php";
         $qc = new QC();
         $acs = $qc->qq_callback();
         $oid = $qc->get_openid();
         $qc = new QC($acs, $oid);
         $qq_user = $qc->get_user_info();
         //p($user);die;
         $qq_open_id = $qc->get_openid();
         $username = $qq_user['nickname'];
         $sex = $qq_user['gender'] == '男' ? 1 : 0;
         $user = M('user')->where(array('qq_open_id' => $qq_open_id))->find();
         if (!$user) {
             //第一次登录,保存用户信息
             $data = array('qq_open_id' => $qq_open_id, 'username' => $username, 'sex' => $sex, 'description' => $this->_post('description'), 'register_time' => time());
             //p($data);die;
             $user_id = M('user')->add($data);
             if ($user_id) {
                 session('user_id', $user_id);
                 session('username', $this->_post('username'));
                 redirect(U('Index/index'));
                 die;
             } else {
                 redirect(U('Index/index'));
                 die;
             }
         } else {
             //以前登录过
             if ($user['lock'] > time()) {
                 $this->error('您已被锁定,请过段时间在试。。。');
                 die;
             }
             session('user_id', $user['user_id']);
             session('username', $user['username']);
             redirect(U('Index/index'));
         }
         die;
     }
     if (isset($_SESSION['user_id'])) {
         redirect(U('Index/index'));
         die;
     }
     if (!$this->isPost()) {
         $this->display();
         die;
     }
     $username = $this->_post('username');
     $password = $this->_post('password', 'md5');
     $where = array('username' => $username);
     $user = M('user')->where($where)->find();
     p($username);
     p($password);
     //p($user);die;
     if ($user['lock'] == 1) {
         $this->error("您已被锁定,请过段时间在试。。。");
     }
     if (!$user || $user['password'] != $password) {
         $this->error("用户名或者密码错误!~_~");
     }
     session('user_id', $user['user_id']);
     session('username', $user['username']);
     redirect(__APP__);
 }