function approve() { extract($_REQUEST); if (!isset($approve) || $approve != "i" && $approve != "a") { invalid_use("<li class='err'>Invalid action.<li>"); } /* order info */ $qry = new dbSelect("recvpurch", "trh", grp(m("where", wgrp(m("id", $id))))); $qry->run(); if ($qry->num_rows() <= 0) { invalid_use("<li class='err'>Invalid Sales Order Id (TRHAPP).</li>"); } $soi = $qry->fetch_array(); /* customer info */ $ci = qryCustomer($soi["custid"]); /* sales person name */ if (empty($ci["sales_rep"])) { $speoples = qrySalesPerson(); if ($speoples->num_rows() <= 0) { $salespn = "General"; } else { $speoples->fetch_array(); $salespn = $speoples->d["salesp"]; $speoples->free(); } } else { $m = qrySalesPerson($ci["sales_rep"]); $salespn = $m["salesp"]; } /* currency info */ $curinfo = qryCurrency($ci["fcid"]); $cols = grp(m("deptid", "{$ci['deptid']}"), m("cusnum", "{$ci['cusnum']}"), m("cordno", ""), m("ordno", ""), m("chrgvat", $soi["vatinc"] == "yes" ? "inc" : "no"), m("terms", "{$ci['credterm']}"), m("salespn", $salespn), m("odate", "{$soi['pdate']}"), m("accepted", "n"), m("comm", ""), m("done", "y"), m("username", USER_NAME), m("deptname", "{$ci['deptname']}"), m("cusacc", "{$ci['accno']}"), m("cusname", "{$ci['cusname']}"), m("surname", "{$ci['surname']}"), m("cusaddr", "{$ci['addr1']}"), m("cusordno", "{$soi['purnum']}"), m("cusvatno", "{$ci['vatnum']}"), m("prd", "0"), m("div", USER_DIV), m("disc", "0.00"), m("discp", "0.00"), m("delchrg", "{$soi['shipchrg']}"), m("subtot", "{$soi['subtot']}"), m("traddisc", "0.00"), m("balance", "{$soi['balance']}"), m("vat", "{$soi['vat']}"), m("total", "{$soi['total']}"), m("jobid", "0"), m("jobnum", "0"), m("dir", ""), m("location", ""), m("fcid", "{$ci['fcid']}"), m("currency", "{$curinfo['symbol']}"), m("xrate", "{$curinfo['rate']}"), m("fbalance", "0.00"), m("fsubtot", "0.00"), m("discount", "0.00"), m("delivery", "{$soi['shipchrg']}"), m("delvat", "{$soi['delvat']}"), m("display_costs", "yes"), m("proforma", "no"), m("pinvnum", "0")); $upd = new dbUpdate("sorders", "cubit", $cols); $upd->run(DB_INSERT); $sordid = $upd->lastvalue("sordid"); /* items */ $qry->reset(); $qry->setTable("recvpurch_items"); $qry->setOpt(grp(m("where", wgrp(m("recvpurch_id", $id))))); $qry->run(); $upd->setTable("sorders_items"); while ($row = $qry->fetch_array()) { if (empty($row["sup_stkcod"])) { invalid_use("Supplier stock codes not setup for customer. Order ignored."); } $stkinfo = qryStockC($row["sup_stkcod"]); $cols = grp(m("sordid", "{$sordid}"), m("whid", "{$stkinfo['whid']}"), m("stkid", "{$stkinfo['stkid']}"), m("qty", "{$row['qty']}"), m("div", USER_DIV), m("amt", "{$row['amt']}"), m("discp", "0.00"), m("disc", "0.00"), m("unitcost", "{$row['unitcost']}"), m("hidden", ""), m("funitcost", "0.00"), m("famt", "0.00"), m("pinv", "0.00"), m("vatcode", "{$stkinfo['vatcode']}"), m("description", "{$stkinfo['stkdes']}"), m("account", "0")); $upd->setOpt($cols); $upd->run(DB_INSERT); } /* set approve status */ $upd->reset(); $upd->setTable("recvpurch", "trh"); $upd->setOpt(grp(m("approved", "{$approve}")), "id='{$id}'"); $upd->run(DB_UPDATE); /* get customer trh config */ $keyinfo = trhKeyCust($soi["custid"]); $email = $keyinfo["email"]; /* send trh response message */ $purinfo = array("purid" => $soi["purid"], "status" => $approve); $ret = send_trhmsg("cust", $soi["custid"], $email, "rsppur", $purinfo); if ($approve == "i") { header("Location: ../sorder-accept.php?sordid={$sordid}"); exit; } else { $OUT = listorders("<li class='err'>Successfully approved sales order.</li>"); } return $OUT; }
function add() { extract($_REQUEST); $qry = new dbSelect("batch_cashbook", "cubit", grp(m("where", wgrp(m("cashid", "{$id}"))))); $qry->run(); if ($qry->num_rows() <= 0) { invalid_use("Invalid batch cashbook entry."); } $bcb = $qry->fetch_array(); if ($bcb["chrgvat"] == "exc") { $bcb["amount"] -= $bcb["vat"]; } extract($bcb, EXTR_SKIP); core_connect(); $accs = qryAccounts(); if ($accs->num_rows() <= 0) { $glacc = "There are no Income accounts in Cubit."; } $glacc = "<select name='accinv'>"; while ($acc = $accs->fetch_array()) { if (isDisabled($acc['accid'])) { continue; } if ($accinv == $acc['accid']) { $sel = "selected"; } else { $sel = ""; } $glacc .= "<option value='{$acc['accid']}' {$sel}>{$acc['accname']}</option>"; } $glacc .= "</select>"; $OUT = "\n\t\t\t\t<h3>Edit Bank Receipt</h3>\n\t\t\t\t<table " . TMPL_tblDflts . " width='100%'>\n\t\t\t\t<form action='" . SELF . "' method='POST' name='form'>\n\t\t\t\t\t<input type='hidden' name='key' value='confirm'>\n\t\t\t\t\t<input type='hidden' name='id' value='{$id}'>\n\t\t\t\t\t<input type='hidden' name='vat' value='{$bcb['vat']}' />\n\t\t\t\t\t<input type='hidden' name='orig_vatcode' value='{$bcb['vatcode']}' />\n\t\t\t\t\t<input type='hidden' name='orig_chrgvat' value='{$bcb['chrgvat']}' />\n\t\t\t\t\t<input type='hidden' name='orig_amount' value='{$bcb['amount']}' />\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th>Field</th>\n\t\t\t\t\t\t<th>Value</th>\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>Bank Account</td>\n\t\t\t\t\t\t<td valign='center'>\n\t\t\t\t\t\t\t<select name='bankid'>"; db_connect(); $qry->setTable("bankacct", "cubit"); $qry->setOpt(grp(m("where", "btype!='int' AND div='" . USER_DIV . "'"))); $qry->run(); if ($qry->num_rows() <= 0) { return "<li class='err'> There are no accounts held at the selected Bank.\n\t\t\t<p><input type='button' onClick='JavaScript:history.back();' value='« Correct Selection'>"; } while ($acc = $qry->fetch_array()) { if (isset($bankid) && $bankid == $acc['bankid']) { $sel = "selected"; } else { $sel = ""; } $OUT .= "<option value='{$acc['bankid']}' {$sel}>{$acc['accname']} - {$acc['bankname']} ({$acc['acctype']})</option>"; } if (!isset($name)) { $name = ""; $descript = ""; $cheqnum = ""; $amount = ""; $chrgvat = ""; } db_conn('cubit'); $Sl = "SELECT * FROM vatcodes ORDER BY code"; $Ri = db_exec($Sl) or errDie("Unable to get vat codes"); $Vatcodes = "\n\t\t\t<select name='vatcode'>\n\t\t\t\t<option value='0'>Select</option>"; $vacs = qryVatcode(); $Vatcodes = db_mksel($vacs, "vatcode", $vatcode, "#id", "#code", "0:Select"); list($o_year, $o_month, $o_day) = explode('-', $date); $sel1 = ""; $sel2 = ""; $sel3 = ""; if ($chrgvat == "inc") { $sel1 = "checked=yes"; } else { if ($chrgvat == "exc") { $sel2 = "checked=yes"; } else { if ($chrgvat == "nov") { $sel3 = "checked=yes"; } else { $sel1 = "checked=yes"; } } } $OUT .= "\n\t\t</select>\n\t\t</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Date</td>\n\t\t<td>\n\t\t\t" . mkDateSelect("o", $o_year, $o_month, $o_day) . "\n\t\t</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Received from</td>\n\t\t<td valign='center'><input size='20' name='name' value='{$name}'></td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Description</td>\n\t\t<td valign='center'><textarea col='18' rows='3' name='descript'>{$descript}</textarea></td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Reference</td>\n\t\t<td valign='center'><input size='20' name='reference' value='{$reference}'></td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Cheque Number</td>\n\t\t<td valign='center'><input size='20' name='cheqnum' value='{$cheqnum}'></td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>Amount</td>\n\t\t<td valign='center'>" . CUR . " <input type='text' size='10' name='amount' value='" . sprint($amount) . "'></td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>VAT </td>\n\t\t<td>\n\t\t\t<input type='radio' name='chrgvat' value='inc' {$sel1}>Inclusive \n\t\t\t<input type='radio' name='chrgvat' value='exc' {$sel2}>Exclusive \n\t\t\t<input type='radio' name='chrgvat' value='nov' {$sel3}>No VAT\n\t\t</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td>VAT Code</td>\n\t\t<td>{$Vatcodes}</td>\n\t</tr>\n\t<tr class='" . bg_class() . "'>\n\t\t<td valign='top'>Select Contra Account</td>\n\t\t<td>{$glacc}</td>\n\t</tr>\n\t<tr>\n\t\t<td> </td>\n\t\t<td valign='center' align='right'><input type='submit' value='Confirm »'></td>\n\t</tr>\n\t</table>"; # main table (layout with menu) $OUT .= mkQuickLinks(); return $OUT; }
function send() { if (!isset($_REQUEST["id"])) { invalid_use(); } /* fetch purchase information */ $purchase = new dbSelect("purchases", "cubit", grp(m("where", "purid='{$_REQUEST['id']}'"))); $purchase->run(); if ($purchase->num_rows() <= 0) { invalid_use("Invalid purchase."); } $purdata = $purchase->fetch_array(); /* fetch the transheks email address of this supplier */ $qry = new dbSelect("keys", "trh", grp(m("cols", "email, (key).send_key AS send_key"), m("where", "suppid='{$purdata['supid']}'"))); $qry->run(); if ($qry->num_rows() <= 0) { invalid_use("This supplier isn't configured for Transheks transactioning."); } $keyinfo = trhKeySupp($purdata["supid"]); $email = $keyinfo["email"]; $send_key = $keyinfo["send_key"]; if (empty($send_key)) { invalid_use("This supplier hasn't confirmed the Transactioning request sent."); } /* fetch purchase item information */ $puritems = array(); $purchase->setTable("pur_items", "cubit"); $purchase->run(); if ($purchase->num_rows() <= 0) { invalid_use("Invalid purchase, purchase has no items."); } while ($row = $purchase->fetch_array()) { $puritems[] = $row; } /* build xml data */ $XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; $attrs = array(); foreach ($purdata as $k => $v) { $attrs[] = "{$k}=\"{$v}\""; } $XML .= "<purdata " . implode(" ", $attrs) . ">\n"; foreach ($puritems as $puritem_data) { $attrs = array(); foreach ($puritem_data as $k => $v) { $attrs[] = "{$k}=\"{$v}\""; } $XML .= "\t<puritem " . implode(" ", $attrs) . " />\n"; } $XML .= "</purdata>\n"; $OUT = "<h3>Send Supplier Order</h3>"; if (($ret = send_trhmsg("supp", $purdata["supid"], $email, "reqpur", $XML)) !== true) { if ($ret === false) { $OUT .= "<li class='err'>There was an unknown error sending order to supplier.</li>"; } else { $OUT .= "<li class='err'>Error sending order to supplier: {$ret}.</li>"; } } else { $OUT .= "Successfully sent order to supplier."; } return $OUT; }