- $meta = $this->get_meta_informations($this->translate_path($details['directory_path']) ."/". $details['name']);
- $info = getimagesize($this->translate_path($details['directory_path']) ."/thumbs/". $this->cfg->photo_width ."_". $details['name']);
-
- $this->tmpl->assign('width', $info[0]);
- $this->tmpl->assign('height', $info[1]);
- $this->tmpl->assign('c_date', $meta['DateTime']);
- $this->tmpl->assign('madewith', $meta['Make'] ." ". $meta['Model']);
- $this->tmpl->assign('image_name', $details['name']);
- $this->tmpl->assign('image_url', 'phpfspot_img.php?idx='. $photo ."&width=". $this->cfg->photo_width);
- $this->tmpl->assign('image_url_full', 'phpfspot_img.php?idx='. $photo);
+ $orig_path = $this->translate_path($details['directory_path']) ."/". $details['name'];
+ $thumb_path = $this->cfg->base_path ."/thumbs/". $this->cfg->photo_width ."_". $this->getMD5($photo);
+
+ /* If the thumbnail doesn't exist yet, try to create it */
+ if(!file_exists($thumb_path)) {
+ $this->gen_thumb($photo, 0, 1);
+ }
+
+ $meta = $this->get_meta_informations($orig_path);
+
+ if(file_exists($thumb_path)) {
+
+ $info = getimagesize($thumb_path);
+
+ $this->tmpl->assign('description', $details['description']);
+ $this->tmpl->assign('image_name', $details['name']);
+
+ $this->tmpl->assign('width', $info[0]);
+ $this->tmpl->assign('height', $info[1]);
+ $this->tmpl->assign('ExifMadeOn', strftime("%a %x %X", $meta['FileDateTime']));
+ $this->tmpl->assign('ExifMadeWith', $meta['Make'] ." ". $meta['Model']);
+ $this->tmpl->assign('ExifOrigResolution', $meta['ExifImageWidth'] ."x". $meta['ExifImageLength']);
+ $this->tmpl->assign('ExifFileSize', round($meta['FileSize']/1024, 1));
+
+ $this->tmpl->assign('image_url', 'phpfspot_img.php?idx='. $photo ."&width=". $this->cfg->photo_width);
+ $this->tmpl->assign('image_url_full', 'phpfspot_img.php?idx='. $photo);
+
+ $this->tmpl->assign('tags', $this->get_photo_tags($photo));
+ }
+ else {
+ print "Can't open file ". $thumb_path ."\n";
+ }