function confirm($_POST)
{
    # get vars
    extract($_POST);
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($acctype, "string", 1, 30, "Invalid Account Type.");
    $v->isOk($bankname, "string", 1, 50, "Invalid Bank name.");
    $v->isOk($loc, "string", 1, 3, "Invalid Type.");
    $v->isOk($fcid, "num", 1, 30, "Invalid Currency.");
    $v->isOk($branchname, "string", 1, 50, "Invalid Branch Name.");
    $v->isOk($branchcode, "string", 1, 15, "Invalid Branch Code.");
    $v->isOk($accname, "string", 1, 50, "Invalid Account Name.");
    $v->isOk($accnum, "num", 1, 30, "Invalid Account Number.");
    $v->isOk($catid, "string", 1, 4, "Invalid Category.");
    $v->isOk($details, "string", 1, 255, "Invalid Details.");
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "-" . $e["msg"] . "<br>";
        }
        $err = "<tr><td class='err' colspan='2'>{$confirm}</td></tr>\n\t\t<tr><td colspan='2'><br></td></tr>";
        return view($acctype, $bankname, $loc, $branchname, $branchcode, $accname, $accnum, $details, $err);
    }
    core_connect();
    # income accounts ($inc)
    $glacc = "<select name='glacc'>";
    $sql = "SELECT * FROM accounts WHERE catid ='{$catid}' AND div = '" . USER_DIV . "' ORDER BY accname";
    $accRslt = db_exec($sql);
    $numrows = pg_numrows($accRslt);
    if (empty($numrows)) {
        return "<li> - There are no accounts yet in Cubit. Please set up accounts first.</li>";
    }
    while ($acc = pg_fetch_array($accRslt)) {
        if (isbank($acc['accid'])) {
            continue;
        }
        if (isb($acc['accid'])) {
            continue;
        }
        $glacc .= "<option value='{$acc['accid']}'>{$acc['accname']}</option>";
    }
    $glacc .= "</select>";
    //processes
    db_connect();
    # check if account name doesn't exist
    $sql = "SELECT bankname FROM bankacct WHERE accname ='{$accname}' AND type != 'cr' AND type != 'ptrl' AND div = '" . USER_DIV . "'";
    $checkRslt = db_exec($sql) or errDie("Unable to select bank details from database.", SELF);
    $check = pg_numrows($checkRslt);
    if (!empty($check)) {
        return "<li class='err'>The Account : {$accname} Already Exits, please choose another account name.<p>\n\t\t\t\t<input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
    }
    # check accnum and bankname
    $sql = "SELECT bankname FROM bankacct WHERE bankname ='{$bankname}' AND accnum = '{$accnum}' AND type != 'cr' AND type != 'ptrl' AND div = '" . USER_DIV . "'";
    $checkRslt = db_exec($sql) or errDie("Unable to select bank details from database.", SELF);
    $check = pg_numrows($checkRslt);
    if (!empty($check)) {
        return "<li class='err'>The Account with account number : {$accnum}, held at {$bankname} already exits.<p>\n\t\t\t<input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
    }
    # Locations drop down
    $locs = array("loc" => "Local", "int" => "International");
    $curr = getSymbol($fcid);
    // layout
    $confirm = "\n\t\t<h3>Add New Account to database</h3>\n\t\t<h4>Confirm entry</h4>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t<form action='" . SELF . "' method='POST'>\n\t\t\t<input type='hidden' name='key' value='write'>\n\t\t\t<input type='hidden' name='acctype' value='{$acctype}'>\n\t\t\t<input type='hidden' name='bankname' value='{$bankname}'>\n\t\t\t<input type='hidden' name='loc' value='{$loc}'>\n\t\t\t<input type='hidden' name='fcid' value='{$fcid}'>\n\t\t\t<input type='hidden' name='branchname' value='{$branchname}'>\n\t\t\t<input type='hidden' name='branchcode' value='{$branchcode}'>\n\t\t\t<input type='hidden' name='accname' value='{$accname}'>\n\t\t\t<input type='hidden' name='accnum' value='{$accnum}'>\n\t\t\t<input type='hidden' name='catid' value='{$catid}'>\n\t\t\t<input type='hidden' name='details' value='{$details}'>\n\t\t\t<tr>\n\t\t\t\t<th>Field</th>\n\t\t\t\t<th>Value</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Account Type</td>\n\t\t\t\t<td>{$acctype}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Bank Name</td>\n\t\t\t\t<td>{$bankname}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Type</td>\n\t\t\t\t<td>{$locs[$loc]}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Currency</td>\n\t\t\t\t<td>{$curr['symbol']} - {$curr['name']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Branch Name</td>\n\t\t\t\t<td>{$branchname}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Branch Code</td>\n\t\t\t\t<td>{$branchcode}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Account Name</td>\n\t\t\t\t<td>{$accname}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Account Number</td>\n\t\t\t\t<td>{$accnum}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Legder account</td>\n\t\t\t\t<td>{$glacc}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Details</td>\n\t\t\t\t<td>{$details}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td><input type='submit' name='back' value='&laquo; Correction'></td>\n\t\t\t\t<td align='right'><input type='submit' value='Write &raquo'></td>\n\t\t\t</tr>\n\t\t</form>\n\t\t</table>\n\t\t<p>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Quick Links</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='../core/acc-new2.php'>Add Ledger Account</a></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='../main.php'>Main Menu</a></td>\n\t\t\t</tr>\n\t\t</table>";
    return $confirm;
}
function view($VARS = array(), $err = "")
{
    extract($VARS);
    if (!isset($accid)) {
        $accid = "";
    }
    $vars = array("bankname", "branchname", "loc", "fcid", "branchcode", "accname", "accnum", "cardnum", "mon", "year", "lastdigits", "cardname", "cardtyp", "details");
    $vard = array("cardtyp" => "Visa", "mon" => date("m"), "year" => date("Y"));
    foreach ($vars as $key => $val) {
        if (!isset(${$val})) {
            ${$val} = isset($vard[$val]) ? $vard[$val] : "";
        }
    }
    if (strlen($lastdigits) < 1) {
        $lastdigits = "000";
    }
    db_connect();
    # Locations drop down
    $locs = array("loc" => "Local", "int" => "International");
    $locsel = extlib_cpsel("loc", $locs, $loc);
    # currency drop down
    $currsel = ext_unddbsel("fcid", "currency", "fcid", "descrip", "There are is no currency found in Cubit, please add currency first.", $fcid);
    $chm = "";
    $chv = "";
    $cho = "";
    if ($cardtyp == 'Visa') {
        $chv = "checked=yes";
    } elseif ($cardtyp == 'Mastercard') {
        $chm = "checked=yes";
    } else {
        $cho = "checked=yes";
    }
    core_connect();
    $sql = "SELECT * FROM accounts WHERE acctype = 'B' AND div = '" . USER_DIV . "' ORDER BY accname";
    $accRslt = db_exec($sql) or errDie("Could not retrieve accounts from Cubit.", SELF);
    if (pg_numrows($accRslt) < 1) {
        return "<li> There are no balance accouts in Cubit.";
    }
    $accs = "<select name='accid'>";
    while ($acc = pg_fetch_array($accRslt)) {
        if (isbank($acc['accid'])) {
            continue;
        }
        if (isb($acc['accid'])) {
            continue;
        }
        if ($accid == $acc['accid']) {
            $accs .= "<option value='{$acc['accid']}' selected>{$acc['accname']}</option>";
        } else {
            $accs .= "<option value='{$acc['accid']}'>{$acc['accname']}</option>";
        }
    }
    $accs .= "</select>";
    //layout
    $view = "\n\t\t<h3>Add New Credit Card Account</h3>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t<form action='" . SELF . "' method='POST' name='form'>\n\t\t\t<input type='hidden' name='key' value='confirm'>\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'>{$err}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<th>Field</th>\n\t\t\t\t<th>Value</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Bank Name</td>\n\t\t\t\t<td><input type='text' size='20' name='bankname' value='{$bankname}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Type</td>\n\t\t\t\t<td>{$locsel}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Currency</td>\n\t\t\t\t<td>{$currsel}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Branch Name</td>\n\t\t\t\t<td><input type='text' size='20' name='branchname' value='{$branchname}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Branch Code</td>\n\t\t\t\t<td><input type='text' size='20' name='branchcode' value='{$branchcode}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Account Name</td>\n\t\t\t\t<td><input type='text' size='20' name='accname' maxlength='50' value='{$accname}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Account Number</td>\n\t\t\t\t<td><input type='text' size='20' name='accnum' value='{$accnum}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Ledger Account</td>\n\t\t\t\t<td>{$accs}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Card Number</td>\n\t\t\t\t<td><input type='text' size='25' name='cardnum' maxlength='16' value='{$cardnum}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Expiry Date</td>\n\t\t\t\t<td>\n\t\t\t\t\t<input type='text' size='2' name='mon' maxlength='2' value='{$mon}'>-\n\t\t\t\t\t<input type='text' size='4' name='year' maxlength='4' value='{$year}'>MM-YYYY\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Last 3 Digits at back of Card</td>\n\t\t\t\t<td><input type='text' size='3' maxlength='3' name='lastdigits' value='{$lastdigits}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Card Type</td>\n\t\t\t\t<td><input type='radio' name='cardtyp' value='Visa' {$chv}>Visa &nbsp;&nbsp; <input type='radio' name='cardtyp' value='Mastercard' {$chm}> Mastercard &nbsp;&nbsp;&nbsp;<input type='radio' name='cardtyp' value='other' {$cho}>Other: <input type='text' name='cardname' value='{$cardname}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>" . REQ . "Details</td>\n\t\t\t\t<td><textarea cols='20' rows='3' name='details'>{$details}</textarea></td>\n\t\t\t</tr>\n\t\t\t<tr><td><br></td></tr>\n\t\t\t<tr>\n\t\t\t\t<td><input type='button' value='&laquo Cancel' onClick='javascript:history.back();'></td>\n\t\t\t\t<td><input type='submit' value='Confirm &raquo'></td>\n\t\t\t</tr>\n\t\t</form>\n\t\t</table>\n\t\t<p>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Quick Links</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='../core/acc-new2.php'>Add Ledger Account</a></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='../main.php'>Main Menu</a></td>\n\t\t\t</tr>\n\t\t</table>";
    return $view;
}
function view($VARS = array(), $err = "")
{
    foreach ($VARS as $key => $vals) {
        ${$key} = $vals;
    }
    $vars = array("bankname", "branchname", "loc", "fcid", "branchcode", "accname", "accnum", "cardnum", "mon", "year", "lastdigits", "cardname", "cardtyp", "details");
    $vard = array("cardtyp" => "Visa", "mon" => date("m"), "year" => date("Y"));
    foreach ($vars as $key => $val) {
        if (!isset(${$val})) {
            ${$val} = isset($vard[$val]) ? $vard[$val] : "";
        }
    }
    if (strlen($lastdigits) < 1) {
        $lastdigits = "000";
    }
    db_connect();
    # Locations drop down
    $locs = array("loc" => "Local", "int" => "International");
    $locsel = extlib_cpsel("loc", $locs, $loc);
    # currency drop down
    $currsel = ext_unddbsel("fcid", "currency", "fcid", "descrip", "There are is no currency found in Cubit, please add currency first.", "");
    $chm = "";
    $chv = "";
    $cho = "";
    if ($cardtyp == 'Visa') {
        $chv = "checked=yes";
    } elseif ($cardtyp == 'Mastercard') {
        $chm = "checked=yes";
    } else {
        $cho = "checked=yes";
    }
    core_connect();
    $sql = "SELECT * FROM accounts WHERE acctype = 'B' AND div = '" . USER_DIV . "' ORDER BY accname";
    $accRslt = db_exec($sql) or errDie("Could not retrieve accounts from Cubit.", SELF);
    if (pg_numrows($accRslt) < 1) {
        return "<li> There are no balance accouts in Cubit.";
    }
    $accs = "<select name=accid>";
    while ($acc = pg_fetch_array($accRslt)) {
        if (isbank($acc['accid'])) {
            continue;
        }
        if (isb($acc['accid'])) {
            continue;
        }
        $accs .= "<option value='{$acc['accid']}'>{$acc['accname']}</option>";
    }
    $accs .= "</select>";
    //layout
    $view = "\n\t<h3>Add New Petrol Card Account</h3>\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n\t<form action='" . SELF . "' method=post name=form>\n\t<input type=hidden name=key value=confirm>\n\t<tr><td colspan=2>{$err}</td></tr>\n\t<tr><th>Field</th><th>Value</th></tr>\n\t<tr class='bg-odd'><td>" . REQ . "Bank Name</td><td ><input type=text size=20 name=bankname value='{$bankname}'></td></tr>\n\t<tr class='bg-even'><td>" . REQ . "Type</td><td>{$locsel}</td></tr>\n\t<tr class='bg-odd'><td>" . REQ . "Currency</td><td>{$currsel}</td></tr>\n\t<tr class='bg-even'><td>" . REQ . "Branch Name</td><td ><input type=text size=20 name=branchname value='{$branchname}'></td></tr>\n\t<tr class='bg-odd'><td>" . REQ . "Branch Code</td><td ><input type=text size=20 name=branchcode value='{$branchcode}'></td></tr>\n\t<tr class='bg-even'><td>" . REQ . "Account Name</td><td ><input type=text size=20 name=accname maxlength=50 value='{$accname}'></td></tr>\n\t<tr class='bg-odd'><td>" . REQ . "Account Number</td><td ><input type=text size=20 name=accnum value='{$accnum}'></td></tr>\n\t<tr class='bg-even'><td>" . REQ . "Ledger Account</td><td>{$accs}</td></tr>\n\t<tr class='bg-odd'><td>" . REQ . "Card Number</td><td ><input type=text size=25 name=cardnum maxlength=16 value='{$cardnum}'></td></tr>\n\t<tr class='bg-even'><td>" . REQ . "Expiry Date</td><td><input type=text size=2 name=mon maxlength=2 value='{$mon}'>-<input type=text size=4 name=year maxlength=4 value='{$year}'>MM-YYYY</td></tr>\n\t<tr class='bg-odd'><td>" . REQ . "Last 3 Digits at back of Card</td><td ><input type=text size=3 maxlength=3 name=lastdigits value='{$lastdigits}'></td></tr>\n\t<tr class='bg-even'><td>Card Type</td><td><input type=radio name=cardtyp value=Visa {$chv}>Visa &nbsp;&nbsp; <input type=radio name=cardtyp value='Mastercard' {$chm}> Mastercard &nbsp;&nbsp;&nbsp;<input type=radio name=cardtyp value='other' {$cho}>Other: <input type=text name=cardname value='{$cardname}'></td>\n\t<tr class='bg-odd'><td>" . REQ . "Details</td><td ><textarea cols=20 rows=3 name=details>{$details}</textarea></td></tr>\n\t<tr><td><br></td></tr>\n\t<tr><td><input type=button value='&laquo Cancel' onClick='javascript:history.back();'></td><td ><input type=submit value='Confirm &raquo'></td></tr>\n\t</form>\n\t</table>\n\t<p>\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n\t\t<tr><th>Quick Links</th></tr>\n\t\t<tr class='bg-odd'><td><a href='../core/acc-new2.php'>Add Ledger Account</a></td></tr>\n\t\t<tr class='bg-odd'><td><a href='../main.php'>Main Menu</a></td></tr>\n\t</table>";
    return $view;
}
/**
 * @ignore
 */
function isBankmRec($accid, $trantype, $date, $name, $descript, $cheqnum, $totamt, $accinv, $amounts, $accids, $vats, $chrgvats)
{
    # Date format
    $date = explode("-", $date);
    $date = "{$date['2']}-{$date['1']}-{$date['0']}";
    if (isbank($accid)) {
        $bankid = getbankid($accid);
        # Record the payment record
        db_connect();
        $sql = "\n\t\t\tINSERT INTO cashbook (\n\t\t\t\tbankid, trantype, date, name, descript, cheqnum, \n\t\t\t\tamount, vat, chrgvat, banked, accids, amounts, \n\t\t\t\tchrgvats, vats, div\n\t\t\t) VALUES (\n\t\t\t\t'{$bankid}', '{$trantype}', '{$date}', '{$name}', '{$descript}', '{$cheqnum}', \n\t\t\t\t'{$totamt}', '0', 'nov', 'no', '{$accids}', '{$amounts}', \n\t\t\t\t'{$chrgvats}', '{$vats}', '" . USER_DIV . "'\n\t\t\t)";
        $Rslt = db_exec($sql) or errDie("Unable to add bank payment to database.", SELF);
    }
}