📄 ps_checkout.inc
字号:
** created by: gday ** description: Get the currency type used by the $vendor_id ** parameters: $vendor_id - vendor id to return currency type ** returns: Currency type for this vendor ***************************************************************************/ function get_vendor_currency($vendor_id) { $db = new ps_DB; $q = "SELECT vendor_currency FROM vendor WHERE vendor_id=$vendor_id"; $db->query($q); $db->next_record(); $currency = $db->f("vendor_currency"); return($currency); } /************************************************************************** ** name: email_receipt() ** created by: gday ** description: Create a receipt for the current order and email it to ** the customer and the vendor. ** parameters: $order_id - Order ID for which to create the email receipts ** returns: True - receipt created and emailed ** False - error occured ***************************************************************************/ function email_receipt($order_id) { global $sess, $ps_product, $ps_vendor_id; eval(load_class("product", "ps_product")); $ps_product = new ps_product; // Connect to database and gather appropriate order information $db = new ps_DB; $q = "SELECT * FROM orders "; $q .= "WHERE order_id='$order_id'"; $db->query($q); $db->next_record(); $user_id = $db->f("user_id"); $dbbt = new ps_DB; $qt = "SELECT * from user_info "; $qt .= "WHERE user_info.user_id='$user_id' "; $qt .= "AND user_info.address_type='BT'"; $dbbt->query($qt); $dbbt->next_record(); $dbst = new ps_DB; $qt = "SELECT * FROM user_info "; $qt .= "WHERE user_info_id='"; $qt .= $db->f("user_info_id") . "'"; $dbst->query($qt); $dbst->next_record(); $dbv = new ps_DB; $qt = "SELECT * from vendor "; /* Need to decide on vendor_id <=> order relationship */ $qt .= "WHERE vendor_id = $ps_vendor_id"; $dbv->query($qt); $dbv->next_record(); // Email Addresses for shopper and vendor // ************************************** $shopper_email = $dbbt->f("email"); $from_email = $dbv->f("contact_email"); // Headers and Footers // ****************************** // Shopper Header $shopper_header = "谢谢你购物.你所购的物品如下 "; $shopper_header .= "内容.\n\n"; //Shopper Footer $shopper_footer = "\n\n谢谢你光临我们的网上商店!.\n"; $shopper_footer .= "\n\n有什么问题,请与我们联系?\n"; $shopper_footer .= "电子信箱: " . $dbv->f("contact_email"); $shopper_subject = $dbv->f("vendor_name") . " Order -" . $db->f("order_id"); // Vendor Header $vendor_header = "已验证的订单如下.\n"; $vendor_subject = "订单通知-" . $db->f("order_id"); // Vendor Footer $url = $sess->url(SECUREURL . "?page=order/order_print&order_id=$order_id"); $vendor_footer = "\n\n查看这个订单请到我们的商店主页.\n"; $vendor_footer .= $sess->url($url); $vendor_email = $dbv->f("contact_email"); // Main Email Message Purchase Order // ********************************* $shopper_message = "\nPURCHASE ORDER\n"; $shopper_message .= "------------------------------------------------------------------------\n"; $shopper_message .= "订单号: " . $db->f("order_id") . "\n"; $shopper_message .= "订单日期: "; $shopper_message .= date("Y-M-d:H:i", $db->f("cdate")) . "\n"; $shopper_message .= "订单情况: "; switch($db->f("order_status")) { case ("P"): $shopper_message .= "临时订单\n\n"; break; case ("X"): $shopper_message .= "已取消订单\n\n"; break; case ("C"): $shopper_message .= "已验证订单\n\n"; break; } $shopper_message .= "CUSTOMER INFORMATION\n"; $shopper_message .= "--------------------\n\n"; $shopper_message .= "你的帐单\n"; $shopper_message .= "-------\n\n"; $shopper_message .= " 你的姓名: "; $shopper_message .= $dbbt->f("true_name") . "\n"; $shopper_message .= " 公司名称: "; $shopper_message .= $dbbt->f("company") . "\n"; $shopper_message .= $dbbt->f("last_name") . "\n"; $shopper_message .= " 你的地址: "; $shopper_message .= $dbbt->f("address") . "\n"; $shopper_message .= " 身份证号: "; $shopper_message .= $dbbt->f("card") . "\n"; $shopper_message .= " 所在省份: "; $shopper_message .= $dbbt->f("province") . "\n"; $shopper_message .= " 所在城市: "; $shopper_message .= $dbbt->f("city") . "\n"; $shopper_message .= " 邮政编码: "; $shopper_message .= $dbbt->f("zip") . "\n"; $shopper_message .= " 国家名称: "; $shopper_message .= $dbbt->f("country") . "\n"; $shopper_message .= " 联系电话: "; $shopper_message .= $dbbt->f("phone") . "\n"; $shopper_message .= " 传真号码: "; $shopper_message .= $dbbt->f("fax") . "\n\n"; $shopper_message .= "发货信息\n"; $shopper_message .= "-------\n\n"; $shopper_message .= " 你的姓名: "; $shopper_message .= $dbst->f("true_name") . "\n"; $shopper_message .= " 公司名称: "; $shopper_message .= $dbbt->f("company") . " "; $shopper_message .= " 你的地址: "; $shopper_message .= $dbst->f("address") . "\n"; $shopper_message .= " 所在省份: "; $shopper_message .= $dbst->f("province") . "\n"; $shopper_message .= " 所在城市: "; $shopper_message .= $dbst->f("city") . "\n"; $shopper_message .= " 所在国家: "; $shopper_message .= $dbst->f("Country") . "\n"; $shopper_message .= " 邮政编码: "; $shopper_message .= $dbst->f("zip") . "\n"; $shopper_message .= " 身份证号: "; $shopper_message .= $dbst->f("card") . "\n"; $shopper_message .= " 联系电话: "; $shopper_message .= $dbst->f("phone") . "\n"; $shopper_message .= " 传真号码: "; $shopper_message .= $dbst->f("fax") . "\n\n"; $shopper_message .= "订单信息\n"; $shopper_message .= "-----------"; $dboi = new ps_DB; $q = "SELECT * "; $q .= "FROM product, order_item, orders "; $q .= "WHERE product.product_id=order_item.product_id "; $q .= "AND order_item.order_id='"; $q .= $order_id . "' "; $q .= "AND orders.order_id=order_item.order_id"; $dboi->query($q); while($dboi->next_record()) { $shopper_message .= "\n\n"; $shopper_message .= "PRODUCT = "; if ($dboi->f("product_parent_id")) { $shopper_message .= $ps_product->get_field($dboi->f("product_parent_id"), "product_name") . "\n"; $shopper_message .= "SERVICE = "; } $shopper_message .= $dboi->f("product_name") . "\n"; $shopper_message .= "QUANTITY = "; $shopper_message .= $dboi->f("product_quantity") . "\n"; $shopper_message .= "SKU = "; $shopper_message .= $ps_product->get_field($dboi->f("product_id"), "product_sku") . "\n"; $price = $ps_product->get_price($dboi->f("product_id")); $shopper_message .= "PRICE = "; $shopper_message .= sprintf("%1.2f %s", $price["product_price"], $price["product_currency"]); } $shopper_message .= "\n\n"; $sub_total = $db->f("order_subtotal"); $shopper_message .= "SUBTOTAL = "; $shopper_message .= sprintf("%1.2f %s\n", $sub_total, $price["product_currency"]); $order_tax = $db->f("order_tax"); $shopper_message .= "TAX = "; $shopper_message .= sprintf("%1.2f\n", $order_tax); $order_shipping = $db->f("order_shipping") . "\n"; $shopper_message .= "SHIPPING = "; $shopper_message .= sprintf("%1.2f\n", $order_shipping); $order_shipping_tax = $db->f("order_shipping_tax") . "\n"; $shopper_message .= "SHIPPING TAX = "; $shopper_message .= sprintf("%1.2f\n", $order_shipping_tax); $order_total= $sub_total + $order_tax + $order_shipping + $order_shipping_tax; $shopper_message .= "\n\n"; $shopper_message .= "TOTAL = "; $shopper_message .= sprintf("%1.2f %s\n", $order_total, $price["product_currency"]); $shopper_message .= "------------------------------------------------------------------------\n"; // End of Purchase Order // ********************* //echo "$shopper_email<br>";//echo "$shopper_subject<br>";//echo "$shopper_header<br>";//echo "$shopper_message<br>";//echo "$shopper_footer<br>";//echo "$from_email<br>";//echo "$vendor_email<br>";//echo "$vendor_subject<br>";//echo "$vendor_header<br>";//echo "$vendor_message<br>";//echo "$vendor_footer<br>";//echo "$from_email<br>";//exit; mail($shopper_email, $shopper_subject, $shopper_header . $shopper_message . $shopper_footer, "From: $from_email\n"); // Mail receipt to the vendor mail($vendor_email, $vendor_subject, $vendor_header . $shopper_message . $vendor_footer, "From: $from_email\n"); return(True); } /************************************************************************** ** name: asterisk_pad() ** created by: gday ** description: Return $str with all but $display_length at the end as ** asterisks. ** parameters: $str - string to asterisk pad ** $display_length - length at the end of $str that will not ** be obscured by asterisks ** returns: $str with all but $display_length at the end obscured ** by asterisks ***************************************************************************/ function asterisk_pad($str, $display_length) { $total_length = strlen($str); if($total_length > $display_length) { for($i = 0; $i < $total_length - $display_length; $i++) { $str[$i] = "*"; } } return($str); } /************************************************************************** ** name: cybercash_process() ** created by: pablo ** description: Based on the cyberlib class found in the PHP extensions library. ** parameters: ** returns: ***************************************************************************/ function cybercash_process($order_number, $order_total, &$d) { global $auth, $ps_vendor_id; require MODROOT."checkout/lib/ps_cyberlib.inc"; // Get user billing information $dbbt = new ps_DB; $qt = "SELECT * from user_info "; $qt .= "WHERE user_info.user_id='".$auth["user_id"]."' "; $qt .= "AND user_info.address_type='BT'"; $dbbt->query($qt); $dbbt->next_record(); $merchant=CC_MERCHANT; $merchant_key=CC_MERCHANT_KEY; $payment_url=CC_PAYMENT_URL; $auth_type=CC_AUTH_TYPE; $expire_date = date("m/y",$d["order_payment_expire"]); $response=SendCC2_1Server($merchant,$merchant_key,$payment_url, $auth_type, array( "Order-ID" => $order_number, "Amount" => $this->get_vendor_currency($ps_vendor_id) . " " . $order_total, "Card-Number" => $d["order_payment_number"], "Card-Address" => $dbbt->f("address_1"), "Card-City" => $dbbt->f("city"), "Card-State" => $dbbt->f("state"), "Card-Zip" => $dbbt->f("zip"), "Card-Country" => $dbbt->f("country"), "Card-Exp" => $expire_date, "Card-Name" => $dbbt->f("first_name")." ".$dbbt->f("last_name") ) ); $d["order_payment_log"] = ""; while(list($key,$val)=each($response)) { $d["order_payment_log"] .= $key."=".$val."<br>"; } if ($response["MStatus"] == "success") return True; else { $d["error"] = $response["MErrMsg"]; return False; } } } ?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -