function printyr() { // Set up table to display in // Connect to database core_Connect(); $sql = "SELECT * FROM year ORDER BY yrname"; $Rslt = db_exec($sql) or errDie("ERROR: Unable to get Financial year details from database.", SELF); $numrows = pg_numrows($Rslt); if ($numrows < 1) { $OUTPUT = "There are no Financial years defined in Cubit."; require "template.php"; } # display all Accounts $yrs = ""; for ($i = 0; $i < $numrows; $i++) { $yr = pg_fetch_array($Rslt, $i); if (!isset($thisyear) && $yr["closed"] == "n") { $thisyear = $yr["yrname"]; } # alternate bgcolor $bgColor = bgcolorc($i); if (PRD_STATE != "py" && $yr["closed"] == "y") { $status = "Closed"; } else { if (PRD_STATE == "py" && $yr["yrname"] == YR_NAME) { $status = "Closed (In Use)"; } else { if (PRD_STATE != "py" && $yr["yrname"] == YR_NAME || PRD_STATE == "py" && $yr["yrname"] == PYR_NAME) { $status = "Current"; } else { $status = ""; } } } $yrs .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td>{$yr['yrname']}</td>\n\t\t\t<td align='right'>{$yr['yrdb']}</td>\n\t\t\t<td align='center'>{$status}</td>\n\t\t</tr>\n"; } if (!isset($thisyear)) { $thisyear = "All financial years have been closed."; } else { $thisyear = substr($thisyear, 1); } global $PRDMON, $MONPRD; $pmon = 0; $fyear = getFinYear() - (int) ($PRDMON[1] > 1); $prddesc = array(); for ($i = 1; $i <= 12; $i++) { $mon = $PRDMON[$i]; if ($mon < $pmon) { ++$fyear; } $pmon = $mon; if ($i == 1 || $i == 12) { $prddesc[] = getMonthName($mon) . " {$fyear}"; } } $prddesc = implode(" to ", $prddesc); $OUTPUT = "\n\t<h3>Financial Years</h3>\n\t<table " . TMPL_tblDflts . ">\n\t<tr>\n\t\t<th colspan='3'>Current Financial Year: {$thisyear}</th>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<th colspan='3'>Period Range: {$prddesc}</td>\n\t</tr>\n\t<tr>\n\t\t<th>Year Name</th>\n\t\t<th>Year Database</th>\n\t\t<th>Status</th>\n\t</tr>\n\t{$yrs}\n\t</table>\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=15%>\n\t\t<tr><td><br></td></tr>\n\t\t<tr><th>Quick Links</th></tr>\n\t\t<tr class=datacell><td align=center><a href='finyearnames-new.php'>Set Financial Year</td></tr>\n\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t</table>"; // all template to display the info and die require "template.php"; }
function remcat($catid, $type) { // Limit field lengths as per database settings ( Regex method doesn't work :-/ ) require_lib("validate"); $v = new validate(); $v->isOk($catid, "string", 1, 20, "Invalid category ID."); $v->isOk($type, "string", 1, 2, "Invalid category Type ."); # 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='« Correct submission'>"; return $confirm; } # Switch type switch ($type) { case "I": $tab = "income"; break; case "E": $tab = "expenditure"; break; case "B": $tab = "balance"; break; default: return "<li>Invalid Category type"; } // Connect to database core_Connect(); $sql = "SELECT * FROM {$tab} WHERE catid = '{$catid}' AND div = '" . USER_DIV . "'"; $catRslt = db_exec($sql) or errDie("ERROR: Unable to Retrive Payable Account Categories details from database.", SELF); $numrows = pg_numrows($catRslt); if ($numrows > 1) { $OUTPUT = "There are more than one categories with the same Category ID number."; require "template.php"; } if ($numrows < 1) { $OUTPUT = "Category with number, <b>{$catid}</b> was not found in Cubit."; require "template.php"; } $cat = pg_fetch_array($catRslt); $rem = "<h3>Delete Account Category</h3>\n<h4>Confirm entry</h4>\n<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n<form action='" . SELF . "' method=post>\n<input type=hidden name=key value=write>\n<input type=hidden name=catid value='{$cat['catid']}'>\n<input type=hidden name=catname value='{$cat['catname']}'>\n<input type=hidden name=tab value='{$tab}'>\n<tr><th>Field</th><th>Value</th></tr>\n<tr class='bg-even'><td>Category ID</td><td>{$cat['catid']}</td></tr>\n<tr class='bg-odd'><td>Category Name</td><td>{$cat['catname']}</td></tr>\n<tr><td align=right><input type=button value='« Back' onClick='javascript:history.back()'></td><td align=right><input type=submit value='Delete Category»'></td></tr>\n<tr><th>Quick Links</th></tr>\n<script>document.write(getQuicklinkSpecial());</script>\n</tr>\n</table>\n\n\n</form>\n</table>\n"; return $rem; }
function printyr() { // Set up table to display in $OUTPUT = "\n\t<h3>View active year and period</h3>\n\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=30%>\n <tr><th>Year Name</th><th>Period Name</th></tr>\n\t"; // Connect to database core_Connect(); $sql = "SELECT * FROM active"; $Rslt = db_exec($sql) or errDie("ERROR: Uable to get active period details from database.", SELF); $numrows = pg_numrows($Rslt); if ($numrows < 1) { $OUTPUT = "<li>There are no Active periods/years defined in Cubit."; require "template.php"; } $act = pg_fetch_array($Rslt); $OUTPUT .= "<tr class='bg-odd'><td align=center>{$act['yrname']}</td><td align=center>{$act['prdname']}</td></tr>\n\t\t</table>\n\t\t<p>\n\t\t<table border=0 cellpadding='2' cellspacing='1'>\n\t\t<tr><th>Quick Links</th></tr>\n\t\t<tr class='bg-odd'><td><a href='../reporting/index-reports.php'>Financials</a></td></tr>\n\t\t<tr class='bg-odd'><td><a href='../reporting/index-reports-other.php'>Other Reports</a></td></tr>\n\t\t<tr bgcolor='#88BBFF'><td><a href='../main.php'>Main Menu</a></td></tr>\n\t</table>"; // all template to display the info and die require "template.php"; }
function view() { core_Connect(); $sql = "SELECT * FROM save_bal_sheet WHERE div = '" . USER_DIV . "'"; $Rslt = db_exec($sql) or errDie("ERROR: Unable to Balance Sheets", SELF); if (pg_numrows($Rslt) < 1) { $OUTPUT = "<li class='err'> There are no saved Balance Sheets.</li>"; } else { // Set up table to display in $OUTPUT = "\n\t\t\t<h3>View Saved Balance Sheets</h3>\n\t\t\t<table " . TMPL_tblDflts . " width='300'>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Balance Sheet No.</th>\n\t\t\t\t\t<th>Date</th>\n\t\t\t\t\t<th colspan='2'>Options</th>\n\t\t\t\t</tr>"; // display all statements for ($i = 0; $sheet = pg_fetch_array($Rslt); $i++) { $OUTPUT .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td>{$sheet['id']}({$sheet['des']})</td>\n\t\t\t\t\t<td>{$sheet['gendate']}</td>\n\t\t\t\t\t<td><a target='_blank' href='bal-sheet-print.php?id={$sheet['id']}'>Print</a></td>\n\t\t\t\t\t<td><a href='../xls/bal-xls.php?id={$sheet['id']}'>Spreadsheet</a></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='datacell'>\n\t\t\t\t<td><a href='index-reports.php'>Financials</a></td>\n\t\t\t</tr>\n\t\t\t<tr class='datacell'>\n\t\t\t\t<td><a href='index-reports-stmnt.php'>Current Year Financial Statements</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; }
function view() { // Connect to database core_Connect(); // Query server $cf = new dbSelect("save_cashflow", "core", grp(m("where", "div='" . USER_DIV . "'"))); $cf->run(); if ($cf->num_rows() < 1) { $OUTPUT = "<li> There are no saved Cash Flow Statements."; } else { // Set up table to display in $OUTPUT = "\n\t\t<h3>View Saved Cash Flow Statements</h3>\n\t\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=300>\n\t\t<tr>\n\t\t\t<th>Statement No.</th>\n\t\t\t<th>Generated</th>\n\t\t\t<th colspan=2>Options</th>\n\t\t</tr>"; // display all statements while ($stmnt = $cf->fetch_array()) { $OUTPUT .= "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>{$stmnt['id']}({$stmnt['des']})</td>\n\t\t\t\t<td>{$stmnt['gentime']}</td>\n\t\t\t\t<td><a target='_blank' href='cash-flow-print.php?id={$stmnt['id']}'>Print</a></td>\n\t\t\t\t<td><a href='cash-flow-print.php?id={$stmnt['id']}&xls=t'>Spreadsheet</a></td>\n\t\t\t</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<tr class=datacell><td><a href='index-reports.php'>Financials</a></td></tr>\n\t<tr class=datacell><td><a href='index-reports-stmnt.php'>Current Year Financial Statements</a></td></tr>\n\t<tr class='bg-odd'><td><a href='../main.php'>Main Menu</a></td></tr>\n\t</table>"; // call template to display the info and die return $OUTPUT; }
function view() { // Connect to database core_Connect(); // Query server $sql = "SELECT * FROM save_income_stmnt WHERE div = '" . USER_DIV . "'"; $Rslt = db_exec($sql) or errDie("ERROR: Unable to view users", SELF); // Die with custom error if failed if (pg_numrows($Rslt) < 1) { $OUTPUT = "<li> There are no saved Income Statements."; } else { // Set up table to display in $OUTPUT = "\n\t\t<h3>View Saved Income Statements</h3>\n\t\t<table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=300>\n\t\t<tr><th>Statement No.</th><th>Date</th><th colspan=2>Options</th></tr>"; // display all statements for ($i = 0; $st = pg_fetch_array($Rslt); $i++) { $OUTPUT .= "<tr class='" . bg_class() . "'><td>{$st['id']}({$st['des']})</td><td>{$st['gendate']}</td>\n\t\t\t<td><a target='_blank' href='income-stmnt-print.php?id={$st['id']}'>Print</a></td>\n\t\t\t<td><a href='../xls/income-xls.php?id={$st['id']}'>Spreadsheet</a></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<tr class='datacell'><td align='center'><a target=_blank href='../core/acc-new2.php'>Add account (New Window)</a></td></tr>\n\t<tr class='datacell'><td align='center'><a href='index-reports.php'>Financials</a></td></tr>\n\t<tr class='datacell'><td align='center'><a href='index-reports-stmnt.php'>Current Year Financial Statements</a></td></tr>\n\t<tr class='bg-odd'><td align=center><a href='../main.php'>Main Menu</a></td></tr>\n\t</table>"; // call template to display the info and die return $OUTPUT; }
function confirm($_POST) { # Get vars foreach ($_POST as $key => $value) { ${$key} = $value; } # validate input require_lib("validate"); $v = new validate(); foreach ($ord as $key => $value) { $v->isOk($ord[$key], "num", 1, 50, "Invalid order No. [{$key}]"); $v->isOk($paidamt[$key], "float", 1, 20, "Invalid amount to be paid. [{$key}]"); $v->isOk($accpaid[$key], "num", 1, 255, "Invalid account paid to. [{$key}]"); } # 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='« Correct submission'>"; return $confirm; } # connect to core core_Connect(); $pay = ""; $tot = 0; # Debtors foreach ($ord as $key => $value) { db_connect(); # Get all the details $sql = "SELECT * FROM credit_invoices WHERE ordnum = '{$ord[$key]}'"; $invRslt = db_exec($sql) or errDie("Unable to access database."); if (pg_numrows($invRslt) < 1) { return "<li class=err> - Invalid ord number {$ord[$key]}."; } $inv = pg_fetch_array($invRslt); # Get debt invoice info $sql = "SELECT * FROM debtors WHERE ordnum ='{$ord[$key]}'"; $dtRslt = db_exec($sql) or errDie("Unable to retrieve invoice details from database."); if (pg_numrows($dtRslt) < 1) { return "<li class=err>Invalid Invoice Number."; } $dt = pg_fetch_array($dtRslt); foreach ($inv as $keys => $values) { ${$keys} = $values; } # get paid account name core_connect(); $sql = "SELECT accname FROM accounts WHERE accid = '{$accpaid[$key]}'"; $accRslt = db_exec($sql); $acc = pg_fetch_array($accRslt); foreach ($inv as $keys => $values) { ${$keys} = $values; } $pay .= "<tr class='bg-odd'>\r\n <td><input type=hidden size=20 name=ord[] value='{$ord[$key]}'>{$cusname}</td>\r\n <td align=center>{$orddate}</td>\r\n <td align=center>{$invdate}</td>\r\n <td align=center>" . CUR . " {$dt['amount']}</td>\r\n <td align=center>{$dt['terms']} days</td>\r\n <td align=center>" . CUR . " <input type=hidden name='paidamt[]' value='{$paidamt[$key]}'>{$paidamt[$key]}</td>\r\n <td align=center><input type=hidden name='accpaid[]' value='{$accpaid[$key]}'>{$acc['accname']}</td>\r\n </tr>"; $tot += $paidamt[$key]; } $confirm = "<center>\r\n <h3>Add Multiple Debtors Payments to batch file</h3>\r\n <form action='" . SELF . "' method=post>\r\n <input type=hidden name=key value=write>\r\n <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\r\n <tr><th>Customer Name</th><th>Order Date</th><th>Invoice Date</th><th>Outstanding Amount</th><th>Terms</th><th>Amount Paid</th><th>Account Paid</th></tr>\r\n {$pay}\r\n <tr><td><br></td></tr>\r\n <tr class='bg-even'><td colspan=5>Total Amount Received</td><td colspan=2>" . CUR . " " . round($tot, 2) . "</td></tr>\r\n <tr><td align=right colspan=6><input type=button value='« Back' onClick='javascript:history.back()'></td><td align=right colspan=1><input type=submit value='Confirm »'></td></tr>\r\n </form></table>\r\n <table border=0 cellpadding='2' cellspacing='1' width=15%>\r\n <tr><th>Quick Links</th></tr>\r\n <tr bgcolor='#88BBFF'><td><a href='debtors-view.php'>View Debtors</a></td></tr>\r\n <script>document.write(getQuicklinkSpecial());</script>\r\n <tr bgcolor='#88BBFF'><td><a href='main.php'>Main Menu</a></td></tr>\r\n </table>"; return $confirm; }
function writerem($_POST) { # Get vars extract($_POST); # validate input require_lib("validate"); $v = new validate(); if (isset($bank)) { foreach ($bank as $key => $value) { $v->isOk($bank[$key], "num", 1, 50, "Invalid Batch ID."); } } else { return "<li> - No Batch Entries Seleted. Please select at least one batch entry.</li>"; } # display errors, if any if ($v->isError()) { $write = ""; $errors = $v->getErrors(); foreach ($errors as $e) { $write .= "<li class='err'>" . $e["msg"] . "</li>"; } $write .= "<p><input type='button' onClick='JavaScript:history.back();' value='« Correct submission'>"; return $write; } db_conn('core'); foreach ($bank as $key => $value) { # Get all the details $sql = "SELECT * FROM batch WHERE batchid = '{$value}' AND div = '" . USER_DIV . "'"; $rslt = db_exec($sql) or errDie("Unable to access database."); $tran = pg_fetch_array($rslt); // Accounts details $dtaccRs = get("core", "accname, topacc, accnum", "accounts", "accid", $tran['debit']); $dtacc[$key] = pg_fetch_array($dtaccRs); $ctaccRs = get("core", "accname, topacc, accnum", "accounts", "accid", $tran['credit']); $ctacc[$key] = pg_fetch_array($ctaccRs); $date[$key] = $tran['date']; $refnum[$key] = $tran['refnum']; $amount[$key] = $tran['amount']; $descript[$key] = $tran['details']; # Remove the entries one by one core_Connect(); $query = "DELETE FROM batch WHERE batchid = '{$bank[$key]}'"; $Ex = db_exec($query) or errDie("Unable to delete batch file entries.", SELF); } // Start layout $write = "\n\t\t\t\t<center>\n\t\t\t\t<h3>Journal transactions entries have been removed from batch file</h3>\n\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Date</th>\n\t\t\t\t\t\t<th>Ref num</th>\n\t\t\t\t\t\t<th>Debit</th>\n\t\t\t\t\t\t<th>Credit</th>\n\t\t\t\t\t\t<th>Amount</th>\n\t\t\t\t\t\t<th>Description</th>\n\t\t\t\t\t</tr>"; foreach ($bank as $key => $value) { $write .= "\n \t\t\t\t<tr bgcolor=" . bgcolorg() . ">\n \t\t\t\t\t<td>{$date[$key]}</td>\n \t\t\t\t\t<td>{$refnum[$key]}</td>\n <td valign='center'>" . $dtacc[$key]['topacc'] . "/" . $dtacc[$key]['accnum'] . " " . $dtacc[$key]['accname'] . "</td>\n <td valign='center'>" . $ctacc[$key]['topacc'] . "/" . $ctacc[$key]['accnum'] . " " . $ctacc[$key]['accname'] . "</td>\n <td>" . CUR . " {$amount[$key]}</td>\n <td>{$descript[$key]}</td>\n\t\t\t\t\t</tr>"; } $write .= "\n\t\t\t\t\t\t</table>\n\t\t\t <br>\n\t\t\t <table " . TMPL_tblDflts . " width='25%'>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>Quick Links</th>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr class='datacell'>\n\t\t\t\t\t\t\t<td align='center'><a href='trans-batch.php'>Add Journal Transactions to batch</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr class='datacell'>\n\t\t\t\t\t\t\t<td align='center'><a href='batch-view.php'>View batch Entries</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t\t\t </table>"; return $write; }
function pay($_POST) { //processes db_connect(); # get vars foreach ($_POST as $key => $value) { ${$key} = $value; } # validate input require_lib("validate"); $v = new validate(); $v->isOk($purchid, "num", 1, 20, "Invalid Purchase ID."); $v->isOk($paidamt, "float", 1, 20, "Invalid amount to be paid."); # 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='« Correct submission'>"; return $confirm; } // Connect to database core_Connect(); # get purchase info $sql = "SELECT * FROM purchases WHERE purchid = '{$purchid}'"; $purchRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve purchase details from database.", SELF); $numrows = pg_numrows($purchRslt); if ($numrows < 1) { $OUTPUT = "<li clss=err>Invalid purchase ID."; require "template.php"; } $purch = pg_fetch_array($purchRslt); # reduce the money that has been paid $sql = "UPDATE credit_purch SET amount = (amount - cast(float8 '{$paidamt}' as numeric)) WHERE purchid = '{$purchid}'"; $payRslt = db_exec($sql) or errDie("Unable to update credit purchases table.", SELF); # get creditors account $creditacc = gethook("accnum", "pchsacc", "name", "Creditors"); $refnum = getrefnum(date('d-m-Y')); writetrans($creditacc, $purch['usedacc'], date('d-m-Y'), $refnum, $paidamt, 'Pay Purchase Credit.'); # status report $pay = "\r\n <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width='100%'>\r\n <tr><th>Credit Paid</th></tr>\r\n <tr class=datacell><td>Credit for,<b> {$purch['itemname']}</b> bought From <b>{$purch['retailer']}</b>, was successfully paid.</td></tr>\r\n </table>"; # main table (layout with menu) $OUTPUT = "<center>\r\n <table width = 90%>\r\n <tr valign=top><td width=60%>{$pay}</td>\r\n <td align=center>\r\n <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=80%>\r\n <tr><th>Quick Navigation</th></tr>\r\n <tr class=datacell><td align=center><a href='purchase-view.php'>View Other Purchases</td></tr>\r\n <tr class=datacell><td align=center><a href='purchase-new.php'>Add New Purchase</td></tr>\r\n </table>\r\n </td></tr></table>"; return $OUTPUT; }
function confirmbat($_POST) { # Get vars foreach ($_POST as $key => $value) { ${$key} = $value; } # validate input require_lib("validate"); $v = new validate(); foreach ($pay as $key => $value) { $v->isOk($pay[$key], "num", 1, 50, "Invalid purchase No."); $v->isOk($paidamt[$key], "float", 1, 20, "Invalid amount to be paid. [{$key}]"); } # 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='« Correct submission'>"; return $confirm; } # connect to core core_Connect(); $tot = 0; # Creditors $pays = ""; foreach ($pay as $key => $value) { core_connect(); # get purchase info $sql = "SELECT * FROM purchases WHERE purchid = '{$pay[$key]}'"; $purchRslt = db_exec($sql) or errDie("ERROR: Unable to retrieve purchase details from database.", SELF); if (pg_numrows($purchRslt) < 1) { $OUTPUT = "<li clss=err>Invalid purchase ID."; return $OUTPUT; } $purch = pg_fetch_array($purchRslt); # get credit purchase info $sql = "SELECT amount FROM credit_purch WHERE purchid = '{$pay[$key]}'"; $ctpRslt = db_exec($sql); $ctp = pg_fetch_array($ctpRslt); # get account name for account paid $accRslt = get("core", "accname", "accounts", "accid", $purch['paidacc']); $acc = pg_fetch_array($accRslt); $paidacc = $acc['accname']; # get account name for account used $accRslt = get("core", "accname", "accounts", "accid", $purch['usedacc']); $acc = pg_fetch_array($accRslt); $usedacc = $acc['accname']; $pays .= "<tr class='bg-odd'>\n <input type=hidden name=pay[] value='{$pay[$key]}'>\n <td>{$purch['retailer']}</td>\n <td>{$purch['itemname']}</td>\n <td>{$purch['descript']}</td>\n <td>{$purch['quantity']}</td>\n <td>" . CUR . " {$ctp['amount']}</td>\n <td>" . CUR . " <input type=hidden name='paidamt[]' value='{$paidamt[$key]}'>{$paidamt[$key]}</td>\n <td>{$usedacc}</td>\n <td>{$paidacc}</td>\n </tr>"; $tot += $paidamt[$key]; } $confirm = "<center>\n <h3>Add Multiple Credits Payments to Batch</h3>\n <h4>Confirm Entry</h4>\n <form action='" . SELF . "' method=post>\n <input type=hidden name=key value=writebat>\n <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n <tr><th>Retailer</th><th>Item Name</th><th>Description</th><th>Quantity</th><th>Outstanding amount</th><th>Amount Paid</th><th>Account used</th><th>Account paid</th></tr>\n {$pays}\n <tr><td><br></td></tr>\n <tr class='bg-even'><td colspan=5><b>Total Amount Paid</b></td><td colspan=2><b>" . CUR . " " . sprintf("%01.2f", round($tot, 2)) . "</b></td></tr>\n <tr><td align=right colspan=6><input type=button value='« Back' onClick='javascript:history.back()'></td><td align=right colspan=1><input type=submit value='Confirm »'></td></tr>\n </form></table>\n <br><br><br>\n <table border=0 cellpadding='2' cellspacing='1' width=15%>\n <tr><th>Quick Links</th></tr>\n <tr bgcolor='#88BBFF'><td><a href='creditors-view.php'>View Creditors</a></td></tr>\n <script>document.write(getQuicklinkSpecial());</script>\n </table>"; return $confirm; }
function write($_POST) { # Get vars foreach ($_POST as $key => $value) { ${$key} = $value; } # validate input require_lib("validate"); $v = new validate(); if (isset($bank)) { foreach ($bank as $key => $value) { $v->isOk($bank[$key], "num", 1, 50, "Invalid Batch ID."); } } else { return "<li> - No Batch Entries Seleted. Please select at least one batch entry."; } # display errors, if any if ($v->isError()) { $write = ""; $errors = $v->getErrors(); foreach ($errors as $e) { $write .= "<li class=err>" . $e["msg"]; } $write .= "<p><input type=button onClick='JavaScript:history.back();' value='« Correct submission'>"; return $write; } foreach ($bank as $key => $value) { // Accounts details $dtaccRs = get("core", "accname, topacc, accnum", "accounts", "accid", $dtaccid[$key]); $dtacc[$key] = pg_fetch_array($dtaccRs); $ctaccRs = get("core", "accname, topacc, accnum", "accounts", "accid", $ctaccid[$key]); $ctacc[$key] = pg_fetch_array($ctaccRs); # Get all the details $sql = "SELECT * FROM batch WHERE batchid = '{$value}'"; $rslt = db_exec($sql) or errDie("Unable to access database."); $tran = pg_fetch_array($rslt); $date[$key] = $tran['date']; $refnum[$key] = $tran['refnum']; $amount[$key] = $tran['amount']; $descript[$key] = $tran['descript']; # Remove the entries one by one core_Connect(); $query = "DELETE FROM batch WHERE batchid = '{$bank[$key]}'"; $Ex = db_exec($query) or errDie("Unable to delete batch file entries.", SELF); } // Start layout $write = "\n <center>\n <h3>Batch Journal transactions entries have been removed</h3>\n <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\n <tr><th>Date</th><th>Ref num</th><th>Debit</th><th>Credit</th><th>Amount</th><th>Description</th></tr>"; foreach ($bank as $key => $value) { $write .= "<tr class='bg-odd'><td>{$date[$key]}</td><td>{$refnum[$key]}</td>\n <td valign=center>" . $dtacc[$key]['topacc'] . "/" . $dtacc[$key]['accnum'] . " " . $dtacc[$key]['accname'] . "</td>\n <td valign=center>" . $ctacc[$key]['topacc'] . "/" . $ctacc[$key]['accnum'] . " " . $ctacc[$key]['accname'] . "</td>\n <td>" . CUR . " {$amount[$key]}</td><td>{$descript[$key]}</td></tr>"; } $write .= "</table>\n <br>\n <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "' width=25%>\n <tr><th>Quick Links</th></tr>\n <tr class=datacell><td align=center><a href='trans-batch.php'>Add Journal Transactions to batch</td></tr>\n <tr class=datacell><td align=center><a href='batch-view.php'>View batch Entries</td></tr>\n <script>document.write(getQuicklinkSpecial());</script>\n </table>"; return $write; }
function writerem($_POST) { # Get vars foreach ($_POST as $key => $value) { ${$key} = $value; } # validate input require_lib("validate"); $v = new validate(); foreach ($bats as $key => $value) { $v->isOk($bats[$key], "num", 1, 50, "Invalid batch No."); } # 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='« Correct submission'>"; return $confirm; } # connect to core core_Connect(); $pay = ""; # Debtors foreach ($bats as $key => $value) { db_connect(); $sql = "SELECT * FROM debtors_batch WHERE batchid = '{$bats[$key]}'"; $batRslt = db_exec($sql); $bat = pg_fetch_array($batRslt); # Get all the details $sql = "SELECT cusname, orddate, invdate FROM credit_invoices WHERE ordnum = '{$bat['ordnum']}'"; $invRslt = db_exec($sql) or errDie("Unable to access database."); if (pg_numrows($invRslt) < 1) { return "<li class=err> - Invalid Invoice Number. 1"; } $inv = pg_fetch_array($invRslt); # Get debt invoice info $sql = "SELECT amount,terms FROM debtors WHERE ordnum ='{$bat['ordnum']}'"; $dtRslt = db_exec($sql) or errDie("Unable to retrieve invoice details from database."); if (pg_numrows($dtRslt) < 1) { return "<li class=err> - Invalid Invoice Number. 2"; } $dt = pg_fetch_array($dtRslt); foreach ($inv as $keys => $values) { ${$keys} = $values; } # get paid account name core_connect(); $sql = "SELECT accname FROM accounts WHERE accid = '{$bat['accpaid']}'"; $accRslt = db_exec($sql); $acc = pg_fetch_array($accRslt); foreach ($inv as $keys => $values) { ${$keys} = $values; } db_connect(); $sql = "DELETE FROM debtors_batch WHERE batchid = '{$bat['batchid']}'"; $Rs = db_exec($sql); $pay .= "<tr class='bg-odd'>\r\n <td>{$cusname}</td>\r\n <td align=center>{$orddate}</td>\r\n <td align=center>{$invdate}</td>\r\n <td align=center>" . CUR . " {$dt['amount']}</td>\r\n <td align=center>{$dt['terms']} days</td>\r\n <td align=center>" . CUR . " {$bat['paidamt']}</td>\r\n <td align=center>{$acc['accname']}</td>\r\n </tr>"; } $det = "<center><h3>Debtors Batch Entries Removed</h3>\r\n <table border=0 cellpadding='" . TMPL_tblCellPadding . "' cellspacing='" . TMPL_tblCellSpacing . "'>\r\n <tr><th>Customer Name</th><th>Order Date</th><th>Invoice Date</th><th>Outstanding Amount</th><th>Terms</th><th>Amount Paid</th><th>Account Paid</th></tr>\r\n {$pay}\r\n </table>\r\n <br><br><br>\r\n <table border=0 cellpadding='2' cellspacing='1' width=15%>\r\n <tr><th>Quick Links</th></tr>\r\n <tr bgcolor='#88BBFF'><td><a href='debtors-batch-view.php'>View Debtors batch</a></td></tr>\r\n <tr bgcolor='#88BBFF'><td><a href='debtors-view.php'>View Debtors</a></td></tr>\r\n <script>document.write(getQuicklinkSpecial());</script>\r\n <tr bgcolor='#88BBFF'><td><a href='main.php'>Main Menu</a></td></tr>\r\n </table>"; return $det; }