function tender($right, $strl) { $tender_upc = ""; $dollar = $_SESSION["dollarOver"]; if ($_SESSION["LastID"] == 0) { boxMsg("transaction in progress"); } elseif ($strl > 999999) { xboxMsg("tender amount of " . truncate2($strl / 100) . "<br />exceeds allowable limit"); } elseif ($right == "WT") { xboxMsg("WIC tender not applicable"); } elseif ($right == "CK" && $_SESSION["ttlflag"] == 1 && ($_SESSION["isMember"] != 0 || $_SESSION["isStaff"] != 0) && $strl / 100 - $_SESSION["amtdue"] - 0.005 > $dollar && $_SESSION["cashOverLimit"] == 1) { boxMsg("member or staff check tender cannot exceed total purchase by over \$" . $dollar . ".00"); } elseif (($right == "CC" || $right == "TB") && $strl / 100 > $_SESSION["amtdue"] + 0.005 && $_SESSION["refundTotal"] == 0) { xboxMsg("credit card tender cannot exceed purchase amount"); } elseif ($right == "FS" && $strl / 100 > $_SESSION["fsEligible"] + 0.005 && $_SESSION["refundTotal"] == 0) { xboxMsg("EBT food tender cannot exceed eligible amount"); } elseif ($right == "EF" && truncate2($strl / 100) > $_SESSION["fsEligible"]) { xboxMsg("no way!"); } else { getsubtotals(); if ($_SESSION["ttlflag"] == 1 && ($right == "CX" || $right == "MI")) { // added ttlflag on 2/28/05 apbw $charge_ok = chargeOk(); if ($right == "CX" && $charge_ok == 1) { $charge_ok = 1; } elseif ($right == "MI" && $charge_ok == 1) { $charge_ok = 1; } else { $charge_ok = 0; } } $strl = $strl / 100; if ($_SESSION["ttlflag"] == 0) { boxMsg("transaction must be totaled before tender can be accepted"); } elseif (($right == "FS" || $right == "EF") && $_SESSION["fntlflag"] == 0) { boxMsg("eligble amount must be totaled before foodstamp tender can be accepted"); } elseif ($right == "EF" && $_SESSION["fntlflag"] == 1 && $_SESSION["fsEligible"] + 10 <= $strl) { xboxMsg("Foodstamp tender cannot exceed elible amount by over \$10.00"); } elseif ($right == "CX" && $charge_ok == 0) { xboxMsg("member " . $_SESSION["memberID"] . "<br />is not authorized<br />to make corporate charges"); } elseif ($right == "MI" && $_SESSION["isStaff"] == 0) { // apbw 2/15/05 SCR xboxMsg("member " . $_SESSION["memberID"] . "<br />is not authorized<br />to make employee charges"); // apbw 2/15/05 SCR } elseif ($right == "MI" && $charge_ok == 0 && $_SESSION["availBal"] < 0) { xboxMsg("member " . $_SESSION["memberID"] . "<br /> has \$" . $_SESSION["availBal"] . " available."); } elseif ($right == "MI" && $charge_ok == 1 && $_SESSION["availBal"] < 0) { xboxMsg("member " . $_SESSION["memberID"] . "<br />is over limit"); } elseif ($right == "MI" && $charge_ok == 0) { xboxMsg("member " . $_SESSION["memberID"] . "<br />is not authorized to make employee charges"); } elseif ($right == "MI" && $charge_ok == 1 && $_SESSION["availBal"] + $_SESSION["memChargeTotal"] - $strl <= 0) { xboxMsg("member " . $_SESSION["memberID"] . "<br /> has exceeded charge limit"); } elseif ($right == "MI" && $charge_ok == 1 && ABS($_SESSION["memChargeTotal"]) + $strl >= $_SESSION["availBal"] + 0.005 && $_SESSION["store"] == "WFC") { $memChargeRemain = $_SESSION["availBal"]; $memChargeCommitted = $memChargeRemain + $_SESSION["memChargeTotal"]; xboxMsg("available balance for charge <br />is only \$" . $memChargeCommitted . ".<br /><b><font size = 5>\$" . number_format($memChargeRemain, 2) . "</font></b><br />may still be used on this purchase."); } elseif (($right == "MI" || $right == "CX") && truncate2($_SESSION["amtdue"]) < truncate2($strl)) { xboxMsg("charge tender exceeds purchase amount"); } else { $query = "select * from tenders where tendercode = '" . $right . "'"; $db = pDataConnect(); $result = sql_query($query, $db); $num_rows = sql_num_rows($result); if ($num_rows == 0) { inputUnknown(); } else { $row = sql_fetch_array($result); $tender_code = $right; $tendered = -1 * $strl; if ($tender_code == "CC" && $_SESSION["CCintegrate"] == 1) { $tender_upc = $_SESSION["troutd"]; } $tender_desc = $row["TenderName"]; $_SESSION["tenderamt"] = $strl; $unit_price = 0; if ($tender_code == "FS" && $strl > $_SESSION["fsEligible"] && $strl < $_SESSION["subtotal"]) { $unit_price = -1 * $_SESSION["fsEligible"]; } elseif ($tender_code == "FS") { $unit_price = -1 * $strl; } if ($strl - $_SESSION["amtdue"] > 0) { $_SESSION["change"] = $strl - $_SESSION["amtdue"]; } else { $_SESSION["change"] = 0; } if ($right == "CK" && $_SESSION["msgrepeat"] == 0) { $_SESSION["boxMsg"] = "<br />insert check<br />press [enter] to endorse<p><font size='-1'>[clear] to cancel</font></p>"; $_SESSION["endorseType"] = "check"; boxMsgscreen(); } else { addItem($tender_upc, $tender_desc, "T", $tender_code, "", 0, 0, 0, $unit_price, $tendered, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''); $_SESSION["msgrepeat"] = 0; $_SESSION["TenderType"] = $tender_code; /***added by apbw 2/1/05 SCR ***/ /*** session tender type set by apbw 2/28/05 ***/ if ($_SESSION["TenderType"] == "MI" || $_SESSION["TenderType"] == "CX") { $_SESSION["chargetender"] = 1; // apbw 2/28/05 SCR } // apbw 2/28/05 SCR getsubtotals(); if ($right == "FS") { $fs = -1 * $_SESSION["fsEligible"]; $fs_ones = ($fs * 100 - $fs * 100 % 100) / 100; $fs_change = $fs - $fs_ones; if ($fs_ones > 0) { addfsones($fs_ones); } if ($fs_change > 0) { addchange($fs_change); } getsubtotals(); } if ($_SESSION["amtdue"] <= 0.005) { $_SESSION["change"] = -1 * $_SESSION["amtdue"]; $cash_return = $_SESSION["change"]; if ($right != "FS") { addchange($cash_return); } if ($right == "CK" && $cash_return > 0) { $_SESSION["cashOverAmt"] = 1; // apbw/cvr 3/5/05 cash back beep } $_SESSION["End"] = 1; printReceiptfooter(); } else { $_SESSION["change"] = 0; $_SESSION["fntlflag"] = 0; ttl(); lastpage(); } } } } } }
function tender($right, $strl) { $tender_upc = ""; $dollar = $_SESSION["dollarOver"]; // // set_error_handler("prehkeys_dataError"); if ($_SESSION["LastID"] == 0) { boxMsg("transaction in progress"); } elseif ($strl > 999999) { xboxMsg("tender amount of " . truncate2($strl / 100) . "<BR>exceeds allowable limit"); } elseif ($right == "WT") { xboxMsg("WIC tender not applicable"); } elseif ($right == "CK" && $_SESSION["ttlflag"] == 1 && ($_SESSION["isMember"] != 0 || $_SESSION["isStaff"] != 0) && $strl / 100 - $_SESSION["amtdue"] - 0.005 > $dollar && $_SESSION["cashOverLimit"] == 1) { boxMsg("member or staff check tender cannot exceed total purchase by over \$" . $dollar . ".00"); } elseif (($right == "CC" || $right == "TB") && $strl / 100 > $_SESSION["amtdue"] + 0.005 && $_SESSION["refundTotal"] == 0) { xboxMsg("credit card tender cannot exceed purchase amount"); } elseif ($right == "FS" && $strl / 100 > $_SESSION["fsEligible"] + 0.005 && $_SESSION["refundTotal"] == 0) { xboxMsg("EBT food tender cannot exceed eligible amount"); } elseif ($right == "EF" && truncate2($strl / 100) > $_SESSION["fsEligible"]) { xboxMsg("no way!"); } else { getsubtotals(); if ($_SESSION["ttlflag"] == 1 && ($right == "CX" || $right == "MI")) { // added ttlflag on 2/28/05 apbw $charge_ok = chargeOk(); if ($right == "CX" && $charge_ok == 1 && strlen($_SESSION["memberID"]) == 5 && substr($_SESSION["memberID"], 0, 1) == "5") { $charge_ok = 1; } elseif ($right == "MI" && $charge_ok == 1) { $charge_ok = 1; } else { $charge_ok = 0; } } // else $_SESSION["chargetender"] = 0; // commented out by apbw 2/14/05 - reset flag in printlib only $strl = $strl / 100; if ($_SESSION["ttlflag"] == 0) { boxMsg("transaction must be totaled before tender can be accepted"); } elseif (($right == "FS" || $right == "EF") && $_SESSION["fntlflag"] == 0) { boxMsg("eligble amount must be totaled before foodstamp tender can be accepted"); } elseif ($right == "EF" && $_SESSION["fntlflag"] == 1 && $_SESSION["fsEligible"] + 10 <= $strl) { xboxMsg("Foodstamp tender cannot exceed elible amount by over \$10.00"); } elseif ($right == "CX" && $charge_ok == 0) { xboxMsg("member " . $_SESSION["memberID"] . "<BR>is not authorized<BR>to make corporate charges"); } elseif ($right == "MI" && $_SESSION["isStaff"] == 0) { // apbw 2/15/05 SCR xboxMsg("member " . $_SESSION["memberID"] . "<BR>is not authorized<BR>to make employee charges"); // apbw 2/15/05 SCR } elseif ($right == "MI" && $charge_ok == 0 && $_SESSION["availBal"] < 0) { xboxMsg("member " . $_SESSION["memberID"] . "<BR> has \$" . $_SESSION["availBal"] . " available."); } elseif ($right == "MI" && $charge_ok == 1 && $_SESSION["availBal"] < 0) { xboxMsg("member " . $_SESSION["memberID"] . "<BR>is over limit"); } elseif ($right == "MI" && $charge_ok == 0) { xboxMsg("member " . $_SESSION["memberID"] . "<BR>is not authorized to make employee charges"); } elseif ($right == "MI" && $charge_ok == 1 && $_SESSION["availBal"] + $_SESSION["memChargeTotal"] - $strl <= 0) { xboxMsg("member " . $_SESSION["memberID"] . "<br> has exceeded charge limit"); } elseif ($right == "MI" && $charge_ok == 1 && ABS($_SESSION["memChargeTotal"]) + $strl >= $_SESSION["availBal"] + 0.005 && $_SESSION["store"] == "WFC") { $memChargeRemain = $_SESSION["availBal"]; $memChargeCommitted = $memChargeRemain + $_SESSION["memChargeTotal"]; xboxMsg("available balance for charge <br>is only \$" . $memChargeCommitted . ".<br><b><font size = 5>\$" . number_format($memChargeRemain, 2) . "</font></b><br>may still be used on this purchase."); } elseif (($right == "MI" || $right == "CX") && truncate2($_SESSION["amtdue"]) < truncate2($strl)) { xboxMsg("charge tender exceeds purchase amount"); } else { $query = "select * from tenders where tendercode = '" . $right . "'"; $db = pDataConnect(); $result = sql_query($query, $db); $num_rows = sql_num_rows($result); if ($num_rows == 0) { inputUnknown(); } else { $row = sql_fetch_array($result); $tender_code = $right; $tendered = -1 * $strl; if ($tender_code == "CC" && $_SESSION["CCintegrate"] == 1) { $tender_upc = $_SESSION["troutd"]; } /* else{ $tender_desc = $row["TenderName"]; } */ $tender_desc = $row["TenderName"]; $_SESSION["tenderamt"] = $strl; $unit_price = 0; if ($tender_code == "FS" && $strl > $_SESSION["fsEligible"] && $strl < $_SESSION["subtotal"]) { $unit_price = -1 * $_SESSION["fsEligible"]; } elseif ($tender_code == "FS") { $unit_price = -1 * $strl; } if ($strl - $_SESSION["amtdue"] > 0) { $_SESSION["change"] = $strl - $_SESSION["amtdue"]; } else { $_SESSION["change"] = 0; } // ccm-rle 9-23-09 This is where the pop-up screen requires check endorsement. CCM will comment out because they don't require check endorsement. problem is this is the start of a if statement and without it the else needs to be removed as well and the following bracket // if ($right == "CK" && $_SESSION["msgrepeat"] == 0) { // $_SESSION["boxMsg"] = "<BR>insert check</B><BR>press [enter] to endorse<P><FONT size='-1'>[clear] to cancel</FONT>"; // $_SESSION["endorseType"] = "check"; // boxMsgscreen(); // } // elseif ($right == "TC" && $_SESSION["msgrepeat"] == 0) { // commented out to prevent gift cert franking // $_SESSION["boxMsg"] = "<B> insert gift certificate<B><BR>press [enter] to endorse<P><FONT size='-1'>[clear] to cancel</FONT>"; // $_SESSION["endorseType"] = "check"; // boxMsgscreen(); // } // ccm-rle 9-23-09 commented out the following else because check endorsing no longer needed // else { addItem($tender_upc, $tender_desc, "T", $tender_code, "", 0, 0, $unit_price, $tendered, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); $_SESSION["msgrepeat"] = 0; $_SESSION["TenderType"] = $tender_code; /***added by apbw 2/1/05 SCR ***/ /*** session tender type set by apbw 2/28/05 ***/ if ($_SESSION["TenderType"] == "MI" || $_SESSION["TenderType"] == "CX") { // apbw 2/28/05 SCR $_SESSION["chargetender"] = 1; // apbw 2/28/05 SCR } // apbw 2/28/05 SCR getsubtotals(); // if ($right == "FS" || $right == "EF") { // addfsTaxExempt(); // } if ($right == "FS") { $fs = -1 * $_SESSION["fsEligible"]; $fs_ones = ($fs * 100 - $fs * 100 % 100) / 100; $fs_change = $fs - $fs_ones; if ($fs_ones > 0) { addfsones($fs_ones); } if ($fs_change > 0) { addchange($fs_change); } getsubtotals(); } if ($_SESSION["amtdue"] <= 0.005) { $_SESSION["change"] = -1 * $_SESSION["amtdue"]; $cash_return = $_SESSION["change"]; if ($right != "FS") { addchange($cash_return); } if ($right == "CK" && $cash_return > 0) { $_SESSION["cashOverAmt"] = 1; } // apbw/cvr 3/5/05 cash back beep $_SESSION["End"] = 1; printReceiptfooter(); } else { $_SESSION["change"] = 0; $_SESSION["fntlflag"] = 0; ttl(); lastpage(); } // ccm-rle 9-23-09 commented out following bracket to compensate for removing if and else for check endorsement // } } } } }