issue102, when scrolling up to display photo-view, blank the screen while it's gettin...
[phpfspot.git] / gen_thumbs.php
index a0aaa258961de8c17f014754cd4a5c150d55d466..05b7d0cd465313262898da341cb9b458054157aa 100755 (executable)
@@ -1,25 +1,90 @@
 #!/usr/bin/php
 <?php
 
+/***************************************************************************
+ *
+ * Copyright (c) by Andreas Unterkircher, unki@netshadow.at
+ * All rights reserved
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ ***************************************************************************/
+
+if(!isset($_SERVER["TERM"])) {
+   print "<br /><br />This script should only be invoked from command line!<br />\n";
+   die;
+}
+
 require_once "phpfspot.class.php";
 
 $fspot = new PHPFSPOT;
+$fspot->fromcmd = true;
+
+$overwrite = false;
 
-$all = $fspot->getAllTagPhotos();
+$short_options = "";
+$short_options.= "h"; /* help */
+$short_options.= "o"; /* overwrite */
+$short_options.= "c"; /* cleanup */
 
-foreach($all as $photo)
-{
-   $details = $fspot->get_photo_details($photo);
+$long_options = array(
+   "help",
+   "overwrite",
+   "cleanup",
+);
 
-   print "Image ". $details['name'] ." Thumbnails:";
+/* command line option specified? */
+if(isset($_SERVER['argc']) && $_SERVER['argc'] > 1) {
+   /* validate */
+   $con = new Console_Getopt;
+   $args = $con->readPHPArgv(); 
+   $options = $con->getopt($args, $short_options, $long_options);
 
-   foreach(Array($fspot->cfg->thumb_width, $fspot->cfg->photo_width) as $resolution) {
-      print " ". $resolution ."px";
-      $fspot->resize_image($fspot->translate_path($details['directory_path'])  ."/". $details['name'], $resolution);
+   if(PEAR::isError($options)) {
+      die ("Error in command line: " . $options->getMessage() . "\n");
    }
 
-   print "\n";
+   foreach($options[0] as $opt) {
+      switch($opt[0]) {
+         case 'h':
+         case '--help':
+            print "we need some help here!\n";
+            exit(0);
+            break;
+         case 'o':
+         case '--overwrite':
+            print "Overwrite flag set!\n";
+            $overwrite = true;
+            break;
+         case 'c':
+         case '--cleanup':
+            $fspot->cleanup_phpfspot_db();
+            exit(0);
+            break;
+         default:
+            print "invalid option";
+            exit(1);
+            break;
+      }
+   }
+}
+
+$all = $fspot->getPhotoSelection();
 
+foreach($all as $photo) {
+   $fspot->gen_thumb($photo, $overwrite);
 }
 
 ?>