$qty) {
if (substr($postsku,0,1)!="Q" || $qty == 0 || $qty == "") {continue;}
$basesku = $fullsku = substr($postsku,1); // chop off the Q
if (strpos($fullsku,"_")) { // underscore means it's a Varnums
unset($args);
$args["PRODNUM"] = $fullsku;
$db->proc("GET_ONE_VARS_PRODUCT_BY_SKU");
$db->execproc($args);
if ($db->nf() && $db->next_record()) { // set name of var
$basesku = $db->f("Prodnum");
$_varnums = explode(",",$db->f("Varnums"));
$_varnames = explode(",",$db->f("Variations"));
foreach($_varnums as $key=>$pn) {if ($pn == $fullsku) {$name = $db->f("Name")." (".$_varnames[$key].")";break;}}
}
}
elseif (strpos($fullsku,"-")) { // dash means it's a Number
list($basesku,$dep) = explode("-",$fullsku);
unset($args);
$args["PRODNUM"] = $basesku;
$db->proc("GET_ONE_PRODUCT_BY_SKU");
$db->execproc($args);
if ($db->nf() && $db->next_record()) {$name = $db->f("Name")." (".$dep.")";break;}
}
else {
unset($args);
$args["PRODNUM"] = $fullsku;
$db->proc("GET_ONE_PRODUCT_BY_SKU");
$db->execproc($args);
if ($db->nf()==0) { // could be a letter or a number
$basesku = substr($basesku,0,strlen($basesku)-1);
$args["PRODNUM"] = $basesku;
$db->proc("GET_ONE_PRODUCT_BY_SKU");
$db->execproc($args);
if ($db->nf() && $db->next_record()) {$dep = substr($fullsku,-1);$name = $db->f("Name");}
else {
////////////////////////////////////////////////////////////////////////////////////////////////
// handle no product found
////////////////////////////////////////////////////////////////////////////////////////////////
}
}
else {$db->next_record();$name = $db->f("Name");}
}
// check for Color availability
$t = "C_".$basesku;
if ($db->f("Colors") && $db->f("Colornums") && $_POST[$t]) {
$_optsColor = explode(",",$db->f("Colors"));
$_optsSkus = explode(",",$db->f("Colornums"));
$gotit = FALSE;
foreach($_optsColor as $k=>$color) {
if ($color == $_POST[$t]) {
$dep = $color;
$fullsku = str_replace($basesku,$_optsSkus[$k],$fullsku);
$gotit = TRUE;
}
}
}
// establish an "incart" id for this product id - not 0 if we already have this prod in cart
$sessid = "";
if (isset($_SESSION["incart"]) && sizeof($_SESSION["incart"])) {foreach ($_SESSION["incart"] as $id=>$val) {if ($_SESSION["incart"][$id]["sku"] == $fullsku) {$sessid = $id;break;}}}
/*
if (getenv("REMOTE_ADDR")=="75.84.38.57") {
echo "Cart 83
fullsku: $fullsku
sessid: $sessid
";
foreach ($_SESSION as $k0=>$v0) {
if (is_array($v0)) {
foreach ($v0 as $k1=>$v1) {
if (is_array($v1)) {
foreach ($v1 as $k2=>$v2) {
if (is_array($v2)) {
foreach ($v2 as $k3=>$v3) {
if (is_array($v3)) {
foreach ($v3 as $k4=>$v4) {echo "SESSION[$k0][$k1][$k2][$k3][$k4]=>$v4 ";}
}
else {echo "SESSION[$k0][$k1][$k2][$k3]=>$v3 ";}
}
}
else {echo "SESSION[$k0][$k1][$k2]=>$v2 ";}
}
}
else {echo "SESSION[$k0][$k1]=>$v1 ";}
}
}
else {echo "SESSION[$k0]=>$v0 ";}
}
exit;
}
//*/
// check against minimum quantity if this is a new add
if ($qty < $db->f("Minimum")) {$qty = $db->f("Minimum");}
// get price for this quantity
$flashsaleflag = FALSE;
list($pr,$minimum) = $cart->getprice($basesku,"",$qty);
// check for FLASH SALE pricing eligibility
if ($_POST["flashsale"]==1 && date("w") == 1 && date("Hi")<1900) { // allow Flash Sale prices only until 5pm Mondays
$name .= " (Flash Sale Price!)";
$regprice = $pr;
$flashsaleflag = TRUE;
unset($args);
$db->proc("GET_FLASH_SALE_SKUS");
$db->execproc();
while ($db->next_record()) {
if ($db->f("Prodnum")==$basesku) { // this product is on Flash Sale
$pr = sprintf("%.2f",$db->f("flashSale"));
$dep = "Flash Sale Price";
break;
}
}
}
$price = sprintf("%.2f",$pr);
$recalculate = FALSE;
/*
if (getenv("REMOTE_ADDR")=="104.173.202.101") {
list($id,$have) = $cart->checkincart($basesku,$fullsku);
echo "Cart 138
fullsku: $fullsku
basesku: $basesku
have? $have
qty: $qty
price: $pr
name: $name
dep: $dep
id: $id
sessid: $sessid
minimum: $minimum
recalc? ".sprintf($recalculate?"Yes":"No")."
flashsale? ".sprintf($flashsaleflag?"Yes":"No")."
";
exit;
}
//*/
$cart->add_item_hg($fullsku,$basesku,$qty,$price,$name,$dep,$sessid,$minimum,$recalculate,$flashsaleflag);
$statDetails .= "Add New Product: $qty $fullsku at $price each\n";
if ($_SESSION["addsetupcharge"] && $_SESSION["addsetupcharge"] == $basesku) {
// need to add a setup charge
unset($args);
$args["PRODNUM"] = $basesku;
$db->proc("GET_PRICES_BY_SKU");
$db->execproc($args);
$db->next_record();
$cart->add_item_hg("Setup charge",$basesku,1,$db->f("Setup"),$name,$dep,$sessid,$minimum,FALSE,$flashsaleflag);
$statDetails .= "Add Setup Charge for $basesku at $".$db->f("Setup")."\n";
unset($_SESSION["addsetupcharge"]);
}
}
}
elseif ($_POST["xprsubmit"] == "Add All Products to Cart") { // coming from Epress Order Desk
foreach ($_SESSION["express"] as $sku=>$val) {
$statDetails = "";
if ($_SESSION["express"][$sku]["valid"]==1 && $_SESSION["express"][$sku]["prodnum"] && $_SESSION["express"][$sku]["qty"] && $_SESSION["express"][$sku]["price"]) {
$sessid = 0; // establish a $_SESSION["incart"] id
if (sizeof($_SESSION["incart"])) {foreach ($_SESSION["incart"] as $id=>$val) {if ($_SESSION["incart"][$id]["sku"] == $fullsku) {$sessid = $id;break;}}}
$cart->add_item_hg($_SESSION["express"][$sku]["prodnum"],$_SESSION["express"][$sku]["basesku"],$_SESSION["express"][$sku]["qty"],$_SESSION["express"][$sku]["price"],$_SESSION["express"][$sku]["name"],$_SESSION["express"][$sku]["dep"],$sessid,$_SESSION["express"][$sku]["minimum"]);
}
}
unset($_SESSION["express"]);
$statDetails .= "Add EXPRESS products to cart\n";
}
elseif ($_GET["addsku"] && $_GET["addsku"]!="") { // coming from LAST ORDERED CAROUSEL
$statDetails = "";
$qty = 1;
$basesku = $fullsku = $_GET["addsku"];
unset($args);
if (strpos($fullsku,"_")) {list($basesku,$dep) = explode("_",$fullsku);}
$args["PRODNUM"] = $basesku;
$db->proc("GET_ONE_PRODUCT_BY_SKU");
$db->execproc($args);
if ($db->nf()==0) {
unset($args);
$args["PRODNUM"] = $fullsku;
$db->proc("GET_ONE_VARS_PRODUCT_BY_SKU");
$db->execproc($args);
if ($db->nf()) { // set name of var
$_varnums = explode(",",$db->f("Varnums"));
$_varnames = explode(",",$db->f("Varnames"));
foreach($varnums as $key=>$pn) {
if ($pn == $fullsku) {$name = $varnames[$key];break;}
}
}
while ($db->nf()==0) {
// numbers or letters
$basesku = substr($basesku,0,strlen($basesku)-1);
$args["PRODNUM"] = $basesku;
$db->proc("GET_ONE_PRODUCT_BY_SKU");
$db->execproc($args);
}
if ($db->nf() && $db->next_record()) {$name = $db->f("Name");}
else {
////////////////////////////////////////////////////////////////////////////////////////////////
// handle no product found
////////////////////////////////////////////////////////////////////////////////////////////////
}
}
else {
$db->next_record();
$name = $db->f("Name");
}
// establish a $_SESSION id
$sessid = 0;
if (sizeof($_SESSION["incart"])) {
foreach ($_SESSION["incart"] as $id=>$val) {
if ($_SESSION["incart"][$id]["sku"] == $fullsku) {
$sessid = $id;
break;
}
}
}
// check against minimum quantity if this is a new add
if ($qty < $db->f("Minimum")) {$qty = $db->f("Minimum");}
// get price for this quantity
list($price,$minimum) = $cart->getprice($basesku,"",$qty);
if (strpos($db->f("Variations"),",")) {
$vars = explode(",",$db->f("Variations"));
$varnums = explode(",",$db->f("Varnums"));
foreach ($vars as $key=>$val) {if ($varnums[$key] == $fullsku) {$name .= " - '".$val.sprintf($db->f("Units")?" (".$db->f("Units").")":"")."'";break;}}
}
if ($db->f("Variations")=="letters" || $db->f("Variations")=="numbers") {
$number = substr($fullsku,-1);
$name = $db->f("Name")." ('".$number."')";
}
$cart->add_item_hg($fullsku,$basesku,$qty,$price,$name,$dep,$sessid,$minimum);
$statDetails .= "Add products from Last Ordered Carousel\n";
}
elseif ($_POST["submit"] && $_POST["submit"]=="Re-order") { // coming from Past Orders
$fullsku = $_POST["ordernum"];
unset($args);
$args["CART"] = $fullsku;
$db->proc("RECALL_SINGLE_ORDER");
$db->execproc($args);
$db->next_record();
$lines = explode("~",$db->f("Purchase"));
foreach ($lines as $k=>$line) {
list($fullsku,$qty,$name,$oldprice,$details) = explode("|",$line);
if (strpos($fullsku,"_")) {list($basesku,$gbg) = explode("_",$fullsku);}
else {
$basesku = $fullsku;
$found = 0;
while ($found==0) {
$basesku = substr($basesku,0,strlen($basesku)-1);
unset($args);
$args["PRODNUM"] = $basesku;
$db->proc("GET_ONE_PRODUCT_BY_SKU");
$db->execproc($args);
$found = $db->nf();
}
}
list($pr,$minimum) = $cart->getprice($basesku,"",$qty);
$price = sprintf("%.2f",$pr);
if ($fullsku != $basesku) {
unset($args);
$args["PRODNUM"] = $basesku;
$db->proc("GET_ONE_PRODUCT_BY_SKU");
$db->execproc($args);
$db->next_record();
if (strpos($db->f("Variations"),",")) {
$vars = explode(",",$db->f("Variations"));
$varnums = explode(",",$db->f("Varnums"));
foreach ($vars as $key=>$val) {if ($varnums[$key] == $fullsku) {$name = $val.sprintf($db->f("Units")?" (".$db->f("Units").")":"");}}
}
else {
switch ($db->f("Variations")) {
case "letters":
case "numbers":
$number = substr($fullsku,-1);
$name = $db->f("Name")." ('".$number."')";
break;
}
}
}
else {
unset($args);
$args["PRODNUM"] = $basesku;
$db->proc("GET_ONE_PRODUCT_BY_SKU");
$db->execproc($args);
$db->next_record();
$name = $db->f("Name").sprintf($db->f("Units")?" (".$db->f("Units").")":"");
}
$minimum = $db->f("Minimum");
$have = FALSE;
list($id,$have) = $cart->checkincart($basesku,$fullsku);
switch ($have) {
case TRUE: $cart->add_item_hg($fullsku,$basesku,$qty,$price,$name,$dep,$id,$minimum); break;
default: $cart->add_item_hg($fullsku,$basesku,$qty,$price,$name,$dep,'0',$minimum); break;
}
$statDetails .= "Past Order: Added $qty $fullsku at $price each\n";
}
}
// check for discount code validation requests
if ($_POST["verifydiscount"] && $_POST["verifydiscount"]=="Validate Code" && $_POST["discountcode"]!="") {
if ($_SESSION["member"]["loggedin"] && $_SESSION["member"]["type"]=="Distributor") {
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$headline = "Distributors are not eligible to use Discount Codes ... thanks for your understanding.";
$statDetails .= "Discount Code ".$claimedcode." declined for logged-in Distributor\n";
}
elseif ($_SESSION["total"] > $_SESSION["discountcodeminorder"]) {
$claimedcode = $_POST["discountcode"];
unset($args);
$args["CODE"] = $claimedcode;
$db->proc("CHECK_DISCOUNT_CODE");
$db->execproc($args);
if ($db->nf() && $db->next_record()) {
// first check exclusions and see if order total still qualifies
if ($db->f("exclusions")) {
$exclusions = $db->f("exclusions");
$runtot = 0;
foreach($_SESSION["incart"] as $id=>$v) { // looking for this SKU in the exclusions
if (strpos($exclusions,$_SESSION["incart"][$id]["baseProdNum"])===FALSE) {
$runtot += $_SESSION["incart"][$id]["qty"] * $_SESSION["incart"][$id]["price"];
}
}
}
if (array_key_exists("discountcode",$_SESSION) &&
strlen($_SESSION["discountcode"]) > 0 &&
array_key_exists("discountcodeminorder",$_SESSION) &&
$_SESSION["discountcodeminorder"] > 0 &&
$runtot < $_SESSION["discountcodeminorder"]) {
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$headline = "
Discount Code '".strtoupper($claimedcode)."' is valid only on orders for qualifying products totaling more than $".$_SESSION["discountcodeminorder"].".
Your Shopping Cart contains $".sprintf("%.2f",$runtot)." in qualifying products. If you place additional qualifying products
in your Cart, you can resubmit the Discout Code at any time ...
";
$statDetails .= "Discount Code ".$claimedcode." declined - only $".sprintf("%.2f",$runtot)." in qualifying products\n";
}
else {
$_SESSION["discountrate"] = $db->f("amount");
$_SESSION["discountcode"] = $claimedcode;
$_SESSION["discountvalid"] = TRUE;
$_SESSION["discount"] = sprintf("%.2f",($runtot*$_SESSION["discountrate"]));
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]-$_SESSION["discount"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$statDetails .= "Discount Code ".$_SESSION["discountcode"]." accepted\n";
}
}
elseif ($claimedcode) {
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$headline = "
We apologize, but we are unable to validate the code you entered, "".$claimedcode."".
Please doublecheck the code and try again ...
";
$statDetails .= "Discount Code ".$claimedcode." declined - invalid code '$claimedcode'\n";
}
}
else {
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$headline = "Discount Codes are valid only on orders of more than $".$_SESSION["discountcodeminorder"].".";
$statDetails .= "Discount Code ".$_POST["discountcode"]." declined - less than ".$_SESSION["discountcodeminorder"]." in cart\n";
}
}
elseif ($_POST["verifydiscount"] && $_POST["verifydiscount"]=="Remove Code" && $_SESSION["discountvalid"]) {
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$statDetails .= "Discount Code ".$claimedcode." removed from cart\n";
}
// check for Recalculate or Empty Cart
if ($_POST["submit"] && $_POST["submit"]=="Recalculate") {
if (sizeof($_SESSION["incart"])>0) {
foreach($_SESSION["incart"] as $i=>$val) {
if (is_array($_SESSION["incart"][$i]) && !$_SESSION["incart"][$i]["sku"]) {unset($_SESSION["incart"][$i]);continue;}
if (sizeof($_SESSION["incart"])==0) {break;}
if ($_SESSION["incart"][$i]["sku"]=="SETUP") {continue;}
$skuQ = "Q".$_SESSION["incart"][$i]["sku"];
if ($_POST[$skuQ] != $_SESSION["incart"][$i]["qty"]) {
if ($_POST[$skuQ]==0) {
$setupfull = $_SESSION["incart"][$i]["sku"]."SU";
unset($_SESSION["incart"][$i]);
// check if there's a paired setup charge item that must be deleted as well
if (sizeof($_SESSION["incart"])) {
foreach($_SESSION["incart"] as $id=>$v) { // looking for this SKU in the name of a SETUP charge
if ($_SESSION["incart"][$id]["sku"]=="SETUP" && strpos($_SESSION["incart"][$id]["name"],$_SESSION["incart"][$i]["sku"])) {
unset($_SESSION["incart"][$id]);break;
}
}
}
}
else {
$recalculate = TRUE;
$flashsaleflag = FALSE;
if (stripos($_SESSION["incart"][$i]["dep"],"Flash Sale")) {
list($_SESSION["incart"][$i]["regprice"],$_SESSION["incart"][$i]["minimum"]) = $cart->getprice($_SESSION["incart"][$i]["baseProdNum"],'',$_POST[$skuQ]);
$flashsaleflag = TRUE;
}
else {list($_SESSION["incart"][$i]["price"],$_SESSION["incart"][$i]["minimum"]) = $cart->getprice($_SESSION["incart"][$i]["baseProdNum"],'',$_POST[$skuQ]);}
$thisproductid = $cart->add_item_hg($_SESSION["incart"][$i]["sku"],$_SESSION["incart"][$i]["baseProdNum"],$_POST[$skuQ],$_SESSION["incart"][$i]["price"],$_SESSION["incart"][$i]["name"],$_SESSION["incart"][$i]["dep"],$i,$_SESSION["incart"][$i]["minimum"],$recalculate,$flashsaleflag );
}
}
}
//////////////////////////////
// added this check 2015-08-27
//////////////////////////////
// check if a claimed discount code still applies
$claimedcode = $_SESSION["discountcode"];
unset($args);
$args["CODE"] = $claimedcode;
$db->proc("CHECK_DISCOUNT_CODE");
$db->execproc($args);
if ($db->nf() && $db->next_record()) {
// first check exclusions and see if order total still qualifies
if ($db->f("exclusions")) {
$exclusions = $db->f("exclusions");
$runtot = 0;
foreach($_SESSION["incart"] as $id=>$v) { // looking for this SKU in the exclusions
if (strpos($exclusions,$_SESSION["incart"][$id]["baseProdNum"])===FALSE) {
$runtot += $_SESSION["incart"][$id]["qty"] * $_SESSION["incart"][$id]["price"];
}
}
}
if (array_key_exists("discountcode",$_SESSION) &&
strlen($_SESSION["discountcode"]) > 0 &&
array_key_exists("discountcodeminorder",$_SESSION) &&
$_SESSION["discountcodeminorder"] > 0 &&
$runtot < $_SESSION["discountcodeminorder"]) {
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$headline = "
Discount Code '".strtoupper($claimedcode)."' is valid only on orders for qualifying products totaling more than $".$_SESSION["discountcodeminorder"].".
Your Shopping Cart contains $".sprintf("%.2f",$runtot)." in qualifying products. If you place additional qualifying products
in your Cart, you can resubmit the Discout Code at any time ...
";
$statDetails .= "Discount Code ".$claimedcode." declined - only $".sprintf("%.2f",$runtot)." in qualifying products\n";
}
else {
$_SESSION["discountrate"] = $db->f("amount");
$_SESSION["discountcode"] = $claimedcode;
$_SESSION["discountvalid"] = TRUE;
$_SESSION["discount"] = sprintf("%.2f",($runtot*$_SESSION["discountrate"]));
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]-$_SESSION["discount"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$statDetails .= "Discount Code ".$_SESSION["discountcode"]." accepted\n";
}
}
elseif ($claimedcode) {
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$headline = "
We apologize, but we are unable to validate the code you entered, "".$claimedcode."".
Please doublecheck the code and try again ...
";
$statDetails .= "Discount Code ".$claimedcode." declined - invalid code '$claimedcode'\n";
}
}
if (sizeof($_SESSION["incart"]) == 0) {
unset($_SESSION["incart"]);
$_SESSION["weight"] = $_SESSION["subtotal"] = $_SESSION["tax"] = $_SESSION["discount"] = $_SESSION["discountvalid"] = $_session["total"] = 0;
}
}
elseif ($_POST["submit"] && $_POST["submit"]=="Empty Cart") {
if (sizeof($_SESSION["incart"])>0) {
foreach($_SESSION["incart"] as $i=>$val) {unset($_SESSION["incart"][$i]);}
}
unset($_SESSION["incart"]);
$_SESSION["weight"] = $_SESSION["subtotal"] = $_SESSION["tax"] = $_SESSION["discount"] = $_SESSION["discountvalid"] = $_session["total"] = 0;
$_SESSION["shiphow"] = 0;
$_SESSION["validshipping"] = $shippingDetails["valid"] = FALSE;
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$statDetails .= "Customer emptied cart\n";
}
// preload for a logged in member
if ($_SESSION["member"]["loggedin"] && !$_SESSION["destZip"] && !$_SESSION["shiphow"]) {
unset($args);
$args["MEMNUM"] = $_SESSION["member"]["number"];
$db->proc("GET_ONE_ACCOUNT_INFO");
$db->execproc($args);
$db->next_record();
$_SESSION["destZip"] = $db->f("szip");
$_SESSION["shiphow"] = $db->f("smethod");
$justarrived = TRUE;
}
else {$justarrived = FALSE;}
// check for shipping estimate
if (($_POST["submit"] && $_POST["submit"]=="Estimate Shipping") || $justarrived) {
if (!$justarrived) {
$_SESSION["destZip"] = $_POST["zip"];
$_SESSION["shiphow"] = $_POST["shiphow"];
}
// trap empty dest zip
if (!$_SESSION["destZip"] || strlen($_SESSION["destZip"])<5) {
$headline = "Please enter a valid Zip code first ...";
}
else {
$cart->getstatename();
$_SESSION["totalweight"] = sprintf("%.1f",$cart->getweightTotal());
/*
if (getenv("REMOTE_ADDR")=="104.173.202.101") {
echo "cart 504
state: ".$_SESSION["destState"]."
zip: ".$_SESSION["destZip"]."
wt: ".$_SESSION["totalweight"]."
shipping: ".$_SESSION["shipping"]."
Quote: $quote
";
foreach ($_SESSION["incart"] as $k0=>$v0) {
if (is_array($v0)) {
foreach ($v0 as $k1=>$v1) {
if (is_array($v1)) {
foreach ($v1 as $k2=>$v2) {
if (is_array($v2)) {
foreach ($v2 as $k3=>$v3) {
if (is_array($v3)) {
foreach ($v3 as $k4=>$v4) {echo "SESSION[incart][$k0][$k1][$k2][$k3][$k4]=>$v4 ";}
}
else {echo "SESSION[incart][$k0][$k1][$k2][$k3]=>$v3 ";}
}
}
else {echo "SESSION[incart][$k0][$k1][$k2]=>$v2 ";}
}
}
else {echo "SESSION[incart][$k0][$k1]=>$v1 ";}
}
}
else {echo "SESSION[incart][$k0]=>$v0 ";}
}
exit;
}
//*/
if ($_SESSION["shiphow"] < 99) { // it's UPS
include_once("classes/class.upsXML.php");
$rate = new upsXML;
$package = "02";
$residential = "01";
$typeofrequest = "Rate";
$response = $cart->xml_calc_UPS_shipping($rate,$package,$residential,$typeofrequest);
if (!$_SESSION["shipping"]) {
// handle UPS errors
echo "ERROR: ".$rate->errorcode.": ".$rate->error;
exit;
}
else {
$tmp = sprintf("%.2f",($_SESSION["fudgefactor"] * $_SESSION["shipping"]));
if (($tmp-$_SESSION["shipping"]) < $_SESSION["minshippingsurcharge"]) {$_SESSION["shipping"] = sprintf("%.2f",($_SESSION["shipping"] + $_SESSION["minshippingsurcharge"]));}
else {$_SESSION["shipping"] = sprintf("%.2f",($_SESSION["fudgefactor"] * $_SESSION["shipping"]));}
}
}
elseif ($_SESSION["shiphow"] >= 200) { // it's FedEx
if (empty($_SESSION["destZip"]) && empty($_POST["zip"])===FALSE && $_SESSION["destZip"]!=$_POST["zip"]) {
$_SESSION["destZip"] = $_POST["zip"];
}
unset($args);
$args["ZIP"] = $_SESSION["destZip"];
$db->proc("GET_STATE_FOR_ZIP");
$db->execproc($args);
$db->next_record();
$_SESSION["destState"] = $db->f("State");
$_SESSION["destCountry"] = "US";
$service = $cart->translateFedExNumberToName($_SESSION["shiphow"]);
$residential = sprintf(strpos($service,"HOME")?TRUE:FALSE);
$length = 36;
$width = 12;
$height = 12;
/*
if (getenv("REMOTE_ADDR")=="75.84.38.57") {
echo "cart line 613
sess wt: ".$_SESSION["totalweight"]."
len: $length
wid: $width
Ht: $height
";
exit;
}
//*/
include_once("classes/FedExXMLgetrate2.php");
$quote = $amount;
if (!$quote) {
$headline = "
We apologize, but we are unable to contact FedEx to get an exact quote to ship
your order. Please complete the process, and we will contact you with the Total Cost,
including Shipping, before we ship your order.
";
// handle errors or no response
$shippingDetails["quote"] = $_SESSION["shipping"] = "0.00";
$shippingDetails["fedexerror"] = TRUE;
$shippingDetails["valid"] = TRUE;
}
else {
$tmp = sprintf("%.2f",($_SESSION["fudgefactor"] * $quote));
if (($tmp-$quote) < $_SESSION["minshippingsurcharge"]) {$_SESSION["shipping"] = sprintf("%.2f",($quote + $_SESSION["minshippingsurcharge"]));}
else {$_SESSION["shipping"] = sprintf("%.2f",($_SESSION["fudgefactor"] * $quote));}
$_SESSION["validshipping"] = TRUE;
$_SESSION["fedexerror"] = FALSE;
}
$statDetails .= "Shipping estimate ".$_SESSION["totalweight"]." to ".$_SESSION["destState"]." ". $_SESSION["destZip"]." ". $_SESSION["destCountry"]." = $".$_SESSION["shipping"]." \n";
}
} // end else 371
}
// check quantities and set any discount price for any variations of baseprodnum
if (isset($_SESSION["incart"]) && sizeof($_SESSION["incart"])) {
unset($hasincart);
foreach($_SESSION["incart"] as $id=>$val) {
if ($_SESSION["incart"][$id]["sku"] == "SETUP") {continue;}
$b = $_SESSION["incart"][$id]["baseProdNum"];
if (is_array($hasincart[$b]) && $hasincart[$b]["quantity"]>0) {$hasincart[$b]["quantity"] += $_SESSION["incart"][$id]["qty"];}
else {$hasincart[$b]["quantity"] = $_SESSION["incart"][$id]["qty"];}
}
if (sizeof($hasincart)) {
foreach ($hasincart as $sku=>$v) {
list($hasincart[$b]["price"],$hasincart[$b]["min"]) = $cart->getprice($sku,"",$hasincart[$sku]["quantity"]);
foreach($_SESSION["incart"] as $id=>$val) {
if ($_SESSION["incart"][$id]["baseProdNum"] == $sku) {
$_SESSION["incart"][$id]["price"] = $hasincart[$b]["price"];
$_SESSION["incart"][$id]["minimum"] = $hasincart[$b]["min"];
}
}
}
}
}
// do a final accounting calc
$_SESSION["subtotal"] = 0;
$purchaseline = "";
if (isset($_SESSION["incart"]) && sizeof($_SESSION["incart"])) {
// now do subtotal
foreach($_SESSION["incart"] as $id=>$val) {
$_SESSION["subtotal"] += ($_SESSION["incart"][$id]["qty"]*$_SESSION["incart"][$id]["price"]);
$purchaseline .= $_SESSION["incart"][$id]["sku"]."|".$_SESSION["incart"][$id]["qty"]."|".addslashes($_SESSION["incart"][$id]["name"])."|".$_SESSION["incart"][$id]["price"]."|".$_SESSION["incart"][$id]["dep"]."~";
}
// validate any claimed discount, remove if < required min order amount
/*
if (getenv("REMOTE_ADDR")=="75.84.38.57") {
echo "Cart line 682
rate: ".$_SESSION["discountrate"]."
code: ".$_SESSION["discountcode"]."
code len: ".strlen($_SESSION["discountcode"])."
code empty? ".sprintf(empty($_SESSION["discountcode"])!==FALSE?"Yes":"No")."
code valid? ".sprintf($_SESSION["discountvalid"]!==FALSE?"Yes":"No")."
discount: $".sprintf("%.2f",$_SESSION["discount"])."
";
exit;
}
//*/
if (array_key_exists("discountcode",$_SESSION) &&
strlen($_SESSION["discountcode"]) > 0 &&
array_key_exists("discountcodeminorder",$_SESSION) &&
$_SESSION["discountcodeminorder"] > 0 &&
$_SESSION["subtotal"] < $_SESSION["discountcodeminorder"]) {
$headline = "
Discount Code '".strtoupper($_SESSION["discountcode"])."' is valid only on orders for qualifying products totaling more than $".$_SESSION["discountcodeminorder"].".
Your Shopping Cart contains $".sprintf("%.2f",$_SESSION["subtotal"])." which is less than the required minimum. If you place
additional qualifying products in your Cart, you can resubmit the Discout Code at any time ...
";
$_SESSION["discountrate"] = 0;
$_SESSION["discountcode"] = "";
$_SESSION["discountvalid"] = FALSE;
$_SESSION["discount"] = "0.00";
$_SESSION["total"] = sprintf("%.2f",($_SESSION["subtotal"]+$_SESSION["tax"]+$_SESSION["shipping"]));
$statDetails .= "Discount Code ".$claimedcode." declined - only $".sprintf("%.2f",$runtot)." in qualifying products\n";
}
}
$_SESSION["subtotal"] = sprintf("%.2f",$_SESSION["subtotal"]);
if ($_SESSION["member"]["taxable"]=="exempt") {$_SESSION["tax"] = sprintf("%.2f",0);}
else {$_SESSION["tax"] = sprintf("%.2f",$cart->salestaxrate($_SESSION["destZip"])*$_SESSION["subtotal"]);}
if ($_SESSION["shiphow"] && (!$_SESSION["validshipping"] || !$shippingDetails["valid"])) {
if ($_SESSION["shiphow"] < 99) { // it's UPS
include_once("classes/class.upsXML.php");
$rate = new upsXML;
$package = "02";
$residential = "01";
$typeofrequest = "Rate";
$response = $cart->xml_calc_UPS_shipping($rate,$package,$residential,$typeofrequest);
/*
if (getenv("REMOTE_ADDR")=="104.173.202.101") {
echo "cart 667
fr: $fr
submit: ".$_POST["submit"]."
shiphow: ".$_SESSION["shiphow"]."
state: ".$_SESSION["destState"]."
zip: ".$_SESSION["destZip"]."
wt: ".$_SESSION["totalweight"]."
type: $typeofrequest
shipping: ".$_SESSION["shipping"]."
validshipping: ".sprintf($_SESSION["validshipping"]?"Yes":"No")."
shipdetailsvalid: ".sprintf($shippingDetails["valid"]?"Yes":"No")."
Quote: $quote
response: $response
";
}
//*/
if (!$_SESSION["shipping"]) {
// handle UPS errors
echo "ERROR: ".$rate->errorcode.": ".$rate->error;
exit;
}
else {
$tmp = sprintf("%.2f",($_SESSION["fudgefactor"] * $_SESSION["shipping"]));
if (($tmp-$_SESSION["shipping"]) < $_SESSION["minshippingsurcharge"]) {$_SESSION["shipping"] = sprintf("%.2f",($_SESSION["shipping"] + $_SESSION["minshippingsurcharge"]));}
else {$_SESSION["shipping"] = sprintf("%.2f",($_SESSION["fudgefactor"] * $_SESSION["shipping"]));}
}
}
elseif ($_SESSION["shiphow"] >= 200) { // it's FedEx
if (empty($_SESSION["destZip"]) && empty($_POST["zip"])===FALSE && $_SESSION["destZip"]!=$_POST["zip"]) {
$_SESSION["destZip"] = $_POST["zip"];
}
unset($args);
$args["ZIP"] = $_SESSION["destZip"];
$db->proc("GET_STATE_FOR_ZIP");
$db->execproc($args);
$db->next_record();
$_SESSION["destState"] = $db->f("State");
$_SESSION["destCountry"] = "US";
$service = $cart->translateFedExNumberToName($_SESSION["shiphow"]);
$residential = sprintf(strpos($service,"HOME")?TRUE:FALSE);
$length = 36;
$width = 12;
$height = 12;
include_once("classes/FedExXMLgetrate2.php");
$quote = $amount;
if (!$quote) {
$headline = "
We apologize, but we are unable to contact FedEx to get an exact quote to ship
your order. Please complete the process, and we will contact you with the Total Cost,
including Shipping, before we ship your order.
";
// handle errors or no response
$shippingDetails["quote"] = $_SESSION["shipping"] = "0.00";
$shippingDetails["fedexerror"] = TRUE;
$shippingDetails["valid"] = TRUE;
}
else {
$tmp = sprintf("%.2f",($_SESSION["fudgefactor"] * $quote));
if (($tmp-$quote) < $_SESSION["minshippingsurcharge"]) {$_SESSION["shipping"] = sprintf("%.2f",($quote + $_SESSION["minshippingsurcharge"]));}
else {$_SESSION["shipping"] = sprintf("%.2f",($_SESSION["fudgefactor"] * $quote));}
$_SESSION["validshipping"] = TRUE;
$_SESSION["fedexerror"] = FALSE;
}
$statDetails .= "Shipping estimate ".$_SESSION["totalweight"]." to ".$_SESSION["destState"]." ". $_SESSION["destZip"]." ". $_SESSION["destCountry"]." = $".$_SESSION["shipping"]." \n";
}
}
$_SESSION["total"] = sprintf("%.2f",$_SESSION["subtotal"]-$_SESSION["discount"]+$_SESSION["shipping"]+$_SESSION["tax"]);
/*
if (getenv("REMOTE_ADDR")=="104.173.202.101") {
echo "Line 741
fr: $fr
submit: ".$_POST["submit"]."
justarr? ".sprintf($justarrived?"Yes":"No")."
size incart: ".sizeof($_SESSION["incart"])."
";
exit;
}
//*/
// store $purchaseline
unset($args);
$args["ORDERNUMBER"] = $id_num;
$args["PURCHASELINE"] = $purchaseline;
$db->proc("STORE_PURCHASE_LINE");
$db->execproc($args);
// load up drop-down menus
$drop_shiphow = $cart->loadshippingoptions();
if ($_SESSION["shiphow"]) {$drop_shiphow = str_replace("'".$_SESSION["shiphow"]."'","'".$_SESSION["shiphow"]."' selected='selected'",$drop_shiphow);}
else {$drop_shiphow = str_replace("value='292'","value='292' selected='selected'",$drop_shiphow);}
// initialize misc stuff
$tableheight = 225;
if (isset($_SESSION["incart"]) && sizeof($_SESSION["incart"])) {$tableheight += (25*sizeof($_SESSION["incart"]));}
unset($_ORDERNUMBER,$_SESSION["safeOrderNumber"],$orderSafety);
$_ORDERNUMBER = $_SESSION;
$orderSafety = session_encode();
$qry = "REPLACE INTO active_sessions (sid,cart,name,val)
VALUES ('".session_id()."','$id_num','orderSafety','$orderSafety')";
$db->query("$qry");
$_SESSION["safeOrderNumber"] = $_ORDERNUMBER;
// record this action and go to work
$incart="";
if (isset($_SESSION["incart"]) && sizeof($_SESSION["incart"])) {
foreach ($_SESSION["incart"] as $id=>$attr) {
if (is_numeric($id)===FALSE) {continue;}
$sku = $_SESSION["incart"][$id]["sku"];
$pname = $_SESSION["incart"][$id]["name"];;
$pquant = $_SESSION["incart"][$id]["qty"];
$price = $_SESSION["incart"][$id]["price"];
$details = $_SESSION["incart"][$id]["dep"];
$incart .= addslashes("$sku|$pquant|$pname|$price|$details~");
}
}
/*
if (getenv("REMOTE_ADDR")=="75.84.38.57") {
echo "cart line 865
incart size: ".sizeof($_SESSION["incart"])."
incart: $incart
";
echo "
ORDERNUMBER INCART (".sizeof($_ORDERNUMBER["incart"]).")";
foreach ($_ORDERNUMBER["incart"] as $k0=>$v0) {
if (is_array($v0)) {
foreach ($v0 as $k1=>$v1) {
if (is_array($v1)) {
foreach ($v1 as $k2=>$v2) {
if (is_array($v2)) {
foreach ($v2 as $k3=>$v3) {
if (is_array($v3)) {
foreach ($v3 as $k4=>$v4) {echo "ORDERNUMBER[incart][$k0][$k1][$k2][$k3][$k4]=>$v4 ";}
}
else {echo "ORDERNUMBER[incart][$k0][$k1][$k2][$k3]=>$v3 ";}
}
}
else {echo "ORDERNUMBER[incart][$k0][$k1][$k2]=>$v2 ";}
}
}
else {echo "ORDERNUMBER[incart][$k0][$k1]=>$v1 ";}
}
}
else {echo "ORDERNUMBER[incart][$k0]=>$v0 ";}
}
echo "
SESSION INCART (".sizeof($_ORDERNUMBER["incart"]).")";
foreach ($_SESSION["incart"] as $k0=>$v0) {
if (is_array($v0)) {
foreach ($v0 as $k1=>$v1) {
if (is_array($v1)) {
foreach ($v1 as $k2=>$v2) {
if (is_array($v2)) {
foreach ($v2 as $k3=>$v3) {
if (is_array($v3)) {
foreach ($v3 as $k4=>$v4) {echo "SESSION[incart][$k0][$k1][$k2][$k3][$k4]=>$v4 ";}
}
else {echo "SESSION[incart][$k0][$k1][$k2][$k3]=>$v3 ";}
}
}
else {echo "SESSION[incart][$k0][$k1][$k2]=>$v2 ";}
}
}
else {echo "SESSION[incart][$k0][$k1]=>$v1 ";}
}
}
else {echo "SESSION[incart][$k0]=>$v0 ";}
}
exit;
}
//*/
$statDetails .= getenv("HTTP_REFERER")."\n".
$safetyPost."\n".
$_POST["submit"].
" Purchase: ".$_SESSION["purchase"]."\nInCart: ".$incart."\n
Accounting: Sub $".$_SESSION["subtotal"]." - Disc $".$_SESSION["discount"]." + Ship $".$_SESSION["shipping"]." + Tax $".$_SESSION["tax"]." = $".$_SESSION["total"];
include_once("../common/stats.php3");
?>
Kar Kare - Your Supermarket of Auto Dealer Sales SuppliesminiSlides - Portfolio and PriceBox Rotator
if (basename($_SERVER["PHP_SELF"])!="index.html") {?>}
else {?>}
?>
if (array_key_exists("incart",$_SESSION)!==FALSE && sizeof($_SESSION["incart"])>0) {
?>" class="noborder" style="width:76px;height:77px;" alt="You have echo $prodcount ?> items in your cart" title="You have echo $prodcount ?> items in your cart" />
}
?>
if (getenv("REMOTE_ADDR")=="75.84.38.57") {
$qry = "select * from active_sessions where name='orderSafety' and val like 'id_num|s:%".$id_num."%'";
if ($db->query("$qry") && $db->nf() && $db->next_record()) {
$val = $db->f("val");
session_decode($val);
echo "Sess decoded ";
}
echo "
PRODUCTS:";
$numprods = sizeof($_ORDERNUMBER["incart"]);
for ($key = 0;$key < $numprods;$key++) {
$sku = $_ORDERNUMBER["incart"]["$key"]["sku"];
$qty = $_ORDERNUMBER["incart"]["$key"]["qty"];
$price = $_ORDERNUMBER["incart"]["$key"]["price"];
$name = $_ORDERNUMBER["incart"]["$key"]["name"];
$dep = $_ORDERNUMBER["incart"]["$key"]["dep"];
if (addslashes(substr($sku,-1)=="\%")) {$dep = addslashes(substr($sku,-1));}
echo $qty." of ".$sku." ".stripslashes($name)." (".$dep.") at $".$price." each ";
}
echo "
ORDERSAFETY: $orderSafety ";
echo "
ORDERNUMBER VARS";
foreach ($_ORDERNUMBER as $k0=>$v0) {
if (is_array($v0)) {
foreach ($v0 as $k1=>$v1) {
if (is_array($v1)) {
foreach ($v1 as $k2=>$v2) {
if (is_array($v2)) {
foreach ($v2 as $k3=>$v3) {
if (is_array($v3)) {
foreach ($v3 as $k4=>$v4) {echo "ORDERNUMBER[$k0][$k1][$k2][$k3][$k4]=>$v4 ";}
}
else {echo "ORDERNUMBER[$k0][$k1][$k2][$k3]=>$v3 ";}
}
}
else {echo "ORDERNUMBER[$k0][$k1][$k2]=>$v2 ";}
}
}
else {echo "ORDERNUMBER[$k0][$k1]=>$v1 ";}
}
}
else {echo "ORDERNUMBER[$k0]=>$v0 ";}
}
echo "
SESSION VARS";
foreach ($_SESSION as $k0=>$v0) {
if (is_array($v0)) {
foreach ($v0 as $k1=>$v1) {
if (is_array($v1)) {
foreach ($v1 as $k2=>$v2) {
if (is_array($v2)) {
foreach ($v2 as $k3=>$v3) {
if (is_array($v3)) {
foreach ($v3 as $k4=>$v4) {echo "SESSION[$k0][$k1][$k2][$k3][$k4]=>$v4 ";}
}
else {echo "SESSION[$k0][$k1][$k2][$k3]=>$v3 ";}
}
}
else {echo "SESSION[$k0][$k1][$k2]=>$v2 ";}
}
}
else {echo "SESSION[$k0][$k1]=>$v1 ";}
}
}
else {echo "SESSION[$k0]=>$v0 ";}
}
}
?>