威宁热线

威宁团菜到家

[教程分享] 发个教程记录一下关于支付充值非管理员打不开的解决办法

[复制链接]
威宁热线 发表于 2021-1-31 12:45:40 | 显示全部楼层 |阅读模式
优化 支付接口支持非 Ajax 模式, 缓解 Ajax 失败造成支付失败的问题。
出现问题的代码:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
根据官方优化建议,查找文件:/source/include/spacecp/spacecp_credit_base.php
替换成:
  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: spacecp_credit_base.php 33663 2013-07-30 05:06:43Z nemohou $
  7. */

  8. if(!defined('IN_DISCUZ')) {
  9.         exit('Access Denied');
  10. }
  11. if(empty($_GET['op']))        $_GET['op'] = 'base';
  12. if(in_array($_GET['op'], array('transfer', 'exchange'))) {
  13.         $taxpercent = sprintf('%1.2f', $_G['setting']['creditstax'] * 100).'%';
  14. }
  15. if($_GET['op'] == 'base') {
  16.         $loglist = $extcredits_exchange = array();
  17.         if(!empty($_G['setting']['extcredits'])) {
  18.                 foreach($_G['setting']['extcredits'] as $key => $value) {
  19.                         if($value['allowexchangein'] || $value['allowexchangeout']) {
  20.                                 $extcredits_exchange['extcredits'.$key] = array('title' => $value['title'], 'unit' => $value['unit']);
  21.                         }
  22.                 }
  23.         }

  24.         $count = C::t('common_credit_log')->count_by_uid($_G['uid']);
  25.         if($count) {
  26.                 loadcache(array('magics'));
  27.                 foreach(C::t('common_credit_log')->fetch_all_by_uid($_G['uid'], 0, 10) as $log) {
  28.                         $credits = array();
  29.                         $havecredit = false;
  30.                         $maxid = $minid = 0;
  31.                         foreach($_G['setting']['extcredits'] as $id => $credit) {
  32.                                 if($log['extcredits'.$id]) {
  33.                                         $havecredit = true;
  34.                                         if($log['operation'] == 'RPZ') {
  35.                                                 $credits[] = $credit['title'].lang('spacecp', 'credit_update_reward_clean');
  36.                                         } else {
  37.                                                 $credits[] = $credit['title'].' <span class="'.($log['extcredits'.$id] > 0 ? 'xi1' : 'xg1').'">'.($log['extcredits'.$id] > 0 ? '+' : '').$log['extcredits'.$id].'</span>';
  38.                                         }
  39.                                         if($log['operation'] == 'CEC' && !empty($log['extcredits'.$id])) {
  40.                                                 if($log['extcredits'.$id] > 0) {
  41.                                                         $log['maxid'] = $id;
  42.                                                 } elseif($log['extcredits'.$id] < 0) {
  43.                                                         $log['minid'] = $id;
  44.                                                 }
  45.                                         }
  46.                                 }
  47.                         }
  48.                         if(!$havecredit) {
  49.                                 continue;
  50.                         }
  51.                         $log['credit'] = implode('<br/>', $credits);
  52.                         if(in_array($log['operation'], array('RTC', 'RAC', 'STC', 'BTC', 'ACC', 'RCT', 'RCA', 'RCB'))) {
  53.                                 $tids[$log['relatedid']] = $log['relatedid'];
  54.                         } elseif(in_array($log['operation'], array('SAC', 'BAC'))) {
  55.                                 $aids[$log['relatedid']] = $log['relatedid'];
  56.                         } elseif(in_array($log['operation'], array('PRC', 'RSC'))) {
  57.                                 $pids[$log['relatedid']] = $log['relatedid'];
  58.                         } elseif(in_array($log['operation'], array('TFR', 'RCV'))) {
  59.                                 $uids[$log['relatedid']] = $log['relatedid'];
  60.                         } elseif($log['operation'] == 'TRC') {
  61.                                 $taskids[$log['relatedid']] = $log['relatedid'];
  62.                         }

  63.                         $loglist[] = $log;
  64.                 }
  65.                 $otherinfo = getotherinfo($aids, $pids, $tids, $taskids, $uids);

  66.         }

  67.         $navtitle = lang('core', 'title_credit');
  68.         $creditsformulaexp = str_replace('*', 'X', $_G['setting']['creditsformulaexp']);

  69. } elseif ($_GET['op'] == 'buy') {

  70.         if((!$_G['setting']['ec_ratio'] || (!$_G['setting']['ec_tenpay_opentrans_chnid'] && !$_G['setting']['ec_tenpay_bargainor']  && !$_G['setting']['ec_account'])) && !$_G['setting']['card']['open'] ) {
  71.                 showmessage('action_closed', NULL);
  72.         }

  73.         if(submitcheck('addfundssubmit')) {
  74.                 if(!isset($_GET['bank_type'])) {
  75.                         showmessage('memcp_credits_addfunds_msg_notype', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  76.                 }
  77.                 $apitype = is_numeric($_GET['bank_type']) ? 'tenpay' : $_GET['bank_type'];
  78.                 if($apitype == 'card') {
  79.                         list($seccodecheck) = seccheck('card');
  80.                         if($seccodecheck) {
  81.                                 if(!check_seccode($_GET['seccodeverify'], $_GET['seccodehash'])) {
  82.                                         showmessage('submit_seccode_invalid', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  83.                                 }
  84.                         }

  85.                         if(!$_POST['cardid']) {
  86.                                 showmessage('memcp_credits_card_msg_cardid_incorrect', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  87.                         }
  88.                         if(!($card = C::t('common_card')->fetch($_POST['cardid']))) {
  89.                                 showmessage('memcp_credits_card_msg_card_unfined', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true, 'extrajs' => '<script type="text/javascript">updateseccode("'.$_GET['sechash'].'");</script>'));
  90.                         } else {
  91.                                 if($card['status'] == 2) {
  92.                                         showmessage('memcp_credits_card_msg_used', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  93.                                 }
  94.                                 if($card['cleardateline'] < TIMESTAMP) {
  95.                                         showmessage('memcp_credits_card_msg_cleardateline_early', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  96.                                 }
  97.                                 if(C::t('common_card')->update_to_used($card['id'])) {
  98.                                         updatemembercount($_G[uid], array($card['extcreditskey'] => $card['extcreditsval']), true, 'CDC', 1);
  99.                                         showmessage('memcp_credits_card_msg_succeed', 'home.php?mod=spacecp&ac=credit&op=base', array('extcreditstitle' => $_G['setting']['extcredits'][$card['extcreditskey']]['title'], 'extcreditsval' => $card['extcreditsval']), array('showdialog' => 1, 'alert' => 'right', 'showmsg' => true, 'locationtime' => true));
  100.                                 } else {
  101.                                         showmessage('memcp_credits_card_msg_used', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  102.                                 }
  103.                         }
  104.                 } else {
  105.                         $amount = intval($_GET['addfundamount']);
  106.                         if(!$amount) {
  107.                                 showmessage('memcp_credits_addfunds_msg_incorrect', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  108.                         }
  109.                         $language = lang('forum/misc');
  110.                         if(($_G['setting']['ec_mincredits'] && $amount < $_G['setting']['ec_mincredits']) || ($_G['setting']['ec_maxcredits'] && $amount > $_G['setting']['ec_maxcredits'])) {
  111.                                 showmessage('credits_addfunds_amount_invalid', '', array('ec_maxcredits' => $_G['setting']['ec_maxcredits'], 'ec_mincredits' => $_G['setting']['ec_mincredits']), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  112.                         }

  113.                         if($apitype == 'card' && C::t('forum_order')->count_by_search($_G['uid'], null, null, null, null, null, null, $_G['timestamp'] - 180)) {
  114.                                 showmessage('credits_addfunds_ctrl', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  115.                         }

  116.                         if($_G['setting']['ec_maxcreditspermonth']) {
  117.                                 if(C::t('forum_order')->sum_amount_by_uid_submitdate_status($_G['uid'], $_G['timestamp'] - 2592000, array(2, 3)) + $amount > $_G['setting']['ec_maxcreditspermonth']) {
  118.                                         showmessage('credits_addfunds_toomuch', '', array('ec_maxcreditspermonth' => $_G['setting']['ec_maxcreditspermonth']), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  119.                                 }
  120.                         }

  121.                         $price = round(($amount / $_G['setting']['ec_ratio'] * 100) / 100, 2);
  122.                         $orderid = '';

  123.                         require_once libfile('function/trade');
  124.                         $requesturl = credit_payurl($price, $orderid, $_GET['bank_type']);

  125.                         if(C::t('forum_order')->fetch($orderid)) {
  126.                                 showmessage('credits_addfunds_order_invalid', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  127.                         }

  128.                         C::t('forum_order')->insert(array(
  129.                                 'orderid' => $orderid,
  130.                                 'status' => '1',
  131.                                 'uid' => $_G['uid'],
  132.                                 'amount' => $amount,
  133.                                 'price' => $price,
  134.                                 'submitdate' => $_G['timestamp'],
  135.                         ));

  136.                         include isset($_REQUEST['inajax']) ? template('common/header_ajax') : template('common/header');
  137.                         echo '<form id="payform" action="'.$requesturl.'" method="post"></form><script type="text/javascript" reload="1">document.getElementById(\'payform\').submit();</script>';
  138.                         include isset($_REQUEST['inajax']) ? template('common/footer_ajax') : template('common/footer');
  139.                         dexit();
  140.                 }
  141.         } else {
  142.                 if($_G['setting']['card']['open']) {
  143.                         list($seccodecheck) = seccheck('card');
  144.                         $secqaacheck = 0;
  145.                 }
  146.         }

  147. } elseif ($_GET['op'] == 'transfer') {
  148.         if($_G['setting']['submitlock'] && discuz_process::islocked('transferlock_'.$_G['uid'], 0, 1)){
  149.                 showmessage('credits_transfer_msg_locked', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  150.         }

  151.         if(!($_G['setting']['transferstatus'] && $_G['group']['allowtransfer'])) {
  152.                 showmessage('action_closed', NULL);
  153.         }

  154.         if(submitcheck('transfersubmit')) {
  155.                 if($_GET['to'] == $_G['username']) {
  156.                         showmessage('memcp_credits_transfer_msg_self_incorrect', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  157.                 }
  158.                 $amount = intval($_GET['transferamount']);
  159.                 if($amount <= 0) {
  160.                         showmessage('credits_transaction_amount_invalid', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  161.                 } elseif(getuserprofile('extcredits'.$_G['setting']['creditstransextra'][9]) - $amount < ($minbalance = $_G['setting']['transfermincredits'])) {
  162.                         showmessage('credits_transfer_balance_insufficient', '', array('title' => $_G['setting']['extcredits'][$_G['setting']['creditstransextra'][9]]['title'], 'minbalance' => $minbalance), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  163.                 } elseif(!($netamount = floor($amount * (1 - $_G['setting']['creditstax'])))) {
  164.                         showmessage('credits_net_amount_iszero', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  165.                 }
  166.                 $to = C::t('common_member')->fetch_by_username($_GET['to']);
  167.                 if(!$to) {
  168.                         showmessage('memcp_credits_transfer_msg_user_incorrect', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  169.                 }

  170.                 loaducenter();
  171.                 $ucresult = uc_user_login(addslashes($_G['username']), $_GET['password']);
  172.                 list($tmp['uid']) = $ucresult;

  173.                 if($tmp['uid'] <= 0) {
  174.                         showmessage('credits_password_invalid', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  175.                 }

  176.                 updatemembercount($_G['uid'], array($_G['setting']['creditstransextra'][9] => -$amount), 1, 'TFR', $to['uid']);
  177.                 updatemembercount($to['uid'], array($_G['setting']['creditstransextra'][9] => $netamount), 1, 'RCV', $_G['uid']);

  178.                 if(!empty($_GET['transfermessage'])) {
  179.                         $transfermessage = dhtmlspecialchars($_GET['transfermessage']);
  180.                         notification_add($to['uid'], 'credit', 'transfer', array('credit' => $_G['setting']['extcredits'][$_G['setting']['creditstransextra'][9]]['title'].' '.$netamount.' '.$_G['setting']['extcredits'][$_G['setting']['creditstransextra'][9]]['unit'], 'transfermessage' => $transfermessage));
  181.                 }
  182.                 showmessage('credits_transfer_succeed', 'home.php?mod=spacecp&ac=credit&op=transfer', array(), array('showdialog' => 1, 'showmsg' => true, 'locationtime' => true));
  183.         }

  184. } elseif ($_GET['op'] == 'exchange') {

  185.         if(!$_G['setting']['exchangestatus']) {
  186.                 showmessage('action_closed', NULL);
  187.         }
  188.         $_CACHE['creditsettings'] = array();
  189.         if(file_exists(DISCUZ_ROOT.'/uc_client/data/cache/creditsettings.php')) {
  190.                 include_once(DISCUZ_ROOT.'/uc_client/data/cache/creditsettings.php');
  191.         }

  192.         if(submitcheck('exchangesubmit')) {
  193.                 if($_G['setting']['submitlock'] && discuz_process::islocked('exchangelock_'.$_G['uid'], 0, 1)){
  194.                         showmessage('memcp_credits_exchange_msg_locked', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  195.                 }

  196.                 $tocredits = $_GET['tocredits'];
  197.                 $fromcredits = $_GET['fromcredits'];
  198.                 $exchangeamount = $_GET['exchangeamount'];
  199.                 $outexange = strexists($tocredits, '|');
  200.                 if($outexange && !empty($_GET['outi'])) {
  201.                         $fromcredits = $_GET['fromcredits_'.$_GET['outi']];
  202.                 }

  203.                 if($fromcredits == $tocredits) {
  204.                         showmessage('memcp_credits_exchange_msg_num_invalid', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  205.                 }
  206.                 if($outexange) {
  207.                         $netamount = floor($exchangeamount * $_CACHE['creditsettings'][$tocredits]['ratiosrc'][$fromcredits] / $_CACHE['creditsettings'][$tocredits]['ratiodesc'][$fromcredits]);
  208.                 } else {
  209.                         if($_G['setting']['extcredits'][$tocredits]['ratio'] < $_G['setting']['extcredits'][$fromcredits]['ratio']) {
  210.                                 $netamount = ceil($exchangeamount * $_G['setting']['extcredits'][$tocredits]['ratio'] / $_G['setting']['extcredits'][$fromcredits]['ratio'] * (1 + $_G['setting']['creditstax']));
  211.                         } else {
  212.                                 $netamount = floor($exchangeamount * $_G['setting']['extcredits'][$tocredits]['ratio'] / $_G['setting']['extcredits'][$fromcredits]['ratio'] * (1 + $_G['setting']['creditstax']));
  213.                         }
  214.                 }
  215.                 if(!$outexange && !$_G['setting']['extcredits'][$tocredits]['ratio']) {
  216.                         showmessage('credits_exchange_invalid', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  217.                 }
  218.                 if(!$outexange && !$_G['setting']['extcredits'][$fromcredits]['allowexchangeout']) {
  219.                         showmessage('extcredits_disallowexchangeout', '', array('credittitle' => $_G['setting']['extcredits'][$fromcredits]['title']), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  220.                 }
  221.                 if(!$outexange && !$_G['setting']['extcredits'][$tocredits]['allowexchangein']) {
  222.                         showmessage('extcredits_disallowexchangein', '', array('credittitle' => $_G['setting']['extcredits'][$tocredits]['title']), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  223.                 }
  224.                 if(!$netamount) {
  225.                         showmessage('memcp_credits_exchange_msg_balance_insufficient', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  226.                 } elseif($exchangeamount <= 0) {
  227.                         showmessage('credits_transaction_amount_invalid', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  228.                 } elseif(getuserprofile('extcredits'.$fromcredits) - $netamount < ($minbalance = $_G['setting']['exchangemincredits'])) {
  229.                         showmessage('credits_exchange_balance_insufficient', '', array('title' => $_G['setting']['extcredits'][$fromcredits]['title'], 'minbalance' => $minbalance), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  230.                 }

  231.                 loaducenter();
  232.                 $ucresult = uc_user_login(addslashes($_G['username']), $_GET['password']);
  233.                 list($tmp['uid']) = $ucresult;

  234.                 if($tmp['uid'] <= 0) {
  235.                         showmessage('credits_password_invalid', '', array(), array('showdialog' => 1, 'showmsg' => true, 'closetime' => true));
  236.                 }

  237.                 if(!$outexange) {
  238.                         updatemembercount($_G['uid'], array($fromcredits => -$netamount, $tocredits => $exchangeamount), 1, 'CEC', $_G['uid']);
  239.                 } else {
  240.                         if(!array_key_exists($fromcredits, $_CACHE['creditsettings'][$tocredits]['creditsrc'])) {
  241.                                 showmessage('extcredits_dataerror', NULL);
  242.                         }
  243.                         list($toappid, $tocredits) = explode('|', $tocredits);
  244.                         $ucresult = uc_credit_exchange_request($_G['uid'], $fromcredits, $tocredits, $toappid, $exchangeamount);
  245.                         if(!$ucresult) {
  246.                                 showmessage('extcredits_dataerror', NULL);
  247.                         }
  248.                         updatemembercount($_G['uid'], array($fromcredits => -$netamount), 1, 'ECU', $_G['uid']);
  249.                         $netamount = $amount;
  250.                         $amount = $tocredits = 0;
  251.                 }

  252.                 showmessage('credits_transaction_succeed', 'home.php?mod=spacecp&ac=credit&op=exchange', array(), array('showdialog' => 1, 'showmsg' => true, 'locationtime' => true));
  253.         }

  254. } else  {
  255.         $wheresql = '';
  256.         $list = array();
  257.         $rid = intval($_GET['rid']);
  258.         if($_GET['rid']) {
  259.                 $wheresql = " AND rid='$rid'";
  260.         }
  261.         require_once libfile('function/forumlist');
  262.         $select = forumselect(false, 0, $_GET['fid']);
  263.         $keys = array_keys($_G['setting']['extcredits']);
  264.         foreach(C::t('common_credit_rule')->fetch_all_by_rid($rid) as $value) {
  265.                 if(!helper_access::check_module('doing') && $value['action'] == 'doing') {
  266.                         continue;
  267.                 } elseif(!helper_access::check_module('blog') && $value['action'] == 'publishblog') {
  268.                         continue;
  269.                 } elseif(!helper_access::check_module('wall') && in_array($value['action'], array('guestbook', 'getguestbook'))) {
  270.                         continue;
  271.                 }
  272.                 if(empty($_GET['fid']) || in_array($value['action'], array('digest', 'post', 'reply', 'getattach', 'postattach'))) {
  273.                         if(checkvalue($value, $keys)) {
  274.                                 $list[$value['action']] = $value;
  275.                         }
  276.                 }
  277.         }
  278.         if(!empty($_GET['fid'])) {
  279.                 $_GET['fid'] = intval($_GET['fid']);
  280.                 $foruminfo = C::t('forum_forumfield')->fetch($_GET['fid']);
  281.                 $flist = dunserialize($foruminfo['creditspolicy']);
  282.                 foreach($flist as $action => $value) {
  283.                         $list[$value['action']] = $value;
  284.                 }
  285.         }
  286. }
  287. include_once template("home/spacecp_credit_base");

  288. function checkvalue($value, $creditids) {
  289.         $havevalue = false;
  290.         foreach($creditids as $key) {
  291.                 if($value['extcredits'.$key]) {
  292.                         $havevalue = true;
  293.                         break;
  294.                 }
  295.         }
  296.         return $havevalue;
  297. }
  298. ?>
复制代码
查找文件:
/source/module/misc/misc_buyinvitecode.php
替换成:
  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: misc_buyinvitecode.php 31572 2012-09-10 08:59:03Z zhengqingpeng $
  7. */

  8. if(!defined('IN_DISCUZ')) {
  9.         exit('Access Denied');
  10. }
  11. if(submitcheck('buysubmit')) {
  12.         if($_G['setting']['ec_tenpay_bargainor'] || $_G['setting']['ec_tenpay_opentrans_chnid'] || $_G['setting']['ec_account']) {
  13.                 $language = lang('forum/misc');
  14.                 $amount = intval($_GET['amount']);
  15.                 $email = dhtmlspecialchars($_GET['email']);
  16.                 if(empty($amount)) {
  17.                         showmessage('buyinvitecode_no_count');
  18.                 }
  19.                 if(strlen($email) < 6 || !preg_match("/^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/", $email)) {
  20.                         showmessage('buyinvitecode_email_error');
  21.                 }

  22.                 $price = round($amount * $_G['setting']['inviteconfig']['invitecodeprice'], 2);
  23.                 $orderid = '';

  24.                 $apitype = is_numeric($_GET['bank_type']) ? 'tenpay' : $_GET['bank_type'];
  25.                 if(empty($apitype)) {
  26.                         showmessage('parameters_error');
  27.                 }
  28.                 require_once libfile('function/trade');
  29.                 $requesturl = invite_payurl($amount, $price, $orderid, $_GET['bank_type']);

  30.                 if(C::t('forum_order')->fetch($orderid)) {
  31.                         showmessage('credits_addfunds_order_invalid');
  32.                 }
  33.                 C::t('forum_order')->insert(array(
  34.                         'orderid' => $orderid,
  35.                         'status' => '1',
  36.                         'uid' => 0,
  37.                         'amount' => $amount,
  38.                         'price' => $price,
  39.                         'submitdate' => $_G['timestamp'],
  40.                         'email' => $email,
  41.                         'ip' => $_G['clientip'],
  42.                 ));
  43.                 include isset($_REQUEST['inajax']) ? template('common/header_ajax') : template('common/header');
  44.                 echo '<form id="payform" action="'.$requesturl.'" method="post"></form><script type="text/javascript" reload="1">document.getElementById(\'payform\').submit();</script>';
  45.                 include isset($_REQUEST['inajax']) ? template('common/footer_ajax') : template('common/footer');
  46.                 dexit();
  47.         } else {
  48.                 showmessage('action_closed', NULL);
  49.         }

  50. }
  51. if($_GET['action'] == 'paysucceed' && $_GET['orderid']) {
  52.         $orderid = $_GET['orderid'];
  53.         $order = C::t('forum_order')->fetch($orderid);
  54.         if(!$order) {
  55.                 showmessage('parameters_error');
  56.         }
  57.         $codes = array();
  58.         foreach(C::t('common_invite')->fetch_all_orderid($orderid) as $code) {
  59.                 $codes[] = $code['code'];
  60.         }
  61.         if(empty($codes)) {
  62.                 showmessage('buyinvitecode_no_id');
  63.         }
  64.         $codetext = implode("\r\n", $codes);
  65. }

  66. if($_G['group']['maxinviteday']) {
  67.         $maxinviteday = time() + 86400 * $_G['group']['maxinviteday'];
  68. } else {
  69.         $maxinviteday = time() + 86400 * 10;
  70. }
  71. $maxinviteday = dgmdate($maxinviteday, 'Y-m-d H:i');
  72. $_G['setting']['inviteconfig']['invitecodeprompt'] = nl2br($_G['setting']['inviteconfig']['invitecodeprompt']);

  73. include template('common/buyinvitecode');
  74. ?>
复制代码
涉及的两个文件保存更新缓存,问题解决。
懒人包下载:
游客,如果您要查看本帖隐藏内容请回复


官方优化来源地址:https://gitee.com/Discuz/DiscuzX ... e49434b32fd90f9b040
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表