private $imgpath = null;
private $title = null;
private $description = null;
+ private $date = 0;
+ private $user = null;
const err_lonlat_invalid = 1;
- function __construct ($id, $lon, $lat, $imgpath, $title, $description) {
+ function __construct ($id, $lon, $lat, $imgpath, $title, $description, $date, $user) {
$this->imgpath = $imgpath;
// id
// description
$this->description = $description;
+ // date
+ $this->date = $date;
+
+ // user
+ $this->user = $user;
+
// longitude
if (!isset ($lon) || !is_numeric ($lon) ||
($lon < -180) || ($lon > 180)) {
*/
public function create_items_table();
+ /*
+ * returns true if $usrname is name of an existing user, false otherwise.
+ */
+ public function user_exists ($usrname);
+
/*
* set password $pwd for user $usrname. If $usrname does not exist, create
* it.
+ * throws an err_query error in case $pwd is null
*/
public function setpwd($usrname, $pwd);
public function getfeature($id);
/*
- * returns an array of available features
+ * returns an array of features managed by $user. If $user is undefined or
+ * if user is "admin", return all available features.
*/
- public function listfeatures();
+ public function listfeatures($user);
/*
- * returns true if a feature with imgpath exists
+ * returns the most recent features sorted by date. If $num_features is not
+ * defined or is null, returns all features sorted by date.
*/
- public function imgpath_exists($imgpath);
+ public function mostrecentfeatures($num_features);
/*
- * returns Minimum Bounding Rectangle containing all feature locations.
- * That function must return a result even if database is not functional.
- * Minimum Bounding Rectangle is presented as an Array:
- * [bottom, left, top, right]
+ * returns true if a feature with imgpath exists
*/
- public function mbr();
+ public function imgpath_exists($imgpath);
/*
* get name of database backend