$this->cfg = new PHPFSPOT_CFG;
- $this->db = new PHPFSPOT_DB(&$this, $this->cfg->fspot_db);
-
+ $this->db = new PHPFSPOT_DB(&$this, $this->cfg->fspot_db);
$this->cfg_db = new PHPFSPOT_DB(&$this, $this->cfg->phpfspot_db);
$this->check_config_table();
private function get_tags()
{
+
$this->avail_tags = Array();
$count = 0;
/* If the thumbnail doesn't exist yet, try to create it */
if(!file_exists($thumb_path)) {
- $this->gen_thumb($photo, 0, 1);
+ $this->gen_thumb($photo, true);
}
$meta = $this->get_meta_informations($orig_path);
} // resetTags()
+ public function resetTagSearch()
+ {
+ unset($_SESSION['searchfor']);
+
+ } // resetTagSearch()
+
public function getPhotoSelection()
{
$tagged_photos = Array();
}
$current_tags = "";
- foreach($_SESSION['selected_tags'] as $tag)
- $current_tags.= $tag .",";
- $current_tags = substr($current_tags, 0, strlen($current_tags)-1);
+ if($_SESSION['selected_tags'] != "") {
+ foreach($_SESSION['selected_tags'] as $tag)
+ $current_tags.= $tag .",";
+ $current_tags = substr($current_tags, 0, strlen($current_tags)-1);
+ }
+
$extern_link = "http://". $_SERVER['SERVER_NAME'] ."/index.php?mode=showpi&tags=". $current_tags;
$this->tmpl->assign('extern_link', $extern_link);
if(!file_exists($orig_image))
return false;
+ $details = getimagesize($orig_image);
+
+ /* check if original photo is a support image type */
+ if(!$this->parent->checkifImageSupported($details['mime']))
+ return false;
+
$meta = $this->get_meta_informations($orig_image);
$rotate = 0;
* 2. Check if the md5sum of the original file has changed
* 3. Generate the thumbnails if needed
*/
- public function gen_thumb($idx = 0, $fromcmd = 0, $force = 0)
+ public function gen_thumb($idx = 0, $force = 0)
{
+ $error = 0;
+
$resolutions = Array(
$this->cfg->thumb_width,
$this->cfg->bubble_width,
$this->cfg->photo_width,
);
+ /* get details from F-Spot's database */
$details = $this->get_photo_details($idx);
+
+ /* calculate file MD5 sum */
$full_path = $this->translate_path($details['directory_path']) ."/". $details['name'];
$file_md5 = md5_file($full_path);
- if($fromcmd) print "Image [". $idx ."] ". $details['name'] ." Thumbnails:";
-
- $error = 0;
+ $this->_debug("Image [". $idx ."] ". $details['name'] ." Thumbnails:");
foreach($resolutions as $resolution) {
/* if the thumbnail file doesn't exist, create it */
if(!file_exists($thumb_path)) {
- if($fromcmd) print " ". $resolution ."px";
+ $this->_debug(" ". $resolution ."px");
if(!$this->create_thumbnail($full_path, $thumb_path, $resolution))
$error = 1;
-
}
/* if the file hasn't changed there is no need to regen the thumb */
elseif($file_md5 != $this->getMD5($idx) || $force) {
- if($fromcmd) print " ". $resolution ."px";
+ $this->_debug(" ". $resolution ."px");
if(!$this->create_thumbnail($full_path, $thumb_path, $resolution))
$error = 1;
}
/* set the new/changed MD5 sum for the current photo */
- if(!$error)
+ if(!$error) {
$this->setMD5($idx, $file_md5);
+ }
- if($fromcmd) print "\n";
+ $this->_debug("\n");
} // gen_thumb()
/* Check for HTML_AJAX PEAR package, lent from Horde project */
ini_set('track_errors', 1);
- @include 'HTML/AJAX/Server.php';
+ @include_once 'HTML/AJAX/Server.php';
if(isset($php_errormsg)) {
print "PEAR HTML_AJAX package is missing<br />\n";
$missing = true;
return true;
} // checkRequirements()
-
+
+ private function _debug($text)
+ {
+ if($this->fromcmd) {
+ print $text;
+ }
+
+ } // _debug()
+
+ public function checkifImageSupported($mime)
+ {
+ if(in_array($mime, Array("image/jpeg")))
+ return true;
+
+ return false;
+
+ } // checkifImageSupported()
}