+
+ /***
+ * get random photo
+ *
+ * this function will get all photos from the fspot
+ * database and randomly return ONE entry
+ *
+ * saddly there is yet no sqlite3 function which returns
+ * the bulk result in array, so we have to fill up our
+ * own here.
+ */
+ public function get_random_photo()
+ {
+ $all = Array();
+
+ $result = $this->db->db_query("
+ SELECT id
+ FROM photos
+ ");
+
+ while($row = $this->db->db_fetch_object($result)) {
+ array_push($all, $row['id']);
+ }
+
+ return $all[array_rand($all)];
+
+ } // get_random_photo()
+
+ /**
+ * validates provided date
+ *
+ * this function validates if the provided date
+ * contains a valid date and will return true
+ * if it is.
+ */
+ public function isValidDate($date_str)
+ {
+ $timestamp = strtotime($date_str);
+
+ if(is_numeric($timestamp))
+ return true;
+
+ return false;
+
+ } // isValidDate()
+
+ /**
+ * timestamp to string conversion
+ */
+ private function ts2str($timestamp)
+ {
+ return strftime("%Y-%m-%d", $timestamp);
+ } // ts2str()
+
+ private function extractTags($tags_str)
+ {
+ $not_validated = split(',', $_GET['tags']);
+ $validated = array();
+
+ foreach($not_validated as $tag) {
+ if(is_numeric($tag))
+ array_push($validated, $tag);
+ }
+
+ return $validated;
+
+ } // extractTags()
+
+ /**
+ * returns the full path to a thumbnail
+ */
+ public function get_thumb_path($width, $photo)
+ {
+ $sub_path = substr($this->getMD5($photo), 0, 2);
+ return $this->cfg->base_path
+ . "/thumbs/"
+ . $sub_path
+ . "/"
+ . $width
+ . "_"
+ . $this->getMD5($photo);
+
+ } // get_thumb_path()
+
+ /**
+ * returns server's virtual host name
+ */
+ private function get_server_name()
+ {
+ return $_SERVER['SERVER_NAME'];
+ } // get_server_name()
+
+ /**
+ * returns type of webprotocol which is
+ * currently used
+ */
+ private function get_web_protocol()
+ {
+ if(!isset($_SERVER['HTTPS']))
+ return "http";
+ else
+ return "https";
+ } // get_web_protocol()
+
+ /**
+ * return url to this phpfspot installation
+ */
+ private function get_phpfspot_url()
+ {
+ return $this->get_web_protocol() ."://". $this->get_server_name() . $this->cfg->web_path;
+ } // get_phpfspot_url()
+