www.gusucode.com > Destoon B2B仿淘宝电子商务网站 UTF8 v6.0源码程序 > destoon/mobile/cart.php
<?php /* [Destoon B2B System] Copyright (c) 2008-2015 www.destoon.com This is NOT a freeware, use is subject to license.txt */ $moduleid = 16; require 'common.inc.php'; mobile_login(); $addr = array(); $addr_id = intval(get_cookie('addr_id')); $addr_url = 'address.php?auth='.encrypt($DT_URL); if($addr_id) { $t = $db->get_one("SELECT * FROM {$DT_PRE}address WHERE itemid=$addr_id"); if($t && $t['username'] == $_username) $addr = $t; } if(!$addr) $addr = $db->get_one("SELECT * FROM {$DT_PRE}address WHERE username='$_username' ORDER BY listorder ASC,itemid ASC"); if(!$addr) mobile_msg($L['msg_no_address'], $addr_url); $need_addr = 1; $order_name = 'trade'; require DT_ROOT.'/module/'.$module.'/common.inc.php'; require DT_ROOT.'/include/post.func.php'; require DT_ROOT.'/module/'.$module.'/cart.class.php'; include load('misc.lang'); include load('member.lang'); include load('order.lang'); $back_link = mobileurl($moduleid, 0, $itemid); $head_name = $L['cart_title']; $head_title = $head_name.$DT['seo_delimiter'].$MOD['name'].$DT['seo_delimiter'].$head_title; $foot = ''; $do = new cart(); $do->max = intval($MOD['max_cart']); $cart = $do->get(); switch($action) { case 'clear': $do->clear(); exit('ok'); break; case 'delete': (isset($key) && $key && is_array($key)) or exit('ko'); foreach($key as $k) { if(isset($cart[$k])) { unset($cart[$k]); } } $do->set($cart); exit('ok'); break; default: if(isset($_POST['ok'])) { $ids = ''; $buyer_postcode = addslashes($addr['postcode']); $buyer_address = addslashes($addr['address']); $buyer_name = addslashes($addr['truename']); $buyer_phone = addslashes($addr['telephone']); $buyer_mobile = addslashes($addr['mobile']); if(!$need_addr) { $buyer_mobile = input_trim($mobile); is_mobile($buyer_mobile) or exit('mobile'); } foreach($post as $k=>$v) { if($v['checked'] == 0) continue; $t1 = array_map('intval', explode('-', $k)); $itemid = $t1[0]; $s1 = $t1[1]; $s2 = $t1[2]; $s3 = $t1[3]; $t = $db->get_one("SELECT * FROM {$table} WHERE itemid=$itemid"); if($t && $t['status'] == 3 && $t['username'] != $_username && $t['amount'] > 0) { if($t['step']) { $s = unserialize($t['step']); foreach(unserialize($t['step']) as $_k=>$_v) { $t[$_k] = $_v; } } else { $t['a1'] = 1; $t['p1'] = $t['price']; $t['a2'] = $t['a3'] = 0; $t['p2'] = $t['p3'] = 0.00; } $number = intval($v['number']); if($number < $t['a1']) $number = $t['a1']; if($number > $t['amount']) $number = $t['amount']; if($number < 1) $number = 1; $price = get_price($number, $t['price'], $t['step']); $amount = $number*$price; $_note = convert(input_trim($v['note']), 'UTF-8', DT_CHARSET); $note = ''; $t['P1'] = get_nv($t['n1'], $t['v1']); $t['P2'] = get_nv($t['n2'], $t['v2']); $t['P3'] = get_nv($t['n3'], $t['v3']); $t['s1'] = $s1; $t['s2'] = $s2; $t['s3'] = $s3; $t['m1'] = isset($t['P1'][$t['s1']]) ? $t['P1'][$t['s1']] : ''; $t['m2'] = isset($t['P2'][$t['s2']]) ? $t['P2'][$t['s2']] : ''; $t['m3'] = isset($t['P3'][$t['s3']]) ? $t['P3'][$t['s3']] : ''; $t['m1'] = isset($t['P1'][$t['s1']]) ? $t['P1'][$t['s1']] : ''; $t['m2'] = isset($t['P2'][$t['s2']]) ? $t['P2'][$t['s2']] : ''; $t['m3'] = isset($t['P3'][$t['s3']]) ? $t['P3'][$t['s3']] : ''; if($t['m1']) $note .= $t['n1'].':'.$t['m1'].' '; if($t['m2']) $note .= $t['n2'].':'.$t['m2'].' '; if($t['m3']) $note .= $t['n3'].':'.$t['m3'].' '; $_note = str_replace('|', '-', $_note); $note = dhtmlspecialchars($_note.'|'.$note); $title = addslashes($t['title']); $linkurl = $MOD['linkurl'].$t['linkurl']; $status = $MOD['checkorder'] ? 0 : 1; $cod = 0; if($t['cod'] == 2) { if(isset($v['cod'])) $cod = 1; } else if($t['cod'] == 1) { $cod = 1; } if($cod) $status = 7; if($t['express_name_1'] == $L['post_free']) { if($t['fee_start_1'] > 0) { if($amount >= $t['fee_start_1']) $v['express'] = 0; } else { $v['express'] = 0; } } $express = intval($v['express']); if($express && in_array($express, array(1,2,3))) { $i = $express; $fee_name = $t['express_name_'.$i]; $fee = dround($t['fee_start_'.$i] + $t['fee_step_'.$i]*($number-1)); $express_id = $t['express_'.$i]; $area_id = isset($addr['areaid']) ? $addr['areaid'] : 0; if($express_id && $area_id) { $E = $db->get_one("SELECT * FROM {$DT_PRE}mall_express WHERE itemid=$express_id"); if($E && $E['items'] > 0) { $AREA = cache_read('area.php'); $aid = $area_id; $ii = 0; do { $E = $db->get_one("SELECT * FROM {$DT_PRE}mall_express WHERE parentid=$express_id AND areaid=$aid"); if($E) { $fee = dround($E['fee_start'] + $E['fee_step']*($number-1)); break; } else { $aid = $AREA[$aid]['parentid']; } if($ii++ > 5) break;//safe } while($aid > 0); } } } else { $fee_name = ''; $fee = 0; } $db->query("INSERT INTO {$DT_PRE}mall_order (mid,mallid,buyer,seller,title,thumb,price,number,amount,addtime,updatetime,note, buyer_postcode,buyer_address,buyer_name,buyer_phone,buyer_mobile,status,fee_name,fee,cod) VALUES ('$moduleid','$itemid','$_username','$t[username]','$title','$t[thumb]','$price','$number','$amount','$DT_TIME','$DT_TIME','$note','$buyer_postcode','$buyer_address','$buyer_name','$buyer_phone','$buyer_mobile','$status','$fee_name','$fee','$cod')"); $oid = $db->insert_id(); $db->query("REPLACE INTO {$DT_PRE}mall_comment (itemid,mallid,buyer,seller) VALUES ('$oid','$itemid','$_username','$t[username]')"); $tmp = $db->get_one("SELECT mallid FROM {$DT_PRE}mall_stat WHERE mallid=$itemid"); if(!$tmp) $db->query("REPLACE INTO {$DT_PRE}mall_stat (mallid,buyer,seller) VALUES ('$itemid','$_username','$t[username]')"); if(!$cod) $ids .= ','.$oid; $touser = $t['username']; $_title = $title; $title = lang($L['trade_message_t6'], array($oid)); $url = $MODULE[2]['linkurl'].'trade.php?itemid='.$oid; $goods = '<a href="'.$linkurl.'" target="_blank" class="t"><strong>'.$_title.'</strong></a>'; $content = lang($L['trade_message_c6'], array(userurl($_username), $_username, timetodate($DT_TIME, 3), $goods, $oid, $amount, $url)); $content = ob_template('messager', 'mail'); send_message($touser, $title, $content); unset($cart[$k]); } } $do->set($cart); if($ids) $ids = substr($ids, 1); exit($ids ? 'ok|'.$ids : 'ko'); } else { $lists = $do->get_list($cart); } break; } include template('cart', 'mobile'); if(DT_CHARSET != 'UTF-8') toutf8(); ?>