function view($frm)
{
    extract($_REQUEST);
    if ($msg = cForm::validateValue($supid, "num", 1, 10)) {
        return "<li class='err'>The supplier ID is invalid. {$msg}</li>\n\t\t\t<input type='button' onclick='window.history.back();' value='&laquo; Correction' />";
    }
    /* @var frm cForm */
    $frm->settitle("Supplier Pricelist");
    $frm->setkey("import");
    $frm->add_heading("Import New Pricelist");
    $frm->add_message("\n\t\t\t<li class='err'>Pricelists has to be in CSV format and to import them\n\t\t\t\tyou have to specify the order and format of the fields<br />\n\t\t\t\tby selecting what each of them are in the same order as they appear\n\t\t\t\tin the file. Only the stock code<br />\n\t\t\t\tand the price is needed, so for the other fields you simply\n\t\t\t\tselect the '-' options.\n\t\t\t</li>", "inst");
    $frm->add_message("\n\t\t\t<li class='err'>Note that the stock codes of the supplier should be added\n\t\t\t\tby editing the stock item and selecting the<br />\n\t\t\t\t'Add/Edit/Remove' button below the stock code input field.\n\t\t\t</li>", "suppstkcod");
    $frm->add_hidden("supid", $supid, "num");
    $frm->add_file("Pricelist", "supplist");
    $frm->add_checkbox("VAT Inclusive", "vatinc", true, true);
    $frm->add_heading("Comma Seperated Volume (CSV) Fields");
    $frm->add_layout("\n\t<tr %bgc>\n\t\t<td colspan='2' nowrap='t'>\n\t\t\t<strong>\n\t\t\t\t%fldonly ,\n\t\t\t\t%fldonly ,\n\t\t\t\t%fldonly ,\n\t\t\t\t%fldonly ,\n\t\t\t\t%fldonly ,\n\t\t\t\t%fldonly\n\t\t\t</strong>\n\t\t</td>\n\t</tr>");
    // field types
    $ft = array("ignore" => "-", "stkcod" => "Stock Code", "price" => "Price");
    $frm->add_select("", "fld[0]", "stkcod", $ft, "string", "5:6");
    $frm->add_select("", "fld[1]", "price", $ft, "string", "5:6");
    $frm->add_select("", "fld[2]", "ignore", $ft, "string", "5:6");
    $frm->add_select("", "fld[3]", "ignore", $ft, "string", "5:6");
    $frm->add_select("", "fld[4]", "ignore", $ft, "string", "5:6");
    $frm->add_select("", "fld[5]", "ignore", $ft, "string", "5:6");
    $frm->add_ctrlbtn("Import", "submit", "btn_import");
    $OUT = $frm->getfrm_input();
    /* supplier info */
    $suppinfo = qrySupplier($supid);
    $supcur = qryCurrency($suppinfo["fcid"]);
    $supcur = $supcur["symbol"];
    /* list current pricelist */
    $OUT .= "\n\t<table " . TMPL_tblDflts . ">\n\t<tr>\n\t\t<th>Stock Code</td>\n\t\t<th>Supplier Stock Code</th>\n\t\t<th>Current Supplier Price</th>\n\t\t<th>Current Selling Price</th>\n\t</tr>";
    $sql = "SELECT pli.*\n\t\t\tFROM exten.spricelist pl INNER JOIN exten.splist_prices pli\n\t\t\t\tON pl.listid=pli.listid\n\t\t\tWHERE pl.suppid='{$supid}'";
    $qry = new dbSql($sql);
    $qry->run();
    if ($qry->num_rows() <= 0) {
        $OUT .= "\n\t\t<tr bgcolor='" . bgcolorc(0) . "'>\n\t\t\t<td colspan='4'>No pricelist.</td>\n\t\t</tr>";
    }
    $i = 0;
    while ($row = $qry->fetch_array()) {
        if (empty($row["supstkcod"])) {
            $our_stkcod = "No supplier stock code";
            $our_price = "";
        } else {
            if (($stkid = suppStkid($supid, $row["supstkcod"])) === false) {
                $our_stkcod = "<li class='err'>No such stock item.\n\t\t\t\t<a href='stock-add.php?stkcod={$row['supstkcod']}&supid={$supid}&supstkcod={$row['supstkcod']}'>Add Stock</a> /\n\t\t\t\t<a href='stock-view.php'>Edit Stock</li>";
                $our_price = "";
            } else {
                $stkrow = qryStock($stkid, "stkcod, selamt");
                $our_stkcod = "<strong>{$stkrow['stkcod']}</strong>";
                $our_price = CUR . " " . sprint($stkrow["selamt"]);
            }
        }
        $OUT .= "\n\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t<td>{$our_stkcod}</td>\n\t\t\t<td>{$row['supstkcod']}</td>\n\t\t\t<td align='right'>{$supcur} " . sprint($row["price"]) . "</td>\n\t\t\t<td align='right'>{$our_price}</td>\n\t\t</tr>";
    }
    $OUT .= "\n\t</table>";
    return $OUT;
}
function enter()
{
    extract($_POST);
    $qry = new dbSelect("config", "trh", grp(m("where", "readonly='f'")));
    $qry->run();
    while ($row = $qry->fetch_array()) {
        if (!isset(${$row["name"]})) {
            ${$row["name"]} = array("desc" => $row["description"], "value" => $row["value"], "type" => $row["type"]);
        }
    }
    $display = array("General Settings" => array("INTERVAL", "MANAGEUSER"), "SMTP Settings" => array("SMTP_SERVER", "SMTP_USER", "SMTP_PASS", "SMTP_FROM"), "POP3 Settings" => array("POP3_SERVER", "POP3_USER", "POP3_PASS"));
    $cat = false;
    $OUT = "\n\t<h3>Transactioning Configuration</h3>\n\t<form method='post' action='" . SELF . "'>\n\t<input type='hidden' name='key' value='write' />\n\t<table " . TMPL_tblDflts . " width='400'>";
    $pc = false;
    foreach ($display as $cat => $cnames) {
        if ($cat != $pc) {
            if ($pc != false) {
                $OUT .= TBL_BR;
            }
            $OUT .= "\n\t\t\t<tr>\n\t\t\t\t<th colspan='2'>{$cat}</th>\n\t\t\t</tr>";
        }
        $i = 0;
        foreach ($cnames as $vname) {
            if (!isset($vname)) {
                $vname = "";
            }
            $OUT .= "\n\t\t\t<input type='hidden' name='{$vname}[desc]' value='" . ${$vname}["desc"] . "' />\n\t\t\t<input type='hidden' name='{$vname}[type]' value='" . ${$vname}["type"] . "' />\n\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t<td>" . ${$vname}["desc"] . "</td>\n\t\t\t\t<td>";
            switch (${$vname}["type"]) {
                case "yn":
                    $OUT .= "\n\t\t\t\t\t<select name='{$vname}[value]'>\n\t\t\t\t\t\t<option value='y' " . (${$vname}["value"] != "n") . ">Yes</option>\n\t\t\t\t\t\t<option value='n' " . (${$vname}["value"] == "n") . ">Yes</option>\n\t\t\t\t\t</select>";
                    break;
                case "passwd":
                    $OUT .= "\n\t\t\t\t\t<input type='password' name='{$vname}[value]' value='" . ${$vname}["value"] . "' />";
                    break;
                case "ulist":
                    $uq = qryUsers();
                    $OUT .= db_mksel($uq, "{${'vname'}}[value]", ${'vname'}["value"], "#userid", "#username");
                    break;
                case "str":
                default:
                    $OUT .= "\n\t\t\t\t\t<input type='text' name='{$vname}[value]' value='" . ${$vname}["value"] . "' />";
                    break;
            }
            $OUT .= "\n\t\t\t\t</td>\n\t\t\t</tr>";
        }
    }
    $OUT .= "\n\t<tr>\n\t\t<td colspan='2' align='right'><input type='submit' value='Save' /></td>\n\t</tr>\n\t</table>\n\t</form>";
    return $OUT;
}
function printComp()
{
    $OUT = "\n    <h3>View Companies</h3>\n    <table " . TMPL_tblDflts . ">\n    <tr>\n    \t<th>Company Code</th>\n    \t<th>Company Name</th>\n    \t<th>Status</th>\n    \t<th>Options</th>\n    </tr>";
    $qry = new dbSelect("companies", DB_MCUBIT, grp(m("order", "name ASC")));
    $qry->run();
    $i = 0;
    while ($comp = $qry->fetch_array()) {
        $bgcolor = bgcolor($i);
        $status = ucfirst($comp["status"]);
        $OUT .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td>{$comp['code']}</td>\n\t\t\t<td>{$comp['name']}</td>\n\t\t\t<td>{$status}</td>";
        if ($comp["status"] == "removed") {
            $OUT .= "\n\t\t\t<td><a href='company-rem.php?key=recover&code={$comp['code']}'>Recover</a></td>";
        }
        $OUT .= "\n\t\t\t<td><a href='company-rem.php?key=confirm&perm=t&code={$comp['code']}'>" . ($comp["status"] == "removed" ? "Remove Permanently (CAN NOT BE RECOVERED)" : "Remove") . "</a></td>\n\t\t</tr>";
    }
    $OUT .= "\n\t</table>" . mkQuickLinks(ql("company-new.php", "Add New Company"));
    return $OUT;
}
Esempio n. 4
0
$sTitle = " sorry :(";
require "./common.php";
include phorum_get_file_name("header");
?>
<center>
<table class="PhorumListTable" width="$ForumTableWidth" border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td <?php 
echo bgcolor($ForumTableHeaderColor);
?>
 valign="TOP" nowrap="nowrap"><font color="<?php 
echo $ForumTableHeaderFontColor;
?>
">&nbsp;<?php 
echo $lViolationTitle;
?>
</font></td>
  </tr>
  <tr>
    <td width="100%" align="LEFT" valign="MIDDLE" <?php 
echo bgcolor($ForumTableBodyColor2);
?>
><?php 
echo $lViolation;
?>
</td>
</td>
</tr>
</table>
<?php 
include phorum_get_file_name("footer");
Esempio n. 5
0
</table>
<?php 
if (!$ForumMultiLevel || ${$phcollapse}) {
    include "{$include_path}/threads.php";
} else {
    include "{$include_path}/multi-threads.php";
}
?>
<table class="PhorumListTable" width="<?php 
echo $ForumTableWidth;
?>
" cellspacing="0" cellpadding="3" border="0">
<tr>
  <td width="60%" nowrap <?php 
echo bgcolor($ForumNavColor);
?>
><?php 
echo $LowLeftNav;
?>
</td>
  <td align="right" width="40%" <?php 
echo bgcolor($ForumNavColor);
?>
><div class=nav><?php 
echo $LowRightNav;
?>
</div></td>
</tr>
</table>
<?php 
include phorum_get_file_name("footer");
function recvpayment()
{
    extract($_POST);
    $v = new validate();
    $v->isOk($cusnum, "num", 1, 10, "Invalid customer id.");
    $v->isOk($invid, "num", 1, 10, "Invalid invoice id.");
    $v->isOk($pcc, "float", 1, 40, "Invalid credit card amount.");
    $v->isOk($pcash, "float", 1, 40, "Invalid cash amount.");
    $v->isOk($pcheque, "float", 1, 40, "Invalid cheque amount.");
    $date = mkdate($pinv_year, $pinv_month, $pinv_day);
    $v->isOk($date, "date", 1, 1, "Invalid invoice date.");
    if ($v->isError()) {
        return details($_POST, $v->genErrors());
    }
    $amt = sprint($pcc + $pcash + $pcheque);
    $cus = qryCustomer($cusnum);
    $bank_acc = qryAccountsName("Cash on Hand");
    $OUT = "\n\t<table " . TMPL_tblDflts . ">\n\t<tr>\n\t\t<th colspan='2'>Payment Details</th>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Account</td>\n\t\t<td>{$bank_acc['topacc']}/{$bank_acc['accnum']} {$bank_acc['accname']}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Date</td>\n\t\t<td valign='center'>{$date}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Received from</td>\n\t\t<td valign='center'>{$cus['cusname']} {$cus['surname']}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Description</td>\n\t\t<td valign='center'>POS Payment Received</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Amount</td>\n\t\t<td valign='center'>" . CUR . " {$amt}</td>\n\t</tr>\n\t</table>\n\n\t<form method='post' action='" . SELF . "'>\n\t<input type='hidden' name='key' value='recvpayment_write' />\n\t<input type='hidden' name='bank_acc' value='{$bank_acc['accid']}' />\n\t<input type='hidden' name='invid' value='{$invid}' />\n\t<input type='hidden' name='pcc' value='{$pcc}' />\n\t<input type='hidden' name='pcash' value='{$pcash}' />\n\t<input type='hidden' name='pcheque' value='{$pcheque}' />\n\t<input type='hidden' name='amt' value='{$amt}' />\n\t<input type='hidden' name='date' value='{$date}' />\n\t<input type='hidden' name='cusnum' value='{$cusnum}' />\n\t<input type='hidden' name='descript' value='POS Payment Received' />\n\n\t<input type='hidden' name='stkerr' value='{$stkerr}' />\n\t<input type='hidden' name='prev_cusnum' value='{$prev_cusnum}' />\n\t<input type='hidden' name='deptid' value='{$deptid}' />\n\t<input type='hidden' name='telno' value='{$telno}' />\n\t<input type='hidden' name='cordno' value='{$cordno}' />\n\t<input type='hidden' name='bar' value='{$bar}' />\n\t<input type='hidden' name='des' value='{$des}' />\n\t<input type='hidden' name='sel_frm' value='{$sel_frm}' />\n\t<input type='hidden' name='ordno' value='{$ordno}' />\n\t<input type='hidden' name='pinv_day' value='{$pinv_day}' />\n\t<input type='hidden' name='pinv_month' value='{$pinv_month}' />\n\t<input type='hidden' name='pinv_year' value='{$pinv_year}' />\n\t<input type='hidden' name='chrgvat' value='{$chrgvat}' />\n\t<input type='hidden' name='salespn' value='{$salespn}' />\n\t<input type='hidden' name='traddisc' value='{$traddisc}' />\n\t<input type='hidden' name='delchrg' value='{$delchrg}' />\n\t<input type='hidden' name='delvat' value='{$delvat}' />\n\t<input type='hidden' name='user' value='{$user}' />\n\t<input type='hidden' name='SUBTOT' value='{$subtot}' />\n\t<input type='hidden' name='comm' value='{$comm}' />\n\n\t<table " . TMPL_tblDflts . ">";
    // Connect to database
    db_connect();
    $sql = "SELECT invnum,invid,balance,terms,odate FROM invoices\n\t\t\tWHERE cusnum = '{$cusnum}' AND printed = 'y' AND balance>0\n\t\t\t\tAND div = '" . USER_DIV . "'\n\t\t\tORDER BY odate ASC";
    $prnInvRslt = db_exec($sql);
    $i = 0;
    while (($inv = pg_fetch_array($prnInvRslt)) && $amt > 0) {
        if ($i == 0) {
            $OUT .= "\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'>&nbsp;</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'><h3>Outstanding Invoices</h3></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<th>Invoice</th>\n\t\t\t\t<th>Outstanding Amount</th>\n\t\t\t\t<th>Terms</th>\n\t\t\t\t<th>Date</th>\n\t\t\t\t<th>Amount</th>\n\t\t\t</tr>";
        }
        $invid = $inv['invid'];
        $val = allocamt($amt, $inv["balance"]);
        $OUT .= "\n\t\t<input type='hidden' name='paidamt[{$invid}]' size=10 value='{$val}'>\n\t\t<input type='hidden' size=20 name=invids[{$invid}] value='{$inv['invid']}'>\n\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t<td>{$inv['invnum']}</td>\n\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t<td>{$inv['terms']} days</td>\n\t\t\t<td>{$inv['odate']}</td>\n\t\t\t<td>" . CUR . " {$val}</td>\n\t\t</tr>";
    }
    $sql = "SELECT invnum,invid,balance,sdate as odate FROM nons_invoices\n\t\t\tWHERE cusid='{$cusnum}' AND done='y' AND balance>0\n\t\t\t\tAND div='" . USER_DIV . "'\n\t\t\tORDER BY odate ASC";
    $prnInvRslt = db_exec($sql);
    while (($inv = pg_fetch_array($prnInvRslt)) && $amt > 0) {
        if ($i == 0) {
            $OUT .= "\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'>&nbsp;</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'><h3>Outstanding Non-Stock Invoices</h3></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<th>Invoice</th>\n\t\t\t\t<th>Outstanding Amount</th>\n\t\t\t\t<th></th>\n\t\t\t\t<th>Date</th>\n\t\t\t\t<th>Amount</th>\n\t\t\t</tr>";
        }
        $invid = $inv['invid'];
        $val = allocamt($amt, $inv["balance"]);
        $OUT .= "\n\t\t\t\t<input type='hidden' name='paidamt[{$invid}]' value='{$val}'>\n\t\t\t\t<input type='hidden' name='itype[{$invid}]' value='Yes'>\n\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t<td><input type='hidden' size='20' name='invids[{$invid}]' value='{$inv['invid']}'>{$inv['invnum']}</td>\n\t\t\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t\t\t<td></td>\n\t\t\t\t\t<td>{$inv['odate']}</td>\n\t\t\t\t\t<td>" . CUR . " {$val}</td>\n\t\t\t\t</tr>";
    }
    $amt = sprint($amt);
    /* pos invoices */
    $sqls = array();
    for ($i = 1; $i <= 12; ++$i) {
        $sqls[] = "SELECT invnum,invid,balance,odate FROM \"{$i}\".pinvoices\n\t\t\t\t\tWHERE cusnum='{$cusnum}' AND done='y' AND balance>0\n\t\t\t\t\t\tAND div='" . USER_DIV . "'";
    }
    $sql = implode(" UNION ", $sqls);
    $prnInvRslt = db_exec($sql);
    if (pg_numrows($prnInvRslt) > 0) {
        $OUT .= "\n\t\t<tr>\n\t\t\t<td colspan='2'><br></td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<td colspan='2'><h3>Outstanding POS Invoices</h3></td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th>Invoice</th>\n\t\t\t<th>Outstanding Amount</th>\n\t\t\t<th></th>\n\t\t\t<th>Date</th>\n\t\t\t<th>Amount</th>\n\t\t</tr>";
        $i = 0;
        while ($inv = pg_fetch_array($prnInvRslt)) {
            $invid = $inv['invid'];
            $val = allocamt($amt, $inv["balance"]);
            $OUT .= "\n\t\t\t<input type='hidden' size='20' name='invids[{$invid}]' value='{$inv['invid']}'>\n\t\t\t<input type='hidden' name='paidamt[{$invid}]' size=10 value='{$val}'>\n\t\t\t<input type='hidden' name='ptype[{$invid}]' value='YnYn'>\n\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t<td>{$inv['invnum']}</td>\n\t\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t\t<td></td>\n\t\t\t\t<td>{$inv['odate']}</td>\n\t\t\t\t<td>" . CUR . " {$val}</td>\n\t\t\t</tr>";
        }
    }
    if ($amt > 0) {
        /* START OPEN ITEMS */
        $ox = "";
        $sql = "SELECT * FROM cubit.open_stmnt WHERE balance>0 AND cusnum='{$cusnum}'\n\t\t\t\t\tAND type!='Invoice' AND type!='Non-Stock Invoice'\n\t\t\t\t\tAND type!='Interest on Outstanding balance'\n\t\t\t\tORDER BY date";
        $rslt = db_exec($sql) or errDie("Unable to get open items.");
        $open_out = $amt;
        $i = 0;
        while ($od = pg_fetch_array($rslt)) {
            if ($open_out == 0) {
                continue;
            }
            $oid = $od['id'];
            if ($open_out >= $od['balance']) {
                $open_amount[$oid] = $od['balance'];
                $open_out = sprint($open_out - $od['balance']);
                $ox .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td><input type='hidden' size='20' name='open[{$oid}]' value='{$oid}'>{$od['type']}</td>\n\t\t\t\t\t<td>" . CUR . " {$od['balance']}</td>\n\t\t\t\t\t<td>{$od['date']}</td>\n\t\t\t\t\t<td><input type='hidden' name='open_amount[{$oid}]' value='{$open_amount[$oid]}'>" . CUR . " {$open_amount[$oid]}</td>\n\t\t\t\t</tr>";
            } elseif ($open_out < $od['balance']) {
                $open_amount[$oid] = $open_out;
                $open_out = 0;
                $ox .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td><input type='hidden' size='20' name='open[{$oid}]' value='{$od['id']}'>{$od['type']}</td>\n\t\t\t\t\t<td>" . CUR . " {$od['balance']}</td>\n\t\t\t\t\t<td>{$od['date']}</td>\n\t\t\t\t\t<td><input type='hidden' name='open_amount[{$oid}]' value='{$open_amount[$oid]}'>" . CUR . " {$open_amount[$oid]}</td>\n\t\t\t\t</tr>";
            }
            $i++;
        }
        if (open()) {
            $OUT .= "\n\t\t\t" . TBL_BR . "\n\t\t\t<input type='hidden' name='bout' value='{$amt}'>\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'><h3>Outstanding Transactions</h3></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<th>Description</th>\n\t\t\t\t<th>Outstanding Amount</th>\n\t\t\t\t<th>Date</th>\n\t\t\t\t<th>Amount</th>\n\t\t\t</tr>";
            $OUT .= $ox;
            $bout = $amt;
            $amt = $open_out;
            if ($amt > 0) {
                $OUT .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td colspan='4'><b>A general transaction will credit the client's account with " . CUR . " {$amt}</b></td>\n\t\t\t\t</tr>";
            }
            //$amt=$bout;
        } else {
            $OUT .= "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td colspan='4'><b>A general transaction will credit the client's account with " . CUR . " {$amt} </b></td>\n\t\t\t</tr>";
        }
    }
    $OUT .= "\n\t<input type='hidden' name='out' value='{$amt}' />\n\t<tr>\n\t\t<td colspan='5' align='right'>\n\t\t\t<input type='submit' name='btn_back' value='&laquo; Correction' />\n\t\t\t<input type='submit' value='Record Payment' />\n\t\t</td>\n\t</table>";
    return $OUT;
}
function details($_GET)
{
    extract($_GET);
    $ids = explode(",", $ids);
    # validate input
    require_lib("validate");
    $v = new validate();
    foreach ($ids as $invid) {
        $v->isOk($invid, "num", 1, 20, "Invalid recuring invoice number.");
    }
    # display errors, if any
    if ($v->isError()) {
        $err = $v->genErrors();
        $confirm = "{$err}<p><input type=button onClick='JavaScript:history.back();' value='&laquo; Correct submission'>";
        return $confirm;
    }
    /* --- Start Display --- */
    $printInv = "\n\t<h3>Confirm Invoice Printing Process</h3>\n\t<form action='" . SELF . "' method='POST'>\n\t\t<input type='hidden' name='key' value='process'>\n\t<table " . TMPL_tblDflts . ">\n\t\t<tr>\n\t\t\t<td colspan='6' class='err'>Please Note : This process might take long depending on the number of invoices. It is best to run it overnight.</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th>Invoice No.</th>\n\t\t\t<th>Invoice Date</th>\n\t\t\t<th>Customer Name</th>\n\t\t\t<th>Grand Total</th>\n\t\t</tr>";
    $i = 0;
    foreach ($ids as $key => $invid) {
        # Get recuring invoice info
        db_connect();
        $sql = "SELECT * FROM nons_invoices WHERE invid = '{$invid}' AND div = '" . USER_DIV . "' AND done!='y'";
        $invRslt = db_exec($sql) or errDie("Unable to get recuring invoice information");
        if (pg_numrows($invRslt) < 1) {
            return "<i class='err'>Invoice Not Found, Please make sure you have selected a unprinted invoice.</i>";
        }
        $inv = pg_fetch_array($invRslt);
        $bgColor = bgcolor($i);
        $inv['total'] = sprint($inv['total']);
        $inv['balance'] = sprint($inv['balance']);
        $printInv .= "\n\t\t<input type=hidden name='invids[]' value='{$inv['invid']}'>\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td>T {$inv['invid']}</td>\n\t\t\t<td valign='center'>{$inv['odate']}</td>\n\t\t\t<td>{$inv['cusname']}</td>\n\t\t\t<td align=right>" . CUR . " {$inv['total']}</td>\n\t\t</tr>";
    }
    $bgColor = bgcolor($i);
    $printInv .= "<tr class='" . bg_class() . "'><td colspan=6 align=right>Totals Invoices : {$i}</td></tr>\n\t<tr><td><br></td></tr>\n\t<tr><td colspan=6 align=right><input type=submit value='Process >>'></td></tr>\n\t</form></table>\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='bg-odd'><td><a href='rec-nons-invoice-new.php'>New Recurring Non-stock Invoice</a></td></tr>\n\t<tr class='bg-odd'><td><a href='rec-nons-invoice-view.php'>View Recurring Non-stock Invoices</a></td></tr>\n\t<script>document.write(getQuicklinkSpecial());</script>\n\t</table>";
    return $printInv;
}
function printSord()
{
    extract($_REQUEST);
    if (isset($key)) {
        $key = strtolower($key);
        switch ($key) {
            case "export to spreadsheet":
            case "print":
            case "save":
                $pure = true;
                break;
            case "view":
            default:
                $pure = false;
        }
    } else {
        $pure = false;
    }
    if (!isset($from_year)) {
        explodeDate(false, $from_year, $from_month, $from_day);
        explodeDate(false, $to_year, $to_month, $to_day);
    }
    $printSord = "";
    if (!$pure) {
        $printSord .= "\n\t\t<form method='post' action='" . SELF . "'>\n\t    <table " . TMPL_tblDflts . ">\n\t    <tr>\n\t    \t<th colspan='2'>View Options</th>\n\t    </tr>\n\t    <tr class='" . bg_class() . "'>\n\t    \t<td>Begin Date:</td>\n\t    \t<td>" . mkDateSelect("from", $from_year, $from_month, $from_day) . "</td>\n\t\t</tr>\n\t\t<tr class='" . bg_class() . "'>\n\t    \t<td>End Date:</td>\n\t    \t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\n\t    </tr>\n\t    <tr>\n\t    \t<td colspan='2' align='right'><input type='submit' value='Filter' /></td>\n\t    </tr>\n\t    </table>";
    }
    if (!isset($key)) {
        $printSord .= "</form>";
        return $printSord;
    }
    $printSord .= "\n\t<table " . TMPL_tblDflts . ">\n\t<tr>\n\t\t<th>Department</th>\n\t\t<th>Sales Person</th>\n\t\t<th>Sales Order No.</th>\n\t\t<th>Sales Order Date</th>\n\t\t<th>Customer Name</th>\n\t\t<th>Order No</th>\n\t\t" . ($pure ? "" : "<th colspan=6>Options</th>") . "\n\t</tr>";
    $i = 0;
    $sql = "SELECT * FROM cubit.sorders\n    \t\tWHERE accepted = 'n' AND done = 'y' AND div = '" . USER_DIV . "' AND\n    \t\t\todate BETWEEN '{$from_year}-{$from_month}-{$from_day}' AND \n    \t\t\t\t'{$to_year}-{$to_month}-{$to_day}' AND slip_done='n'\n    \t\tORDER BY sordid DESC";
    $sordRslt = db_exec($sql) or errDie("Unable to retrieve Sales Orders.");
    if (pg_numrows($sordRslt) < 1) {
        $printSord .= "\n\t\t<tr bgcolor='" . bgcolorc(0) . "'>\n\t\t\t<td colspan='13'>No Sales Orders matching criteria.</td>\n\t\t</tr>";
    } else {
        while ($sord = pg_fetch_array($sordRslt)) {
            # alternate bgcolor
            $bgColor = bgcolor($i);
            # format date
            $sord['odate'] = explode("-", $sord['odate']);
            $sord['odate'] = $sord['odate'][2] . "-" . $sord['odate'][1] . "-" . $sord['odate'][0];
            $det = "sorder-details.php";
            $cancel = "sorder-cancel.php";
            $accept = "sorder-accept.php";
            $print = "sorder-print.php";
            $edit = "sorder-new.php";
            if ($sord['location'] == 'int') {
                $det = "intsorder-details.php";
                $cancel = "intsorder-cancel.php";
                $accept = "intsorder-accept.php";
                $print = "intsorder-print.php";
                $edit = "intsorder-new.php";
            }
            $sp4 = "&nbsp;&nbsp;&nbsp;&nbsp;";
            $bcurr = CUR;
            if ($sord['location'] == 'int') {
                $bcurr = $sord['currency'];
            }
            if ($sord["username"] == USER_NAME || user_is_admin(USER_NAME)) {
                $done = "\n\t\t\t\t<a href='picking_slip_done.php?sordid={$sord['sordid']}'>\n\t\t\t\t\tCancel\n\t\t\t\t</a>";
            } else {
                $done = "";
            }
            $printSord .= "<tr class='" . bg_class() . "'>\n\t\t\t\t<td>{$sord['deptname']}</td>\n\t\t\t\t<td>{$sord['salespn']}</td>\n\t\t\t\t<td>{$sord['sordid']}</td>\n\t\t\t\t<td align=center>{$sord['odate']}</td>\n\t\t\t\t<td>{$sord['cusname']} {$sord['surname']}</td>\n\t\t\t\t<td align=right>{$sord['ordno']}</td>\n\t\t\t\t<td>\n\t\t\t\t\t<a href='javascript:printer(\"picking_slips/picking_slip_print.php?sordid={$sord['sordid']}\")'>\n\t\t\t\t\t\tPrint Picking Slip\n\t\t\t\t\t</a>\n\t\t\t\t</td>\n\t\t\t\t<td>\n\t\t\t\t\t<a href='" . SELF . "?key=invoice&sordid={$sord['sordid']}'>\n\t\t\t\t\t\tInvoice\n\t\t\t\t\t</a>\n\t\t\t\t</td>\n\t\t\t\t<td>\n\t\t\t\t\t<a href='" . SELF . "?key=pos_invoice&sordid={$sord['sordid']}'>\n\t\t\t\t\t\tPOS Invoice\n\t\t\t\t\t</a>\n\t\t\t\t</td>\n\t\t\t\t<td>{$done}</td>";
        }
    }
    if (!$pure) {
        $printSord .= "\n\t\t</table>\n\t\t</form>";
    } else {
        $printSord .= "\n\t\t</table>";
        $OUTPUT = clean_html($printSord);
        switch ($key) {
            case "export to spreadsheet":
                require_lib("xls");
                StreamXLS("sorders", $OUTPUT);
                break;
            case "print":
                $OUTPUT = "<h3>Sales Orders</h3>{$OUTPUT}";
                require "tmpl-print.php";
                break;
            case "save":
                $pure = true;
                break;
        }
    }
    return $printSord;
}
 /**
  * makes the template used by getfrm_input() and getfrm_confirm()
  */
 private function getfrm_tmpl()
 {
     $OUT = "<h3>{$this->title}</h3>";
     if (!empty($this->title_msg)) {
         $OUT .= "{$this->title_msg}<br /><br />";
     }
     /* add defaults buttons if none was added */
     if (!$this->has_buttons) {
         /* if this is a confirm screen */
         if (array_search($this->key, $this->keys) > 0) {
             $this->add_ctrlbtn("&laquo; Correction", "submit", "btn_back");
         }
         $this->add_ctrlbtn("Submit", "submit", "btn_submit");
     }
     /* form encoding */
     if ($this->dataform === true) {
         $et = "enctype='multipart/form-data'";
     } else {
         $et = "";
     }
     /* validation errors */
     $errs = "";
     if (isset($this->errors[$this->key])) {
         foreach ($this->errors[$this->key] as $ifldname => $flderr) {
             $errs .= "<li class='err'>{$flderr}</li>";
         }
     }
     /* start output */
     $totcols = $this->cols * 2;
     $OUT .= "\n\t\t<form name='{$this->frmname}' method='{$this->method}' action='{$this->action}' {$et}>";
     /* class information */
     $OUT .= $this->getpasson();
     $OUT .= "%%CUBIT_FLD%HIDDEN%%";
     /* main table layout */
     $CELLOUT = array();
     /* column table layout */
     $OUT .= "\n\t\t<table " . TMPL_tblDflts . ">";
     if (!empty($errs)) {
         $OUT .= "\n\t\t\t<tr>\n\t\t\t\t<th colspan='{$totcols}'>There are problems with values of the following fields:</th>\n\t\t\t<tr>\n\t\t\t<tr bgcolor='" . bgcolorc(0) . "'>\n\t\t\t\t<td colspan='{$totcols}'>{$errs}</td>\n\t\t\t</tr>";
     }
     /* add fields */
     $i = 0;
     // bgcolor counter
     $maxcols = 1;
     // maximum number of columns of any row
     $ctrlbtns = array();
     // store ctrlbutton names as they are found
     $layout = "";
     // buffer for layout filling
     $layout_capacity = false;
     // capacity of current layout to still be filled
     foreach ($this->fields as $ifldname => $fldopt) {
         $fldname = base64_decode($ifldname);
         #manual error handling
         if (!isset($fldopt["pos_col"])) {
             $fldopt["pos_col"] = "";
         }
         if (!isset($fldopt["pos_row"])) {
             $fldopt["pos_row"] = "";
         }
         /* count max columns */
         if ($fldopt["pos_col"] > $maxcols) {
             $maxcols = $fldopt["pos_col"];
         }
         /* create pointer to the output cell variable */
         if (!isset($CELLOUT[$fldopt["pos_row"]])) {
             $CELLOUT[$fldopt["pos_row"]] = array($fldopt["pos_col"] => "");
         } else {
             if (!isset($CELLOUT[$fldopt["pos_row"]][$fldopt["pos_col"]])) {
                 $CELLOUT[$fldopt["pos_row"]][$fldopt["pos_col"]] = "";
             }
         }
         $fOUT =& $CELLOUT[$fldopt["pos_row"]][$fldopt["pos_col"]];
         /* heading type */
         if ($fldopt["type"] == "heading") {
             $fOUT .= "\n\t\t\t\t<tr>\n\t\t\t\t\t<th colspan='2'>{$fldopt['disp']}</th>\n\t\t\t\t</tr>";
         } else {
             if ($fldopt["type"] == "message") {
                 $fOUT .= "\n\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t<td colspan='2'>{$fldopt['disp']}</td>\n\t\t\t\t</tr>";
             } else {
                 if ($fldopt["type"] == "ctrlbutton") {
                     if ($fldopt["dispkey"] == $this->key) {
                         $ctrlbtns[] = $ifldname;
                     }
                 } else {
                     if ($fldopt["type"] == "layout") {
                         if ($this->key == $fldopt["dispkey"] || $fldopt["sticky"]) {
                             //print_r($fldopt);
                             if ($fldopt["capacity"] == 0) {
                                 $fOUT .= $fldopt["data"];
                             } else {
                                 $layout .= $fldopt["data"];
                                 $layout_capacity += $fldopt["capacity"];
                             }
                         }
                     } else {
                         /* find positions in sequence of each key */
                         $cur_kpos = array_search($this->key, $this->keys);
                         $fld_kpos = array_search($fldopt["dispkey"], $this->keys);
                         /* only display field of current step is after/greater than
                         			the field's step */
                         if ($fld_kpos <= $cur_kpos) {
                             /* if an error for this field exists, highlight it */
                             if (isset($this->errors[$this->key][$ifldname])) {
                                 //$this->fields[$fldname]["opts"]["style"] = "border: 2px solid red;";
                                 $this->fields[$ifldname]["opts"]["class"] = "frmerr";
                                 $errstyle = "class='frmerr_l'";
                             } else {
                                 $errstyle = "";
                             }
                             /* create output tmpl for field by using layout */
                             if ($layout_capacity !== false) {
                                 --$layout_capacity;
                                 $this->layout_update($layout, $i, $fldopt["disp"], $fldname);
                                 /* last field added, add to output and disable layout gen */
                                 if ($layout_capacity == 0) {
                                     $fOUT .= $layout;
                                     $layout = "";
                                     $layout_capacity = false;
                                 }
                             } else {
                                 $fOUT .= "\n\t\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t\t<td>%%CUBIT_DSP%{$fldname}%%</td>\n\t\t\t\t\t\t\t<td>%%CUBIT_FLD%{$fldname}%%</td>\n\t\t\t\t\t\t</tr>";
                             }
                         }
                     }
                 }
             }
         }
     }
     /* now put the form field tables into rows/columns */
     foreach ($CELLOUT as $rownum => $rowcols) {
         $OUT .= "\n\t\t\t<tr>";
         for ($i = 1; $i <= $maxcols; ++$i) {
             if (isset($rowcols[$i])) {
                 $OUT .= "\n\t\t\t\t\t\t<td valign='top'>\n\t\t\t\t\t\t<table " . TMPL_tblDflts . " width='100%'>\n\t\t\t\t\t\t\t{$rowcols[$i]}\n\t\t\t\t\t\t</table>\n\t\t\t\t\t\t</td>";
             } else {
                 $OUT .= "<td>&nbsp;</td>";
             }
         }
         $OUT .= "\n\t\t\t</tr>";
         if (count($rowcols) > $maxcols) {
             $maxcols = count($rowcols);
         }
     }
     /* add control buttons */
     $btndata = array();
     foreach ($ctrlbtns as $ifldname) {
         $fldopt = $this->fields[$ifldname];
         if ($fldopt["name"] !== false) {
             $n = "name='{$fldopt['name']}'";
         } else {
             $n = "";
         }
         $btndata[] = "<input type='{$fldopt['btype']}' value='{$fldopt['disp']}' {$n} />";
     }
     $btndata = implode(" ", $btndata);
     $OUT .= "\n\t\t<tr>\n\t\t\t<td colspan='{$maxcols}' align='right' nowrap='t'>{$btndata}</td>\n\t\t</tr>";
     $OUT .= "\n\t\t</table>\n\t\t</form>";
     return $OUT;
 }
