function confirm($bankid)
{
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($bankid, "num", 1, 4, "Invalid Bank Account ID.");
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        $confirm .= "<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    // Connect to database
    Db_Connect();
    $sql = "SELECT * FROM bankacct WHERE bankid = '{$bankid}' AND div = '" . USER_DIV . "'";
    $accntRslt = db_exec($sql) or errDie("ERROR: Unable to select Bank account details from database.", SELF);
    $numrows = pg_numrows($accntRslt);
    if ($numrows > 1) {
        $OUTPUT = "There are more than one accounts with the same account ID.";
        require "../template.php";
    }
    if ($numrows < 1) {
        $OUTPUT = "<center>Invalid Bank Account ID.";
        require "../template.php";
    }
    $accnt = pg_fetch_array($accntRslt);
    $confirm = "\n    \t<h3>Remove Bank  Account from database</h3>\n        <h4>Confirm entry</h4>\n        <table " . TMPL_tblDflts . ">\n        <form action='" . SELF . "' method='POST'>\n\t        <input type='hidden' name='key' value=rem>\n\t        <input type='hidden' name='bankid' value='{$bankid}'>\n\t        <input type='hidden' name='acctype' value='{$accnt['acctype']}'>\n\t        <input type='hidden' name='bankname' value='{$accnt['bankname']}'>\n\t        <input type='hidden' name='branchname' value='{$accnt['branchname']}'>\n\t        <input type='hidden' name='branchcode' value='{$accnt['branchcode']}'>\n\t        <input type='hidden' name='accname' value='{$accnt['accname']}'>\n\t        <input type='hidden' name='accnum' value='{$accnt['accnum']}'>\n\t        <input type='hidden' name='details' value='{$accnt['details']}'>\n\t        <tr>\n\t        \t<th>Field</th>\n\t        \t<th>Value</th>\n\t        </tr>\n\t        <tr class='" . bg_class() . "'>\n\t        \t<td>Account Type</td>\n\t        \t<td>{$accnt['acctype']}</td>\n\t        </tr>\n\t        <tr class='" . bg_class() . "'>\n\t        \t<td>Bank Name</td>\n\t        \t<td>{$accnt['bankname']}</td>\n\t        </tr>\n\t        <tr class='" . bg_class() . "'>\n\t        \t<td>Branch Name</td>\n\t        \t<td>{$accnt['branchname']}</td>\n\t        </tr>\n\t        <tr class='" . bg_class() . "'>\n\t        \t<td>Branch Code</td>\n\t        \t<td>{$accnt['branchcode']}</td>\n\t        </tr>\n\t        <tr class='" . bg_class() . "'>\n\t        \t<td>Account Name</td>\n\t        \t<td>{$accnt['accname']}</td>\n\t        </tr>\n\t        <tr class='" . bg_class() . "'>\n\t        \t<td>Account Number</td>\n\t        \t<td>{$accnt['accnum']}</td>\n\t        </tr>\n\t        <tr class='" . bg_class() . "'>\n\t        \t<td>Details</td>\n\t        \t<td>{$accnt['details']}</td>\n\t        </tr>\n\t        <tr>\n\t        \t<td align='right'><input type='button' value='&laquo Back' onClick='javascript:history.back()'></td>\n\t        \t<td align='right'><input type='submit' value='Remove Bank Account &raquo'></td>\n\t        </tr>\n        </form>\n        </table>\n        <p>\n        <table " . TMPL_tblDflts . ">\n            <tr>\n            \t<th>Quick Links</th>\n            </tr>\n            <tr class='" . bg_class() . "'>\n            \t<td><a href='bankacct-view.php'>View Bank Accounts</a></td>\n            </tr>\n            <script>document.write(getQuicklinkSpecial());</script>\n        </table>";
    return $confirm;
}
function confirm($cashid)
{
    global $_GET;
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($cashid, "num", 1, 20, "Invalid Reference number.");
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        $confirm .= "<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    if (isset($_GET["type"]) and $_GET["type"] == "cash") {
        $bou = "cashbook";
    } else {
        $bou = "batch_cashbook";
    }
    // Connect to database
    Db_Connect();
    $sql = "SELECT * FROM {$bou} WHERE cashid = '{$cashid}' AND div = '" . USER_DIV . "'";
    $accntRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database.", SELF);
    $accnt = pg_fetch_array($accntRslt);
    $confirm = "\r\n\t\t\t\t\t<center>\r\n\t\t\t\t\t<table " . TMPL_tblDflts . " width='330'>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td colspan='2'><h3>Entry Accounts</h3></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr><td><br></td></tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<th>Account</th>\r\n\t\t\t\t\t\t\t<th>Amount</th>\r\n\t\t\t\t\t\t\t<th>VAT</th>\r\n\t\t\t\t\t\t</tr>";
    $accids = explode("|", $accnt['accids']);
    unset($accids[0]);
    $amounts = explode("|", $accnt['amounts']);
    unset($amounts[0]);
    $vats = explode("|", $accnt['vats']);
    unset($vats[0]);
    foreach ($amounts as $key => $amt) {
        # get account name for the account involved
        $AccRslt = get("core", "accname,topacc,accnum", "accounts", "accid", $accids[$key]);
        $accinv = pg_fetch_array($AccRslt);
        $amt = sprint($amt);
        $confirm .= "\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "''>\r\n\t\t\t\t\t\t\t<td>{$accinv['topacc']}/{$accinv['accnum']} - {$accinv['accname']}</td>\r\n\t\t\t\t\t\t\t<td nowrap>" . CUR . " {$amt}</td>\r\n\t\t\t\t\t\t\t<td nowrap>" . CUR . " {$vats[$key]}</td>\r\n\t\t\t\t\t\t</tr>";
    }
    $confirm .= "\r\n\t\t\t\t\t\t<tr><td><br></td></tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td colspan='2' align='center'><input type='button' value=' [X] Close ' onClick='javascript:window.close();'></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>";
    return $confirm;
}
function edit($deptid)
{
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($deptid, "num", 1, 50, "Invalid User Department ID.");
    # display errors, if any
    if ($v->isError()) {
        $theseErrors = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $theseErrors .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        $theseErrors .= "<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $theseErrors;
    }
    // Connect to database
    Db_Connect();
    // Query server
    $sql = "SELECT * FROM depts WHERE deptid = '{$deptid}'";
    $depRslt = db_exec($sql) or errDie("ERROR: Unable to edit department.", SELF);
    $dep = pg_fetch_array($depRslt);
    $Out = "\n    \t<table " . TMPL_tblDflts . " width='300'>\n        \t<tr>\n        \t\t<th colspan='2'>Select Permissions</th>\n        \t</tr>";
    $sql = "SELECT DISTINCT script, name FROM scripts ORDER by script";
    $rslt = db_exec($sql);
    $i = 0;
    while ($scr = pg_fetch_array($rslt)) {
        $Sql = "SELECT script FROM deptscripts WHERE dept = '{$deptid}' and script = '{$scr['name']}'";
        $sRs = db_exec($Sql);
        //  print $Sql;
        if (pg_numrows($sRs) > 0) {
            $Ch = "checked";
        } else {
            $Ch = "";
        }
        $Out .= "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td colspan='2' nowrap><input type='checkbox' {$Ch} name='perm[]' value='{$scr['name']}'>" . strtoupper($scr['script']) . "</td>\n\t\t\t</tr>";
        $i++;
    }
    $Out .= "</table>";
    // Layout
    $OUTPUT = "\n\t\t<h3>Edit User Department</h3>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t<form action='" . SELF . "' method='POST'>\n\t\t\t<input type='hidden' name='key' value='confirm'>\n\t\t\t<input type='hidden' name='deptid' value='{$deptid}'>\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='datacell'>\n\t\t\t\t<td>User Department</td>\n\t\t\t\t<td align='center'><input type='text' size='20' name='dept' value='{$dep['dept']}'></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td><br></td>\n\t\t\t\t<td align='center'><input type=submit value='Commit changes'>&nbsp;<input type='reset' value='Reset form'></td>\n\t\t\t</tr>\n\t\t</table>\n\t\t{$Out}\n\t\t</form>\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<script>document.write(getQuicklinkSpecial());</script>\n\t\t</table>";
    return $OUTPUT;
}
function printSet()
{
    // Connect to database
    Db_Connect();
    // Query server
    $sql = "SELECT * FROM set WHERE div = '" . USER_DIV . "'";
    $rslt = db_exec($sql) or errDie("ERROR: Unable to view settings", SELF);
    // Die with custom error if failed
    if (pg_numrows($rslt) < 1) {
        $OUTPUT = "<li class=err> No Setting currently in database.";
    } else {
        // Set up table to display in
        $OUTPUT = "\n\t\t<h3>View Current Settings</h3>\n\t\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=300>\n\t\t<tr><th>Setting Type</th><th>Current Setting</th></tr>";
        // display all settings
        for ($i = 0; $set = pg_fetch_array($rslt); $i++) {
            $OUTPUT .= "<tr class='" . bg_class() . "'><td>{$set['type']}</td><td>{$set['descript']}</td></tr>";
        }
        $OUTPUT .= "</table>";
    }
    $OUTPUT .= "\n\t<p>\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n\t<tr><th>Quick Links</th></tr>\n\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t</table>";
    return $OUTPUT;
}
function confirm($cashid)
{
    global $_GET;
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($cashid, "num", 1, 20, "Invalid Reference number.");
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class=err>" . $e["msg"];
        }
        $confirm .= "<p><input type=button onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    if (isset($_GET["type"]) and $_GET["type"] == "cash") {
        $bou = "cashbook";
    } else {
        $bou = "batch_cashbook";
    }
    // Connect to database
    Db_Connect();
    $sql = "SELECT * FROM {$bou} WHERE cashid = '{$cashid}' AND div = '" . USER_DIV . "'";
    $accntRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database.", SELF);
    $accnt = pg_fetch_array($accntRslt);
    $confirm = "\n\t<center>\n\t<table " . TMPL_tblDflts . " width='300'>\n\t\t<tr>\n\t\t\t<td colspan='2'><h3>Mutliple Debtors</h3></td>\n\t\t</tr>\n\t\t" . TBL_BR . "\n\t\t<tr>\n\t\t\t<th>Customer Name</th>\n\t\t\t<th>Amount</th>\n\t\t</tr>";
    $accids = explode(",", $accnt['multicusnum']);
    $amounts = explode(",", $accnt['multicusamt']);
    foreach ($amounts as $key => $amt) {
        $ci = qryCustomer($accids[$key]);
        $amt = sprint($amt);
        $confirm .= "\n\t\t<tr class='bg-even''>\n\t\t\t<td>{$ci['surname']}, {$ci['cusname']}</td>\n\t\t\t<td>" . CUR . " {$amt}</td>\n\t\t</tr>";
    }
    $confirm .= "<tr><td><br></td></tr>\n\t<tr><td colspan=2 align=center><input type=button value=' [X] Close ' onClick='javascript:window.close();'></td></tr>\n\t</table>";
    return $confirm;
}
function printDepts()
{
    // Connect to database
    Db_Connect();
    // Query server
    $sql = "SELECT * FROM depts ORDER BY dept";
    $Rslt = db_exec($sql) or errDie("ERROR: Unable to view User Departments", SELF);
    // Die with custom error if failed
    if (pg_numrows($Rslt) < 1) {
        $OUTPUT = "No User Departments currently in database.";
    } else {
        // Set up table to display in
        $OUTPUT = "\n\t\t\t<h3>View Current User Departments</h3>\n\t\t\t<table " . TMPL_tblDflts . " width='300'>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>User Department</th>\n\t\t\t\t\t<th colspan='2'>Options</th>\n\t\t\t\t</tr>";
        // display all stock
        for ($i = 0; $dep = pg_fetch_array($Rslt); $i++) {
            $OUTPUT .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td>{$dep['dept']}</td>\n\t\t\t\t\t<td><a href='admin-deptedit.php?deptid={$dep['deptid']}'>Edit</a></td>\n\t\t\t\t\t<td><a href='admin-deptrem.php?deptid={$dep['deptid']}'>Remove</td>\n\t\t\t\t</tr>";
        }
        $OUTPUT .= "</table>";
    }
    $OUTPUT .= "\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='admin-deptadd.php'>Add Department</a></td>\n\t\t\t</tr>\n\t\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t\t</table>";
    // call template to display the info and die
    return $OUTPUT;
}
function printUsers()
{
    // Connect to database
    Db_Connect();
    // Query server
    $sql = "SELECT * FROM users";
    $prnUsrRslt = db_exec($sql) or errDie("ERROR: Unable to view users", SELF);
    // Die with custom error if failed
    $numrows = pg_numrows($prnUsrRslt);
    if ($numrows < 1) {
        $OUTPUT = "No users currently in database.";
    } else {
        // Set up table to display in
        $OUTPUT = "\r\n\t\t<h3>View current users</h3>\r\n\r\n\t\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=300>\r\n\t\t<tr><th>User ID</th><th>User name</th><th colspan=2 class=plain><br></th></tr>\r\n\t\t";
        // display all stock
        for ($i = 0; $i < $numrows; $i++) {
            $myUsr = pg_fetch_array($prnUsrRslt);
            $OUTPUT .= "<tr class='" . bg_class() . "'><td>{$myUsr['userid']}</td><td>{$myUsr['username']}</td><td><a href='admin-usredit.php?username={$myUsr['username']}'>Edit</a></td><td><a href='admin-usrrem.php?username={$myUsr['username']}'>Remove</td></tr>";
        }
        $OUTPUT .= "</table>";
    }
    // call template to display the info and die
    return $OUTPUT;
}
function bank($_POST)
{
    # Get vars
    extract($_POST);
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($cashid, "num", 1, 4, "Invalid Reference number.");
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        $confirm .= "<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    # Get cash book record
    Db_Connect();
    $sql = "SELECT * FROM cashbook WHERE cashid = '{$cashid}' AND div = '" . USER_DIV . "'";
    $accntRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database11.", SELF);
    if (pg_numrows($accntRslt) < 1) {
        $OUTPUT = "<li clss='err'>The entry with reference number, <b>{$cashid}</b> was not found in Cubit.</li>";
        return $OUTPUT;
    }
    $accnt = pg_fetch_array($accntRslt);
    # get hook account number
    core_connect();
    $sql = "SELECT * FROM bankacc WHERE accid = '{$accnt['bankid']}' AND div = '" . USER_DIV . "'";
    $rslt = db_exec($sql) or errDie("Unable to retrieve bank account link from Cubit", SELF);
    # check if link exists
    if (pg_numrows($rslt) < 1) {
        return "<li class='err'> ERROR : The bank account that you selected doesn't appear to have an account linked to it.</li>";
    }
    $bank = pg_fetch_array($rslt);
    # Date
    $sdate = date("Y-m-d");
    # If tis customer payment
    if ($accnt['cusnum'] > 0) {
        db_connect();
        # Get invoice Ids and Amounts
        $invids = explode("|", $accnt['rinvids']);
        $amounts = explode("|", $accnt['amounts']);
        $invprds = explode("|", $accnt['invprds']);
        $rages = explode("|", $accnt['rages']);
        # Return the amount that was surppose to be paid to invoices
        foreach ($invids as $key => $invid) {
            db_connect();
            # Skip all nulls and check existance
            if ($invids[$key] > 0 && ext_ex("invoices", "invid", $invids[$key]) && $invprds[$key] != 0) {
                db_connect();
                $sql = "UPDATE invoices SET balance = (balance + '{$amounts[$key]}'::numeric(13,2)) WHERE invid = '{$invids[$key]}' AND div = '" . USER_DIV . "'";
                $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
            } elseif ($invids[$key] > 0 && ext_ex("nons_invoices", "invid", $invids[$key]) && $invprds[$key] == 0) {
                db_connect();
                $sql = "UPDATE nons_invoices SET balance = (balance + '{$amounts[$key]}'::numeric(13,2)) WHERE invid = '{$invids[$key]}' AND div = '" . USER_DIV . "'";
                $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
                custDTA($amounts[$key], $accnt['cusnum'], $rages[$key]);
            } elseif ($invids[$key] > 0) {
                db_conn($invprds[$key]);
                # check if invoice exitsts on prd
                if (ext_ex("invoices", "invid", $invids[$key])) {
                    # if found, Move the invoice back
                    if (moveback($invids[$key], $invprds[$key], $amounts[$key])) {
                    }
                }
            }
        }
        # Begin updates
        pglib_transaction("BEGIN") or errDie("Unable to start a database transaction.", SELF);
        db_connect();
        # Update the customer (make balance more)
        $sql = "UPDATE customers SET balance = (balance + '{$accnt['amount']}'::numeric(13,2)) WHERE cusnum = '{$accnt['cusnum']}' AND div = '" . USER_DIV . "'";
        $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit1.", SELF);
        # Record the transaction on the statement
        $sql = "\n\t\t\t\tINSERT INTO stmnt \n\t\t\t\t\t(cusnum, invid, amount, date, type, div, allocation_date) \n\t\t\t\tVALUES('{$accnt['cusnum']}', '0', '{$accnt['amount']}','{$sdate}', 'Cheque/Payment for Invoices Cancelled.', '" . USER_DIV . "', '{$accnt['date']}')";
        $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
        # Delete cashbook ID
        $sql = "DELETE FROM cashbook WHERE cashid='{$cashid}' AND div = '" . USER_DIV . "'";
        $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
        if ($accnt['lcashid'] > 0) {
            // Connect to database
            db_Connect();
            $sql = "SELECT * FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
            $laccntRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database.2", SELF);
            $laccnt = pg_fetch_array($laccntRslt);
            $sql = "UPDATE bankacct SET fbalance = (fbalance + '{$laccnt['famount']}'::numeric(13,2)), balance = (balance + '{$laccnt['amount']}'::numeric(13,2)) WHERE bankid = '{$laccnt['bankid']}'";
            $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit2.", SELF);
            # Delete cashbook ID
            $sql = "DELETE FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
            $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
        }
        # Commit updates
        pglib_transaction("COMMIT") or errDie("Unable to commit a database transaction.", SELF);
        # Make ledge record
        custledger($accnt['cusnum'], $bank['accnum'], $sdate, "cancel", "Payment for Invoices Cancelled.", $accnt['amount'], "d");
        $descript = $accnt['descript'] . " Cancelled";
        $refnum = getrefnum();
        $date = date("Y-m-d");
        # debit customer account, credit bank account (customer takes money back)
        writetrans($accnt['accinv'], $bank['accnum'], $date, $refnum, $accnt['amount'], $descript);
    } elseif ($accnt['supid'] > 0) {
        db_connect();
        # Begin updates
        pglib_transaction("BEGIN") or errDie("Unable to start a database transaction.", SELF);
        $ids = explode("|", $accnt['ids']);
        $purids = explode("|", $accnt['purids']);
        $pamounts = explode("|", $accnt['pamounts']);
        $pdates = explode("|", $accnt['pdates']);
        if (count($ids) > 0) {
            foreach ($ids as $key => $vale) {
                if ($ids[$key] > 0) {
                    rerecord($ids[$key], $accnt['supid'], $purids[$key], $pamounts[$key], $pdates[$key]);
                }
            }
        }
        # if the amount was overpaid
        if (array_sum($pamounts) < $accnt['amount']) {
            # get and record amount that was overpaid to balance the equation
            $rem = $accnt['amount'] - array_sum($pamounts);
            rerecord('0', $accnt['supid'], '0', $rem, $accnt['date']);
        }
        # Update the supplier (make balance more)
        $sql = "UPDATE suppliers SET balance = (balance + '{$accnt['amount']}'::numeric(13,2)) WHERE supid = '{$accnt['supid']}' AND div = '" . USER_DIV . "'";
        $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit3.", SELF);
        # Record the payment on the statement
        $sql = "INSERT INTO sup_stmnt(supid, edate, cacc, ref, descript, amount, div) VALUES('{$accnt['supid']}', '{$sdate}', '{$bank['accnum']}', '{$accnt['cheqnum']}', 'Cheque/Payment to Supplier Cancelled.', '{$accnt['amount']}', '" . USER_DIV . "')";
        $stmntRslt = db_exec($sql) or errDie("Unable to Insert statement record in Cubit.", SELF);
        # Delete cashbook ID
        $sql = "DELETE FROM cashbook WHERE cashid='{$cashid}' AND div = '" . USER_DIV . "'";
        $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
        if ($accnt['lcashid'] > 0) {
            // Connect to database
            db_Connect();
            $sql = "SELECT * FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
            $laccntRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database3.", SELF);
            $laccnt = pg_fetch_array($laccntRslt);
            $sql = "UPDATE bankacct SET fbalance = (fbalance + '{$laccnt['famount']}'::numeric(13,2)), balance = (balance + '{$laccnt['amount']}'::numeric(13,2)) WHERE bankid = '{$laccnt['bankid']}'";
            $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit.4", SELF);
            # Delete cashbook ID
            $sql = "DELETE FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
            $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
        }
        # Commit updates
        pglib_transaction("COMMIT") or errDie("Unable to commit a database transaction.", SELF);
        suppledger($accnt['supid'], $bank['accnum'], $sdate, $accnt['cheqnum'], "Payment to Supplier Cancelled", $accnt['amount'], "c");
        db_connect();
        $descript = $accnt['descript'] . " Cancelled";
        $refnum = getrefnum();
        $date = date("Y-m-d");
        # debit bank, credit supplier account
        writetrans($bank['accnum'], $accnt['accinv'], $date, $refnum, $accnt['amount'], $descript);
    } elseif ($accnt['suprec'] > 0) {
        db_connect();
        $Sl = "INSERT INTO sup_stmnt(supid, amount, edate, descript,ref,cacc, div) VALUES('{$accnt['suprec']}','-{$accnt['amount']}','{$accnt['date']}', 'Receipt Returned','{$accnt['cheqnum']}','0', '" . USER_DIV . "')";
        $Rs = db_exec($Sl) or errDie("Unable to insert statement record in Cubit.", SELF);
        # Update the supplier (make balance less)
        $sql = "UPDATE suppliers SET balance = (balance - '{$accnt['amount']}'::numeric(13,2)) WHERE supid = '{$accnt['suprec']}' AND div = '" . USER_DIV . "'";
        $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit.5", SELF);
        suppDT($accnt['amount'], $accnt['suprec']);
        db_connect();
        # Delete cashbook ID
        $sql = "DELETE FROM cashbook WHERE cashid='{$cashid}' AND div = '" . USER_DIV . "'";
        $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
        if ($accnt['lcashid'] > 0) {
            # Delete cashbook ID
            $sql = "DELETE FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
            $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
        }
        $descript = $accnt['descript'] . " Cancelled";
        $refnum = getrefnum();
        $date = date("Y-m-d");
        # debit bank, credit supplier account
        writetrans($bank['accnum'], $accnt['accinv'], $date, $refnum, $accnt['amount'], $descript);
    } elseif (strlen($accnt['accids']) > 0) {
        /* -- Start Hooks -- */
        $vatacc = gethook("accnum", "salesacc", "name", "VAT");
        /* -- End Hooks -- */
        multican($accnt, $bank, $vatacc);
    } else {
        $amount = $accnt['amount'];
        $vat = $accnt['vat'];
        $chrgvat = $accnt['chrgvat'];
        $amount -= $vat;
        /* -- Start Hooks -- */
        $vatacc = gethook("accnum", "salesacc", "name", "VAT");
        /* -- End Hooks -- */
        db_connect();
        # Delete cashbook ID
        $sql = "DELETE FROM cashbook WHERE cashid = '{$cashid}' AND div = '" . USER_DIV . "'";
        $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
        if ($accnt['trantype'] == "deposit") {
            $sql = "UPDATE bankacct SET fbalance = (fbalance - '{$accnt['famount']}'::numeric(13,2)), balance = (balance - '{$accnt['amount']}'::numeric(13,2)) WHERE bankid = '{$accnt['bankid']}'";
            $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit.5", SELF);
        } else {
            $sql = "UPDATE bankacct SET fbalance = (fbalance + '{$accnt['famount']}'::numeric(13,2)), balance = (balance + '{$accnt['amount']}'::numeric(13,2)) WHERE bankid = '{$accnt['bankid']}'";
            $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit.6", SELF);
        }
        /* ---- the Others ---- */
        if ($accnt['lcashid'] > 0) {
            //Connect to database
            db_Connect();
            $sql = "SELECT * FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
            $laccntRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database.4", SELF);
            $laccnt = pg_fetch_array($laccntRslt);
            if ($laccnt['trantype'] == "deposit") {
                $sql = "UPDATE bankacct SET fbalance = (fbalance - '{$laccnt['famount']}'::numeric(13,2)), balance = (balance - '{$laccnt['amount']}'::numeric(13,2)) WHERE bankid = '{$laccnt['bankid']}'";
                $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit.7", SELF);
            } else {
                $sql = "UPDATE bankacct SET fbalance = (fbalance + '{$laccnt['famount']}'::numeric(13,2)), balance = (balance + '{$laccnt['amount']}'::numeric(13,2)) WHERE bankid = '{$laccnt['bankid']}'";
                $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit.8", SELF);
            }
            # Delete cashbook ID
            $sql = "DELETE FROM cashbook WHERE cashid = '{$accnt['lcashid']}' AND div = '" . USER_DIV . "'";
            $Rslt = db_exec($sql) or errDie("Unable to cancel cheque.", SELF);
            /* ---- End the Others ---- */
        }
        $descript = $accnt['descript'] . " Cancelled";
        $refnum = getrefnum();
        $date = date("Y-m-d");
        if ($accnt['trantype'] == "deposit") {
            # DT(account involved), CT(bank)
            writetrans($accnt['accinv'], $bank['accnum'], $date, $refnum, $amount, $descript);
            if ($vat != 0) {
                # DT(Vat), CT(Bank)
                writetrans($vatacc, $bank['accnum'], $date, $refnum, $vat, $descript);
            }
            $cc_trantype = cc_TranTypeAcc($accnt['accinv'], $bank['accnum']);
        } else {
            # DT(bank), CT(account invoilved)
            writetrans($bank['accnum'], $accnt['accinv'], $date, $refnum, $amount, $descript);
            if ($vat != 0) {
                # DT(Vat), CT(Bank)
                writetrans($bank['accnum'], $vatacc, $date, $refnum, $vat, $descript);
            }
            $cc_trantype = cc_TranTypeAcc($bank['accnum'], $accnt['accinv']);
        }
    }
    if (isset($cc_trantype) && $cc_trantype != false) {
        $cc = "<script> CostCenter('{$cc_trantype}', 'Cancelled Bank Transaction', '{$date}', '{$descript}', '" . ($accnt['amount'] - $accnt['vat']) . "', '../'); </script>";
    } else {
        $cc = "";
    }
    # Status report
    $bank = "\n\t\t\t\t{$cc}\n\t\t\t\t<table " . TMPL_tblDflts . " width='100%'>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Cash Book</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr class='datacell'>\n\t\t\t\t\t\t<td>Cash Book Entry was successfully canceled .</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</table>";
    # Main table (layout with menu)
    $OUTPUT = "\n\t\t\t\t<center>\n\t\t\t\t<table width='90%'>\n\t\t\t\t\t<tr valign='top'>\n\t\t\t\t\t\t<td width='60%'>{$bank}</td>\n\t\t\t\t\t\t<td align='center'>\n\t\t\t\t\t\t\t<table " . TMPL_tblDflts . " width='80%'>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<th>Quick Navigation</th>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr class='datacell'>\n\t\t\t\t\t\t\t\t\t<td align='center'><a href='cashbook-view.php'>View Cash Book</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr class='datacell'>\n\t\t\t\t\t\t\t\t\t<td align='center'><a href='../reporting/not-banked.php'>View Outstanding Cash Book Entries</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr class='datacell'>\n\t\t\t\t\t\t\t\t\t<td align='center'><a href='bank-pay-add.php'>Add bank Payment</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t<tr class='datacell'>\n\t\t\t\t\t\t\t\t\t<td align='center'><a href='bank-recpt-add.php'>Add Bank Receipt</td>\n\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</table>";
    return $OUTPUT;
}
function printSet()
{
    // Connect to database
    Db_Connect();
    // Query server
    $sql = "SELECT * FROM set WHERE label = 'INT_TYPE'";
    $rslt = db_exec($sql) or errDie("ERROR: Unable to view settings", SELF);
    // Die with custom error if failed
    if (pg_numrows($rslt) < 1) {
        $OUTPUT = "<li class='err'> No Setting currently in database.";
    } else {
        // Set up table to display in
        $OUTPUT = "\n\t\t\t<h3>Settings</h3>\n\t\t\t<table " . TMPL_tblDflts . " width='300'>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Setting Type</th>\n\t\t\t\t\t<th>Current Setting</th>\n\t\t\t\t</tr>";
        $set = pg_fetch_array($rslt);
        $OUTPUT .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td>{$set['type']}</td>\n\t\t\t\t\t<td>{$set['descript']}</td>\n\t\t\t\t</tr>\n\t\t\t</table>";
    }
    $OUTPUT .= "\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<script>document.write(getQuicklinkSpecial());</script>\n\t\t</table>";
    return $OUTPUT;
}
function editAccnt($bankid)
{
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($bankid, "num", 1, 4, "Invalid Bank Account ID.");
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class=err>" . $e["msg"];
        }
        $confirm .= "<p><input type=button onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    // Connect to database
    Db_Connect();
    $sql = "SELECT * FROM bankacct WHERE bankid='{$bankid}' AND div = '" . USER_DIV . "'";
    $bankRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve bank account details from database.", SELF);
    $numrows = pg_numrows($bankRslt);
    if ($numrows < 1) {
        $OUTPUT = "<li> - Invalid Bank account ID.";
        return $OUTPUT;
    }
    $accnt = pg_fetch_array($bankRslt);
    if (strlen($accnt['accname']) < 20) {
        $size = 20;
    } else {
        $size = strlen($accnt['accname']);
    }
    // Get Bank account [the traditional way re: hook of hook]
    core_connect();
    $sql = "SELECT * FROM bankacc WHERE accid = '{$bankid}' AND div = '" . USER_DIV . "'";
    $Rslt = db_exec($sql) or errDie("Unable to retrieve bank account link from Cubit", SELF);
    # check if link exists
    if (pg_numrows($Rslt) < 1) {
        return "<li class=err> ERROR : The bank account that you selected doesn't appear to have an account linked to it.";
    }
    $bank = pg_fetch_array($Rslt);
    $bankaccid = $bank["accnum"];
    # Check account balance
    $sql = "SELECT * FROM trial_bal WHERE period='" . PRD_DB . "' AND accid = '{$bankaccid}' AND debit > 0 OR accid = '{$bankaccid}' AND credit > 0";
    $accRslt = db_exec($sql);
    if (pg_numrows($accRslt) > 0) {
        $acc = pg_fetch_array($accRslt);
        $account = "<input type=hidden name='glacc' value='{$acc['accid']}'>{$acc['accname']}";
    } else {
        core_connect();
        # income accounts ($inc)
        $account = "<select name='glacc'>";
        $sql = "SELECT * FROM accounts WHERE acctype ='B'";
        $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.";
        }
        while ($acc = pg_fetch_array($accRslt)) {
            if ($acc['accid'] == $bankaccid) {
                $sal = "selected";
            } else {
                $sal = "";
            }
            $account .= "<option value='{$acc['accid']}' {$sal}>{$acc['accname']}</option>";
        }
        $account .= "</select>";
    }
    $cardname = "";
    $chm = "";
    $chv = "";
    $cho = "";
    if ($accnt['cardtype'] == 'Visa') {
        $chv = "checked=yes";
    } elseif ($accnt['cardtype'] == 'Mastercard') {
        $chm = "checked=yes";
    } else {
        $cho = "checked=yes";
        $cardname = $accnt['cardtype'];
    }
    db_connect();
    # Locations drop down
    $locs = array("loc" => "Local", "int" => "International");
    $locsel = extlib_cpsel("loc", $locs, $accnt['btype']);
    # currency drop down
    $currsel = ext_unddbsel("fcid", "currency", "fcid", "descrip", "There are is no currency found in Cubit, please add currency first.", $accnt['fcid']);
    // Set up table to display in
    $OUTPUT = "\n\t<h3>Edit Bank 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<input type=hidden name=bankid value={$bankid}>\n\t<tr><th>Field</th><th>Value</th></tr>\n\t<tr class='bg-odd'><td>Type of Account</td><td valign=center><input type=hidden size=20 name=acctype value='{$accnt['acctype']}'>{$accnt['acctype']}</td></tr>\n\t<tr class='bg-even'><td>Bank Name</td><td valign=center><input type=text size=20 name=bankname value='{$accnt['bankname']}'></td></tr>\n\t<tr class='bg-odd'><td>Type</td><td>{$locsel}</td></tr>\n\t<tr class='bg-even'><td>Currency</td><td>{$currsel}</td></tr>\n\t<tr class='bg-odd'><td>Branch Name</td><td valign=center><input type=text size=20 name=branchname value='{$accnt['branchname']}'></td></tr>\n\t<tr class='bg-even'><td>Branch Code</td><td valign=center><input type=text size=20 name=branchcode value='{$accnt['branchcode']}'></td></tr>\n\t<tr class='bg-odd'><td>Account Name</td><td valign=center><input type=text size='{$size}' name=accname  value='{$accnt['accname']}'></td></tr>\n\t<tr class='bg-even'><td>Account Number</td><td valign=center><input type=text name=accnum  value='{$accnt['accnum']}'></td></tr>\n\t<tr class='bg-odd'><td>Ledger Account</td><td valign=center>{$account}</td></tr>\n\t<tr class='bg-even'><td>Card Number</td><td ><input type=text size=25 name=cardnum maxlength=16 value='{$accnt['cardnum']}'></td></tr>\n\t<tr class='bg-odd'><td>Expiry Date</td><td><input type=text size=2 name=mon maxlength=2 value='{$accnt['mon']}'>-<input type=text size=4 name=year maxlength=4 value='{$accnt['year']}'>MM-YYYY</td></tr>\n\t<tr class='bg-even'><td>Last 3 Digits at back of Card</td><td ><input type=text size=3 maxlength=3 name=lastdigits value='{$accnt['digits']}'></td></tr>\n\t<tr class='bg-odd'><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-even'><td>Details</td><td valign=center><textarea cols=20 rows=5 name=details>{$accnt['details']}</textarea></td></tr>\n\t<tr><td><input type=button value='< Cancel' onClick='javascript:history.back();'></td><td valign=center><input type=submit value='Confirm >'></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\t<tr><th>Quick Links</th></tr>\n\t\t<tr class='bg-odd'><td><a href='bankacct-view.php'>View Bank Accounts</a></td></tr>\n\t\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t</table>";
    require "../template.php";
}
function copyEntry($cashid)
{
    # Get cash book record
    Db_Connect();
    $sql = "SELECT * FROM cashbook WHERE cashid = '{$cashid}' AND div = '" . USER_DIV . "'";
    $accntRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database11.", SELF);
    $accnt_cp = pg_fetch_array($accntRslt);
    if ($accnt_cp['trantype'] == "deposit") {
        $trantype = "withdrawal";
    } else {
        $trantype = "deposit";
    }
    $sql = "\n\t\tINSERT INTO cashbook (\n\t\t\ttrantype, bankid, date, name, descript, \n\t\t\tcheqnum, amount, banked, accinv, lnk, supid, \n\t\t\tcusnum, rinvids, amounts, invprds, ids, purids, \n\t\t\tpamounts, pdates, div, accids, suprec, vat, \n\t\t\tchrgvat, vats, chrgvats, rages, famount, \n\t\t\tfpamounts, famounts, lcashid, fcid, \n\t\t\tcurrency, location, opt\n\t\t) VALUES (\n\t\t\t'{$trantype}', '{$accnt_cp['bankid']}', '{$accnt_cp['date']}', '{$accnt_cp['name']}', '{$accnt_cp['descript']} Returned, Unpaid', \n\t\t\t'{$accnt_cp['cheqnum']}', '{$accnt_cp['amount']}', '{$accnt_cp['banked']}', '{$accnt_cp['accinv']}', '{$accnt_cp['lnk']}', '{$accnt_cp['supid']}', \n\t\t\t'{$accnt_cp['cusnum']}', '{$accnt_cp['rinvids']}', '{$accnt_cp['amounts']}', '{$accnt_cp['invprds']}', '{$accnt_cp['ids']}', '{$accnt_cp['purids']}', \n\t\t\t'{$accnt_cp['pamounts']}', '{$accnt_cp['pdates']}', '{$accnt_cp['div']}', '{$accnt_cp['accids']}', '{$accnt_cp['suprec']}', '{$accnt_cp['vat']}', \n\t\t\t'{$accnt_cp['chrgvat']}', '{$accnt_cp['vats']}', '{$accnt_cp['chrgvats']}', '{$accnt_cp['rages']}', '{$accnt_cp['famount']}', \n\t\t\t'{$accnt_cp['fpamounts']}', '{$accnt_cp['famounts']}', '{$accnt_cp['lcashid']}', '{$accnt_cp['fcid']}', \n\t\t\t'{$accnt_cp['currency']}', '{$accnt_cp['location']}', 'n'\n\t\t)";
    $accntRslt = db_exec($sql) or errDie("ERROR: Unable to insert cashbook entry details to database11.", SELF);
}
function bank($_POST)
{
    //processes
    db_connect();
    # get vars
    extract($_POST);
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($cashid, "num", 1, 4, "Invalid Reference number.");
    $v->isOk($day, "num", 1, 2, "Invalid Date day.");
    $v->isOk($mon, "num", 1, 2, "Invalid Date month.");
    $v->isOk($year, "num", 1, 4, "Invalid Date Year.");
    $date = $day . "-" . $mon . "-" . $year;
    if (!checkdate($mon, $day, $year)) {
        $v->isOk($date, "num", 1, 1, "Invalid date.");
    }
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        $confirm .= "<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    // Connect to database
    Db_Connect();
    $sql = "SELECT * FROM cashbook WHERE cashid = '{$cashid}'";
    $cashRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database.", SELF);
    if (pg_numrows($cashRslt) < 1) {
        $OUTPUT = "<li clss='err'>The cashbook record with reference number, <b>{$cashid}</b> was not found in Cubit.</li>";
        return $OUTPUT;
    }
    $cash = pg_fetch_array($cashRslt);
    # get hook account number
    core_connect();
    $sql = "SELECT * FROM bankacc WHERE accid = '{$cash['bankid']}'";
    $rslt = db_exec($sql) or errDie("Unable to retrieve bank account link from Cubit", SELF);
    # check if link exists
    if (pg_numrows($rslt) < 1) {
        return "<li class='err'> ERROR : The bank account that you selected doesn't appear to have an account linked to it.</li>";
    }
    $banklnk = pg_fetch_array($rslt);
    # date format
    $date = explode("-", $date);
    $date = $date[2] . "-" . $date[1] . "-" . $date[0];
    # write the transaction
    if ($cash['trantype'] == "deposit") {
        # debit bank and credit the account involved
        writetrans($banklnk['accnum'], $cash['accinv'], $date, $refnum, $cash['amount'], $cash['descript']);
    } else {
        # credit bank and debit the account involved
        writetrans($cash['accinv'], $banklnk['accnum'], $date, $refnum, $cash['amount'], $cash['descript']);
    }
    # set records as banked
    db_connect();
    $sql = "UPDATE cashbook SET banked = 'yes' WHERE cashid='{$cashid}'";
    $Rslt = db_exec($sql) or errDie("Unable to set bank deposit as banked in Cubit.", SELF);
    # status report
    $bank = "\r\n\t\t\t\t<table " . TMPL_tblDflts . " width='100%'>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<th>Cash Book</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t\t<tr class='datacell'>\r\n\t\t\t\t\t\t<td>Cash Book Entry was successfully processed.</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>";
    # main table (layout with menu)
    $OUTPUT = "\r\n\t\t\t\t\t<center>\r\n\t\t\t\t\t<table width='90%'>\r\n\t\t\t\t\t\t<tr valign='top'>\r\n\t\t\t\t\t\t\t<td width='60%'>{$bank}</td>\r\n\t\t\t\t\t\t\t<td align='center'>\r\n\t\t\t\t\t\t\t\t<table " . TMPL_tblDflts . " width='80%'>\r\n\t\t\t\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t\t\t\t<th>Quick Navigation</th>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t<tr class='datacell'>\r\n\t\t\t\t\t\t\t\t\t\t<td align='center'><a href='cashbook-view.php'>View Cash Book</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t<script>document.write(getQuicklinkSpecial());</script>\r\n\t\t\t\t\t\t\t\t\t<tr class='datacell'>\r\n\t\t\t\t\t\t\t\t\t\t<td align='center'><a href='../reporting/not-banked.php'>View Outstanding Cash Book Entries</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t<tr class='datacell'>\r\n\t\t\t\t\t\t\t\t\t\t<td align='center'><a href='bank-pay-add.php'>Add bank Payment</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t\t<tr class='datacell'>\r\n\t\t\t\t\t\t\t\t\t\t<td align='center'><a href='bank-recpt-add.php'>Add Bank Receipt</td>\r\n\t\t\t\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t\t\t</table>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>";
    return $OUTPUT;
}
function rem($_POST)
{
    # Get vars
    extract($_POST);
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($deptid, "num", 1, 50, "Invalid User Department ID.");
    # display errors, if any
    if ($v->isError()) {
        $theseErrors = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $theseErrors .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        $theseErrors .= "<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $theseErrors;
    }
    // Connect to database
    Db_Connect();
    // Query server
    $sql = "SELECT * FROM depts WHERE deptid = '{$deptid}'";
    $depRslt = db_exec($sql) or errDie("ERROR: Unable to department.", SELF);
    if (pg_numrows($depRslt) < 1) {
        return "<li> - Invalid User Department ID";
    }
    $dep = pg_fetch_array($depRslt);
    // Query server
    $sql = "DELETE FROM depts WHERE deptid = '{$deptid}'";
    $RemRslt = db_exec($sql) or errDie("ERROR: Unable to delete department: {$dep['dept']}", SELF);
    // Die with custom error if failed
    // Remove department access
    $sql = "DELETE FROM deptscripts WHERE dept = '{$deptid}'";
    $Rslt = db_exec($sql) or errDie("ERROR: Unable to delete access for User Department : {$dep['depts']}", SELF);
    // Provide some info on status
    $OUTPUT = "\n\t\t<table " . TMPL_tblDflts . " width='50%'>\n\t\t\t<tr>\n\t\t\t\t<th>User Department deleted from database</th>\n\t\t\t</tr>\n\t\t\t<tr class='datacell'>\n\t\t\t\t<td>User Department <b>{$dep['dept']}</b>, was successfully deleted.</td>\n\t\t\t</tr>\n\t\t</table>\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<script>document.write(getQuicklinkSpecial());</script>\n\t\t</table>";
    return $OUTPUT;
}
function remUser($username)
{
    $username = substr($username, 0, 255);
    // Chop off anything after 10 chars
    // check content of variable
    if (preg_match("/[^\\w\\s]/", $username)) {
        // Alphanum & space chars, 4-10
        $OUTPUT = "Invalid user name.";
    } else {
        // Connect to database
        Db_Connect();
        // Query server
        $sql = "DELETE FROM users WHERE username='******'";
        $RemRslt = db_exec($sql) or errDie("ERROR: Unable to delete user: {$username}", SELF);
        // Die with custom error if failed
        if (pg_cmdtuples($RemRslt) < 1) {
            return "Failed to delete user.";
        }
        // remove user access
        $sql = "DELETE FROM userscripts WHERE username='******'";
        $Rslt = db_exec($sql) or errDie("ERROR: Unable to delete access for user: {$username}", SELF);
        // Provide some info on status
        $OUTPUT = "\n\t\t\t<table " . TMPL_tblDflts . " width='50%'>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>User deleted from database</th>\n\t\t\t\t</tr>\n\t\t\t\t<tr class='datacell'>\n\t\t\t\t\t<td>User, '{$username}', was successfully deleted.</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t\t<table " . TMPL_tblDflts . ">\n\t\t        <tr>\n\t\t        \t<th>Quick Links</th>\n\t\t        </tr>\n\t\t        <script>document.write(getQuicklinkSpecial());</script>\n\t        </table>";
    }
    return $OUTPUT;
}
function bank($_POST)
{
    //processes
    db_connect();
    # get var ( bank[] )
    foreach ($_POST as $key => $value) {
        ${$key} = $value;
    }
    # validate input
    require_lib("validate");
    $v = new validate();
    foreach ($bank as $key => $value) {
        $v->isOk($refnum[$key], "num", 1, 10, "Invalid Reference number.");
        $v->isOk($day[$key], "num", 1, 2, "Invalid Date day.");
        $v->isOk($mon[$key], "num", 1, 2, "Invalid Date month.");
        $v->isOk($year[$key], "num", 1, 4, "Invalid Date Year.");
        $date[$key] = $day[$key] . "-" . $mon[$key] . "-" . $year[$key];
        if (!checkdate($mon[$key], $day[$key], $year[$key])) {
            $v->isOk($date[$key], "num", 1, 1, "Invalid date.");
        }
    }
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class=err>" . $e["msg"];
        }
        $confirm .= "<p><input type=button onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    # status for each deposit
    $status = "";
    # get deposits info
    foreach ($bank as $key => $cashid) {
        // Connect to database
        Db_Connect();
        $sql = "SELECT * FROM cashbook WHERE cashid = '{$cashid}'";
        $cashRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve cashbook entry details from database.", SELF);
        if (pg_numrows($cashRslt) < 1) {
            $OUTPUT = "<li clss=err>The cashbook record with reference number, <b>{$cashid}</b> was not found in Cubit.";
            return $OUTPUT;
        }
        $cash = pg_fetch_array($cashRslt);
        # get hook account number
        core_connect();
        $sql = "SELECT * FROM bankacc WHERE accid = '{$cash['bankid']}'";
        $rslt = db_exec($sql) or errDie("Unable to retrieve bank account link from Cubit", SELF);
        # check if link exists
        if (pg_numrows($rslt) < 1) {
            return "<li class=err> ERROR : The bank account that you selected doesn't appear to have an account linked to it.";
        }
        $banklnk = pg_fetch_array($rslt);
        # date format
        $date[$key] = explode("-", $date[$key]);
        $date[$key] = $date[$key][2] . "-" . $date[$key][1] . "-" . $date[$key][0];
        # write the transaction
        if ($cash['trantype'] == "deposit") {
            # debit bank and credit the account involved
            writetrans($banklnk['accnum'], $cash['accinv'], $date[$key], $refnum[$key], $cash['amount'], $cash['descript']);
        } else {
            # credit bank and debit the account involved
            writetrans($cash['accinv'], $banklnk['accnum'], $date[$key], $refnum[$key], $cash['amount'], $cash['descript']);
        }
        # set records as banked
        db_connect();
        $sql = "UPDATE cashbook SET banked = 'yes' WHERE cashid='{$cashid}'";
        $Rslt = db_exec($sql) or errDie("Unable to set bank deposit as banked in Cubit.", SELF);
        //status
        $status .= "<tr class=datacell><td>Cash book entry <b>&nbsp;&nbsp;:&nbsp;&nbsp; {$cash['descript']}  - &nbsp;&nbsp;R {$cash['amount']}</b></td></tr>";
    }
    # status report
    $banked = "\r\n        <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width='100%'>\r\n        <tr><th>Cash deposit/transfer record Banked</th></tr>\r\n        {$status}\r\n        </table>";
    # main table (layout with menu)
    $OUTPUT = "<center>\r\n        <table width = 90%>\r\n        <tr valign=top><td width=60%>{$banked}</td>\r\n        <td align=center>\r\n        <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=80%>\r\n        <tr><th>Quick Nevigation</th></tr>\r\n        <tr class=datacell><td align=center><a href='deposit-view.php'>Bank Another Deposit</td></tr>\r\n        <tr class=datacell><td align=center><a href='cheq-new.php'>Add Cheque Record</td></tr>\r\n        <tr class=datacell><td align=center><a href='cheq-view.php'>View Cheque Records</td></tr>\r\n        <tr class=datacell><td align=center><a href='deposit-new.php'>Add Deposit Records</td></tr>\r\n        <tr class=datacell><td align=center><a href='deposit-view.php'>View Deposit Records</td></tr>\r\n        </table>\r\n        </td></tr></table>";
    return $OUTPUT;
}
Esempio n. 16
0
function printSet()
{
    // Connect to database
    Db_Connect();
    // Query server
    $sql = "SELECT * FROM set WHERE label = 'ACCNEW_LNK'";
    $rslt = db_exec($sql) or errDie("ERROR: Unable to view settings", SELF);
    // Die with custom error if failed
    if (pg_numrows($rslt) < 1) {
        $OUTPUT = "<li class='err'> No Setting currently in database.</li>";
    } else {
        $set = pg_fetch_array($rslt);
        // Set up table to display in
        $OUTPUT = "\n\t\t\t\t\t<h3><li class='err'>Error</li></h3>\n\t\t\t\t\t<table " . TMPL_tblDflts . " width='300'>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>Setting Type</th>\n\t\t\t\t\t\t\t<th>Current Setting</th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t\t<td colspan='2'>Cubit Account creation is already set to {$set['descript']}, the quick setup cannot be used for this setting</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</table>";
    }
    $OUTPUT .= "\n\t\t\t\t<p>\n\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Quick Links</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t\t\t\t</table>";
    return $OUTPUT;
}
function editAccnt($bankid)
{
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($bankid, "num", 1, 4, "Invalid Bank Account ID.");
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        $confirm .= "<p><input type='button' onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    // Connect to database
    Db_Connect();
    $sql = "SELECT * FROM bankacct WHERE bankid='{$bankid}' AND div = '" . USER_DIV . "'";
    $bankRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve bank account details from database.", SELF);
    $numrows = pg_numrows($bankRslt);
    if ($numrows < 1) {
        $OUTPUT = "<li> - Invalid Bank account ID.";
        return $OUTPUT;
    }
    global $_POST;
    extract($_POST);
    $accnt = pg_fetch_array($bankRslt);
    if (isset($accname)) {
        $accnt['accname'] = $accname;
        $accnt['acctype'] = $acctype;
        $accnt['bankname'] = $bankname;
        $accnt['branchname'] = $branchname;
        $accnt['branchcode'] = $branchcode;
        $accnt['accnum'] = $accnum;
        $accnt['details'] = $details;
        $accnt['btype'] = $loc;
    }
    if (strlen($accnt['accname']) < 20) {
        $size = 20;
    } else {
        $size = strlen($accnt['accname']);
    }
    // Get Bank account [the traditional way re: hook of hook]
    core_connect();
    $sql = "SELECT * FROM bankacc WHERE accid = '{$bankid}' AND div = '" . USER_DIV . "'";
    $Rslt = db_exec($sql) or errDie("Unable to retrieve bank account link from Cubit", SELF);
    # check if link exists
    if (pg_numrows($Rslt) < 1) {
        return "<li class='err'> ERROR : The bank account that you selected doesn't appear to have an account linked to it.";
    }
    $bank = pg_fetch_array($Rslt);
    $bankaccid = $bank["accnum"];
    # Check account balance
    $sql = "SELECT * FROM trial_bal WHERE period='" . PRD_DB . "' AND accid = '{$bankaccid}' AND debit > 0 OR accid = '{$bankaccid}' AND credit > 0";
    $accRslt = db_exec($sql);
    if (pg_numrows($accRslt) > 0) {
        $acc = pg_fetch_array($accRslt);
        $account = "<input type='hidden' name='glacc' value='{$acc['accid']}'>{$acc['accname']}";
    } else {
        core_connect();
        # income accounts ($inc)
        $account = "<select name='glacc'>";
        $sql = "SELECT * FROM accounts WHERE acctype ='B' 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 (isb($acc['accid'])) {
                continue;
            }
            if ($acc['accid'] == $bankaccid) {
                $sal = "selected";
            } else {
                $sal = "";
            }
            $account .= "<option value='{$acc['accid']}' {$sal}>{$acc['accname']}</option>";
        }
        $account .= "</select>";
    }
    db_connect();
    # Locations drop down
    $locs = array("loc" => "Local", "int" => "International");
    $locsel = extlib_cpsel("loc", $locs, $accnt['btype']);
    # currency drop down
    $currsel = ext_unddbsel("fcid", "currency", "fcid", "descrip", "There are is no currency found in Cubit, please add currency first.", $accnt['fcid']);
    // Set up table to display in
    $OUTPUT = "\n\t\t<h3>Edit Bank 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<input type='hidden' name='bankid' value='{$bankid}'>\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>Type of Account</td>\n\t\t\t\t<td valign='center'><input type='text' size='20' name='acctype' value='{$accnt['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 valign='center'><input type='text' size='20' name='bankname' value='{$accnt['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>{$locsel}</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>{$currsel}</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 valign='center'><input type='text' size='20' name='branchname' value='{$accnt['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 valign='center'><input type='text' size='20' name='branchcode' value='{$accnt['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 valign='center'><input type='text' size='{$size}' name='accname'  value='{$accnt['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 valign='center'><input type='text' name='accnum'  value='{$accnt['accnum']}'></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Ledger Account</td>\n\t\t\t\t<td valign='center'>{$account}</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 valign='center'><textarea cols='20' rows='5' name='details'>{$accnt['details']}</textarea></td></tr>\n\t\t\t<tr>\n\t\t\t\t<td></td>\n\t\t\t\t<td valign='center' align='right'><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='bankacct-view.php'>View Bank Accounts</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 $OUTPUT;
}
<?php

