X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=phpfspot.git;a=blobdiff_plain;f=phpfspot.class.php;h=2b5e180d4a985fa077c61e1bbefe759cee01523a;hp=b3455f014cc5450eee2b5de64975343597b6c724;hb=c338e2fdc6b4f0b385672ac9140284ccbd7244a4;hpb=fa213e56d620580d73b680255370f65eec6db4e6 diff --git a/phpfspot.class.php b/phpfspot.class.php index b3455f0..2b5e180 100644 --- a/phpfspot.class.php +++ b/phpfspot.class.php @@ -142,7 +142,9 @@ class PHPFSPOT { /* Check if database file is writeable */ if(!is_writeable($this->cfg->fspot_db)) { - print $this->cfg->fspot_db ." is not writeable for user ". $this->getuid() ."\n"; + print "Error: ". $this->cfg->fspot_db ." is not writeable for user ". $this->getuid() .".\n"; + print "Please fix permissions so phpfspot can create indices within the F-Spot database to" + ." speed up some database operations.\n"; exit(1); } @@ -174,13 +176,15 @@ class PHPFSPOT { /* Check if directory where the database file is stored is writeable */ if(!is_writeable(dirname($this->cfg->phpfspot_db))) { - print dirname($this->cfg->phpfspot_db) .": directory is not writeable for user ". $this->getuid() ."\n"; + print "Error: ". dirname($this->cfg->phpfspot_db) .": directory is not writeable for user ". $this->getuid() .".\n"; + print "Please fix permissions so phpfspot can create its own sqlite database to store some settings.\n"; exit(1); } /* Check if database file is writeable */ if(!is_writeable($this->cfg->phpfspot_db)) { - print $this->cfg->phpfspot_db ." is not writeable for user ". $this->getuid() ."\n"; + print "Error: ". $this->cfg->phpfspot_db ." is not writeable for user ". $this->getuid() .".\n"; + print "Please fix permissions so phpfspot can create its own sqlite database to store some settings.\n"; exit(1); } @@ -340,8 +344,8 @@ class PHPFSPOT { } $this->tmpl->register_function("sort_select_list", array(&$this, "smarty_sort_select_list"), false); - $this->tmpl->assign('search_from_date', $this->get_calendar('from')); - $this->tmpl->assign('search_to_date', $this->get_calendar('to')); + $this->tmpl->assign('search_from_date', $this->get_date_text_field('from')); + $this->tmpl->assign('search_to_date', $this->get_date_text_field('to')); $this->tmpl->assign('preset_selected_tags', $this->getSelectedTags()); $this->tmpl->assign('preset_available_tags', $this->getAvailableTags()); @@ -351,7 +355,8 @@ class PHPFSPOT { if(!isset($content)) { /* if tags are already selected, we can immediately display photo-index */ if((isset($_SESSION['selected_tags']) && !empty($_SESSION['selected_tags']) && - $_SESSION['start_action'] != 'showp') || $_SESSION['start_action'] == 'showpi') + isset($_SESSION['start_action']) && $_SESSION['start_action'] != 'showp') || + (isset($_SESSION['start_action']) && $_SESSION['start_action'] == 'showpi')) $this->tmpl->assign('initial_content', $this->showPhotoIndex()); else { /* if a photo is already selected, we can immediately display single-photo */ @@ -714,7 +719,6 @@ class PHPFSPOT { $meta_res = $info[0] ."x". $info[1]; } - $meta_date = isset($meta['FileDateTime']) ? strftime("%a %x %X", $meta['FileDateTime']) : "n/a"; $meta_make = isset($meta['Make']) ? $meta['Make'] ." / ". $meta['Model'] : "n/a"; $meta_size = isset($meta['FileSize']) ? round($meta['FileSize']/1024, 1) ."kbyte" : "n/a"; @@ -742,7 +746,7 @@ class PHPFSPOT { $this->tmpl->assign('width', $info_thumb[0]); $this->tmpl->assign('height', $info_thumb[1]); - $this->tmpl->assign('ExifMadeOn', $meta_date); + $this->tmpl->assign('ExifMadeOn', strftime("%a %x %X", $details['time'])); $this->tmpl->assign('ExifMadeWith', $meta_make); $this->tmpl->assign('ExifOrigResolution', $meta_res); $this->tmpl->assign('ExifFileSize', $meta_size); @@ -2004,11 +2008,11 @@ class PHPFSPOT { public function startSearch() { /* date search */ - if(isset($_POST['from']) && $this->isValidDate($_POST['from'])) { - $from = $_POST['from']; + if(isset($_POST['date_from']) && $this->isValidDate($_POST['date_from'])) { + $date_from = $_POST['date_from']; } - if(isset($_POST['to']) && $this->isValidDate($_POST['to'])) { - $to = $_POST['to']; + if(isset($_POST['date_to']) && $this->isValidDate($_POST['date_to'])) { + $date_to = $_POST['date_to']; } /* tag-name search */ @@ -2044,13 +2048,13 @@ class PHPFSPOT { $this->get_tags(); - if(isset($from) && !empty($from)) - $_SESSION['from_date'] = strtotime($from ." 00:00:00"); + if(isset($date_from) && !empty($date_from)) + $_SESSION['from_date'] = strtotime($date_from ." 00:00:00"); else unset($_SESSION['from_date']); - if(isset($to) && !empty($to)) - $_SESSION['to_date'] = strtotime($to ." 23:59:59"); + if(isset($date_to) && !empty($date_to)) + $_SESSION['to_date'] = strtotime($date_to ." 23:59:59"); else unset($_SESSION['to_date']); @@ -2360,32 +2364,31 @@ class PHPFSPOT { } // _error() /** - * output calendard input fields + * get calendar input-text fields + * + * this function returns a text-field used for the data selection. + * Either it will be filled with the current date or, if available, + * filled with the date user entered previously. + * * @param string $mode * @return string */ - private function get_calendar($mode) + private function get_date_text_field($mode) { - $year = isset($_SESSION[$mode .'_date']) ? date("Y", $_SESSION[$mode .'_date']) : date("Y"); - $month = isset($_SESSION[$mode .'_date']) ? date("m", $_SESSION[$mode .'_date']) : date("m"); - $day = isset($_SESSION[$mode .'_date']) ? date("d", $_SESSION[$mode .'_date']) : date("d"); + $date = isset($_SESSION[$mode .'_date']) ? date("Y", $_SESSION[$mode .'_date']) : date("Y"); + $date.= "-"; + $date.= isset($_SESSION[$mode .'_date']) ? date("m", $_SESSION[$mode .'_date']) : date("m"); + $date.= "-"; + $date.= isset($_SESSION[$mode .'_date']) ? date("d", $_SESSION[$mode .'_date']) : date("d"); - $output = "get_meta_informations($orig_path); } - $meta_date = isset($meta['FileDateTime']) ? $meta['FileDateTime'] : filemtime($orig_path); - ?> <?php print htmlspecialchars($this->parse_uri($details['uri'], 'filename')); ?> - + - +