getUsableApp($_SESSION['member_id']); //信息输出 Tpl::output('app_arr',$app_arr); self::profile_menu('sns_binding'); Tpl::showpage('member_sharebind'); } /** * 解除绑定 */ public function unbindOp(){ $type = $_GET['type']; if (empty($type)){ showDialog(Language::get('wrong_argument'),'index.php?act=member_sharemanage','error'); } $model = Model('sns_binding'); $app_arr = $model->getApps(); $appkey_arr = array_keys($app_arr); if (empty($appkey_arr) || !in_array($type,$appkey_arr)){ showDialog(Language::get('wrong_argument'),'index.php?act=member_sharemanage','error'); } //删除绑定信息 $where_arr = array(); $where_arr['snsbind_memberid'] = $_SESSION['member_id']; $where_arr['snsbind_appsign'] = $type; $result = $model->table('sns_binding')->where($where_arr)->delete(); if ($result){ $js = "location.reload();"; showDialog(Language::get('sharebind_unbind_succ'),'','succ',$js); }else { showDialog(Language::get('sharebind_unbind_fail'),'','succ'); } } /** * 验证某接口是否已经绑定 */ public function checkbindOp(){ $app_key = $_GET['k']; $result = ''; if (empty($app_key)){ $result = json_encode(array('done'=>false,'msg'=>Language::get('sharebind_bind_fail'))); } else { $model = Model('sns_binding'); $bind_info = $model->getUsableOneApp($_SESSION['member_id'],$app_key); if (empty($bind_info)){ $result = json_encode(array('done'=>false,'msg'=>Language::get('sharebind_bind_fail'))); }else { $result = json_encode(array('done'=>true)); } } if (isset($_GET['callback'])) { $result = $_GET['callback']=='?' ? '('.$result.')' : $_GET['callback']."($result);"; } echo $result; exit; } /** * 分享绑定qqzone */ public function share_qqzoneOp(){ //判断系统是否开启站外分享功能 if (C('share_qqzone_isuse') != 1){ showMessage(Language::get('sharebind_unused'),'index.php?act=member_sharemanage','html','error'); } include_once BASE_DATA_PATH.'/api/snsapi/qqzone/oauth/qq_callback.php'; if (!$_SESSION['qqzone']){ echo ""; echo ""; exit; } $update_arr = array(); $update_arr['snsbind_memberid'] = $_SESSION['member_id']; $update_arr['snsbind_membername'] = $_SESSION['member_name']; $update_arr['snsbind_appsign'] = 'qqzone'; $update_arr['snsbind_updatetime'] = time(); $update_arr['snsbind_accesstoken'] = $_SESSION['qqzone']['access_token']; $update_arr['snsbind_expiresin'] = $_SESSION['qqzone']['expires_in']; $update_arr['snsbind_openid'] = $_SESSION['qqzone']['openid']; //获取qq账号信息 require_once (BASE_DATA_PATH.DS.'api'.DS.'snsapi'.DS.'qqzone'.DS.'user'.DS.'get_user_info.php'); $qquser_info = get_user_info(); $update_arr['snsbind_openinfo'] = $qquser_info['nickname']; $model = Model(); $where_arr = array(); $where_arr['snsbind_memberid'] = $_SESSION['member_id']; $where_arr['snsbind_appsign'] = 'qqzone'; //查询该用户是否已经绑定qqzone $bind_info = $model->table('sns_binding')->where($where_arr)->find(); if (empty($bind_info)){ $result = $model->table('sns_binding')->insert($update_arr); }else { $result = $model->table('sns_binding')->where($where_arr)->update($update_arr); } if (!$result){ echo ""; } echo ""; exit; } /** * 分享绑定sinaweibo */ public function share_sinaweiboOp(){ //判断系统是否开启站外分享功能 if (C('share_sinaweibo_isuse') != 1){ showMessage(Language::get('sharebind_unused'),'index.php?act=member_sharemanage','html','error'); } include_once BASE_DATA_PATH.'/api/snsapi/sinaweibo/callback.php'; if (!$_SESSION['slast_key']){ echo ""; echo ""; exit; } $update_arr = array(); $update_arr['snsbind_memberid'] = $_SESSION['member_id']; $update_arr['snsbind_membername'] = $_SESSION['member_name']; $update_arr['snsbind_appsign'] = 'sinaweibo'; $update_arr['snsbind_updatetime'] = time(); $update_arr['snsbind_accesstoken'] = $_SESSION['slast_key']['access_token']; $update_arr['snsbind_expiresin'] = $_SESSION['slast_key']['expires_in']; $update_arr['snsbind_openid'] = $_SESSION['slast_key']['uid']; //获取新浪微博账号信息 require_once (BASE_DATA_PATH.DS.'api'.DS.'snsapi'.DS.'sinaweibo'.DS.'saetv2.ex.class.php'); $c = new SaeTClientV2( C('sina_wb_akey'), C('sina_wb_skey') , $_SESSION['slast_key']['access_token']); $sinauser_info = $c->show_user_by_id($_SESSION['slast_key']['uid']);//根据ID获取用户等基本信息 $update_arr['snsbind_openinfo'] = $sinauser_info['name']; $model = Model(); $where_arr = array(); $where_arr['snsbind_memberid'] = $_SESSION['member_id']; $where_arr['snsbind_appsign'] = 'sinaweibo'; //查询该用户是否已经绑定sinaweibo $bind_info = $model->table('sns_binding')->where($where_arr)->find(); if (empty($bind_info)){ $result = $model->table('sns_binding')->insert($update_arr); }else { $result = $model->table('sns_binding')->where($where_arr)->update($update_arr); } if (!$result){ echo ""; } echo ""; exit; } /** * 分享绑定腾讯微博 */ public function share_qqweiboOp(){ //判断系统是否开启站外分享功能 if (C('share_qqweibo_isuse') != 1){ showMessage(Language::get('sharebind_unused'),'index.php?act=member_sharemanage','html','error'); } include_once BASE_DATA_PATH.'/api/snsapi/qqweibo/callback.php'; if (!$_SESSION['qqweibo']){ echo ""; echo ""; exit; } //添加qqweibo绑定记录 $update_arr = array(); $update_arr['snsbind_memberid'] = $_SESSION['member_id']; $update_arr['snsbind_membername'] = $_SESSION['member_name']; $update_arr['snsbind_appsign'] = 'qqweibo'; $update_arr['snsbind_updatetime'] = time(); $update_arr['snsbind_accesstoken'] = $_SESSION['qqweibo']['t_access_token']; $update_arr['snsbind_expiresin'] = $_SESSION['qqweibo']['t_expire_in']; $update_arr['snsbind_refreshtoken'] = $_SESSION['qqweibo']['t_refresh_token']; //$update_arr['snsbind_openid'] = $_SESSION['t_openid'].'|'.$_SESSION['t_openkey']; $update_arr['snsbind_openid'] = $_SESSION['qqweibo']['t_openid']; $update_arr['snsbind_openinfo'] = $_SESSION['qqweibo']['t_uname']; $model = Model(); $where_arr = array(); $where_arr['snsbind_memberid'] = $_SESSION['member_id']; $where_arr['snsbind_appsign'] = 'qqweibo'; //查询该用户是否已经绑定qqweibo $bind_info = $model->table('sns_binding')->where($where_arr)->find(); if (empty($bind_info)){ $result = $model->table('sns_binding')->insert($update_arr); }else { $result = $model->table('sns_binding')->where($where_arr)->update($update_arr); } if (!$result){ echo ""; } echo ""; exit; } /** * 用户中心右边,小导航 * * @param string $menu_type 导航类型 * @param string $menu_key 当前导航的menu_key * @param array $array 附加菜单 * @return */ private function profile_menu($menu_key='',$array=array()) { $menu_array = array(); $menu_array = array( 1=>array('menu_key'=>'sns_binding', 'menu_name'=>'分享绑定', 'menu_url'=> urlShop('member_sharemanage', 'index')), ); if(!empty($array)) { $menu_array[] = $array; } Tpl::output('member_menu',$menu_array); Tpl::output('menu_key',$menu_key); } }