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