summaryrefslogtreecommitdiffstats
path: root/phpfspot_cfg.php.dist
blob: 176a9e52ae1f799b93b80cfbf49793037ca4f2f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<?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.
 *
 ***************************************************************************/

class PHPFSPOT_CFG {

   var $page_title = "phpfspot - dynamic PHP gallery for F-Spot";

   var $product = "phpfspot";
   var $version = "1.0";

   var $base_path = "/var/www/htdocs";

   var $web_path = "/phpfspot";

   /* path to the directory to store the generated thumbnails.
      this path needs not do be directly reachable via the webserver
      Default it points to a subdirectory of $base_path.
   */
   var $thumb_path = "/var/www/htdocs/thumbs";

   var $theme_name = "default";
 
   /* database access via "native" sqlite3 support or via "pdo" */
   var $db_access = "native";

   /* path to Smarty (http://smarty.php.net) installation. this option
      should directly point to the Smarty main directory containing the
      sub directories 'libs', 'misc', 'unit_test', ...
      the default value '/usr/share/php/smarty' is for Debian GNU/Linux
      where Smarty is installed through as dpkg.
   */
   var $smarty_path = "/usr/share/php/smarty";

   /* it's enough if this database is readonly for the webserver */
   var $fspot_db = "/var/www/f-spot-dbs/photos.db";

   /* this database MUST be writeable for the webserver. Set the directory
      permissions correctly so phpfspot can create this database for you!!
   */
   var $phpfspot_db = "/var/www/f-spot-dbs/phpfspot.db";

   /* don't touch if you haven't changed the base templates */
   var $thumb_width = "150";
   var $photo_width = "640";
   var $mini_width = "100";

   /* how many columns in the photo index view */
   var $thumbs_per_row = 4;

   /* how many rows should be displayed on the photo index view */
   /* use 0 to display all matching photos on one page */
   var $rows_per_page = 4;

   /* Usually the photo directory differs between your local F-Spot installation
      and your webserver. With this you can advice phpfspot to replace all paths
      (they are stored in F-Spot's sqlite3 database).
   */
   var $path_replace_from = "/home/unki";
   var $path_replace_to = "/var/www/images.netshadow.at";

   /* This is not really a security option - it only hides some present F-Spot
      tags from the available-tags-list
   */
   var $hide_tags = Array("Favorites", "Hidden", "People", "Places", "Events");

   /* logging = display || errorlog || logfile */
   var $logging = "display";

   /* set this if you chose logging = logfile */
   var $log_file = "phpfspot_err.log";

   /* no need to modified anything below this line */
   var $error_found = 0;

   public function __construct()
   {
      if(!isset($this->page_title) || $this->page_title == "")
         $this->showError("Please set \$page_title in phpfspot_cfg");
   
      if(!isset($this->product) || $this->product == "")
         $this->showError("Please set \$product in phpfspot_cfg");

      if(!isset($this->version) || $this->version == "")
         $this->showError("Please set \$version in phpfspot_cfg");

      if(!isset($this->base_path) || $this->base_path == "")
         $this->showError("Please set \$base_path in phpfspot_cfg");

      if(!isset($this->web_path) || $this->web_path == "")
         $this->showError("Please set \$web_path in phpfspot_cfg");

      if(!isset($this->thumb_path) || $this->thumb_path == "")
         $this->showError("Please set \$thumb_path in phpfspot_cfg");

      if(!isset($this->smarty_path) || $this->smarty_path == "")
         $this->showError("Please set \$smarty_path in phpfspot_cfg");

      if(!isset($this->fspot_db) || $this->fspot_db == "")
         $this->showError("Please set \$fspot_db in phpfspot_cfg");

      if(!isset($this->db_access) || $this->db_access == "")
         $this->showError("Please set \$db_access in phpfspot_cfg");

      if(!isset($this->phpfspot_db) || $this->phpfspot_db == "")
         $this->showError("Please set \$phpfspot_db in phpfspot_cfg");

      if(!isset($this->thumb_width) || $this->thumb_width == "")
         $this->showError("Please set \$thumb_width in phpfspot_cfg");

      if(!isset($this->photo_width) || $this->photo_width == "")
         $this->showError("Please set \$photo_width in phpfspot_cfg");

      if(!isset($this->mini_width) || $this->mini_width == "")
         $this->showError("Please set \$mini_width in phpfspot_cfg");

      if(!isset($this->thumbs_per_row) || $this->thumbs_per_row == "")
         $this->showError("Please set \$thumbs_per_row in phpfspot_cfg");

      if(!isset($this->rows_per_page) || $this->rows_per_page == "")
         $this->showError("Please set \$rows_per_page in phpfspot_cfg");

      if(!isset($this->path_replace_from) || $this->path_replace_from == "")
         $this->showError("Please set \$path_replace_from in phpfspot_cfg");

      if(!isset($this->path_replace_to) || $this->path_replace_to == "")
         $this->showError("Please set \$path_replace_to in phpfspot_cfg");

      if(!isset($this->hide_tags))
         $this->showError("Please set \$hide_tags in phpfspot_cfg");

      if(!isset($this->theme_name))
         $this->showError("Please set \$theme_name in phpfspot_cfg");

      if(!isset($this->logging))
         $this->showError("Please set \$logging in phpfspot_cfg");

      if(isset($this->logging) && $this->logging == 'logfile') {

         if(!isset($this->log_file))
            $this->showError("Please set \$log_file because you set logging = log_file in phpfspot_cfg");

         if(!is_writeable($this->log_file))
            $this->showError("The specified \$log_file ". $log_file ." is not writeable!");

      }

      if(isset($this->error_found) && $this->error_found)
         exit(1);

      /* check for pending slash on web_path */
      if(!preg_match("/\/$/", $this->web_path))
         $this->web_path.= "/";

   } // __construct()

   private function showError($text)
   {
      print $text ."<br />\n";
      $this->error_found = 1;

   } // showError()

}

?>