Ejemplo n.º 1
0
 protected function unbind($syncData = null)
 {
     //$this->checkIsBind($syncData);
     $access_token = session('SYNCLOGIN_ACCESS_TOKEN');
     $openid = session('SYNCLOGIN_OPENID');
     $type = session('SYNCLOGIN_TYPE');
     $token = session('SYNCLOGIN_TOKEN');
     $user_info = D('Addons://SyncLogin/Info')->{$type}($token);
     $syncData === null && ($syncData = D('sync_login')->where(array('type_uid' => $openid, 'type' => $type))->find());
     if ($syncData) {
         $uid = $syncData['uid'];
         $user = UCenterMember()->where(array('id' => $syncData['uid']))->find();
         if (empty($user)) {
             $this->clearSyncLoginSession();
             //用户已经不存在,删除绑定记录
             D('sync_login')->where(array('type_uid' => $openid, 'type' => $type))->delete();
             return redirect(homeUrl());
         } else {
             //已经绑定过,执行登录操作,设置token
             if (!$syncData['oauth_token'] || $syncData['oauth_token'] != $access_token) {
                 $data = array();
                 $data['id'] = $syncData['id'];
                 $data['oauth_token'] = $access_token;
                 $data['oauth_token_secret'] = $openid;
                 D('sync_login')->save($data);
             }
         }
     } else {
         $Api = new UserApi();
         //usercenter表新增数据
         $uid = $Api->addSyncData();
         //member表新增数据
         D('Common/Member')->addSyncData($uid, $user_info);
         // 记录数据到sync_login表中
         $this->addSyncLoginData($uid, $access_token, $openid, $type, $openid);
         //保存头像
         $this->saveAvatar($user_info['head'], $openid, $uid, $type);
         $config = D('Config')->where(array('name' => 'USER_REG_WEIBO_CONTENT'))->find();
         $reg_weibo = $config['value'];
         //用户注册的微博内容
         if ($reg_weibo != '' && $config) {
             //为空不发微博
             D('Weibo/Weibo')->addWeibo($uid, $reg_weibo);
         }
     }
     $this->loginWithoutpwd($uid);
 }
Ejemplo n.º 2
0
 public function unbind()
 {
     $this->checkIsBind();
     $access_token = session('SYNCLOGIN_ACCESS_TOKEN');
     $openid = session('SYNCLOGIN_OPENID');
     $type = session('SYNCLOGIN_TYPE');
     $token = session('SYNCLOGIN_TOKEN');
     $user_info = D('Addons://SyncLogin/Info')->{$type}($token);
     if ($info1 = D('sync_login')->where("`type_uid`='" . $openid . "' AND type='" . $type . "'")->find()) {
         $user = UCenterMember()->where("id=" . $info1['uid'])->find();
         if (empty($user)) {
             D('sync_login')->where("type_uid=" . $openid . " AND type='" . $type . "'")->delete();
             //已经绑定过,执行登录操作,设置token
         } else {
             if ($info1['oauth_token'] == '') {
                 $syncdata['id'] = $info1['id'];
                 $syncdata['oauth_token'] = $access_token;
                 $syncdata['oauth_token_secret'] = $openid;
                 D('sync_login')->save($syncdata);
             }
             $uid = $info1['uid'];
         }
     } else {
         $Api = new UserApi();
         //usercenter表新增数据
         $uid = $Api->addSyncData();
         //member表新增数据
         D('Home/Member')->addSyncData($uid, $user_info);
         // 记录数据到sync_login表中
         $this->addSyncLoginData($uid, $access_token, $openid, $type, $openid);
         //保存头像
         $this->saveAvatar($user_info['head'], $openid, $uid, $type);
         $config = D('Config')->where(array('name' => 'USER_REG_WEIBO_CONTENT'))->find();
         $reg_weibo = $config['value'];
         //用户注册的微博内容
         if ($reg_weibo != '' && $config) {
             //为空不发微博
             //                D('Weibo/Weibo')->addWeibo($uid, $reg_weibo);
         }
     }
     $this->loginWithoutpwd($uid);
 }
Ejemplo n.º 3
0
 public function unbind()
 {
     $this->checkIsBind();
     $access_token = session('SYNCLOGIN_ACCESS_TOKEN');
     $openid = session('SYNCLOGIN_OPENID');
     $type = session('SYNCLOGIN_TYPE');
     $token = session('SYNCLOGIN_TOKEN');
     $user_info = D('Addons://SyncLogin/Info')->{$type}($token);
     if ($info1 = D('sync_login')->where("`type_uid`='" . $openid . "' AND type='" . $type . "'")->find()) {
         $user = D('UcenterMember')->where("id=" . $info1['uid'])->find();
         if (empty($user)) {
             D('sync_login')->where("type_uid=" . $openid . " AND type='" . $type . "'")->delete();
             //已经绑定过,执行登录操作,设置token
         } else {
             if ($info1['oauth_token'] == '') {
                 $syncdata['id'] = $info1['id'];
                 $syncdata['oauth_token'] = $access_token;
                 $syncdata['oauth_token_secret'] = $openid;
                 D('sync_login')->save($syncdata);
             }
             $uid = $info1['uid'];
         }
     } else {
         $Api = new UserApi();
         //usercenter表新增数据
         $uid = $Api->addSyncData();
         //member表新增数据
         D('Home/Member')->addSyncData($uid, $user_info);
         // 记录数据到sync_login表中
         $this->addSyncLoginData($uid, $access_token, $openid, $type, $openid);
         //保存头像
         $this->saveAvatar($user_info['head'], $openid, $uid, $type);
     }
     $this->loginWithoutpwd($uid);
 }