From 764ad0eb8718d3611956402725d6a4615f688d8a Mon Sep 17 00:00:00 2001 From: Andreas Unterkircher Date: Mon, 18 Jun 2007 19:36:37 +0000 Subject: issue10, fixed on-demand thumbnail generation git-svn-id: file:///var/lib/svn/phpfspot/trunk@108 fa6a889d-dae6-447d-9e79-4ba9a3039384 --- phpfspot.class.php | 59 ++++++++++++++++++++++-------------------------------- 1 file changed, 24 insertions(+), 35 deletions(-) (limited to 'phpfspot.class.php') diff --git a/phpfspot.class.php b/phpfspot.class.php index cf0fa25..2ffec5f 100644 --- a/phpfspot.class.php +++ b/phpfspot.class.php @@ -536,50 +536,39 @@ class PHPFSPOT { } // 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) { -- cgit v1.2.3-18-g5258