小贝贝 发表于 2018-1-16 10:49:54

自动发卡发货插件[图片版]源码超市插件修复文件

<?php
if (!defined('IN_DISCUZ')) {
    exit('Access Denied');
}
require_once libfile('function/mail');
$ac=isset($_GET['ac'])?daddslashes($_GET['ac']):'';
if(!in_array($ac, array('pay_window','checkpay')) && !empty($ac)){
    exit('Access Denied');
}
$goods_number=isset($_GET['goods_number'])?intval($_GET['goods_number']):1;
$myconf = $_G['cache']['plugin']['yc88_faka'];
$payway=unserialize($myconf['payway']);
$goods_id=intval($_GET['goods_id']);
if(in_array(1, $payway)){
    $myconf_yc88_pay = $_G['cache']['plugin']['yc88_pay'];
    $payway_yc88_pay=unserialize($myconf_yc88_pay['payway']);
    if(empty($myconf_yc88_pay['mchid']) || empty($myconf_yc88_pay['secret']) || empty($myconf_yc88_pay['integral_type'])){
      showmessage('yc88_pay:config_err');
      return;
    }
}

$orderid=daddslashes($_GET['orderid']);
if($ac=='checkpay'){
    $info_order=DB::fetch_first("select status,goods_id from ".DB::table('yc88_faka_order')." where no='{$orderid}'");
    $code=DB::result_first("select content from ".DB::table('yc88_faka_kami')." where order_no='{$orderid}'");
    if(!$code){
      $code=DB::result_first("select content from ".DB::table('yc88_faka_kami')." where goods_id='{$info_order['goods_id']}'");
    }
    header("Content-Type:application/json; charset=utf-8");
    $re=array(
      'status'=>$info_order['status'],
      'code'=>$code
    );
    echo json_encode($re);
    die;
}



