check if thumbnail-directory is writeable
[phpfspot.git] / gen_thumbs.php
1 #!/usr/bin/php
2 <?php
3
4 /***************************************************************************
5  *
6  * Copyright (c) by Andreas Unterkircher, unki@netshadow.at
7  * All rights reserved
8  *
9  *  This program is free software; you can redistribute it and/or modify
10  *  it under the terms of the GNU General Public License as published by
11  *  the Free Software Foundation; either version 2 of the License, or
12  *  any later version.
13  *
14  *  This program is distributed in the hope that it will be useful,
15  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *  GNU General Public License for more details.
18  *
19  *  You should have received a copy of the GNU General Public License
20  *  along with this program; if not, write to the Free Software
21  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22  *
23  ***************************************************************************/
24
25 if(!isset($_SERVER["TERM"])) {
26    print "<br /><br />This script should only be invoked from command line!<br />\n";
27    die;
28 }
29
30 require_once "phpfspot.class.php";
31
32 $fspot = new PHPFSPOT;
33 $fspot->fromcmd = true;
34
35 $overwrite = false;
36
37 $short_options = "";
38 $short_options.= "h"; /* help */
39 $short_options.= "o"; /* overwrite */
40 $short_options.= "c"; /* cleanup */
41
42 $long_options = array(
43    "help",
44    "overwrite",
45    "cleanup",
46 );
47
48 /* command line option specified? */
49 if(isset($_SERVER['argc']) && $_SERVER['argc'] > 1) {
50    /* validate */
51    $con = new Console_Getopt;
52    $args = $con->readPHPArgv(); 
53    $options = $con->getopt($args, $short_options, $long_options);
54
55    if(PEAR::isError($options)) {
56       die ("Error in command line: " . $options->getMessage() . "\n");
57    }
58
59    foreach($options[0] as $opt) {
60       switch($opt[0]) {
61          case 'h':
62          case '--help':
63             print "we need some help here!\n";
64             exit(0);
65             break;
66          case 'o':
67          case '--overwrite':
68             print "Overwrite flag set!\n";
69             $overwrite = true;
70             break;
71          case 'c':
72          case '--cleanup':
73             $fspot->cleanup_phpfspot_db();
74             exit(0);
75             break;
76          default:
77             print "invalid option";
78             exit(1);
79             break;
80       }
81    }
82 }
83
84 $all = $fspot->getPhotoSelection();
85
86 foreach($all as $photo) {
87    $fspot->gen_thumb($photo, $overwrite);
88 }
89
90 ?>