X-Git-Url: https://dev.renevier.net/gitweb.cgi?p=syp.git;a=blobdiff_plain;f=inc%2Fdb%2Fanydb.php;h=ca61b0f3135877af1c96737f6d9b2f2be8259e94;hp=bb80032a274eb3e4b898728f24f80c2e3c29b394;hb=97bf88c9a2a26dc8b94c19f73c8708e1bae28337;hpb=e4a4e5149d55cf01a86f26392c52fdca803654ce diff --git a/inc/db/anydb.php b/inc/db/anydb.php index bb80032..ca61b0f 100644 --- a/inc/db/anydb.php +++ b/inc/db/anydb.php @@ -10,10 +10,11 @@ class feature { 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, $date) { + function __construct ($id, $lon, $lat, $imgpath, $title, $description, $date, $user) { $this->imgpath = $imgpath; // id @@ -30,17 +31,20 @@ class feature { // date $this->date = $date; + // user + $this->user = $user; + // longitude if (!isset ($lon) || !is_numeric ($lon) || ($lon < -180) || ($lon > 180)) { - throw new Exception ($this->err_lonlat_invalid); + throw new Exception (self::err_lonlat_invalid); } $this->lon = $lon; // latitude if (!isset ($lat) || !is_numeric ($lat) || ($lat < -90) || ($lat > 90)) { - throw new Exception ($this->err_lonlat_invalid); + throw new Exception (self::err_lonlat_invalid); } $this->lat = $lat; } @@ -89,9 +93,15 @@ interface anydbConnection { */ 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); @@ -118,9 +128,10 @@ interface anydbConnection { 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 the most recent features sorted by date. If $num_features is not @@ -133,14 +144,6 @@ interface anydbConnection { */ public function imgpath_exists($imgpath); - /* - * 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] - */ - public function mbr(); - /* * get name of database backend */