objectid . "'>"; echo $obj->objectname; echo ""; } } class param_page extends page { function Body() { if (!empty($_GET['oid'])) { $ObjId = $_GET['oid']; $res = pg_exec($this->database, "SELECT objectname FROM object WHERE objectid=CAST('" . $ObjId ."' AS BIGINT)"); $obj = pg_fetch_object($res, 0); echo "
"; if( isset($_POST['action']) ) { echo "Action = " . $_POST['action'] . "
"; } // See if we have an update for the database if (isset($_POST['action']) && $_POST['action'] == 'Create Parameter') { $name = $_POST['paramname']; $class = $_POST['paramclass']; $description = $_POST['paramdescr']; echo "

Creating parameter $name of class $class.

"; echo "
"; echo ""; echo ""; echo "Description : "; echo "
"; echo ""; echo ""; $class_res = pg_exec($this->database, "SELECT * FROM parameter_class WHERE name='$class'"); for ($row = 0; $row < pg_numrows($class_res); $row++) { $prop = pg_fetch_object($class_res, $row); echo ""; echo ""; echo ""; echo ""; } echo "
PropertyDescriptionValue
", $prop->property_name, "", $prop->description, "
"; echo ""; echo "
"; } if (isset($_POST['action']) && $_POST['action'] == 'Save New Parameter') { $name = $_POST['paramname']; $class = $_POST['paramclass']; $description = $_POST['paramdescr']; echo "

Saving new parameter $name of class $class.

"; echo "Description : $description"; echo "
"; $insertion = "insert into parameter (objectid, name, class, description) values "; $insertion .= "('$ObjId', '$name', '$class', '$description')"; pg_exec($this->database, $insertion); $par = pg_fetch_object(pg_exec($this->database, "select currval('paramid_seq')"), 0); echo ""; echo ""; $class_res = pg_exec($this->database, "SELECT * FROM parameter_class WHERE name='$class'"); for ($row = 0; $row < pg_numrows($class_res); $row++) { $prop = pg_fetch_object($class_res, $row); $insertion = "insert into property (paramid, name, value, type, min, max) values ('"; $insertion .= $par->currval . "', '" . $prop->property_name . "', '"; $insertion .= $_POST[$prop->property_name] . "', '" . $prop->property_type . "', '"; $insertion .= $prop->min . "', '" . $prop->max . "')"; pg_exec($this->database, $insertion); $insertion = "insert into history (paramid, modified, change_nature, changed_property, new_value)"; $insertion .= " values ('" . $par->currval . "', '"; $insertion .= date('Y-m-d H:i:s') . "', 'CREATED', '"; $insertion .= $prop->property_name . "', '" . $_POST[$prop->property_name] . "')"; pg_exec($this->database, $insertion); echo ""; echo ""; echo ""; echo ""; } echo "
PropertyDescriptionValue
", $prop->property_name, "", $prop->description, "" . $_POST[$prop->property_name] . "
"; } ?>
Compare to object: Show removed parameters
"; echo ""; $row = 0; $start_time = getmicrotime(); $res = pg_exec($this->database, "SELECT paramid, class, name, description FROM parameter " ."WHERE objectid= CAST('" . $ObjId . "' AS BIGINT) order by class, name"); while ($row < pg_numrows($res)) { $par = pg_fetch_object($res, $row); $qry ="select change_nature from history where paramid= CAST('"; $qry .= $par->paramid . "' AS BIGINT) order by modified desc"; $rhist = pg_exec($this->database, $qry); $hist = pg_fetch_object($rhist, 0); if ($hist->change_nature != "REMOVED") { ?> "; $duration = getmicrotime() - $start_time; echo "$row parameters in " . round($duration, 3) . " seconds ("; echo round($duration / $row * 1000, 3) . " milliseconds per parameter).
"; ?>

Create new parameter:

Class : Name : Description :
database, "SELECT * FROM parameter WHERE paramid='$paramid'"), 0); if (isset($_POST['action']) && $_POST['action'] == 'Update Parameter') { // Update each property if its value has changed $class_res = pg_exec($this->database, "SELECT * FROM parameter_class WHERE name='" . $par->class . "'"); for ($row = 0; $row < pg_numrows($class_res); $row++) { $prop = pg_fetch_object($class_res, $row); $pname = $prop->property_name; $property = pg_fetch_object(pg_exec($this->database, "SELECT value, type, min, max FROM property WHERE paramid='$paramid' AND name='$pname'"), 0); $pvalue = $property->value; if ($pvalue != $_POST[$pname]) { $pvalue = $_POST[$pname]; pg_exec($this->database, "UPDATE property SET value='$pvalue' WHERE paramid='$paramid' AND name='$pname'"); $insertion = "insert into history (paramid, modified, change_nature, changed_property, new_value)"; $insertion .= " values ('" . $paramid . "', '"; $insertion .= date('Y-m-d H:i:s') . "', 'MODIFIED', '"; $insertion .= $pname . "', '" . $pvalue . "')"; pg_exec($this->database, $insertion); } if ($property->type == 'DYNAMIC') { // Update the range if necessary. if ($_POST[$pname . "_min"] != $property->min) { pg_exec($this->database, "UPDATE property SET min='" . $_POST[$pname . "_min"] . "' WHERE paramid='$paramid' AND name='$pname'"); } if ($_POST[$pname . "_max"] != $property->max) { pg_exec($this->database, "UPDATE property SET max='" . $_POST[$pname . "_max"] . "' WHERE paramid='$paramid' AND name='$pname'"); } } } } echo "

Parameter " . $par->name . " of class " . $par->class . "

\n"; echo "\n"; echo "Description : \n"; echo "
"; echo "
class?> paramid . "\">" . $par->name . ""?> description?> database, "SELECT name, value FROM property WHERE paramid=CAST('" . $par->paramid . "' AS BIGINT)"); for ($p = 0; $p < pg_numrows($r); $p++) { $prop = pg_fetch_object($r, $p); echo $prop->name . "=" . $prop->value . " "; } ?>
\n"; echo "\n"; $class_res = pg_exec($this->database, "SELECT * FROM parameter_class WHERE name='" . $par->class . "'"); for ($row = 0; $row < pg_numrows($class_res); $row++) { $prop = pg_fetch_object($class_res, $row); $pname = $prop->property_name; $property = pg_fetch_object(pg_exec($this->database, "SELECT value, type, min, max FROM property WHERE paramid='$paramid' AND name='$pname'"), 0); $pvalue = $property->value; $ptype = $property->type; $pmin = $property->min; $pmax = $property->max; echo ""; echo ""; echo ""; if ($ptype == 'DYNAMIC') { echo ""; echo ""; } else { echo ""; } echo "\n"; } echo "
PropertyDescriptionValueMinimumMaximum
", $pname, "", $prop->description, "  
\n"; echo "\n"; echo "\n"; echo "

Change history for " . $par->class . " parameter " . $par->name . "

"; $histres = pg_exec($this->database, "SELECT * FROM history WHERE paramid='$paramid' ORDER BY modified"); echo ""; for ($row = 0; $row < pg_numrows($histres); $row++) { $hist = pg_fetch_object($histres, $row); echo ""; echo ""; echo ""; echo ""; echo ""; echo "\n"; } echo "
" . $hist->changed_property . "" . $hist->modified . "" . $hist->change_nature . "" . $hist->new_value . "
"; } } } $page = new param_page("Gnucomo Parameters"); $page->Showpage(); ?>