function couponcode($upc) { $man_id = substr($upc, 3, 5); $fam = substr($upc, 8, 3); $val = substr($upc, -2); $db = pDataConnect(); $query = "select * from couponcodes where code = '" . $val . "'"; $result = sql_query($query, $db); $num_rows = sql_num_rows($result); if ($num_rows == 0) { boxMsg("coupon type unknown<br>please enter coupon<br>manually"); } else { $row = sql_fetch_array($result); $value = $row["Value"]; $qty = $row["Qty"]; if ($fam == "992") { $value = truncate2($value); $_SESSION["couponupc"] = $upc; $_SESSION["couponamt"] = $value; maindisplay("coupondeptsearch.php"); } else { sql_close($db); $fam = substr($fam, 0, 2); $query = "select " . "max(unitPrice) as total, " . "max(department) as department, " . "sum(ItemQtty) as qty, " . "sum(case when trans_status = 'C' then -1 else quantity end) as couponqtty " . "from localtemptrans where substring(upc, 4, 5) = '" . $man_id . "' " . "group by substring(upc, 4, 5)"; $db = tDataConnect(); $result = sql_query($query, $db); $num_rows = sql_num_rows($result); if ($num_rows > 0) { $row = sql_fetch_array($result); if ($row["couponqtty"] < 1) { boxMsg("Coupon already applied<BR>for this item"); } else { $dept = $row["department"]; $act_qty = $row["qty"]; if ($qty <= $act_qty) { if ($value == 0) { $value = -1 * $row["total"]; } $value = truncate2($value); addcoupon($upc, $dept, $value); lastpage(); } else { boxMsg("coupon requires " . $qty . "items<BR>there are only " . $act_qty . " item(s)<BR>in this transaction"); } } } else { boxMsg("product not found<BR>in transaction"); } // sql_close($db); } } }
function clearinput() { $_SESSION["msgrepeat"] = 0; $_SESSION["strendered"] = ""; $_SESSION["strRemembered"] = ""; $_SESSION["SNR"] = 0; $_SESSION["wgtRequested"] = 0; $_SESSION["refund"] = 0; // added by apbw 6/04/05 to correct voiding of refunded items if ($_SESSION["tare"] > 0) { addtare(0); } lastpage(); }
function clubCard($intItemNum) { $query = "select * from localtemptrans where trans_id = " . $intItemNum; $connection = tDataConnect(); $result = sql_query($query, $connection); $row = sql_fetch_array($result); $num_rows = sql_num_rows($result); if ($num_rows > 0) { $strUPC = $row["upc"]; $strDescription = $row["description"]; $dblVolSpecial = $row["VolSpecial"]; $dblquantity = -0.5 * $row["quantity"]; $dblTotal = truncate2(-1 * 0.5 * $row["total"]); // invoked truncate2 rounding function to fix half-penny errors apbw 3/7/05 $strCardNo = $_SESSION["memberID"]; $dblDiscount = $row["discount"]; $dblmemDiscount = $row["memDiscount"]; $intDiscountable = $row["discountable"]; $dblUnitPrice = $row["unitPrice"]; $intScale = nullwrap($row["scale"]); if ($row["foodstamp"] != 0) { $intFoodStamp = 1; } else { $intFoodStamp = 0; } $intdiscounttype = nullwrap($row["discounttype"]); if ($row["voided"] == 20) { boxMsg("Discount already taken"); } elseif ($row["trans_type"] == "T" or $row["trans_status"] == "D" or $row["trans_status"] == "V" or $row["trans_status"] == "C") { boxMsg("Item cannot be discounted"); } elseif (strncasecmp($strDescription, "Club Card", 9) == 0) { //----- edited by abpw 2/15/05 ----- boxMsg("Item cannot be discounted"); } elseif ($_SESSION["tenderTotal"] < 0 and $intFoodStamp == 1 and -1 * $dblTotal > $_SESSION["fsEligible"]) { boxMsg("Item already paid for"); } elseif ($_SESSION["tenderTotal"] < 0 and -1 * $dblTotal > $_SESSION["runningTotal"] - $_SESSION["taxTotal"]) { boxMsg("Item already paid for"); } else { // --- added partial item desc to club card description - apbw 2/15/05 --- addItem($strUPC, "Club Card: " . substr($strDescription, 0, 19), "I", "", "J", $row["department"], $dblquantity, $dblUnitPrice, $dblTotal, 0.5 * $row["regPrice"], $intScale, $row["tax"], $intFoodStamp, $dblDiscount, $dblmemDiscount, $intDiscountable, $intdiscounttype, $dblquantity, $row["volDiscType"], $row["volume"], $dblVolSpecial, 0, 0, 0); $update = "update localtemptrans set voided = 20 where trans_id = " . $intItemNum; $connection = tDataConnect(); sql_query($update, $connection); $_SESSION["TTLflag"] = 0; $_SESSION["TTLRequested"] = 0; lastpage(); } } }
function printReceiptfooter() { if ($_SESSION["sc"] == 1) { lastpage(); } else { getsubtotals(); $last_id = $_SESSION["LastID"]; if ($last_id - 7 < 0) { $top_id = 1; } else { $top_id = $last_id - 7; } drawitems($top_id, 7, 0); echo "<tr><td colspan='4' height='20'></td></tr>" . "<tr><td colspan='4'><font size='+1' face='arial' color='#004080'><center>" . $_SESSION["farewellMsg1"] . "</center></font></td></tr>" . "<TR><TD colspan='4'><font size='+1' face='arial' color='#004080'><center>" . $_SESSION["farewellMsg2"] . "</center></font></td></tr>" . "<TR><TD colspan='4'><font size='+1' face='arial' color='#004080'><center>" . $_SESSION["farewellMsg3"] . "</center></font></td></tr>"; } }
function upcscanned($entered) { $hitareflag = 0; $entered = str_replace(".", " ", $entered); if (strlen($entered) == 0 || !$entered) { lastpage(); } else { if ($_SESSION["quantity"] == 0 && $_SESSION["multiple"] == 0) { $quantity = 1; } else { $quantity = $_SESSION["quantity"]; } } $scaleprice = 0; if (substr($entered, 0, 1) == 0 && strlen($entered) == 7) { $p6 = substr($entered, -1); if ($p6 == 0) { $entered = substr($entered, 0, 3) . "00000" . substr($entered, 3, 3); } elseif ($p6 == 1) { $entered = substr($entered, 0, 3) . "10000" . substr($entered, 3, 3); } elseif ($p6 == 2) { $entered = substr($entered, 0, 3) . "20000" . substr($entered, 3, 3); } elseif ($p6 == 3) { $entered = substr($entered, 0, 4) . "00000" . substr($entered, 4, 2); } elseif ($p6 == 4) { $entered = substr($entered, 0, 5) . "00000" . substr($entered, 5, 1); } else { $entered = substr($entered, 0, 6) . "0000" . $p6; } } if (strlen($entered) == 13 && substr($entered, 0, 1) != 0) { $upc = "0" . substr($entered, 0, 12); } else { $upc = substr("0000000000000" . $entered, -13); } if (substr($upc, 0, 3) == "002") { $scaleprice = truncate2(substr($upc, -4) / 100); $upc = substr($upc, 0, 8) . "00000"; } $query = "select * from products where upc = '" . $upc . "' AND inUse = 1"; $db = pDataConnect(); $result = sql_query($query, $db); $num_rows = sql_num_rows($result); $row = sql_fetch_array($result); $normal_price = $row["normal_price"]; $special_price = $row["special_price"]; $cost = 0; $deposit = $row["deposit"]; $dept = $row["department"]; if ($num_rows == 0 && substr($upc, 0, 3) != "005") { $fconn = tDataconnect(); $datetimestamp = strftime("%Y-%m-%d %H:%M:%S %p", time()); $inserterror = "insert into failedscans select " . $upc . " as upc, " . $_SESSION["laneno"] . " as lane_no, " . $_SESSION["CashierNo"] . " as emp_no, " . $_SESSION["transno"] . " as trans_no, " . "'" . $datetimestamp . "' as fdate"; mysql_query($inserterror, $fconn); boxMsg($upc . "<br /><b>is not a valid item</b>"); } elseif ($num_rows == 0 && substr($upc, 0, 3) == "005") { couponcode($upc); } elseif (($dept == 19 || $dept == 20) && $_SESSION["store"] == "rvm" && $_SESSION["msgrepeat"] == 0 && $_SESSION["carded"] == 0) { if ($_SESSION["bdaystatus"] == 99) { $boxMsg = "<b>Enter date of birth from valid ID</b><br />in the form mmddyyyy<p><font size=-1>[Clear] to cancel</font></p>"; } if ($_SESSION["bdaystatus"] == -1) { $boxMsg = "<b>Invalid date of birth</b><br />re-enter in the form mmddyyyy<p><font size=-1>[Clear] to cancel</font></p>"; } if ($_SESSION["bdaystatus"] == 0) { $boxMsg = "<b>Sales of item declined</b><p><font size=-1>[Clear] to cancel</font></p>"; } $_SESSION["boxMsg"] = $boxMsg; bdBoxMsgScreen(); } elseif ($row["scale"] != 0 && $_SESSION["weight"] == 0 && $_SESSION["quantity"] == 0) { if ($_SESSION["wgtRequested"] == 0) { $_SESSION["wgtRequested"] = 1; lastpage(); echo "<script type=\"text/javascript\">\n" . "lockScreen = setTimeout('document.forms[0].elements[0].value = \"" . $_SESSION["strEntered"] . "\"; document.forms[0].submit();', 700)\n" . "</script>"; } else { $_SESSION["SNR"] = 1; boxMsg("please put item on scale"); $_SESSION["wgtRequested"] = 0; } } elseif ($row["scale"] != 0 && $_SESSION["scale"] == 0) { $_SESSION["waitforScale"] = 1; $_SESSION["SNR"] = 1; lastpage(); } elseif ($row["scale"] == 0 && (int) $_SESSION["quantity"] != $_SESSION["quantity"] && $_SESSION["fractions"] != 1) { boxMsg("fractional quantity cannot be accepted for this item"); } elseif ($_SESSION["itemDiscount"] < 0 || $_SESSION["itemDiscount"] > 65) { xboxMsg("item cannot be<br />discounted at " . $_SESSION["itemDiscount"] . "%"); $_SESSION["itemDiscount"] = 0; } else { $mixMatch = 0; $qttyEnforced = $row["qttyEnforced"]; if ($qttyEnforced == 1 && $_SESSION["multiple"] == 0 && $_SESSION["msgrepeat"] == 0) { qttyscreen(); } else { $_SESSION["qttyvalid"] = 1; } if ($_SESSION["qttyvalid"] != 1) { sql_close($db); } else { $upc = $row["upc"]; $description = $row["description"]; $description = str_replace("'", "", $description); $description = str_replace(",", "", $description); $transType = "I"; $transsubType = "CA"; $department = $row["department"]; $unitPrice = $normal_price; $regPrice = $normal_price; $CardNo = $_SESSION["memberID"]; if ($row["scale"] != 0) { $scale = 1; } else { $scale = 0; } if ($row["tax"] != 0 && $_SESSION["toggletax"] == 0) { $tax = $row["tax"]; } elseif ($row["tax"] != 0 && $_SESSION["toggletax"] != 0) { $tax = 0; $_SESSION["toggletax"] = 0; } elseif ($row["tax"] == 0 && $_SESSION["toggletax"] != 0) { $tax = $_SESSION["toggletax"]; $_SESSION["toggletax"] = 0; } else { $tax = 0; } if ($row["foodstamp"] != 0 && $_SESSION["togglefoodstamp"] == 0) { $foodstamp = 1; } elseif ($row["foodstamp"] != 0 && $_SESSION["togglefoodstamp"] == 1) { $foodstamp = 0; $_SESSION["togglefoodstamp"] = 0; } elseif ($row["foodstamp"] == 0 && $_SESSION["togglefoodstamp"] == 1) { $foodstamp = 1; $_SESSION["togglefoodstamp"] = 0; } else { $foodstamp = 0; } if ($scale == 1) { $hitareflag = 0; if ($_SESSION["quantity"] != 0) { $quantity = $_SESSION["quantity"] - $_SESSION["tare"]; } else { $quantity = $_SESSION["weight"] - $_SESSION["tare"]; } if ($quantity <= 0) { $hitareflag = 1; } $_SESSION["tare"] = 0; } $discounttype = nullwrap($row["discounttype"]); $discountable = $row["discount"]; $sale_price = $row["special_price"]; if ($_SESSION["itemDiscount"] > 0 && $_SESSION["itemDiscount"] < 65 && $discounttype != 0) { $discountable = 1; $special_price = number_format($sale_price * (100 - $_SESSION["itemDiscount"]) / 100, 2); $_SESSION["itemDiscount"] = 0; } elseif ($_SESSION["itemDiscount"] > 0 && $_SESSION["itemDiscount"] < 65) { $discountable = 1; $discounttype = 1; $special_price = number_format($normal_price * (100 - $_SESSION["itemDiscount"]) / 100, 2); $_SESSION["itemDiscount"] = 0; } if ($_SESSION["toggleDiscountable"] == 1) { $_SESSION["toggleDiscountable"] = 0; if ($discountable != 0) { $discountable = 0; } else { $discountable = 1; } } if ($_SESSION["nd"] == 1 && $discountable == 7) { $discountable = 3; $_SESSION["nd"] = 0; } if ($discounttype == 2 || $discounttype == 4) { $memDiscount = truncate2($normal_price * $quantity) - truncate2($special_price * $quantity); $discount = 0; $unitPrice = $normal_price; } elseif ($discounttype == 1) { $unitPrice = $special_price; $unitDiscount = $normal_price - $special_price; $discount = $unitDiscount * $quantity; $memDiscount = 0; } else { $unitPrice = $normal_price; $discount = 0; $memDiscount = 0; } if ($_SESSION["isMember"] == 1 && $discounttype == 2) { $unitPrice = nullwrap($special_price); } if ($_SESSION["isStaff"] != 0 && $discounttype == 4) { $unitPrice = nullwrap($special_price); } if ($_SESSION["casediscount"] > 0 && $_SESSION["casediscount"] <= 100) { $casediscount = (100 - $_SESSION["casediscount"]) / 100; $unitPrice = $casediscount * $unitPrice; } //-------------Mix n Match ------------------------------------- $matched = 0; $VolSpecial = nullwrap($row["groupprice"]); $volDiscType = nullwrap($row["pricemethod"]); $volume = nullwrap($row["quantity"]); if ($row["advertised"] != 0) { if ($row["discounttype"] == 2 && $_SESSION["isMember"] == 1 || $row["discounttype"] != 2) { $VolSpecial = nullwrap($row["specialgroupprice"]); $volDiscType = nullwrap($row["specialpricemethod"]); $volume = nullwrap($row["specialquantity"]); } } if ($volDiscType && $volDiscType >= 1) { // If item is on volume discount if (!$row["mixmatchcode"] || $row["mixmatchcode"] == 0) { $mixMatch = 0; $queryt = "select sum(ItemQtty - matched) as mmqtty from localtemptrans where " . "upc = '" . $row["upc"] . "' group by upc"; } else { $mixMatch = $row["mixmatchcode"]; $queryt = "select sum(ItemQtty - matched) as mmqtty, mixMatch from localtemptrans " . "where mixMatch = '" . $mixMatch . "' group by mixMatch"; } if ($volDiscType == 1) { $unitPrice = truncate2($VolSpecial / $volume); } $voladj = $VolSpecial - ($volume - 1) * $unitPrice; // one at special price $newmm = (int) ($quantity / $volume); // number of complete sets $dbt = tDataConnect(); $resultt = sql_query($queryt, $dbt); $num_rowst = sql_num_rows($resultt); if ($num_rowst > 0) { $rowt = sql_fetch_array($resultt); $mmqtty = $rowt["mmqtty"]; // number not in complete sets in localtemptrans } else { $mmqtty = 0; } $newmmtotal = $mmqtty + $quantity % $volume; $na = $newmmtotal % $volume; $quantity = $quantity % $volume; if ($newmm >= 1) { addItem($upc, $description, "I", "", "", $department, $cost, $newmm, truncate2($VolSpecial), truncate2($newmm * $VolSpecial), truncate2($VolSpecial), $scale, $tax, $foodstamp, $discount, $memDiscount, $discountable, $discounttype, $volume * $newmm, $volDiscType, $volume, $VolSpecial, $mixMatch, $volume * $newmm, 0, 0, ''); $newmm = 0; $_SESSION["qttyvalid"] = 0; } if ($newmmtotal >= $volume) { addItem($upc, $description, "I", "", "", $department, $cost, 1, $voladj, $voladj, $voladj, $scale, $tax, $foodstamp, $discount, $memDiscount, $discountable, $discounttype, 1, $volDiscType, $volume, $VolSpecial, $mixMatch, $volume, 0, 0, ''); $quantity = $quantity - 1; $newmmtotal = 0; $_SESSION["qttyvalid"] = 0; } sql_close($dbt); } $total = $unitPrice * $quantity; if (substr($upc, 0, 3) == "002" and $discounttype != 2) { $unitPrice = truncate2($scaleprice); $regPrice = $total; $total = $unitPrice * $quantity; } $total = truncate2($total); $unitPrice = truncate2($unitPrice); if ($upc == "0000000008010" && $_SESSION["msgrepeat"] == 0) { $_SESSION["endorseType"] = "giftcert"; $_SESSION["tenderamt"] = $total; $_SESSION["boxMsg"] = "<b>" . $total . " gift certificate</b><br />insert document<br />press [enter] to endorse<p><font size='-1'>[clear] to cancel</font></p>"; boxMsgscreen(); } elseif ($upc == "0000000008006" && $_SESSION["msgrepeat"] == 0) { $_SESSION["endorseType"] = "stock"; $_SESSION["tenderamt"] = $total; $_SESSION["boxMsg"] = "<B>" . $total . " stock payment</B><br />insert form<br />press [enter] to endorse<P><FONT size='-1'>[clear] to cancel</FONT>"; boxMsgscreen(); } elseif ($upc == "0000000008011" && $_SESSION["msgrepeat"] == 0) { $_SESSION["endorseType"] = "classreg"; $_SESSION["tenderamt"] = $total; $_SESSION["boxMsg"] = "<b>" . $total . " class registration</b><br />insert form<br />press [enter] to endorse<p><font size='-1'>[clear] to cancel</font></p>"; boxMsgscreen(); } elseif ($hitareflag == 1) { boxMsg("item weight must be greater than tare weight"); } else { if ($quantity != 0) { $qtty = $quantity; if ($scale == 1) { goodBeep(); } if ($_SESSION["casediscount"] > 0) { addcdnotify(); $discounttype = 3; $_SESSION["casediscount"] = 0; $quantity = 1; $unitPrice = $total; $regPrice = $total; } if ($_SESSION["ddNotify"] == 1 && $_SESSION["itemPD"] == 10) { $_SESSION["itemPD"] = 0; $discountable = 7; } if ($_SESSION["ddNotify"] == 1 && $discountable == 7) { $intvoided = 22; } else { $intvoided = 0; } addItem($upc, $description, "I", " ", " ", $department, $cost, $quantity, $unitPrice, $total, $regPrice, $scale, $tax, $foodstamp, $discount, $memDiscount, $discountable, $discounttype, $qtty, $volDiscType, $volume, $VolSpecial, $mixMatch, $matched, $intvoided, 0, ''); $_SESSION["msgrepeat"] = 0; $_SESSION["qttyvalid"] = 0; } } if ($deposit && $deposit > 0) { addDeposit($quantity, $deposit, $foodstamp); } if ($tax == 1) { $_SESSION["istaxable"] = 1; } else { $_SESSION["istaxable"] = 0; $_SESSION["voided"] = 0; } if ($discounttype == 1) { $_SESSION["ondiscount"] = 1; $_SESSION["voided"] = 2; adddiscount($discount); } elseif ($discounttype == 2 && $_SESSION["isMember"] == 1) { $_SESSION["ondiscount"] = 1; $_SESSION["voided"] = 2; addmemspecialmsg(); } elseif ($discounttype == 4 && $_SESSION["isStaff"] != 0) { $_SESSION["ondiscount"] = 1; $_SESSION["voided"] = 2; adddiscount($memDiscount); } else { $_SESSION["ondiscount"] = 0; $_SESSION["voided"] = 0; } if ($_SESSION["tare"] != 0) { $_SESSION["tare"] = 0; } $_SESSION["alert"] = ""; $_SESSION["ttlflag"] = 0; $_SESSION["ttlrequested"] = 0; $_SESSION["fntlflag"] = 0; $_SESSION["togglefoodstamp"] = 0; $_SESSION["toggletax"] = 0; $_SESSION["repeat"] = 1; setglobalflags(0); if ($hitareflag != 1) { lastpage(); } } } $_SESSION["quantity"] = 0; $_SESSION["itemPD"] = 0; }
function voidupc($upc) { $lastpageflag = 1; $deliflag = 0; if (strpos($upc, "*") && (strpos($upc, "**") || strpos($upc, "*") == 0 || strpos($upc, "*") == strlen($upc) - 1)) { $upc = "stop"; } elseif (strpos($upc, "*")) { $voidupc = explode("*", $upc); if (!is_numeric($voidupc[0])) { $upc = "stop"; } else { $quantity = $voidupc[0]; $upc = $voidupc[1]; $weight = 0; } } elseif (!is_numeric($upc) && !strpos($upc, "DP")) { $upc = "stop"; } else { $quantity = 1; $weight = $_SESSION["weight"]; } if (is_numeric($upc)) { $upc = substr("0000000000000" . $upc, -13); if (substr($upc, 0, 3) == "002" && substr($upc, -5) != "00000") { $scaleprice = substr($upc, 10, 4) / 100; $upc = substr($upc, 0, 8) . "0000"; $deliflag = 1; } elseif (substr($upc, 0, 3) == "002" && substr($upc, -5) == "00000") { $scaleprice = $_SESSION["scaleprice"]; $deliflag = 1; } } if ($upc == "stop") { inputUnknown(); } else { $db = tDataConnect(); if ($_SESSION["discounttype"] == 3) { $query = "select sum(quantity) as voidable, max(scale), as scale, max(volDiscType) as volDiscType " . "from localtemptrans where upc = '" . $upc . "' and discounttype = 3 and unitPrice = " . $_SESSION["caseprice"] . " group by upc"; } elseif ($deliflag == 0) { $query = "select sum(ItemQtty) as voidable, sum(quantity) as vquantity, max(scale) as scale, " . "max(volDiscType) as volDiscType from localtemptrans where upc = '" . $upc . "' and discounttype <> 3 group by upc, discounttype"; } else { $query = "select sum(ItemQtty) as voidable, sum(quantity) as vquantity, max(scale) as scale, " . "max(volDiscType) as volDiscType from localtemptrans where upc = '" . $upc . "' and unitPrice = " . $scaleprice . " and discounttype <> 3 group by upc"; } if ($_SESSION["ddNotify"] == 1) { $query = "select sum(ItemQtty) as voidable, sum(quantity) as vquantity, max(scale) as scale, " . "max(volDiscType) as volDiscType from localtemptrans where upc = '" . $upc . "' and discounttype <> 3 and discountable = " . $_SESSION["discountable"] . " group by upc, discounttype, discountable"; } $result = sql_query($query, $db); $num_rows = sql_num_rows($result); if ($num_rows == 0) { boxMsg("Item not found"); } else { $row = sql_fetch_array($result); if ($row["scale"] == 1 && $weight > 0) { $quantity = $weight - $_SESSION["tare"]; $_SESSION["tare"] = 0; } $volDiscType = $row["volDiscType"]; $voidable = nullwrap($row["voidable"]); $VolSpecial = 0; $volume = 0; $scale = nullwrap($row["scale"]); if ($voidable == 0 && $quantity == 1) { boxMsg("Items already voided"); } elseif ($voidable == 0 && $quantity > 1) { boxMsg("Items already voided"); } elseif ($scale == 1 && $quantity < 0) { boxMsg("tare weight cannot be greater than item weight"); } elseif ($voidable < $quantity && $row["scale"] == 1) { $message = "Void request exceeds<br />weight of item rung in<p><b>You can void up to " . $row["voidable"] . " lb</b></p>"; boxMsg($message); } elseif ($voidable < $quantity) { $message = "Void request exceeds<br />number of items rung in<p><b>You can void up to " . $row["voidable"] . "</b></p>"; boxMsg($message); } else { unset($result); //--------------------------------Void Item---------------------------- if ($_SESSION["discounttype"] == 3) { $query_upc = "select * from localtemptrans where upc = '" . $upc . "' and discounttype = 3 and unitPrice = " . $_SESSION["caseprice"]; } elseif ($deliflag == 0) { $query_upc = "select * from localtemptrans where upc = '" . $upc . "' and discounttype <> 3"; } else { $query_upc = "select * from localtemptrans where upc = '" . $upc . "' and unitPrice = " . $scaleprice; } $_SESSION["discounttype"] = 9; $result = sql_query($query_upc, $db); $row = sql_fetch_array($result); $ItemQtty = $row["ItemQtty"]; $foodstamp = nullwrap($row["foodstamp"]); $discounttype = nullwrap($row["discounttype"]); $mixMatch = nullwrap($row["mixMatch"]); if ($_SESSION["isMember"] != 1 && $row["discounttype"] == 2 || $_SESSION["isStaff"] == 0 && $row["discounttype"] == 4) { $unitPrice = $row["regPrice"]; } elseif (($_SESSION["isMember"] == 1 && $row["discounttype"] == 2 || $_SESSION["isStaff"] != 0 && $row["discounttype"] == 4) && $row["unitPrice"] == $row["regPrice"]) { $db_p = pDataConnect(); $query_p = "select * from products where upc = '" . $upc . "'"; $result_p = sql_query($query_p, $db_p); $row_p = sql_fetch_array($result_p); $unitPrice = $row_p["special_price"]; sql_close($db_p); } else { $unitPrice = $row["unitPrice"]; } $discount = -1 * $row["discount"]; $memDiscount = -1 * $row["memDiscount"]; $discountable = $row["discountable"]; $cost = 0; if ($_SESSION["ddNotify"] == 1) { $discountable = $_SESSION["discountable"]; } //----------------------mix match--------------------- if ($volDiscType >= 1) { $db_mm = tDataConnect(); $query_mm = "select sum(ItemQtty) as mmqtty from localtemptrans where mixMatch = " . $mixMatch; $result_mm = sql_query($query_mm, $db_mm); $row_mm = sql_fetch_array($result_mm); $mmqtty = nullwrap($row_mm["mmqtty"]); sql_close($db_mm); $db_pq = pDataConnect(); $query_pq = "select * from products where upc = '" . $upc . "'"; $result_pq = sql_query($query_pq, $db_pq); $row_pq = sql_fetch_array($result_pq); if ($volDiscType == 1) { $unitPrice = truncate2($row_pq["groupprice"] / $row_pq["quantity"]); } elseif ($discounttype == 1) { $unitPrice = $row_pq["special_price"]; $VolSpecial = nullwrap($row_pq["specialgroupprice"]); } else { $unitPrice = $row_pq["normal_price"]; $VolSpecial = nullwrap($row_pq["groupprice"]); } if ($row_pq["advertised"] == 0) { $volume = nullwrap($row_pq["quantity"]); } else { $volume = nullwrap($row_pq["specialquantity"]); } sql_close($db_pq); $volmulti = (int) ($quantity / $volume); $vmremainder = $quantity % $volume; if ($mixMatch == 0) { $mm = (int) ($voidable / $volume); $mmremainder = $voidable % $volume; } else { $mm = (int) ($mmqtty / $volume); $mmremainder = $mmqtty % $volume; } if ($volmulti > 0) { addItem($upc, $row["description"], $row["trans_type"], $row["trans_subtype"], "V", $row["department"], $cost, -1 * $volmulti, $VolSpecial, -1 * $volmulti * $VolSpecial, $VolSpecial, 0, $row["tax"], $foodstamp, $discount, $memDiscount, $discountable, $discounttype, -1 * $volmulti * $volume, $volDiscType, $volume, $VolSpecial, $mixMatch, -1 * $volume * $volmulti, 1, 0, ''); $quantity = $vmremainder; } if ($vmremainder > $mmremainder) { $voladj = $row["VolSpecial"] - $unitPrice * ($volume - 1); addItem($upc, $row["description"], $row["trans_type"], $row["trans_subtype"], "V", $row["department"], $cost, -1, $voladj, -1 * $voladj, $voladj, 0, $row["tax"], $foodstamp, $discount, $memDiscount, $discountable, $discounttype, -1, $volDiscType, $volume, $VolSpecial, $mixMatch, -1 * $volume, 1, 0, ''); $quantity = $quantity - 1; } } $quantity = -1 * $quantity; $total = truncate2($quantity * $unitPrice); $CardNo = $_SESSION["memberID"]; $discounttype = nullwrap($row["discounttype"]); if ($discounttype == 3) { $quantity = -1 * $ItemQtty; } if ($_SESSION["tenderTotal"] < 0 && $foodstamp == 1 && -1 * $total > $_SESSION["fsEligible"]) { boxMsg("Item already paid for"); $lastpageflag = 0; } elseif ($_SESSION["tenderTotal"] < 0 && -1 * $total > $_SESSION["runningTotal"] - $_SESSION["taxTotal"]) { boxMsg("Item already paid for"); $lastpageflag = 0; } elseif ($quantity != 0) { addItem($upc, $row["description"], $row["trans_type"], $row["trans_subtype"], "V", $row["department"], $cost, $quantity, $unitPrice, $total, $row["regPrice"], $scale, $row["tax"], $foodstamp, $discount, $memDiscount, $discountable, $discounttype, $quantity, $volDiscType, $volume, $VolSpecial, $mixMatch, 0, 1, 0, ''); if ($row["trans_type"] != "T") { $_SESSION["ttlflag"] = 0; $_SESSION["ttlrequested"] = 0; $_SESSION["discounttype"] = 0; } } if ($lastpageflag == 1) { lastpage(); } else { $lastpageflag = 1; } } } } }
/** * Build a new team. * @ajaxreturn 'inteam' this user has already been in a team. * @ajaxreturn 'invited' this user has already been invited. * @ajaxreturn 'success' successfully build a new team. */ public function new_team_() { eval(USER); $id = session('userid'); if (DBModel::inTeam($id) || DBModel::beingInvited($id)) { $this->error(Error('inteam'), lastpage()); } else { $data['leader'] = $id; $data['id'] = $this->generateTeamId(); #$data['id'] = 'T13071000'; $data['name'] = xassert(safepost('name'), Error('post')); $data['university'] = xassert(safepost('university'), Error('post')); $data['teacher'] = xassert(safepost('teacher'), Error('post')); $root = C('ROOT'); if (isset($_FILES["picture"])) { $upload = uploadImage(); if (!is_string($upload)) { $data['picture'] = $root . $upload[0]["savepath"] . $upload[0]["savename"]; } if ($data["picture"] == $root) { unset($data["picture"]); } } DBModel::insertDB('cernet_team', $data); $dat['user_id'] = $id; $dat['team_id'] = $data['id']; $dat['statecode'] = 1; DBModel::insertDB('cernet_teammate', $dat); $am = new AdminModel(); $am->setTeamState($data['id'], 3); $this->success(Success('newteam'), '__ROOT__/User/currentstage'); } }
function madCoupon() { getsubtotals(); addMadCoup(); lastpage(); }
/** * Password find back handle function. * Usertype: Student */ public function nopassword_() { try { require 'powerdream/Common/Mail.class.php'; $cond['email'] = xassert(safepost('email'), Error('post')); $random = rand(0, 100) . ' This is a salt.'; $pwd = substr(encrypt($random), 0, 8); $data['password'] = encrypt($pwd); if (!DBModel::existUser('cernet_user', $cond)) { $this->error(Error('email'), lastpage()); } else { DBModel::updateDB('cernet_user', $cond, $data); $user = DBModel::selectDB('cernet_user', $cond); $user = $user[0]; $mailto = $cond['email']; $replace['[#password]'] = $pwd; $replace['[#username]'] = $user['username']; $content = Mail::contentTemplate('nopassword'); Mail::autosend($mailto, $content, $replace); $this->success(Success('nopassword'), '__ROOT__'); } } catch (Exception $e) { bassert($this, false, $e->getMessage()); } }
break; default: if (is_numeric($strl)) { tender($right, $strl); } else { switch ($left) { case "VD": voidupc($strr); break; case "PV": $intAway = 1; $_SESSION["pvsearch"] = $strr; maindisplay("productlist.php"); break; case "FN": lastpage(); break; default: inputUnknown(); } } } } else { inputUnknown(); } } if ($intAway == 1) { $intAway = 0; printfooterb(); } else { printfooter();
/** * Self-defined assertion Wrapper. * @param boolean An expression for assertion. * @param string Error message. * @return boolean false. */ function bassert($_this, $expression, $error_msg) { if ($expression == false && $expression != 0 && $expression != null) { $_this->assign('jumpUrl', lastpage()); $_this->error($error_msg); } return $expression; }
function upcscanned($entered) { $hitareflag = 0; $entered = str_replace(".", " ", $entered); if (strlen($entered) == 0 || !$entered) { lastpage(); } else { if ($_SESSION["quantity"] == 0 && $_SESSION["multiple"] == 0) { $quantity = 1; } else { $quantity = $_SESSION["quantity"]; } } $scaleprice = 0; if (substr($entered, 0, 1) == 0 && strlen($entered) == 7) { $p6 = substr($entered, -1); if ($p6 == 0) { $entered = substr($entered, 0, 3) . "00000" . substr($entered, 3, 3); } elseif ($p6 == 1) { $entered = substr($entered, 0, 3) . "10000" . substr($entered, 4, 3); } elseif ($p6 == 2) { $entered = substr($entered, 0, 3) . "20000" . substr($entered, 4, 3); } elseif ($p6 == 3) { $entered = substr($entered, 0, 4) . "00000" . substr($entered, 4, 2); } elseif ($p6 == 4) { $entered = substr($entered, 0, 5) . "00000" . substr($entered, 6, 1); } else { $entered = substr($entered, 0, 6) . "0000" . $p6; } } if (strlen($entered) == 13 && substr($entered, 0, 1) != 0) { $upc = "0" . substr($entered, 0, 12); } else { $upc = substr("0000000000000" . $entered, -13); } // ccm-rle 10-6-2009 uncommented this line below- this made it show up but it added a 7 to the price. if (substr($upc, 0, 3) == "002") { $scaleprice = truncate2(substr($upc, -4) / 100); $upc = substr($upc, 0, 8) . "00000"; } $query = "select * from products where upc = '" . $upc . "' AND inUse = 1"; $db = pDataConnect(); $result = sql_query($query, $db); $num_rows = sql_num_rows($result); $row = sql_fetch_array($result); $start_date = $row["start_date"]; $end_date = $row["end_date"]; $normal_price = $row["normal_price"]; $sale_start_date = date("Y-n-d H:i:s", $start_date); $sale_end_date = date("Y-n-d H:i:s", $end_date); $special_price = $row["special_price"]; $right_now = date("Y-n-d H:i:s"); $deposit = $row["deposit"]; if ($num_rows == 0 && substr($upc, 0, 3) != "005") { boxMsg($upc . "<BR><B>is not a valid item</B>"); } elseif ($num_rows == 0 && substr($upc, 0, 3) == "005") { couponcode($upc); } elseif ($row["scale"] != 0 && $_SESSION["weight"] == 0 && $_SESSION["quantity"] == 0) { if ($_SESSION["wgtRequested"] == 0) { $_SESSION["wgtRequested"] = 1; lastpage(); echo "<SCRIPT type=\"text/javascript\">\n" . "lockScreen = setTimeout('document.forms[0].elements[0].value = \"" . $_SESSION["strEntered"] . "\"; document.forms[0].submit();', 700)\n" . "</SCRIPT>"; } else { $_SESSION["SNR"] = 1; boxMsg("please put item on scale"); $_SESSION["wgtRequested"] = 0; } } elseif ($row["scale"] != 0 && $_SESSION["scale"] == 0) { $_SESSION["waitforScale"] = 1; $_SESSION["SNR"] = 1; lastpage(); //boxMsg("wait for scale"); } elseif ($row["scale"] == 0 && (int) $_SESSION["quantity"] != $_SESSION["quantity"] && $_SESSION["fractions"] != 1) { boxMsg("fractional quantity cannot be accepted for this item"); } elseif ($_SESSION["itemDiscount"] < 0 || $_SESSION["itemDiscount"] > 101) { xboxMsg("item cannot be<br>discounted at " . $_SESSION["itemDiscount"] . "%"); $_SESSION["itemDiscount"] = 0; } else { $mixMatch = 0; $qttyEnforced = $row["qttyEnforced"]; if ($qttyEnforced == 1 && $_SESSION["multiple"] == 0 && $_SESSION["msgrepeat"] == 0) { qttyscreen(); } else { $_SESSION["qttyvalid"] = 1; } if ($_SESSION["qttyvalid"] != 1) { sql_close($db); } else { $upc = $row["upc"]; $description = $row["description"]; $description = str_replace("'", "", $description); $description = str_replace(",", "", $description); $transType = "I"; $transsubType = "CA"; $department = $row["department"]; $unitPrice = $normal_price; $regPrice = $normal_price; $CardNo = $_SESSION["memberID"]; if ($row["scale"] != 0) { $scale = 1; } else { $scale = 0; } // ccm-rle 9-23-09 below is probably where I need to modify the code to ensure that tax is turned off if an item is toggled for foodstamps. actually the co-op wants this tax to be recorded somewhere that is queriable but not passed onto to the customer so this needs to be further researched if ($row["tax"] != 0 && $_SESSION["toggletax"] == 0) { $tax = $row["tax"]; } elseif ($row["tax"] != 0 && $_SESSION["toggletax"] == 1) { $tax = 0; $_SESSION["toggletax"] = 0; } elseif ($row["tax"] == 0 && $_SESSION["toggletax"] == 1) { $tax = 1; $_SESSION["toggletax"] = 0; } else { $tax = 0; } if ($row["foodstamp"] != 0 && $_SESSION["togglefoodstamp"] == 0) { $foodstamp = 1; } elseif ($row["foodstamp"] != 0 && $_SESSION["togglefoodstamp"] == 1) { $foodstamp = 0; $_SESSION["togglefoodstamp"] = 0; } elseif ($row["foodstamp"] == 0 && $_SESSION["togglefoodstamp"] == 1) { $foodstamp = 1; $_SESSION["togglefoodstamp"] = 0; } else { $foodstamp = 0; } if ($scale == 1) { $hitareflag = 0; if ($_SESSION["quantity"] != 0) { $quantity = $_SESSION["quantity"] - $_SESSION["tare"]; } else { $quantity = $_SESSION["weight"] - $_SESSION["tare"]; } if ($quantity <= 0) { $hitareflag = 1; } $_SESSION["tare"] = 0; } // ccm-rle 9-23-09 - this is where the initial check as to whether an item is discountable happens also seems to have the 65 percent hard limit on a discount set. fannie sets a no discount flag to cause discount to equal 0 if this is checked thus stopping discounts (there was an error in the smarty templates that caused a reversal of the logic. not sure where discounttype comes from or where department discount fields come in yet //ccm-rle 11-11-09 - if the current date is not between the sale start date & end date turn off the discount $discounttype = nullwrap($row["discounttype"]); // if (!($right_now >= $sale_start_date && $right_now <= $sale_end_date)) { $discounttype = 0; } $discountable = $row["discount"]; $sale_price = $row["special_price"]; if ($_SESSION["itemDiscount"] > 0 && $_SESSION["itemDiscount"] < 101 && $discounttype != 0) { $discountable = 0; $special_price = number_format($sale_price * (100 - $_SESSION["itemDiscount"]) / 100, 2); $_SESSION["itemDiscount"] = 0; $upc = "D" . substr($upc, 1); // new by Tak } elseif ($_SESSION["itemDiscount"] > 0 && $_SESSION["itemDiscount"] < 101 && substr($upc, 0, 3) == "002") { $discountable = 0; $discounttype = 1; $special_price = number_format($scaleprice * (100 - $_SESSION["itemDiscount"]) / 100, 2); $_SESSION["itemDiscount"] = 0; $upc = "D" . substr($upc, 1); } elseif ($_SESSION["itemDiscount"] > 0 && $_SESSION["itemDiscount"] < 101) { $discountable = 0; $discounttype = 1; $special_price = number_format($normal_price * (100 - $_SESSION["itemDiscount"]) / 100, 2); $_SESSION["itemDiscount"] = 0; $upc = "D" . substr($upc, 1); // new by Tak } // ccm-rle 9-23-09 this seems to toggle whether an item is discountable but I'm not sure where toggleDiscountable is called or how it is called yet. if ($_SESSION["toggleDiscountable"] == 1) { $_SESSION["toggleDiscountable"] = 0; if ($discountable != 0) { $discountable = 0; } else { $discountable = 1; } } // ccm-rle 9-23-09 - find out where session nd can be set and what sets discountable to 7 if ($_SESSION["nd"] == 1 && $discountable == 7) { $discountable = 3; $_SESSION["nd"] = 0; } if ($discounttype == 2 || $discounttype == 4) { $memDiscount = truncate2($normal_price * $quantity) - truncate2($special_price * $quantity); $discount = 0; $unitPrice = $normal_price; } elseif ($discounttype == 1 && substr($upc, 0, 3) == "D02") { $unitPrice = $special_price; $unitDiscount = $scaleprice - $special_price; $discount = $unitDiscount * $quantity; $memDiscount = 0; } elseif ($discounttype == 1) { $unitPrice = $special_price; $unitDiscount = $normal_price - $special_price; $discount = $unitDiscount * $quantity; $memDiscount = 0; } else { $unitPrice = $normal_price; $discount = 0; $memDiscount = 0; } if ($_SESSION["isMember"] == 1 && $discounttype == 2) { $unitPrice = nullwrap($special_price); } if ($_SESSION["isStaff"] != 0 && $discounttype == 4) { $unitPrice = nullwrap($special_price); } if ($_SESSION["casediscount"] > 0 && $_SESSION["casediscount"] <= 100) { $casediscount = (100 - $_SESSION["casediscount"]) / 100; $unitPrice = $casediscount * $unitPrice; } //-------------Mix n Match ------------------------------------- $matched = 0; $VolSpecial = nullwrap($row["groupprice"]); $volDiscType = nullwrap($row["pricemethod"]); $volume = nullwrap($row["quantity"]); if ($row["advertised"] != 0) { if ($row["discounttype"] == 2 && $_SESSION["isMember"] == 1 || $row["discounttype"] != 2) { $VolSpecial = nullwrap($row["specialgroupprice"]); $volDiscType = nullwrap($row["specialpricemethod"]); $volume = nullwrap($row["specialquantity"]); } } if ($volDiscType && $volDiscType >= 1) { // If item is on volume discount if (!$row["mixmatchcode"] || $row["mixmatchcode"] == 0) { $mixMatch = 0; $queryt = "select sum(ItemQtty - matched) as mmqtty from localtemptrans where " . "upc = '" . $row["upc"] . "' group by upc"; } else { $mixMatch = $row["mixmatchcode"]; $queryt = "select sum(ItemQtty - matched) as mmqtty, mixMatch from localtemptrans " . "where mixMatch = '" . $mixMatch . "' group by mixMatch"; } if ($volDiscType == 1) { $unitPrice = truncate2($VolSpecial / $volume); } $voladj = $VolSpecial - ($volume - 1) * $unitPrice; // one at special price $newmm = (int) ($quantity / $volume); // number of complete sets $dbt = tDataConnect(); $resultt = sql_query($queryt, $dbt); $num_rowst = sql_num_rows($resultt); if ($num_rowst > 0) { $rowt = sql_fetch_array($resultt); $mmqtty = $rowt["mmqtty"]; // number not in complete sets in localtemptrans } else { $mmqtty = 0; } $newmmtotal = $mmqtty + $quantity % $volume; $na = $newmmtotal % $volume; $quantity = $quantity % $volume; if ($newmm >= 1) { addItem($upc, $description, "I", "", "", $department, $newmm, truncate2($VolSpecial), truncate2($newmm * $VolSpecial), truncate2($VolSpecial), $scale, $tax, $foodstamp, $discount, $memDiscount, $discountable, $discounttype, $volume * $newmm, $volDiscType, $volume, $VolSpecial, $mixMatch, $volume * $newmm, 0); $newmm = 0; $_SESSION["qttyvalid"] = 0; } if ($newmmtotal >= $volume) { addItem($upc, $description, "I", "", "", $department, 1, $voladj, $voladj, $voladj, $scale, $tax, $foodstamp, $discount, $memDiscount, $discountable, $discounttype, 1, $volDiscType, $volume, $VolSpecial, $mixMatch, $volume, 0); $quantity = $quantity - 1; $newmmtotal = 0; $_SESSION["qttyvalid"] = 0; } sql_close($dbt); } //-------------------------------------------------------------------------- $total = $unitPrice * $quantity; // ccm-rle 10-06-2009 tried changing it to 02 instead of 002 below if (substr($upc, 0, 3) == "002" and $discounttype != 2) { $unitPrice = truncate2($scaleprice); $regPrice = $total; $total = $unitPrice * $quantity; } $total = truncate2($total); $unitPrice = truncate2($unitPrice); if ($upc == "0000000008010" && $_SESSION["msgrepeat"] == 0) { $_SESSION["endorseType"] = "giftcert"; $_SESSION["tenderamt"] = $total; $_SESSION["boxMsg"] = "<B>" . $total . " gift certificate</B><BR>insert document<BR>press [enter] to endorse<P><FONT size='-1'>[clear] to cancel</FONT>"; boxMsgscreen(); } elseif ($upc == "0000000008006" && $_SESSION["msgrepeat"] == 0) { $_SESSION["endorseType"] = "stock"; $_SESSION["tenderamt"] = $total; $_SESSION["boxMsg"] = "<B>" . $total . " stock payment</B><BR>insert form<BR>press [enter] to endorse<P><FONT size='-1'>[clear] to cancel</FONT>"; boxMsgscreen(); } elseif ($upc == "0000000008011" && $_SESSION["msgrepeat"] == 0) { $_SESSION["endorseType"] = "classreg"; $_SESSION["tenderamt"] = $total; $_SESSION["boxMsg"] = "<B>" . $total . " class registration</B><BR>insert form<BR>press [enter] to endorse<P><FONT size='-1'>[clear] to cancel</FONT>"; boxMsgscreen(); } elseif ($hitareflag == 1) { boxMsg("item weight must be greater than tare weight"); } else { if ($quantity != 0) { $qtty = $quantity; if ($scale == 1) { goodBeep(); } if ($_SESSION["casediscount"] > 0) { addcdnotify(); $discounttype = 3; $_SESSION["casediscount"] = 0; $quantity = 1; $unitPrice = $total; $regPrice = $total; } if ($_SESSION["ddNotify"] == 1 && $_SESSION["itemPD"] == 10) { $_SESSION["itemPD"] = 0; $discountable = 7; } if ($_SESSION["ddNotify"] == 1 && $discountable == 7) { $intvoided = 22; } else { $intvoided = 0; } addItem($upc, $description, "I", " ", " ", $department, $quantity, $unitPrice, $total, $regPrice, $scale, $tax, $foodstamp, $discount, $memDiscount, $discountable, $discounttype, $qtty, $volDiscType, $volume, $VolSpecial, $mixMatch, $matched, $intvoided); $_SESSION["msgrepeat"] = 0; $_SESSION["qttyvalid"] = 0; } } if ($deposit && $deposit > 0) { addDeposit($quantity, $deposit, $foodstamp); } if ($tax == 1) { $_SESSION["istaxable"] = 1; } else { $_SESSION["istaxable"] = 0; $_SESSION["voided"] = 0; } if ($discounttype == 1) { $_SESSION["ondiscount"] = 1; $_SESSION["voided"] = 2; adddiscount($discount); } elseif ($discounttype == 2 && $_SESSION["isMember"] == 1) { $_SESSION["ondiscount"] = 1; $_SESSION["voided"] = 2; adddiscount($memDiscount); } elseif ($discounttype == 4 && $_SESSION["isStaff"] != 0) { $_SESSION["ondiscount"] = 1; $_SESSION["voided"] = 2; adddiscount($memDiscount); } else { $_SESSION["ondiscount"] = 0; $_SESSION["voided"] = 0; } // sql_close($db); if ($_SESSION["tare"] != 0) { $_SESSION["tare"] = 0; } $_SESSION["alert"] = ""; $_SESSION["ttlflag"] = 0; $_SESSION["ttlrequested"] = 0; $_SESSION["fntlflag"] = 0; $_SESSION["togglefoodstamp"] = 0; $_SESSION["toggletax"] = 0; $_SESSION["repeat"] = 1; setglobalflags(0); if ($hitareflag != 1) { lastpage(); } } } $_SESSION["quantity"] = 0; $_SESSION["itemPD"] = 0; }
public function login_() { try { $cond["id"] = xassert(safepost("id"), Error("post")); $pwd = xassert(safepost("password"), Error("post")); $cond["password"] = $pwd; if (!DBModel::existUser("admin_user", $cond)) { throw new Exception(Error("login")); } session("usertype", "admin"); session("userid", $cond["id"]); session("username", getNameById("admin_user", $cond["id"])); // dump($_SESSION); $config = C('TMPL_PARSE_STRING'); $root = $config['__ROOT__']; header("Location: {$root}/Admin/index"); } catch (Exception $e) { $this->assign('waitSecond', 3); $this->error($e->getMessage(), lastpage()); } }