jfpay.inc.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?php
  2. /**
  3. * [超级活动(xj_event.{modulename})] (C)2012-2099 Powered by 逍遥工作室.
  4. * Version: 1.0
  5. * Date: 2012-9-15 10:27
  6. */
  7. if(!defined('IN_DISCUZ')) {
  8. exit('Access Denied');
  9. }
  10. if(strpos($_SERVER["HTTP_USER_AGENT"],'Appbyme')>0){
  11. $Appbyme = true;
  12. }
  13. $applyid = intval($_GET['applyid']);
  14. $apply = DB::fetch_first("SELECT * FROM ".DB::table('xj_eventapply')." WHERE applyid = $applyid and uid=".$_G['uid']);
  15. $tid = $apply['tid'];
  16. $items = DB::fetch_first("SELECT A.*,B.subject FROM ".DB::table('xj_event')." A,".DB::table('forum_thread')." B WHERE A.tid = $tid and A.tid=B.tid");
  17. $setting = unserialize($items['setting']);
  18. $extcredits = $_G['setting']['extcredits'][$items['use_extcredits']]['title'];
  19. if($_GET['action'] == 'payfull'){
  20. $myextedits = DB::result_first("SELECT extcredits".$items['use_extcredits']." FROM ".DB::table('common_member_count')." WHERE uid = ".$_G['uid']);
  21. if($setting['cost']){ //多种报名类型
  22. //我的积分
  23. if($setting['nodaibaoming']){ //非代报名
  24. $apply = DB::fetch_first("SELECT * FROM ".DB::table('xj_eventapply')." WHERE first=1 AND tid = '$tid' AND uid=".$_G['uid']);
  25. $apply['ufielddata'] = unserialize($apply['ufielddata']);
  26. $totalcredits = 0;
  27. foreach($setting['cost'] as $value){
  28. $totalcredits = $totalcredits+$apply['ufielddata']['cost'.$value['id']]*$value['cost_credits'];
  29. }
  30. //VIP折扣
  31. $vipgroup = unserialize($_G['cache']['plugin']['xj_event']['vipgroupid']);
  32. if(in_array($_G['groupid'],$vipgroup)){
  33. if($setting['vip_discount']>0){
  34. $totalcredits = intval($totalcredits*$setting['vip_discount']);
  35. }
  36. }
  37. if($myextedits< $totalcredits){
  38. showmessage($extcredits.lang('plugin/xj_event','bgwfcj'));
  39. }
  40. DB::query("UPDATE ".DB::table('common_member_count')." SET extcredits".$items['use_extcredits']." = extcredits".$items['use_extcredits']." - ".$totalcredits." WHERE uid=".$_G['uid']);
  41. DB::query("UPDATE ".DB::table('xj_eventapply')." SET verify=1,pay_state=1 WHERE tid = $tid AND uid=".$_G['uid']);
  42. }else{ //代报名
  43. $apply = DB::fetch_all("SELECT * FROM ".DB::table('xj_eventapply')." WHERE tid = $tid and uid=".$_G['uid']);
  44. $totalcredits = 0;
  45. foreach($apply as $value){
  46. $value['ufielddata'] = unserialize($value['ufielddata']);
  47. $totalcredits = $totalcredits + $setting['cost'][$value['ufielddata']['costclass']]['cost_credits'];
  48. }
  49. //VIP折扣
  50. $vipgroup = unserialize($_G['cache']['plugin']['xj_event']['vipgroupid']);
  51. if(in_array($_G['groupid'],$vipgroup)){
  52. if($setting['vip_discount']>0){
  53. //$totalcredits = intval($totalcredits*$setting['vip_discount']);
  54. }
  55. }
  56. if($myextedits< $totalcredits){
  57. showmessage($extcredits.lang('plugin/xj_event','bgwfcj'));
  58. }
  59. DB::query("UPDATE ".DB::table('common_member_count')." SET extcredits".$items['use_extcredits']." = extcredits".$items['use_extcredits']." - ".$totalcredits." WHERE uid=".$_G['uid']);
  60. DB::query("UPDATE ".DB::table('xj_eventapply')." SET verify=1,pay_state=1 WHERE tid = $tid AND uid=".$_G['uid']);
  61. }
  62. }else{
  63. $use_credits = $items['use_extcredits_num'];
  64. $item = DB::fetch_first("SELECT applyid,applynumber FROM ".DB::table('xj_eventapply')." WHERE tid = '$tid' and uid=".$_G['uid']);
  65. //报名方式不同,计算人数
  66. if($setting['nodaibaoming']){
  67. $applynumber = $item['applynumber'];
  68. }else{
  69. $applynumber = DB::result_first("SELECT count(*) FROM ".DB::table('xj_eventapply')." WHERE tid = '$tid' and uid=".$_G['uid']);
  70. }
  71. $totalcredits = $use_credits*$applynumber;
  72. //VIP折扣
  73. $vipgroup = unserialize($_G['cache']['plugin']['xj_event']['vipgroupid']);
  74. if(in_array($_G['groupid'],$vipgroup)){
  75. if($setting['vip_discount']>0){
  76. $totalcredits = intval($totalcredits*$setting['vip_discount']);
  77. }
  78. }
  79. if($myextedits< $totalcredits){
  80. showmessage($extcredits.lang('plugin/xj_event','bgwfcj'));
  81. }
  82. DB::query("UPDATE ".DB::table('common_member_count')." SET extcredits".$items['use_extcredits']." = extcredits".$items['use_extcredits']." - ".$totalcredits." WHERE uid=".$_G['uid']);
  83. DB::query("UPDATE ".DB::table('xj_eventapply')." SET verify=1,pay_state=1 WHERE tid = $tid AND uid=".$_G['uid']);
  84. }
  85. include 'include/sms_func.php';
  86. $apply = DB::fetch_first("SELECT * FROM ".DB::table('xj_eventapply')." WHERE first=1 AND tid=$tid AND uid=".$_G['uid']);
  87. $thread = DB::fetch_first("SELECT authorid,userfield,setting,subject,starttime,event_address FROM ".DB::table('forum_thread')." A,".DB::table('xj_event')." B WHERE A.tid=$tid and A.tid = B.tid");
  88. $setting = unserialize($thread['setting']);
  89. $event_starttime = dgmdate($thread['starttime'],'dt');
  90. if($setting['seccode'] == 1){
  91. $message = cutstr($thread['subject'],30).lang('plugin/xj_event', 'hdbmcgrs').':'.$apply['applynumber'].lang('plugin/xj_event', 'ren').' '.lang('plugin/xj_event', 'yanzhenma').':'.$apply['seccode'].' '.lang('plugin/xj_event', 'huodongshijian').':'.$event_starttime;
  92. $sendtype = lang('plugin/xj_event', 'maomyzmdx');
  93. if($_G[charset]=='gbk'){
  94. $message = diconv($message,'UTF-8','GBK');
  95. $sendtype = diconv($sendtype,'UTF-8','GBK');
  96. }
  97. sendsms_vcode($apply['mobile'],$thread['subject'],$apply['applynumber'],$apply['seccode']);
  98. //xjsendsms(array($apply['mobile']),$message,$sendtype);
  99. sendpm($apply['uid'],'',$message,$thread['authorid']);
  100. }elseif($setting['success_sms'] == 1){
  101. sendsms_success($apply['mobile'],$thread['subject'],$event_starttime);
  102. //易活动短信
  103. //$smsuid = DB::result_first("SELECT uid FROM ".DB::table('common_member')." WHERE username='".$setting['event_admin'][0]."'");
  104. //$smsmobile = DB::result_first("SELECT mobile FROM ".DB::table('common_member_profile')." WHERE uid=$smsuid");
  105. //sendsms_notice_yhd($apply['mobile'],$thread['subject'],$event_starttime,$thread['event_address'],$smsmobile);
  106. }
  107. C::memory()->clear();//清memcache内存
  108. showmessage(lang('plugin/xj_event','jifengzfcg'),'plugin.php?id=xj_event:wsqcenter&mod=join_success&tid='.$tid);
  109. exit();
  110. }
  111. $item = DB::fetch_first("SELECT applyid,applynumber FROM ".DB::table('xj_eventapply')." WHERE tid = '$tid' and uid=".$_G['uid']);
  112. $subject = $items['subject'];
  113. $use_credits = $items['use_extcredits_num'];
  114. //报名方式不同,计算人数
  115. if($setting['nodaibaoming']){
  116. $applynumber = $item['applynumber'];
  117. }else{
  118. $applynumber = DB::result_first("SELECT count(*) FROM ".DB::table('xj_eventapply')." WHERE tid = '$tid' and uid=".$_G['uid']);
  119. }
  120. //判断报名名额是否够,不够就不让支付
  121. if($eventnumber>0){
  122. $applycountnumber = DB::result_first("SELECT SUM(applynumber) FROM ".DB::table('xj_eventapply')." WHERE tid='$tid' and verify=1");
  123. if($applynumber > ($eventnumber-$applycountnumber)){
  124. showmessage(lang('plugin/xj_event','baomrsym'));
  125. exit();
  126. }
  127. }
  128. $totalcredits = $use_credits*$applynumber;
  129. //VIP折扣
  130. $vipgroup = unserialize($_G['cache']['plugin']['xj_event']['vipgroupid']);
  131. $apply = DB::fetch_first("SELECT * FROM ".DB::table('xj_eventapply')." WHERE first=1 AND tid = '$tid' AND uid=".$_G['uid']);
  132. $apply['ufielddata'] = unserialize($apply['ufielddata']);
  133. include template('xj_event:jfpay');
  134. ?>