wsq_join_save.inc.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: install.php 34718 2014-07-14 08:56:39Z nemohou $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. if(!$_G['uid']) {
  12. showmessage('not_loggedin', NULL, array(), array('login' => 1));
  13. }
  14. require_once DISCUZ_ROOT.'./source/plugin/wechat/wechat.lib.class.php';
  15. $tid = intval($_GET['tid']);
  16. $siteid = $_G['wechat']['setting']['wsq_siteid'];
  17. //$bmurl = WeChatHook::getPluginUrl('xj_event:wsq_join', array('tid' => $tid));
  18. $uid = intval($_G['uid']);
  19. include 'include/sms_func.php';
  20. if($_GET['formhash'] != $_G['formhash']){
  21. showmessage('submit_invalid');
  22. }
  23. if($_GET['action']=='cannel'){
  24. $items = DB::fetch_first("SELECT * FROM ".DB::table('xj_event')." A,".DB::table('forum_thread')." B WHERE A.tid=B.tid AND A.tid = '$tid'");
  25. if($items['activityexpiration']>$timestamp){
  26. $count = DB::result_first("SELECT count(*) FROM ".DB::table('xj_eventapply')." WHERE tid = '$tid' and uid = ".$_G['uid']);
  27. if($count < 1){
  28. exit('Access Denied');
  29. }
  30. DB::query("DELETE FROM ".DB::table('xj_eventapply')." WHERE tid = '$tid' and uid = ".$_G['uid']);
  31. //积分操作
  32. /*
  33. if($items['use_extcredits_num']>0){
  34. updatemembercount($_G['uid'],array($items['use_extcredits']=>$items['use_extcredits_num']));
  35. }
  36. */
  37. //notification_add($items['authorid'], 'system',$_G['username'].' 取消了活动 <a href="forum.php?mod=viewthread&tid='.$tid.'" target="_blank">'.$items['subject'].'</a> 报名',array(),0);
  38. notification_add($items['authorid'], 'system', 'activity_cancel', array(
  39. 'tid' => $tid,
  40. 'subject' => $items['subject'],
  41. 'reason' => $message
  42. ));
  43. showmessage(lang('plugin/xj_event', 'cgqxbm'),"http://wsq.discuz.com/?c=index&a=viewthread&f=wx&tid={$tid}&siteid={$siteid}&_bpage=1");
  44. }else{
  45. exit('Access Denied');
  46. }
  47. }
  48. if($_GET['action'] == 'checkseccode'){
  49. $eid = intval($_GET['eid']);
  50. if(!$_GET['seccode']){
  51. showmessage(lang('plugin/xj_event', 'yzmwxhzyjsy'));
  52. }
  53. $seccode = dhtmlspecialchars(trim($_GET['seccode']));
  54. $apply = DB::fetch_first("SELECT applyid,uid FROM ".DB::table('xj_eventapply')." WHERE eid='$eid' AND secstate=0 AND seccode=$seccode");
  55. $applyid = $apply['applyid'];
  56. if($applyid){
  57. DB::update('xj_eventapply',array('secstate'=>1,'sectime'=>$_G['timestamp']),"applyid=$applyid");
  58. notification_add($apply['uid'], 'system',lang('plugin/xj_event', 'ndhdbmyzm')." $seccode ".lang('plugin/xj_event', 'yishiyong'),array(),1);
  59. showmessage(lang('plugin/xj_event', 'yzmyxyzcg'),"forum.php?mod=viewthread&tid=$tid");
  60. }else{
  61. showmessage(lang('plugin/xj_event', 'yzmwxhzyjsy'));
  62. }
  63. }
  64. //验证人数
  65. $applynumber = intval($_GET['applynumber']); //本次验证人数
  66. $applynum = DB::result_first("SELECT SUM(applynumber) FROM ".DB::table('xj_eventapply')." WHERE tid='$tid' and verify=1"); //已报名人数
  67. $applycountnum = DB::result_first("SELECT event_number FROM ".DB::table('xj_event')." WHERE tid='$tid'"); //活动总人数
  68. if($applycountnum>0){
  69. if($applynumber > ($applycountnum-$applynum)){
  70. showmessage(lang('plugin/xj_event', 'baomrsym'));
  71. }
  72. }
  73. //验证是否重复报名
  74. $myapplynum = DB::result_first("SELECT count(*) FROM ".DB::table('xj_eventapply')." WHERE tid='$tid' and uid=$uid");
  75. if($myapplynum > 0){
  76. showmessage(lang('plugin/xj_event', 'qinwcfbm'));
  77. }
  78. //获取活动组织人的ID
  79. $item = DB::fetch_first("SELECT authorid,subject FROM ".DB::table('forum_thread')." WHERE tid = '$tid'");
  80. $event_uid = $item['authorid'];
  81. $event_title = $item['subject'];
  82. $member = DB::fetch_first("SELECT extcredits1,extcredits2,extcredits3,extcredits4,extcredits5,extcredits6,extcredits7,extcredits8 FROM ".DB::table('common_member_count')." WHERE uid = ".$_G['uid']);
  83. $items = DB::fetch_first("SELECT starttime,userfield,setting,use_extcredits_num,use_extcredits FROM ".DB::table('xj_event')." WHERE tid = '$tid'");
  84. $event_starttime = dgmdate($items['starttime'],'dt');
  85. //判断积分够不够
  86. if($member['extcredits'.$items['use_extcredits']]<$items['use_extcredits_num']){
  87. showmessage($_G['setting']['extcredits'][$items['use_extcredits']]['title'].lang('plugin/xj_event', 'bgwfcj'));
  88. }
  89. $userfield = unserialize($items['userfield']);
  90. $setting = unserialize($items['setting']);
  91. foreach($_POST as $key => $value) {
  92. if(empty($value) && $key != 'message') {
  93. showmessage('activity_exile_field');
  94. }
  95. }
  96. $dateline = $_G['timestamp'];
  97. $eid = intval($_GET['eid']);
  98. $uid = $_G['uid'];
  99. $realname = addslashes($_GET['realname']);
  100. $mobile = addslashes($_GET['mobile']);
  101. $qq = addslashes($_GET['qq']);
  102. $bmmessage = addslashes($_GET['message']);
  103. $ufielddata = array();
  104. $selectuserfield = unserialize($items['userfield']);
  105. $sysuserfield = unserialize($_G['setting']['activityfield']);
  106. foreach($sysuserfield as $key => $value){
  107. if(in_array($key,$selectuserfield)){
  108. if(is_array($_GET[$key])){
  109. $ufielddata[$key] = implode(',',$_GET[$key]);
  110. }elseif($key=='birthday'){
  111. $ufielddata[$key] = $_GET['birthyear'].'-'.$_GET['birthmonth'].'-'.$_GET['birthday'];
  112. }elseif($key=='residecity'){
  113. $ufielddata[$key] = $_GET['resideprovince'].$_GET['residecity'].$_GET['residedist'].$_GET['residecommunity'];
  114. }else{
  115. $ufielddata[$key] = $_GET[$key];
  116. }
  117. }
  118. }
  119. $ufielddata = serialize($ufielddata);
  120. $eventapply = array();
  121. $eventapply['tid'] = $tid;
  122. $eventapply['eid'] = $eid;
  123. $eventapply['uid'] = $uid;
  124. $eventapply['realname'] = $realname;
  125. $eventapply['mobile'] = $mobile;
  126. $eventapply['qq'] = $qq;
  127. $eventapply['bmmessage'] = $bmmessage;
  128. $eventapply['dateline'] = $dateline;
  129. $eventapply['applynumber'] = $applynumber;
  130. $eventapply['ufielddata'] = $ufielddata;
  131. $eventapply['seccode'] = random(8,1);
  132. $eventapply['session'] = intval($_GET['session']);
  133. DB::insert('xj_eventapply',$eventapply);
  134. $num = DB::result_first("SELECT count(*) FROM ".DB::table('xj_event_member_info')." WHERE uid = '$uid'");
  135. if($num==0){
  136. DB::query("INSERT INTO ".DB::table('xj_event_member_info')." (uid) VALUES ('$uid')");
  137. }
  138. //积分操作
  139. /*
  140. if($items['use_extcredits_num']>0){
  141. updatemembercount($_G['uid'],array($items['use_extcredits']=>-$items['use_extcredits_num']));
  142. }
  143. */
  144. if($setting['noverify']==1){
  145. if($setting['eventpay']){
  146. showmessage(lang('plugin/xj_event', 'bmzltjcgxzzrzfym'), "plugin.php?id=xj_event:event_pay&tid=$tid", array(), array('showdialog' => 1, 'showmsg' => true, 'locationtime' => true, 'alert' => 'right'));
  147. }else{
  148. DB::query("update ".DB::table('xj_eventapply')." set verify=1 where tid='$tid' and uid=".$_G['uid']); //自动审核
  149. //短信操作
  150. if($setting['seccode'] == 1){
  151. $message = cutstr($event_title,30).lang('plugin/xj_event', 'hdbmcgrs').':'.$applynumber.lang('plugin/xj_event', 'renyanzhengma').':'.$eventapply['seccode'].' '.lang('plugin/xj_event', 'huodongshijian').':'.$event_starttime;
  152. xjsendsms(array($eventapply['mobile']),$message,lang('plugin/xj_event', 'maomyzmdx'));
  153. sendpm($eventapply['uid'],'',$message,$event_uid);
  154. }
  155. notification_add($event_uid, 'system', $_G['username'].' '.lang('plugin/xj_event', 'bmcjlnd').' <a href="forum.php?mod=viewthread&tid='.$tid.'" target="_blank">'.$event_title.'</a> '.lang('plugin/xj_event', 'hdxtyzdsh'),array(),0);
  156. //notification_add($event_uid, 'system',$_G['username'].' '.lang('plugin/xj_event', 'bmcjlnd').' <a href="forum.php?mod=viewthread&tid='.$tid.'" target="_blank">'.$event_title.'</a> '.lang('plugin/xj_event', 'hdxtyzdsh'),array(),0);
  157. showmessage(lang('plugin/xj_event', 'gxnbmcg'), "http://wsq.discuz.com/?c=index&a=viewthread&f=wx&tid={$tid}&siteid={$siteid}&_bpage=1", array(), array('showdialog' => 1, 'showmsg' => true, 'locationtime' => true, 'alert' => 'right'));
  158. }
  159. }else{
  160. if($setting['eventpay']){
  161. showmessage(lang('plugin/xj_event', 'bmzltjcgxzzrzfym'), "plugin.php?id=xj_event:event_pay&tid=$tid", array(), array('showdialog' => 1, 'showmsg' => true, 'locationtime' => true, 'alert' => 'right'));
  162. }
  163. notification_add($event_uid, 'system', 'activity_notice', array(
  164. 'tid' => $tid,
  165. 'subject' => $event_title,
  166. ));
  167. //notification_add($event_uid, 'system',$_G['username'].' '.lang('plugin/xj_event', 'bmcjlnd').' <a href="forum.php?mod=viewthread&tid='.$tid.'" target="_blank">'.$event_title.'</a> '.lang('plugin/xj_event', 'hdqsh'),array(),0);
  168. showmessage(lang('plugin/xj_event', 'bmxxtjcgqddsh'), "http://wsq.discuz.com/?c=index&a=viewthread&f=wx&tid={$tid}&siteid={$siteid}&_bpage=1", array(), array('showdialog' => 1, 'showmsg' => true, 'locationtime' => true, 'alert' => 'right'));
  169. }
  170. ?>