Esempio n. 10
0
                <td><?php 
    echo $max_c_date['year'];
    ?>
</td>
            </tr>
            <?php 
}
if (isset($max_a['year'])) {
    ?>
            <tr>
                <th><?php 
    echo _('Max A Level (last year)');
    ?>
</th>
                <td bgcolor="<?php 
    echo bgcolor($max_a['year'], $threshold_a);
    ?>
">
                    <font color="<?php 
    echo fontcolor($max_a['year'], $threshold_a);
    ?>
"><b><?php 
    echo $max_a['year'];
    ?>
</b></font>
                </td>
                <td><?php 
    echo $max_a_date['year'];
    ?>
</td>
            </tr>
Esempio n. 11
0
function echo_data($image, $topic, $row_color)
{
    global $ForumTableWidth, $ForumTableHeaderColor, $ForumTableHeaderFontColor;
    global $ForumTableBodyColor1, $ForumTableBodyFontColor1, $ForumTableBodyColor2, $ForumTableBodyFontColor2;
    global $read_page, $ext, $collapse, $id, $UseCookies, $phflat, ${$phflat};
    global $space_gif, $num, $old_message, $haveread, $use_haveread;
    global $lNew, $GetVars, $users, $moderators;
    $thread_total = "";
    if ($row_color % 2 == 0) {
        $bgcolor = $ForumTableBodyColor1;
        $font_color = $ForumTableBodyFontColor1;
    } else {
        $bgcolor = $ForumTableBodyColor2;
        $font_color = $ForumTableBodyFontColor2;
    }
    $subject = "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" " . bgcolor($bgcolor) . ">\n";
    $subject .= "<tr>\n<td>";
    $subject .= $space_gif;
    $subject .= $image . "</td>\n<td><font color=\"{$font_color}\">&nbsp;";
    if (!empty($users[$topic["userid"]])) {
        $author = $users[$topic["userid"]]["name"];
        if (isset($moderators[$topic["userid"]])) {
            $author = "<b>{$author}</b>";
        }
    } else {
        $author = chop($topic["author"]);
    }
    $datestamp = date_format($topic["datestamp"]);
    if ($id == $topic["id"] && ($read = true)) {
        $subject .= "<b>" . $topic["subject"] . "</b>";
        $author = "<b>" . $author . "</b>";
        $datestamp = "<b>" . $datestamp . "</b>";
    } else {
        $subject .= "<a href=\"{$read_page}.{$ext}?f={$num}&i=" . $topic["id"];
        $reply_name = '';
        if (${$phflat}) {
            $reply_name = "#reply_" . $topic["id"];
        }
        $subject .= "&t=" . $topic["thread"] . "{$GetVars}{$reply_name}\">" . $topic["subject"] . "</a>";
    }
    $subject .= "&nbsp;&nbsp;</font>";
    if ($UseCookies) {
        $isnew = false;
        if ($use_haveread == true) {
            if ($old_message < $topic["id"]) {
                if (!isset($haveread[$topic["id"]])) {
                    $isnew = true;
                }
            }
        } elseif ($old_message < $topic["id"]) {
            $isnew = true;
        }
        if ($isnew) {
            $subject .= "<font class=\"PhorumNewFlag\">" . $lNew . "</font>";
        }
    }
    $subject .= "</td>\n</tr>\n</TABLE>";
    ?>
<tr valign=middle>
<td class="PhorumListRow" <?php 
    echo bgcolor($bgcolor);
    ?>
><?php 
    echo $subject;
    ?>
</td>
<td class="PhorumListRow" <?php 
    echo bgcolor($bgcolor);
    ?>
 nowrap><font color="<?php 
    echo $font_color;
    ?>
"><?php 
    echo $author;
    ?>
</font></td>
<td class="PhorumListRow" <?php 
    echo bgcolor($bgcolor);
    ?>
 nowrap><font color="<?php 
    echo $font_color;
    ?>
"><?php 
    echo $datestamp;
    ?>
&nbsp;</font></td>
</tr>
<?php 
}
function enter_data2($_POST)
{
    extract($_POST);
    global $_SESSION;
    $out = "\n\t\t<h3>Trial Balance Import</h3>\n\t\t%%USEDNUMS_MSG%%\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='login' value='1' />\n\t\t\t<input type='hidden' name='div' value='{$_SESSION['USER_DIV']}' />\n\t\t\t<input type='hidden' name='login_user' value='{$_SESSION['USER_NAME']}' />\n\t\t\t<input type='hidden' name='login_pass' value='{$_SESSION['USER_PASS']}' />\n\t\t\t<input type='hidden' name='code' value='{$_SESSION['code']}' />\n\t\t\t<input type='hidden' name='comp' value='{$_SESSION['comp']}' />\n\t\t\t<input type='hidden' name='noroute' value='1' />\n\t\t\t<input type='hidden' name='prd' value='{$prd}' />\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th colspan='2'>Importing into " . getMonthName($prd) . " " . getYearOfFinMon($prd) . "</th>\n\t\t\t</tr>\n\t\t\t" . TBL_BR . "\n\t\t\t<tr>\n\t\t\t\t<th>Acc No</th>\n\t\t\t\t<th>Account Name</th>\n\t\t\t\t<th>Debit</th>\n\t\t\t\t<th>Credit</th>\n\t\t\t\t<th>Confrim Account to link to/Select category of new account</th>\n\t\t\t</tr>";
    db_conn('exten');
    $Sl = "SELECT stkacc FROM warehouses";
    $Ri = db_exec($Sl);
    $wd = pg_fetch_array($Ri);
    $ic = $wd['stkacc'];
    $Sl = "SELECT debtacc,credacc FROM departments";
    $Ri = db_exec($Sl);
    $dd = pg_fetch_array($Ri);
    $cc = $dd['debtacc'];
    $sc = $dd['credacc'];
    db_conn('cubit');
    $Sl = "SELECT * FROM import_data ORDER BY des1";
    $Ri = db_exec($Sl);
    $i = 0;
    $tot_debit = 0;
    $tot_credit = 0;
    db_conn('core');
    $Sl = "SELECT accnum FROM salacc WHERE name='salaries control'";
    $Rt = db_exec($Sl);
    $sd = pg_fetch_array($Rt);
    $salc = $sd['accnum'];
    $blocked = array();
    $cc_tot = 0;
    $sc_tot = 0;
    $sal_tot = 0;
    $i_tot = 0;
    $usednums_msg = $dupnums_msg = "";
    while ($fd = pg_fetch_array($Ri)) {
        $fid = $fd['id'];
        $bgcolor = bgcolor($i);
        $accnum_parts = explode("/", $fd["des1"]);
        $accnum = "{$fd['des1']}";
        if (substr($accounts[$fid], 0, 1) == "n") {
            $check_num = new dbSelect("accounts", "core", grp(m("where", wgrp(m("topacc", $accnum_parts[0]), m("accnum", $accnum_parts[1])))));
            $check_num->run();
        } else {
            $check_num = false;
        }
        $check_dup = new dbSelect("import_data", "cubit", grp(m("where", "des1='{$fd['des1']}' AND id!='{$fd['id']}'")));
        $check_dup->run();
        if ($check_num && $check_num->num_rows() > 0 || $check_dup->num_rows() > 0) {
            $mark = "";
            if ($check_dup->num_rows() > 0) {
                $mark .= IMP;
                $dupnums_msg = "\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan='2' class='err'>Accounts marked with " . IMP . " have account numbers\n\t\t\t\t\t\tused by other accounts in the import. Please change them so all\n\t\t\t\t\t\taccounts have unique numbers.\n\t\t\t\t\t</tr>\n\t\t\t\t</tr>";
            }
            if ($check_num && $check_num->num_rows() > 0) {
                $mark .= REQ;
                $usednums_msg = "\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan='2' class='err'>Accounts marked with " . REQ . " have account numbers\n\t\t\t\t\t\talready in use by Cubit. Either delete these accounts from Cubit or change the\n\t\t\t\t\t\taccount numbers in the fields provided.\n\t\t\t\t\t</td>\n\t\t\t\t</tr>";
            }
            $recommended_accnums = "\n\t\t\t<tr>\n\t\t\t\t<td colspan='2' class='err'><u><b>Recommended Account Numbers:</b></u></td>\n\t\t\t</tr>\n\t\t\t<tr class='err'>\n\t\t\t\t<td nowrap><b>Income Account</b>:</td>\n\t\t\t\t<td width='100%'>" . str_pad(MIN_INC, 4, '0', STR_PAD_LEFT) . "/000 <i>to</i> " . MAX_INC . "/999</td>\n\t\t\t</tr>\n\t\t\t<tr class='err'>\n\t\t\t\t<td nowrap><b>Expense Account</b>:</td>\n\t\t\t\t<td width='100%'>" . MIN_EXP . "/000 <i>to</i> " . MAX_EXP . "/999</td>\n\t\t\t</tr>\n\t\t\t<tr class='err'>\n\t\t\t\t<td nowrap><b>Balance Sheet Account</b>:</td>\n\t\t\t\t<td width='100%'>" . MIN_BAL . "/000 <i>to</i> " . MAX_BAL . "/999</td>\n\t\t\t</tr>";
            $accnum = "{$mark}\n\t\t\t\t<input type='text' size='4' name='topacc[{$fid}]' value='{$accnum_parts['0']}' /> /\n\t\t\t\t<input type='text' size='3' name='accnum[{$fid}]' value='{$accnum_parts['1']}' />";
        }
        if (substr($accounts[$fid], 0, 1) == "n") {
            switch (substr($accounts[$fid], 1, 1)) {
                case "1":
                    $catsa = array("-- INCOME", "other_income" => "Other Income", "sales" => "Sales");
                    break;
                case "2":
                    $catsa = array("-- EXPENSES", "expenses" => "Expenses", "cost_of_sales" => "Cost of Sales");
                    break;
                case "3":
                    $catsa = array("-- ASSETS", "fixed_asset" => "Fixed Assets", "investments" => "Investments", "other_fixed_asset" => "Other Fixed Assets", "current_asset" => "Current Assets", "-- EQUITY AND LIABILITIES", "share_capital" => "Share Capital", "retained_income" => "Retained Income", "shareholders_loan" => "Shareholders Loan", "non_current_liability" => "Non-current Liabilities", "long_term_borrowing" => "Long Term Borrowings", "other_long_term_liability" => "Other Long Term Liabilities", "current_liability" => "Current Liabilities");
            }
            $cats = "<select name='cat[{$fid}]'>";
            $optgrouped = false;
            foreach ($catsa as $dbval => $humanval) {
                if (isset($cat) && $cat[$fid] == "{$dbval}:{$humanval}") {
                    $sel = "selected";
                } else {
                    $sel = "";
                }
                if (substr($humanval, 0, 3) == "-- ") {
                    if ($optgrouped) {
                        $cats .= "</optgroup>";
                    }
                    $cats .= "<optgroup label='" . substr($humanval, 3) . "'>";
                    continue;
                }
                $cats .= "<option value='{$dbval}:{$humanval}' {$sel}>{$humanval}</option>";
            }
            if ($optgrouped) {
                $cats .= "</optgroup>";
            }
            $cats .= "</select>";
            $add = "{$cats}</td>";
        } else {
            $accounts[$fid] += 0;
            if (in_array($accounts[$fid], $blocked)) {
                $Sl = "SELECT accid,accname FROM accounts WHERE accid='{$accounts[$fid]}'";
                $Rx = db_exec($Sl);
                $ad = pg_fetch_array($Rx);
                return enter_data($_POST) . "<li class='err'>You cannot link an account to more than one account({$ad['accname']}).</li>";
            }
            $blocked[] = $accounts[$fid];
            $Sl = "SELECT accid,accname FROM accounts WHERE accid='{$accounts[$fid]}'";
            $Rx = db_exec($Sl);
            $ad = pg_fetch_array($Rx);
            $add = "{$ad['accname']}</td>";
            if ($ad['accid'] == $cc) {
                $cc_tot = sprint($fd['des3'] - $fd['des4']);
            }
            if ($ad['accid'] == $sc) {
                $sc_tot = sprint($fd['des4'] - $fd['des3']);
            }
            if ($ad['accid'] == $ic) {
                $i_tot = sprint($fd['des3'] - $fd['des4']);
            }
            if ($ad['accid'] == $salc) {
                $sal_tot = sprint($fd['des4'] - $fd['des3']);
            }
        }
        $out .= "\n\t\t\t<input type='hidden' name='accounts[{$fid}]' value='{$accounts[$fid]}' />\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>{$accnum}</td>\n\t\t\t\t<td>{$fd['des2']}</td>\n\t\t\t\t<td>{$fd['des3']}</td>\n\t\t\t\t<td>{$fd['des4']}</td>\n\t\t\t\t<td>{$add}</td>\n\t\t\t</tr>";
        $tot_debit += $fd['des3'];
        $tot_credit += $fd['des4'];
    }
    $tot_debit = sprint($tot_debit);
    $tot_credit = sprint($tot_credit);
    $out .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td colspan='2'>Total</td>\n\t\t\t<td align='right'>{$tot_debit}</td>\n\t\t\t<td align='right'>{$tot_credit}</td>\n\t\t</tr>";
    if ($cc_tot > 0) {
        db_conn('cubit');
        $Sl = "SELECT cusnum,accno,surname FROM customers ORDER BY surname";
        $Ri = db_exec($Sl);
        if (pg_num_rows($Ri) < 1) {
            return "<li class='err'>If you want to import your customer control account you need to add customers first</li>";
        }
        $out .= "\n\t\t\t<tr>\n\t\t\t\t<td colspan='4'><li class='err'>Please enter the customer balances to link up with 'Customer Control Account'</li></td>\n\t\t\t</tr>\n\t\t\t" . TBL_BR . "\n\t\t\t<tr>\n\t\t\t\t<td colspan='10'>\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>Acc No</th>\n\t\t\t\t\t\t\t<th>Customer</th>\n\t\t\t\t\t\t\t<th>Balance</th>\n\t\t\t\t\t\t</tr>";
        $tot = 0;
        while ($cd = pg_fetch_array($Ri)) {
            $cid = $cd['cusnum'];
            if (!isset($cbalance[$cid])) {
                $cbalance[$cid] = "";
            }
            $out .= "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>{$cd['accno']}</td>\n\t\t\t\t<td>{$cd['surname']}</td>\n\t\t\t\t<td><input type='text' size='12' name='cbalance[{$cid}]' value='{$cbalance[$cid]}'></td>\n\t\t\t</tr>";
        }
        $out .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td colspan='2'><b>Total</b></td>\n\t\t\t\t\t<td align='right'><b>" . CUR . " {$cc_tot}</b></td>\n\t\t\t\t</tr>\n\t\t\t</td>\n\t\t</tr>";
        $out .= "<tr><td><br></td></tr>";
    }
    if ($sc_tot > 0) {
        db_conn('cubit');
        $Sl = "SELECT supid,supno,supname FROM suppliers ORDER BY supname";
        $Ri = db_exec($Sl);
        if (pg_num_rows($Ri) < 1) {
            return "<li class='err'>If you want to import your supplier control account you need to add suppliers first</li>";
        }
        $out .= "\n\t\t\t<tr>\n\t\t\t\t<td colspan='4'><li class='err'>Please enter the supplier balances to link up with 'Supplier Control Account'</li></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 colspan='10'>\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>Supplier No</th>\n\t\t\t\t\t\t\t<th>Supplier</th>\n\t\t\t\t\t\t\t<th>Balance</th>\n\t\t\t\t\t\t</tr>";
        $tot = 0;
        while ($cd = pg_fetch_array($Ri)) {
            $sid = $cd['supid'];
            if (!isset($sbalance[$sid])) {
                $sbalance[$sid] = "";
            }
            $out .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td>{$cd['supno']}</td>\n\t\t\t\t\t<td>{$cd['supname']}</td>\n\t\t\t\t\t<td><input type='text' size='12' name='sbalance[{$sid}]' value='{$sbalance[$sid]}'></td>\n\t\t\t\t</tr>";
        }
        $out .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td colspan='2'><b>Total</b></td>\n\t\t\t<td align='right'><b>" . CUR . " {$sc_tot}</b></td>\n\t\t</tr>";
        $out .= "\n\t\t</td></tr>";
        $out .= TBL_BR;
    }
    if ($sal_tot > 0) {
        $emps = qryEmployee();
        $out .= "\n\t\t\t<tr>\n\t\t\t\t<td colspan='4'><li class='err'>Please enter the employee balances to link up with 'Employees Control Account'</li></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 colspan='10'>\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>Employee Number</th>\n\t\t\t\t\t\t\t<th>Employee</th>\n\t\t\t\t\t\t\t<th>Balance</th>\n\t\t\t\t\t\t</tr>";
        $tot = 0;
        while ($cd = $emps->fetch_array()) {
            $eid = $cd['empnum'];
            if (!isset($ebalance[$eid])) {
                $ebalance[$eid] = "";
            }
            $out .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td>{$cd['enum']}</td>\n\t\t\t\t\t<td>{$cd['sname']}, {$cd['fnames']}</td>\n\t\t\t\t\t<td><input type='text' size='12' name='ebalance[{$eid}]' value='{$ebalance[$eid]}'></td>\n\t\t\t\t</tr>";
            $i++;
        }
        $out .= "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td colspan='2'><b>Total</b></td>\n\t\t\t\t\t\t<td align='right'><b>" . CUR . " {$sal_tot}</b></td>\n\t\t\t\t\t</tr>\n\t\t\t\t</td>\n\t\t\t</tr>";
        $out .= "<tr><td><br></td></tr>";
    }
    if ($i_tot > 0) {
        db_conn('cubit');
        $Sl = "SELECT stkid,stkcod,stkdes FROM stock ORDER BY stkcod";
        $Ri = db_exec($Sl);
        if (pg_num_rows($Ri) < 1) {
            return "<li class='err'>If you want to import your inventory control account you need to add stock first</li>";
        }
        $out .= "\n\t\t\t<tr>\n\t\t\t\t<td colspan='4'><li class='err'>Please enter the inventory balances to link up with 'Inventory Control Account'</li></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 colspan='10'>\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th>Stock Code</th>\n\t\t\t\t\t\t\t<th>Description</th>\n\t\t\t\t\t\t\t<th>Balance(" . CUR . ")</th>\n\t\t\t\t\t\t\t<th>Units(Qty)</th>\n\t\t\t\t\t\t</tr>";
        $tot = 0;
        $stocktot = 0;
        while ($cd = pg_fetch_array($Ri)) {
            $iid = $cd['stkid'];
            if (!isset($ibalance[$iid])) {
                $ibalance[$iid] = "";
            }
            if (!isset($units[$iid])) {
                $units[$iid] = "";
            }
            #check if this stock item has balance,units
            $stksql = "SELECT units,balance FROM stock_tbimport WHERE stkid = '{$cd['stkid']}' LIMIT 1";
            $runstk = db_exec($stksql) or errDie("Unable to get stock information.");
            if (pg_numrows($runstk) > 0) {
                if (!isset($ibalance[$iid]) or strlen($ibalance[$iid]) < 1) {
                    $stkarr = pg_fetch_array($runstk);
                    $ibalance[$iid] = $stkarr['balance'];
                    $units[$iid] = $stkarr['units'];
                }
            }
            $out .= "\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t<td>{$cd['stkcod']}</td>\n\t\t\t\t\t<td>{$cd['stkdes']}</td>\n\t\t\t\t\t<td><input type=text size=12 name=ibalance[{$iid}] value='{$ibalance[$iid]}'></td>\n\t\t\t\t\t<td><input type=text size=5 name=units[{$iid}] value='{$units[$iid]}'></td>\n\t\t\t\t</tr>";
            $stocktot = $stocktot + $ibalance[$iid];
            $i++;
        }
        $bgcolor = bgcolor($i);
        $stocktot = sprint($stocktot);
        $out .= "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td colspan='2'><b>Import Stock Total</b></td>\n\t\t\t\t\t\t<td align='right'><b>" . CUR . " {$stocktot}</b></td>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td colspan='2'><b>Total</b></td>\n\t\t\t\t\t\t<td align='right'><b>" . CUR . " {$i_tot}</b></td>\n\t\t\t\t\t\t<td>&nbsp;</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</td>\n\t\t\t</tr>";
        $out .= TBL_BR;
    }
    $out .= "\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'><input type='submit' name='back' value='&laquo; Correction'></td>\n\t\t\t\t<td colspan='1' align='right'><input type='submit' value='Confirm &raquo;'></td>\n\t\t\t</tr>\n\t\t\t<input type='hidden' name='cc_tot' value='{$cc_tot}'>\n\t\t\t<input type='hidden' name='sal_tot' value='{$sal_tot}'>\n\t\t\t<input type='hidden' name='sc_tot' value='{$sc_tot}'>\n\t\t\t<input type='hidden' name='i_tot' value='{$i_tot}'>\n\t\t</form>\n\t\t</table>";
    if (!isset($recommended_accnums)) {
        $recommended_accnums = "";
    }
    $dispmsg = "\n\t\t<table " . TMPL_tblDflts . " width='600'>\n\t\t\t{$usednums_msg}\n\t\t\t{$dupnums_msg}\n\t\t\t" . TBL_BR . "\n\t\t\t{$recommended_accnums}\n\t\t\t" . TBL_BR . "\n\t\t</table>";
    $out = preg_replace("/%%USEDNUMS_MSG%%/", $dispmsg, $out);
    return $out;
}
Esempio n. 13
0
function rr_row($soa, $rr = NULL)
{
    global $rr_use_active, $rr_active_types, $query_host, $query_origin, $page, $query, $allow_ixfr;
    $values = $rr;
    $widget = NULL;
    if (isset($values['edata'])) {
        if (strlen($values['edata'])) {
            $values['data'] .= $values['edata'];
        }
    }
    if (!strlen($values['name'])) {
        $values['name'] = $soa['origin'];
    }
    /* Build '$match', a name to highlight if we find it */
    $match = strlen($query_host) ? $query_host . "." . $query_origin : NULL;
    /* Set background color - highlighted if this name matches $match */
    $bgcolor = bgcolor();
    if ($match) {
        $name = $values['name'];
        if (!ends_with_dot($name)) {
            $name = $name . "." . $soa['origin'];
        }
        if (!strcasecmp($match, $name)) {
            $bgcolor = bgcolor(1);
        }
    }
    if ($rr == NULL) {
        /* Empty (new) resource record */
        $new_rr = 1;
        if (isset($_POST['done']) && $_POST['done'] == "1" && isset($_POST['zone'])) {
            $values = rr_post_vars();
            $widget = "ErrorSmall.png";
            $widget_text = "Error";
        } else {
            $rr = array();
            $rr['active'] = $rr_active_types[1];
            $rr['ttl'] = $soa['ttl'];
            $rr['type'] = "A";
            $values = $rr;
        }
        $add_button = formbutton("Add new RR", "Click this button to add these fields as a new resource record.", $bgcolor);
        $buttons = $add_button;
    } else {
        /* Existing resource record */
        $new_rr = 0;
        if (isset($_POST['id']) && $rr['id'] == $_POST['id']) {
            $values['serial'] = $_POST['serial'];
            $values['stamp'] = $_POST['stamp'];
            $values['active'] = $rr_active_types[gettrinary($_POST['active'])];
            $values['name'] = $_POST['name'];
            $values['ttl'] = $_POST['ttl'];
            $values['aux'] = $_POST['aux'];
            $values['data'] = $_POST['data'];
            $widget = "ErrorSmall.png";
            $widget_text = "Error";
        }
        $update_button = formbutton("Update", "Click this button to update this resource record.", $bgcolor);
        $delete_button = formbutton("Delete", "Click this button to permanently remove this resource record.", $bgcolor);
        $buttons = "{$update_button} {$delete_button}";
    }
    /* Set widget (the icon displayed in the first column) if applicable */
    if (!$new_rr) {
        rr_set_warnings($soa, $rr, $widget, $widget_text);
    }
    if (!$widget) {
        /* Set default widget if none was set previously */
        $widget = "blank.gif";
        $widget_text = "";
    }
    /* Make sure 'values' are set to avoid "Undefined index" errors */
    foreach (array('name', 'ttl', 'type', 'aux', 'data') as $n) {
        if (!isset($values[$n])) {
            $values[$n] = '';
        }
    }
    ?>
<TABLE class=rrBox cellspacing=0>
<FORM action="<?php 
    echo $_SERVER['PHP_SELF'];
    ?>
" method=POST>
<TR bgcolor="<?php 
    echo $bgcolor;
    ?>
">
<TD class=rrCellLeft>
<?php 
    /* Output widget icon */
    echo "<IMG src=\"{$_SERVER['PHP_SELF']}?img={$widget}\" width=16 height=16 alt=\"{$widget_text}\" title=\"{$widget_text}\">\n";
    ?>
</TD>
<?php 
    /* Output "active" checkbox/selectbox if supported */
    if ($rr_use_active) {
        if ($allow_ixfr) {
            echo "<TD class=rrCell title=\"Record status selection.\">\n";
            echo "<TABLE><TR>";
            foreach ($rr_active_types as $rat) {
                echo "<TD>";
                echo "\t<INPUT class=activeList ";
                if ($rat == $values['active']) {
                    echo " checked";
                }
                echo " type=radio name=\"active\" value=\"" . $rat . "\">";
                echo $rat . "</INPUT>\n";
                echo "</TD>";
            }
            echo "</TR></TABLE>";
        } else {
            echo "<TD class=rrCell title=\"Uncheck this box to deactivate this resource record.\">\n";
            echo "\t<INPUT class=activeBox type=checkbox name=\"active\" value=\"" . $rr_active_types[1] . "\"";
            if (gettrinary($values['active'])) {
                echo " checked";
            }
            echo ">";
        }
        echo "</TD>\n";
    }
    ?>
<TD class=rrCell title="The name (hostname or FQDN) with which this resource record is associated.">
<INPUT type=hidden name="zone" value="<?php 
    echo $soa['id'];
    ?>
">
<?php 
    if ($new_rr) {
        echo "<INPUT type=hidden name=\"done\" value=\"1\">\n";
    } else {
        echo "<INPUT type=hidden name=\"id\" value=\"{$rr['id']}\">\n";
        echo "<A name=\"" . (int) $rr['id'] . "\"></A>\n";
    }
    if ($page) {
        echo "<INPUT type=hidden name=\"page\" value=\"{$page}\">\n";
    }
    if ($query) {
        echo "<INPUT type=hidden name=\"query\" value=\"" . ent($query) . "\">\n";
    }
    ?>
<INPUT class=mono type=text name="name" maxlength=255 size=25 value="<?php 
    echo ent($values['name']);
    ?>
">
</TD>
<TD class=rrCell title="The cache expiration time (TTL) for this resource record.">
<INPUT class=mono type=text name="ttl" maxlength=15 size=6 value="<?php 
    echo ent($values['ttl']);
    ?>
">
</TD>
<TD class=rrCell><TT>IN</TT></TD>
<TD class=rrCell title="The resource record type.">
<SELECT class=rrTypes name="type" size=1><?php 
    echo rr_type_options($values['type']);
    ?>
</SELECT>
</TD>
<TD class=rrCell title="Auxillary data for this resource record.">
<INPUT class=mono type=text name="aux" maxlength=15 size=5 value="<?php 
    echo ent($values['aux']);
    ?>
">
</TD>
<TD class=rrCell title="The data associated with this resource record.">
<INPUT class=mono type=text name="data" maxlength=65535 size=40 value="<?php 
    echo ent($values['data']);
    ?>
">
</TD>
<?php 
    if ($allow_ixfr) {
        echo "<TD class=rrCell title\"Timestamp of last record change\">" . ent($values['stamp']) . "</TD>\n";
        echo "<TD class=rrCell title=\"Serial number of soa when last changed\">" . ent($values['serial']) . "</TD>\n";
    }
    ?>
<TD class=rrCellRight><?php 
    echo $buttons;
    ?>
</TR>
</FORM>
</TABLE>

<?php 
}
Esempio n. 14
0
                            <th>User's</th>
                            <th>Manage Course</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php 
$count = 1;
if (isset($mentor_details)) {
    foreach ($mentor_details as $res) {
        echo "<tr>";
        echo "<td>" . $count++ . "</td>";
        echo "<td>" . $res->registration_no . "</td>";
        echo "<td>" . $res->user_fname . "</td>";
        echo "<td>" . $res->user_email . "</td>";
        echo "<td>" . $res->course_name . "</td>";
        echo "<td><small class='badge " . bgcolor(2) . "'>" . $res->sub_count . "</small></td>";
        echo "<td><button type='button' class='btn btn-danger' onClick='unlink_mentor_course(\"{$res->user_id}\",\"{$res->map_id}\");'>Un-Link</button></td>";
        echo "</tr>";
    }
}
function bgcolor($value)
{
    switch ($value) {
        case '2':
            return 'bg-green';
            break;
        case '8':
            return 'bg-yellow';
            break;
        default:
            return '';
function printCust()
{
    global $_SESSION;
    extract($_REQUEST);
    if (!isset($action)) {
        $action = "listcust";
    }
    /* session var prefix */
    $SPRE = "custview_";
    /* max number of customers in list */
    if (isset($viewall_cust)) {
        $offset = 0;
        define("ACT_SHOW_LIMIT", 2147483647);
    } else {
        define("ACT_SHOW_LIMIT", SHOW_LIMIT);
    }
    if (!isset($fval) && isset($_SESSION["{$SPRE}fval"])) {
        $fval = $_SESSION["{$SPRE}fval"];
    }
    if (!isset($filter) && isset($_SESSION["{$SPRE}filter"])) {
        $filter = $_SESSION["{$SPRE}filter"];
    }
    if (!isset($all) && isset($_SESSION["{$SPRE}all"]) && !isset($filter) && !isset($fval)) {
        $all = $_SESSION["{$SPRE}all"];
    }
    if (isset($filter) && isset($fval) && !isset($all)) {
        if (strlen($filter) > 0) {
            if ($filter == "all") {
                $sqlfilter = " AND (lower(accno) LIKE lower('%{$fval}%') OR lower(surname) LIKE lower('%{$fval}%') OR lower(paddr1) LIKE lower('%{$fval}%') OR lower(addr1) LIKE lower('%{$fval}%') OR lower(del_addr1) LIKE lower('%{$fval}%') OR lower(bustel) LIKE lower('%{$fval}%') OR lower(email) LIKE lower('%{$fval}%') OR lower(vatnum) LIKE lower('%{$fval}%') OR lower(contname) LIKE lower('%{$fval}%') OR lower(tel) LIKE lower('%{$fval}%') OR lower(cellno) LIKE lower('%{$fval}%') OR lower(fax) LIKE lower('%{$fval}%') OR lower(url) LIKE lower('%{$fval}%') OR lower(comments) LIKE lower('%{$fval}%') OR lower(bankname) LIKE lower('%{$fval}%') OR lower(branname) LIKE lower('%{$fval}%') OR lower(brancode) LIKE lower('%{$fval}%') OR lower(bankaccno) LIKE lower('%{$fval}%') OR lower(bankaccname) LIKE lower('%{$fval}%') OR lower(bankacctype) LIKE lower('%{$fval}%'))";
            } else {
                $sqlfilter = " AND lower({$filter}) LIKE lower('%{$fval}%')";
            }
        } else {
            $sqlfilter = "";
        }
        if (isset($_SESSION["{$SPRE}all"])) {
            unset($_SESSION["{$SPRE}all"]);
        }
        $_SESSION["{$SPRE}fval"] = $fval;
        $_SESSION["{$SPRE}filter"] = $filter;
    } else {
        if (isset($_SESSION["{$SPRE}fval"])) {
            unset($_SESSION["{$SPRE}fval"]);
        }
        if (isset($_SESSION["{$SPRE}filter"])) {
            unset($_SESSION["{$SPRE}filter"]);
        }
        $filter = "";
        $fval = "";
        $_SESSION["{$SPRE}all"] = "true";
        $sqlfilter = "";
    }
    $filterarr = array("all" => "Detailed", "surname" => "Company/Name", "init" => "Initials", "accno" => "Account Number", "deptname" => "Department", "category" => "Category", "class" => "Classification");
    $filtersel = extlib_cpsel("filter", $filterarr, $filter, "onChange='applyFilter();'");
    if (isset($export)) {
        $pure = true;
    } else {
        $pure = false;
    }
    if (!$pure) {
        # Set up table to display in
        $printCust_begin = "\n\t    <h3>" . (isset($findcust) ? "Find" : "Current") . " Customers</h3>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t<input type='hidden' name='action' value='{$action}' />\n\t\t<tr>\n\t\t\t<th>.: Filter :.</th>\n\t\t\t<th colspan='2'>.: Search :.</th>\n\t\t</tr>\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td>{$filtersel}</td>\n\t\t\t<td><input type='text' size='20' id='fval' value='{$fval}'></td>\n\t\t\t<td align='center'><input type='button' value='Search' onClick='applyFilter();' /></td>\n\t\t</tr>\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td align='center'><input type='button' name='all' value='View All' onClick='viewAll();' /></td>\n\t\t</tr>\n\t\t</table>\n\t\t<script>\n\t\t\t/* CRM CODE */\n\t\t\tfunction updateAccountInfo(id, name) {\n\t\t\t\twindow.opener.document.frm_con.accountname.value=name;\n\t\t\t\twindow.opener.document.frm_con.account_id.value=id;\n\t\t\t\twindow.opener.document.frm_con.account_type.value='Customer';\n\t\t\t\twindow.close();\n\t\t\t}\n\n\t\t\t/* AJAX filter code */\n\t\t\tfunction viewAll() {\n\t\t\t\tajaxRequest('" . SELF . "', 'cust_list', AJAX_SET, 'all=t');\n\t\t\t}\n\n\t\t\tfunction applyFilter() {\n\t\t\t\tfilter = getObject('filter').value;\n\t\t\t\tfval = getObject('fval').value;\n\n\t\t\t\tajaxRequest('" . SELF . "', 'cust_list', AJAX_SET, 'filter=' + filter + '&fval=' + fval);\n\t\t\t}\n\n\t\t\tfunction updateOffset(noffset, viewall) {\n\t\t\t\tif (viewall && !noffset) {\n\t\t\t\t\tajaxRequest('" . SELF . "', 'cust_list', AJAX_SET, 'viewall_cust=t');\n\t\t\t\t} else {\n\t\t\t\t\tajaxRequest('" . SELF . "', 'cust_list', AJAX_SET, 'offset=' + noffset);\n\t\t\t\t}\n\t\t\t}\n\t\t</script>\n\t\t<p>\n\t\t<div id='cust_list'>";
    } else {
        $printCust_begin = "";
    }
    /* FIND CUSTOMER START */
    if (!isset($findcust)) {
        $ajaxCust = "";
        if (!$pure) {
            $ajaxCust .= "\n\t\t<form action='statements-email.php' method='get'>\n\t\t<input type='hidden' name='key' value='confirm' />";
        }
        if (!isset($offset) && isset($_SESSION["{$SPRE}offset"])) {
            $offset = $_SESSION["{$SPRE}offset"];
        } else {
            if (!isset($offset)) {
                $offset = 0;
            }
        }
        $_SESSION["{$SPRE}offset"] = $offset;
        # connect to database
        db_connect();
        # counting the number of possible entries
        $sql = "SELECT * FROM customers\n    \t\tWHERE (div = '" . USER_DIV . "' OR  ddiv = '" . USER_DIV . "') {$sqlfilter}\n    \t\tORDER BY surname ASC";
        $rslt = db_exec($sql) or errDie("Error counting matching customers.");
        $custcount = pg_num_rows($rslt);
        # Query server
        $tot = 0;
        $totoverd = 0;
        $i = 0;
        if (!isset($ajaxCust)) {
            $ajaxCust = "";
        }
        /* view offsets */
        if ($offset > 0) {
            $poffset = $offset >= ACT_SHOW_LIMIT ? $offset - ACT_SHOW_LIMIT : 0;
            $os_prev = "<a class='nav' href='javascript: updateOffset(\"{$poffset}\");'>Previous</a>";
        } else {
            $os_prev = "&nbsp;";
        }
        if ($offset + ACT_SHOW_LIMIT > $custcount) {
            $os_next = "&nbsp;";
        } else {
            $noffset = $offset + ACT_SHOW_LIMIT;
            $os_next = "<a class='nav' href='javascript: updateOffset(\"{$noffset}\");'>Next</a>";
        }
        if ($os_next != "&nbsp;" || $os_prev != "&nbsp;") {
            $os_viewall = "| <a class='nav' href='javascript: updateOffset(false, true);'>View All</a>";
        } else {
            $os_viewall = "";
        }
        $ajaxCust .= "\n\t<table " . TMPL_tblDflts . ">\n\t<tr>\n\t\t<td colspan='20'>\n\t\t<table width='100%' border='0'>\n\t\t<tr>\n\t\t\t<td align='right' width='50%'>{$os_prev}</td>\n\t\t\t<td align='left' width='50%'>{$os_next} {$os_viewall}</td>\n\t\t</tr>\n\t\t</table>\n\t\t</td>\n\t</tr>\n\t<tr>\n\t\t<th>Acc no.</th>\n\t\t<th>Company/Name</th>\n\t\t<th>Tel</th>\n\t\t<th>Category</th>\n\t\t<th>Class</th>\n\t\t<th colspan='2'>Balance</th>\n\t\t<th>Overdue</th>\n\t\t" . ($pure ? "" : "<th colspan='11'>Options</th>") . "\n\t</tr>";
        /* query object for cashbook */
        $cashbook = new dbSelect("cashbook", "cubit");
        $custRslt = new dbSelect("customers", "cubit", grp(m("where", "(div ='" . USER_DIV . "' or ddiv='" . USER_DIV . "') {$sqlfilter}"), m("order", "surname ASC"), m("offset", $offset), m("limit", ACT_SHOW_LIMIT)));
        $custRslt->run();
        if ($custRslt->num_rows() < 1) {
            $ajaxCust .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td colspan='20'><li>There are no Customers matching the criteria entered.</li></td>\n\t\t</tr>";
        } else {
            while ($cust = $custRslt->fetch_array()) {
                if (!user_in_team($cust["team_id"], USER_ID)) {
                    continue;
                }
                # Check type of age analisys
                if (div_isset("DEBT_AGE", "mon")) {
                    $overd = ageage($cust['cusnum'], $cust['overdue'] / 30 - 1, $cust['location']);
                } else {
                    $overd = age($cust['cusnum'], $cust['overdue'] - 1, $cust['location']);
                }
                if ($overd < 0) {
                    $overd = 0;
                }
                if ($overd > $cust['balance']) {
                    $overd = $cust['balance'];
                }
                if ($cust["location"] == "int") {
                    $cur = qryCurrency($cust["fcid"], "rate");
                    $rate = $cur["rate"];
                    if ($rate != 0) {
                        $totoverd += $overd * $rate;
                    } else {
                        $totoverd += $overd;
                    }
                } else {
                    $totoverd += $overd;
                }
                if (!$pure) {
                    /* check if customer may be removed */
                    $cashbook->setOpt(grp(m("where", "cusnum='{$cust['cusnum']}' AND banked='no' AND div='" . USER_DIV . "'")));
                    $cashbook->run();
                    if ($cashbook->num_rows() <= 0 && $cust['balance'] == 0) {
                        $rm = "<td><a href='cust-rem.php?cusnum={$cust['cusnum']}'>Remove</a></td>";
                    } else {
                        $rm = "<td></td>";
                    }
                }
                if (strlen(trim($cust['bustel'])) < 1) {
                    $cust['bustel'] = $cust['tel'];
                }
                $cust['balance'] = sprint($cust['balance']);
                if ($cust["location"] == "int") {
                    if ($rate != 0.0) {
                        $tot = $tot + $cust['fbalance'] * $rate;
                    } else {
                        $tot = $tot + $cust['balance'];
                    }
                } else {
                    $tot = $tot + $cust['balance'];
                }
                /* determine which template to use when printing customer invoices */
                if (templateScript("invoices") != "pdf/cust-pdf-print-invoices.php") {
                    $template = "pdf/pdf-tax-invoice.php?type=cusprintinvoices";
                } else {
                    $template = "pdf/pdf-tax-invoice.php?type=cusprintinvoices";
                }
                $inv = "";
                $inv = "\n\t\t\t<td>\n\t\t\t\t<a href='{$template}&cusnum={$cust['cusnum']}' target='_blank'>Print Invoices</a>\n\t\t\t</td>";
                # Locations drop down
                $locs = array("loc" => "Local", "int" => "International", "" => "");
                $loc = $locs[$cust['location']];
                $fbal = "--";
                $ocurr = CUR;
                $trans = "\n\t\t\t<td>\n\t\t\t\t<a href='core/cust-trans.php?cusnum={$cust['cusnum']}'>Transaction</a>\n\t\t\t</td>";
                if ($cust['location'] == 'int') {
                    $fbal = "{$cust['currency']} {$cust['fbalance']}";
                    $ocurr = CUR;
                    $trans = "\n\t\t\t\t<td>\n\t\t\t\t\t<a href='core/intcust-trans.php?cusnum={$cust['cusnum']}'>Transaction</a>\n\t\t\t\t</td>";
                    $receipt = "<a href='bank/bank-recpt-inv-int.php?cusid={$cust['cusnum']}&amp;cash=yes'>Add Receipt</a>";
                } else {
                    $receipt = "<a href='bank/bank-recpt-inv.php?cusnum={$cust['cusnum']}&amp;cash=yes'>Add Receipt</a>";
                }
                # alternate bgcolor
                $bgColor = bgcolor($i);
                $ajaxCust .= "<tr class='" . bg_class() . "'>";
                if ($action == "contact_acc") {
                    $updatelink = "javascript: updateAccountInfo(\"{$cust['cusnum']}\", \"{$cust['accno']}\");";
                    $ajaxCust .= "\n\t\t\t\t\t<td><a href='{$updatelink}'>{$cust['accno']}</a></td>\n\t\t\t\t\t<td><a href='{$updatelink}'>{$cust['surname']}</a></td>";
                } else {
                    if ($action == "select") {
                        $ajaxCust .= "\n\t\t\t\t\t<td><a href='" . SELF . "?key=select&cusnum={$cust['cusnum']}&" . frmupdate_passon(true) . "'>{$cust['accno']}</a></td>\n\t\t\t\t\t<td><a href='" . SELF . "?key=select&cusnum={$cust['cusnum']}&" . frmupdate_passon(true) . "'>{$cust['surname']}</a></td>";
                    } else {
                        $ajaxCust .= "\n\t\t\t\t\t<td>{$cust['accno']}</td>\n\t\t\t\t\t<td>{$cust['surname']}</td>";
                    }
                }
                $ajaxCust .= "\n\t\t\t\t\t<td>{$cust['bustel']}</td>\n\t\t\t\t\t<td>{$cust['catname']}</td>\n\t\t\t\t\t<td>{$cust['classname']}</td>\n\t\t\t\t\t<td align='right' nowrap>{$ocurr} {$cust['balance']}</td>\n\t\t\t\t\t<td align='center' nowrap>{$fbal}</td>\n\t\t\t\t\t<td align='right' nowrap>{$ocurr} {$overd}</td>";
                if (!$pure) {
                    if ($action == "listcust") {
                        $ajaxCust .= "\n\t\t\t\t\t\t<td>{$receipt}</td>\n\t\t\t\t\t\t<td><a href='delnote-report.php?cusnum={$cust['cusnum']}'>Outstanding Stock</a></td>\n\t\t\t\t\t\t<td><a href='cust-det.php?cusnum={$cust['cusnum']}'>Details</a></td>\n\t\t\t\t\t\t<td><a href='customers-new.php?cusnum={$cust['cusnum']}'>Edit</a></td>\n\t\t\t\t\t\t<td><a href='#' onClick='openPrintWin(\"cust-stmnt.php?cusnum={$cust['cusnum']}\");'>Statement</a></td>\n\t\t\t\t\t\t{$trans} {$inv}";
                        if ($cust['blocked'] == 'yes') {
                            $ajaxCust .= "<td><a href='cust-unblock.php?cusnum={$cust['cusnum']}'>Unblock</a></td>";
                        } else {
                            $ajaxCust .= "<td><a href='cust-block.php?cusnum={$cust['cusnum']}'>Block</a></td>";
                        }
                        $ajaxCust .= "<td><a href='transheks/pricelist_send.php?cusnum={$cust['cusnum']}'>Send Pricelist</a></td>";
                        $ajaxCust .= "{$rm} <td><a href='conper-add.php?type=cust&amp;id={$cust['cusnum']}'>Add Contact</a></td>\n\t\t\t\t\t<td><input type='checkbox' name='cids[]' value='{$cust['cusnum']}' /></td>";
                    } else {
                        $ajaxCust .= "\n\t\t\t\t\t\t<td align=center>\n\t\t\t\t\t\t\t<a href='javascript: popupSized(\"cust-det.php?cusnum={$cust['cusnum']}\", \"custdetails\", 550, 400, \"\");'>Details</a>\n\t\t\t\t\t\t</td>";
                    }
                }
                $ajaxCust .= "</tr>";
            }
            $bgColor = bgcolor($i);
            $tot = sprint($tot);
            $totoverd = sprint($totoverd);
            $i--;
            $ajaxCust .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td colspan='5'>Total Amount Outstanding, from {$i} " . ($i > 1 ? "clients" : "client") . "</td>\n\t\t\t<td align='right' nowrap>" . CUR . " {$tot}</td>\n\t\t\t<td></td>\n\t\t\t<td align='right' nowrap>" . CUR . " {$totoverd}</td>\n\t\t\t" . ($pure ? "" : "<td colspan='11' align='right'><input type='submit' value='Email Statements' /></td>") . "\n\t\t</tr>";
            if (!$pure) {
                $ajaxCust .= "\n\t\t\t<tr>\n\t\t\t\t<td colspan='20'>\n\t\t\t\t<table width='100%' border='0'>\n\t\t\t\t<tr>\n\t\t\t\t\t<td align='right' width='50%'>{$os_prev}</td>\n\t\t\t\t\t<td align='left' width='50%'>{$os_next} {$os_viewall}</td>\n\t\t\t\t</tr>\n\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t</tr>";
            }
        }
        if ($pure) {
            $ajaxCust .= "</table>";
        } else {
            $ajaxCust .= "\n\t\t" . TBL_BR . "\n\t\t</table>\n\t\t</form>\n\t\t<form action='" . SELF . "' method='post'>\n\t\t<table>\n\t\t\t<input type='hidden' name='export' value='yes' />\n\t\t\t<input type='hidden' name='filter' value='{$filter}' />\n\t\t\t<input type='hidden' name='fval' value='{$fval}' />\n\t\t\t<tr>\n\t\t\t\t<td colspan='3'><input type='submit' value='Export to Spreadsheet' /></td>\n\t\t\t</tr>\n\t\t</table>\n\t\t</form>";
        }
        /* FIND CUSTOMER END */
    } else {
        $ajaxCust = "";
    }
    $printCust_end = "\n\t</div>";
    if (!$pure) {
        $printCust_end .= mkQuickLinks(ql("customers-new.php", "Add New Customer"));
    }
    if (AJAX) {
        return $ajaxCust;
    } else {
        return "{$printCust_begin}{$ajaxCust}{$printCust_end}";
    }
}
Esempio n. 16
0
                        <th>User Phone</th>
                        <th>Status</th>
                    </tr>
                </thead>
                <tbody>
                        <?php 
$count = 1;
if (isset($students)) {
    foreach ($students as $res) {
        echo "<tr>";
        echo "<td>" . $count++ . "</td>";
        echo "<td>" . $res->registration_no . "</td>";
        echo "<td>" . $res->user_fname . "</td>";
        echo "<td>" . $res->user_email . "</td>";
        echo "<td>" . $res->user_phone . "</td>";
        echo "<td><small class='badge " . bgcolor($res->payment_status) . "'>" . status($res->payment_status) . "</small></td>";
        echo "</tr>";
    }
}
function bgcolor($value)
{
    switch ($value) {
        case '2':
            return 'bg-green';
            break;
        case '8':
            return 'bg-yellow';
            break;
        case '3':
            return 'bg-red';
            break;
function confirm($_POST)
{
    extract($_POST);
    if (isset($back)) {
        header("Location: bank-recpt-inv.php?cusnum={$cusid}&descript={$descript}&reference={$reference}&amt={$amt}");
        die;
    }
    if (!isset($print_recpt)) {
        $print_recpt = "";
    }
    if (isset($bulk_pay) and strlen($bulk_pay) > 0) {
        $send_bulk = "<input type='hidden' name='bulk_pay' value='yes'>";
    } else {
        $send_bulk = "";
    }
    if (!isset($out1)) {
        $out1 = '';
    }
    if (!isset($out2)) {
        $out2 = '';
    }
    if (!isset($out3)) {
        $out3 = '';
    }
    if (!isset($out4)) {
        $out4 = '';
    }
    if (!isset($out5)) {
        $out5 = '';
    }
    require_lib("validate");
    $v = new validate();
    $v->isOk($all, "num", 1, 1, "Invalid allocation.");
    $v->isOk($bankid, "num", 1, 30, "Invalid Bank Account.");
    $v->isOk($date, "date", 1, 14, "Invalid Date.");
    $v->isOk($descript, "string", 0, 255, "Invalid Description.");
    $v->isOk($reference, "string", 0, 50, "Invalid Reference Name/Number.");
    $v->isOk($cheqnum, "num", 0, 30, "Invalid Cheque number.");
    $v->isOk($amt, "float", 1, 40, "Invalid amount.");
    //	$v->isOk($out, "float", 1, 40, "Invalid out amount.");
    $v->isOk($out1, "float", 0, 40, "Invalid paid amount(currant).");
    $v->isOk($out2, "float", 0, 40, "Invalid paid amount(30).");
    $v->isOk($out3, "float", 0, 40, "Invalid paid amount(60).");
    $v->isOk($out4, "float", 0, 40, "Invalid paid amount(90).");
    $v->isOk($out5, "float", 0, 40, "Invalid paid amount(120).");
    $v->isOk($cusid, "num", 1, 10, "Invalid customer number.");
    $v->isOk($print_recpt, "string", 0, 10, "Invalid Print Receipt Setting.");
    if (isset($invids)) {
        foreach ($invids as $key => $value) {
            if ($paidamt[$key] < 0.01) {
                continue;
            }
            $v->isOk($invids[$key], "num", 1, 50, "Invalid Invoice No. [{$key}]");
            $v->isOk($paidamt[$key], "float", 1, 40, "Invalid amount to be paid. [{$key}]");
        }
    }
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        $_POST['OUT1'] = $out1 + 0;
        $_POST['OUT2'] = $out2 + 0;
        $_POST['OUT3'] = $out3 + 0;
        $_POST['OUT4'] = $out4 + 0;
        $_POST['OUT5'] = $out5 + 0;
        return $confirm . alloc($_POST);
    }
    $out += 0;
    $OUT1 = $out1 + 0;
    $OUT2 = $out2 + 0;
    $OUT3 = $out3 + 0;
    $OUT4 = $out4 + 0;
    $OUT5 = $out5 + 0;
    $tot = 0;
    if (isset($invids)) {
        foreach ($invids as $key => $value) {
            if ($paidamt[$key] < 0.01) {
                continue;
            }
            $tot += $paidamt[$key];
        }
    }
    if (isset($open_amount)) {
        $tot += array_sum($open_amount);
    }
    $tot = sprint($tot);
    $amt = sprint($amt);
    $out = sprint($out);
    if (sprint($tot + $out + $out1 + $out2 + $out3 + $out4 + $out5 - $amt) != sprint(0)) {
        $_POST['OUT1'] = $OUT1;
        $_POST['OUT2'] = $OUT2;
        $_POST['OUT3'] = $OUT3;
        $_POST['OUT4'] = $OUT4;
        $_POST['OUT5'] = $OUT5;
        return "<li class='err'>The total amount for invoices not equal to the amount received.\n\t\t\tPlease check the details.</li>" . alloc($_POST);
    }
    if (isset($bout)) {
        $out = $bout;
    }
    $confirm = "\n\t\t<h3>New Bank Receipt</h3>\n\t\t<h4>Confirm entry (Please check the details)</h4>\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='bankid' value='{$bankid}'>\n\t\t\t<input type='hidden' name='date' value='{$date}'>\n\t\t\t<input type='hidden' name='cusid' value='{$cusid}'>\n\t\t\t<input type='hidden' name='descript' value='{$descript}'>\n\t\t\t<input type='hidden' name='reference' value='{$reference}'>\n\t\t\t<input type='hidden' name='cheqnum' value='{$cheqnum}'>\n\t\t\t<input type='hidden' name='all' value='{$all}'>\n\t\t\t<input type='hidden' name='out' value='{$out}'>\n\t\t\t<input type='hidden' name='date_day' value='{$date_day}'>\n\t\t\t<input type='hidden' name='date_month' value='{$date_month}'>\n\t\t\t<input type='hidden' name='date_year' value='{$date_year}'>\n\t\t\t<input type='hidden' name='OUT1' value='{$OUT1}'>\n\t\t\t<input type='hidden' name='OUT2' value='{$OUT2}'>\n\t\t\t<input type='hidden' name='OUT3' value='{$OUT3}'>\n\t\t\t<input type='hidden' name='OUT4' value='{$OUT4}'>\n\t\t\t<input type='hidden' name='OUT5' value='{$OUT5}'>\n\t\t\t<input type='hidden' name='amt' value='{$amt}'>\n\t\t\t<input type='hidden' name='print_recpt' value='{$print_recpt}'>\n\t\t\t{$send_bulk}\n\t\t<table " . TMPL_tblDflts . ">";
    /* bank account name */
    if ($bankid == "0" or ($bank = qryBankAcct($bankid, "accname, bankname")) === false) {
        $bank['accname'] = "Cash";
        $bank['bankname'] = "";
    }
    /* customer name */
    $cus = qryCustomer($cusid, "cusname, surname");
    if ($print_recpt == "yes") {
        $show_print_recpt = "Yes";
    } else {
        $show_print_recpt = "No";
    }
    $confirm .= "\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</td>\n\t\t<td>{$bank['accname']} - {$bank['bankname']}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Date</td>\n\t\t<td valign='center'>{$date}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Received from</td>\n\t\t<td valign='center'>{$cus['cusname']} {$cus['surname']}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Description</td>\n\t\t<td valign='center'>{$descript}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Reference</td>\n\t\t<td valign='center'>{$reference}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Cheque Number</td>\n\t\t<td valign='center'>{$cheqnum}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Amount</td>\n\t\t<td valign='center'>" . CUR . " {$amt}</td>\n\t</tr>\n\t" . TBL_BR . "\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Print Receipt</td>\n\t\t<td>{$show_print_recpt}</td>\n\t</tr>";
    /* OPTION 1 : AUTO ALLOCATE (confirm) */
    if ($all == 0) {
        // Layout
        $confirm .= "\n\t\t" . TBL_BR . "\n\t\t<tr>\n\t\t\t<td colspan='2'><h3>Invoices</h3></td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th>Invoice Number</th>\n\t\t\t<th>Outstanding amount</th>\n\t\t\t<th>Terms</th>\n\t\t\t<th>Date</th>\n\t\t\t<th>Amount</th>\n\t\t</tr>";
        $i = 0;
        if (isset($invids)) {
            foreach ($invids as $key => $value) {
                if ($paidamt[$invids[$key]] < 0.01) {
                    continue;
                }
                db_connect();
                $ii = $invids[$key];
                if (!isset($itype[$ii]) && !isset($ptype[$ii])) {
                    # Get all the details
                    $sql = "SELECT invnum,invid,balance,terms,odate FROM invoices\n\t\t\t\t\t\t\tWHERE invid = '{$invids[$key]}' AND div = '" . USER_DIV . "'";
                    $invRslt = db_exec($sql) or errDie("Unable to access database.");
                    if (pg_numrows($invRslt) < 1) {
                        return "<li class='err'> - Invalid ord number {$invids[$key]}.";
                    }
                    $inv = pg_fetch_array($invRslt);
                    $invid = $inv['invid'];
                    $confirm .= "\n\t\t\t\t\t<input type='hidden' name='paidamt[{$invid}]' size='7' value='{$paidamt[$invid]}'>\n\t\t\t\t\t<input type='hidden' size='20' name='invids[{$invid}]' value='{$inv['invid']}'>\n\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t<td>{$inv['invnum']}</td>\n\t\t\t\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t\t\t\t<td>{$inv['terms']} days</td>\n\t\t\t\t\t\t<td>{$inv['odate']}</td>\n\t\t\t\t\t\t<td>" . CUR . " {$paidamt[$invid]}</td>\n\t\t\t\t\t</tr>";
                } else {
                    if (!isset($ptype[$ii])) {
                        $sql = "SELECT invnum,invid,balance,sdate as odate FROM nons_invoices\n\t\t\t\t\t\t\tWHERE invid = '{$invids[$key]}' AND div = '" . USER_DIV . "'";
                        $invRslt = db_exec($sql) or errDie("Unable to access database.");
                        if (pg_numrows($invRslt) < 1) {
                            return "<li class='err'> - Invalid ord number {$invids[$key]}.</li>";
                        }
                        $inv = pg_fetch_array($invRslt);
                        $invid = $inv['invid'];
                        $confirm .= "\n\t\t\t\t\t<input type='hidden' size='20' name='invids[{$invid}]' value='{$inv['invid']}'>\n\t\t\t\t\t<input type='hidden' name='paidamt[{$invid}]' size='7' value='{$paidamt[$invid]}'>\n\t\t\t\t\t<input type='hidden' name='itype[{$invid}]' value='y'>\n\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t<td>{$inv['invnum']}</td>\n\t\t\t\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t<td>{$inv['odate']}</td>\n\t\t\t\t\t\t<td>" . CUR . " {$paidamt[$invid]}</td>\n\t\t\t\t\t</tr>";
                    } else {
                        $sqls = array();
                        for ($i = 1; $i <= 12; ++$i) {
                            $sqls[] = "SELECT invnum,invid,balance,odate FROM \"{$i}\".pinvoices WHERE invid = '{$invids[$key]}' AND div = '" . USER_DIV . "'";
                        }
                        $sql = implode(" UNION ", $sqls);
                        $prnInvRslt = db_exec($sql);
                        $inv = pg_fetch_array($prnInvRslt);
                        $invid = $inv['invid'];
                        $paidamt[$invid] = sprint($paidamt[$invid]);
                        $confirm .= "\n\t\t\t\t\t<input type='hidden' size='20' name='invids[{$invid}]' value='{$inv['invid']}'>\n\t\t\t\t\t<input type='hidden' name='paidamt[{$invid}]' size='7' value='{$paidamt[$invid]}'>\n\t\t\t\t\t<input type='hidden' name='ptype[{$invid}]' value='y'>\n\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t<td>{$inv['invnum']}</td>\n\t\t\t\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t<td>{$inv['odate']}</td>\n\t\t\t\t\t\t<td>" . CUR . " {$paidamt[$invid]}</td>\n\t\t\t\t\t</tr>";
                    }
                }
            }
        }
        if ($out > 0) {
            /* START OPEN ITEMS */
            $ox = "";
            db_conn('cubit');
            $sql = "SELECT * FROM open_stmnt WHERE balance>0 AND cusnum='{$cusid}' ORDER BY date";
            $rslt = db_exec($sql) or errDie("Unable to get open items.");
            $open_out = $out;
            $i = 0;
            while ($od = pg_fetch_array($rslt)) {
                if ($open_out == 0) {
                    continue;
                }
                $oid = $od['id'];
                if ($open_out >= $od['balance']) {
                    $open_amount[$oid] = $od['balance'];
                    $open_out = sprint($open_out - $od['balance']);
                    $ox .= "\n\t\t\t\t\t\t<input type='hidden' size='20' name='open[{$oid}]' value='{$oid}'>\n\t\t\t\t\t\t<input type='hidden' name='open_amount[{$oid}]' value='{$open_amount[$oid]}'>\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t\t<td>{$od['type']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$od['balance']}</td>\n\t\t\t\t\t\t\t<td>{$od['date']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$open_amount[$oid]}</td>\n\t\t\t\t\t\t</tr>";
                } else {
                    if ($open_out < $od['balance']) {
                        $open_amount[$oid] = $open_out;
                        $open_out = 0;
                        $ox .= "\n\t\t\t\t\t\t<input type='hidden' size='20' name='open[{$oid}]' value='{$od['id']}'>\n\t\t\t\t\t\t<input type='hidden' name='open_amount[{$oid}]' value='{$open_amount[$oid]}'>\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t\t<td>{$od['type']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$od['balance']}</td>\n\t\t\t\t\t\t\t<td>{$od['date']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$open_amount[$oid]}</td>\n\t\t\t\t\t\t</tr>";
                    }
                }
            }
            if (open()) {
                $confirm .= "\n\t\t\t\t" . TBL_BR . "\n\t\t\t\t<tr>\n\t\t\t\t\t<td colspan='2'><h3>Outstanding Transactions</h3></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<th>Description</th>\n\t\t\t\t\t<th>Outstanding Amount</th>\n\t\t\t\t\t<th>Date</th>\n\t\t\t\t\t<th>Amount</th>\n\t\t\t\t</tr>";
                $confirm .= $ox;
                $bout = $out;
                $out = $open_out;
                if ($out > 0) {
                    $confirm .= "\n\t\t\t\t\t<tr class='bg-even'>\n\t\t\t\t\t\t<td colspan='4'><b>A general transaction will credit the\n\t\t\t\t\t\t\tclient's account with " . CUR . " {$out} </b></td>\n\t\t\t\t\t</tr>";
                }
                $out = $bout;
            } else {
                $confirm .= "\n\t\t\t\t<tr class='bg-even'>\n\t\t\t\t\t<td colspan='5'><b>A general transaction will credit the\n\t\t\t\t\t\tclient's account with " . CUR . " {$out} </b></td>\n\t\t\t\t</tr>";
            }
        }
    }
    vsprint($out);
    vsprint($out1);
    vsprint($out2);
    vsprint($out3);
    vsprint($out4);
    vsprint($out5);
    /*
    	<tr>
    		<td colspan='5' align='right'><input type='submit' name='batch' value='Add To Batch'></td>
    	</tr>
    */
    $confirm .= "\n\t\t\t<input type='hidden' name='out1' value='{$out1}'>\n\t\t\t<input type='hidden' name='out2' value='{$out2}'>\n\t\t\t<input type='hidden' name='out3' value='{$out3}'>\n\t\t\t<input type='hidden' name='out4' value='{$out4}'>\n\t\t\t<input type='hidden' name='out5' value='{$out5}'>\n\t\t\t<tr><td><br></td></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' colspan='4'><input type='submit' value='Write &raquo'></td>\n\t\t\t</tr>\n\t\t</table>\n\t\t</form>" . mkQuickLinks(ql("../core/trans-new.php", "Journal Transactions"), ql("../customers-view.php", "View Customers"));
    return $confirm;
}
function printSupp()
{
    extract($_REQUEST);
    define("LIMIT", 100);
    $fields = array();
    $fields["action"] = "listsupp";
    $fields["filter"] = "supname";
    $fields["search"] = "[_BLANK_]";
    $fields["offset"] = 0;
    extract($fields, EXTR_SKIP);
    if (!isset($supp_grp)) {
        $supp_grp = "";
    }
    // Should results be displayed on first load results are only
    // displayed if results are less than the limit defined
    if ($search == "[_BLANK_]") {
        $sql = "SELECT count(supid) FROM cubit.suppliers";
        $count_rslt = db_exec($sql) or errDie("Unable to retrieve supplier count.");
        $count = pg_fetch_result($count_rslt, 0);
        if ($count < LIMIT) {
            $search = "";
        }
    }
    if (isset($filter) && !isset($all)) {
        $sqlfilter = " AND {$filter} ILIKE '%{$search}%'";
    } else {
        $filter = "";
        $search = "";
        $sqlfilter = "";
    }
    if ($search == "[_BLANK_]") {
        $search = "";
    }
    $filterarr = array("supname" => "Supplier Name", "supno" => "Account Number", "groupname" => "Supplier Groups");
    $filtersel = extlib_cpsel("filter", $filterarr, $filter);
    $supp_grps = "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td colspan='2'>\n\t\t\t\t\t\t\t<select name='supp_grp'>\n\t\t\t\t\t\t\t\t<option value='all'>View All</option>\n\t\t\t\t";
    $get_grps = "SELECT * FROM supp_groups WHERE id != '0' ORDER BY groupname";
    $run_grps = db_exec($get_grps) or errDie("Unable to get supplier group information.");
    if (pg_numrows($run_grps) > 0) {
        while ($grp_arr = pg_fetch_array($run_grps)) {
            if ($grp_arr['id'] == $supp_grp) {
                $supp_grps .= "<option value='{$grp_arr['id']}' selected>{$grp_arr['groupname']}</option>";
            } else {
                $supp_grps .= "<option value='{$grp_arr['id']}'>{$grp_arr['groupname']}</option>";
            }
        }
    }
    $supp_grps .= "\n\t\t\t\t\t\t\t</select> \n\t\t\t\t\t\t\t<input type='submit' value='View'>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t";
    if (!isset($sortfilter)) {
        $sortfilter = "supname";
    }
    $sel1 = "";
    $sel2 = "";
    if ($sortfilter == "supname ASC") {
        $sel1 = "selected";
    } else {
        $sel2 = "selected";
    }
    $sort_drop = "\n\t\t\t\t\t<select name='sortfilter'>\n\t\t\t\t\t\t<option value='supname ASC' {$sel1}>Alphabetically</option>\n\t\t\t\t\t\t<option value='balance DESC' {$sel2}>Balance</option>\n\t\t\t\t\t</select>\n\t\t\t\t";
    # Set up table to display in
    $printSupp = "\n\t<h3>Current Suppliers</h3>\n\t<table " . TMPL_tblDflts . ">\n\t<form action='" . SELF . "' method='GET'>\n\t<input type='hidden' name='action' value='{$action}'>\n\t<tr>\n\t\t<th>.: Filter :.</th>\n\t\t<th>.: Value :.</th>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>{$filtersel}</td>\n\t\t<td><input type='text' size='20' name='search' value='{$search}'></td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td align='center'><input type='submit' name='all' value='View All'></td>\n\t\t<td align='center'><input type='submit' value='Apply Filter'></td>\n\t</tr>\n\t<tr><td><br></td></tr>\n\t<tr>\n\t\t<th colspan='2'>Select View Type</th>\n\t</tr>\n\t{$supp_grps}\n\t" . TBL_BR . "\n\t<tr>\n\t\t<th colspan='2'>Sort By</th>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td colspan='2'>{$sort_drop} <input type='submit' value='Sort'></td>\n\t</tr>\n\t</form>\n\t</table>\n\t<script>\n\t\t/* CRM CODE */\n\t\tfunction updateAccountInfo(id, name) {\n\t\t\twindow.opener.document.frm_con.accountname.value=name;\n\t\t\twindow.opener.document.frm_con.account_id.value=id;\n\t\t\twindow.opener.document.frm_con.account_type.value='Supplier';\n\t\t\twindow.close();\n\t\t}\n\t</script>\n\t<p></p>\n\t<table " . TMPL_tblDflts . ">\n\t   <tr>\n\t    \t<th>Department</th>\n\t    \t<th>Supp No.</th>\n\t    \t<th>Supplier Name</th>\n\t    \t<th>Branch</th>\n\t    \t<th>Contact Name</th>\n\t    \t<th>Tel No.</th>\n\t    \t<th>Fax No.</th>\n\t    \t<th colspan='2'>Balance</th>\n\t    \t<th colspan='10'>Options</th>\n\t</tr>";
    $i = 0;
    $tot = 0;
    $sql = "\n\tSELECT deptid, balance, supid, location, supno, branch, contname, tel,\n\t\tfax, blocked, supname, groupname \n\tFROM cubit.suppliers\n\t\tLEFT JOIN cubit.supp_groups\n\t\t\tON suppliers.groupid=supp_groups.id\n\tWHERE (div = '" . USER_DIV . "' OR ddiv = '" . USER_DIV . "') {$sqlfilter}\n\tORDER BY {$sortfilter}\n\tOFFSET {$offset} LIMIT " . LIMIT;
    $suppRslt = db_exec($sql) or errDie("Unable to retrieve Suppliers from database.");
    $sql = "\n\tSELECT count(supid) FROM cubit.suppliers\n\tWHERE (div = '" . USER_DIV . "' OR ddiv = '" . USER_DIV . "') {$sqlfilter}";
    $count_rslt = db_exec($sql) or errDie("Unable to retrieve count.");
    $count = pg_fetch_result($count_rslt, 0);
    $grps_arr = array();
    $get_grps_owners = "SELECT * FROM supp_grpowners";
    $run_grps_owners = db_exec($get_grps_owners) or errDie("Unable to get group information.");
    if (pg_numrows($run_grps_owners) > 0) {
        while ($garr = pg_fetch_array($run_grps_owners)) {
            $grps_arr[$garr['supid']] = $garr['grpid'];
        }
    }
    if (pg_numrows($suppRslt) < 1) {
        $printSupp .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td colspan='20'>\n\t\t\t\t<li>Please enter the first few characters of\n\t\t\t\tthe supplier's name in the search box, to\n\t\t\t\tview the suppliers.</li>\n\t\t\t</td>\n\t\t</tr>";
    } else {
        while ($supp = pg_fetch_array($suppRslt)) {
            #check if this supplier is in the selected group
            if (isset($supp_grp) and strlen($supp_grp) > 0 and $supp_grp != 'all') {
                if (!isset($grps_arr[$supp['supid']])) {
                    $grps_arr[$supp['supid']] = 0;
                }
                if ($grps_arr[$supp['supid']] != $supp_grp) {
                    continue;
                }
            }
            # get department
            $sql = "\n\t\t\tSELECT * FROM exten.departments\n\t\t\tWHERE deptid = '{$supp['deptid']}' AND div = '" . USER_DIV . "'";
            $deptRslt = db_exec($sql);
            if (pg_numrows($deptRslt) < 1) {
                $deptname = "<li class='err'>Department not Found.</li>";
            } else {
                $dept = pg_fetch_array($deptRslt);
                $deptname = $dept['deptname'];
            }
            $supp['balance'] = sprint($supp['balance']);
            # Check if record can be removed
            $sql = "\n\t\t\tSELECT * FROM cubit.cashbook\n\t\t\tWHERE banked = 'no' AND supid = '{$supp['supid']}' AND\n\t\t\t\tdiv = '" . USER_DIV . "'";
            $rs = db_exec($sql) or errDie("Unable to get cashbook entries.", SELF);
            if (pg_numrows($rs) < 1 && $supp['balance'] == 0) {
                $rm = "<a href='supp-rem.php?supid={$supp['supid']}'>Remove</a>";
            } else {
                $rm = "";
            }
            #if($supp['balance']==0) {$rm="<a href='supp-rem.php?supid=$supp[supid]'>Remove</a>";} else {$rm="";}
            // check if supplier can be added to contact list
            $addcontact = "<td><a href='conper-add.php?type=supp&id={$supp['supid']}'>Add Contact</a></td>";
            $tot = $tot + $supp['balance'];
            # Locations drop down
            $locs = array("loc" => "Local", "int" => "International", "" => "");
            $loc = $locs[$supp['location']];
            $sp4 = "&nbsp;&nbsp;&nbsp;&nbsp;";
            $fbal = "{$sp4}--{$sp4}";
            $trans = "<a href='core/supp-trans.php?supid={$supp['supid']}'>Transaction</a>";
            if ($supp['location'] == 'int') {
                $fbal = "{$sp4} {$supp['currency']} {$supp['fbalance']}";
                $trans = "<a href='core/intsupp-trans.php?supid={$supp['supid']}'>Transaction</a>";
                $pay = "<td><a href='bank/bank-pay-supp-int.php?supid={$supp['supid']}&cash=yes'>Add Payment</a></td>";
            } else {
                $pay = "<td><a href='bank/bank-pay-supp.php?supid={$supp['supid']}&cash=yes'>Add Payment</a></td>";
            }
            # Alternate bgcolor
            $bgColor = bgcolor($i);
            $printSupp .= "<tr class='" . bg_class() . "'><td>{$deptname}</td>";
            if ($action == "contact_acc") {
                $updatelink = "javascript: updateAccountInfo(\"{$supp['supid']}\", \"{$supp['supno']}\");";
                $printSupp .= "\t<td><a href='{$updatelink}'>{$supp['supno']}</a></td>\n\t\t\t\t\t\t<td align=center><a href='{$updatelink}'>{$supp['supname']}</a></td>";
            } else {
                $printSupp .= "<td>{$supp['supno']}</td><td align=center>{$supp['supname']}</td>";
                $printSupp .= "<td align=center>{$supp['branch']}</td>";
            }
            $printSupp .= "\n\t\t\t<td>{$supp['contname']}</td>\n\t\t\t<td>{$supp['tel']}</td>\n\t\t\t<td>{$supp['fax']}</td>\n\t\t\t<td align='right' nowrap>{$sp4} " . CUR . " {$supp['balance']}</td>\n\t\t\t<td align='right' nowrap>{$fbal}</td>{$pay}";
            if ($action == "listsupp") {
                // Retrieve the template settings
                db_conn("cubit");
                $sql = "SELECT filename FROM template_settings WHERE div='" . USER_DIV . "' AND template='statements'";
                $tsRslt = db_exec($sql) or errDie("Unable to retrieve template settings from Cubit.");
                $template = pg_fetch_result($tsRslt, 0);
                $printSupp .= "\n\t\t\t\t<td><a href='supp-det.php?supid={$supp['supid']}'>Details</a></td>\n\t\t\t\t<td><a href='#' onclick='openPrintWin(\"supp-stmnt.php?supid={$supp['supid']}\")'>Statement</a></td>\n\t\t\t\t<td>{$trans}</td>\n\t\t\t\t<td><a href='supp-edit.php?supid={$supp['supid']}'>Edit</a></td>\n\t\t\t\t<td><a href='supp-pricelist.php?supid={$supp['supid']}'>Pricelist</a></td>";
                if ($supp['blocked'] == 'yes') {
                    $printSupp .= "<td><a href='supp-unblock.php?supid={$supp['supid']}'>Unblock</a></td>";
                } else {
                    $printSupp .= "<td><a href='supp-block.php?supid={$supp['supid']}'>Block</a></td>";
                }
                /* MODULE BEG: trh */
                $trhqry = new dbSelect("keys", "trh", grp(m("cols", "email"), m("where", "suppid='{$supp['supid']}'")));
                $trhqry->run();
                if ($trhqry->num_rows() == 0) {
                    $printSupp .= "<td><a href='transheks/comm_init.php?suppid={$supp['supid']}'>Configure for Transheks</a></td>";
                } else {
                    //$trh_email = $trhqry->fetch_result();
                    //$printSupp .= "<td><a href='transheks/comm_init.php?suppid=$supp[supid]&email=$trh_email'>Reconfigure for Transheks</a></td>";
                }
                /* MODULE END: trh */
                $printSupp .= "<td>{$rm}</td>{$addcontact}</tr>";
            } else {
                $printSupp .= "<td><a href='javascript: popupSized(\"supp-det.php?supid={$supp['supid']}\", \"suppdetails\", 500, 300, \"\");'>Details</a></td>";
            }
        }
        $tot = sprint($tot);
        $printSupp .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td colspan=7>Total Amount Owed, to {$i} " . ($i > 1 ? "suppliers" : "supplier") . " </td>\n\t\t\t<td align=right>" . CUR . " {$tot}</td>\n\t\t\t<td colspan='12'>&nbsp;</td>\n\t\t</tr>";
    }
    $next_offset = $offset + LIMIT;
    $prev_offset = $offset - LIMIT;
    $get_vars = "filter={$filter}&search={$search}";
    $prev_ancor = $prev_offset >= 0 ? "<a href='" . SELF . "?offset={$prev_offset}&{$get_vars}'>&laquo; Previous</a>" : "";
    $next_ancor = $next_offset < $count ? "<a href='" . SELF . "?offset={$next_offset}&{$get_vars}'>Next &raquo;</a>" : "";
    $printSupp .= "\n\t<tr class='" . bg_class() . "'>\n\t<td colspan='20' align='center'>\n\t\t\t{$prev_ancor}\n\t\t\t{$next_ancor}\n\t\t</td>\n\t</tr>";
    $printSupp .= "\n\t\t</form>\n\t\t<form action='" . SELF . "' method='POST'>\n\t\t<input type='hidden' name='export' value='yes'>\n\t\t<input type='hidden' name='filter' value='{$filter}'>\n\t\t<input type='hidden' name='search' value='{$search}'>\n\t\t<tr><td><br></td></tr>\n\t\t<tr>\n\t\t\t<td colspan='3'><input type='submit' value='Export to Spreadsheet'></td>\n\t\t</tr>\n\t\t</form>\n\t</table>";
    if ($action == "listsupp") {
        $printSupp .= "\n\t\t<p></p>\n\t\t<table " . TMPL_tblDflts . " width='15%'>\n\t\t\t<tr><td><br></td></tr>\n\t\t\t<tr>\n\t\t\t\t<th>Quick Links</th>\n\t\t\t</tr>\n\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='supp-new.php'>Add Supplier</a></td>\n\t\t\t</tr>\n\t\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 $printSupp;
}
Esempio n. 19
0
                                            <th>Valid Till</th>
                                            <th>Promo Code Status</th>
                                            <!-- <th>Used By</th>  -->
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php 
$count = 1;
foreach ($coupon_details as $res) {
    echo "<tr>";
    echo "<td>" . $count++ . "</td>";
    echo "<td>" . $res->coupon_code . "</td>";
    echo "<td>" . $res->discount_amount . "</td>";
    echo "<td>" . $res->valid_till . " </td>";
    // echo "<td>".$res->coupon_status."</td>";
    echo "<td><small class='badge " . bgcolor($res->coupon_status) . "'>" . bgtext($res->coupon_status) . "</small></td>";
    // echo "<td>Rs ".$res->course_fee."</td>";
    // echo "<td>
    //         <button type='button' class='btn-sm btn-info' onClick='edit_course_modal(".$res->course_id.");'><i class='glyphicon glyphicon-edit text-white'></i></button>
    //         <button type='button' class='btn-sm btn-danger' onClick='delete_course(".$res->course_id.");'><i class='glyphicon glyphicon-trash text-white'></i></button>
    //      </td>";
    echo "</tr>";
}
function bgcolor($value)
{
    switch ($value) {
        case '1':
            return 'bg-green';
            break;
        case '2':
            return 'bg-blue';
function confirmEmp($_POST)
{
    $_POST = var_makesafe($_POST);
    extract($_POST);
    $hiredate = mkdate($hd_year, $hd_month, $hd_day);
    $termination_date = mkdate($t_year, $t_month, $t_day);
    # validate input
    require_lib("validate");
    $v = new validate();
    # Limit field lengths as per database settings
    $v->isOk($empnum, "string", 0, 20, "Invalid empnum.");
    $v->isOk($sname, "string", 1, 50, "Invalid surname.");
    $v->isOk($fnames, "string", 1, 50, "Invalid first names.");
    $v->isOk($sex, "string", 1, 1, "Invalid sex.");
    $v->isOk($changelogo, "string", 1, 3, "Invalid image selection.");
    $v->isOk($marital, "string", 0, 10, "Invalid marital status.");
    $v->isOk($resident, "string", 1, 5, "Invalid residential status.");
    $v->isOk($hiredate, "date", 1, 10, "Invalid hire date.");
    $v->isOk($telno, "string", 0, 30, "Invalid telephone no.");
    $v->isOk($email, "email", 0, 255, "Invalid email address.");
    $v->isOk($designation, "string", 0, 100, "Invalid designation.");
    $v->isOk($hpweek, "float", 1, 5, "Invalid hours per week.");
    $v->isOk($saltyp, "string", 1, 2, "Invalid salary type.");
    $v->isOk($novert, "float", 1, 9, "Invalid normal overtime.");
    $v->isOk($hovert, "float", 1, 9, "Invalid holiday overtime.");
    $v->isOk($paytype, "string", 1, 15, "Invalid pay type.");
    $v->isOk($bankname, "string", 0, 50, "Invalid bank name.");
    $v->isOk($bankcode, "string", 0, 8, "Invalid branch code.");
    $v->isOk($bankacctype, "string", 0, 50, "Invalid bank account type.");
    $v->isOk($bankaccno, "num", 0, 50, "Invalid bank account no.");
    $v->isOk($vaclea, "num", 1, 5, "Invalid vacation leave days.");
    $v->isOk($siclea, "num", 1, 5, "Invalid sick leave days.");
    $v->isOk($stdlea, "num", 1, 5, "Invalid study leave days.");
    $v->isOk($res1, "string", 1, 50, "Invalid residential address. (line 1)");
    $v->isOk($res2, "string", 0, 50, "Invalid residential address. (line 2)");
    $v->isOk($res3, "string", 0, 50, "Invalid residential address. (line 3)");
    $v->isOk($res4, "string", 0, 50, "Invalid residential address. (line 4)");
    $v->isOk($pos1, "string", 0, 50, "Invalid postal address. (line 1)");
    $v->isOk($pos2, "string", 0, 50, "Invalid postal address. (line 2)");
    $v->isOk($pcode, "string", 0, 16, "Invalid postal code.");
    $v->isOk($contsname, "string", 0, 50, "Invalid contact surname.");
    $v->isOk($contfnames, "string", 0, 50, "Invalid first names.");
    $v->isOk($contres1, "string", 0, 50, "Invalid contact address. (line 1)");
    $v->isOk($contres2, "string", 0, 50, "Invalid contact address. (line 2)");
    $v->isOk($contres3, "string", 0, 50, "Invalid contact address. (line 3)");
    $v->isOk($conttelno, "string", 0, 30, "Invalid contact telephone no.");
    $v->isOk($idnum . $passportnum, "string", 1, 30, "Invalid id/passport num (VAL).");
    if (!empty($idnum)) {
        $v->isOk($idnum, "string", 6, 30, "Invalid id number.");
    }
    $v->isOk($taxref, "string", 0, 30, "Invalid tax ref no.");
    $v->isOk($department, "string", 0, 50, "Invalid department");
    $v->isOk($occ_cat, "string", 0, 50, "Invalid Occupational Category");
    $v->isOk($occ_level, "string", 0, 50, "Invalid Occupational Level");
    $v->isOk($pos_filled, "string", 0, 50, "Invalid Position Files");
    $v->isOk($temporary, "string", 0, 50, "Invalid Temporary Data");
    $v->isOk($termination_date, "date", 1, 10, "{$termination_date} Invalid termination date.");
    $v->isOk($recruitment_from, "string", 0, 50, "Invalid Recruitment From");
    $v->isOk($employment_reason, "string", 0, 50, "Invalid Employment Reason");
    $v->isOk($union_name, "string", 0, 50, "Invalid Union Name");
    $v->isOk($union_mem_num, "string", 0, 50, "Invalid Union Member Name");
    $v->isOk($union_pos, "string", 0, 50, "Invalid Union Position");
    $v->isOk($race, "string", 0, 50, "Invalid Race");
    $v->isOk($disabled_stat, "string", 0, 50, "Invalid Disabled Status");
    $v->isOk($prevemp_remun, "float", 1, 50, "Invalid Value for Previous Employer Remuneration (this field is required).");
    $v->isOk($prevemp_tax, "float", 1, 50, "Invalid Value for Previous Employer PAYE/Tax (this field is required).");
    $v->isOk($emp_group, "num", 1, 10, "Invalid Employee Group.");
    $v->isOK($person_nature, "string", 1, 1, "Invalid Nature Of Person Selection.");
    $v->isOK($medical_aid, "num", 1, 4, "Invalid Medical Aid Selected.");
    $v->isOK($medical_aid_number, "string", 0, 25, "Invalid Medical Aid Number.");
    if (strlen($idnum) >= 6) {
        $bd_year = substr($idnum, 0, 2);
        $bd_month = substr($idnum, 2, 2);
        $bd_day = substr($idnum, 4, 2);
        if (!(is_numeric($bd_year) && is_numeric($bd_month) && is_numeric($bd_day) && checkdate($bd_month, $bd_day, $bd_year))) {
            $v->addError("", "Invalid id num (BD).");
        }
    }
    if (isset($allowances)) {
        foreach ($allowances as $key => $value) {
            $v->isOk($allowances[$key], "float", 0, 11, "Invalid allowance amount " . ($key + 1) . ".");
        }
    }
    if (isset($deductid)) {
        foreach ($deductid as $key => $value) {
            $v->isOk($deductid[$key], "num", 1, 9, "Invalid deductions ID.");
        }
    }
    if (isset($deductions)) {
        foreach ($deductions as $key => $value) {
            $v->isOk($deductions[$key], "float", 0, 11, "Invalid deduction amount" . ($key + 1) . ".");
        }
    }
    if (isset($allowid)) {
        foreach ($allowid as $key => $value) {
            $v->isOk($allowid[$key], "num", 1, 9, "Invalid allowance ID.");
        }
    }
    if (isset($allowtax)) {
        foreach ($allowtax as $key => $value) {
            $v->isOk($allowtax[$key], "string", 1, 13, "Invalid allowance tax option" . ($key + 1) . ".");
        }
    }
    # Check date(feb, day, month, year) ( work of a genius, a master piece :-) )
    $hdate = explode("-", $hiredate);
    if (count($hdate) < 3) {
        $v->isOk($hiredate, "date", 1, 1, "Invalid hire date.");
    } else {
        if ($hdate[1] > 29 && $hdate[0] == 2) {
            $v->isOk($hiredate, "date", 1, 1, "Invalid hire date.");
        } elseif ($hdate[1] > 31 || $hdate[0] > 12) {
            $v->isOk($hiredate, "date", 1, 1, "Invalid hire date.");
        }
    }
    $tdate = explode("-", $termination_date);
    if (count($tdate) < 3) {
        $v->isOk($termination_date, "date", 1, 1, "Invalid termination date.");
    } else {
        if ($tdate[1] > 29 && $tdate[0] == 2) {
            $v->isOk($termination_date, "date", 1, 1, "Invalid termination date.");
        } elseif ($tdate[1] > 31 || $tdate[0] > 12) {
            $v->isOk($termination_date, "date", 1, 1, "Invalid termination date.");
        }
    }
    # display errors, if any
    if ($v->isError()) {
        $confirmCust = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirmCust .= "<li class='err'>{$e['msg']}</li>";
        }
        return enterEmp($confirmCust);
    }
    db_conn("cubit");
    $sql = "SELECT * FROM employees WHERE enum='{$empnum}'\n\t\t\t\tOR (fnames='{$fnames}' AND sname='{$sname}')\n\t\t\t\tOR ((idnum='{$idnum}' AND idnum!='') OR (passportnum='{$passportnum}' AND passportnum!=''))";
    $rslt = db_exec($sql) or errDie("Error checking for employee duplicity.");
    if (pg_num_rows($rslt) > 0) {
        return enterEmp("<li class=err>An employee with this employee number,\n\t\t\tor name or id/passport number already exists</li>");
    }
    $fringes = "";
    $fringe_disp = "";
    $fringes_amount = 0;
    if (isset($fringebens)) {
        foreach ($fringebens as $key => $value) {
            $fringes .= "\n\t\t\t\t<input type='hidden' name='fringebens[]' value='{$fringebens[$key]}'>\n\t\t\t\t<input type='hidden' name='fringename[]' value='{$fringename[$key]}'>\n\t\t\t\t<input type='hidden' name='fringeid[]' value='{$fringeid[$key]}'>\n\t\t\t\t<input type='hidden' name='fringetype[]' value='{$fringetype[$key]}'>\n\t\t\t\t<input type='hidden' name='fringeexpacc[]' value='{$fringeexpacc[$key]}'>";
            if ($fringetype[$key] == "Amount") {
                $symbol_cur = CUR;
                $symbol_perc = "";
            } else {
                $symbol_cur = "";
                $symbol_perc = "%";
            }
            if ($fringebens[$key] > 0) {
                $fringe_disp .= "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td>{$fringename[$key]}</td>\n\t\t\t\t\t\t<td>{$symbol_cur} {$fringebens[$key]} {$symbol_perc}</td>\n\t\t\t\t\t</tr>";
                $fringes_amount += $fringebens[$key];
            }
        }
    }
    $allow = "";
    $all_before = "";
    $all_after = "";
    $all_beforeamount = 0;
    $all_afteramount = 0;
    if (isset($allowtax)) {
        foreach ($allowtax as $key => $perc) {
            $allow .= "\n\t\t\t\t<input type='hidden' name='allowname[]' value='{$allowname[$key]}'>\n\t\t\t\t<input type='hidden' name='allowid[]' value='{$allowid[$key]}'>\n\t\t\t\t<input type='hidden' name='allowances[]' value='{$allowances[$key]}'>\n\t\t\t\t<input type='hidden' name='allowtax[]' value='{$allowtax[$key]}'>\n\t\t\t\t<input type='hidden' name='allowaccid[]' value='{$allowaccid[$key]}'>\n\t\t\t\t<input type='hidden' name='allowtype[]' value='{$allowtype[$key]}'>";
            if ($allowtype[$key] == "Amount") {
                $symbol_cur = CUR;
                $symbol_perc = "";
            } else {
                $symbol_cur = "";
                $symbol_perc = "%";
            }
            if ($perc == "Yes" && $allowances[$key] > 0) {
                $all_before .= "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td>{$allowname[$key]}</td>\n\t\t\t\t\t\t<td>{$symbol_cur} {$allowances[$key]} {$symbol_perc}</td>\n\t\t\t\t\t</tr>";
                $all_beforeamount = $all_beforeamount + $allowances[$key];
            } elseif ($allowances[$key] > 0) {
                $all_after .= "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td>{$allowname[$key]}</td>\n\t\t\t\t\t\t<td>{$symbol_cur} {$allowances[$key]} {$symbol_perc}</td>\n\t\t\t\t\t</tr>";
                $all_afteramount = $all_afteramount + $allowances[$key];
            }
        }
    }
    $subsistence = "";
    $i = 0;
    if (isset($subsname)) {
        foreach ($subsname as $sid => $sn) {
            $subsistence .= "\n\t\t\t\t<input type='hidden' name='subsname[{$sid}]' value='{$subsname[$sid]}'>\n\t\t\t\t<input type='hidden' name='subsamt[{$sid}]' value='{$subsamt[$sid]}'>\n\t\t\t\t<input type='hidden' name='subsacc[{$sid}]' value='{$subsacc[$sid]}'>\n\t\t\t\t<input type='hidden' name='subsdays[{$sid}]' value='{$subsdays[$sid]}'>\n\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t<td>{$subsname[$sid]}</td>\n\t\t\t\t\t<td>" . CUR . " {$subsamt[$sid]}</td>\n\t\t\t\t\t<td>{$subsdays[$sid]}</td>\n\t\t\t\t</tr>";
        }
        if (!empty($subsistence)) {
            $subsistence = "\n\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th colspan='3'>Subsistence Allowances</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Name</th>\n\t\t\t\t\t\t<th>Amount</th>\n\t\t\t\t\t\t<th>Days</th>\n\t\t\t\t\t</tr>\n\t\t\t\t\t{$subsistence}\n\t\t\t\t</table>";
        }
    }
    $deduct = "";
    $de_before = "\n\t\t<table width='100%' " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Name</th>\n\t\t\t\t<th>Employee Contribution</th>\n\t\t\t\t<th>Company Contribution</th>\n\t\t\t</tr>";
    $de_after = "\n\t\t<table width='100%' " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Name</th>\n\t\t\t\t<th>Employee Contribution</th>\n\t\t\t\t<th>Company Contribution</th>\n\t\t\t</tr>";
    $de_beforeamount = 0;
    $de_afteramount = 0;
    if (isset($deducttax)) {
        foreach ($deducttax as $key => $perc) {
            $deduct .= "\n\t\t\t\t<input type='hidden' name='deductname[]' value='{$deductname[$key]}'>\n\t\t\t\t<input type='hidden' name='deductid[]' value='{$deductid[$key]}'>\n\t\t\t\t<input type='hidden' name='deductions[]' value='{$deductions[$key]}'>\n\t\t\t\t<input type='hidden' name='comp_deductions[]' value='{$comp_deductions[$key]}'>\n\t\t\t\t<input type='hidden' name='deducttax[]' value='{$deducttax[$key]}'>\n\t\t\t\t<input type='hidden' name='deducttype[]' value='{$deducttype[$key]}'>\n\t\t\t\t<input type='hidden' name='deductaccid[]' value='{$deductaccid[$key]}'>";
            if ($deducttype[$key] == "Amount") {
                $symbol_cur = CUR;
                $symbol_perc = "";
            } else {
                $symbol_cur = "";
                $symbol_perc = "%";
            }
            if ($perc == "Yes" && $deductions[$key] > 0) {
                $de_before .= "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td>{$deductname[$key]}</td>\n\t\t\t\t\t\t<td>{$symbol_cur} {$deductions[$key]} {$symbol_perc}</td>\n\t\t\t\t\t\t<td>{$symbol_cur} {$comp_deductions[$key]} {$symbol_perc}</td>\n\t\t\t\t\t</tr>";
                $de_beforeamount = $de_beforeamount + $deductions[$key];
            } else {
                if ($deductions[$key] > 0) {
                    $de_after .= "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td>{$deductname[$key]}</td>\n\t\t\t\t\t\t<td>{$symbol_cur} {$deductions[$key]} {$symbol_perc}</td>\n\t\t\t\t\t\t<td>{$symbol_cur} {$comp_deductions[$key]} {$symbol_perc}</td>\n\t\t\t\t\t</tr>";
                    $de_afteramount = $de_afteramount + $deductions[$key];
                }
            }
        }
    }
    $de_before .= "</table>";
    $de_after .= "</table>";
    if ($fringes_amount > 0) {
        $fringe_disp = "<tr><th colspan='2'>Fringe Benefits</th></tr>{$fringe_disp}";
    }
    if ($all_beforeamount > 0) {
        $all_before = "<tr><th colspan='2'>Allowances</th></tr>{$all_before}";
    }
    if ($all_afteramount > 0) {
        $all_after = "<tr><th colspan='2'>Allowances</th></tr>{$all_after}";
    }
    if ($de_beforeamount > 0) {
        $de_before = "\n\t\t\t<tr><th colspan='2'>Deductions Before PAYE</th></tr>\n\t\t\t<tr><td colspan='2'>{$de_before}</td></tr>";
    } else {
        $de_before = "";
    }
    if ($de_afteramount > 0) {
        $de_after = "\n\t\t\t<tr><th colspan='2'>Deductions After PAYE</th></tr>\n\t\t\t<tr><td colspan='2'>{$de_after}</td></tr>";
    } else {
        $de_after = "";
    }
    if ($sex == "M") {
        $sexx = "Male";
    } else {
        $sexx = "Female";
    }
    $salarr = array("m" => "Per Month", "w" => "Per Week", "f" => "Per 2 Weeks", "d" => "Per Day", "h" => "Per Hour");
    $saltype = $salarr[$saltyp];
    if ($changelogo == "yes") {
        $img = "<tr class='" . bg_class() . "'><td>Image</td><td><input type='file' size='20' name='logo'></td></tr>";
    } else {
        $img = "";
    }
    db_conn('cubit');
    $sql = "SELECT * FROM costcenters";
    $rslt = db_exec($sql);
    $ctd = "\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Cost Center</th>\n\t\t\t\t<th>Percentage</th>\n\t\t\t</tr>";
    $i = 0;
    while ($data = pg_fetch_array($rslt)) {
        $ctd .= "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>{$data['centername']}</td>\n\t\t\t\t<td><input type='hidden' name='ct[{$data['ccid']}]' value='" . $ct[$data['ccid']] . "'>" . $ct[$data['ccid']] . " %</td>\n\t\t\t</tr>";
        $i++;
    }
    $ctd .= "</table>";
    switch ($saltyp) {
        case "m":
            $sal_divisor = 12;
            break;
        case "f":
            $sal_divisor = 26;
            break;
        case "w":
            $sal_divisor = 52;
            break;
        case "h":
            $sal_divisor = 52 * $hpweek;
            break;
    }
    $basic_sal = sprint($basic_sal_annum / $sal_divisor);
    $basic_sal_annum = sprint($basic_sal_annum);
    $sal_bonus = sprint($sal_bonus);
    $all_travel = sprint($all_travel);
    $comp_uif = sprint($comp_uif);
    $comp_other = sprint($comp_other);
    $comp_provident = sprint($comp_provident);
    $comp_medical = sprint($comp_medical);
    $comp_ret = sprint($comp_ret);
    $comp_pension = sprint($comp_pension);
    $emp_uif = sprint($emp_uif);
    $emp_other = sprint($emp_other);
    $emp_provident = sprint($emp_provident);
    $emp_medical = sprint($emp_medical);
    $emp_ret = sprint($emp_ret);
    $emp_pension = sprint($emp_pension);
    $comp_sdl = sprint($comp_sdl);
    $fringe_car1 = sprint($fringe_car1);
    $fringe_car2 = sprint($fringe_car2);
    #get occ cats
    $get_cats = "SELECT * FROM occ_cat WHERE id = '{$occ_cat}' LIMIT 1";
    $run_cats = db_exec($get_cats) or errDie("Unable to get occupational categories.");
    if (pg_numrows($run_cats) < 1) {
        $showocc_cat = "Unknown";
    } else {
        $carr = pg_fetch_array($run_cats);
        $showocc_cat = $carr['cat'];
    }
    #get occ category
    $getocc_level = "SELECT * FROM occ_level WHERE id = '{$occ_level}' LIMIT 1";
    $run_level = db_exec($getocc_level) or errDie("Unable to get occupational levels.");
    if (pg_numrows($run_level) < 1) {
        $showocc_level = "Unknown";
    } else {
        $larr = pg_fetch_array($run_level);
        $showocc_level = $larr['level'];
    }
    $get_dep = "SELECT * FROM departments WHERE id = '{$department}' LIMIT 1";
    $run_dep = db_exec($get_dep) or errDie("Unable to get departments information.");
    if (pg_numrows($run_dep) < 1) {
        $showdepartment = "Unknown";
    } else {
        $darr = pg_fetch_array($run_dep);
        $showdepartment = $darr['department'];
    }
    $get_pos = "SELECT * FROM pos_filled WHERE id = '{$pos_filled}' LIMIT 1";
    $run_pos = db_exec($get_pos) or errDie("Unable to get position filled information.");
    if (pg_numrows($run_pos) < 1) {
        $showpos_filled = "Unknown";
    } else {
        $parr = pg_fetch_array($run_pos);
        $showpos_filled = $parr['method'];
    }
    $get_union = "SELECT * FROM unions WHERE id = '{$union_name}' LIMIT 1";
    $run_union = db_exec($get_union) or errDie("Unable to get unions information.");
    if (pg_numrows($run_pos) < 1) {
        $showunion = "Unknown";
    } else {
        $uarr = pg_fetch_array($run_union);
        $showunion = $uarr['union_name'];
    }
    $get_egroup = "SELECT * FROM emp_groups WHERE id = '{$emp_group}' LIMIT 1";
    $run_egroup = db_exec($get_egroup) or errDie("Unable to get employee group information.");
    if (pg_numrows($run_egroup) < 1) {
        $show_emp_group = "";
    } else {
        $earr = pg_fetch_array($run_egroup);
        $show_emp_group = "";
    }
    $natures = array("A" => "Individual with an identity- or password number", "B" => "Individual without an identity- or passport number", "C" => "Director of a private company / member of a close corporation", "D" => "Trust", "E" => "Company / cc", "F" => "Partnership", "G" => "Corporation", "H" => "Employment company / personal service company or cc", "K" => "Employment trust / personal service trust", "M" => "Foreign service income (may only be used with foreign income codes)");
    $medical_aid += 0;
    $get_med = "SELECT medical_aid_name FROM medical_aid WHERE id = '{$medical_aid}' LIMIT 1";
    $run_med = db_exec($get_med) or errDie("Unable to get medical aid information.");
    if (pg_numrows($run_med) > 0) {
        $show_medical_aid = pg_fetch_result($run_med, 0, 0);
    } else {
        $show_medical_aid = "None";
    }
    $confirmEmp = "\n\t\t<h3>Add New Employee to Database</h3>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t<form ENCTYPE='multipart/form-data' action='" . SELF . "' method='POST' name='form1'>\n\t\t\t<input type='hidden' name='key' value='write'>\n\t\t\t{$fringes}\n\t\t\t{$allow}\n\t\t\t{$deduct}\n\t\t\t<input type='hidden' name='empnum' value='{$empnum}' />\n\t\t\t<input type='hidden' name='sname' value='{$sname}' />\n\t\t\t<input type='hidden' name='designation' value='{$designation}' />\n\t\t\t<input type='hidden' name='fnames' value='{$fnames}' />\n\t\t\t<input type='hidden' name='sex' value='{$sex}' />\n\t\t\t<input type='hidden' name='marital' value='{$marital}' />\n\t\t\t<input type='hidden' name='resident' value='{$resident}' />\n\t\t\t<input type='hidden' name='hiredate' value='{$hiredate}' />\n\t\t\t<input type='hidden' name='telno' value='{$telno}' />\n\t\t\t<input type='hidden' name='email' value='{$email}' />\n\t\t\t<input type='hidden' name='hpweek' value='{$hpweek}' />\n\t\t\t<input type='hidden' name='novert' value='{$novert}' />\n\t\t\t<input type='hidden' name='hovert' value='{$hovert}' />\n\t\t\t<input type='hidden' name='payprd' value='{$payprd}' />\n\t\t\t<input type='hidden' name='payprd_day' value='{$payprd_day}' />\n\t\t\t<input type='hidden' name='paytype' value='{$paytype}' />\n\t\t\t<input type='hidden' name='bankname' value='{$bankname}' />\n\t\t\t<input type='hidden' name='bankcode' value='{$bankcode}' />\n\t\t\t<input type='hidden' name='bankacctype' value='{$bankacctype}' />\n\t\t\t<input type='hidden' name='bankaccno' value='{$bankaccno}' />\n\t\t\t<input type='hidden' name='vaclea' value='{$vaclea}' />\n\t\t\t<input type='hidden' name='siclea' value='{$siclea}' />\n\t\t\t<input type='hidden' name='stdlea' value='{$stdlea}' />\n\t\t\t<input type='hidden' name='res1' value='{$res1}' />\n\t\t\t<input type='hidden' name='res2' value='{$res2}' />\n\t\t\t<input type='hidden' name='res3' value='{$res3}' />\n\t\t\t<input type='hidden' name='res4' value='{$res4}' />\n\t\t\t<input type='hidden' name='pos1' value='{$pos1}' />\n\t\t\t<input type='hidden' name='pos2' value='{$pos2}' />\n\t\t\t<input type='hidden' name='pcode' value='{$pcode}' />\n\t\t\t<input type='hidden' name='contsname' value='{$contsname}' />\n\t\t\t<input type='hidden' name='contfnames' value='{$contfnames}' />\n\t\t\t<input type='hidden' name='contres1' value='{$contres1}' />\n\t\t\t<input type='hidden' name='contres2' value='{$contres2}' />\n\t\t\t<input type='hidden' name='contres3' value='{$contres3}' />\n\t\t\t<input type='hidden' name='contres4' value='' />\n\t\t\t<input type='hidden' name='conttelno' value='{$conttelno}' />\n\t\t\t<input type='hidden' name='idnum' value='{$idnum}' />\n\t\t\t<input type='hidden' name='passportnum' value='{$passportnum}' />\n\t\t\t<input type='hidden' name='changelogo' value='{$changelogo}' />\n\t\t\t<input type='hidden' name='taxref' value='{$taxref}' />\n\t\t\t<input type='hidden' name='basic_sal' value='{$basic_sal}' />\n\t\t\t<input type='hidden' name='saltyp' value='{$saltyp}' />\n\t\t\t<input type='hidden' name='basic_sal_annum' value='{$basic_sal_annum}' />\n\t\t\t<input type='hidden' name='sal_bonus' value='{$sal_bonus}' />\n\t\t\t<input type='hidden' name='all_travel' value='{$all_travel}' />\n\t\t\t<input type='hidden' name='comp_uif' value='{$comp_uif}' />\n\t\t\t<input type='hidden' name='comp_other' value='{$comp_other}' />\n\t\t\t<input type='hidden' name='comp_provident' value='{$comp_provident}' />\n\t\t\t<input type='hidden' name='comp_medical' value='{$comp_medical}' />\n\t\t\t<input type='hidden' name='comp_ret' value='{$comp_ret}' />\n\t\t\t<input type='hidden' name='comp_pension' value='{$comp_pension}' />\n\t\t\t<input type='hidden' name='emp_uif' value='{$emp_uif}' />\n\t\t\t<input type='hidden' name='emp_other' value='{$emp_other}' />\n\t\t\t<input type='hidden' name='emp_provident' value='{$emp_provident}' />\n\t\t\t<input type='hidden' name='emp_medical' value='{$emp_medical}' />\n\t\t\t<input type='hidden' name='emp_meddeps' value='{$emp_meddeps}' />\n\t\t\t<input type='hidden' name='emp_ret' value='{$emp_ret}' />\n\t\t\t<input type='hidden' name='emp_pension' value='{$emp_pension}' />\n\t\t\t<input type='hidden' name='comp_sdl' value='{$comp_sdl}' />\n\t\t\t<input type='hidden' name='sal_bonus_month' value='{$sal_bonus_month}' />\n\t\t\t<input type='hidden' name='fringe_car1' value='{$fringe_car1}' />\n\t\t\t<input type='hidden' name='fringe_car1_contrib' value='{$fringe_car1_contrib}' />\n\t\t\t<input type='hidden' name='fringe_car1_fuel' value='{$fringe_car1_fuel}' />\n\t\t\t<input type='hidden' name='fringe_car1_service' value='{$fringe_car1_service}' />\n\t\t\t<input type='hidden' name='fringe_car2_contrib' value='{$fringe_car2_contrib}' />\n\t\t\t<input type='hidden' name='fringe_car2_fuel' value='{$fringe_car2_fuel}' />\n\t\t\t<input type='hidden' name='fringe_car2_service' value='{$fringe_car2_service}' />\n\t\t\t<input type='hidden' name='emp_usescales' value='{$emp_usescales}' />\n\t\t\t<input type='hidden' name='fringe_car2' value='{$fringe_car2}' />\n\t\t\t<input type='hidden' name='department' value='{$department}' />\n\t\t\t<input type='hidden' name='occ_cat' value='{$occ_cat}' />\n\t\t\t<input type='hidden' name='occ_level' value='{$occ_level}' />\n\t\t\t<input type='hidden' name='pos_filled' value='{$pos_filled}' />\n\t\t\t<input type='hidden' name='temporary' value='{$temporary}' />\n\t\t\t<input type='hidden' name='termination_date' value='{$termination_date}' />\n\t\t\t<input type='hidden' name='recruitment_from' value='{$recruitment_from}' />\n\t\t\t<input type='hidden' name='employment_reason' value='{$employment_reason}' />\n\t\t\t<input type='hidden' name='union_name' value='{$union_name}' />\n\t\t\t<input type='hidden' name='union_mem_num' value='{$union_mem_num}' />\n\t\t\t<input type='hidden' name='union_pos' value='{$union_pos}' />\n\t\t\t<input type='hidden' name='race' value='{$race}' />\n\t\t\t<input type='hidden' name='disabled_stat' value='{$disabled_stat}' />\n\t\t\t<input type='hidden' name='prevemp_remun' value='{$prevemp_remun}' />\n\t\t\t<input type='hidden' name='prevemp_tax' value='{$prevemp_tax}' />\n\t\t\t<input type='hidden' name='emp_group' value='{$emp_group}' />\n\t\t\t<input type='hidden' name='person_nature' value='{$person_nature}' />\n\t\t\t<input type='hidden' name='medical_aid' value='{$medical_aid}' />\n\t\t\t<input type='hidden' name='medical_aid_number' value='{$medical_aid_number}' />\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\t<tr>\n\t\t\t\t<td valign='top'>\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th colspan='2'>Employee Details</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>Emp Num</td>\n\t\t\t\t\t\t\t<td>{$empnum}</td>\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>Surname</td>\n\t\t\t\t\t\t\t<td valign='center'>{$sname}</td>\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>First Names</td>\n\t\t\t\t\t\t\t<td valign='center'>{$fnames}</td>\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>Sex</td>\n\t\t\t\t\t\t\t<td valign='center'>{$sexx}</td>\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>Race</td>\n\t\t\t\t\t\t\t<td>{$race}</td>\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>Disabled Status</td>\n\t\t\t\t\t\t\t<td>{$disabled_stat}</td>\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>Marital Status</td>\n\t\t\t\t\t\t\t<td valign='center'>{$marital}</td>\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>Resident</td>\n\t\t\t\t\t\t\t<td valign='center'>{$resident}</td>\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>Employee Group</td>\n\t\t\t\t\t\t\t<td>{$show_emp_group}</td>\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>Hire Date<li class='err'>Ensure this date is correct as\n\t\t\t\t\t\t\t\tit will be used in<br />PAYE calculations and cannot be\n\t\t\t\t\t\t\t\tchanged once saved.</li></td>\n\t\t\t\t\t\t\t<td valign='center'>{$hiredate}</td>\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>Telephone No</td>\n\t\t\t\t\t\t\t<td valign='center'>{$telno}</td>\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>Email</td>\n\t\t\t\t\t\t\t<td valign='center'>{$email}</td>\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>Remuneration</td>\n\t\t\t\t\t\t\t<td valign='center'>R {$basic_sal} {$saltype}</td>\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>Hours Per Week</td>\n\t\t\t\t\t\t\t<td valign='top'>{$hpweek}&nbsp;&nbsp;Hours</td>\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 rowspan='2'>Overtime rate</td>\n\t\t\t\t\t\t\t<td valign='top'>x {$novert}&nbsp;&nbsp;Normal</td>\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<!--         rowspan         -->\n\t\t\t\t\t\t\t<td valign='top'>x {$hovert}&nbsp;&nbsp;Public holidays</td>\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>Pay Period</td>\n\t\t\t\t\t\t\t<td valign='top'>{$payprd_day}</td>\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>Pay Type</td>\n\t\t\t\t\t\t\t<td valign='center'>{$paytype}</td>\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>Bank Name</td>\n\t\t\t\t\t\t\t<td valign='center'>{$bankname}</td>\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>Branch Code</td>\n\t\t\t\t\t\t\t<td valign='center'>{$bankcode}</td>\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>Bank Account Type</td>\n\t\t\t\t\t\t\t<td valign='center'>{$bankacctype}</td>\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>Bank Account No</td>\n\t\t\t\t\t\t\t<td valign='center'>{$bankaccno}</td>\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>UIF: Employee Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>{$emp_uif} %</td>\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>UIF: Company Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>{$comp_uif} %</td>\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>Retirement Annuity: Employee Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>" . CUR . " {$emp_ret}</td>\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>Retirement Annuity: Company Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>" . CUR . " {$comp_ret}</td>\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>Pension: Employee Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>{$emp_pension} %</td>\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>Pension: Company Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>{$comp_pension} %</td>\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>Medical Contribution: Employee</td>\n\t\t\t\t\t\t\t<td valign='center'>" . CUR . " {$emp_medical}</td>\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>Medical Contribution: Employee Beneficiaries</td>\n\t\t\t\t\t\t\t<td valign='center'>{$emp_meddeps}</td>\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>Medical Contribution: Company</td>\n\t\t\t\t\t\t\t<td valign='center'>" . CUR . " {$comp_medical}</td>\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>Provident Fund: Employee Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>{$emp_provident} %</td>\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>Provident Fund: Company Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>{$comp_provident} %</td>\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>Other: Employee Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>{$emp_other} %</td>\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>Other: Company Contribution</td>\n\t\t\t\t\t\t\t<td valign='center'>{$comp_other} %</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</table>\n\t\t\t\t</td>\n\t\t\t\t<td valign='top'>\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th colspan='2'>Employee Details</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>Medical Aid</td>\n\t\t\t\t\t\t\t<td>{$show_medical_aid}</td>\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>Medical Aid Number</td>\n\t\t\t\t\t\t\t<td>{$medical_aid_number}</td>\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>Nature Of Person</td>\n\t\t\t\t\t\t\t<td>{$natures[$person_nature]}</td>\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>Designation (Job Title)</td>\n\t\t\t\t\t\t\t<td>{$designation}</td>\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>Department</td>\n\t\t\t\t\t\t\t<td>{$showdepartment}</td>\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>Occupational Category</td>\n\t\t\t\t\t\t\t<td>{$showocc_cat}</td>\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>Occupational Level</td>\n\t\t\t\t\t\t\t<td>{$showocc_level}</td>\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>This Position Filled</td>\n\t\t\t\t\t\t\t<td>{$showpos_filled}</td>\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>Temporary (Employee or Contract)</td>\n\t\t\t\t\t\t\t<td>{$temporary}</td>\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>If Temporary: Termination Date</td>\n\t\t\t\t\t\t\t<td>{$termination_date}</td>\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>Recruitment From</td>\n\t\t\t\t\t\t\t<td>{$recruitment_from}</td>\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>Reason for Employment</td>\n\t\t\t\t\t\t\t<td>{$employment_reason}</td>\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>Union Name</td>\n\t\t\t\t\t\t\t<td>{$showunion}</td>\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>Union Membership Number</td>\n\t\t\t\t\t\t\t<td>{$union_mem_num}</td>\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>Union Position</td>\n\t\t\t\t\t\t\t<td>{$union_pos}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t{$img}\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t\t<td>ID Num</td>\n\t\t\t\t\t\t\t<td>{$idnum}</td>\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>Passport Num</td>\n\t\t\t\t\t\t\t<td>{$passportnum}</td>\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>Income Tax Ref No.</td>\n\t\t\t\t\t\t\t<td>{$taxref}</td>\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>Vacation Leave</td>\n\t\t\t\t\t\t\t<td valign='top'>{$vaclea} days</td>\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>Sick Leave</td>\n\t\t\t\t\t\t\t<td valign='top'>{$siclea} days</td>\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>Study Leave</td>\n\t\t\t\t\t\t\t<td valign='top'>{$stdlea} days</td>\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>Residential Address</td>\n\t\t\t\t\t\t\t<td valign='center'>{$res1}</td>\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><br></td>\n\t\t\t\t\t\t\t<td valign='center'>{$res2}</td>\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><br></td>\n\t\t\t\t\t\t\t<td valign='center'>{$res3}</td>\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><br></td>\n\t\t\t\t\t\t\t<td valign='center'>{$res4}</td>\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>Postal Address</td>\n\t\t\t\t\t\t\t<td valign='center'>{$pos1}</td>\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><br></td>\n\t\t\t\t\t\t\t<td valign='center'>{$pos2}</td>\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>Postal Code</td>\n\t\t\t\t\t\t\t<td valign='center'>{$pcode}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<th colspan='2'>Friend Not Living With Employee</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>Surname</td>\n\t\t\t\t\t\t\t<td valign='center'>{$contsname}</td>\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>First Names</td>\n\t\t\t\t\t\t\t<td valign='center'>{$contfnames}</td>\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>Residential Address</td>\n\t\t\t\t\t\t\t<td valign='center'>{$contres1}</td>\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><br></td>\n\t\t\t\t\t\t\t<td valign='center'>{$contres2}</td>\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><br></td>\n\t\t\t\t\t\t\t<td valign='center'>{$contres3}</td>\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>Telephone No</td>\n\t\t\t\t\t\t\t<td valign='center'>{$conttelno}</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</table>\n\t\t\t\t</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\t<tr>\n\t\t\t\t<td>&nbsp;</td>\n\t\t\t</tr>\n\t\t\t{$fringe_disp}\n\t\t\t{$all_before}\n\t\t\t{$all_after}\n\t\t\t{$subsistence}\n\t\t\t{$de_before}\n\t\t\t{$de_after}\n\t\t</table>\n\t\t{$ctd}\n\t\t</form>" . mkQuickLinks(ql("admin-employee-view.php", "View Employees"));
    return $confirmEmp;
}
Esempio n. 21
0
    $count = 1;
    foreach ($my_quotes_list as $res) {
        $user_id = $res->user_id;
        $quote_id = $res->quote_id;
        $user_fname = $res->user_fname;
        $registration_no = $res->registration_no;
        $subject_name = $res->subject_name;
        $status = $res->status_id;
        echo "<tr>";
        echo "<td>" . $count++ . "</td>";
        echo "<td>" . $res->user_fname . "</td>";
        echo "<td>" . $res->registration_no . "</td>";
        echo "<td>" . $res->subject_name . "</td>";
        echo "<td> <center> {$res->no_of_license}  " . set_add_button($user_fname, $registration_no, $subject_name, $status) . "</center></td>";
        echo "<td>" . $res->discount_amount . "</td>";
        echo "<td> <center><small class='badge " . bgcolor($status) . "'>" . set_status($status) . "</small></center></td>";
        // echo "<td> <button type='button' class='btn btn-success' onclick='associate_subscribe_subject(\"$quote_id\");'> Pay </button>";
        // echo "<button type='button' class='btn btn-danger' onclick='remove_aoi(\"$quote_id\");'> Delete </button> </td>";
        echo "</tr>";
    }
}
function set_add_button($user_fname, $registration_no, $subject_name, $status)
{
    switch ($status) {
        case '6':
            return "<button class='btn btn-success' data-toggle='modal' data-target='#addLicense' onClick='request_license(\"{$user_fname}\",\"{$registration_no}\",\"{$subject_name}\")'> <i class='fa fa-plus'></i></button>";
            break;
        default:
            # code...
            break;
    }
Esempio n. 22
0
         if ($t_thread == $message["thread"]) {
             $img = '<img src="images/t.gif" border=0 width=12 align="top">';
         }
     }
 } else {
     $img = "<img src=\"images/trans.gif\" border=0 width=1 height=21 align=\"absmiddle\">";
     $loc = 0;
 }
 if (initvar("id") == $t_id && ($read = true)) {
     $t_subject = "<b>{$t_subject}</b>";
     $t_author = "<b>{$t_author}</b>";
     $t_datestamp = "<b>{$t_datestamp}</b>";
 } else {
     $t_subject = "<a class=p_link href=\"{$read_page}.{$ext}?f={$num}&i={$t_id}&t={$t_thread}{$GetVars}\">{$t_subject}</a>";
 }
 $color = bgcolor($bgcolor);
 echo "<tr>\n";
 echo '  <td class="PhorumListRow" ' . $color . '><FONT color="' . $fcolor . '">&nbsp;' . $img . '&nbsp;' . $t_subject . "&nbsp;</font>";
 if ($UseCookies) {
     $isnew = false;
     if (${$phcollapse} != 0 && !$read) {
         // collapsed code
         if ($use_haveread) {
             if ($old_message < $t_maxid) {
                 if (!isset($haveread[$t_maxid])) {
                     $isnew = true;
                 }
             }
         } elseif ($old_message < $t_maxid) {
             $isnew = true;
         }
Esempio n. 23
0
$next = 0;
$ranking = $start;
?>

</td>
</tr>
</table>
<?php 
//GET users from table
$sql = "Select * from {$pho_main}" . "_auth ORDER BY {$sortby} LIMIT {$start}, {$topics_per_page}";
$q->query($DB, $sql);
$rec = $q->getrow();
?>
<table border="0" cellspacing="1" cellpadding="2" width="100%">
<TR <?php 
echo bgcolor($default_table_header_color);
?>
>
  <td nowrap>&nbsp;</td>
  <td height="25" nowrap align="center"><font color="<?php 
echo $default_table_body_font_color_1;
?>
">&nbsp;<B><a href="<?php 
echo $PHP_SELF;
?>
?sortby=name&start=<?php 
echo $start;
?>
"><?php 
echo $lName;
?>
function edit($listid)
{
    extract($_POST);
    if (!isset($offset) or $offset < 0) {
        $offset = 0;
    }
    if (isset($next)) {
        $offset += SHOW_LIMIT;
    }
    $listing = "";
    # validate input
    require_lib("validate");
    $v = new validate();
    $v->isOk($listid, "num", 1, 50, "Invalid Price List id.");
    # display errors, if any
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class='err'>-" . $e["msg"] . "</li>";
        }
        return $confirm;
    }
    $vattype = getSetting("SELAMT_VAT") == 'inc' ? "Including Vat" : "Excluding Vat";
    # Select Stock
    db_conn("exten");
    $sql = "SELECT * FROM spricelist WHERE listid = '{$listid}' AND div = '" . USER_DIV . "'";
    $listRslt = db_exec($sql) or errDie("Unable to access databse.", SELF);
    if (pg_numrows($listRslt) < 1) {
        return "<li> Invalid Price List ID.</li>";
    } else {
        $list = pg_fetch_array($listRslt);
    }
    db_connect();
    $category_drop = "<select name='stockcat'>";
    $sql = "SELECT catid, cat, catcod FROM stockcat WHERE div = '" . USER_DIV . "' ORDER BY cat ASC";
    $catRslt = db_exec($sql);
    if (pg_numrows($catRslt) < 1) {
        return "<li>There are no stock categories in Cubit.</li>";
    } else {
        while ($cat = pg_fetch_array($catRslt)) {
            if (isset($stockcat) and $stockcat == $cat['catid']) {
                $category_drop .= "<option value='{$cat['catid']}' selected>({$cat['catcod']}) {$cat['cat']}</option>";
            } else {
                $category_drop .= "<option value='{$cat['catid']}'>({$cat['catcod']}) {$cat['cat']}</option>";
            }
        }
    }
    $category_drop .= "</select>";
    # Select classification
    $classification_drop = "<select name='stockclass'>";
    $sql = "SELECT * FROM stockclass WHERE div = '" . USER_DIV . "' ORDER BY classname ASC";
    $clasRslt = db_exec($sql);
    if (pg_numrows($clasRslt) < 1) {
        return "<li>There are no Classifications in Cubit.</li>";
    } else {
        while ($clas = pg_fetch_array($clasRslt)) {
            if (isset($stockclass) and $stockclass == $clas['clasid']) {
                $classification_drop .= "<option value='{$clas['clasid']}' selected>{$clas['classname']}</option>";
            } else {
                $classification_drop .= "<option value='{$clas['clasid']}'>{$clas['classname']}</option>";
            }
        }
    }
    $classification_drop .= "</select>";
    db_con("exten");
    # Query server
    $i = 0;
    // 	$sql = "SELECT * FROM splist_prices WHERE listid = '$listid' AND div = '".USER_DIV."' ORDER BY stkid ASC";
    $sql = "\r\n\t\tSELECT listid, stkid, catid, clasid, price, div, supstkcod \r\n\t\tFROM splist_prices \r\n\t\tWHERE listid = '{$listid}' AND div = '" . USER_DIV . "' {$searchsql} \r\n\t\tORDER BY stkid ASC OFFSET {$offset} \r\n\t\tLIMIT " . SHOW_LIMIT;
    $stkpRslt = db_exec($sql) or errDie("Unable to retrieve stock items from database.");
    if (pg_numrows($stkpRslt) < 1) {
        return "<li class='err'> There are no stock item on the selected pricelist.</li>";
    }
    while ($stkp = pg_fetch_array($stkpRslt)) {
        db_connect();
        # get stock details
        $sql = "SELECT stkid, stkcod, stkdes FROM stock WHERE stkid = '{$stkp['stkid']}' AND div = '" . USER_DIV . "'";
        $stkRslt = db_exec($sql) or errDie("Unable to retrieve stocks from database.");
        if (pg_numrows($stkRslt) < 1) {
            db_conn("exten");
            $Sl = "DELETE FROM plist_prices WHERE stkid='{$stkp['stkid']}' AND div = '" . USER_DIV . "'";
            $Rs = db_exec($Sl) or errDie("Unable to retrieve stocks from database.");
        } else {
            $stk = pg_fetch_array($stkRslt);
            $listing .= "\r\n\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t<td><input type='hidden' name='stkids[]' value='{$stk['stkid']}'>{$stk['stkcod']} - " . extlib_rstr($stk['stkdes'], 30) . "</td>\r\n\t\t\t\t\t<td align='right'>" . CUR . " <input type='text' name='prices[]' size='8' value='{$stkp['price']}'> {$vattype}</td>\r\n\t\t\t\t</tr>";
        }
    }
    $buttons = "";
    if ($offset != 0) {
        $buttons = "\r\n\t\t\t<tr>\r\n\t\t\t\t<td align='left'><input type='submit' name='prev' value='Previous'></td>\r\n\t\t\t\t<td><input type='submit' name='next' value='Next'></td>\r\n\t\t\t</tr>";
    }
    $enter = "\r\n\t\t<h3>Edit Supplier Price list</h3>\r\n\t\t<form action='" . SELF . "' method='POST'>\r\n\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t<input type='hidden' name='key' value='confirm'>\r\n\t\t\t<input type='hidden' name='listid' value='{$list['listid']}'>\r\n\t\t\t<tr>\r\n\t\t\t\t<th>Field</th>\r\n\t\t\t\t<th>Value</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td>Supplier Price list</td>\r\n\t\t\t\t<td align='center'><input type='text' size='20' name='listname' value='{$list['listname']}'></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><td><br></td></tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<th colspan='2'>Category</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td colspan='2' align='center'>{$category_drop}</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<th colspan='2'>Classification</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr bgcolor='" . bgcolor() . "'>\r\n\t\t\t\t<td colspan='2' align='center'>{$classification_drop}</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<th colspan='2'>Stock Code</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td colspan='2' align='center'><input type='text' name='stockcode' value='{$stockcode}'></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan='2' align='center'><input type='submit' name='search' value='Search'></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><td><br></td></tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan='2' align='right'><input type='submit' name='continue' value='Confirm &raquo;'></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan='2'><h3>Prices</h3></td>\r\n\t\t\t<tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<th>Item</th>\r\n\t\t\t\t<th>Price Amount</th>\r\n\t\t\t</tr>\r\n\t\t\t{$listing}\r\n\t\t\t{$buttons}\r\n\t\t\t<tr><td><br></td></tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan='2' align='right'><input type='submit' name='continue' value='Confirm &raquo;'></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</form>\r\n\t\t<p>\r\n\t\t<table border=0 cellpadding='2' cellspacing='1'>\r\n\t\t\t<tr>\r\n\t\t\t\t<th>Quick Links</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td><a href='sup-pricelist-view.php'>View Supplier Price Lists</a></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td><a href='../main.php'>Main Menu</a></td>\r\n\t\t\t</tr>\r\n\t\t</table>";
    return $enter;
}
Esempio n. 25
0
echo $default_table_width;
?>
" border="0" cellspacing="0" cellpadding="2">
  <tr>
    <td class="PhorumTableHeader" <?php 
echo bgcolor($default_table_header_color);
?>
 valign="TOP" nowrap><font color="<?php 
echo $default_table_header_font_color;
?>
">&nbsp;<?php 
echo $lForumDown;
?>
</font></td>
  </tr>
  <tr>
    <td width="100%" align="LEFT" valign="MIDDLE" <?php 
echo bgcolor($default_table_body_color_2);
?>
><font color="<?php 
echo $default_table_body_font_color_1;
?>
"><?php 
echo $lForumDownNotice;
?>
</font><br></td>
  </tr>
</table>
</center>
<?php 
include phorum_get_file_name("footer");
Esempio n. 26
0
            $topic = $tam["thread"];
            $person = $tam["author"];
            $datestamp = phorum_date_format($tam["datestamp"]);
            $approved = $tam["approved"];
            if ($x % 2 == 0) {
                $bgcolor = $ForumTableBodyColor1;
            } else {
                $bgcolor = $ForumTableBodyColor2;
            }
            $x++;
            $nav .= '<tr><td ' . bgcolor($bgcolor) . '>';
            $nav .= "<a HREF=\"{$forum_url}/{$read_page}.{$ext}?admview=1&f={$num}&i=" . $tam["id"] . "&t={$topic}\">";
            $nav .= "{$subject}</a></td>";
            $nav .= '<td ' . bgcolor($bgcolor) . ">{$person}</td><td " . bgcolor($bgcolor) . ">";
            $nav .= "{$datestamp}</td>";
            $nav .= '<td ' . bgcolor($bgcolor) . "><a HREF=\"{$myname}?page=recentadmin&action=del&type=quick&id={$id}";
            $nav .= "&num={$num}&navigate={$navigate}&thread={$topic}\">Delete</a>&nbsp;|&nbsp;";
            $nav .= "<a HREF=\"{$myname}?page=edit&srcpage=recentadmin&id={$id}&num={$num}&navigate={$navigate}&mythread={$topic}\">";
            $nav .= "Edit</a>&nbsp;|&nbsp;";
            $nav .= "<a HREF=\"{$myname}?page=recentadmin&action=moderate&approved={$approved}&id={$id}&num={$num}&navigate={$navigate}";
            $nav .= "&mythread={$topic}\">";
            if ($approved == 'Y') {
                $nav .= "Hide";
            } else {
                $nav .= "Approve";
            }
            $nav .= "</a></td></tr>\n";
        }
    }
    $rec = $q->getrow();
} else {
                        <th>User Phone</th>
                        <th>Status</th>
                    </tr>
                </thead>
                <tbody>
                <?php 
$count = 1;
if (isset($not_verified_student_details)) {
    foreach ($not_verified_student_details as $res) {
        echo "<tr>";
        echo "<td>" . $count++ . "</td>";
        echo "<td>" . $res->registration_no . "</td>";
        echo "<td>" . $res->user_fname . "</td>";
        echo "<td>" . $res->user_email . "</td>";
        echo "<td>" . $res->user_phone . "</td>";
        echo "<td><small class='badge " . bgcolor($res->status_name) . "'>" . $res->status_name . "</small></td>";
        echo "</tr>";
    }
}
function bgcolor($value)
{
    switch ($value) {
        case 'Active':
            return 'bg-green';
            break;
        case 'Paid':
            return 'bg-green';
            break;
        case 'Pending Payment':
            return 'bg-yellow';
            break;
function confirm($_POST)
{
    extract($_POST);
    if (isset($back)) {
        unset($back);
        return method($_POST);
    }
    require_lib("validate");
    $v = new validate();
    $v->isOk($all, "num", 1, 1, "Invalid allocation.");
    for ($t = 0; $t < $rec_amount; $t++) {
        if (!isset($descript[$t]) or !isset($reference[$t]) or !isset($setamt[$t]) or empty($descript[$t]) or empty($reference[$t]) or empty($setamt[$t])) {
            continue;
        }
        if (!isset($out[$t]) or strlen($out[$t]) < 1) {
            $out[$t] = $amt[$t];
        }
        if (!isset($out1[$t])) {
            $out1[$t] = '';
        }
        if (!isset($out2[$t])) {
            $out2[$t] = '';
        }
        if (!isset($out3[$t])) {
            $out3[$t] = '';
        }
        if (!isset($out4[$t])) {
            $out4[$t] = '';
        }
        if (!isset($out5[$t])) {
            $out5[$t] = '';
        }
        $v->isOk($bankid[$t], "num", 1, 30, "Invalid Bank Account.");
        $v->isOk($date[$t], "date", 1, 14, "Invalid Date.");
        $v->isOk($descript[$t], "string", 0, 255, "Invalid Description.");
        $v->isOk($reference[$t], "string", 0, 50, "Invalid Reference Name/Number.");
        $v->isOk($cheqnum[$t], "num", 0, 30, "Invalid Cheque number.");
        $v->isOk($amt[$t], "float", 1, 40, "Invalid amount.");
        $v->isOk($setamt[$t], "float", 1, 40, "Invalid settlement amount.");
        $v->isOk($setvat[$t], "string", 1, 10, "Invalid Settlement VAT Option.");
        $v->isOk($setvatcode[$t], "string", 1, 40, "Invalid Settlement VAT code");
        $v->isOk($out[$t], "float", 1, 40, "Invalid out amount.");
        $v->isOk($out1[$t], "float", 0, 40, "Invalid paid amount(currant).");
        $v->isOk($out2[$t], "float", 0, 40, "Invalid paid amount(30).");
        $v->isOk($out3[$t], "float", 0, 40, "Invalid paid amount(60).");
        $v->isOk($out4[$t], "float", 0, 40, "Invalid paid amount(90).");
        $v->isOk($out5[$t], "float", 0, 40, "Invalid paid amount(120).");
        $v->isOk($cusid[$t], "num", 1, 10, "Invalid customer number.");
        if (isset($invids[$t])) {
            foreach ($invids[$t] as $key => $value) {
                if ($paidamt[$t][$key] < 0.01) {
                    continue;
                }
                $v->isOk($invids[$t][$key], "num", 1, 50, "Invalid Invoice No. [{$key}]");
                $v->isOk($paidamt[$t][$key], "float", 1, 40, "Invalid amount to be paid. [{$key}]");
            }
        }
    }
    if ($v->isError()) {
        $confirm = "";
        $errors = $v->getErrors();
        foreach ($errors as $e) {
            $confirm .= "<li class='err'>" . $e["msg"] . "</li>";
        }
        for ($t = 0; $t < $rec_amount; $t++) {
            //$temp1 = $out1[$t];
            $_POST["out1[{$t}]"] = $out1[$t] + 0;
            $_POST["out2[{$t}]"] = $out2[$t] + 0;
            $_POST["out3[{$t}]"] = $out3[$t] + 0;
            $_POST["out4[{$t}]"] = $out4[$t] + 0;
            $_POST["out5[{$t}]"] = $out5[$t] + 0;
        }
        return $confirm . alloc($_POST);
    }
    $passon = "";
    for ($t = 0; $t < $rec_amount; $t++) {
        if (!isset($descript[$t]) or !isset($reference[$t]) or !isset($setamt[$t]) or empty($descript[$t]) or empty($reference[$t]) or empty($setamt[$t])) {
            continue;
        }
        $tot[$t] = 0;
        if (isset($invids[$t])) {
            foreach ($invids[$t] as $key => $value) {
                if ($paidamt[$t][$key] < 0.01) {
                    continue;
                }
                $tot[$t] += $paidamt[$t][$key];
            }
        }
        if (isset($open_amount[$t])) {
            $tot[$t] += array_sum($open_amount[$t]);
        }
        $passon .= "\n\t\t\t<input type='hidden' name='bankid[{$t}]' value='{$bankid[$t]}'>\n\t\t\t<input type='hidden' name='date[{$t}]' value='{$date[$t]}'>\n\t\t\t<input type='hidden' name='cusid[{$t}]' value='{$cusid[$t]}'>\n\t\t\t<input type='hidden' name='descript[{$t}]' value='{$descript[$t]}'>\n\t\t\t<input type='hidden' name='reference[{$t}]' value='{$reference[$t]}'>\n\t\t\t<input type='hidden' name='cheqnum[{$t}]' value='{$cheqnum[$t]}'>\n\t\t\t<input type='hidden' name='out[{$t}]' value='{$out[$t]}'>\n\t\t\t<input type='hidden' name='date_day[{$t}]' value='{$date_day[$t]}'>\n\t\t\t<input type='hidden' name='date_month[{$t}]' value='{$date_month[$t]}'>\n\t\t\t<input type='hidden' name='date_year[{$t}]' value='{$date_year[$t]}'>\n\t\t\t<input type='hidden' name='out1[{$t}]' value='{$out1[$t]}'>\n\t\t\t<input type='hidden' name='out2[{$t}]' value='{$out2[$t]}'>\n\t\t\t<input type='hidden' name='out3[{$t}]' value='{$out3[$t]}'>\n\t\t\t<input type='hidden' name='out4[{$t}]' value='{$out4[$t]}'>\n\t\t\t<input type='hidden' name='out5[{$t}]' value='{$out5[$t]}'>\n\t\t\t<input type='hidden' name='amt[{$t}]' value='{$amt[$t]}'>\n\t\t\t<input type='hidden' name='setamt[{$t}]' value='{$setamt[$t]}'>\n\t\t\t<input type='hidden' name='setvat[{$t}]' value='{$setvat[$t]}'>\n\t\t\t<input type='hidden' name='setvatcode[{$t}]' value='{$setvatcode[$t]}'>";
    }
    $confirm = "\n\t\t<h3>New Bank Receipt</h3>\n\t\t<h4>Confirm entry (Please check the details)</h4>\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='all' value='{$all}'>\n\t\t\t<input type='hidden' name='rec_amount' value='{$rec_amount}'>\n\t\t\t{$passon}\n\t\t<table " . TMPL_tblDflts . ">";
    $passon2 = "";
    for ($t = 0; $t < $rec_amount; $t++) {
        $out[$t] += 0;
        $OUT1[$t] = $out1[$t] + 0;
        $OUT2[$t] = $out2[$t] + 0;
        $OUT3[$t] = $out3[$t] + 0;
        $OUT4[$t] = $out4[$t] + 0;
        $OUT5[$t] = $out5[$t] + 0;
        $tot[$t] = sprint($tot[$t]);
        $amt[$t] = sprint($amt[$t]);
        $out[$t] = sprint($out[$t]);
        if (sprint($tot[$t] + $out[$t] + $out1[$t] + $out2[$t] + $out3[$t] + $out4[$t] + $out5[$t] - $amt[$t]) != sprint(0)) {
            $_POST["out1[{$t}]"] = $out1;
            $_POST["out2[{$t}]"] = $out2;
            $_POST["out3[{$t}]"] = $out3;
            $_POST["out4[{$t}]"] = $out4;
            $_POST["out5[{$t}]"] = $out5;
            //	return "<li class='err'>The total amount for invoices not equal to the amount received.
            //		Please check the details.</li>".alloc($_POST);
        }
        if (isset($bout[$t])) {
            $out[$t] = $bout[$t];
        }
        /* bank account name */
        if (($bank = qryBankAcct($bankid[$t], "accname, bankname")) === false) {
            $bank['accname'] = "Cash";
            $bank['bankname'] = "";
        }
        /* customer name */
        $cus[$t] = qryCustomer($cusid[$t], "cusname, surname");
        $cus1 = $cus[$t]['cusname'];
        $cus2 = $cus[$t]['surname'];
        $setamt[$t] = sprint($setamt[$t]);
        if ($setvat[$t] == "inc") {
            $showsetvat = "VAT Inclusive";
        } else {
            $showsetvat = "No VAT";
        }
        $confirm .= "\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</td>\n\t\t\t\t<td>{$bank['accname']} - {$bank['bankname']}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Date</td>\n\t\t\t\t<td valign='center'>{$date[$t]}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Received from</td>\n\t\t\t\t<td valign='center'>{$cus1} {$cus2}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Description</td>\n\t\t\t\t<td valign='center'>{$descript[$t]}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Reference</td>\n\t\t\t\t<td valign='center'>{$reference[$t]}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Cheque Number</td>\n\t\t\t\t<td valign='center'>{$cheqnum[$t]}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Amount</td>\n\t\t\t\t<td valign='center'>" . CUR . " {$amt[$t]}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>Settlement Amount</td>\n\t\t\t\t<td valign='center'>" . CUR . " {$setamt[$t]} {$showsetvat}</td>\n\t\t\t</tr>";
        /* OPTION 1 : AUTO ALLOCATE (confirm) */
        if ($all == 0) {
            // Layout
            $confirm .= "\n\t\t\t" . TBL_BR . "\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'><h3>Invoices</h3></td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<th>Invoice Number</th>\n\t\t\t\t<th>Outstanding amount</th>\n\t\t\t\t<th>Terms</th>\n\t\t\t\t<th>Date</th>\n\t\t\t\t<th>Amount</th>\n\t\t\t</tr>";
            $i = 0;
            if (isset($invids[$t])) {
                foreach ($invids[$t] as $key => $value) {
                    if ($paidamt[$t][$invids[$t][$key]] < 0.01) {
                        continue;
                    }
                    db_connect();
                    $ii = $invids[$t][$key];
                    if (!isset($itype[$t][$ii]) && !isset($ptype[$t][$ii])) {
                        # Get all the details
                        $sql = "SELECT invnum,invid,balance,terms,odate FROM invoices\n\t\t\t\t\t\t\t\tWHERE invid = '{$ii}' AND div = '" . USER_DIV . "'";
                        $invRslt = db_exec($sql) or errDie("Unable to access database.");
                        if (pg_numrows($invRslt) < 1) {
                            return "<li class='err'> - Invalid ord number {$invids[$key]}.</li>";
                        }
                        $inv = pg_fetch_array($invRslt);
                        $invid = $inv['invid'];
                        $pp = $paidamt[$t][$invid];
                        $confirm .= "\n\t\t\t\t\t\t\t<input type='hidden' name='paidamt[{$t}][{$invid}]' size='7' value='{$pp}'>\n\t\t\t\t\t\t\t<input type='hidden' size='20' name='invids[{$t}][{$invid}]' value='{$inv['invid']}'>\n\t\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t\t<td>{$inv['invnum']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t\t\t\t\t<td>{$inv['terms']} days</td>\n\t\t\t\t\t\t\t<td>{$inv['odate']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$pp}</td>\n\t\t\t\t\t\t</tr>";
                    } else {
                        if (!isset($ptype[$t][$ii])) {
                            $sql = "SELECT invnum,invid,balance,sdate as odate FROM nons_invoices\n\t\t\t\t\t\t\t\tWHERE invid = '{$ii}' AND div = '" . USER_DIV . "'";
                            $invRslt = db_exec($sql) or errDie("Unable to access database.");
                            if (pg_numrows($invRslt) < 1) {
                                return "<li class='err'> - Invalid ord number {$ii}.</li>";
                            }
                            $inv = pg_fetch_array($invRslt);
                            $invid = $inv['invid'];
                            $pp = $paidamt[$t][$invid];
                            $confirm .= "\n\t\t\t\t\t\t<input type='hidden' size='20' name='invids[{$t}][{$invid}]' value='{$inv['invid']}'>\n\t\t\t\t\t\t<input type='hidden' name='paidamt[{$t}][{$invid}]' size='7' value='{$pp}'>\n\t\t\t\t\t\t<input type='hidden' name='itype[{$t}][{$invid}]' value='y'>\n\t\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t\t<td>{$inv['invnum']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t<td>{$inv['odate']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$pp}</td>\n\t\t\t\t\t\t</tr>";
                        } else {
                            $sqls = array();
                            for ($i = 1; $i <= 12; ++$i) {
                                $sqls[] = "SELECT invnum,invid,balance,odate FROM \"{$i}\".pinvoices \n\t\t\t\t\t\t\t\t\tWHERE invid='{$ii}' AND div = '" . USER_DIV . "'";
                            }
                            $sql = implode(" UNION ", $sqls);
                            $prnInvRslt = db_exec($sql);
                            $inv = pg_fetch_array($prnInvRslt);
                            $invid = $inv['invid'];
                            $pp = $paidamt[$t][$invid];
                            $confirm .= "\n\t\t\t\t\t\t<input type='hidden' size='20' name='invids[{$t}][{$invid}]' value='{$inv['invid']}'>\n\t\t\t\t\t\t<input type='hidden' name='paidamt[{$t}][{$invid}]' size='7' value='{$pp}'>\n\t\t\t\t\t\t<input type='hidden' name='ptype[{$t}][{$invid}]' value='y'>\n\t\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t\t<td>{$inv['invnum']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$inv['balance']}</td>\n\t\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t\t<td>{$inv['odate']}</td>\n\t\t\t\t\t\t\t<td>" . CUR . " {$pp}</td>\n\t\t\t\t\t\t</tr>";
                        }
                    }
                }
            }
            if ($out[$t] > 0) {
                /* START OPEN ITEMS */
                $ox = "";
                db_conn('cubit');
                $sql = "SELECT * FROM open_stmnt WHERE balance>0 AND cusnum='{$cusid[$t]}' ORDER BY date";
                $rslt = db_exec($sql) or errDie("Unable to get open items.");
                $open_out[$t] = $out[$t];
                $i = 0;
                while ($od = pg_fetch_array($rslt)) {
                    if ($open_out[$t] == 0) {
                        continue;
                    }
                    $oid = $od['id'];
                    $bgColor = bgcolor($i);
                    if ($open_out[$t] >= $od['balance']) {
                        $open_amount[$t][$oid] = $od['balance'];
                        $open_out[$t] = sprint($open_out[$t] - $od['balance']);
                        $ox .= "\n\t\t\t\t\t\t\t<input type='hidden' size='20' name='open[{$t}][{$oid}]' value='{$oid}'>\n\t\t\t\t\t\t\t<input type='hidden' name='open_amount[{$t}][{$oid}]' value='{$open_amount[$t]}[{$oid}]'>\n\t\t\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t\t\t<td>{$od['type']}</td>\n\t\t\t\t\t\t\t\t<td>" . CUR . " {$od['balance']}</td>\n\t\t\t\t\t\t\t\t<td>{$od['date']}</td>\n\t\t\t\t\t\t\t\t<td>" . CUR . " {$open_amount[$t]}[{$oid}]</td>\n\t\t\t\t\t\t\t</tr>";
                    } else {
                        if ($open_out[$t] < $od['balance']) {
                            $open_amount[$t][$oid] = $open_out[$t];
                            $open_out[$t] = 0;
                            $ox .= "\n\t\t\t\t\t\t\t<input type='hidden' size='20' name='open[{$t}][{$oid}]' value='{$od['id']}'>\n\t\t\t\t\t\t\t<input type='hidden' name='open_amount[{$t}][{$oid}]' value='{$open_amount[$t]}[{$oid}]'>\n\t\t\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t\t\t<td>{$od['type']}</td>\n\t\t\t\t\t\t\t\t<td>" . CUR . " {$od['balance']}</td>\n\t\t\t\t\t\t\t\t<td>{$od['date']}</td>\n\t\t\t\t\t\t\t\t<td>" . CUR . " {$open_amount[$t]}[{$oid}]</td>\n\t\t\t\t\t\t\t</tr>";
                        }
                    }
                }
                if (open()) {
                    $confirm .= "\n\t\t\t\t\t" . TBL_BR . "\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td colspan='2'><h3>Outstanding Transactions</h3></td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Description</th>\n\t\t\t\t\t\t<th>Outstanding Amount</th>\n\t\t\t\t\t\t<th>Date</th>\n\t\t\t\t\t\t<th>Amount</th>\n\t\t\t\t\t</tr>";
                    $confirm .= $ox;
                    $bout[$t] = $out[$t];
                    $out[$t] = $open_out[$t];
                    $out[$t] = sprint($out[$t]);
                    if ($out[$t] > 0) {
                        $confirm .= "\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t\t<td colspan='4'><b>A general transaction will credit the\n\t\t\t\t\t\t\t\tclient's account with " . CUR . " {$out[$t]} </b></td>\n\t\t\t\t\t\t</tr>";
                    }
                    $out[$t] = $bout[$t];
                } else {
                    $out[$t] = sprint($out[$t]);
                    $confirm .= "\n\t\t\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t\t\t<td colspan='5'><b>A general transaction will credit the\n\t\t\t\t\t\t\tclient's account with " . CUR . " {$out[$t]} </b></td>\n\t\t\t\t\t</tr>";
                }
            }
            $confirm .= TBL_BR;
        }
        $confirm .= TBL_BR . TBL_BR;
        //		$passon2 .= "
        //	<input type='hidden' name='out1[$t]' value='$out1[$t]'>
        //	<input type='hidden' name='out2[$t]' value='$out2[$t]'>
        //	<input type='hidden' name='out3[$t]' value='$out3[$t]'>
        //	<input type='hidden' name='out4[$t]' value='$out4[$t]'>
        //	<input type='hidden' name='out5[$t]' value='$out5[$t]'>
        //			";
    }
    /*
    	<tr>
    		<td colspan='5' align='right'><input type='submit' name='batch' value='Add To Batch'></td>
    	</tr>
    */
    $confirm .= "\n\t\t\t{$passon2}\n\t\t\t<tr><td><br></td></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' colspan='4'><input type='submit' value='Write &raquo'></td>\n\t\t\t</tr>\n\t\t</table>\n\t\t</form>" . mkQuickLinks(ql("trans-new.php", "Journal Transactions"), ql("../customers-view.php", "View Customers"));
    return $confirm;
}
Esempio n. 29
0
"><FONT color="<?php 
        echo $table_body_font_color_1;
        ?>
"><blockquote><br /><?php 
        echo $description;
        ?>
</blockquote></font></td>
</tr>
<?php 
        $rec = $q->getrow();
    }
} else {
    ?>
<tr>
    <td width="100%" colspan=3 <?php 
    echo bgcolor($table_body_color_1);
    ?>
><FONT color="<?php 
    echo $table_body_font_color_1;
    ?>
">&nbsp;<?php 
    echo $lNoActiveForums;
    ?>
</font></td>
</tr>
<?php 
}
?>
</table>
<?php 
include phorum_get_file_name("footer");
function write($_POST)
{
    extract($_POST);
    if (isset($back)) {
        unset($_POST["back"]);
        return alloc($_POST);
    }
    require_lib("validate");
    $v = new validate();
    $v->isOk($all, "num", 1, 1, "Invalid allocation.");
    $v->isOk($bankid, "num", 1, 30, "Invalid Bank Account.");
    $v->isOk($date, "date", 1, 14, "Invalid Date.");
    $v->isOk($out, "float", 1, 40, "Invalid out amount.");
    $v->isOk($descript, "string", 0, 255, "Invalid Description.");
    $v->isOk($reference, "string", 0, 50, "Invalid Reference Name/Number.");
    $v->isOk($cheqnum, "num", 0, 30, "Invalid Cheque number.");
    $v->isOk($amt, "float", 1, 40, "Invalid amount.");
    $v->isOk($setamt, "float", 1, 40, "Invalid Settlement Amount.");
    $v->isOk($setvat, "string", 1, 10, "Invalid Settlement VAT Option.");
    $v->isOk($setvatcode, "string", 1, 40, "Invalid Settlement VAT code");
    $v->isOk($cusid, "num", 1, 40, "Invalid customer number.");
    $v->isOk($out1, "float", 0, 40, "Invalid paid amount(current).");
    $v->isOk($out2, "float", 0, 40, "Invalid paid amount(30).");
    $v->isOk($out3, "float", 0, 40, "Invalid paid amount(60).");
    $v->isOk($out4, "float", 0, 40, "Invalid paid amount(90).");
    $v->isOk($out5, "float", 0, 40, "Invalid paid amount(120).");
    $v->isOk($overpay, "float", 1, 20, "Invalid Overpay Amount.");
    if (isset($invids)) {
        foreach ($invids as $key => $value) {
            $v->isOk($invids[$key], "num", 1, 50, "Invalid Invoice No.");
            $v->isOk($paidamt[$key], "float", 1, 40, "Invalid amount to be paid.");
            $v->isOk($stock_setamt[$key], "float", 1, 40, "Invalid Settlement Discount Amount");
        }
    }
    if ($v->isError()) {
        $confirm = $v->genErrors();
        return $confirm . confirm($_POST);
    }
    /* get bank account id of cash on hand account IF this entry is cash */
    if (($bank_acc = getbankaccid($bankid)) === false or $bankid == "0") {
        //old function didnt check if cash is selected ... if(($bank_acc = getbankaccid($bankid)) === false) {
        $sql = "SELECT accid FROM core.accounts WHERE accname='Cash on Hand'";
        $rslt = db_exec($sql);
        if (pg_num_rows($rslt) < 1) {
            if ($bankid == 0) {
                return "There is no 'Cash on Hand' account, there was one, but\n\t\t\t\t\t**s not there now, you must have deleted it, if you want\n\t\t\t\t\tto use cash functionality please create a 'Cash on Hand' account.";
            } else {
                return "Invalid bank acc.";
            }
        }
        $bank_acc = pg_fetch_result($rslt, 0);
    }
    $cus = qryCustomer($cusid, "cusnum, deptid, cusname, surname");
    $dept = qryDepartment($cus["deptid"], "debtacc");
    $refnum = getrefnum();
    pglib_transaction("BEGIN") or errDie("Unable to start a database transaction.", SELF);
    # date format
    $sdate = explode("-", $date);
    $_SESSION["global_day"] = $sdate[2];
    $_SESSION["global_month"] = $sdate[1];
    $_SESSION["global_year"] = $sdate[0];
    //	$sdate = $sdate[2]."-".$sdate[1]."-".$sdate[0];
    $sdate = "{$date_year}-{$date_month}-{$date_day}";
    $cheqnum = 0 + $cheqnum;
    $pay = "";
    $accdate = $sdate;
    //	$accdate = "$date_year-$date_month-$date_day";
    /* Paid invoices */
    $invidsers = "";
    $rinvids = "";
    $amounts = "";
    $invprds = "";
    $rages = "";
    $setamts = "";
    #get settlement accid
    $get_setacc = "SELECT accid FROM accounts WHERE accname = 'Debtors Settlement Discount'";
    $run_setacc = db_exec($get_setacc) or errDie("Unable to get settlement account information");
    $setaccid = pg_fetch_result($run_setacc, 0, 0);
    $vatacc = gethook("accnum", "salesacc", "name", "VAT", "VAT");
    $amt += $overpay;
    /* OPTION 3 : ALLOCATE TO EACH INVOICE (confirm) */
    if ($all == 2) {
        $sql = "UPDATE cubit.customers SET balance = (balance - '{$amt}'::numeric(16,2)) WHERE cusnum = '{$cus['cusnum']}' AND div = '" . USER_DIV . "'";
        $rslt = db_exec($sql) or errDie("Unable to update invoice in Cubit.", SELF);
        if (isset($invids)) {
            foreach ($invids as $key => $value) {
                $ii = $invids[$key];
                # some logic ...
                # because the customer account should be 0 when paid fully, we need
                # to also deduct the settlement amount ...
                $paidamt[$key] = $paidamt[$key] + $stock_setamt[$key];
                # with the amount added to the paid amount, we tract it using a new
                # seperate setamt db column
                if (!isset($itype[$key]) && !isset($ptype[$key])) {
                    $sql = "SELECT prd,invnum,odate FROM cubit.invoices WHERE invid ='{$invids[$key]}' AND div = '" . USER_DIV . "'";
                    $invRslt = db_exec($sql) or errDie("Unable to retrieve invoice details from database.");
                    if (pg_numrows($invRslt) < 1) {
                        return "<li class='err'>Invalid Invoice Number.</li>";
                    }
                    $inv = pg_fetch_array($invRslt);
                    // reduce invoice balance
                    $sql = "\n\t\t\t\t\t\tUPDATE cubit.invoices\n\t\t\t\t\t\tSET balance = (balance - {$paidamt[$key]}::numeric(16,2))\n\t\t\t\t\t\tWHERE invid = '{$invids[$key]}' AND div = '" . USER_DIV . "'";
                    $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
                    $sql = "\n\t\t\t\t\t\tUPDATE cubit.open_stmnt\n\t\t\t\t\t\tSET balance = (balance - {$paidamt[$key]}::numeric(16,2))\n\t\t\t\t\t\tWHERE invid = '{$inv['invnum']}' AND div = '" . USER_DIV . "'";
                    $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
                    # record the payment on the statement
                    $sql = "\n\t\t\t\t\t\tINSERT INTO cubit.stmnt (\n\t\t\t\t\t\t\tcusnum, invid, \n\t\t\t\t\t\t\tamount, date, type, div, allocation_date, docref, \n\t\t\t\t\t\t\tallocation_balance\n\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t'{$cus['cusnum']}', '{$inv['invnum']}', \n\t\t\t\t\t\t\t'" . ($paidamt[$key] - $stock_setamt[$key] - ($paidamt[$key] - $stock_setamt[$key]) * 2) . "', \n\t\t\t\t\t\t\t'{$sdate}', 'Payment for Invoice No. {$inv['invnum']}', '" . USER_DIV . "', '{$inv['odate']}', '{$reference}', \n\t\t\t\t\t\t\t'" . abs($paidamt[$key] - $stock_setamt[$key] - ($paidamt[$key] - $stock_setamt[$key]) * 2) . "'\n\t\t\t\t\t\t)";
                    $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
                    #record the settlement discount on the statement
                    if ($stock_setamt[$key] > 0) {
                        $sql = "\n\t\t\t\t\t\t\tINSERT INTO cubit.stmnt (\n\t\t\t\t\t\t\t\tcusnum, invid, amount, \n\t\t\t\t\t\t\t\tdate, type, \n\t\t\t\t\t\t\t\tdiv, allocation_date, docref, allocation_balance\n\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t'{$cus['cusnum']}', '{$inv['invnum']}', '" . ($stock_setamt[$key] - $stock_setamt[$key] * 2) . "', \n\t\t\t\t\t\t\t\t'{$sdate}', 'Settlement Discount for Invoice No.{$inv['invnum']} Ref. {$refnum}', \n\t\t\t\t\t\t\t\t'" . USER_DIV . "', '{$inv['odate']}', '{$reference}', '" . abs($stock_setamt[$key] - $stock_setamt[$key] * 2) . "'\n\t\t\t\t\t\t\t)";
                        $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
                    }
                    #deduct setamt for records ...
                    custledger($cus['cusnum'], $bank_acc, $sdate, $inv['invnum'], "Payment for Invoice No. {$inv['invnum']}", $paidamt[$key] - $stock_setamt[$key], "c");
                    db_connect();
                    $rinvids .= "|{$invids[$key]}";
                    $amounts .= "|{$paidamt[$key]}";
                    if ($inv['prd'] == "0") {
                        $inv['prd'] = PRD_DB;
                    }
                    $invprds .= "|{$inv['prd']}";
                    $rages .= "|0";
                    $invidsers .= " - {$inv['invnum']}";
                    $setamts .= "|{$stock_setamt[$key]}";
                } elseif (!isset($ptype[$key])) {
                    $sql = "\n\t\t\t\t\t\tSELECT prd,invnum,descrip,age,odate \n\t\t\t\t\t\tFROM cubit.nons_invoices \n\t\t\t\t\t\tWHERE invid ='{$invids[$key]}' AND div = '" . USER_DIV . "'";
                    $invRslt = db_exec($sql) or errDie("Unable to retrieve invoice details from database.");
                    if (pg_numrows($invRslt) < 1) {
                        return "<li class='err'>Invalid Invoice Number.</li>";
                    }
                    $inv = pg_fetch_array($invRslt);
                    // reduce the invoice balance
                    $sql = "\n\t\t\t\t\t\tUPDATE cubit.nons_invoices \n\t\t\t\t\t\tSET balance = (balance - {$paidamt[$key]}::numeric(16,2)) \n\t\t\t\t\t\tWHERE invid = '{$invids[$key]}' AND div = '" . USER_DIV . "'";
                    $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
                    $sql = "\n\t\t\t\t\t\tUPDATE cubit.open_stmnt \n\t\t\t\t\t\tSET balance = (balance - {$paidamt[$key]}::numeric(16,2)) \n\t\t\t\t\t\tWHERE invid = '{$inv['invnum']}' AND div = '" . USER_DIV . "'";
                    $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
                    if (!isset($inv['odate']) or strlen($inv['odate']) < 1) {
                        $inv['odate'] = $sdate;
                    }
                    // add payment to statement
                    $sql = "\n\t\t\t\t\t\tINSERT INTO cubit.stmnt (\n\t\t\t\t\t\t\tcusnum, invid, \n\t\t\t\t\t\t\tamount, \n\t\t\t\t\t\t\tdate, type, \n\t\t\t\t\t\t\tdiv, allocation_date, docref, allocation_balance\n\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t'{$cus['cusnum']}', '{$inv['invnum']}', \n\t\t\t\t\t\t\t'" . ($paidamt[$key] - $stock_setamt[$key] - ($paidamt[$key] - $stock_setamt[$key]) * 2) . "', \n\t\t\t\t\t\t\t'{$sdate}', 'Payment for Non Stock Invoice No. {$inv['invnum']} - {$inv['descrip']}', \n\t\t\t\t\t\t\t'" . USER_DIV . "', '{$inv['odate']}', '{$reference}', '" . abs($paidamt[$key] - $stock_setamt[$key] - ($paidamt[$key] - $stock_setamt[$key]) * 2) . "'\n\t\t\t\t\t\t)";
                    $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
                    #record the settlement discount on the statement
                    if ($stock_setamt[$key] > 0) {
                        $sql = "\n\t\t\t\t\t\t\tINSERT INTO cubit.stmnt (\n\t\t\t\t\t\t\t\tcusnum, invid, amount, \n\t\t\t\t\t\t\t\tdate, type, \n\t\t\t\t\t\t\t\tdiv, allocation_date, docref, allocation_balance\n\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t'{$cus['cusnum']}', '{$inv['invnum']}', '" . ($stock_setamt[$key] - $stock_setamt[$key] * 2) . "', \n\t\t\t\t\t\t\t\t'{$sdate}', 'Settlement Discount for Invoice No.{$inv['invnum']} Ref. {$refnum}', \n\t\t\t\t\t\t\t\t'" . USER_DIV . "', '{$inv['odate']}', '{$reference}', '" . abs($stock_setamt[$key] - $stock_setamt[$key] * 2) . "'\n\t\t\t\t\t\t\t)";
                        $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
                    }
                    custledger($cus['cusnum'], $bank_acc, $sdate, $inv['invnum'], "Payment for Non Stock Invoice No. {$inv['invnum']} - {$inv['descrip']}", $paidamt[$key], "c");
                    db_connect();
                    //recordCT($paidamt[$key], $cus['cusnum'],$inv['age'],$accdate);
                    $rinvids .= "|{$invids[$key]}";
                    $amounts .= "|{$paidamt[$key]}";
                    $invprds .= "|0";
                    $rages .= "|{$inv['age']}";
                    $invidsers .= " - {$inv['invnum']}";
                    $setamts .= "|{$stock_setamt[$key]}";
                } else {
                    /* pos invoices */
                    $sqls = array();
                    for ($i = 1; $i <= 12; ++$i) {
                        $sqls[] = "\n\t\t\t\t\t\t\tSELECT '{$i}' AS prd,invid,invnum,odate \n\t\t\t\t\t\t\tFROM \"{$i}\".pinvoices \n\t\t\t\t\t\t\tWHERE invid='{$invids[$key]}' AND div='" . USER_DIV . "'";
                    }
                    $sql = implode(" UNION ", $sqls);
                    $invRslt = db_exec($sql) or errDie("Unable to retrieve invoice details from database.");
                    if (pg_numrows($invRslt) < 1) {
                        return "<li class='err'>Invalid Invoice Number.</li>";
                    }
                    $inv = pg_fetch_array($invRslt);
                    // reduce the invoice balance
                    $sql = "\n\t\t\t\t\t\tUPDATE \"{$inv['prd']}\".pinvoices \n\t\t\t\t\t\tSET balance = (balance - {$paidamt[$key]}::numeric(16,2)) \n\t\t\t\t\t\tWHERE invid = '{$invids[$key]}' AND div = '" . USER_DIV . "'";
                    $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
                    $sql = "\n\t\t\t\t\t\tUPDATE cubit.open_stmnt \n\t\t\t\t\t\tSET balance = (balance - {$paidamt[$key]}::numeric(16,2)) \n\t\t\t\t\t\tWHERE invid = '{$inv['invnum']}' AND div = '" . USER_DIV . "'";
                    $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
                    // add payment to statement
                    $sql = "\n\t\t\t\t\t\tINSERT INTO cubit.stmnt (\n\t\t\t\t\t\t\tcusnum, invid, amount, date, \n\t\t\t\t\t\t\ttype, div, \n\t\t\t\t\t\t\tallocation_date, docref, allocation_balance\n\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t'{$cus['cusnum']}', '{$inv['invnum']}', '" . ($paidamt[$key] - $stock_setamt[$key]) * -1 . "', '{$sdate}', \n\t\t\t\t\t\t\t'Payment for POS Invoice No. {$inv['invnum']}', '" . USER_DIV . "', \n\t\t\t\t\t\t\t'{$inv['odate']}', '{$reference}', '" . abs(($paidamt[$key] - $stock_setamt[$key]) * -1) . "'\n\t\t\t\t\t\t)";
                    $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
                    #record the settlement discount on the statement
                    if ($stock_setamt[$key] > 0) {
                        $sql = "\n\t\t\t\t\t\t\tINSERT INTO cubit.stmnt (\n\t\t\t\t\t\t\t\tcusnum, invid, \n\t\t\t\t\t\t\t\tamount, date, \n\t\t\t\t\t\t\t\ttype, \n\t\t\t\t\t\t\t\tdiv, allocation_date, docref, allocation_balance\n\t\t\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t\t\t'{$cus['cusnum']}', '{$inv['invnum']}', \n\t\t\t\t\t\t\t\t'" . ($stock_setamt[$key] - $stock_setamt[$key] * 2) . "', '{$sdate}', \n\t\t\t\t\t\t\t\t'Settlement Discount for Invoice No.{$inv['invnum']} Ref. {$refnum}', \n\t\t\t\t\t\t\t\t'" . USER_DIV . "', '{$inv['odate']}', '{$reference}', '" . abs($stock_setamt[$key] - $stock_setamt[$key] * 2) . "'\n\t\t\t\t\t\t\t)";
                        $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
                    }
                    custledger($cus['cusnum'], $bank_acc, $sdate, $inv['invnum'], "Payment for POS Invoice No. {$inv['invnum']}", $paidamt[$key], "c");
                    //recordCT($paidamt[$key], $cus['cusnum'],"0",$accdate);
                    $rinvids .= "|{$invids[$key]}";
                    $amounts .= "|{$paidamt[$key]}";
                    $invprds .= "|{$inv['prd']}";
                    $rages .= "|0";
                    $invidsers .= " - {$inv['invnum']}";
                    $setamts .= "|{$stock_setamt[$key]}";
                }
            }
        }
        if (open()) {
            db_conn('cubit');
            $Sl = "SELECT * FROM cubit.open_stmnt WHERE balance>0 AND cusnum='{$cusid}' ORDER BY date";
            $Ri = db_exec($Sl) or errDie("Unable to get open items.");
            //$open_out=$out;
            $ox = "";
            $i = 0;
            while ($od = pg_fetch_array($Ri)) {
                $oid = $od['id'];
                if (!isset($open_amount[$oid]) || $open_amount[$oid] == 0) {
                    continue;
                }
                $ox .= "\n\t\t\t\t\t<input type='hidden' size='20' name='open[{$oid}]' value='{$oid}'>\n\t\t\t\t\t<input type='hidden' name='open_amount[{$oid}]' value='{$open_amount[$oid]}'>\n\t\t\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t\t\t<td>{$od['type']}</td>\n\t\t\t\t\t\t<td>" . CUR . " {$od['balance']}</td>\n\t\t\t\t\t\t<td>{$od['date']}</td>\n\t\t\t\t\t\t<td>" . CUR . " {$open_amount[$oid]}</td>\n\t\t\t\t\t</tr>";
                $sql = "\n\t\t\t\t\tUPDATE cubit.open_stmnt \n\t\t\t\t\tSET balance = (balance - {$open_amount[$oid]} ::numeric(16,2)) \n\t\t\t\t\tWHERE id = '{$oid}' AND div = '" . USER_DIV . "'";
                $payRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
                // record the payment on the statement
                $sql = "\n\t\t\t\t\tINSERT INTO cubit.stmnt (\n\t\t\t\t\t\tcusnum, invid, amount, date, \n\t\t\t\t\t\ttype, div, allocation_date, docref, allocation_balance\n\t\t\t\t\t) VALUES (\n\t\t\t\t\t\t'{$cus['cusnum']}', '0', '" . -$open_amount[$oid] . "', '{$sdate}', \n\t\t\t\t\t\t'Payment received', '" . USER_DIV . "', '{$accdate}', '{$reference}', '" . abs($open_amount[$oid]) . "'\n\t\t\t\t\t)";
                $stmntRslt = db_exec($sql) or errDie("Unable to insert statement record in Cubit.", SELF);
                custledger($cus['cusnum'], $bank_acc, $sdate, 0, "Payment received", $open_amount[$oid], "c");
                recordCT($open_amount[$oid], $cus['cusnum'], 0, $accdate);
            }
        }
        // record the payment record
        $cols = grp(m("bankid", $bankid), m("trantype", "deposit"), m("date", $sdate), m("name", "{$cus['cusname']} {$cus['surname']}"), m("descript", "Payment for Invoices {$invidsers} from customer {$cus['cusname']} {$cus['surname']}"), m("cheqnum", $cheqnum), m("amount", $amt), m("banked", "no"), m("accinv", $dept["debtacc"]), m("cusnum", $cus["cusnum"]), m("rinvids", $rinvids), m("amounts", $amounts), m("invprds", $invprds), m("rages", $rages), m("reference", $reference), m("div", USER_DIV));
        $dbobj = new dbUpdate("cashbook", "cubit", $cols);
        $dbobj->run(DB_INSERT);
        $dbobj->free();
        $cashbook_id = pglib_lastid("cashbook", "cashid");
        writetrans($bank_acc, $dept['debtacc'], $accdate, $refnum, $amt, "Payment for Invoices {$invidsers} from customer {$cus['cusname']} {$cus['surname']}");
    }
    /* start moving invoices */
    // move invoices that are fully paid
    $sql = "SELECT * FROM cubit.invoices WHERE balance='0' AND printed = 'y' AND done = 'y' AND div = '" . USER_DIV . "'";
    $invbRslt = db_exec($sql) or errDie("Unable to update Invoice information in Cubit.", SELF);
    while ($x = pg_fetch_array($invbRslt)) {
        if (($prd = $x['prd']) == "0") {
            $prd = PRD_DB;
        }
        // move invoice
        $cols = grp(m("invid", $x["invid"]), m("invnum", $x["invnum"]), m("deptid", $x["deptid"]), m("cusnum", $x["cusnum"]), m("deptname", $x["deptname"]), m("cusacc", $x["cusacc"]), m("cusname", $x["cusname"]), m("surname", $x["surname"]), m("cusaddr", $x["cusaddr"]), m("cusvatno", $x["cusvatno"]), m("cordno", $x["cordno"]), m("ordno", $x["ordno"]), m("chrgvat", $x["chrgvat"]), m("terms", $x["terms"]), m("traddisc", $x["traddisc"]), m("salespn", $x["salespn"]), m("odate", $x["odate"]), m("delchrg", $x["delchrg"]), m("subtot", $x["subtot"]), m("vat", $x["vat"]), m("total", $x["total"]), m("age", $x["age"]), m("comm", $x["comm"]), m("discount", $x["discount"]), m("delivery", $x["delivery"]), m("docref", $x["docref"]), m("prd", $x["prd"]), m("delvat", $x["delvat"]), m("balance", 0), m("printed", "y"), m("done", "y"), m("username", USER_NAME), m("div", USER_DIV));
        $dbobj = new dbUpdate("invoices", $prd, $cols);
        $dbobj->run(DB_INSERT);
        $dbobj->free();
        // record movement
        $cols = grp(m("invtype", "inv"), m("invnum", $x["invnum"]), m("prd", $x["prd"]), m("docref", $x["docref"]), m("div", USER_DIV));
        $dbobj->setTable("movinv", "cubit");
        $dbobj->setOpt($cols);
        $dbobj->run();
        $dbobj->free();
        // move invoice items
        $inv_items = new dbSelect("inv_items", "cubit", grp(m("where", wgrp(m("invid", $x["invid"]), m("div", USER_DIV)))));
        $inv_items->run();
        while ($xi = $inv_items->fetch_array()) {
            $xi['vatcode'] += 0;
            $xi['account'] += 0;
            $xi['del'] += 0;
            $cols = grp(m("invid", $x["invid"]), m("whid", $xi["whid"]), m("stkid", $xi["stkid"]), m("qty", $xi["qty"]), m("unitcost", $xi["unitcost"]), m("amt", $xi["amt"]), m("disc", $xi["disc"]), m("discp", $xi["discp"]), m("vatcode", $xi["vatcode"]), m("account", $xi["account"]), m("description", $xi["description"]), m("del", $xi["del"]), m("noted", $xi["noted"]), m("serno", $xi["serno"]), m("div", USER_DIV));
            $dbobj->setTable("inv_items", $prd);
            $dbobj->setOpt($cols);
            $dbobj->run();
            $dbobj->free();
        }
        /* remove invoice from cubit schema */
        $dbobj = new dbDelete("invoices", "cubit", wgrp(m("invid", $x["invid"]), m("div", USER_DIV)));
        $dbobj->run();
        $dbobj->setTable("inv_items", "cubit");
        $dbobj->run();
    }
    #do journal for the settlement discount here ... now ...
    if ($setamt > 0) {
        db_conn('core');
        #calculate the settlement vat ... and amt
        if (isset($setvat) and $setvat == 'inc') {
            db_connect();
            $get_vcode = "SELECT * FROM vatcodes WHERE id = '{$setvatcode}' LIMIT 1";
            $run_vcode = db_exec($get_vcode) or errDie("Unable to get vatcode informtion.");
            if (pg_numrows($run_vcode) < 1) {
                return "<li class='err'>Settlement Discount VAT Code Not Set.</li>";
            }
            $vd = pg_fetch_array($run_vcode);
            #vat inc ... recalculate the amts
            $setvatamt = sprint($setamt * ($vd['vat_amount'] / (100 + $vd['vat_amount'])));
            $setamt = sprint($setamt - $setvatamt);
            #process the vat amt ...
            writetrans($vatacc, $dept['debtacc'], $accdate, $refnum, $setvatamt, "VAT Received on Settlement Discount (Ref.{$refnum}) for Customer : {$cus['cusname']} {$cus['surname']}");
            vatr($vd['id'], $accdate, "OUTPUT", $vd['code'], $refnum, "VAT for Settlement Discount (Ref.{$refnum}) for Customer : {$cus['cusname']} {$cus['surname']}", ($setamt + $setvatamt) * -1, $setvatamt * -1);
        } else {
            #no vat for set amt ... do nothing
            $setvatamt = 0;
        }
        custledger($cus['cusnum'], $setaccid, $accdate, $refnum, "Settlement Discount (Ref.{$refnum})", $setamt + $setvatamt, "c");
        writetrans($setaccid, $dept['debtacc'], $accdate, $refnum, $setamt, "Settlement Discount (Ref.{$refnum}) For {$cus['cusname']} {$cus['surname']}");
        db_connect();
        #record this paid settlement discount for reporting ...
        $settl_sql = "\n\t\t\tINSERT INTO settlement_cus (\n\t\t\t\tcustomer, amt, setamt, setvatamt, setvat, setvatcode, tdate, sdate, refnum\n\t\t\t) VALUES (\n\t\t\t\t'{$cus['cusnum']}', '{$amt}', '{$setamt}', '{$setvatamt}', '{$setvat}', '{$setvatcode}', '{$accdate}', 'now', '{$refnum}'\n\t\t\t)";
        $run_settl = db_exec($settl_sql) or errDie("Unable to get debtor settlement information.");
    }
    //	$overpay = sprint ($amt - array_sum($paidamt));
    if (!isset($overpay) or $overpay < 0) {
        $overpay = 0.0;
    }
    if ($overpay > 0) {
        recordCT($overpay, $cus['cusnum'], 0, $accdate);
        $cols = grp(m("cusnum", $cus["cusnum"]), m("invid", 0), m("amount", -$overpay), m("date", $sdate), m("type", "Payment Received (Receipt " . pglib_lastid("cashbook", "cashid") . ")"), m("div", USER_DIV), m("allocation_date", $accdate), m("docref", $reference));
        $dbobj = new dbUpdate("stmnt", "cubit", $cols);
        $dbobj->run(DB_INSERT);
        $dbobj->free();
        custledger($cus['cusnum'], $bank_acc, $sdate, "PAYMENT", "Payment received.", $overpay, "c");
    }
    pglib_transaction("COMMIT") or errDie("Unable to commit a database transaction.", SELF);
    // status report
    //	$write = "
    //				<table ".TMPL_tblDflts." width='100%'>
    //					<tr>
    //						<th>Bank Receipt</th>
    //					</tr>
    //					<tr class='".bg_class()."'>
    //						<td>Bank Receipt added to cash book.</td>
    //					</tr>
    //				</table>
    //			";
    //
    //	$OUTPUT = "<center>
    //        <table width='90%'>
    //        <tr valign='top'>
    //        	<td width='50%'>$write</td>
    //	        <td align='center'>"
    //				.mkQuickLinks(
    //					ql("bank-pay-add.php", "Add Bank Payment"),
    //					ql("bank-recpt-add.php", "Add Bank Receipt"),
    //					ql("bank-recpt-inv.php", "Add Customer Payment"),
    //					ql("cashbook-view.php", "View Cash Book")
    //				)."
    //			</td>
    //		</tr>
    //		</table>";
    //	return $OUTPUT;
    if (isset($print_recpt) and $print_recpt == "yes") {
        $showreceipt = "printer ('bank/bank-recpt-inv-print.php?recid={$cashbook_id}');";
    } else {
        $showreceipt = "";
    }
    return "\n\t\t<script>\n\t\t\tmove ('../customers-view.php?offset=0&fval=&filter=surname&nozerobal=yes');\n\t\t\t{$showreceipt}\n\t\t</script>";
}