} // check_config_table
- public function gen_thumbs($idx = 0, $fromcmd = 0)
+ public function gen_thumb($idx = 0, $fromcmd = 0)
{
- if(!$idx) {
- /* get all available photos */
- $all = $this->getPhotoSelection();
- }
- else
- $all = Array($idx);
-
- foreach($all as $photo) {
+ $details = $this->get_photo_details($idx);
- $details = $this->get_photo_details($photo);
+ $full_path = $this->translate_path($details['directory_path']) ."/". $details['name'];
+ $file_md5 = md5_file($full_path);
- $full_path = $this->translate_path($details['directory_path']) ."/". $details['name'];
- $file_md5 = md5_file($full_path);
+ if($fromcmd) print "Image [". $idx ."] ". $details['name'] ." Thumbnails:";
- if($fromcmd) print "Image [". $photo ."] ". $details['name'] ." Thumbnails:";
-
- /* if the file hasn't changed there is no need to regen the thumb */
- if($file_md5 == $this->getMD5($photo)) {
- if($fromcmd) print " file has not changed - skipping\n";
- continue;
- }
-
- /* set the new/changed MD5 sum for the current photo */
- $this->setMD5($photo, $file_md5);
+ /* if the file hasn't changed there is no need to regen the thumb */
+ if($file_md5 == $this->getMD5($idx)) {
+ if($fromcmd) print " file has not changed - skipping\n";
+ return;
+ }
- $resolutions = Array(
- $this->cfg->thumb_width,
- $this->cfg->bubble_width,
- $this->cfg->photo_width
- );
+ /* set the new/changed MD5 sum for the current photo */
+ $this->setMD5($idx, $file_md5);
- /* create thumbnails for the requested resolutions */
- foreach($resolutions as $resolution) {
- if($fromcmd) print " ". $resolution ."px";
- $this->create_thumbnail($full_path, $resolution);
- }
-
- if($fromcmd) print "\n";
+ $resolutions = Array(
+ $this->cfg->thumb_width,
+ $this->cfg->bubble_width,
+ $this->cfg->photo_width
+ );
+ /* create thumbnails for the requested resolutions */
+ foreach($resolutions as $resolution) {
+ if($fromcmd) print " ". $resolution ."px";
+ $this->create_thumbnail($full_path, $resolution);
}
- } // gen_thumbs()
+ if($fromcmd) print "\n";
+
+ } // gen_thumb()
private function getMD5($idx)
{
<?php
-require_once "phpfspot_db.php";
require_once "phpfspot.class.php";
class PHPFSPOT_IMG {
} // __desctruct()
- public function show($idx, $width = "")
+ public function show($idx, $width = 0)
{
- $this->parent->gen_thumbs($idx);
+ $this->parent->gen_thumb($idx);
$details = $this->parent->get_photo_details($idx);
- if($width == "")
+ if($width == 0) {
$fullpath = $this->parent->translate_path($details['directory_path']) ."/". $details['name'];
- else
+ }
+ else {
$fullpath = $this->parent->translate_path($details['directory_path']) ."/thumbs/". $width ."_". $details['name'];
-
+ }
$tmp = getimagesize($fullpath);
$mime = $tmp['mime'];
Header("Content-Type: ". $mime);
Header("Content-Length: ". filesize($fullpath));
Header("Content-Transfer-Encoding: binary\n");
- $user_agent = strtolower ($_SERVER["HTTP_USER_AGENT"]);
Header("Content-Disposition: inline; filename=\"". $details['name'] ."\"");
Header("Accept-Ranges: bytes");
Header("Connection: close");