//积分
$integral_type=$myconf['integral_type'];
switch ($integral_type) {
    case 1:
      $jifen=DB::fetch_first("select extcredits1 from ".DB::table('common_member_count')." where uid=".$_G['uid']);
      $jifen=$jifen['extcredits1'];
      break;
    case 2:
      $jifen=DB::fetch_first("select extcredits2 from ".DB::table('common_member_count')." where uid=".$_G['uid']);
      $jifen=$jifen['extcredits2'];
      break;
    case 3:
      $jifen=DB::fetch_first("select extcredits3 from ".DB::table('common_member_count')." where uid=".$_G['uid']);
      $jifen=$jifen['extcredits3'];
      break;
    case 4:
      $jifen=DB::fetch_first("select extcredits4 from ".DB::table('common_member_count')." where uid=".$_G['uid']);
      $jifen=$jifen['extcredits4'];
      break;
    case 5:
      $jifen=DB::fetch_first("select extcredits5 from ".DB::table('common_member_count')." where uid=".$_G['uid']);
      $jifen=$jifen['extcredits5'];
      break;
    case 6:
      $jifen=DB::fetch_first("select extcredits6 from ".DB::table('common_member_count')." where uid=".$_G['uid']);
      $jifen=$jifen['extcredits6'];
      break;
    case 7:
      $jifen=DB::fetch_first("select extcredits7 from ".DB::table('common_member_count')." where uid=".$_G['uid']);
      $jifen=$jifen['extcredits7'];
      break;
}
$goods_info=DB::fetch_first("select * from ".DB::table('yc88_faka_goods')." where id=".$goods_id);
$amount=$goods_info["integral"]*$goods_number;
//库存
$goods_kucun=DB::result_first("select count(1) from ".DB::table('yc88_faka_kami')." where goods_id={$goods_id} and status=0");
if($goods_info['faka_type']==1){
    $goods_kucun=999;
}
if($goods_kucun<intval($_GET['goods_number'])){
    showmessage(lang('plugin/yc88_faka','pay_001'));
}
if(submitcheck('paysubmit')){
    $order_no =date('YmdHis') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
    if(daddslashes($_GET['bankid'])=='JIFEN' && $amount<=$jifen){
      $data=array(
            'no'=>$order_no,
            'status'=>1,
            'uid'=>$_G['uid'],
            'goods_id'=>$goods_id,
            'goods_name'=>$goods_info["name"],
            'goods_price'=>$goods_info["price"],
            'goods_number'=>intval($_GET['goods_number']),
            'ctime'=>time(),
            'paytime'=>time(),
            'email'=>daddslashes($_GET["email"]),
            'integral'=>$goods_info["integral"]*intval($_GET['goods_number'])
      );
      $re=DB::insert('yc88_faka_order', $data);
      //发卡
      $faka_type=DB::result_first("select faka_type from ".DB::table('yc88_faka_goods')." where id=".$goods_id);
      if($faka_type==1){
            $kami_list_str=DB::result_first("select content from ".DB::table('yc88_faka_kami')." where goods_id=".$goods_id);
      }else{
            $kami_ids=DB::fetch_all("select id from ".DB::table('yc88_faka_kami')." where goods_id=".$goods_id."and order_no='' limit 0,".intval($_GET['goods_number']));
            $kami_ids_str='';
            foreach ($kami_ids as $k => $v) {
                if($k==0){
                  $kami_ids_str=$v['id'];
                }else{
                  $kami_ids_str.=','.$v['id'];
                }
            }
            $kami_ids_str=empty($kami_ids_str)?'0':$kami_ids_str;
            DB::query("update ".DB::table('yc88_faka_kami')." set status=1,order_no='".$order_no."' where id in({$kami_ids_str})");
            $kami_list=DB::fetch_all("select content from ".DB::table('yc88_faka_kami')." whereid in({$kami_ids_str})");
            $kami_list_str='';
            foreach ($kami_list as $k => $v) {
                if($k==0){
                  $kami_list_str=$v['content'];
                }else{
                  $kami_list_str.='<br>'.$v['content'];
                }
            }
      }
         
         
      $email_content="<p class='summary'>".lang('plugin/yc88_faka', 'callback_001').":<span>{$order_no}</span></p><p class='summary'>".lang('plugin/yc88_faka', 'callback_002').":<span>{$kami_list_str}</span></p>";
      sendmail(daddslashes($_GET["email"]),lang('plugin/yc88_faka', 'callback_003'),$email_content);
      updatemembercount($_G['uid'], array($myconf['integral_type'] => -$goods_info['integral']*intval($_GET['goods_number'])),true,'',1,'', lang('plugin/yc88_faka', 'callback_004'));
      notification_add($_G['uid'], 'system', lang('plugin/yc88_faka', 'callback_003')."<p class='summary'>".lang('plugin/yc88_faka', 'callback_001').": <span>{$order_no}</span></p><p class='summary'>".lang('plugin/yc88_faka', 'callback_002').": <span>{$kami_list_str}</span></p>");
      header ("location:../../../home.php?mod=space&do=notice&view=system");
    }else if(in_array(1, $payway)){
      $data=array(
            'no'=>$order_no,
            'status'=>0,
            'uid'=>$_G['uid'],
            'amount'=>$goods_info["price"]*intval($_GET['goods_number']),
            'goods_id'=>$goods_id,
            'goods_name'=>$goods_info["name"],
            'goods_price'=>$goods_info["price"],
            'goods_number'=>intval($_GET['goods_number']),
            'ctime'=>time(),
            'email'=>daddslashes($_GET["email"]),
      );
      $re=DB::insert('yc88_faka_order', $data);
      $parter = $myconf_yc88_pay['mchid'];
      $key      = $myconf_yc88_pay['secret'];   
      $submiturl = 'http://api.a8tg.com/interface/chargebank.aspx';
      $callbackurl= trim($_G['siteurl'] . 'source/plugin/yc88_faka/notify.php');   
      $value =$goods_info["price"]*intval($_GET['goods_number']);
      $type =daddslashes($_GET["bankid"]);
      $attach = "123";
      $sign = "parter=".$parter."&type=".$type."&orderid=".$order_no."&callbackurl=".$callbackurl;
      $sign = md5($sign.$key);
      $re=wd_http($submiturl, array(
            'parter'=>$parter,
            'type'=>$type,
            'value'=>$value,
            'orderid'=>$order_no,
            'callbackurl'=>$callbackurl,
            'attach'=>$attach,
            'sign'=>$sign,
      ));
      $re=json_decode($re,true);
      switch ($type) {
            case 'ALQR':
                $pay_name=lang('plugin/yc88_pay', 'alipay');
                $pay_name_en='alipay-wechat';
                break;
            case 'WXQR':
                $pay_name=lang('plugin/yc88_pay', 'wxpay');
                $pay_name_en='wxpay-wechat';
                break;
            case 'QQQR':
                $pay_name=lang('plugin/yc88_pay', 'qqpay');
                $pay_name_en='qqpay-wechat';
                break;
      }
      include template('yc88_faka:pay_show');
    }
   
   
   
}

if($ac=='pay_window'){
    include template('yc88_faka:pay');
}



function wd_http($url, $param, $data = '', $method = 'GET',$header=''){
    return dfsockopen($url,0,$param);
}

修复文件与完整插件下载
**** Hidden Message *****
页: [1]
查看完整版本: 自动发卡发货插件[图片版]源码超市插件修复文件