]> dev.renevier.net Git - syp.git/blobdiff - inc/db/anydb.php
multi user administration
[syp.git] / inc / db / anydb.php
index c88367a46277fb081309b020288e58eed88a6647..8ccdf127a7194631a5cf3f5e207619d47818ea3b 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,10 +88,10 @@ 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($error_if_exists);
+    public function create_items_table();
 
     /*
      * set password $pwd for user $usrname. If $usrname does not exist, create
@@ -114,22 +122,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