$sth = pg_exec ($dbh, $query) or die_query("Cannot update the database!", $query);
} elseif ($_POST[formtype] == "component") {
pg_exec($dbh, "BEGIN TRANSACTION") or die ("Could not start transaction.");
- if ($_POST[endtime] == '') {
+ if ($_POST['status'] != 'defunct') {
$endtime = 'NULL';
+ } elseif ($_POST[endtime] == '') {
+ $endtime = 'now()';
} else {
$endtime = "'".addslashes($_POST[endtime])."'";
}
$_POST[price] = "0.0";
}
if ($_POST[id]) {
+ $id = $_POST[id];
$query = sprintf ("UPDATE component SET name='%s',serno='%s',starttime='%s',endtime=%s,"
."owner=%d,hwtype=%d,price=%s,status='%s',comment='%s' "
."WHERE id = %d",
addslashes ($_POST[price]),
addslashes ($_POST[status]),
addslashes ($_POST[comment]),
- $_POST[id]);
+ $id);
$sth = pg_exec ($dbh, $query) or die_query("Cannot update the database!", $query);
} else {
if (!isset($_POST[starttime]) || !strlen($_POST[starttime])) {
if (pg_NumRows ($sth) > 0) {
$row = pg_fetch_array ($sth, 0);
if ($row['compound'] != $_POST[compound]
- || (strlen ($row['usage']) != 0 && $row['usage'] != $usage)) {
- $query = sprintf ("UPDATE screw SET endtime = now() WHERE oid = %d", $row['oid']);
+ || (strlen ($row['usage']) != 0 && $row['usage'] != $_POST[usage])) {
+
+ if ($_POST[endtime] == '') {
+ $endtime = 'now()';
+ } else {
+ $endtime = "'".addslashes($_POST[endtime])."'";
+ }
+
+ $query = sprintf ("UPDATE screw SET endtime = %s WHERE oid = %d", $endtime, $row['oid']);
$sth = pg_exec ($dbh, $query) or die_query("Cannot update component history!", $query);
$query = sprintf ("INSERT INTO screw (component,compound,usage,starttime) "
- ."VALUES (%d,%d,'%s',now())",
+ ."VALUES (%d,%d,'%s',%s)",
$id,
$_POST[compound],
- addslashes ($_POST[usage]));
+ addslashes ($_POST[usage]),
+ $endtime);
$sth = pg_exec ($dbh, $query) or die_query("Cannot update component history!", $query);
} elseif (strlen ($row['usage']) == 0 && strlen ($_POST[usage]) != 0) {
$query = sprintf ("UPDATE screw SET usage = '%s' WHERE oid = %d",
addslashes ($_POST[starttime]));
$sth = pg_exec ($dbh, $query) or die_query("Cannot update component history!", $query);
}
- } else {
+ } else { # if ($_POST[compound] != 0)
if (pg_NumRows ($sth) > 0) {
+ $row = pg_fetch_array ($sth, 0);
$query = sprintf ("UPDATE screw SET endtime = now() WHERE oid = %d", $row['oid']);
$sth = pg_exec ($dbh, $query) or die_query("Cannot update component history!", $query);
}