function enter() { extract($_POST); $qry = new dbSelect("config", "trh", grp(m("where", "readonly='f'"))); $qry->run(); while ($row = $qry->fetch_array()) { if (!isset(${$row["name"]})) { ${$row["name"]} = array("desc" => $row["description"], "value" => $row["value"], "type" => $row["type"]); } } $display = array("General Settings" => array("INTERVAL", "MANAGEUSER"), "SMTP Settings" => array("SMTP_SERVER", "SMTP_USER", "SMTP_PASS", "SMTP_FROM"), "POP3 Settings" => array("POP3_SERVER", "POP3_USER", "POP3_PASS")); $cat = false; $OUT = "\n\t<h3>Transactioning Configuration</h3>\n\t<form method='post' action='" . SELF . "'>\n\t<input type='hidden' name='key' value='write' />\n\t<table " . TMPL_tblDflts . " width='400'>"; $pc = false; foreach ($display as $cat => $cnames) { if ($cat != $pc) { if ($pc != false) { $OUT .= TBL_BR; } $OUT .= "\n\t\t\t<tr>\n\t\t\t\t<th colspan='2'>{$cat}</th>\n\t\t\t</tr>"; } $i = 0; foreach ($cnames as $vname) { if (!isset($vname)) { $vname = ""; } $OUT .= "\n\t\t\t<input type='hidden' name='{$vname}[desc]' value='" . ${$vname}["desc"] . "' />\n\t\t\t<input type='hidden' name='{$vname}[type]' value='" . ${$vname}["type"] . "' />\n\t\t\t<tr bgcolor='" . bgcolor($i) . "'>\n\t\t\t\t<td>" . ${$vname}["desc"] . "</td>\n\t\t\t\t<td>"; switch (${$vname}["type"]) { case "yn": $OUT .= "\n\t\t\t\t\t<select name='{$vname}[value]'>\n\t\t\t\t\t\t<option value='y' " . (${$vname}["value"] != "n") . ">Yes</option>\n\t\t\t\t\t\t<option value='n' " . (${$vname}["value"] == "n") . ">Yes</option>\n\t\t\t\t\t</select>"; break; case "passwd": $OUT .= "\n\t\t\t\t\t<input type='password' name='{$vname}[value]' value='" . ${$vname}["value"] . "' />"; break; case "ulist": $uq = qryUsers(); $OUT .= db_mksel($uq, "{${'vname'}}[value]", ${'vname'}["value"], "#userid", "#username"); break; case "str": default: $OUT .= "\n\t\t\t\t\t<input type='text' name='{$vname}[value]' value='" . ${$vname}["value"] . "' />"; break; } $OUT .= "\n\t\t\t\t</td>\n\t\t\t</tr>"; } } $OUT .= "\n\t<tr>\n\t\t<td colspan='2' align='right'><input type='submit' value='Save' /></td>\n\t</tr>\n\t</table>\n\t</form>"; return $OUT; }
/** * handles a new purchase response * * @param string $key * @param clsMailMsg $oMSG * @param array $config * @return bool */ function response_order($key, $oMSG, $config) { if (($stds = msg_std($oMSG)) === false) { return false; } list($compname, $ipaddr, $bustel, $fromwho, $email) = $stds; /* other side key */ if (($yourkey = getfrommmsg(REGEX_YOURKEY, $oMSG)) === false) { return false; } /* purchase id in my database */ if (($purid = getfrommmsg(REGEX_PURID, $oMSG)) === false) { return false; } /* purchase accepted/invoices/denied */ if (($purstatus = getfrommmsg(REGEX_PURSTATUS, $oMSG)) === false) { return false; } /* validate keys */ if (($keyinfo = trhKeyPair($key, $yourkey)) === false) { return false; } $userinfo = qryUsers($keyinfo["userid"]); require_lib("validate"); $v = new validate(); if (!$v->isOk($purid, "num", 1, 20, "")) { return false; } $sql = "SELECT * FROM cubit.purchases WHERE purid = '{$purid}'"; if (!($purRslt = db_exec($sql))) { return false; } if (pg_num_rows($purRslt) < 1) { return false; } $pur = pg_fetch_array($purRslt); if ($purstatus == "d") { print "Denying purchase: {$purid}\n"; if ($pur['received'] == "y") { return false; } $sql = "SELECT * FROM cubit.pur_items WHERE purid = '{$purid}'"; if (!($stktRslt = db_exec($sql))) { return false; } while ($stkt = pg_fetch_array($stktRslt)) { print "\tRemoving Item: {$stkt['stkid']}\n"; $sql = "UPDATE cubit.stock SET ordered = (ordered - '{$stkt['qty']}') WHERE stkid = '{$stkt['stkid']}'"; if (!db_exec($sql)) { return false; } $sql = "INSERT INTO cubit.pur_canc_items (purid, whid, stkid, qty, ddate, div, qpack, upack, ppack, svat, rqty, tqty, unitcost, amt, iqty, vatcode, description, account)\n\t\t\t\t\tVALUES ('{$stkt['purid']}', '{$stkt['whid']}', '{$stkt['stkid']}', '{$stkt['qty']}', '{$stkt['ddate']}', '{$stkt['div']}', '{$stkt['qpack']}', '{$stkt['upack']}', '{$stkt['ppack']}', '{$stkt['svat']}', '{$stkt['rqty']}', '{$stkt['tqty']}', '{$stkt['unitcost']}', '{$stkt['amt']}', '{$stkt['iqty']}', '{$stkt['vatcode']}', '{$stkt['description']}', '{$stkt['account']}')"; if (!db_exec($sql)) { return false; } } $sql = "DELETE FROM cubit.purchases WHERE purid='{$purid}'"; if (!db_exec($sql)) { return false; } $sql = "INSERT INTO cubit.cancelled_purch(purid, deptid, supid, supaddr, terms, pdate, ddate, remarks, received, refno, vatinc, prd, ordernum, part, div, purnum, edit, supname, supno, shipchrg, subtot, total, balance, vat, supinv, apprv, appname, rvat, rshipchrg, rsubtot, rtotal, jobid, jobnum, toggle, cash, shipping, invcd, rshipping, noted, returned, iamount, ivat, delvat, username) VALUES('{$pur['purid']}', '{$pur['deptid']}', '{$pur['supid']}', '{$pur['supaddr']}', '{$pur['terms']}', '{$pur['pdate']}', '{$pur['ddate']}', '{$pur['remarks']}', '{$pur['received']}', '{$pur['refno']}', '{$pur['vatinc']}', '{$pur['prd']}', '{$pur['ordernum']}', '{$pur['part']}', '{$pur['div']}', '{$pur['purnum']}', '{$pur['edit']}', '{$pur['supname']}', '{$pur['supno']}', '{$pur['shipchrg']}', '{$pur['subtot']}', '{$pur['total']}', '{$pur['balance']}', '{$pur['vat']}', '{$pur['supinv']}', '{$pur['apprv']}', '{$pur['appname']}', '{$pur['rvat']}', '{$pur['rshipchrg']}', '{$pur['rsubtot']}', '{$pur['rtotal']}', '{$pur['jobid']}', '{$pur['jobnum']}', '{$pur['toggle']}', '{$pur['cash']}', '{$pur['shipping']}', '{$pur['invcd']}', '{$pur['rshipping']}', '{$pur['noted']}', '{$pur['returned']}', '{$pur['iamount']}', '{$pur['ivat']}', '{$pur['delvat']}', '{$userinfo['username']}')"; if (!db_exec($sql)) { return false; } $msg = "Purchase nr. {$pur['purnum']} denied."; print "Purchase denied\n"; } else { if ($purstatus == "a") { $msg = "Purchase nr. {$pur['purnum']} accepted. You should receive further information from supplier."; } else { if ($purstatus == "i") { $msg = "Purchase nr. {$pur['purnum']} accepted and invoiced. You should receive further information/an invoice from supplier."; } } } print "Sending msg: {$msg} to user: {$userinfo['username']}\n"; msgSend($userinfo["username"], $msg); }