function details($_POST, $error = "") { extract($_REQUEST); $fields = array(); $fields["deptid"] = 2; $fields["cusnum"] = 0; $fields["telno"] = ""; $fields["cordno"] = ""; $fields["des"] = ""; $fields["pinv_day"] = date("d"); $fields["pinv_month"] = date("m"); $fields["pinv_year"] = date("Y"); $fields["vatinc_yes"] = "checked"; $fields["vatinc_no"] = ""; $fields["vat14"] = AT14; $fields["vat"] = "0.00"; $fields["total"] = "0.00"; $fields["rounding"] = ""; $fields["nhifrm_year"] = date("Y"); $fields["nhifrm_month"] = date("m"); $fields["nhifrm_day"] = date("d"); $fields["nhito_year"] = date("Y"); $fields["nhito_month"] = date("m"); $fields["nhito_day"] = date("d"); $fields["client_collect"] = ""; $fields["collect"] = ""; $fields["deliver"] = ""; $fields["deposit_amt"] = "0.00"; $fields["deposit_type"] = "CSH"; $fields["custom_txt"] = ""; $fields["monthly"] = false; $fields["bk_asset"] = 0; // 30 Asset $fields["bk_id"] = 0; $fields["reprint"] = 0; extract($fields, EXTR_SKIP); if (isset($bk_from)) { list($nhifrm_year, $nhifrm_month, $nhifrm_day) = explode("-", $bk_from); } if (isset($bk_to)) { list($nhito_year, $nhito_month, $nhito_day) = explode("-", $bk_to); } $subtot = 0; if (isset($hirenewBtn)) { newHire($_POST); } // Get us an invoice id if (!isset($invid)) { $invid = create_dummy($deptid); } else { $sql = "SELECT cusnum FROM hire.hire_invoices WHERE invid='{$invid}'"; $cn_rslt = db_exec($sql) or errDie("Unable to retrieve invoices."); $cusnum = pg_fetch_result($cn_rslt, 0); updateTotals($invid); } $ind_ccol = ""; $ind_col = ""; $ind_del = ""; $collect_ar = array(); if (!empty($client_collect)) { $collect_ar[] = "Client Collect"; } if (!empty($collect)) { $collect_ar[] = "Collect"; } if (!empty($deliver)) { $collect_ar[] = "Deliver"; } if (empty($client_collect) && empty($collect) && empty($deliver)) { $client_collect = "checked"; $collect_ar[] = "Client Collect"; } $collection = implode(", ", $collect_ar); if (empty($monthly)) { $sql = "SELECT *, extract('epoch' FROM expected) AS e_exp, extract('epoch' FROM to_date) AS e_to FROM hire.hire_invitems WHERE invid='{$invid}'"; $item_rslt = db_exec($sql) or errDie("Unable to retrieve items."); while ($item_data = pg_fetch_array($item_rslt)) { if (!empty($item_data["expected"])) { if ($item_data["e_to"] > time()) { $item_data["expected"] = date("Y-m-t", $item_data["e_to"]); } else { if ($item_data["e_exp"] < time()) { $item_data["expected"] = date("Y-m-t"); } } $sql = "\r\n\t\t\t\t\tUPDATE hire.hire_invitems \r\n\t\t\t\t\tSET from_date='{$item_data['to_date']}', to_date='{$item_data['expected']}', expected=NULL \r\n\t\t\t\t\tWHERE id='{$item_data['id']}'"; db_exec($sql) or errDie("Unable to update invoice."); } } } // Retrieve the actual invoice $sql = "SELECT * FROM hire.hire_invoices WHERE invid = '{$invid}' AND div = '" . USER_DIV . "'"; $inv_rslt = db_exec($sql) or errDie("Unable to get invoice information"); $inv_data = pg_fetch_array($inv_rslt); if ($cusnum == 0) { $cusnum = $inv_data["cusnum"]; } if (empty($cordno)) { $cordno = $inv_data["cordno"]; } $pinv_date = explode("-", $inv_data["odate"]); $pinv_year = $pinv_date[0]; $pinv_month = $pinv_date[1]; $pinv_day = $pinv_date[2]; // Create the dropdowns --------------------------------------------------- // Retrieve departments $sql = "SELECT * FROM exten.departments ORDER BY deptname ASC"; $dept_rslt = db_exec($sql) or errDie("Unable to retrieve departments."); // Create departments dropdown $dept_sel = "<select name='deptid' style='width: 100%'>"; while ($dept_data = pg_fetch_array($dept_rslt)) { $dept_sel .= "<option value='{$dept_data['deptid']}'>{$dept_data['deptname']}</option>"; } $dept_sel .= "</select>"; // Check customer basis if ($cusnum > 0) { checkCustBasis($cusnum); } // Retrieve customers $sql = "SELECT * FROM cubit.customers ORDER BY surname ASC"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customers."); // Create customers dropdown if (empty($cusnum)) { $cust_sel = "\r\n\t\t\t<select name='cusnum' style='width: 100%' onchange='javascript:document.form.submit()'>\r\n\t\t\t\t<option value='0'>[None]</option>"; while ($cust_data = pg_fetch_array($cust_rslt)) { $sel = fsel(isset($cusnum) && $cusnum == $cust_data["cusnum"]); $cust_sel .= "<option value='{$cust_data['cusnum']}' {$sel}>{$cust_data['surname']}</option>"; } $cust_sel .= "</select>"; } else { $sql = "SELECT * FROM cubit.customers WHERE cusnum='{$cusnum}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customer."); $cust_data = pg_fetch_array($cust_rslt); $cust_sel = $cust_data["surname"]; } // Retrieve sales people $sql = "SELECT * FROM exten.salespeople ORDER BY salesp ASC"; $salesp_rslt = db_exec($sql) or errDie("Unable to retrieve sales people."); // Create sales people dropdown $salesp_sel = "<select name='salespid' style='width: 100%'>"; while ($salesp_data = pg_fetch_array($salesp_rslt)) { $salesp_sel .= "<option value='{$salesp_data['salespid']}'>{$salesp_data['salesp']}</option>"; } $salesp_sel .= "</select>"; // Deposit Options $deposit_list = array("CSH" => "Cash", "CHQ" => "Cheque", "CRD" => "Credit Card"); // Create the deposit dropdown $deposit_sel = "<select name='deposit_type'>"; foreach ($deposit_list as $key => $value) { if ($inv_data["deposit_type"] == $key) { $sel = "selected"; } else { $sel = ""; } $deposit_sel .= "<option value='{$key}' {$sel}>{$value}</option>"; } $deposit_sel .= "</select>"; // Items Display ------------------------------------------------------- $basis_list = array("per_day" => "Per Day", "per_hour" => "Per Hour", "per_week" => "Per Week"); // Retrieve items $sql = "SELECT * FROM hire.hire_invitems WHERE invid='{$invid}' ORDER BY id ASC"; $items_rslt = db_exec($sql) or errDie("Unable to retrieve items."); $items_out = ""; $temp_assets = array(); while ($items_data = pg_fetch_array($items_rslt)) { $i = $items_data["id"]; // Create the basis display $basis_disp = $basis_list[$items_data["basis"]]; // Retrieve assets $sql = "SELECT * FROM cubit.assets WHERE id='{$items_data['asset_id']}'"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve assets."); $ad = pg_fetch_array($asset_rslt); // Retrieve asset group $sql = "SELECT * FROM cubit.assetgrp WHERE grpid='{$ad['grpid']}'"; $agrp_rslt = db_exec($sql) or errDie("Unable to retrieve asset group."); $agrp_data = pg_fetch_array($agrp_rslt); if ($agrp_data["grpname"] == "Temporary Asset") { $temp_assets[] = $agrp_data[$ad["id"]]; } // if ($ad["serial"] == "CUBIT::-QTY-") { // $asset_disp = "$ad[des]"; // } else { // $asset_disp = "$ad[des] ($ad[serial])"; // } $asset_disp = $ad["des"] . " " . getSerial($ad["id"], 1); $subtot += $items_data["amt"]; //*$items_data["qty"]; if ($items_data["basis"] == "per_hour") { $from_disp = "Hours: {$items_data['hours']}"; $to_disp = ""; } else { if ($items_data["basis"] == "per_day") { $mfrm_date = $items_data["from_date"]; $mfrm_date = explode("-", $mfrm_date); $mfrm_year[$i] = $mfrm_date[0]; $mfrm_month[$i] = $mfrm_date[1]; $mfrm_day[$i] = $mfrm_date[2]; $mto_date = $items_data["to_date"]; $mto_date = explode("-", $mto_date); $mto_year[$i] = $mto_date[0]; $mto_month[$i] = $mto_date[1]; $mto_day[$i] = $mto_date[2]; $from_disp = mkDateSelectA("mfrm", $i, $mfrm_year[$i], $mfrm_month[$i], $mfrm_day[$i]); $to_disp = mkDateSelectA("mto", $i, $mto_year[$i], $mto_month[$i], $mto_day[$i]); // $from_disp = " // <input type='hidden' name='mfrm_year[$i]' value='$mfrm_year[$i]' /> // <input type='hidden' name='mfrm_month[$i]' value='$mfrm_month[$i]' /> // <input type='hidden' name='mfrm_day[$i]' value='$mfrm_day[$i]' /> // $mfrm_day[$i]-$mfrm_month[$i]-$mfrm_year[$i]"; // $to_disp = " // <input type='hidden' name='mto_year[$i]' value='$mto_year[$i]' /> // <input type='hidden' name='mto_month[$i]' value='$mto_month[$i]' /> // <input type='hidden' name='mto_day[$i]' value='$mto_day[$i]' /> // $mto_day[$i]-$mto_month[$i]-$mto_year[$i]"; $from_date[$i] = "{$mfrm_year[$i]}-{$mfrm_month[$i]}-{$mfrm_day[$i]}"; $to_date[$i] = "{$mto_year[$i]}-{$mto_month[$i]}-{$mto_day[$i]}"; $hidden_date = "\r\n\t\t\t\t\t<input type='hidden' name='from_date[{$i}]' value='{$from_date[$i]}' />\r\n\t\t\t\t\t<input type='hidden' name='to_date[{$i}]' value='{$to_date[$i]}' />"; // $from_disp = "$items_data[from_date]"; // $to_disp = "$items_data[to_date]"; } else { if ($items_data["basis"] == "per_week") { $from_disp = "Weeks: {$items_data['weeks']}"; $to_disp = ""; } } } if (!isset($return[$i])) { $return[$i] = ""; } if (!isset($hidden_date)) { $hidden_date = ""; } if (!isset($rain_days[$i])) { $rain_days[$i] = 0; } if ($items_data["basis"] == "per_day") { $rd_disp = "<input type='hidden' name='rain_days[{$i}]' \t\t\t\r\n\t\t\t\t\t\tvalue='{$rain_days[$i]}' size='3' style='text align: center' />"; if ($items_data["half_day"]) { // $hd_disp = "<input type='checkbox' name='half_day[$i]' value='1' checked /> Half Day</b>"; $hd_disp = "<input type='hidden' name='half_day[{$i}]' value='1' />"; } else { $hd_disp = "<input type='hidden' name='half_day[{$i}]' value='0' />"; // $hd_disp = "<input type='checkbox' name='half_day[$i]' value='1' /> Half Day"; } } else { $hd_disp = ""; $rd_disp = "<input type='hidden' name='rain_days[{$i}]' value='0' />"; } if ($items_data["weekends"]) { $weekends[$i] = "checked"; } else { $weekends[$i] = ""; } // Items should not be removed once processed, use reprint to check // if this hire note has already been processed. if (isset($reprint) && $reprint || !empty($monthly)) { $rem_cbox = ""; } else { $rem_cbox = "<td><input type='checkbox' name='remove[{$i}]'></td>"; } if (isset($monthly) && $monthly) { if ($items_data["basis"] == "per_day") { $ret_cbox = "<td><input type='checkbox' name='return[{$i}]' value='checked' {$return[$i]}></td>"; } else { $ret_cbox = "<td> </td>"; } } else { $ret_cbox = "<td><input type='checkbox' name='return[{$i}]' value='checked' {$return[$i]}></td>"; } $amt = sprint($items_data["amt"]); if (user_is_admin(USER_ID)) { $amount_out = "<input type='text' name='amount[{$i}]' value='{$amt}' size='7' />"; } else { $amount_out = "<input type='hidden' name='amount[{$i}]' value='{$amt}' />{$amt}"; } $items_out .= "\r\n\t\t\t<input type='hidden' name='asset_id[{$i}]' value='{$ad['id']}' />\r\n\t\t\t<input type='hidden' name='basis[{$i}]' value='{$items_data['basis']}' />\r\n\t\t\t<input type='hidden' name='qty[{$i}]' value='{$items_data['qty']}' />\r\n\t\t\t{$hidden_date}\r\n\t\t\t{$rd_disp}\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td>{$basis_disp}</td>\r\n\t\t\t\t<td>{$asset_disp}</td>\r\n\t\t\t\t<td align='center'>{$items_data['qty']}</td>\r\n\t\t\t\t<td align='center'>{$from_disp}</td>\r\n\t\t\t\t<td align='center'>{$to_disp} {$hd_disp}</td>\r\n\t<!--\t\t\t\r\n\t\t\t\t<td align='center'>{$rd_disp}</td>\r\n\t\t\t\t<td align='center'>{$items_data['collection']}</td>\r\n\t-->\r\n\t\t\t\t<td>{$amount_out}</td>\r\n\t\t\t\t{$rem_cbox}\r\n\t\t\t\t{$ret_cbox}\r\n\t\t\t</tr>"; } $temp_assets = implode(",", $temp_assets); // New Items -------------------------------------------------------------- // Avoid undefined variable items_out if (empty($items_out)) { $items_out = ""; } // Buttons if (!empty($cusnum)) { if ($deposit_type == "CSH" && $deposit_amt != "0.00") { $deposit_open = "popupOpen(\"hire-invoice-print.php?key=cash_receipt&invid={$inv_data['invid']}\")"; } else { $deposit_open = ""; } $sql = "SELECT * FROM cubit.customers WHERE cusnum='{$cusnum}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve customers."); $cust_data = pg_fetch_array($cust_rslt); $telno = $cust_data["bustel"]; $return_btn = "<input type='submit' name='upBtn' value='Return' />"; if (isset($reprint) && $reprint) { $new_btn = "<input type='button' value='Reprint' onclick='javascript:printer(\"hire/hire_note_reprint.php?invid={$inv_data['invid']}\");{$deposit_open}'>"; $purch_btn = ""; //$purch_btn = "<input type='button' value='Payment' onclick='javascript:popupOpen(\"".SELF."?key=newpos&cusnum=$cusnum\");' />"; } else { if (!$monthly) { $new_btn = "<input name='hirenewBtn' type='submit' value='Process' />"; } else { $new_btn = "<input type='submit' name='upBtn' value='Invoice' />"; } $purch_btn = ""; } $hire_buttons = "\r\n\t\t\t<tr>\r\n\t\t\t\t<td> </td>\r\n\t\t\t\t<td align='center'>\r\n\t\t\t\t\t<input type='submit' name='upBtn' value='Update'>\r\n\t\t\t\t\t{$new_btn}\r\n\t\t\t\t\t{$return_btn}\r\n\t\t\t\t\t{$purch_btn}\r\n\t\t\t\t\t<!--<input type='button' value='Swap Hire' />-->\r\n\t\t\t\t</td>\r\n\t\t\t\t<td> </td>\r\n\t\t\t</tr>"; $basevis = "visible"; $credit_limit = CUR . sprint($cust_data["credlimit"] - $cust_data["balance"]); $cust_balance = CUR . $cust_data["balance"]; } else { $hire_buttons = ""; $basevis = "hidden"; $credit_limit = ""; $cust_balance = ""; } // Retrieve assets $sql = "SELECT * FROM cubit.assets ORDER BY des ASC"; $nasset_rslt = db_exec($sql) or errDie("Unable to retrieve asset."); // Assets dropdown $nasset_sel = "\r\n\t\t<select name='nasset_id' style='visibility: {$basevis}; width: 120px' onchange='assetChange(this);'>\r\n\t\t\t<option value='0'>- SELECT PLANT -</option>"; while ($ad = pg_fetch_array($nasset_rslt)) { $sql = "SELECT * FROM hire.hire_invitems WHERE asset_id='{$ad['id']}' AND invid='{$invid}'"; $invitem_rslt = db_exec($sql) or errDie("Unable to retrieve items."); if (pg_num_rows($invitem_rslt)) { continue; } if (!empty($ad["remaction"])) { continue; } if (isHired($ad["id"], date("Y-m-d"))) { continue; } if (!isSerialized($ad["id"])) { $at = "q"; //$asset_disp = "$ad[des] ($ad[serial2] available.)"; $units_avail = unitsAvailable($ad["id"], date("Y-m-d")); $asset_disp = "{$ad['des']} {$units_avail} available."; if ($ad["serial2"] <= 0) { continue; } } else { $at = "s"; $asset_disp = "{$ad['des']} ({$ad['serial']})"; } if ($cust_bk = isBooked($ad["id"], date("Y-m-d"))) { $sql = "SELECT surname FROM cubit.customers WHERE cusnum='{$cust_bk}'"; $surname_rslt = db_exec($sql) or errDie("Unable to retrieve customer."); $surname = pg_fetch_result($surname_rslt, 0); if (isSerialized($ad["id"])) { $asset_disp .= " Booked: {$surname}"; } else { $units_booked = unitsBooked($ad["id"], date("Y-m-d")); $asset_disp .= " {$units_booked} Units Booked"; } } if ($bk_asset == $ad["id"]) { $sel = "selected='selected'"; } else { $sel = ""; } $nasset_sel .= "<option value='{$at}:{$ad['id']}' {$sel}>{$asset_disp}</option>"; } $nasset_sel .= "</select>"; // Create basis dropdown $nbasis_sel = "\r\n\t\t<select name='nbasis' style='width: 100%; visibility: {$basevis};' onchange='basisChange(this);'>\r\n\t\t\t<option value='0'>- BASIS -</option>"; foreach ($basis_list as $key => $value) { $nbasis_sel .= "<option value='{$key}'>{$value}</option>"; } $nbasis_sel .= "</select>"; // Create asset group dropdown $sql = "SELECT grpid, grpname FROM cubit.assetgrp ORDER BY grpname ASC"; $grp_rslt = db_exec($sql) or errDie("Unable to retrieve groups."); if ($cusnum) { $OTS_OPT = onthespot_encode(SELF, "cust_selection", "deptid={$deptid}&cusnum={$cusnum}&invid={$invid}"); // $cust_edit = " // <td nowrap> // <a href='javascript: popupSized(\"../cust-edit.php?cusnum=$cusnum&onthespot=$OTS_OPT\", \"edit_cust\", 700, 630);'> // Edit Customer Details // </a> // </td>"; $cust_edit = ""; } else { $cust_edit = ""; } // Retrieve service date $sql = "SELECT * FROM hire.hire_invitems WHERE invid='{$invid}'"; $invi_rslt = db_exec($sql) or errDie("Unable to retrieve item."); $sv_warn = ""; while ($invi_data = pg_fetch_array($invi_rslt)) { $sql = "SELECT * FROM cubit.asset_svdates WHERE svdate<=CURRENT_DATE AND asset_id='{$invi_data['asset_id']}'"; $sv_rslt = db_exec($sql) or errDie("Unable to retrieve service date."); $sv_data = pg_fetch_array($sv_rslt); // Retrieve asset if (pg_num_rows($sv_rslt)) { $sql = "SELECT * FROM cubit.assets WHERE id='{$sv_data['asset_id']}'"; $asset_rslt = db_exec($sql) or errDie("Unable to retrieve asset."); $asset_data = pg_fetch_array($asset_rslt); $sv_warn .= "<li class='err'><b>SERVICING</b>: " . getSerial($asset_data["id"], 1) . "\r\n\t\t\t{$asset_data['des']} has a service date on {$sv_data['svdate']}.</li>"; } if ($days = checkServicing($invi_data["asset_id"], 1)) { $sv_warn .= "<li class='err'><b>SERVICING</b>: {$asset_data['des']} needs servicing.</li>"; } } // Check if we should use the default comments if (empty($inv_data["comm"])) { $sql = "SELECT value FROM cubit.settings WHERE constant='HIRE_COMMENTS'"; $comment_rslt = db_exec($sql) or errDie("Unable to retrieve comments."); $inv_data["comm"] = pg_fetch_result($comment_rslt, 0); } // Site address $addr_sel = ""; if ($cusnum) { // Retrieve branch address $sql = "SELECT branch_addr FROM hire.hire_invoices WHERE invid='{$invid}'"; $addr_rslt = db_exec($sql) or errDie("Unable to retrieve branch address."); $branch_addr = pg_fetch_result($addr_rslt, 0); $sql = "SELECT id, branch_name FROM cubit.customer_branches WHERE cusnum='{$cusnum}'"; $bran_rslt = db_exec($sql) or errDie("Unable to retrieve customer branch."); $addr_sel = "<select name='branch_addr' style='width: 100%' onchange='javascript:document.form.submit()'>"; $addr_sel .= "<option value='0'>Physical Address</option>"; while ($bran_data = pg_fetch_array($bran_rslt)) { if ($branch_addr == $bran_data["id"]) { $sel = "selected='selected'"; } else { $sel = ""; } $addr_sel .= "<option value='{$bran_data['id']}' {$sel}>{$bran_data['branch_name']}</option>"; } $addr_sel .= "</select>"; $addr_sel .= "<br />" . branchAddress($branch_addr, $cusnum); } $booked_items = getBookedItems($cusnum, date("Y-m-d")); foreach ($booked_items as $asset_id => $units_booked) { $sql = "SELECT des FROM cubit.assets WHERE id='{$asset_id}'"; $bkdes_rslt = db_exec($sql) or errDie("Unable to retrieve bookings."); $bkdes = pg_fetch_result($bkdes_rslt, 0); $sv_warn .= "<li class='err'><b>BOOKING</b>: {$units_booked}x " . getSerial($asset_id, 1) . " {$bkdes} booked for this customer.</li>"; } if ($monthly) { $ret_out = "Invoice"; } else { $ret_out = "Return"; } // Items should not be removed once processed, use reprint to check // if this hire note has already been processed or if its monthly. if (isset($reprint) && $reprint || !empty($monthly)) { $rem_th = ""; $rem_nbsp = ""; } else { $rem_th = "<th>Remove</th>"; $rem_nbsp = "<td> </td>"; } // Use the customer trad discount on default $sql = "SELECT traddisc FROM cubit.customers WHERE cusnum='{$cusnum}'"; $cust_rslt = db_exec($sql) or errDie("Unable to retrieve discount."); $trade_discount = pg_fetch_result($cust_rslt, 0); // Determine if we got any items, if we do, we don't need to go for the // default value anymore, because the customer is already selected. $sql = "SELECT count(id) FROM hire.hire_invitems WHERE invid='{$invid}'"; $count_rslt = db_exec($sql) or errDie("Unable to retrieve items."); $count = pg_fetch_result($count_rslt, 0); if ($count) { $trade_discount = $inv_data["traddisc"]; } if (isset($bk_id) && $bk_id && !isset($bk_done)) { $sql = "\r\n\t\t\tSELECT serial FROM hire.bookings\r\n\t\t\t\tLEFT JOIN cubit.assets ON bookings.asset_id=assets.id\r\n\t\t\tWHERE bookings.id='{$bk_id}'"; $bk_rslt = db_exec($sql) or errDie("Unable to retrieve booking."); $serialized = pg_fetch_result($bk_rslt, 0); if ($serialized == "Not Serialized") { $qty_disabled = ""; } else { $qty_disabled = "disabled='t'"; } } else { $qty_disabled = "disabled='t'"; } // New Items $new_items_out = "\r\n\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t<td>{$nbasis_sel}</td>\r\n\t\t\t<td>{$nasset_sel}</td>\r\n\t\t\t<td align='center'>\r\n\t\t\t\t<input type='text' id='nqty' name='nqty' value='' size='3' class='clear' {$qty_disabled} style='text-align:center' />\r\n\t\t\t</td>\r\n\t\t\t<td align='left' nowrap='t'>\r\n\t\t\t\t<div id='d_wks' style='height: 0px; visibility: hidden;'>\r\n\t\t\t\t\tWeeks: <input type='text' name='weeks' size='5' style='text-align: center;' />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div id='d_hrs' style='height: 0px; visibility: hidden;'>\r\n\t\t\t\t\tHours: <input type='text' name='hours' size='5'\r\n\t\t\t\t\t\tstyle='text-align: center;' />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div id='d_fdate' style='visibility: hidden;'>\r\n\t\t\t\t\t" . mkDateSelect("nhifrm", $nhifrm_year, $nhifrm_month, $nhifrm_day) . "\r\n\t\t\t\t</div>\r\n\t\t\t</td>\r\n\t\t\t<td align='left' nowrap='t'>\r\n\t\t\t\t<div id='d_tdate' style='visibility: hidden;'>\r\n\t\t\t\t\t" . mkDateSelect("nhito", $nhito_year, $nhito_month, $nhito_day) . "\r\n\t<!--\t\t\t\t\r\n\t\t\t\t\t<input type='checkbox' name='nhalf_day' value='checked' />\r\n\t\t\t\t\tHalf Day\r\n\t-->\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</td>\r\n\t\t\t<td> </td>\r\n\t\t\t{$rem_nbsp}\r\n\t\t\t<td> </td>\r\n\t\t</tr>"; /* -- Final Layout -- */ $details = "\r\n\t\t<script>\r\n\t\t\tfunction basisChange(o) {\r\n\t\t\t\thrs = getObject('d_hrs');\r\n\t\t\t\tfd = getObject('d_fdate');\r\n\t\t\t\ttd = getObject('d_tdate');\r\n\t\t\t\twks = getObject('d_wks');\r\n\r\n\t\t\t\tswitch (o.value) {\r\n\t\t\t\t\tcase 'per_hour':\r\n\t\t\t\t\t\thrs.style.visibility = 'visible';\r\n\t\t\t\t\t\tfd.style.visibility = 'hidden';\r\n\t\t\t\t\t\ttd.style.visibility = 'hidden';\r\n\t\t\t\t\t\twks.style.visibility = 'hidden';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'per_day':\r\n\t\t\t\t\t\thrs.style.visibility = 'hidden';\r\n\t\t\t\t\t\tfd.style.visibility = 'visible';\r\n\t\t\t\t\t\ttd.style.visibility = 'visible';\r\n\t\t\t\t\t\twks.style.visibility = 'hidden';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'per_week':\r\n\t\t\t\t\t\thrs.style.visibility = 'hidden';\r\n\t\t\t\t\t\tfd.style.visibility = 'hidden';\r\n\t\t\t\t\t\ttd.style.visibility = 'hidden';\r\n\t\t\t\t\t\twks.style.visibility = 'visible';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\thrs.style.visibility = 'hidden';\r\n\t\t\t\t\t\tfd.style.visibility = 'hidden';\r\n\t\t\t\t\t\ttd.style.visibility = 'hidden';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfunction assetChange(o) {\r\n\t\t\t\tqo = getObject('nqty');\r\n\r\n\t\t\t\tswitch(o.value.substr(0, 1)) {\r\n\t\t\t\t\tcase 'q':\r\n\t\t\t\t\t\tqo.value = '';\r\n\t\t\t\t\t\tqo.disabled = false;\r\n\t\t\t\t\t\tqo.className = 'std';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 's':\r\n\t\t\t\t\t\tqo.value = '1';\r\n\t\t\t\t\t\tqo.disabled = true;\r\n\t\t\t\t\t\tqo.className = 'clear';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tqo.value = '';\r\n\t\t\t\t\t\tqo.disabled = true;\r\n\t\t\t\t\t\tqo.className = 'clear'\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</script>\r\n\t\t<style>\r\n\t\t\ttd, input, textarea, select { font-size: .75em; }\r\n\t\t</style>\r\n\t\t<center>\r\n\t\t<form method='POST' name='formName'>\r\n\t\t\t<input type='hidden' name='key' value='update'>\r\n\t\t</form>\r\n\t\t<form action='" . SELF . "' method='POST' name='form'>\r\n\t\t\t<input type='hidden' name='collection' value='{$collection}' />\r\n\t\t\t<input type='hidden' name='key' value='update'>\r\n\t\t\t<input type='hidden' name='invid' value='{$invid}' />\r\n\t\t\t<input type='hidden' name='temp_assets' value='{$temp_assets}' />\r\n\t\t\t<input type='hidden' name='monthly' value='{$monthly}' />\r\n\t\t\t<input type='hidden' name='cusnum' value='{$cusnum}' />\r\n\t\t\t<input type='hidden' name='chrgvat' value='no' />\r\n\t\t\t<input type='hidden' name='bk_id' value='{$bk_id}' />\r\n\t\t\t<input type='hidden' name='bk_done' value='1' />\r\n\t\t\t<input type='hidden' name='reprint' value='{$reprint}' />\r\n\t\t<table " . TMPL_tblDflts . " width='100%'>\r\n\t\t \t<tr>\r\n\t\t \t\t<td colspan='3' align='center'><h3>New Hire</h3></td>\r\n\t\t \t</tr>\r\n\t\t \t<tr>\r\n\t\t \t\t<td valign='top'>\r\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<th colspan='2'> Customer Details </th>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Department</td>\r\n\t\t\t\t\t\t\t<td valign='center'>{$dept_sel}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Customer</td>\r\n\t\t\t\t\t\t\t<td valign='center'>{$cust_sel}</td>\r\n\t\t\t\t\t\t\t{$cust_edit}\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Customer Telephone Number</td>\r\n\t\t\t\t\t\t\t<td valign='center'>\r\n\t\t\t\t\t\t\t\t<input type='text' size='20' name='telno' value='{$telno}'>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Customer Order number</td>\r\n\t\t\t\t\t\t\t<td valign='center'>\r\n\t\t\t\t\t\t\t\t<input type='text' size='10' name='cordno' value='{$cordno}'>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Available Credit</td>\r\n\t\t\t\t\t\t\t<td>{$credit_limit}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Balance</td>\r\n\t\t\t\t\t\t\t<td>{$cust_balance}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Customer Address</td>\r\n\t\t\t\t\t\t\t<td>{$addr_sel}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t<!--\r\n\t\t\t\t\t\t<tr><th colspan='2'>Point of Hire</th></tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Barcode</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<input type='text' size='13' name='bar' value=''>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td nowrap='t'>Search for description</td>\r\n\t\t\t\t\t\t\t<td><input type='text' size='13' name='des' value='{$des}'></td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td colspan='2' align='center'>\r\n\t\t\t\t\t\t\t\t<input type='submit' value='Search'>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Collection Method</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<input type='checkbox' name='client_collect' value='checked' {$client_collect} />\r\n\t\t\t\t\t\t\t\tClient Collect\r\n\t\t\t\t\t\t\t\t<br />\r\n\t\t\t\t\t\t\t\t<input type='checkbox' name='deliver' value='checked' {$deliver} />\r\n\t\t\t\t\t\t\t\tTo be Delivered\r\n\t\t\t\t\t\t\t\t<br />\r\n\t\t\t\t\t\t\t\t<input type='checkbox' name='collect' value='checked' {$collect} />\r\n\t\t\t\t\t\t\t\tTo be Collected\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t-->\r\n\t\t\t\t\t</table>\r\n\t\t\t\t<td valign='top' align='center' style='width: 100%;'>\r\n\t\t\t\t\t<img src='../compinfo/getimg.php' style='border: 1px solid #000' width='230' height='47' />\r\n\t\t\t\t</td>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td valign='top' align='right'>\r\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<th colspan=2>Hire Details</th>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Hire No.</td>\r\n\t\t\t\t\t\t\t<td valign='center'>H{$inv_data['invnum']}" . rev($inv_data["invid"]) . "</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Sales Order No.</td>\r\n\t\t\t\t\t\t\t<td valign='center'>\r\n\t\t\t\t\t\t\t\t<input type='text' size='5' name='ordno' value='{$inv_data['ordno']}'>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Hire Date</td>\r\n\t\t\t\t\t\t\t<td valign='center' nowrap='t'>\r\n\t\t\t\t\t\t\t\t" . mkDateSelect("pinv", $pinv_year, $pinv_month, $pinv_day) . "\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Sales Person</td>\r\n\t\t\t\t\t\t\t<td>{$salesp_sel}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Trade Discount</td>\r\n\t\t\t\t\t\t\t<td valign='center'>\r\n\t\t\t\t\t\t\t\t<input type='text' size='5' name='traddisc'\r\n\t\t\t\t\t\t\t\tvalue='{$trade_discount}'>%\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td nowrap='t'>Delivery Charge</td>\r\n\t\t\t\t\t\t\t<td valign='center'>\r\n\t\t\t\t\t\t\t\t<input type='text' size='7' name='delchrg'\r\n\t\t\t\t\t\t\t\tvalue='{$inv_data['delchrg']}'>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<th colspan='2'>Payment Details </th>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>User</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<input type='hidden' name='user' value='" . USER_NAME . "'>\r\n\t\t\t\t\t\t\t\t" . USER_NAME . "\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Deposit Type</td>\r\n\t\t\t\t\t\t\t<td>{$deposit_sel}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Deposit Amount</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t<input type='text' name='deposit_amt'\r\n\t\t\t\t\t\t\t\tvalue='" . sprint($inv_data["deposit_amt"]) . "' size='7' />\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan='3'>\r\n\t\t\t\t\t<table " . TMPL_tblDflts . " width='100%'>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'></tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<th>Basis</th>\r\n\t\t\t\t\t\t\t<th>Item</th>\r\n\t\t\t\t\t\t\t<th>Qty</th>\r\n\t\t\t\t\t\t\t<th>Hire Date</th>\r\n\t\t\t\t\t\t\t<th>Expected Return</th>\r\n\t\t\t<!--\t\t\t\r\n\t\t\t\t\t\t\t<th>Rain Days</th>\r\n\t\t\t\t\t\t\t<th>Collection</th>\r\n\t\t\t-->\r\n\t\t\t\t\t\t\t<th>Amount</th>\r\n\t\t\t\t\t\t\t{$rem_th}\r\n\t\t\t\t\t\t\t<th>{$ret_out}</th>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t{$items_out}\r\n\t\t\t\t\t\t{$new_items_out}\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width='70%' valign='top' colspan='2'>\r\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td colspan='10'>{$sv_warn}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t\t<td rowspan='4' nowrap>" . mkQuickLinks(ql("javascript:popupOpen(\"../customers-new.php\")", "New Customer"), ql("../pos-invoice-new.php", "New POS Invoice"), ql("../nons-invoice-new.php", "New Non-Stock Invoice")) . "\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<th>Comments</th>\r\n\t\t\t\t\t\t\t<th>Custom Text</th>\r\n\t\t\t\t\t\t\t<td rowspan='5' valign='top' width=40%>{$error}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td rowspan=4 align=center valign=top>\r\n\t\t\t\t\t\t\t\t<textarea name=comm cols=20 style='height: 100%'>{$inv_data['comm']}</textarea>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t\t<td rowspan='4' align='center' valign='top'>\r\n\t\t\t\t\t\t\t\t<textarea name='custom_txt' rows='4' cols='60' style='height: 100%'>{$custom_txt}</textarea>\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t\t<td colspan='2' align='right' valign='top' width='30%'>\r\n\t\t\t\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Delivery Charge</td>\r\n\t\t\t\t\t\t\t<td align=right>" . CUR . " {$inv_data['delivery']}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>Trade Discount</td>\r\n\t\t\t\t\t\t\t<td align=right>" . CUR . " {$inv_data['discount']}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td>SUBTOTAL</td>\r\n\t\t\t\t\t\t\t<td align=right>\r\n\t\t\t\t\t\t\t\t" . CUR . "<input type=hidden name='subtot' value='{$inv_data['subtot']}'>\r\n\t\t\t\t\t\t\t\t" . sprint($inv_data["subtot"]) . "\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<td><b>VAT {$vat14}</b></td>\r\n\t\t\t\t\t\t\t<td align=right>" . CUR . " {$inv_data['vat']}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t\t\t\t<th>GRAND TOTAL</th>\r\n\t\t\t\t\t\t\t<td align=right>" . CUR . " {$inv_data['total']}</td>\r\n\t\t\t\t\t\t</tr>\r\n\t\t\t\t\t\t{$rounding}\r\n\t\t\t\t\t</table>\r\n\t\t\t\t</td>\r\n\t\t\t</tr>\r\n\t\t{$hire_buttons}\r\n\t\t</table>\r\n\t\t<a name='bottom'>\r\n\t\t</form>\r\n\t\t</center>"; return $details; }
function enter($_POST, $error = "") { # Get vars extract($_POST); if (!isset($number)) { $number = 1; } # validate input require_lib("validate"); $v = new validate(); $v->isOk($bankid, "num", 1, 20, "Invalid Bank ID."); $v->isOk($number, "num", 1, 3, "Invalid number of entries."); # display errors, if any if ($v->isError()) { $confirm = ""; $errors = $v->getErrors(); foreach ($errors as $e) { $confirm .= "<li class='err'>" . $e["msg"] . "</li>"; } $confirm .= "<p><input type='button' onClick='JavaScript:history.back();' value='« Correct submission'>"; return $confirm; } $jump_bot = ""; if (isset($another)) { $jump_bot = "\n\t\t\t<script>\n\t\t\t\twindow.location.hash='bottom';\n\t\t\t</script>"; $number++; } # Accounts Drop down core_connect(); $glacc = mkAccSelect("accinv[]", 1); // $glacc = "<select name='accinv[]'>"; // $sql = "SELECT * FROM accounts WHERE div = '".USER_DIV."'"; // $accRslt = db_exec($sql); // if(pg_numrows($accRslt) < 1){ // return "<li> There are no accounts yet in Cubit.</li>"; // } // while($acc = pg_fetch_array($accRslt)){ // # Check Disable // if(isDisabled($acc['accid'])) // continue; // $glacc .= "<option value='$acc[accid]'>$acc[accname]</option>"; // } // $glacc .= "</select>"; # Get bank acc details $bankRslt = get("cubit", "*", "bankacct", "bankid", $bankid); $bank = pg_fetch_array($bankRslt); $vatarr = array("nov" => "No VAT", "inc" => "Inclusive", "exc" => "Exclusive"); // Layout $enter = "\n\t\t<center>\n\t\t<h3>Type in Bank statement</h3>\n\t\t<form action='" . SELF . "' method='POST' name='form'>\n\t\t\t<input type='hidden' name='key' value='confirm'>\n\t\t\t<input type='hidden' name='bankid' value='{$bankid}'>\n\t\t\t<input type='hidden' name='number' value='{$number}'>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<td colspan='4'>{$error}</td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<th align='center' colspan='10'>Bank Account : <b>({$bank['accnum']}) {$bank['accname']}</b></th>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<th>Date</th>\n\t\t\t\t<th>Paid to/Received from</th>\n\t\t\t\t<th>Transaction type</th>\n\t\t\t\t<th>Transaction Description</th>\n\t\t\t\t<th>Reference</th>\n\t\t\t\t<th>Cheque Number</th>\n\t\t\t\t<th>Amount</th>\n\t\t\t\t<th>VAT</th>\n\t\t\t\t<th>VAT Code</th>\n\t\t\t\t<th>Contra Account <input align='right' type='button' onClick=\"window.open('../core/acc-new2.php?update_parent=yes','accounts','width=700, height=400');\" value='New Account'></th>\n\t\t\t</tr>"; for ($i = 0; $i < $number; $i++) { if (!isset($date[$i])) { $date[$i] = false; } if (strlen($date[$i]) < 1) { $trans_date_setting = getCSetting("USE_TRANSACTION_DATE"); if (isset($trans_date_setting) and $trans_date_setting == "yes") { $trans_date_value = getCSetting("TRANSACTION_DATE"); $date_arr = explode("-", $trans_date_value); $o_year[$i] = $date_arr[0]; $o_month[$i] = $date_arr[1]; $o_day[$i] = $date_arr[2]; $date[$i] = "{$o_year[$i]}-{$o_month[$i]}-{$o_day[$i]}-"; } else { if (!isset($o_day[$i]) or strlen($o_day[$i]) < 1) { if (isset($_SESSION["global_day"]) and strlen($_SESSION["global_day"]) > 0) { $o_day[$i] = $_SESSION["global_day"]; } else { $o_day[$i] = date("d"); } if (isset($_SESSION["global_month"]) and strlen($_SESSION["global_month"]) > 0) { $o_month[$i] = $_SESSION["global_month"]; } else { $o_month[$i] = date("m"); } if (isset($_SESSION["global_year"]) and strlen($_SESSION["global_year"]) > 0) { $o_year[$i] = $_SESSION["global_year"]; } else { $o_year[$i] = date("Y"); } } $date[$i] = "{$o_year[$i]}-{$o_month[$i]}-{$o_day[$i]}-"; } } explodeDate($date[$i], $o_year[$i], $o_month[$i], $o_day[$i]); if (!isset($to[$i])) { $to[$i] = ""; $trantype[$i] = ""; $descript[$i] = ""; $ref[$i] = ""; $cheqnum[$i] = ""; $amount[$i] = ""; $chrgvat[$i] = ""; $accinv[$i] = ""; } switch (strtolower($trantype[$i])) { case "deposit": $ch1 = "selected"; $ch2 = ""; break; case "withdrawal": $ch1 = ""; $ch2 = "selected"; break; default: $ch1 = ""; $ch2 = "selected"; break; } $vatsel = extlib_cpsel("chrgvat[]", $vatarr, $chrgvat[$i]); $glacc = mkAccSelect("accinv[]", $accinv[$i]); # Accounts Drop down // core_connect(); // $glacc = "<select name='accinv[]'>"; // $sql = "SELECT * FROM accounts WHERE div = '".USER_DIV."' ORDER BY accname"; // $accRslt = db_exec($sql); // if(pg_numrows($accRslt) < 1){ // return "<li> There are no accounts yet in Cubit.</li>"; // } // while($acc = pg_fetch_array($accRslt)){ // # Check Disable // if(isDisabled($acc['accid'])) // continue; // $sel = ""; // if($acc['accid'] == $accinv[$i]) $sel = "selected"; // $glacc .= "<option value='$acc[accid]' $sel>$acc[accname]</option>"; // } // $glacc .= "</select>"; db_conn('cubit'); $Sl = "SELECT * FROM vatcodes ORDER BY code"; $Ri = db_exec($Sl) or errDie("cant get vat data."); $vats = "<select name='vatcode[]'>"; while ($vd = pg_fetch_array($Ri)) { $vats .= "<option value='{$vd['id']}'>{$vd['code']}</option>"; } $vats .= "</select>"; $enter .= "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td align='center' nowrap='t'>" . mkDateSelectA("o", $i, $o_year[$i], $o_month[$i], $o_day[$i]) . "</td>\n\t\t\t\t<td align='center'><input type='text' name='to[]' value='{$to[$i]}'></td>\n\t\t\t\t<td align='center'>\n\t\t\t\t\t<select name='trantype[]'>\n\t\t\t\t\t\t<option value='Withdrawal' {$ch2}>Payment</option>\n\t\t\t\t\t\t<option value='Deposit' {$ch1}>Receipt</option>\n\t\t\t\t\t</select>\n\t\t\t\t</td>\n\t\t\t\t<td align='center'><input type='text' name='descript[]' value='{$descript[$i]}'></td>\n\t\t\t\t<td align='center'><input type='text' name='ref[]' value='{$ref[$i]}' size=7></td>\n\t\t\t\t<td align='center'><input type='text' name='cheqnum[]' value='{$cheqnum[$i]}' size='7'></td>\n\t\t\t\t<td align='center'>\n\t\t\t\t\t<table>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>" . CUR . "</td>\n\t\t\t\t\t\t\t<td><input type='text' name='amount[]' value='{$amount[$i]}' size='8'></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 align='center'>{$vatsel}</td>\n\t\t\t\t<td align='center'>{$vats}</td>\n\t\t\t\t<td align='center'>{$glacc}</td>\n\t\t\t</tr>"; } $total_amount = 0; $payment_list = array_keys($trantype, "Deposit"); foreach ($payment_list as $each => $own) { $total_amount += $amount[$own]; } $receipt_list = array_keys($trantype, "Withdrawal"); foreach ($receipt_list as $each => $own) { $total_amount -= $amount[$own]; } $enter .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td colspan='6' align='right'><b>Total:</b></td>\n\t\t\t<td align='right'>" . CUR . " " . sprint($total_amount) . "</td>\n\t\t\t<td colspan='3'></td>\n\t\t</tr>"; $enter .= "\n\t\t\t\t<tr>\n\t\t\t\t\t<td><input type='submit' name='back' value='« Correction'></td>\n\t\t\t\t\t<td><input type='submit' name='another' value='Add Another'></td>\n\t\t\t\t\t<td colspan='4' align='right'><input type='submit' value='Confirm »'></td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t\t</form>\n\t\t<p>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Quick Links</th>\n\t\t\t</tr>\n\t\t\t<script>document.write(getQuicklinkSpecial());</script>\n\t\t</table>\n\t\t<a name='bottom'>\n\t\t{$jump_bot}"; return $enter; }
function error($_POST, $error) { # Get vars extract($_POST); # validate input require_lib("validate"); $v = new validate(); $v->isOk($ledgid, "num", 1, 20, "Invalid Input Ledger Number."); # display errors, if any if ($v->isError()) { $confirm = ""; $errors = $v->getErrors(); foreach ($errors as $e) { $confirm .= "<li class='err'>" . $e["msg"] . "</li>"; } $confirm .= "<p><input type='button' onClick='JavaScript:history.back();' value='« Correct submission'>"; return $confirm; } # Get ledger settings core_connect(); $sql = "SELECT * FROM in_ledgers WHERE ledgid='{$ledgid}' AND div = '" . USER_DIV . "'"; $ledRslt = db_exec($sql); if (pg_numrows($ledRslt) < 1) { return "<li>Invalid Input Ledger Number.</li>"; } $led = pg_fetch_array($ledRslt); # account numbers $dtaccRs = get("core", "*", "accounts", "accid", $led['dtaccid']); $dtacc = pg_fetch_array($dtaccRs); $ctaccRs = get("core", "*", "accounts", "accid", $led['ctaccid']); $ctacc = pg_fetch_array($ctaccRs); $sysrefnum = getrefnum(); /*refnum*/ /* Options generated vars */ for ($i = 0; $i < $led['numtran']; $i++) { # check date option if ($led['dateopt'] == 'system') { # hidden sys gen date $date = date("d-m-Y"); $dateopt[$i] = "\r\n\t\t\t\t<input type='hidden' name='date_day[]' value='" . date("d") . "'>\r\n\t\t\t\t<input type='hidden' name='date_month[]' value='" . date("m") . "'>\r\n\t\t\t\t<input type='hidden' name='date_year[]' value='" . date("Y") . "'>\r\n\t\t\t\t{$date}"; } else { # input for date $dateopt[$i] = mkDateSelectA("date", $i, $date_year[$i], $date_month[$i], $date_day[$i]); } # check refnum option switch ($led['refopt']) { case "num": $refopt[$i] = "<input type='hidden' size='5' name='refnum[]' value='{$sysrefnum}'>{$sysrefnum}"; break; case "emp": $refopt[$i] = "<input type='text' size='5' name='refnum[]' value='{$refnum[$i]}'>"; break; case "once": $refopt[$i] = "<input type='hidden' size='5' name='refnum[]' value='{$refnum[$i]}'>{$refnum[$i]}"; break; case "edit": $refopt[$i] = "<input type='text' size='5' name='refnum[]' value='{$refnum[$i]}'>"; break; default: $refopt[$i] = "<input type='hidden' size='5' name='refnum[]' value='{$sysrefnum}'>{$sysrefnum}"; } # check descript option switch ($led['desopt']) { case "emp": $desopt[$i] = "<input type='text' size='30' name='descript[]' value='{$descript[$i]}'>"; break; case "once": $desopt[$i] = "<input type='hidden' size='30' name='descript[]' value='{$descript[$i]}'>{$descript[$i]}"; break; case "edit": $desopt[$i] = "<input type='text' size='30' name='descript[]' value='{$descript[$i]}'>"; break; default: $desopt[$i] = "<input type='text' size='30' name='descript[]' value='{$descript[$i]}'>"; } } # vat account option if ($led['chrgvat'] == 'yes') { # get vat account $vataccRs = get("core", "*", "accounts", "accid", $led['vataccid']); $vatacc = pg_fetch_array($vataccRs); $vatopt = "\r\n\t\t\t<th> Vat Account: </th>\r\n\t\t\t<td>{$vatacc['topacc']}/{$vatacc['accnum']} - {$vatacc['accname']}</td>"; } else { $vatopt = ""; } /* End Options generated vars */ // Details $details = "\r\n\t\t<h3>Enter Details</h3>\r\n\t\t<table " . TMPL_tblDflts . ">\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<th>High Speed Input Ledger : </th>\r\n\t\t\t\t<td align='center'> {$led['lname']} </td>\r\n\t\t\t\t{$vatopt}\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t<p>\r\n\t\t<form action='" . SELF . "' method='POST' name='form'>\r\n\t\t\t<input type='hidden' name='key' value='confirm'>\r\n\t\t\t<input type='hidden' name='ledgid' value='{$ledgid}'>\r\n\t\t\t<input type='hidden' name='ctaccid' value='{$led['ctaccid']}'>\r\n\t\t\t<input type='hidden' name='dtaccid' value='{$led['dtaccid']}'>\r\n\t\t<table " . TMPL_tblDflts . " width='70%'>\r\n\t\t\t<tr>\r\n\t\t\t\t<td width='50%'><h3>Debit</h3></td>\r\n\t\t\t\t<td width='50%'><h3>Credit</h3></td>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td>{$dtacc['topacc']}/{$dtacc['accnum']} - {$dtacc['accname']}</td>\r\n\t\t\t\t<td>{$ctacc['topacc']}/{$ctacc['accnum']} - {$ctacc['accname']}</td>\r\n\t\t\t</tr>\r\n\t\t</table>\r\n\t\t<p>\r\n\t\t<table " . TMPL_tblDflts . " width='70%'>\r\n\t\t\t<tr>\r\n\t\t\t\t<td colspan='10'>{$error}</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<th>Date</th>\r\n\t\t\t\t<th>Ref No.</th>\r\n\t\t\t\t<th>Transaction Details</th>\r\n\t\t\t\t<th>Amount</th>\r\n\t\t\t</tr>"; for ($i = 0; $i < $led['numtran']; $i++) { $details .= "\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td align='center'>{$dateopt[$i]}</td>\r\n\t\t\t\t<td align='center'>{$refopt[$i]}</td>\r\n\t\t\t\t<td>{$desopt[$i]}</td>\r\n\t\t\t\t<td align='center'>" . CUR . " <input type='text' size='12' name='amount[]' value='{$amount[$i]}'></td>\r\n\t\t\t</tr>"; } $details .= "\r\n\t\t\t<tr><td><br></td></tr>\r\n\t\t\t<tr>\r\n\t\t\t\t<td><input type='button' value='Back' OnClick='javascript:history.back()'></td>\r\n\t\t\t\t<td align='center' colspan='3'><input type='submit' value='Continue »'></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' width=15%>\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 align='center'><a href='ledger-view.php'>View High Speed Input Ledgers</td>\r\n\t\t\t</tr>\r\n\t\t\t<tr class='" . bg_class() . "'>\r\n\t\t\t\t<td align='center'><a href='../main.php'>Main Menu</td>\r\n\t\t\t</tr>\r\n\t\t</table>"; return $details; }
function details($_GET) { # get vars extract($_GET); # validate input require_lib("validate"); $v = new validate(); foreach ($invids as $key => $invid) { $v->isOk($invid, "num", 1, 20, "Invalid recuring 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; } $invs = ""; $i = 0; $dids = array(); foreach ($invids as $key => $invid) { # Get recuring invoice info db_connect(); $sql = "SELECT * FROM rnons_invoices WHERE invid = '{$invid}' AND div = '" . USER_DIV . "'"; $invRslt = db_exec($sql) or errDie("Unable to get recuring invoice information"); if (pg_numrows($invRslt) < 1) { return "<i class='err'>Not Found</i>"; } $inv = pg_fetch_array($invRslt); $dids[] = $i; $inv['total'] = sprint($inv['total']); $inv['balance'] = sprint($inv['balance']); # Format date //list($oyear, $omon, $oday) = explode("-", date("Y-m-d")); $invs .= "\n\t\t\t<input type='hidden' name='invids[{$i}]' value='{$inv['invid']}' />\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td>RI {$inv['invid']}</td>\n\t\t\t\t<td valign='center' nowrap='t'>\n\t\t\t\t\t" . mkDateSelectA("o", $i) . "\n\t\t\t\t</td>\n\t\t\t\t<td>{$inv['cusname']}</td>\n\t\t\t\t<td align='right'>" . CUR . " {$inv['total']}</td>\n\t\t\t</tr>"; $i++; } $printInv = "\n\t\t<h3>Confirm Non-stock Invoice Process</h3>\n\t\t<script>\n\t\t\tfunction updateAllDates(obj) {\n\t\t\t\talert(obj.value);\n\t\t\t}\n\t\t</script>\n\t\t<form action='nons-rec-invoice-proc.php' method='POST'>\n\t\t\t<input type='hidden' name='key' value='process' />\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\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\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td> </td>\n\t\t\t\t<td>" . mkDateSelectB("o", implode(",", $dids), "Select Date for All Invoices") . "</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<th>Invoice No.</th>\n\t\t\t\t<th>Invoice Date</th>\n\t\t\t\t<th>Customer Name</th>\n\t\t\t\t<th>Grand Total</th>\n\t\t\t</tr>\n\t\t\t{$invs}\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td colspan='6' align='right'>Totals Invoices : {$i}</td>\n\t\t\t</tr>\n\t\t\t" . TBL_BR . "\n\t\t\t<tr>\n\t\t\t\t<td colspan='6' align='right'><input type='submit' value='Process >' /></td>\n\t\t\t</tr>\n\t\t\t</form></table>" . mkQuickLinks(ql("rec-nons-invoice-new.php", "New Recurring Non Stock Invoice"), ql("rec-nons-invoice-view.php", "View Recurring Non Stock Invoices")); return $printInv; }
function add($_POST, $err = "") { # Get vars extract($_POST); if (!isset($rnum)) { $rnum = 1; } if ($rnum < 1) { return "<li class='err'> - Invalid number of requisitions</li>"; } core_connect(); # Check available funds $cashacc = gethook("accnum", "bankacc", "name", "Petty Cash"); $sql = "SELECT (debit - credit) as bal FROM trial_bal WHERE accid = '{$cashacc}' AND month='" . (int) date("m") . "' AND div = '" . USER_DIV . "'"; $accbRslt = db_exec($sql); if (pg_numrows($accbRslt) < 1) { return "<li class='err'> Petty Cash Account not found.</li>"; } $accb = pg_fetch_array($accbRslt); $accb['bal'] = sprint($accb['bal']); # mourn if the is no money if ($accb['bal'] < 1) { return "<li> There are no Petty Cash funds available.</li>"; } $jump_bot = ""; if (isset($another)) { $jump_bot = "\n\t\t\t<script>\n\t\t\t\twindow.location.hash='bottom';\n\t\t\t</script>"; $rnum++; } $reqs = ""; for ($i = 0; $i < $rnum; $i++) { core_connect(); $check1 = ""; $check2 = ""; $check3 = ""; if (isset($chrgvat[$i]) and $chrgvat[$i] == "nov") { $check3 = "checked='yes'"; } elseif (isset($chrgvat[$i]) and $chrgvat[$i] == "exc") { $check2 = "checked='yes'"; } else { $check1 = "checked='yes'"; } if (!isset($o_day[$i])) { $trans_date_setting = getCSetting("USE_TRANSACTION_DATE"); if (isset($trans_date_setting) and $trans_date_setting == "yes") { $trans_date_value = getCSetting("TRANSACTION_DATE"); $date_arr = explode("-", $trans_date_value); $o_year[$i] = $date_arr[0]; $o_month[$i] = $date_arr[1]; $o_day[$i] = $date_arr[2]; } else { $o_year[$i] = date("Y"); $o_month[$i] = date("m"); $o_day[$i] = date("d"); } } $reqs .= "\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td nowrap>" . mkDateSelectA("o", $i, $o_year[$i], $o_month[$i], $o_day[$i]) . "</td>\n\t\t\t\t<td><input type='text' size='20' name='name[]' value='{$name[$i]}'></td>\n\t\t\t\t<td nowrap valign='center'>" . CUR . " <input type='text' size='6' name='amount[]' value='{$amount[$i]}'></td>\n\t\t\t\t<td><input type='text' size='26' name='details[]' value='{$details[$i]}'></td>\n\t\t\t\t<td valign='center'>\n\t\t\t\t\t<input type='radio' size='7' name='chrgvat[{$i}]' value='inc' {$check1}> Yes<br>\n\t\t\t\t\t<input type='radio' size='7' name='chrgvat[{$i}]' value='exc' {$check2}> No<br>\n\t\t\t\t\t<input type='radio' size='7' name='chrgvat[{$i}]' value='nov' {$check3}> No VAT\n\t\t\t\t</td>\n\t\t\t\t<td>" . mkAccSelect("accid[{$i}]", $accid[$i]) . "</td>\n\t\t\t</tr>"; } $reqs .= "\n\t\t<tr class='" . bg_class() . "'>\n\t\t\t<td colspan='2' align='right'><b>Total:</b></td>\n\t\t\t<td>" . CUR . " " . sprint(array_sum($amount)) . "</td>\n\t\t\t<td colspan='3'></td>\n\t\t</tr>"; // Layout $add = "\n\t\t<h3>Add Petty Cash Requisistions</h3>\n\t\t<form action='" . SELF . "' method='POST' name='form'>\n\t\t<table " . TMPL_tblDflts . " width='300'>\n\t\t\t<input type='hidden' name='key' value='confirm'>\n\t\t\t<input type='hidden' size='3' name='rnum' value='{$rnum}'>\n\t\t\t<tr>\n\t\t\t\t<td colspan='2'>{$err}</td>\n\t\t\t</tr>\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>Available Funds</td>\n\t\t\t\t<td><input type='hidden' name='bal' value='{$accb['bal']}'>" . CUR . " {$accb['bal']}</td>\n\t\t\t</tr>\n\t\t</table>\n\t\t<p>\n\t\t<table " . TMPL_tblDflts . ">\n\t\t\t<tr>\n\t\t\t\t<th>Date</th>\n\t\t\t\t<th>Paid to</th>\n\t\t\t\t<th>Amount</th>\n\t\t\t\t<th>Details</th>\n\t\t\t\t<th>VAT Inclusive</th>\n\t\t\t\t<th>Account Paid to <input align='right' type='button' onClick=\"window.open('../core/acc-new2.php?update_parent=yes','accounts','width=700, height=400');\" value='New Account'></th>\n\t\t\t</tr>\n\t\t\t{$reqs}\n\t\t\t<tr><td><br></td></tr>\n\t\t\t<tr>\n\t\t\t\t<td><input type='submit' name='another' value='Add Another'></td>\n\t\t\t\t<td valign='center'><input type='submit' value='Confirm >'></td>\n\t\t\t</tr>\n\t\t</table>\n\t\t<a name='bottom'>\n\t\t{$jump_bot}\n\t\t<p>\n\t\t<table " . TMPL_tblDflts . " width='15%'>\n\t\t\t<tr>\n\t\t\t\t<th>Quick Links</th>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='pettycashbook-view.php'>View Petty Cash Requisitions</a></td>\n\t\t\t</tr>\n\t\t\t<tr class='" . bg_class() . "'>\n\t\t\t\t<td><a href='../main.php'>Main Menu</a></td>\n\t\t\t</tr>\n\t\t</table>"; return $add; }