+ if(!file_exists($fullpath)) {
+ $this->parent->showTextImage("File ". basename($fullpath) ." does not exist");
+ return;
+ }
+ if(!is_readable($fullpath)) {
+ $this->parent->showTextImage("File ". basename($fullpath) ." is not readable. Check the permissions");
+ return;
+ }
+ $mime = $this->parent->get_mime_info($fullpath);
+
+ if(!$this->parent->checkifImageSupported($mime)) {
+ $this->parent->showTextImage("Unsupported Image Type");
+ return;
+ }
+
+ Header("Content-Type: ". $mime);
+ Header("Content-Length: ". filesize($fullpath));
+ Header("Content-Transfer-Encoding: binary\n");
+ Header("Content-Disposition: inline; filename=\"". $this->parent->parse_uri($details['uri'], 'filename') ."\"");
+ Header("Content-Description: ". $this->parent->parse_uri($details['uri'], 'filename'));
+ Header("Accept-Ranges: bytes");
+ Header("Connection: close");
+ Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+ Header("Cache-Control: no-cache");
+ Header("Pragma: no-cache");
+
+ $file = fopen($fullpath, "rb");
+ fpassthru($file);
+ @fclose($file);
+
+ } // showImg()
+
+ /**
+ * sends a random photo of the requested tag to the browser
+ *
+ * this function will send a random photo to the client.
+ * It is selected out by the provided $tagidx. It also try's
+ * to create on-the-fly missing thumbnails via PHPFSPOT
+ * gen_thumbs function.
+ * @param integer $idx
+ */
+ public function showTagImg($tagidx)
+ {
+ $idx = $this->parent->get_random_tag_photo($tagidx);
+ $width = 30;
+
+ $details = $this->parent->get_photo_details($idx);
+
+ if(!$details) {
+ $this->parent->showTextImage("The image (". $idx .") you requested is unknown");
+ return;
+ }
+
+ /* if no entry for this photo is yet in the database, create thumb */
+ if(!$this->parent->getMD5($idx)) {
+ $this->parent->gen_thumb($idx);
+ }
+
+ $version = $this->parent->get_latest_version($idx);
+
+ $fullpath = $this->parent->get_thumb_path($width, $idx, $version);
+ /* if the thumb file does not exist, create it */
+ if(!file_exists($fullpath)) {
+ $this->parent->gen_thumb($idx);
+ }
+