Example #1
0
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();
                    }
                }
            }
        }
    }
}
Example #2
0
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
                //				}
            }
        }
    }
}