source: trunk/plugins/ImageManager/config.inc.php @ 1143

Last change on this file since 1143 was 1143, checked in by gogo, 11 years ago

Security patch - see ticket:1363

  • Property svn:keywords set to LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
File size: 9.7 KB
RevLine 
[256]1<?php
[43]2/**
3 * Image Manager configuration file.
[999]4 * @author $Author:gogo $
5 * @version $Id:config.inc.php 830 2007-05-09 13:27:34Z gogo $
[43]6 * @package ImageManager
7 *
8 * @todo change all these config values to defines()
9 */
10
11// REVISION HISTORY:
12//
13// 2005-03-20 Yermo Lamers (www.formvista.com):
14//      . unified backend.
15// . created a set of defaults that make sense for bundling with Xinha.
16
17// -------------------------------------------------------------------------
18
19/**
20* Default backend URL
21*
22* URL to use for unified backend.
23*
[48]24* The ?__plugin=ImageManager& is required.
[43]25*/
26
[48]27$IMConfig['backend_url'] = "backend.php?__plugin=ImageManager&";
[43]28
29/**
30* Backend Installation Directory
31*
32* location of backend install; these are used to link to css and js
33* assets because we may have the front end installed in a different
34* directory than the backend. (i.e. nothing assumes that the frontend
35* and the backend are in the same directory)
36*/
37
38$IMConfig['base_dir'] = getcwd();
39$IMConfig['base_url'] = '';
40
41// ------------------------------------------------------------
42
43/**
44* Path to directory containing images.
45*
46* File system path to the directory you want to manage the images
47* for multiple user systems, set it dynamically.
48*
49* NOTE: This directory requires write access by PHP. That is,
50* PHP must be able to create files in this directory.
51* Able to create directories is nice, but not necessary.
52*
53* CHANGE THIS: for out-of-the-box demo purposes we're setting this to ./demo_images
54* which has some graphics in it.
55*/
56
57// $IMConfig['images_dir'] = "/some/path/to/images/directory;
58
59$IMConfig['images_dir'] = "demo_images";
60
61// -------------------------------------------------------------------------
62
63/**
64* URL of directory containing images.
65*
66* The URL to the above path, the web browser needs to be able to see it.
67* It can be protected via .htaccess on apache or directory permissions on IIS,
68* check you web server documentation for futher information on directory protection
69* If this directory needs to be publicly accessiable, remove scripting capabilities
70* for this directory (i.e. disable PHP, Perl, CGI). We only want to store assets
71* in this directory and its subdirectories.
72*
73* CHANGE THIS: You need to change this to match the url where you have Xinha
74* installed. If the images show up blank chances are this is not set correctly.
75*/
76
77// $IMConfig['images_url'] = "/url/to/above";
78
[48]79// try to figure out the URL of the sample images directory. For your installation
80// you will probably want to keep images in another directory.
[43]81
[48]82$IMConfig['images_url'] = str_replace( "backend.php", "", $_SERVER["PHP_SELF"] ) . "demo_images";
[43]83
84// -------------------------------------------------------------------------
85
86/**
87* PHP Safe Mode?
88*
89* Possible values: true, false
90*
91* TRUE - If PHP on the web server is in safe mode, set this to true.
92* SAFE MODE restrictions: directory creation will not be possible,
93* only the GD library can be used, other libraries require
94* Safe Mode to be off.
95*
96* FALSE - Set to false if PHP on the web server is not in safe mode.
97*/
98
99$IMConfig['safe_mode'] = false;
100
101// -------------------------------------------------------------------------
102
103/**
104* Image Library to use.
105*
106* Possible values: 'GD', 'IM', or 'NetPBM'
107*
108* The image manipulation library to use, either GD or ImageMagick or NetPBM.
109* If you have safe mode ON, or don't have the binaries to other packages,
110* your choice is 'GD' only. Other packages require Safe Mode to be off.
111*
112* DEFAULT: GD is probably the most likely to be available.
113*/
114
[256]115$IMConfig['IMAGE_CLASS'] = 'GD';
[43]116
[256]117
[43]118// -------------------------------------------------------------------------
119
120/**
121* NetPBM or IM binary path.
122*
123* After defining which library to use, if it is NetPBM or IM, you need to
124* specify where the binary for the selected library are. And of course
125* your server and PHP must be able to execute them (i.e. safe mode is OFF).
126* GD does not require the following definition.
127*/
128
[256]129$IMConfig['IMAGE_TRANSFORM_LIB_PATH'] ='/usr/bin/';
[43]130
[256]131// For windows, something like
132// C:/"Program Files"/ImageMagick-5.5.7-Q16/
133
[43]134// -------------------------------------------------------------------------
135//                OPTIONAL SETTINGS
136// -------------------------------------------------------------------------
137
138/**
139* Thumbnail prefix
140*
141* The prefix for thumbnail files, something like .thumb will do. The
142* thumbnails files will be named as "prefix_imagefile.ext", that is,
143*  prefix + orginal filename.
144*/
145
146$IMConfig['thumbnail_prefix'] = '.';
147
148// -------------------------------------------------------------------------
149
150/**
151* Thumbnail Directory
152*
153* Thumbnail can also be stored in a directory, this directory
154* will be created by PHP. If PHP is in safe mode, this parameter
155*  is ignored, you can not create directories.
156*
157*  If you do not want to store thumbnails in a directory, set this
158*  to false or empty string '';
159*/
160
161$IMConfig['thumbnail_dir'] = '.thumbs';
162
163// -------------------------------------------------------------------------
164
165/**
[256]166* Resized prefix
167*
168* The prefix for resized files, something like .resized will do.  The
169* resized files will be named <prefix>_<width>x<height>_<original>
170* resized files are created when one changes the dimensions of an image
171* in the image manager selection dialog - the image is scaled when the
172* user clicks the ok button.
173*/
174
175$IMConfig['resized_prefix'] = '.resized';
176
177// -------------------------------------------------------------------------
178
179/**
180* Resized Directory
181*
182* Resized images may also be stored in a directory, except in safe mode.
183*/
184
185$IMConfig['resized_dir'] = '.resized';
186
[830]187/**
188 * Full options
189 *
190 * Determines whether the user is given options for padding,
191 * background/padding colour, margin, border and border colour.
192 */
193
194$IMConfig['show_full_options'] = true;
195 
[256]196// -------------------------------------------------------------------------
197
198/**
[43]199* Allow New Directories
200*
201*
202* Possible values: true, false
203*
204* TRUE -  Allow the user to create new sub-directories in the
205*        $IMConfig['base_dir'].
206*
207* FALSE - No directory creation.
208*
209* NOTE: If $IMConfig['safe_mode'] = true, this parameter
210*     is ignored, you can not create directories
211*
212* DEFAULT: for demo purposes we turn this off.
213*/
214
[60]215$IMConfig['allow_new_dir'] = true;
[43]216
217// -------------------------------------------------------------------------
218
219/**
220* Allow Uploads
221*
222*  Possible values: true, false
223*
224*  TRUE - Allow the user to upload files.
225*
226*  FALSE - No uploading allowed.
227*
228* DEFAULT: for demo purposes we turn this off.
229*/
230
[1143]231$IMConfig['allow_upload'] = false;
[43]232
233// -------------------------------------------------------------------------
234
235/**
236* Validate Images
237*
238* Possible values: true, false
239*
240* TRUE - If set to true, uploaded files will be validated based on the
241*        function getImageSize, if we can get the image dimensions then
242*        I guess this should be a valid image. Otherwise the file will be rejected.
243*
244* FALSE - All uploaded files will be processed.
245*
246* NOTE: If uploading is not allowed, this parameter is ignored.
247*/
248
249$IMConfig['validate_images'] = true;
250
[1143]251$IMConfig['allowed_image_extensions'] = array("jpg","gif","png","jpeg");
252
[43]253// -------------------------------------------------------------------------
254
255/**
256* Default Thumnail.
257*
258* The default thumbnail if the thumbnails can not be created, either
259* due to error or bad image file.
260*/
261
262$IMConfig['default_thumbnail'] = 'img/default.gif';
263
264// -------------------------------------------------------------------------
265
266/**
267*  Thumbnail dimensions.
268*/
269
270$IMConfig['thumbnail_width'] = 96;
271$IMConfig['thumbnail_height'] = 96;
272
273// -------------------------------------------------------------------------
274
275/**
276* Editor Temporary File Prefix.
277*
278* Image Editor temporary filename prefix.
279*/
280
281$IMConfig['tmp_prefix'] = '.editor_';
282
283
[447]284$IMConfig['ViewMode'] = 'thumbs';
[256]285
286
287
288
289////////////////////////////////////////////////////////////////////////////////
290//       ================== END OF CONFIGURATION =======================      //
291////////////////////////////////////////////////////////////////////////////////
292
293
[565]294// Standard PHP Backend Data Passing
295//  if data was passed using xinha_pass_to_php_backend() we merge the items
296//  provided into the Config
297require_once(realpath(dirname(__FILE__) . '/../../contrib/php-xinha.php'));
298if($passed_data = xinha_read_passed_data())
[256]299{
[565]300  $IMConfig = array_merge($IMConfig, $passed_data);
301  $IMConfig['backend_url'] .= xinha_passed_data_querystring() . '&';
302}
303// Deprecated config passing, don't use this way any more!
304elseif(isset($_REQUEST['backend_config']))
305{
[494]306  if(get_magic_quotes_gpc()) {
307    $_REQUEST['backend_config'] = stripslashes($_REQUEST['backend_config']);
308  }
309 
[256]310  // Config specified from front end, check that it's valid
311  session_start();
312  $secret = $_SESSION[$_REQUEST['backend_config_secret_key_location']];
313
314  if($_REQUEST['backend_config_hash'] !== sha1($_REQUEST['backend_config'] . $secret))
315  {
316    die("Backend security error.");
317  }
318
319  $to_merge = unserialize($_REQUEST['backend_config']);
320  if(!is_array($to_merge))
321  {
322    die("Backend config syntax error.");
323  }
324
325  $IMConfig = array_merge($IMConfig, $to_merge);
326  $IMConfig['backend_url'] .= "backend_config=" . rawurlencode($_REQUEST['backend_config']) . '&';
327  $IMConfig['backend_url'] .= "backend_config_hash=" . rawurlencode($_REQUEST['backend_config_hash']) . '&';
328  $IMConfig['backend_url'] .= "backend_config_secret_key_location=" . rawurlencode($_REQUEST['backend_config_secret_key_location']) . '&';
329
330}
331
332define('IMAGE_CLASS', $IMConfig['IMAGE_CLASS']);
333define('IMAGE_TRANSFORM_LIB_PATH', $IMConfig['IMAGE_TRANSFORM_LIB_PATH']);
[43]334define( "IM_CONFIG_LOADED", "yes" );
335
336// bring in the debugging library
337
338include_once( "ddt.php" );
339
340// uncomment to send debug messages to a local file
[93]341// _setDebugLog( "/tmp/debug_log.txt" );
[43]342
343// turn debugging on everywhere.
[93]344// _ddtOn();
[43]345
346// END
347
348?>
Note: See TracBrowser for help on using the repository browser.