function display() { extract($_REQUEST); $fields = array(); $fields["from_year"] = date("Y"); $fields["from_month"] = date("m"); $fields["from_day"] = date("d"); $fields["to_year"] = date("Y"); $fields["to_month"] = date("m"); $fields["to_day"] = date("d"); extract($fields, EXTR_SKIP); $OUTPUT = "<center>\r\n\t<h3>Equipment to be Returned</h3>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='4'>Date Range</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . mkDateSelect("from", $from_year, $from_month, $from_day) . "</td>\r\n\t\t\t<td><b> To </b></td>\r\n\t\t\t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\r\n\t\t\t<td>\r\n\t\t\t\t<input type='submit' value='Continue' style='text-weight: bold' />\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>"; // Retrieve equipment to be returned $sql = "SELECT *,\r\n\t\t\t\t(SELECT des FROM cubit.assets WHERE id=asset_id) AS des,\r\n\t\t\t\t(SELECT serial FROM cubit.assets WHERE id=asset_id) AS serial\r\n\t\t\tFROM hire.hire_invitems\r\n\t\t\tORDER BY des ASC"; $items_rslt = db_exec($sql) or errDie("Unable to retrieve items."); $items_out = ""; while ($items_data = pg_fetch_array($items_rslt)) { $sql = "SELECT * FROM hire.hire_invoices WHERE invid='{$items_data['invid']}'"; $inv_rslt = db_exec($sql) or errDie("Unable to retrieve invoice."); $inv_data = pg_fetch_array($inv_rslt); $sql = "SELECT * FROM cubit.customers WHERE cusnum='{$inv_data['cusnum']}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customer."); $cust_data = pg_fetch_array($cust_rslt); if (!hiredDate($items_data["id"])) { continue; } $items_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . hiredDate($items_data["id"]) . "</td>\r\n\t\t\t<td>" . returnDate($items_data["id"]) . "</td>\r\n\t\t\t<td>{$items_data['des']}</td>\r\n\t\t\t<td>" . getSerial($items_data["asset_id"]) . "</td>\r\n\t\t\t<td>{$items_data['qty']}</td>\r\n\t\t\t<td>{$cust_data['surname']} {$cust_data['cusname']}</td>\r\n\t\t\t<td>\r\n\t\t\t\t<a href='hire-invoice-new.php?invid={$items_data['invid']}'>\r\n\t\t\t\t\tView Hire\r\n\t\t\t\t</a>\r\n\t\t\t</td>\r\n\t\t</tr>"; } $OUTPUT .= "<p></p>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Hired</th>\r\n\t\t\t<th>To Be Returned</th>\r\n\t\t\t<th>Plant</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Qty</th>\r\n\t\t\t<th>Customer</th>\r\n\t\t\t<th>Options</th>\r\n\t\t</tr>\r\n\t\t{$items_out}\r\n\t</table>\r\n\t</center>"; return $OUTPUT; }
function display() { extract($_REQUEST); $fields = array(); $fields["from_year"] = date("Y"); $fields["from_month"] = date("m"); $fields["from_day"] = "01"; $fields["to_year"] = date("Y"); $fields["to_month"] = date("m"); $fields["to_day"] = date("d"); extract($fields, EXTR_SKIP); $from_date = "{$from_year}-{$from_month}-{$from_day}"; $to_date = "{$to_year}-{$to_month}-{$to_day}"; $sql = "SELECT assets.id, des, description, service_description,\r\n\t\t\t\textract('epoch' FROM timestamp) AS e_time\r\n\t\t\tFROM hire.service_history\r\n\t\t\t\tLEFT JOIN cubit.assets ON service_history.asset_id=assets.id\r\n\t\t\tWHERE timestamp BETWEEN '{$from_date} 0:00:00' AND '{$to_date} 23:59:59'"; $hist_rslt = db_exec($sql) or errDie("Unable to retrieve service history."); $hist_out = ""; while ($hist_data = pg_fetch_array($hist_rslt)) { $hist_out .= "\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . date("d-m-Y G:i:s", $hist_data["e_time"]) . "</td>\r\n\t\t\t<td>{$hist_data['des']}</td>\r\n\t\t\t<td>" . getSerial($hist_data["id"]) . "</td>\r\n\t\t\t<td>{$hist_data['service_description']}</td>\r\n\t\t</tr>"; } if (empty($hist_out)) { $hist_out = "\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='4'><li>No results found.</li></td>\r\n\t\t</tr>"; } $OUTPUT = "<center>\r\n\t<h3>Service History Report</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr><th colspan='4'>Date Range</th></tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . mkDateSelect("from", $from_year, $from_month, $from_day) . "</td>\r\n\t\t\t<td> <b>To</b> </td>\r\n\t\t\t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\r\n\t\t\t<td><input type='submit' value='Select' style='font-weight:bold' /></td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Date/Time</th>\r\n\t\t\t<th>Asset</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Service Description</th>\r\n\t\t</tr>\r\n\t\t{$hist_out}\r\n\t</table>"; return $OUTPUT; }
function display($message = "") { extract($_REQUEST); $fields = array(); $fields["search"] = ""; extract($fields, EXTR_SKIP); $description = array(); $OUTPUT = "<center>\r\n\t<h3>Service Settings</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='2'>Search</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td><input type='text' name='search' value='{$search}' /></td>\r\n\t\t\t<td><input type='submit' value='Search »' /></td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>"; // Retrieve assets $sql = "SELECT * FROM cubit.assets\r\n\t\t\tWHERE des ILIKE '%{$search}%' OR serial ILIKE '%{$search}%'\r\n\t\t\t\tOR locat ILIKE '%{$search}%'\r\n\t\t\tORDER BY des ASC"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $service_out = ""; while ($asset_data = pg_fetch_array($asset_rslt)) { if (!isOurs($asset_data["id"])) { continue; } if (!isset($description[$asset_data["id"]])) { $description[$asset_data["id"]] = ""; } $service_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td>{$asset_data['des']}</td>\r\n\t\t\t<td>" . getSerial($asset_data["id"]) . "</td>\r\n\t\t\t<td>{$asset_data['locat']}</td>\r\n\t\t\t<td>\r\n\t\t\t\t<input type='text' name='days[" . $asset_data["id"] . "]'\r\n\t\t\t\tvalue='{$asset_data['days']}' size='3'\r\n\t\t\t\tstyle='text-align: center' />\r\n\t\t\t</td>\r\n\t\t\t<td>\r\n\t\t\t\t<input type='text' name='description[{$asset_data['id']}]'\r\n\t\t\t\tvalue='" . $description[$asset_data["id"]] . "' />\r\n\t\t\t</td>\r\n\t\t</tr>"; } if (empty($service_out)) { $service_out = "<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='5'><li>No service days found.</li></td>\r\n\t\t</tr>"; } $OUTPUT .= "<form method='post' action='" . SELF . "'>\r\n\t<input type='hidden' name='key' value='save' />\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='5'><li>Amount of hire days before warning.</li></td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td colspan='5'>{$message}</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th>Description</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Location</th>\r\n\t\t\t<th>Days</th>\r\n\t\t\t<th>Description</th>\r\n\t\t</tr>\r\n\t\t{$service_out}\r\n\t\t<tr>\r\n\t\t\t<td colspan='5' align='center'>\r\n\t\t\t\t<input type='submit' value='Save »' />\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>\r\n\t</center>"; return $OUTPUT; }
function display() { extract($_REQUEST); $fields = array(); $fields["from_year"] = date("Y"); $fields["from_month"] = date("m"); $fields["from_day"] = "01"; $fields["to_year"] = date("Y"); $fields["to_month"] = date("m"); $fields["to_day"] = date("d"); extract($fields, EXTR_SKIP); $from_date = "{$from_year}-{$from_month}-{$from_day}"; $to_date = "{$to_year}-{$to_month}-{$to_day}"; $sql = "SELECT assets.id, assets.des AS asset_des, asset_svdates.svdate,\r\n\t\t\t\tasset_svdates.des AS sv_des\r\n\t\t\tFROM cubit.asset_svdates\r\n\t\t\t\tLEFT JOIN cubit.assets\r\n\t\t\t\t\tON asset_svdates.asset_id=assets.id\r\n\t\t\tWHERE asset_svdates.svdate BETWEEN '{$from_date}' AND '{$to_date}'"; $sv_rslt = db_exec($sql) or errDie("Unable to retrieve asset services."); $service_out = ""; while ($sv_data = pg_fetch_array($sv_rslt)) { if (empty($sv_data["id"])) { continue; } $service_out .= "\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>{$sv_data['asset_des']}</td>\r\n\t\t\t<td>" . getSerial($sv_data["id"]) . "</td>\r\n\t\t\t<td>{$sv_data['sv_des']}</td>\r\n\t\t\t<td>{$sv_data['svdate']}</td>\r\n\t\t</tr>"; } if (empty($service_out)) { $service_out = "<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='4'><li>No results found</li></td>\r\n\t\t</tr>"; } $OUTPUT = "<center>\r\n\t<h3>Service Report</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='4'>Date Range</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . mkDateSelect("from", $from_year, $from_month, $from_day) . "</td>\r\n\t\t\t<td> <b>To</b> </td>\r\n\t\t\t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\r\n\t\t\t<td>\r\n\t\t\t\t<input type='submit' value='Select' style='font-weight: bold' />\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Asset</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Service Description</th>\r\n\t\t\t<th>Service Date</th>\r\n\t\t</tr>\r\n\t\t{$service_out}\r\n\t</table>"; return $OUTPUT; }
function display() { extract($_REQUEST); $fields = array(); $fields["search"] = ""; $fields["type_id"] = 0; $fields["from_year"] = date("Y"); $fields["from_month"] = date("m"); $fields["from_day"] = date("d"); $fields["to_year"] = date("Y"); $fields["to_month"] = date("m"); $fields["to_day"] = date("t"); extract($fields, EXTR_SKIP); if ($type_id) { $type_sql = "AND assets.type_id='{$type_id}'"; } else { $type_sql = ""; } $sql = "SELECT qty, des, serial, customers.cusnum, customers.cusname,\r\n\t\t\t\tcustomers.surname, to_date, invnum, hire_invitems.invid,\r\n\t\t\t\thire_invitems.id, done, printed, grpname, name\r\n\t\t\t\tFROM hire.hire_invitems\r\n\t\t\t\t\tLEFT JOIN cubit.assets\r\n\t\t\t\t\t\tON hire_invitems.asset_id = assets.id\r\n\t\t\t\t\tLEFT JOIN hire.hire_invoices\r\n\t\t\t\t\t\tON hire_invitems.invid = hire_invoices.invid\r\n\t\t\t\t\tLEFT JOIN cubit.customers\r\n\t\t\t\t\t\tON hire_invoices.cusnum = customers.cusnum\r\n\t\t\t\t\tLEFT JOIN cubit.assetgrp\r\n\t\t\t\t\t\tON assets.grpid=assetgrp.grpid\r\n\t\t\t\t\tLEFT JOIN cubit.asset_types\r\n\t\t\t\t\t\tON assets.type_id=asset_types.id\r\n\t\t\t\tWHERE done='y' {$type_sql} AND remaction IS NULL AND\r\n\t\t\t\t\tprinted='y' AND (cast(qty as text) ILIKE '%{$search}%' OR\r\n\t\t\t\t\tserial ILIKE '%{$search}%' OR\r\n\t\t\t\t\tcustomers.cusname ILIKE '{$search}%' OR\r\n\t\t\t\t\tcustomers.surname ILIKE '{$search}%' OR\r\n\t\t\t\t\tcast(to_date as text) ILIKE '%{$search}%' OR\r\n\t\t\t\t\tcast(invnum as text) ILIKE '%{$search}%'\r\n\t\t\t\t\tOR grpname ILIKE '%{$search}%' OR name ILIKE '%{$search}%')\r\n\t\t\t\tORDER BY des ASC"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $sql = "SELECT id, name FROM cubit.asset_types"; $type_rslt = db_exec($sql) or errDie("Unable to retrieve asset types."); $type_sel = "<select name='type_id' onchange='javascript:document.form.submit()'\r\n\t\t\t\t style='width: 100%'>"; $type_sel .= "<option value='0'>[All]</option>"; while ($type_data = pg_fetch_array($type_rslt)) { if ($type_data["id"] == $type_id) { $sel = "selected='t'"; } else { $sel = ""; } $type_sel .= "\r\n\t\t<option value='{$type_data['id']}' {$sel}>\r\n\t\t\t{$type_data['name']}\r\n\t\t</option>"; } $type_sel .= "</select>"; $hired_out = ""; while ($asset_data = pg_fetch_array($asset_rslt)) { $hired_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td align='center'>\r\n\t\t\t\t<a href='javascript:popupOpen" . "(\"hire-invoice-new.php?invid={$asset_data['invid']}\")'>\r\n\t\t\t\t\tH" . getHirenum($asset_data["invid"], 1) . "\r\n\t\t\t\t</a>\r\n\t\t\t</td>\r\n\t\t\t<td>{$asset_data['grpname']}</td>\r\n\t\t\t<td>{$asset_data['name']}</td>\r\n\t\t\t<td>{$asset_data['des']}</td>\r\n\t\t\t<td>{$asset_data['serial']}</td>\r\n\t\t\t<td align='center'>{$asset_data['qty']}</td>\r\n\t\t\t<td>{$asset_data['cusname']} {$asset_data['surname']}</td>\r\n\t\t\t<td align='center'>" . returnDate($asset_data["id"]) . "</td>\r\n\t\t</tr>"; } // Display something atleast, even though we've got no results. if (empty($hired_out)) { $hired_out = "<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='8'><li>No results found.</li></td>\r\n\t\t</tr>"; } // Available assets ------------------------------------------------------- $sql = "SELECT grpname, name, des, assets.id, serial2\r\n\t\t\tFROM cubit.assets\r\n\t\t\t\tLEFT JOIN cubit.assetgrp ON assets.grpid=assetgrp.grpid\r\n\t\t\t\tLEFT JOIN cubit.asset_types ON assets.type_id=asset_types.id\r\n\t\t\tWHERE remaction is NULL AND (grpname ILIKE '%{$search}%' OR\r\n\t\t\t\tname ILIKE '%{$search}%' OR des ILIKE '%{$search}%') {$type_sql}\r\n\t\t\tORDER BY des ASC"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $available_out = ""; while ($asset_data = pg_fetch_array($asset_rslt)) { if (isHired($asset_data["id"])) { continue; } $available_out .= "\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>{$asset_data['grpname']}</td>\r\n\t\t\t<td>{$asset_data['name']}</td>\r\n\t\t\t<td>{$asset_data['des']}</td>\r\n\t\t\t<td>" . getSerial($asset_data["id"]) . "</td>\r\n\t\t\t<td>" . getUnits($asset_data["id"]) . "</td>\r\n\t\t</tr>"; } if (empty($available_out)) { $available_out = "<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='5'><li>No results found.</li></td>\r\n\t\t</tr>"; } $OUTPUT = "<center>\r\n\t<h3>Asset Report</th>\r\n\t<br /><br />\r\n\t<form method='post' action='" . SELF . "' name='form'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='4'>Date Range</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . mkDateSelect("from", $from_year, $from_month, $from_day) . "</td>\r\n\t\t\t<td> <b>To</b> </td>\r\n\t\t\t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\r\n\t\t\t<td><input type='submit' value='Select' /></td>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'><td colspan='4' align='center'>\r\n\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t<tr>\r\n\t\t\t\t<th colspan='2'>Search</th>\r\n\t\t\t\t<th>Asset Type</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td><input type='text' name='search' value='{$search}' /></td>\r\n\t\t\t\t<td><input type='submit' value='Search' /></td>\r\n\t\t\t\t<td>{$type_sel}</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td></tr>\r\n\t</table>\r\n\t</form>\r\n\t<h3>Hired Out</h3>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Hire No</th>\r\n\t\t\t<th>Asset Group</th>\r\n\t\t\t<th>Asset Type</th>\r\n\t\t\t<th>Asset</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Qty</th>\r\n\t\t\t<th>Customer</th>\r\n\t\t\t<th>Expected Return</th>\r\n\t\t</tr>\r\n\t\t{$hired_out}\r\n\t</table>\r\n\t<h3>Available</h3>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Asset Group</th>\r\n\t\t\t<th>Asset Type</th>\r\n\t\t\t<th>Asset</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Qty</th>\r\n\t\t</tr>\r\n\t\t{$available_out}\r\n\t</table>"; return $OUTPUT; }
function display() { extract($_REQUEST); $sql = "SELECT * FROM hire.hire_return WHERE invid='{$invid}'"; $inv_rslt = db_exec($sql) or errDie("Unable to retrieve returns."); while ($inv_data = pg_fetch_array($inv_rslt)) { $sql = "SELECT * FROM cubit.assets WHERE id='{$inv_data['asset_id']}'"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve asset."); $asset_data = pg_fetch_array($asset_rslt); $items_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . getSerial($asset_data["id"], 1) . " {$asset_data['des']}</td>\r\n\t\t\t<td align='center'>\r\n\t\t\t\t<input type='checkbox' name='workshop[{$asset_data['id']}]'\r\n\t\t\t\tvalue='{$item_data['id']}' />\r\n\t\t\t</td>\r\n\t\t\t<td><input type='text' name='description[{$asset_data['id']}]' /></td>\r\n\t\t</tr>"; } $OUTPUT = "<h3>Return</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Plant</th>\r\n\t\t\t<th>Return to<br />Workshop</th>\r\n\t\t</tr>\r\n\t\t{$items_out}\r\n\t\t<tr>\r\n\t\t\t<td colspan='2' align='center'>\r\n\t\t\t\t<input type='submit' value='Return' />\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>"; return $OUTPUT; }
function hireNotes($errors = "") { extract($_REQUEST); $fields = array(); $fields["date_year"] = date("Y"); $fields["date_month"] = date("m"); $fields["date_day"] = date("d"); extract($fields, EXTR_SKIP); // Retrieve monthly hire notes for this customer $sql = "SELECT * FROM hire.monthly_invoices WHERE invnum>0 AND invoiced='0'\r\n\t\t\tORDER BY invnum DESC"; $mi_rslt = db_exec($sql) or errDie("Unable to retrieve monthly hire notes."); $mi_out = ""; while ($mi_data = pg_fetch_array($mi_rslt)) { $sql = "SELECT *,\r\n\t\t\t\t\t(SELECT serial FROM cubit.assets WHERE id=asset_id) AS serial,\r\n\t\t\t\t\t(SELECT des FROM cubit.assets WHERE id=asset_id) as des\r\n\t\t\t\tFROM hire.monthly_invitems\r\n\t\t\t\tWHERE invid='{$mi_data['hire_invid']}'"; $mii_rslt = db_exec($sql) or errDie("Unable to retrieve items."); if (!pg_num_rows($mii_rslt)) { $sql = "DELETE FROM hire.monthly_invoices WHERE invid='{$mi_data['invid']}'"; db_exec($sql) or errDie("Unable to remove monthly invoice."); continue; } $mi_out .= "<tr>\r\n\t\t\t<th colspan='5'>Monthly Hire No: {$mi_data['invnum']}</th>\r\n\t\t\t<th align='right'>\r\n\t\t\t\t<input type='submit' name='invoice[{$mi_data['invid']}]'\r\n\t\t\t\tvalue='Invoice' />\r\n\t\t\t</th>\r\n\t\t</tr>"; $sql = "SELECT surname, cusname FROM cubit.customers\r\n\t\t\t\t\tWHERE cusnum='{$mi_data['cusnum']}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customers."); $cust_data = pg_fetch_array($cust_rslt); while ($mii_data = pg_fetch_array($mii_rslt)) { if (!isset($mii_data["invoiced_month"])) { $mii_data["invoiced_month"] = 0; } if ($mii_data["invoiced_month"] == date("m")) { continue; } if (empty($mii_data["e_invoiced"])) { $invoiced = "Never"; } else { $invoiced = date("d-m-Y", $mii_data["e_invoiced"]); } $basis = ucwords(implode(" ", explode("_", $mii_data["basis"]))); $mi_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td>{$cust_data['surname']} {$cust_data['cusname']}</td>\r\n\t\t\t\t<td>{$basis}</td>\r\n\t\t\t\t<td>" . getSerial($mii_data["asset_id"], true) . " {$mii_data['des']}</td>\r\n\t\t\t\t<td>{$mii_data['qty']}</td>\r\n\t\t\t\t<td>" . sprint($mii_data["amt"]) . "</td>\r\n\t\t\t\t<td> </td>\r\n\t\t\t</tr>"; } } if (empty($mi_out)) { $mi_out = "<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='6'>No invoices found.</td>\r\n\t\t</tr>"; } if (!isset($cust_id)) { $cust_id = 0; } $OUTPUT = "<center>\r\n\t<h3>Monthly Processing</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr><td colspan='2'>{$errors}</td></tr>\r\n\t\t<tr><th colspan='2'>Processing Date</th></tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td align='center'>" . mkDateSelect("date", $date_year, $date_month, $date_day) . "</td>\r\n\t\t</tr>\r\n\t</table>\r\n\t<input type='hidden' name='cust_id' value='{$cust_id}' />\r\n\t<input type='hidden' name='key' value='invoice' />\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Customer</th>\r\n\t\t\t<th>Basis</th>\r\n\t\t\t<th>Item</th>\r\n\t\t\t<th>Qty</th>\r\n\t\t\t<th>Amount</th>\r\n\t\t\t<th> </th>\r\n\t\t</tr>\r\n\t\t{$mi_out}\r\n\t\t</form>\r\n\t\t<form method='post' action='" . SELF . "'>\r\n\t\t<input type='hidden' name='cust_id' value='{$cust_id}' />\r\n\t\t<input type='hidden' name='key' value='reset' />\r\n\t\t<tr>\r\n\t\t\t<td colspan='6' align='center'>\r\n\t\t\t\t<input type='submit' value='Reset' />\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>"; return $OUTPUT; }
function display() { extract($_REQUEST); $fields = array(); $fields["date_year"] = date("Y"); $fields["date_month"] = date("m"); $fields["date_day"] = date("d"); extract($fields, EXTR_SKIP); $date = dateFmt($date_year, $date_month, $date_day); for ($i = 0; $i < 2; $i++) { if ($i) { $collection = "collect"; } else { $collection = "deliver"; } $sql = "SELECT * FROM hire.collection\r\n\t\t\t\tWHERE {$collection}='1'\r\n\t\t\t\t\tAND time BETWEEN '{$date} 0:00:00' AND '{$date} 23:59:59'"; $clct_rslt = db_exec($sql) or errDie("Unable to retrieve collection."); while ($clct_data = pg_fetch_array($clct_rslt)) { if (!$clct_data["item_id"]) { continue; } $sql = "SELECT * FROM cubit.assets WHERE id='{$clct_data['asset_id']}'"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $sql = "SELECT * FROM hire.hire_invitems WHERE id='{$clct_data['item_id']}'"; $item_rslt = db_exec($sql) or errDie("Unable to retrieve items."); $item_data = pg_fetch_array($item_rslt); if (empty($item_data["invid"])) { continue; } $sql = "SELECT * FROM hire.hire_invoices WHERE invid='{$item_data['invid']}'"; $inv_rslt = db_exec($sql) or errDie("Unable to retrieve invoices."); $inv_data = pg_fetch_array($inv_rslt); while ($asset_data = pg_fetch_array($asset_rslt)) { ${$collection} .= "<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t<td>H" . getHirenum($inv_data["invid"], 1) . "</td>\r\n\t\t\t\t\t<td>{$asset_data['des']}</td>\r\n\t\t\t\t\t<td>{$inv_data['cusname']} {$inv_data['surname']}</td>\r\n\t\t\t\t\t<td>" . hireAddress($inv_data["invid"]) . "</td>\r\n\t\t\t\t\t<td>" . getSerial($asset_data["id"]) . "</td>\r\n\t\t\t\t</tr>"; } } if (empty(${$collection})) { ${$collection} = "<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td colspan='5'><li>No results found.</li></td>\r\n\t\t\t</tr>"; } } $OUTPUT = "<center>\r\n\t<h3>Collect and Deliver Report</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr><th colspan='2'>Date</th></tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . mkDateSelect("date", $date_year, $date_month, $date_day) . "</td>\r\n\t\t\t<td><input type='submit' value='Select' style='font-weight: bold' /></td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>\r\n\t<p></p>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='5'>Deliver</th>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th>Hire No</th>\r\n\t\t\t<th>Asset</th>\r\n\t\t\t<th>Customer</th>\r\n\t\t\t<th>Address</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t</tr>\r\n\t\t{$deliver}\r\n\t\t<tr>\r\n\t\t\t<th colspan='5'>Collect</th>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th>Hire No</th>\r\n\t\t\t<th>Asset</th>\r\n\t\t\t<th>Customer</th>\r\n\t\t\t<th>Address</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t</tr>\r\n\t\t{$collect}\r\n\t</table>\r\n\t</center>"; return $OUTPUT; }
function display() { extract($_REQUEST); $fields = array(); $fields["frm_year"] = date("Y"); $fields["frm_month"] = date("m"); $fields["frm_day"] = date("d"); $fields["to_year"] = date("Y"); $fields["to_month"] = date("m"); $fields["to_day"] = date("t"); extract($fields, EXTR_SKIP); // Dates from date range $frm_date = dateFmt($frm_year, $frm_month, $frm_day); $to_date = dateFmt($to_year, $to_month, $to_day); $OUTPUT = "<center>\r\n\t<h3>View Bookings</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='4'>Date Range</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . mkDateSelect("frm", $frm_year, $frm_month, $frm_day) . "</td>\r\n\t\t\t<td><b> To </b></td>\r\n\t\t\t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\r\n\t\t\t<td><input type='submit' value='Continue »' /></td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>"; // Retrieve bookings $sql = "SELECT *,\r\n\t\t\t\textract('epoch' FROM from_date) AS e_from,\r\n\t\t\t\textract('epoch' FROM to_date) AS e_to\r\n\t\t\t\tFROM hire.bookings\r\n\t\t\t\tWHERE from_date BETWEEN '{$frm_date}' AND '{$to_date}' OR\r\n\t\t\t\t\tto_date BETWEEN '{$frm_date}' AND '{$to_date}'"; $booking_rslt = db_exec($sql) or errDie("Unable to retrieve bookings."); $booking_out = ""; while ($booking_data = pg_fetch_array($booking_rslt)) { // Retrieve asset $sql = "SELECT * FROM cubit.assets WHERE id='{$booking_data['asset_id']}'"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve asset."); $asset_data = pg_fetch_array($asset_rslt); if (!isOurs($asset_data["id"])) { continue; } // Retrieve customer $sql = "SELECT * FROM cubit.customers WHERE cusnum='{$booking_data['cust_id']}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customer."); $cust_data = pg_fetch_array($cust_rslt); // Create the output $booking_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td align='center'>{$booking_data['id']}</td>\r\n\t\t\t<td>" . date("d-m-Y", $booking_data["e_from"]) . "</td>\r\n\t\t\t<td>" . date("d-m-Y", $booking_data["e_to"]) . "</td>\r\n\t\t\t<td>{$asset_data['des']}</td>\r\n\t\t\t<td>" . getSerial($asset_data["id"]) . "</td>\r\n\t\t\t<td>\r\n\t\t\t\t<a href='../cust-det.php?cusnum={$cust_data['cusnum']}'>\r\n\t\t\t\t\t{$cust_data['surname']}\r\n\t\t\t\t</a>\r\n\t\t\t</td>\r\n\t\t\t<td>\r\n\t\t\t\t<a href='booking_save.php?id={$booking_data['id']}&page_option=edit'>\r\n\t\t\t\t\tEdit Booking\r\n\t\t\t\t</a>\r\n\t\t\t</td>\r\n\t\t\t<td>\r\n\t\t\t\t<a href='booking_remove.php?id={$booking_data['id']}'>\r\n\t\t\t\t\tRemove Booking\r\n\t\t\t\t</a>\r\n\t\t\t</td>\r\n\t\t\t<td>\r\n\t\t\t\t<a href='" . SELF . "?key=hire&id={$booking_data['id']}'\r\n\t\t\t\tstyle='font-size: 1.2em; padding: 0 1em'>\r\n\t\t\t\t\t<b>Hire</b></a>\r\n\t\t\t</td>\r\n\t\t</tr>"; } if (empty($booking_out)) { $booking_out = "<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='7'><li>No bookings found.</li></td>\r\n\t\t</tr>"; } $OUTPUT .= "<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Booking No.</th>\r\n\t\t\t<th>From Date</th>\r\n\t\t\t<th>To Date</th>\r\n\t\t\t<th>Small Plant</th>\r\n\t\t\t<th>Serial No.</th>\r\n\t\t\t<th>Customer</th>\r\n\t\t\t<th colspan='3'>Options</th>\r\n\t\t</tr>\r\n\t\t{$booking_out}\r\n\t</table>"; return $OUTPUT; }
function display() { extract($_REQUEST); $sql = "SELECT * FROM cubit.assets ORDER BY des ASC"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $service_out = ""; while ($asset_data = pg_fetch_array($asset_rslt)) { if (!isOurs($asset_data["id"])) { continue; } // Retrieve the service date $sql = "SELECT svdate, des FROM cubit.asset_svdates\r\n\t\t\t\tWHERE asset_id='{$asset_data['id']}'"; $svdate_rslt = db_exec($sql) or errDie("Unable to retrieve service date."); list($svdate, $des) = pg_fetch_array($svdate_rslt); $service_out .= "\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . getSerial($asset_data["id"]) . "</td>\r\n\t\t\t<td>{$asset_data['des']}</td>\r\n\t\t\t<td>{$svdate}</td>\r\n\t\t\t<td>{$des}</td>\r\n\t\t</tr>"; } if (empty($service_out)) { $service_out = "<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='3'><li>No results found.</li></td>\r\n\t\t</tr>"; } $OUTPUT = "<center>\r\n\t<h3>Plant Service Dates</h3>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Description</th>\r\n\t\t\t<th>Service Date</th>\r\n\t\t\t<th>Service Description</th>\r\n\t\t</tr>\r\n\t\t{$service_out}\r\n\t</table>\r\n\t</center>"; return $OUTPUT; }
function display() { extract($_REQUEST); $fields = array(); $fields["from_year"] = date("Y"); $fields["from_month"] = date("m"); $fields["from_day"] = "01"; $fields["to_year"] = date("Y"); $fields["to_month"] = date("m"); $fields["to_day"] = date("d"); $fields["perc_search"] = "100"; $fields["export"] = 0; extract($fields, EXTR_SKIP); $from_date = dateFmt($from_year, $from_month, $from_day); $to_date = dateFmt($to_year, $to_month, $to_day); $sql = "SELECT id, serial, des, grpname\r\n\t\t\tFROM cubit.assets\r\n\t\t\t\tLEFT JOIN cubit.assetgrp ON assets.grpid=assetgrp.grpid\r\n\t\t\tORDER BY serial ASC"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $asset_out = ""; while ($asset_data = pg_fetch_array($asset_rslt)) { $percentage = utilisationPerc($asset_data["id"], $from_date, $to_date); if (!is_numeric($perc_search) || $percentage > $perc_search) { continue; } $asset_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td>{$asset_data['grpname']}</td>\r\n\t\t\t<td>" . getSerial($asset_data["id"]) . "</td>\r\n\t\t\t<td>{$asset_data['des']}</td>\r\n\t\t\t<td align='center'>\r\n\t\t\t\t<b>" . utilisationDays($asset_data["id"], $from_date, $to_date) . "</b>\r\n\t\t\t</td>\r\n\t\t\t<td align='center' >\r\n\t\t\t\t<b>{$percentage}%</b>\r\n\t\t\t</td>\r\n\t\t\t<td width='2%' bgcolor='" . ext_progressColor($percentage) . "'> </td>\r\n\t\t</tr>"; } if (empty($asset_out)) { $asset_out = "<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='6'><li>No results found</li></td>\r\n\t\t</tr>"; } $OUTPUT = "<center>\r\n\t<h3>Hire Utilisation Report</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='3'>Date Range</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . mkDateSelect("from", $from_year, $from_month, $from_day) . "</td>\r\n\t\t\t<td> <b> To </b> </td>\r\n\t\t\t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th colspan='3'>Utilisation Percentage Filter (Less Than or Equal)</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='3' align='center'>\r\n\t\t\t\t<input type='text' name='perc_search' value='{$perc_search}'\r\n\t\t\t\tsize='2' style='text-align: center' />%\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td colspan='3' align='center'>\r\n\t\t\t\t<input type='submit' value='Apply to Report'\r\n\t\t\t\tstyle='font-weight: bold; font-size: 1.1em' />\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>"; $OUTPUT .= $xls_out = "\r\n\t<h3>Hire Utilisation Report For {$from_date} to {$to_date}</h3>\r\n\t<table " . TMPL_tblDflts . " width='70%'>\r\n\t\t<tr>\r\n\t\t\t<th>Group</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Description</th>\r\n\t\t\t<th>Days Hired</th>\r\n\t\t\t<th>Utilisation Percentage</th>\r\n\t\t\t<th width='2%'> </th>\r\n\t\t</tr>\r\n\t\t{$asset_out}\r\n\t</table>"; $OUTPUT .= "\r\n\t<form method='post' action='" . SELF . "'>\r\n\t\t<input type='hidden' name='export' value='1' />\r\n\t\t<input type='submit' value='Export to Spreadsheet' />\r\n\t</form>\r\n\t</center>"; if ($export) { $xls_out = clean_html($xls_out); require_lib("xls"); StreamXLS("hire_utilisation", $xls_out); } return $OUTPUT; }
/** * update zone serial * *@access private *@param $zoneid int zone id *@return int 0 if error, 1 if success */ function updateSerial($zoneid) { global $db, $l; $result = ""; // retrieve zone serial $query = sprintf("SELECT serial FROM dns_confprimary WHERE zoneid='%d'", $zoneid); $res = $db->query($query); if ($db->error()) { $this->error = $l['str_trouble_with_db']; return 0; } $line = $db->fetch_row($res); $serial = getSerial($line[0]); $query = sprintf("UPDATE dns_confprimary SET serial='%d' WHERE zoneid='%d'", $serial, $zoneid); $res = $db->query($query); if ($db->error()) { $this->error = $l['str_trouble_with_db']; return 0; } return 1; }
function basis() { extract($_REQUEST); $fields = array(); $fields["asset_search"] = ""; extract($fields, EXTR_SKIP); // Retrieve assets $sql = "SELECT * FROM cubit.assets\r\n\t\t\tWHERE des ILIKE '%{$asset_search}%' OR serial ILIKE '%{$asset_search}%'\r\n\t\t\t\tOR locat ILIKE '%{$asset_search}%'\r\n\t\t\tORDER BY des ASC"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $asset_out = ""; while ($asset_data = pg_fetch_array($asset_rslt)) { if (!isOurs($asset_data["id"])) { continue; } $sql = "SELECT * FROM hire.cust_basis\r\n\t\t\t\tWHERE cust_id='{$cust_id}' AND asset_id='{$asset_data['id']}'"; $basis_rslt = db_exec($sql) or errDie("Unable to retrieve basis."); $basis_data = pg_fetch_array($basis_rslt); $sql = "SELECT * FROM hire.basis_prices WHERE assetid='{$asset_data['id']}'"; $bp_rslt = db_exec($sql) or errDie("Unable to retrieve default basis."); $bp_data = pg_fetch_array($bp_rslt); if (!isset($day[$asset_data["id"]])) { $day[$asset_data["id"]] = sprint($basis_data["day"]); if (!(double) $day[$asset_data["id"]] && (double) $bp_data["per_day"]) { $day[$asset_data["id"]] = $bp_data["per_day"]; } } if (!isset($hour[$asset_data["id"]])) { $hour[$asset_data["id"]] = sprint($basis_data["hour"]); if (!(double) $hour[$asset_data["id"]] && (double) $bp_data["per_hour"]) { $hour[$asset_data["id"]] = $bp_data["per_hour"]; } } if (!isset($week[$asset_data["id"]])) { $week[$asset_data["id"]] = sprint($basis_data["week"]); if (!(double) $week[$asset_data["id"]] && (double) $bp_data["per_week"]) { $week[$asset_data["id"]] = $bp_data["per_week"]; } } $asset_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td>{$asset_data['des']}</td>\r\n\t\t\t<td>" . getSerial($asset_data["id"]) . "</td>\r\n\t\t\t<td>{$asset_data['locat']}</td>\r\n\t\t\t<td>\r\n\t\t\t\t" . CUR . "\r\n\t\t\t\t<input type='text' name='hour[{$asset_data['id']}]'\r\n\t\t\t\tvalue='" . sprint($hour[$asset_data["id"]]) . "' size='5'\r\n\t\t\t\tstyle='text-align: right' />\r\n\t\t\t</td>\r\n\t\t\t<td>\r\n\t\t\t\t" . CUR . "\r\n\t\t\t\t<input type='text' name='day[{$asset_data['id']}]'\r\n\t\t\t\tvalue='" . sprint($day[$asset_data["id"]]) . "' size='5'\r\n\t\t\t\tstyle='text-align: right' />\r\n\t\t\t</td>\r\n\t\t\t<td>\r\n\t\t\t\t" . CUR . "\r\n\t\t\t\t<input type='text' name='week[{$asset_data['id']}]'\r\n\t\t\t\tvalue='" . sprint($week[$asset_data["id"]]) . "' size='5'\r\n\t\t\t\tstyle='text-align: right' />\r\n\t\t\t</td>\r\n\t\t</tr>"; } // Retrieve customer details $sql = "SELECT * FROM cubit.customers WHERE cusnum='{$cust_id}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customer."); $cust_data = pg_fetch_array($cust_rslt); $OUTPUT = "<center>\r\n\t<h3>Basis</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<input type='hidden' name='cust_id' value='{$cust_id}' />\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='2'>Search</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td><input type='text' name='asset_search' value='{$asset_search}' /></td>\r\n\t\t\t<td><input type='submit' value='Search »' /></td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<th colspan='2'>Customer</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>\r\n\t\t\t\t<a href='javascript:" . "popupOpen(\"../cust-det.php?cusnum={$cust_data['cusnum']}\");'>\r\n\t\t\t\t\t{$cust_data['surname']} {$cust_data['cusname']}\r\n\t\t\t\t</a>\r\n\t\t\t</td>\r\n\t\t\t<td>\r\n\t\t\t\t<a href='" . SELF . "'>Change</a>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>\r\n\t<p></p>\r\n\t</table>\r\n\t</form>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<input type='hidden' name='key' value='save' />\r\n\t<input type='hidden' name='cust_id' value='{$cust_id}' />\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Plant</th>\r\n\t\t\t<th>Serial</th>\r\n\t\t\t<th>Location</th>\r\n\t\t\t<th>Hour</th>\r\n\t\t\t<th>Day</th>\r\n\t\t\t<th>Week</th>\r\n\t\t</tr>\r\n\t\t{$asset_out}\r\n\t\t<tr>\r\n\t\t\t<td colspan='6' align='center'>\r\n\t\t\t\t<input type='submit' value='Set Basis »'\r\n\t\t\t\tstyle='font-size: 1.1em; font-weight: bold;' />\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</table>"; return $OUTPUT; }
/** * Fill in new zone with template content * *@access private *@param string $template zone template to be used *@return int 1 if success, 0 if error */ function fillinWithTemplate($templatezone, $templatetype) { global $db, $l; $this->error = ""; $templatetype = $templatetype[0]; switch ($templatetype) { case 'S': $query = "SELECT c.masters,c.xfer FROM dns_confsecondary c, dns_zone z\n WHERE c.zoneid=z.id AND z.zone='" . mysql_real_escape_string($templatezone) . "' AND z.zonetype='S'"; $res = $db->query($query); $line = $db->fetch_row($res); if ($db->error()) { $this->error = $l['str_trouble_with_db']; return 0; } else { $query = sprintf("INSERT INTO dns_confsecondary (zoneid,masters,xfer)\n VALUES('%s', %s, %s)", $this->zoneid, $this->_f($line[0]), $this->_f($line[1])); $res = $db->query($query); if ($db->error()) { $this->error = $l['str_trouble_with_db']; return 0; } } break; // case 'S' // case 'S' case 'P': $query = "SELECT c.refresh,c.retry,c.expiry,c.minimum,c.xfer,c.defaultttl\n FROM dns_confprimary c, dns_zone z\n WHERE c.zoneid=z.id AND z.zone='" . mysql_real_escape_string($templatezone) . "'\n AND z.zonetype='P'"; $res = $db->query($query); $line = $db->fetch_row($res); if ($db->error()) { $this->error = $l['str_trouble_with_db']; return 0; } else { $query = sprintf("INSERT INTO dns_confprimary\n (zoneid,refresh,retry,expiry,minimum,xfer,defaultttl,serial)\n VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", $this->zoneid, mysql_real_escape_string($line[0]), mysql_real_escape_string($line[1]), mysql_real_escape_string($line[2]), mysql_real_escape_string($line[3]), mysql_real_escape_string($line[4]), mysql_real_escape_string($line[5]), getSerial()); $res = $db->query($query); if ($db->error()) { $this->error = $l['str_trouble_with_db']; return 0; } } // fill in records $query = "SELECT r.type,r.val1,r.val2,r.val3,r.val4,r.val5,r.ttl\n FROM dns_record r, dns_zone z\n WHERE r.zoneid=z.id AND z.zone='" . mysql_real_escape_string($templatezone) . "'\n AND z.zonetype='P'"; $res = $db->query($query); if ($db->error()) { $this->error = $l['str_trouble_with_db']; return 0; } else { $listofrecords = array(); while ($line = $db->fetch_row($res)) { array_push($listofrecords, $line); } while ($line = array_pop($listofrecords)) { // NS - simple copy // MX - simple copy // A - if domain name itself, substitute // AAAA - if domain name itself, substitute // WWW - if domain name itself, substitute // CNAME - simple copy // sub zones - simple copy switch ($line[0]) { case "WWW": $line[2] = ereg_replace($templatezone . "/", $this->zonename . "/", $line[2]); case "A": case "AAAA": case "TXT": case "MX": $line[1] = ereg_replace($templatezone . "\\.\$", $this->zonename . ".", $line[1]); case "NS": case "CNAME": case "SUBNS": case "PTR": case "SRV": $line[1] = ereg_replace("\\." . $templatezone . "\\.\$", "", $line[1]); $line[1] = ereg_replace("^" . $this->zonename . "\\.\$", "@", $line[1]); break; } // end switch $query = sprintf("INSERT INTO dns_record\n (zoneid,type,val1,val2,val3,val4,val5,ttl)\n VALUES ('%s', '%s', %s, %s, %s, %s, %s, %s)", $this->zoneid, $line[0], $this->_f($line[1]), $this->_f($line[2]), $this->_f($line[3]), $this->_f($line[4]), $this->_f($line[5]), $this->_f($line[6])); $db->query($query); if ($db->error()) { $this->error = $l['str_trouble_with_db']; return 0; } } // end while } // end no DB error break; // case 'P' // case 'P' default: break; } return 1; }
function display() { extract($_REQUEST); define("HOUR", 60 * 60); define("DAY", HOUR * 24); define("WEEK", DAY * 7); define("TOMMOROW", time() + DAY); $fields = array(); $fields["from_year"] = date("Y"); $fields["from_month"] = date("m"); $fields["from_day"] = date("d") <= 7 ? "01" : date("d") - 7; $fields["to_year"] = date("Y"); $fields["to_month"] = date("m"); $fields["to_day"] = date("d"); $fields["total_invoiced"] = 0; $fields["total_not_invoiced"] = 0; extract($fields, EXTR_SKIP); $from_time = mktime(0, 0, 0, $from_month, $from_day, $from_year); $to_time = mktime(0, 0, 0, $to_month, $to_day, $to_year); $from_date = date("Y-m-d", $from_time); $to_date = date("Y-m-d", $to_time); // Make sure the date selection is not the same if ($from_date == $to_date) { $to_date = date("Y-m-d", TOMMOROW); } $OUTPUT = "\r\n\t\t<center>\r\n\t\t<style>\r\n\t\t\ttd, th { font-size: 0.7em; }\r\n\t\t</style>\r\n\t\t<h3>Hire by Period Detail Report</h3>\r\n\t\t<form method='POST' action='" . SELF . "'>\r\n\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t<tr>\r\n\t\t\t\t<th colspan='4'>Date Range</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td>" . mkDateSelect("from", $from_year, $from_month, $from_day) . "</td>\r\n\t\t\t\t<td> <b>To</b> </td>\r\n\t\t\t\t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\r\n\t\t\t\t<td><input type='submit' value='Select' style='font-weight: bold' /></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</form>"; $sql = "SELECT assets_hired.id, invnum, assets.id AS asset_id, des, surname,\r\n\t\t\t\thired_time, return_time, inv_invnum, value, item_id, cust_id,\r\n\t\t\t\tassets.grpid, grpname, assets_hired.invid, qty, basis, weekends,\r\n\t\t\t\textract('epoch' FROM hired_time) AS e_hired,\r\n\t\t\t\textract('epoch' FROM return_time) AS e_return\r\n\t\t\tFROM hire.assets_hired\r\n\t\t\t\tLEFT JOIN cubit.assets ON assets_hired.asset_id=assets.id\r\n\t\t\t\tLEFT JOIN cubit.customers ON assets_hired.cust_id=customers.cusnum\r\n\t\t\t\tLEFT JOIN cubit.assetgrp ON assets.grpid=assetgrp.grpid\r\n\t\t\tWHERE\r\n\t\t\t\thired_time BETWEEN '{$from_date} 0:00:00' AND '{$to_date} 23:59:59'\r\n\t\t\t\tOR return_time BETWEEN '{$from_date} 0:00:00' AND '{$to_date} 23:59:59'\r\n\t\t\t\tOR (hired_time BETWEEN '{$from_date} 0:00:00' AND '{$to_date} 23:59:59'\r\n\t\t\t\t\tAND return_time IS NULL)\r\n\t\t\tORDER BY invid ASC"; $details_rslt = db_exec($sql) or errDie("Unable to retrieve details."); $items_out = array(); while ($details_data = pg_fetch_array($details_rslt)) { // Is this within one of the valid asset hire groups if (!preg_match("/(Equipment|Plant)/", $details_data["grpname"])) { continue; } if (!$details_data["inv_invnum"]) { $sql = "SELECT amt, basis, extract('epoch' FROM to_date) AS e_to\r\n\t\t\t\t\tFROM hire.hire_invitems\r\n\t\t\t\t\tWHERE id='{$details_data['item_id']}'"; $item_rslt = db_exec($sql) or errDie("Unable to retrieve amount."); list($value, $basis, $e_to) = pg_fetch_array($item_rslt); $expected_disp = ""; // Calculate the amounts for items not yet returned switch ($basis) { case "per_hour": $hours_beyond_expected = ($to_time - $e_to) / HOUR; if ($hours_beyond_expected) { $basis_per_hour = basisPrice($details_data["cust_id"], $details_data["id"], $basis); $value_beyond = $basis_per_day * $days_beyond_expected; $details_data["value"] = $value + $value_beyond; } else { $details_data["value"] = $value; } case "per_day": $days_beyond_expected = $to_time - $e_to; $sundays = 0; for ($i = $details_data["e_hired"]; $i <= $days_beyond_expected; $i += 60 * 60 * 24) { if (date("w", $i) == 0) { $sundays++; } } if ($details_data["weekends"]) { $show_sundays = $sundays + 0.6 * $sundays; } else { $show_sundays = 0; } $days_beyond_expected /= DAY - $show_sundays; if ($days_beyond_expected) { $basis_per_day = basisPrice($details_data["cust_id"], $details_data["id"], $basis); $value_beyond = $basis_per_day * $days_beyond_expected; $details_data["value"] = $value + $value_beyond; } else { $details_data["value"] = $value; } break; case "per_week": $weeks_beyond_expected = ($to_time - $e_to) / WEEK; if ($weeks_beyond_expected) { $basis_per_week = basis_price($details_data["cust_id"], $details_data["id"], $basis); $value_beyond = $basis_per_day * $days_beyond_expected; $details_data["value"] = $value + $value_beyond; } else { $details_data["value"] = $value; } break; } $total_not_invoiced += $details_data["value"]; } else { $total_invoiced += $details_data["value"]; } $total_hire = $total_invoiced + $total_not_invoiced; if (empty($details_data["return_time"])) { $return_disp = "\r\n\t\t\t<span style='color: #f00'>\r\n\t\t\t\t(Still on Hire) " . date("d-m-Y", $to_time) . "\r\n\t\t\t</span>"; } else { $return_disp = date("d-m-Y G:i:s", $details_data["e_return"]); } // Units Days / Hours $days_hours = ""; if ($details_data["basis"] == "per_day" || $details_data["basis"] == "per_week") { $days_hours = "DAY"; } else { $days_hours = "HOUR"; } // Invoiced / Forecasted if (!isset($totals[$details_data["grpid"]]["forecast"])) { $totals[$details_data["grpid"]]["forecast"] = 0.0; } if (!isset($totals[$details_data["grpid"]]["invoiced"])) { $totals[$details_data["grpid"]]["invoiced"] = 0.0; } if (empty($details_data["return_time"])) { $forecast_value = $details_data["value"]; $invoiced_value = ""; $totals[$details_data["grpid"]]["forecast"] += $details_data["value"]; } else { $forecast_value = ""; $invoiced_value = $details_data["value"]; $totals[$details_data["grpid"]]["invoiced"] += $details_data["value"]; } // Weekends if ($details_data["weekends"]) { $weekends = "w/e charge"; } else { $weekends = ""; } $sql = "\r\n\t\tSELECT qty FROM hire.hire_nons_inv_items\r\n\t\tWHERE invid='{$details_data['inv_invnum']}' AND\r\n\t\t\tasset_id='{$details_data['asset_id']}'"; $invqty_rslt = db_exec($sql) or errDie("Unable to retrieve items."); $invqty = pg_fetch_result($invqty_rslt, 0); if (empty($invqty)) { $invqty = 0; } $items_out[$details_data["grpid"]][] = "\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td align='center'>H" . getHirenum($details_data["invid"], 1) . "</td>\r\n\t\t\t\t<td align='center'>{$details_data['inv_invnum']}</td>\r\n\t\t\t\t<td align='center'>{$details_data['surname']}</td>\r\n\t\t\t\t<td>" . getSerial($details_data["asset_id"], 1) . " {$details_data['des']}</td>\r\n\t\t\t\t<td align='center'>{$days_hours}</td>\r\n\t\t\t\t<td>" . date("d-m-Y", $details_data["e_hired"]) . "</td>\r\n\t\t\t\t<td>" . returnDate($details_data["item_id"]) . "</td>\r\n\t\t\t\t<td align='right'>" . sprint($invoiced_value) . "</td>\r\n\t\t\t\t<td>{$weekends}</td>\r\n\t\t\t\t<td align='right'>" . sprint($forecast_value) . "</td>\r\n\t\t\t\t<!--\r\n\t\t\t\t<td align='center'>" . detailsHoursHired($details_data["id"]) . "</td>\r\n\t\t\t\t<td align='center'>" . detailsDaysHired($details_data["id"]) . "</td>\r\n\t\t\t\t<td align='center'>" . detailsWeeksHired($details_data["id"]) . "</td>\r\n\t\t\t\t<td align='center'>" . date("d-m-Y G:i:s", $details_data["e_hired"]) . "</td>\r\n\t\t\t\t<td align='center'>{$return_disp}</td>\r\n\t\t\t\t<td align='right'>" . sprint($details_data["value"]) . "</td>\r\n\t\t\t\t-->\r\n\t\t\t</tr>"; } if (!count($items_out)) { $details_out = "\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td colspan='7'><li>No results found.</li></td>\r\n\t\t</tr>"; } if (!isset($total_hire)) { $total_hire = 0; } $OUTPUT .= "\r\n\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t<tr>\r\n\t\t\t\t<th style='padding-right: 10px'>Total Invoiced Hire</th>\r\n\t\t\t\t<th style='padding-left: 10px'>Total Non Invoiced Hire</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td align='center'>" . sprint($total_invoiced) . "</td>\r\n\t\t\t\t<td align='center'>" . sprint($total_not_invoiced) . "</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<th colspan='2'>Total Hire</th>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td align='center' colspan='2'><b>" . sprint($total_hire) . "</b></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t<br />"; foreach ($items_out as $grpid => $lv2) { $sql = "SELECT grpname FROM cubit.assetgrp WHERE grpid='{$grpid}'"; $group_rslt = db_exec($sql) or errDie("Unable to retrieve asset groups."); $group_name = pg_fetch_result($group_rslt, 0); $OUTPUT .= "<h3>{$group_name} Hire Revenue</h3>\r\n\t\t\t<table " . TMPL_tblDflts . " width='100%'>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<th>Hire Number</th>\r\n\t\t\t\t\t<th>Invoice Number</th>\r\n\t\t\t\t\t<th>Customer</th>\r\n\t\t\t\t\t<th>Asset</th>\r\n\t\t\t\t\t<th>Units Days / Hours</th>\r\n\t\t\t\t\t<th>Date Out</th>\r\n\t\t\t\t\t<th>Expect / Actual</th>\r\n\t\t\t\t\t<th>Rand (Ex VAT) Invoiced\r\n\t\t\t\t\t<th> </th>\r\n\t\t\t\t\t<th>Rand (Ex VAT) Forecast</th>\r\n\t\t\t\t\t<!--\r\n\t\t\t\t\t<th>Hours Hired</th>\r\n\t\t\t\t\t<th>Days Hired</th>\r\n\t\t\t\t\t<th>Weeks Hired</th>\r\n\t\t\t\t\t<th>Date Hired</th>\r\n\t\t\t\t\t<th>Date Returned</th>\r\n\t\t\t\t\t<th>Value (Ex VAT)</th>\r\n\t\t\t\t\t-->\r\n\t\t\t\t</tr>"; foreach ($items_out[$grpid] as $line_disp) { $OUTPUT .= $line_disp; } $OUTPUT .= "</table>"; } return $OUTPUT; }
function display() { extract($_REQUEST); $fields = array(); $fields["from_year"] = date("Y"); $fields["from_month"] = date("m"); $fields["from_day"] = date("d"); $fields["to_year"] = date("Y"); $fields["to_month"] = date("m"); $fields["to_day"] = date("t"); $fields["group_id"] = -1; $fields["type_id"] = -1; extract($fields, EXTR_SKIP); $from_date = dateFmt($from_year, $from_month, $from_day); $to_date = dateFmt($to_year, $to_month, $to_day); $sql = "SELECT * FROM cubit.assetgrp ORDER BY grpname ASC"; $group_rslt = db_exec($sql) or errDie("Unable to retrieve asset group."); if ($group_id == -1) { $none_sel = "selected='selected'"; $all_sel = ""; } elseif ($group_id == 0) { $none_sel = ""; $all_sel = "selected='selected'"; } else { $none_sel = ""; $all_sel = ""; } $group_sel = "<select name='group_id' style='width: 100%'\r\n\t\t\t\t onchange='javascript:document.form.submit()'>"; $group_sel .= "<option value='-1' {$none_sel}>[None]</option>"; $group_sel .= "<option value='0' {$all_sel}>[All]</option>"; while ($group_data = pg_fetch_array($group_rslt)) { if ($group_id == $group_data["grpid"]) { $sel = "selected='selected'"; } else { $sel = ""; } $group_sel .= "<option value='{$group_data['grpid']}' {$sel}>\r\n\t\t\t{$group_data['grpname']}\r\n\t\t</option>"; } $group_sel .= "</select>"; $sql = "SELECT * FROM cubit.asset_types ORDER BY name ASC"; $type_rslt = db_exec($sql) or errDie("Unable to retrieve asset type."); if ($type_id == -1) { $none_sel = "selected='selected'"; $all_sel = ""; } elseif ($type_id == 0) { $none_sel = ""; $all_sel = "selected='selected'"; } else { $none_sel = ""; $all_sel = ""; } $type_sel = "<select name='type_id' style='width: 100%'\r\n\t\t\t\t onchange='javascript:document.form.submit()'>"; $type_sel .= "<option value='-1' {$none_sel}>[None]</option>"; $type_sel .= "<option value='0' {$all_sel}>[All]</option>"; while ($type_data = pg_fetch_array($type_rslt)) { if ($type_id == $type_data["id"]) { $sel = "selected='selected'"; } else { $sel = ""; } $type_sel .= "<option value='{$type_data['id']}' {$sel}>\r\n\t\t\t\t\t\t{$type_data['name']}\r\n\t\t\t\t\t </option>"; } $type_sel .= "</select>"; $OUTPUT = "\r\n\t<center>\r\n\t<h3>Availability Report</h3>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td bgcolor='#ff0000'> </td><td>Hired Out</td>\r\n\t\t\t<td bgcolor='#00ff00'> </td><td>Available</td>\r\n\t\t\t<td bgcolor='#ffa200'> </td><td>Booked</td>\r\n\t\t\t<td bgcolor='#ffff00'> </td><td>In Workshop</td>\r\n\t\t</tr>\r\n\t</table>\r\n\t<p></p>\r\n\t<form method='post' action='" . SELF . "' name='form'>\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='4'>Date Range</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>" . mkDateSelect("from", $from_year, $from_month, $from_day) . "</td>\r\n\t\t\t<td><b> To </b></td>\r\n\t\t\t<td>" . mkDateSelect("to", $to_year, $to_month, $to_day) . "</td>\r\n\t\t\t<td><input type='submit' value='Select »' /></td>\r\n\t\t</tr>\r\n\t\t<tr><td colspan='4'>\r\n\t\t<table " . TMPL_tblDflts . " width='100%'>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td colspan='2' width='50%'>{$group_sel}</td>\r\n\t\t\t\t<td colspan='2' width='50%'>{$type_sel}</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t</td></tr>\r\n\t</table>\r\n\t</form>"; $where = array(); if ($group_id) { $where[] = "grpid='{$group_id}'"; } if ($type_id) { $where[] = "type_id='{$type_id}'"; } if (count($where)) { $where = "WHERE " . implode(" AND ", $where); } else { $where = ""; } // Retrieve assets $sql = "SELECT * FROM cubit.assets {$where}"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $assets_out = ""; while ($asset_data = pg_fetch_array($asset_rslt)) { if (!isOurs($asset_data["id"])) { continue; } $assets_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td align='center'>\r\n\t\t\t\t" . getSerial($asset_data["id"], 1) . "<br />\r\n\t\t\t\t{$asset_data['des']}\r\n\t\t\t</td>\r\n\t\t\t" . availability($from_date, $to_date, $asset_data["id"]) . "\r\n\t\t</tr>"; } // Do the headers here so we can choose not to show it when no results found $headers = date_headers($from_date, $to_date); if (empty($assets_out)) { $headers = ""; $assets_out .= "<tr class='" . bg_class() . "'>\r\n\t\t\t<td><li>No results found.</li></td>\r\n\t\t</tr>"; } $OUTPUT .= "<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th>Plant</th>\r\n\t\t\t{$headers}\r\n\t\t</tr>\r\n\t\t{$assets_out}\r\n\t</table>"; return $OUTPUT; }
function details($_GET) { $showvat = TRUE; # get vars extract($_GET); # validate input require_lib("validate"); $v = new validate(); $v->isOk($invid, "num", 1, 20, "Invalid invoice number."); # display errors, if any if ($v->isError()) { $err = ""; $errors = $v->getErrors(); foreach ($errors as $e) { $err .= "<li class='err'>{$e['msg']}</li>"; } $confirm .= "<p><input type='button' onClick='JavaScript:history.back();' value='« Correct submission'>"; return $confirm; } updateTotals($invid); # Get invoice info $sql = "SELECT *, extract('epoch' from timestamp) AS e_time\r\n\t\t\t\tFROM hire.reprint_invoices\r\n\t\t\t\tWHERE invid = '{$invid}' AND div = '" . USER_DIV . "'"; $invRslt = db_exec($sql) or errDie("Unable to get invoice information"); if (pg_numrows($invRslt) < 1) { return "<i class='err'>Not Found[1]</i>"; } $inv = pg_fetch_array($invRslt); # get department db_conn("exten"); $sql = "SELECT * FROM departments WHERE deptid = '{$inv['deptid']}' AND div = '" . USER_DIV . "'"; $deptRslt = db_exec($sql); if (pg_numrows($deptRslt) < 1) { $dept['deptname'] = "<i class='err'>Not Found[2]</i>"; } else { $dept = pg_fetch_array($deptRslt); } /* --- Start some checks --- */ # check if stock was selected(yes = put done button) $sql = "SELECT asset_id FROM hire.reprint_invitems WHERE invid = '{$inv['invid']}'"; $crslt = db_exec($sql); if (pg_numrows($crslt) < 1) { $error = "<li class='err'> Error : Invoice number <b>{$invid}</b> has no items.</li>"; return $error; } /* --- End some checks --- */ /* --- Start Products Display --- */ # Products layout $products = ""; $disc = 0; # get selected stock in this invoice $sql = "SELECT * FROM hire.reprint_invitems WHERE invid = '{$invid}'"; $stkdRslt = db_exec($sql); $tcosamt = 0; while ($stkd = pg_fetch_array($stkdRslt)) { # get selected stock in this warehouse db_connect(); $sql = "SELECT * FROM assets WHERE id = '{$stkd['asset_id']}'"; $stkRslt = db_exec($sql); $stk = pg_fetch_array($stkRslt); $sp = " "; # keep track of discounts $disc += $stkd['disc']; if ($stkd['account'] != 0) { $stk['stkcod'] = $stkd['description']; $stk['stkdes'] = ""; } $Sl = "SELECT * FROM vatcodes WHERE id='{$stkd['vatcode']}'"; $Ri = db_exec($Sl); $vd = pg_fetch_array($Ri); if (TAX_VAT != $vd['vat_amount'] and $vd['vat_amount'] != "0.00") { $showvat = FALSE; } # put in product $stkd['unitcost'] = $stkd['unitcost'] - $stkd['disc']; $return = returnDate($stkd["item_id"]); $hired = hiredDate($stkd["item_id"]); $products .= "\r\n\t\t\t\t<tr valign=top>\r\n\t\t\t\t\t<td>" . getSerial($stk["id"], 1) . " {$stk['des']} ({$stkd['collection']})</td>\r\n\t\t\t\t\t<td>{$stkd['qty']}</td>\r\n\t\t\t\t\t<td>{$hired}</td>\r\n\t\t\t\t\t<td>{$return}</td>\r\n\t\t\t\t\t<td align=right>" . sprint($stkd["amt"]) . "</td>\r\n\t\t\t\t</tr>"; $client_collect = 0; $collect = 0; $deliver = 0; if (preg_match("/(Client Collect|collect)/", $stkd["collection"])) { $client_collect = 1; } if (preg_match("/(^Collect|, Collect)/", $stkd["collection"])) { $collect = 1; } if (preg_match("/Deliver/", $stkd["collection"])) { $deliver = 1; } } /* --- Start Some calculations --- */ # subtotal $SUBTOT = sprint($inv['subtot']); # Calculate tradediscm $traddiscm = $inv["discount"]; // if(strlen($inv['traddisc']) > 0){ // $traddiscm = sprint((($inv['traddisc']/100) * $SUBTOT)); // }else{ // $traddiscm = "0.00"; // } # Calculate subtotal $VATP = TAX_VAT; $SUBTOT = sprint($inv['subtot']); $VAT = sprint($inv['vat']); $TOTAL = sprint($inv['total']); $inv['delchrg'] = sprint($inv['delchrg']); # Update number of prints // $inv['prints']++; // db_conn($prd); // $Sql = "UPDATE hire.reprint_invitems SET prints = '$inv[prints]' WHERE invid = '$invid' AND div = '".USER_DIV."'"; // $upRslt = db_exec($Sql) or errDie ("Unable to update invoice information"); # todays date $date = date("d-m-Y"); $sdate = date("Y-m-d"); if (strlen($inv['comm']) > 0) { $Com = "\r\n\t\t\t\t<table>\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<td>" . nl2br($inv['comm']) . "</td>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</table>"; } else { $Com = ""; } $time = date("G:i:s", $inv["e_time"]); if (isset($cccc)) { $cc = "<script> sCostCenter('dt', 'Sales', '{$date}', 'Invoice No.{$inv['invnum']} for Customer {$inv['cusname']} {$inv['surname']}', '" . ($TOTAL - $VAT) . "', 'Cost Of Sales for Invoice No.{$inv['invnum']}', '{$tcosamt}', ''); </script>"; } else { $cc = ""; } db_conn('cubit'); $Sl = "SELECT * FROM settings WHERE constant='PSALES'"; $Ri = db_exec($Sl) or errDie("Unable to get settings."); $data = pg_fetch_array($Ri); if ($data['value'] == "Yes") { $sp = "<tr><td>Sales Person</td><td>{$inv['salespn']}</td></tr>"; } else { $sp = ""; } $Sl = "SELECT * FROM pc WHERE inv='{$inv['invnum']}'"; $Ri = db_exec($Sl) or errDie("Unable to get data."); if (pg_num_rows($Ri) > 0) { $pd = pg_fetch_array($Ri); //$pc="<tr><td>Change</td><td align=right><b>".CUR." $pd[amount]</b></td></tr>"; $pc = ""; $change = $pd['amount']; } else { $pc = ""; $change = 0; } $Sl = "SELECT * FROM payrec WHERE inv='{$inv['invnum']}' AND method='Cash'"; $Ri = db_exec($Sl) or errDie("Unable to get data."); if (pg_num_rows($Ri) > 0) { $pd = pg_fetch_array($Ri); $pd['amount'] = sprint($pd['amount'] + $change); $pcash = "<!--<tr><td>Paid Cash</td><td align=right><b>" . CUR . " {$pd['amount']}</b></td></tr>-->"; } else { $pcash = ""; } $Sl = "SELECT * FROM payrec WHERE inv='{$inv['invnum']}' AND method='Cheque'"; $Ri = db_exec($Sl) or errDie("Unable to get data."); if (pg_num_rows($Ri) > 0) { $pd = pg_fetch_array($Ri); $pcheque = "<tr><td>Paid Cheque</td><td align=right><b>" . CUR . " {$pd['amount']}</b></td></tr>"; } else { $pcheque = ""; } $Sl = "SELECT * FROM payrec WHERE inv='{$inv['invnum']}' AND method='Credit Card'"; $Ri = db_exec($Sl) or errDie("Unable to get data."); if (pg_num_rows($Ri) > 0) { $pd = pg_fetch_array($Ri); $pcc = "<tr><td>Paid Credit Card</td><td align=right><b>" . CUR . " {$pd['amount']}</b></td></tr>"; } else { $pcc = ""; } $Sl = "SELECT * FROM payrec WHERE inv='{$inv['invnum']}' AND method='Credit'"; $Ri = db_exec($Sl) or errDie("Unable to get data."); if (pg_num_rows($Ri) > 0) { $pd = pg_fetch_array($Ri); $pcc .= "<tr><td>On Credit</td><td align=right><b>" . CUR . " {$pd['amount']}</b></td></tr>"; } else { $pcc .= ""; } // $Sl="SELECT * FROM varrec WHERE inv='$inv[invnum]'"; // $Ri=db_exec($Sl); // // if(pg_num_rows($Ri)>0) { // $rd=pg_fetch_array($Ri); // // $rounding="<tr><td>Rounding</td><td align=right>".CUR." $rd[amount]</td></tr>"; // } else { // $rounding=""; // } // if ($inv['rounding'] > 0) { $due = sprint($inv['total'] - $inv['rounding']); $rounding = "\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>Rounding</td>\r\n\t\t\t\t\t<td align='right'>" . CUR . " {$inv['rounding']}</td>\r\n\t\t\t\t</tr>\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>Amount Due</td>\r\n\t\t\t\t\t<td align='right'>" . CUR . " {$due}</td>\r\n\t\t\t\t</tr>"; } else { $rounding = ""; } $cusinfo = ""; if ($inv['cusnum'] > 0) { db_conn('cubit'); $Sl = "SELECT * FROM customers WHERE cusnum='{$inv['cusnum']}'"; $Ri = db_exec($Sl) or errDie("Unable to get data."); $cd = pg_fetch_array($Ri); $inv['cusname'] = $cd['surname'] . " (VAT No. {$cd['vatnum']})"; $cusinfo .= "<p>" . hireAddress($inv["invid"]) . "</p>"; $cusinfo .= "Tel: {$cd['bustel']}<br />"; $cusinfo .= "Order No: {$inv['cordno']}"; } else { if (strlen($inv['vatnum']) > 1) { $inv['cusname'] = "{$inv['cusname']} (VAT No. {$inv['vatnum']})<br />"; $cusinfo .= "Order No: {$inv['cordno']}"; } } db_conn('cubit'); $Sl = "SELECT img2 FROM compinfo"; $Ri = db_exec($Sl); $id = pg_fetch_array($Ri); if (strlen($id['img2']) > 0) { $logo = "<tr>\r\n\t\t\t<td valign='top' width='100%' align=center><img src='compinfo/getimg2.php' width='230' height='47'></td>\r\n\t\t</tr>"; } else { $logo = ""; } $sql = "SELECT value FROM cubit.settings WHERE constant='CONTRACT_TEXT'"; $contract_rslt = db_exec($sql) or errDie("Unable to retrieve contract."); $contract_text = nl2br(base64_decode(pg_fetch_result($contract_rslt, 0))); if (!isset($showvat)) { $showvat = TRUE; } if ($showvat == TRUE) { $vat14 = AT14; } else { $vat14 = ""; } $sql = "SELECT text FROM hire.thanks_text"; $thanks_rslt = db_exec($sql) or errDie("Unable to retrieve thank you text."); $thank_you = pg_fetch_result($thanks_rslt, 0); $details = "<center>\r\n\t<style>\r\n\t\th2 {\r\n\t\t\tfont-size: 2em;\r\n\t\t\tpadding: 0;\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\t\tth {\r\n\t\t\tfont-weight: bold;\r\n\t\t\ttext-align: left;\r\n\t\t}\r\n\t\t.print_input {\r\n\t\t\tfont-family: monospace;\r\n\t\t\tfont-weight: bold;\r\n\t\t}\r\n\t</style>\r\n\t<table cellpadding='0' cellspacing='1' border=1 width='97%'>\r\n\t<tr><td>\r\n\t\t<table cellpadding='5' cellspacing='0' width='100%'>\r\n\t\t\t<tr>\r\n\t\t\t\t<td><img src='../compinfo/getimg.php' width='230' height='47' /></td>\r\n\t\t\t\t<td align='right'><h2>HIRE NOTE</h2></td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</tr></td>\r\n\t<tr><td>\r\n\t\t<table border='1' width='100%'>\r\n\t\t<tr>\r\n\t\t\t<td valign=top width='50%'>\r\n\t\t\t\t" . COMP_NAME . "<br />\r\n\t\t\t\t" . COMP_ADDRESS . "<br />\r\n\t\t\t\tTEL: " . COMP_TEL . "<br />\r\n\t\t\t\tFAX: " . COMP_FAX . "<br />\r\n\t\t\t\tRegistration Number: " . COMP_REGNO . "<br />\r\n\t\t\t\tVAT Registration Number: " . COMP_VATNO . "<br />\r\n\t\t\t</td>\r\n\t\t\t<td valign='top' width='50%'>\r\n\t\t\t\t{$inv['cusname']}<br />\r\n\t\t\t\t{$cusinfo}\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t\t</table>\r\n\t</td></tr>\r\n\t<tr><td>\r\n\t\t<table " . TMPL_tblDflts . " width='100%'>\r\n\t\t\t<tr>\r\n\t\t\t\t<td align='left' width='25%'>\r\n\t\t\t\t\tNote: H{$inv['invnum']}" . rrev($inv["invid"]) . "\r\n\t\t\t\t</td>\r\n\t\t\t\t<td align='center' width='25%'>CASHIER: {$inv['username']}</td>\r\n\t\t\t\t<td width='25%' align='center'>Time: {$time}</td>\r\n\t\t\t\t<td width='25%' align='right'>{$inv['odate']}</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</td></tr>\r\n\t<tr><td>\r\n\t<table cellpadding='5' cellspacing='0' border='0' width='100%' bordercolor='#000000'>\r\n\t\t<tr>\r\n\t\t\t<th>CODE</th>\r\n\t\t\t<th>QTY</th>\r\n\t\t\t<th>HIRE DATE</th>\r\n\t\t\t<th>RETURN</th>\r\n\t\t\t<th style='text-align: right'>TOTAL</th>\r\n\t\t<tr>\r\n\t\t{$products}\r\n\t</table>\r\n\t</td></tr>\r\n\t<tr>\r\n\t\t<td valign='top'>\r\n\t\t<table width='100%'>\r\n\t\t<tr><td valign='top'>\r\n\t\t<table cellpadding='2' cellspacing='0' width='80%'>\r\n\t\t\t<tr><td colspan='2'>{$thank_you}</td></tr>\r\n\t\t\t<tr><td>{$Com}</td></tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>\r\n\t\t\t\t<font style='font-size: 0.75em'>" . nl2br($inv["custom_txt"]) . "<br />\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><td> </td></tr>\r\n\t\t</table>\r\n\t\t</td>\r\n\t\t<td align=right valign='top'>\r\n\t\t<table cellpadding='2' cellspacing='0' width='50%'>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Delivery Charge</td>\r\n\t\t\t\t<td align='right' nowrap>" . CUR . " {$inv['delchrg']}</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Trade Discount</td>\r\n\t\t\t\t<td align='right' nowrap>" . CUR . " {$traddiscm}</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>SUBTOTAL</td>\r\n\t\t\t\t<td align='right' nowrap>" . CUR . " {$SUBTOT}</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>VAT {$vat14}</td>\r\n\t\t\t\t<td align='right' nowrap>" . CUR . " {$VAT}</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td nowrap>GRAND TOTAL</td>\r\n\t\t\t\t<td align='right' nowrap><b>" . CUR . " {$TOTAL}</b></td>\r\n\t\t\t</tr>\r\n\t\t\t{$sp}\r\n\t\t</table>\r\n\t</td></tr>\r\n\t\t<table cellpadding='2' cellspacing='0' width='100%' border='1'>\r\n\t\t\t<tr><td colspan='2'>\r\n\t\t\t<div style='font-size: .80em;'>" . stripslashes($contract_text) . "</div></div>\r\n\t\t\t</td></tr>\r\n\t\t\t<tr><td colspan='2'> </td></tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Full Names (Print) ____________________________</td>\r\n\t\t\t\t<td>Identity Number ____________________________</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr><td colspan='2'> </td></tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td>Signature - Customer ____________________________</td>\r\n\t\t\t\t<td>Signature - Authorized Agent ____________________________</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t</td></tr>\r\n\t</td></tr>\r\n\t</table>\r\n\t</table>\r\n\t</center>"; $OUTPUT = $details; require "../tmpl-print.php"; }
function invoiceHire() { extract($_REQUEST); pglib_transaction("BEGIN"); $sql = "SELECT * FROM hire.hire_invoices WHERE invid='{$invid}'"; $hi_rslt = db_exec($sql) or errDie("Unable to retrieve invoice."); $hi_data = pg_fetch_array($hi_rslt); $sql = "SELECT * FROM cubit.customers WHERE cusnum='{$hi_data['cusnum']}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customer."); $cust_data = pg_fetch_array($cust_rslt); $sql = "SELECT * FROM core.accounts WHERE topacc='1050' AND accnum='000'"; $acc_rslt = db_exec($sql) or errDie("Unable to retrieve account."); $acc_data = pg_fetch_array($acc_rslt); // $sql = " // INSERT INTO hire.hire_invoices (deptid, cusnum, // deptname, cusacc, cusname, surname, cusaddr, cusvatno, cordno, // ordno, chrgvat, terms, traddisc, salespn, odate, delchrg, subtot, // vat, total, balance, comm, printed, done, div, username, rounding, // delvat, vatnum, pcash, pcheque, pcc, pcredit, invnum) // VALUES('$hi_data[deptid]', '$hi_data[cusnum]', // '$hi_data[deptname]', '$hi_data[cusacc]', '$hi_data[cusname]', // '$hi_data[surname]', '$hi_data[cusaddr]', '$hi_data[cusvatno]', // '$hi_data[cordno]', '$hi_data[ordno]', '$hi_data[chrgvat]', // '$hi_data[terms]', '$hi_data[traddisc]', '$hi_data[salespn]', // '$hi_data[odate]', '$hi_data[delchrg]', '$hi_data[subtot]', // '$hi_data[vat]' , '$hi_data[total]', '$hi_data[balance]', // '$hi_data[comm]', 'y', 'y', '".USER_DIV."', '".USER_NAME."', // '$hi_data[rounding]', '$hi_data[delvat]', '$hi_data[vatnum]', // '$hi_data[pcash]', '$hi_data[pcheque]', '$hi_data[pcc]', // '$hi_data[pcredit]', '$hi_data[invnum]')"; // db_exec($sql) or errDie("Unable to create new hire note."); // $in_invid = pglib_lastid("hire.hire_invoices", "invid"); // // $in_invnum = $hi_data["invnum"]; // // $sql = "UPDATE hire.hire_invoices SET invnum='$in_invnum' // WHERE invid='$in_invid'"; // db_exec($sql) or errDie("Unable to update hire no."); $hire_invnum = "{$hi_data['invnum']}" . rev($hi_data["invid"]); # Insert invoice to DB $sql = "\r\n\t\tINSERT INTO cubit.nons_invoices (\r\n\t\t\tcusnum, cusname, cusaddr, chrgvat, sdate, odate, \r\n\t\t\tsubtot, balance, vat, total, done, username, prd, \r\n\t\t\tinvnum, typ, div, accid, discount, delivery, \r\n\t\t\thire_invid, hire_invnum\r\n\t\t) VALUES (\r\n\t\t\t'{$cust_data['cusnum']}', '{$cust_data['surname']}', '{$cust_data['paddr1']}', 'yes', CURRENT_DATE, CURRENT_DATE, \r\n\t\t\t'{$hi_data['subtot']}', '{$hi_data['total']}', '{$hi_data['vat']}', '{$hi_data['total']}', 'n', '" . USER_NAME . "', '" . PRD_DB . "', \r\n\t\t\t'{$hi_data['invnum']}', 'inv', '" . USER_DIV . "','{$acc_data['accid']}', '{$hi_data['discount']}', '{$hi_data['delivery']}', \r\n\t\t\t'{$hi_data['invid']}', '{$hire_invnum}'\r\n\t\t)"; $rslt = db_exec($sql) or errDie("Unable to create template Non-Stock Invoice.", SELF); db_conn("hire"); $nons_invid = lastinvid(); db_conn("cubit"); $sql = "SELECT * FROM hire.hire_invitems WHERE invid='{$invid}'"; $hire_rslt = db_exec($sql) or errDie("Unable to retrieve hire items."); while ($hire_data = pg_fetch_array($hire_rslt)) { $sql = "SELECT des FROM cubit.assets WHERE id='{$hire_data['asset_id']}'"; $des_rslt = db_exec($sql) or errDie("Unable to retrieve asset."); $itemdes = pg_fetch_result($des_rslt, 0); if ($hire_data["basis"] == "per_hour") { $des = getSerial($hire_data["asset_id"], 1) . " {$itemdes} hired for {$hire_data['hours']} hours."; } elseif ($hire_data["basis"] == "per_day") { $des = getSerial($hire_data["asset_id"], 1) . " {$itemdes} hired from {$hire_data['from_date']} to {$hire_data['to_date']}."; } else { $des = getSerial($hire_data["asset_id"], 1) . " {$itemdes} hired for {$hire_data['weeks']} weeks."; } $sql = "\r\n\t\t\tINSERT INTO hire.hire_nons_inv_items (\r\n\t\t\t\tinvid, qty, description, div, amt, unitcost, vatex, \r\n\t\t\t\taccid, item_id, asset_id\r\n\t\t\t) VALUES (\r\n\t\t\t\t'{$nons_invid}', '{$hire_data['qty']}', '{$des}', " . USER_DIV . ", '{$hire_data['amt']}', '{$hire_data['amt']}', '2', \r\n\t\t\t\t'{$acc_data['accid']}', '{$hire_data['id']}', '{$hire_data['asset_id']}'\r\n\t\t\t)"; db_exec($sql) or errDie("Unable to add non stock items."); /* $sql = " INSERT INTO hire.hire_invitems (invid, qty, ss, div, amt, discp, disc, unitcost, noted, serno, vatcode, description, account, from_date, to_date, asset_id, basis, hours, stkid, collection, weeks, days) VALUES ('$in_invid', '$hire_data[qty]', '$hire_data[ss]', '$hire_data[div]', '$hire_data[amt]', '$hire_data[discp]', '$hire_data[disc]', '$hire_data[unitcost]', '$hire_data[noted]', '$hire_data[serno]', '$hire_data[vatcode]', '$hire_data[description]', '$hire_data[account]', '$hire_data[from_date]', '$hire_data[to_date]', '$hire_data[asset_id]', '$hire_data[basis]', '$hire_data[hours]', '$hire_data[stkid]', '$hire_data[collection]', '$hire_data[weeks]', '$hire_data[days]')"; db_exec($sql) or errDie("Unable to create new hire note items.");*/ } pglib_transaction("COMMIT"); header("Location: hire-nons-invoice-print.php?invid={$nons_invid}&key=cconfirm&ctyp=s&cusnum={$hi_data['cusnum']}&post=true&monthly=1"); return $OUTPUT; }
function confirm() { extract($_REQUEST); require_lib("validate"); $v = new validate(); $v->isOk($asset_id, "num", 1, 9, "Invalid asset selection."); $v->isOk($cust_id, "num", 1, 9, "Invalid customer selection."); $v->isOk($from_year, "num", 4, 4, "Invalid from date (year)."); $v->isOk($from_month, "num", 1, 2, "Invalid from date (month)."); $v->isOk($from_day, "num", 1, 2, "Invalid from date (day)."); $v->isOk($to_year, "num", 4, 4, "Invalid to date (year)."); $v->isOk($to_month, "num", 1, 2, "Invalid to date (month)."); $v->isOk($to_day, "num", 1, 2, "Invalid to date (day)."); $e_from = getDTEpoch("{$from_year}-{$from_month}-{$from_day} 0:00:00"); $e_to = getDTEpoch("{$to_year}-{$to_month}-{$to_day} 23:59:59"); for ($i = $e_from; $i < $e_to; $i += DAYS) { if (isHired($asset_id, date("Y-m-d", $i))) { $v->addError(0, "Asset is hired out on " . date("d-m-Y", $i) . "."); } } if (!$asset_id) { $v->addError(0, "Please select an asset first."); } if (!$cust_id) { $v->addError(0, "Please select a customer first."); } if ($v->isError()) { return enter($v->genErrors()); } // Booking Date $from_date = "{$from_day}-{$from_month}-{$from_year}"; $from_date_db = dateFmt($from_year, $from_month, $from_day); $to_date = "{$to_day}-{$to_month}-{$to_year}"; $to_date_db = dateFmt($to_year, $to_month, $to_day); if (!isset($units)) { $units = 1; } $sql = "SELECT * FROM hire.bookings\r\n\t\t\tWHERE asset_id='{$asset_id}' AND\r\n\t\t\t\t('{$from_date_db}' BETWEEN from_date AND to_date OR\r\n\t\t\t\t '{$to_date_db}' BETWEEN from_date AND to_date)"; $bk_rslt = db_exec($sql) or errDie("Unable to retrieve bookings."); if (pg_num_rows($bk_rslt) && isSerialized($asset_id)) { return enter("<li class='err'>Item has already been booked in the\r\n\t\t\tspecified date range</li>"); } // Retrieve the asset description $sql = "SELECT * FROM cubit.assets WHERE id='{$asset_id}'"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve asset."); $asset_data = pg_fetch_array($asset_rslt); $asset_name = getSerial($asset_data["id"], 1) . " " . $asset_data["des"]; // Retrieve the customer name $sql = "SELECT surname FROM cubit.customers WHERE cusnum='{$cust_id}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customer."); $cust_name = pg_fetch_result($cust_rslt, 0); if (!isSerialized($asset_id)) { $units_input = "<input type='text' name='units' value='{$units}' size='2' />"; } else { $units_input = "1"; } $OUTPUT = "<h3>" . ucfirst($page_option) . " Booking</h3>\r\n\t<form method='post' action='" . SELF . "'>\r\n\t<input type='hidden' name='key' value='write' />\r\n\t<input type='hidden' name='page_option' value='{$page_option}' />\r\n\t<input type='hidden' name='id' value='{$id}' />\r\n\t<input type='hidden' name='asset_id' value='{$asset_id}' />\r\n\t<input type='hidden' name='cust_id' value='{$cust_id}' />\r\n\t<input type='hidden' name='from_year' value='{$from_year}' />\r\n\t<input type='hidden' name='from_month' value='{$from_month}' />\r\n\t<input type='hidden' name='from_day' value='{$from_day}' />\r\n\t<input type='hidden' name='to_year' value='{$to_year}' />\r\n\t<input type='hidden' name='to_month' value='{$to_month}' />\r\n\t<input type='hidden' name='to_day' value='{$to_day}' />\r\n\t<input type='hidden' name='units' value='1' />\r\n\t<table " . TMPL_tblDflts . ">\r\n\t\t<tr>\r\n\t\t\t<th colspan='2'>Confirm</th>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>Small Plant</td>\r\n\t\t\t<td>{$asset_name}</td>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>Customer</td>\r\n\t\t\t<td>{$cust_name}</td>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>Units</td>\r\n\t\t\t<td>{$units_input}</td>\r\n\t\t</tr>\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>Booking Date</td>\r\n\t\t\t<td>{$from_date} <b>To</b> {$to_date}</td>\r\n\t\t</tr>\r\n\t\t<tr>\r\n\t\t\t<td><input type='submit' name='key' value='« Correction' /></td>\r\n\t\t\t<td align='right'><input type='submit' value='Write » ' /></td>\r\n\t\t</tr>\r\n\t</table>\r\n\t</form>"; return $OUTPUT; }