|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- <?php
-
- require_once(dirname(__FILE__)."/../../system/common.inc.php");
- define('_PLUS_TPL_', DEDEROOT.'/templets/plus');
- require_once DEDEINC.'/dedetemplate.class.php';
- require_once DEDEINC.'/shopcar.class.php';
- require_once DEDEINC.'/memberlogin.class.php';
-
- if ($cfg_mb_open == 'N') {
- ShowMsg("系统关闭了会员功能,因此您无法访问此页面", "javascript:;");
- exit();
- }
- $rs = array();
-
- $cfg_ml = new MemberLogin();
-
- if (!isset($dopost) || empty($dopost)) {
- $payment = 'none';
- $cart = new MemberShops();
-
-
- $Items = $cart->getItems();
- if (empty($Items)) {
- ShowMsg("您的购物车中没有商品", "-1");
- exit();
- }
-
- $OrdersId = preg_replace("#[^0-9a-z_\-]#i", "", $cart->OrdersId);
- $CartCount = $cart->cartCount();
- $priceCount = $cart->priceCount();
-
-
-
-
- if (!isset($do) || empty($do)) {
- $shops_deliveryarr = array();
- $dsql->SetQuery("SELECT pid,dname,price,des FROM #@__shops_delivery ORDER BY orders ASC");
- $dsql->Execute();
- while ($row = $dsql->GetArray()) {
- $shops_deliveryarr[] = $row;
- }
-
-
- $shops_paymentarr = array();
- $dsql->SetQuery("SELECT * FROM #@__payment WHERE enabled='1' ORDER BY rank ASC");
- $dsql->Execute();
- $i = 0;
- while ($row = $dsql->GetArray()) {
- $row['disabled'] = ($row['id'] == 5) && ($cfg_ml->M_Money < $priceCount) ? ' disabled="disabled"' : '';
- $shops_paymentarr[] = $row;
- $i++;
- }
- unset($row);
-
- $dtp = new DedeTemplate();
-
- $carts = array(
- 'orders_id' => $cart->OrdersId,
- 'cart_count' => $cart->cartCount(),
- 'price_count' => $cart->priceCount()
- );
- $dtp->Assign('carts', $carts);
- $dtp->LoadTemplate(_PLUS_TPL_.'/carbuyaction.htm');
- $dtp->Display();
- exit();
- } else if ($do == 'clickout') {
- $svali = GetCkVdValue();
- if ((strtolower($vdcode) != $svali || $svali == "") && $payment == 'none') {
- ShowMsg("验证码错误", "-1");
- exit();
- }
- if (empty($address)) {
- ShowMsg("请填写收货地址", "-1");
- exit();
- }
- if (empty($postname)) {
- ShowMsg("请填写收货人姓名", "-1");
- exit();
- }
- $paytype = isset($paytype) && is_numeric($paytype) ? $paytype : 0;
- $pid = isset($pid) && is_numeric($pid) ? $pid : 0;
- if ($paytype < 1) {
- ShowMsg("请选择支付方式", "-1");
- exit();
- }
- if ($pid < 1) {
- ShowMsg("请选择配送方式", "-1");
- exit();
- }
- $address = cn_substrR(trim(RemoveXSS($address)), 200);
- $des = cn_substrR(RemoveXSS($des), 100);
- $postname = cn_substrR(trim(RemoveXSS($postname)), 15);
- $tel = preg_replace("#[^-0-9,\/\| ]#", "", $tel);
- $zip = preg_replace("#[^0-9]#", "", $zip);
- $email = cn_substrR(RemoveXSS($email), 255);
- if (empty($tel)) {
- ShowMsg("请填写正确的收货人联系电话", "-1");
- exit();
- }
- if ($zip < 1 || $zip > 999999) {
- ShowMsg("请填写正确的收货人邮政编码", "-1");
- exit();
- }
-
-
- if ($cfg_ml->IsLogin()) {
- $userid = $cfg_ml->M_ID;
- } else {
- $username = trim($username);
- $password = trim($password);
-
- if (empty($username) || $password) {
- ShowMsg("请选登录", "-1", 0, 2000);
- exit();
- }
-
- $rs = $cfg_ml->CheckUser($username, $password);
- if ($rs == 0) {
- ShowMsg("用户名不存在", "-1", 0, 2000);
- exit();
- } else if ($rs == -1) {
- ShowMsg("密码错误", "-1", 0, 2000);
- exit();
- }
- $userid = $cfg_ml->M_ID;
- }
-
-
- $rs = $dsql->GetOne("SELECT `price` FROM #@__shops_delivery WHERE pid='$pid' LIMIT 0,1");
- $dprice = $rs['price'] > 0 ? $rs['price'] : 0;
- unset($rs);
-
-
- $row = $dsql->GetOne("SELECT `fee` FROM #@__payment WHERE id='$paytype' LIMIT 0,1");
- $fprice = $row['fee'] > 0 ? $row['fee'] : 0;
- unset($row);
-
- $ip = GetIP();
- $stime = time();
-
- $lastpriceCount = sprintf("%01.2f", $priceCount + $dprice + $fprice);
-
- $rows = $dsql->GetOne("SELECT `oid` FROM #@__shops_orders WHERE oid='$OrdersId' LIMIT 0,1");
- if (empty($rows['oid'])) {
- $sql = "INSERT INTO `#@__shops_orders` (`oid`,`userid`,`cartcount`,`price`,`state`,`ip`,`stime`,`pid`,`paytype`,`dprice`,`priceCount`)
- VALUES ('$OrdersId','$userid','$CartCount','$priceCount','0','$ip','$stime','$pid','$paytype','$dprice','$lastpriceCount');";
-
-
- if ($dsql->ExecuteNoneQuery($sql)) {
- foreach ($Items as $key => $val) {
- $val['price'] = str_replace(",", "", $val['price']);
- $dsql->ExecuteNoneQuery("INSERT INTO `#@__shops_products` (`aid`,`oid`,`userid`,`title`,`price`,`buynum`)
- VALUES ('$val[id]','$OrdersId','$userid','$val[title]','$val[price]','$val[buynum]');");
- }
- $sql = "INSERT INTO `#@__shops_userinfo` (`userid`,`oid`,`consignee`,`address`,`zip`,`tel`,`email`,`des`)
- VALUES ('$userid','$OrdersId','$postname','$address','$zip','$tel','$email','$des');
- ";
- $dsql->ExecuteNoneQuery($sql);
- } else {
- ShowMsg("更新订单时出现错误".$dsql->GetError(), "-1");
- exit();
- }
- } else {
- $sql = "UPDATE `#@__shops_orders`
- SET `cartcount`='$CartCount',`price`='$priceCount',`ip`='$ip',`stime`='$stime',pid='$pid',paytype='$paytype',dprice='$dprice',priceCount='$lastpriceCount'
- WHERE oid='$OrdersId' AND userid='$userid' ;";
- if ($dsql->ExecuteNoneQuery($sql)) {
- $sql = "UPDATE `#@__shops_userinfo`
- SET `consignee`='$postname',`address`='$address',`zip`='$zip',`tel`='$tel',`email`='$email',`des`='$des'
- WHERE oid='$OrdersId';";
- $dsql->ExecuteNoneQuery($sql);
- } else {
- echo $dsql->GetError();
- exit;
- }
- unset($sql);
- }
-
- $priceCount = sprintf("%01.2f", $lastpriceCount);
-
- $countOrders = $dsql->GetOne("SELECT SUM(cartcount) AS nums FROM #@__shops_orders WHERE userid='".$cfg_ml->M_ID."'");
- $dsql->ExecuteNoneQuery("UPDATE #@__member_tj SET `shop`='".$countOrders['nums']."' WHERE mid='".$cfg_ml->M_ID."'");
-
- $rs = $dsql->GetOne("SELECT * FROM `#@__payment` WHERE id='$paytype' ");
-
- require_once DEDEINC.'/payment/'.$rs['code'].'.php';
- $pay = new $rs['code'];
- if ($rs['code'] == "cod" || $rs['code'] == "bank") {
- $order = $OrdersId;
- } else {
- $order = array(
- 'out_trade_no' => $cart->OrdersId,
- 'price' => $priceCount
- );
- require_once DEDEDATA.'/payment/'.$rs['code'].'.php';
- }
- $button = $pay->GetCode($order, $payment);
- $dtp = new DedeTemplate();
- $carts = array(
- 'orders_id' => $cart->OrdersId,
- 'cart_count' => $cart->CartCount(),
- 'price_count' => $priceCount
- );
- $row = $dsql->GetOne("SELECT dname,price FROM #@__shops_delivery WHERE pid='{$pid}'");
- $dtp->SetVar('pay_name', $row['dname']);
- $dtp->SetVar('price', $row['price']);
- $dtp->SetVar('pay_way', $rs['name']);
- $dtp->SetVar('description', $rs['description']);
- $dtp->SetVar('button', $button);
- $dtp->Assign('carts', $carts);
- $dtp->LoadTemplate(_PLUS_TPL_.'/shops_action_payment.htm');
- $dtp->Display();
- exit();
- }
- } else if ($dopost == 'memclickout') {
- $svali = GetCkVdValue();
- $rs = array();
- if (preg_match("/S-P[0-9]+RN[0-9]/", $oid)) {
- $oid = trim($oid);
- } else {
- ShowMsg("您的订单号不存在", "/user/shops_orders.php", 0, 2000);
- exit();
- }
-
-
- if ($cfg_ml->IsLogin()) {
- $userid = $cfg_ml->M_ID;
- } else {
- $username = trim($username);
- $password = trim($password);
-
- if (empty($username) || $password) {
- ShowMsg("请选登录", "-1", 0, 2000);
- exit();
- }
-
- $rs = $cfg_ml->CheckUser($username, $password);
- if ($rs == 0) {
- ShowMsg("用户名不存在", "-1", 0, 2000);
- exit();
- } else if ($rs == -1) {
- ShowMsg("密码错误", "-1", 0, 2000);
- exit();
- }
- $userid = $cfg_ml->M_ID;
- }
-
- $row = $dsql->GetOne("SELECT * FROM `#@__shops_orders` WHERE oid='$oid' ");
- if (is_array($row)) {
- $OrdersId = $oid;
- $CartCount = $row['cartcount'];
- $priceCount = $row['priceCount'];
- $pid = $row['pid'];
- $rs = $dsql->GetOne("SELECT * FROM `#@__payment` WHERE id='{$row['paytype']}' ");
- }
- $rs['code'] = isset($rs['code']) ? preg_replace("#[^0-9a-z_\-]+#i", "", $rs['code']) : "";
- if (empty($rs['code']) or !file_exists(DEDEINC.'/payment/'.$rs['code'].'.php')) {
- exit("Error:payment is not exsits!");
- }
-
- require_once DEDEINC.'/payment/'.$rs['code'].'.php';
- $pay = new $rs['code'];
- $payment = "";
- if ($rs['code'] == "cod" || $rs['code'] == "bank") $order = $OrdersId;
- else {
- $order = array(
- 'out_trade_no' => $OrdersId,
- 'price' => $priceCount
- );
- require_once DEDEDATA.'/payment/'.$rs['code'].'.php';
- }
- $button = $pay->GetCode($order, $payment);
- $dtp = new DedeTemplate();
- $carts = array(
- 'orders_id' => $OrdersId,
- 'cart_count' => $CartCount,
- 'price_count' => $priceCount
- );
- $row = $dsql->GetOne("SELECT dname,price FROM #@__shops_delivery WHERE pid='{$pid}'");
- $dtp->SetVar('pay_name', $row['dname']);
- $dtp->SetVar('price', $row['price']);
- $dtp->SetVar('pay_way', $rs['name']);
- $dtp->SetVar('description', $rs['description']);
- $dtp->SetVar('button', $button);
- $dtp->Assign('carts', $carts);
- $dtp->LoadTemplate(_PLUS_TPL_.'/shops_action_payment.htm');
- $dtp->Display();
- exit();
- } else if ($dopost == 'return') {
- $write_list = array('alipay', 'bank', 'cod', 'yeepay');
- if (in_array($code, $write_list)) {
- require_once DEDEINC.'/payment/'.$code.'.php';
- $pay = new $code;
- $msg = $pay->respond();
- ShowMsg($msg, "javascript:;", 0, 3000);
- exit();
- } else {
- exit('Error:File Type Can\'t Recognized!');
- }
- }
|