]> dev.renevier.net Git - syp.git/blobdiff - inc/db/anydb.php
interface to change password
[syp.git] / inc / db / anydb.php
index c88367a46277fb081309b020288e58eed88a6647..1094365eb42a6201d99bdd0e851427d096e60977 100644 (file)
@@ -9,10 +9,12 @@ class feature {
     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
@@ -26,6 +28,12 @@ class feature {
         // description
         $this->description = $description;
 
+        // date
+        $this->date = $date;
+
+        // user
+        $this->user = $user;
+
         // longitude
         if (!isset ($lon) || !is_numeric ($lon) ||
              ($lon < -180) || ($lon > 180)) {
@@ -69,10 +77,10 @@ interface anydbConnection {
     public function users_table_exists();
 
     /*
-     * create users table; if $error_if_exists is true; throws an err_query
-     * error in case users table already exists.
+     * create users table; 
+     * throws an err_query error in case users table already exists.
      */
-    public function create_users_table($error_if_exists);
+    public function create_users_table();
 
     /*
      * return true if items table already exists
@@ -80,14 +88,19 @@ interface anydbConnection {
     public function items_table_exists();
 
     /*
-     * create items table; if $error_if_exists is true; throws an err_query
-     * error in case items table already exists.
+     * create items table;
+     * throws an err_query error in case items table already exists.
+     */
+    public function create_items_table();
+
+    /*
+     * returns true if $usrname is name of an existing user, false otherwise.
      */
-    public function create_items_table($error_if_exists);
+    public function user_exists ($usrname);
 
     /*
      * set password $pwd for user $usrname. If $usrname does not exist, create
-     * it.
+     * it
      */
     public function setpwd($usrname, $pwd);
 
@@ -114,22 +127,21 @@ 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 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