#This program is copyright by Andre Coetzee email: ac@main.me
#and is licensed under the GPL v3
#
#
#
#
#Please add yourself to: http://www.accounting-123.com
#Developers, Software Vendors, Support, Accountants, Users
#
#
#The full software license can be found here:
#http://www.accounting-123.com/a.php?a=153/GPLv3
#
#
#
#
#
#
#
#
#
#
#
require "settings.php";
Db_Connect();
$OUTPUT = "<center><h3>Quotes</h3>\r\n\t<table border=0 cellspacing=0 cellpadding=7 width='90%' align=center>\r\n\t<tr>\r\n\t\t<td valign=top align=center width='20%'><a href=pos-quote-new.php target=mainframe class=nav onMouseOver='imgSwop(\"posnewquo\", \"images/quotesh.gif\");' onMouseOut='imgSwop(\"posnewquo\", \"images/quote.gif\");'><img src='images/quote.gif'  border=0 alt='New POS Quote' title='New POS Quote' name=posnewquo><br>Add POS Quote</a></td>\r\n\t\t<td valign=top align=center width='20%'><a href=pos-quote-view.php target=mainframe class=nav onMouseOver='imgSwop(\"posviewquo\", \"images/viewquotesh.gif\");' onMouseOut='imgSwop(\"posviewquo\", \"images/viewquote.gif\");'><img src='images/viewquote.gif'  border=0 alt='View POS Quotes' title='View POS Quotes' name=posviewquo><br>View POS Quotes</a></td>\r\n\t\t<td valign=top align=center width='20%'><a href=pos-quote-unf-view.php target=mainframe class=nav onMouseOver='imgSwop(\"posincquo\", \"images/incompletequotesh.gif\");' onMouseOut='imgSwop(\"posincquo\", \"images/incompletequote.gif\");'><img src='images/incompletequote.gif' border=0 alt='View Incomplete POS Quotes' title='View Incomplete POS Quotes' name=posincquo><br>View Incomplete POS Quotes</a></td>\r\n\t\t<td valign=top align=center width='20%'><a href=pos-quote-canc-view.php target=mainframe class=nav onMouseOver='imgSwop(\"poscanquo\", \"images/cancelledquotesh.gif\");' onMouseOut='imgSwop(\"poscanquo\", \"images/cancelledquote.gif\");'><img src='images/cancelledquote.gif' border=0 alt='View Cancelled POS Quotes' title='View Cancelled POS Quotes' name=poscanquo><br>View Cancelled POS Quotes</a></td>\r\n\t</tr>\r\n\t</table>\r\n\t<p>\r\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\r\n\t\t<tr><th>Quick Links</th></tr>\r\n\t\t<tr class='bg-odd'><td><a href='main.php'>Main Menu</a></td></tr>\r\n\t</table></center>";
require "template.php";
Esempio n. 19
0
function writeUser($oldusrnme, $username, $MD5_PASS, $depart)
{
    // Limit field lengths as per database settings ( Regex method doesn't work :-/ )
    $oldusrnme = substr($oldusrnme, 0, 255);
    $username = substr($username, 0, 255);
    $MD5_PASS = substr($MD5_PASS, 0, 32);
    // Do some regex checking to make sure the stuff entered is ok
    if (preg_match("/[^\\w\\s]/", $oldusrnme)) {
        // Alphanum, 4-10
        errDie("ERROR: Tampering with 'oldusrnme' suspected.", SELF);
    } elseif (preg_match("/[^\\w\\s]/", $username)) {
        // Alphanum, 4-10
        $OUTPUT = "Invalid user name.\n<br><a href='Javascript:history.back();'>Back</a>\n";
    } elseif (preg_match("/[^\\w\\s]/", $MD5_PASS)) {
        // Alphanum, 32
        $OUTPUT = "Invalid password.\n<br><a href='Javascript:history.back();'>Back</a>\n";
    } else {
        // if everything went fine above, write new user to database
        Db_Connect();
        $sql = "UPdate users SET username='******',depart='{$depart}', password='******'  WHERE username='******'";
        $nwUsrRslt = db_exec($sql) or errDie("ERROR: Unable to edit user: {$oldusrnme}", SELF);
        // Die with custom error if failed
        # update the permissions database
        $sql = "UPdate userscripts SET username='******' WHERE username='******'";
        $nwUsrRslt = db_exec($sql) or errDie("ERROR: Unable to edit user: {$oldusrnme}", SELF);
        // Die with custom error if failed
        // Provide some info on status
        $OUTPUT = "\r\n\t\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width='50%'>\r\n\t\t<tr><th>Committed changes to user</th></tr>\r\n\t\t<tr class=datacell><td>User, {$username}, was successfully edited.</td></tr>\r\n\t\t</table> <p>\r\n\r\n        <table border=0 cellpadding='2' cellspacing='1'>\r\n        <tr><th>Quick Links</th></tr>\r\n\r\n        <tr bgcolor='#88BBFF'><td><a href='index_sets.php'>Settings</a></td></tr>\r\n        <tr bgcolor='#88BBFF'><td><a href='index.php'>Main Menu</a></td></tr>\r\n        </tr>\r\n\t\t";
    }
    return $OUTPUT;
}