share.php 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <?php
  2. /**
  3. * 圈子首页
  4. *
  5. *
  6. *********************************/
  7. defined('InShopNC') or exit('Access Invalid!');
  8. class shareControl extends BaseCircleControl{
  9. protected $c_id = 0; // 圈子id
  10. protected $identity = 0; // 身份 0游客 1圈主 2管理 3成员 4申请中 5申请失败
  11. protected $circle_info = array();
  12. public function __construct(){
  13. parent::__construct();
  14. Language::read('theme_share');
  15. }
  16. /**
  17. * To test whether a certain interface has been binding
  18. */
  19. public function checkbindOp(){
  20. $app_key = $_GET['k'];
  21. $result = '';
  22. if (empty($app_key)){
  23. $result = json_encode(array('done'=>false,'msg'=>Language::get('sharebind_bind_fail')));
  24. } else {
  25. $model = Model('sns_binding');
  26. $bind_info = $model->getUsableOneApp($_SESSION['member_id'],$app_key);
  27. if (empty($bind_info)){
  28. $result = json_encode(array('done'=>false,'msg'=>Language::get('sharebind_bind_fail')));
  29. }else {
  30. $result = json_encode(array('done'=>true));
  31. }
  32. }
  33. echo $result;
  34. exit;
  35. }
  36. /**
  37. * Share the binding Qzone
  38. */
  39. public function share_qqzoneOp(){
  40. //判断系统是否开启站外分享功能
  41. if (C('share_qqzone_isuse') != 1){
  42. showMessage(Language::get('sharebind_unused'),'index.php?act=member_sharemanage','html','error');
  43. }
  44. include_once 'api/snsapi/qqzone/oauth/qq_callback.php';
  45. if (!$_SESSION['qqzone']){
  46. echo "<script>alert('".Language::get('sharebind_bind_fail')."');</script>";
  47. echo "<script>window.close();</script>";
  48. exit;
  49. }
  50. $update_arr = array();
  51. $update_arr['snsbind_memberid'] = $_SESSION['member_id'];
  52. $update_arr['snsbind_membername'] = $_SESSION['member_name'];
  53. $update_arr['snsbind_appsign'] = 'qqzone';
  54. $update_arr['snsbind_updatetime'] = time();
  55. $update_arr['snsbind_accesstoken'] = $_SESSION['qqzone']['access_token'];
  56. $update_arr['snsbind_expiresin'] = $_SESSION['qqzone']['expires_in'];
  57. $update_arr['snsbind_openid'] = $_SESSION['qqzone']['openid'];
  58. //获取qq账号信息
  59. require_once (BASE_PATH.DS.'api'.DS.'snsapi'.DS.'qqzone'.DS.'user'.DS.'get_user_info.php');
  60. $qquser_info = get_user_info();
  61. $update_arr['snsbind_openinfo'] = $qquser_info['nickname'];
  62. $model = Model();
  63. $where_arr = array();
  64. $where_arr['snsbind_memberid'] = $_SESSION['member_id'];
  65. $where_arr['snsbind_appsign'] = 'qqzone';
  66. //查询该用户是否已经绑定qqzone
  67. $bind_info = $model->table('sns_binding')->where($where_arr)->find();
  68. if (empty($bind_info)){
  69. $result = $model->table('sns_binding')->insert($update_arr);
  70. }else {
  71. $result = $model->table('sns_binding')->where($where_arr)->update($update_arr);
  72. }
  73. if (!$result){
  74. echo "<script>alert('".Language::get('sharebind_bind_fail')."');</script>";
  75. }
  76. echo "<script>window.close();</script>";
  77. exit;
  78. }
  79. /**
  80. * Share the binding Sina Weibo
  81. */
  82. public function share_sinaweiboOp(){
  83. //判断系统是否开启站外分享功能
  84. if (C('share_sinaweibo_isuse') != 1){
  85. showMessage(Language::get('sharebind_unused'),'index.php?act=member_sharemanage','html','error');
  86. }
  87. include_once 'api/snsapi/sinaweibo/callback.php';
  88. if (!$_SESSION['slast_key']){
  89. echo "<script>alert('".Language::get('sharebind_bind_fail')."');</script>";
  90. echo "<script>window.close();</script>";
  91. exit;
  92. }
  93. $update_arr = array();
  94. $update_arr['snsbind_memberid'] = $_SESSION['member_id'];
  95. $update_arr['snsbind_membername'] = $_SESSION['member_name'];
  96. $update_arr['snsbind_appsign'] = 'sinaweibo';
  97. $update_arr['snsbind_updatetime'] = time();
  98. $update_arr['snsbind_accesstoken'] = $_SESSION['slast_key']['access_token'];
  99. $update_arr['snsbind_expiresin'] = $_SESSION['slast_key']['expires_in'];
  100. $update_arr['snsbind_openid'] = $_SESSION['slast_key']['uid'];
  101. //获取新浪微博账号信息
  102. require_once (BASE_PATH.DS.'api'.DS.'snsapi'.DS.'sinaweibo'.DS.'saetv2.ex.class.php');
  103. $c = new SaeTClientV2( C('sina_wb_akey'), C('sina_wb_skey') , $_SESSION['slast_key']['access_token']);
  104. $sinauser_info = $c->show_user_by_id($_SESSION['slast_key']['uid']);//根据ID获取用户等基本信息
  105. $update_arr['snsbind_openinfo'] = $sinauser_info['name'];
  106. $model = Model();
  107. $where_arr = array();
  108. $where_arr['snsbind_memberid'] = $_SESSION['member_id'];
  109. $where_arr['snsbind_appsign'] = 'sinaweibo';
  110. //查询该用户是否已经绑定sinaweibo
  111. $bind_info = $model->table('sns_binding')->where($where_arr)->find();
  112. if (empty($bind_info)){
  113. $result = $model->table('sns_binding')->insert($update_arr);
  114. }else {
  115. $result = $model->table('sns_binding')->where($where_arr)->update($update_arr);
  116. }
  117. if (!$result){
  118. echo "<script>alert('".Language::get('sharebind_bind_fail')."');</script>";
  119. }
  120. echo "<script>window.close();</script>";
  121. exit;
  122. }
  123. /**
  124. * Share the binding Tencent Weibo
  125. */
  126. public function share_qqweiboOp(){
  127. //判断系统是否开启站外分享功能
  128. if (C('share_qqweibo_isuse') != 1){
  129. showMessage(Language::get('sharebind_unused'),'index.php?act=member_sharemanage','html','error');
  130. }
  131. include_once 'api/snsapi/qqweibo/callback.php';
  132. if (!$_SESSION['qqweibo']){
  133. echo "<script>alert('".Language::get('sharebind_bind_fail')."');</script>";
  134. echo "<script>window.close();</script>";
  135. exit;
  136. }
  137. //添加qqweibo绑定记录
  138. $update_arr = array();
  139. $update_arr['snsbind_memberid'] = $_SESSION['member_id'];
  140. $update_arr['snsbind_membername'] = $_SESSION['member_name'];
  141. $update_arr['snsbind_appsign'] = 'qqweibo';
  142. $update_arr['snsbind_updatetime'] = time();
  143. $update_arr['snsbind_accesstoken'] = $_SESSION['qqweibo']['t_access_token'];
  144. $update_arr['snsbind_expiresin'] = $_SESSION['qqweibo']['t_expire_in'];
  145. $update_arr['snsbind_refreshtoken'] = $_SESSION['qqweibo']['t_refresh_token'];
  146. //$update_arr['snsbind_openid'] = $_SESSION['t_openid'].'|'.$_SESSION['t_openkey'];
  147. $update_arr['snsbind_openid'] = $_SESSION['qqweibo']['t_openid'];
  148. $update_arr['snsbind_openinfo'] = $_SESSION['qqweibo']['t_uname'];
  149. $model = Model();
  150. $where_arr = array();
  151. $where_arr['snsbind_memberid'] = $_SESSION['member_id'];
  152. $where_arr['snsbind_appsign'] = 'qqweibo';
  153. //查询该用户是否已经绑定qqweibo
  154. $bind_info = $model->table('sns_binding')->where($where_arr)->find();
  155. if (empty($bind_info)){
  156. $result = $model->table('sns_binding')->insert($update_arr);
  157. }else {
  158. $result = $model->table('sns_binding')->where($where_arr)->update($update_arr);
  159. }
  160. if (!$result){
  161. echo "<script>alert('".Language::get('sharebind_bind_fail')."');</script>";
  162. }
  163. echo "<script>window.close();</script>";
  164. exit;
  165. }
  166. }