static function updateMeasurement($measurementid, $measurement) { if (!is_subclass_of($measurement, "Measurement")) { return "Error, received object other than Measurement subclass"; } $dbMeasurement = apiDB::getMeasurement($measurementid, get_class($measurement)); if (empty($dbMeasurement->id)) { return "Error, Invalid Measurement ID for Update"; } $conxn = apiDB::getConnection(); $updatestring = " set "; $updatestring .= $measurement->columnName() . " = " . (empty($measurement->reading) ? $measurement->columnName() : $measurement->reading); $updatestring .= ", "; $updatestring .= "fromdate = " . (empty($measurement->fromdate) ? "fromdate" : "'" . $measurement->fromdate . "'"); $updatestring .= ", "; $updatestring .= "todate = " . (empty($measurement->todate) ? "todate" : "'" . $measurement->todate . "'"); $updatestring .= ", "; $updatestring .= "locationid = " . (empty($measurement->locationid) ? "locationid" : $measurement->locationid); $updatestring .= ", "; $updatestring .= "note = " . (empty($measurement->note) ? "note" : "'" . $measurement->note . "'"); $sql = "UPDATE " . $measurement->tableName() . " " . $updatestring . " WHERE id = " . $measurementid; $result = pg_query($conxn, $sql); if ($result) { $rows = pg_affected_rows($result); return $rows . " " . $measurement->columnName() . " measurement(s) updated"; } else { return "Error with " . $measurement->columnName() . " measurement update query : " . pg_last_error($conxn); } }
public function getInstanceDetails($id) { $measurement = apiDB::getMeasurement($id, get_class($this)); if (empty($measurement->id)) { return self::NO_SUCH_ID; } $user = apiDB::getUserByLocationId($measurement->locationid); if ($_SERVER['PHP_AUTH_USER'] != $user->email && $this->access <= 1) { return self::ACCESS_DENIED; } $this->id = $measurement->id; $this->userid = $measurement->userid; $this->locationid = $measurement->locationid; $this->reading = $measurement->reading; $this->fromdate = $measurement->fromdate; $this->todate = $measurement->todate; $this->note = $measurement->note; // Preserving $this->access however, to retain admin rights. return self::SETUP_OK; }