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

Last change on this file since 1210 was 1210, checked in by gogo, 10 years ago

Ticket #1465

Add an option resize_files to both ExtendedFileManager? and ImageManager?, defaults true, false turns off the automatic image resizing.

  • Property svn:keywords set to LastChangedDate LastChangedRevision LastChangedBy HeadURL Id
File size: 12.2 KB
Line 
1<?php
2/**
3 * Image Manager configuration file.
4 * @author $Author:gogo $
5 * @version $Id:config.inc.php 830 2007-05-09 13:27:34Z gogo $
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*
24* The ?__plugin=ImageManager& is required.
25*/
26
27$IMConfig['backend_url'] = "backend.php?__plugin=ImageManager&";
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
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.
81
82$IMConfig['images_url'] = str_replace( "backend.php", "", $_SERVER["PHP_SELF"] ) . "demo_images";
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
115$IMConfig['IMAGE_CLASS'] = 'GD';
116
117
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
129$IMConfig['IMAGE_TRANSFORM_LIB_PATH'] ='/usr/bin/';
130
131// For windows, something like
132// C:/"Program Files"/ImageMagick-5.5.7-Q16/
133
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/**
166 * Resize files, or not.  If the dimensions for an image are changed
167 * this will control if the image is actually resized. 
168 *
169 * Usually you want this true, unless you are very disk space concious.
170 */
171 
172$IMConfig['resize_files'] = true;
173
174// -------------------------------------------------------------------------
175
176/**
177* Resized prefix
178*
179* The prefix for resized files, something like .resized will do.  The
180* resized files will be named <prefix>_<width>x<height>_<original>
181* resized files are created when one changes the dimensions of an image
182* in the image manager selection dialog - the image is scaled when the
183* user clicks the ok button.
184*/
185
186$IMConfig['resized_prefix'] = '.resized';
187
188// -------------------------------------------------------------------------
189
190/**
191* Resized Directory
192*
193* Resized images may also be stored in a directory, except in safe mode.
194*/
195
196$IMConfig['resized_dir'] = '.resized';
197
198/**
199 * Full options
200 *
201 * Determines whether the user is given options for padding,
202 * background/padding colour, margin, border and border colour.
203 */
204
205$IMConfig['show_full_options'] = true;
206 
207// -------------------------------------------------------------------------
208
209/**
210* Allow New Directories
211*
212*
213* Possible values: true, false
214*
215* TRUE -  Allow the user to create new sub-directories in the
216*        $IMConfig['base_dir'].
217*
218* FALSE - No directory creation.
219*
220* NOTE: If $IMConfig['safe_mode'] = true, this parameter
221*     is ignored, you can not create directories
222*
223* DEFAULT: for demo purposes we turn this off.
224*/
225
226$IMConfig['allow_new_dir'] = true;
227
228// -------------------------------------------------------------------------
229
230/**
231* Allow Uploads
232*
233*  Possible values: true, false
234*
235*  TRUE - Allow the user to upload files.
236*
237*  FALSE - No uploading allowed.
238*
239* DEFAULT: for demo purposes we turn this off.
240*/
241
242$IMConfig['allow_upload'] = false;
243
244// -------------------------------------------------------------------------
245
246/**
247* Validate Images
248*
249* Possible values: true, false
250*
251* TRUE - If set to true, uploaded files will be validated based on the
252*        function getImageSize, if we can get the image dimensions then
253*        I guess this should be a valid image. Otherwise the file will be rejected.
254*
255* FALSE - All uploaded files will be processed.
256*
257* NOTE: If uploading is not allowed, this parameter is ignored.
258*/
259
260$IMConfig['validate_images'] = true;
261
262$IMConfig['allowed_image_extensions'] = array("jpg","gif","png","jpeg");
263
264// -------------------------------------------------------------------------
265
266/**
267* Default Thumnail.
268*
269* The default thumbnail if the thumbnails can not be created, either
270* due to error or bad image file.
271*/
272
273$IMConfig['default_thumbnail'] = 'img/default.gif';
274
275// -------------------------------------------------------------------------
276
277/**
278*  Thumbnail dimensions.
279*/
280
281$IMConfig['thumbnail_width'] = 96;
282$IMConfig['thumbnail_height'] = 96;
283
284// -------------------------------------------------------------------------
285
286/**
287* Editor Temporary File Prefix.
288*
289* Image Editor temporary filename prefix.
290*/
291
292$IMConfig['tmp_prefix'] = '.editor_';
293
294
295$IMConfig['ViewMode'] = 'thumbs';
296
297// -------------------------------------------------------------------------
298
299/** Margin Types
300 *  If your HTML will be used in an email, then using CSS type "margin"
301 *  is not so reliable and you should set UseHSpaceVSpace to be true
302 *  to go back to the old fashioned hspace="" and vspace="" attributes on
303 *  images.
304 */
305$IMConfig['UseHSpaceVSpace'] = false;
306
307// -------------------------------------------------------------------------
308
309/**
310 * ImageManager/Picker can provide selection interfaces for more than just
311 * images on the server ("Pictures").
312 *
313 *  Local - the classical ImageManager for images stored on this server.
314 *
315 *  YouTube  - provides selection (but not upload etc) of videos on YouTube
316 *    see smart-image.js for how to make the videos work as videos instead of
317 *    static images.
318 *
319 *  Flickr   - provides selection (but not upload etc) of public images on Flickr
320 *    Set
321 *       $IMConfig['Flickr'] = array('Key' => 'yourkeyhere');
322 *    to turn on Flickr support.
323 *
324 *    To get a key: http://www.flickr.com/services/api/keys/
325 *
326 *    WARNING: Flickr restricts commercial use of the API.  If your site is in any way even
327 *     remotely commercial you need to ask for a commercial key from flickr.
328 *
329 *    ADDITIONAL WARNING: Flickr requires that you provide a link back to them, preferably
330 *     on the image itself (linking to the image) - you can use smart-image.js to do
331 *     something like this.
332 *
333 *    ADDITIONAL ADDITIONAL WARNING: It's up to you to comply with the image's license!!
334 */
335 
336$IMConfig['Local'] = TRUE;
337$IMConfig['YouTube']  = FALSE;
338$IMConfig['Flickr']   = FALSE;
339
340// These are some configurable defaults for Flickr, to override
341//  $IMConfig['Flickr'] = array('Whatever' => 'You Want');
342$FlickrDefaults = array
343(
344  // This is the URL as flickr provides it for the licence which you wish
345  // to search on by default.  The default here is the least restrictive one.
346  'Default License' => 'http://creativecommons.org/licenses/by/2.0/',
347   
348); 
349
350
351////////////////////////////////////////////////////////////////////////////////
352//       ================== END OF CONFIGURATION =======================      //
353////////////////////////////////////////////////////////////////////////////////
354
355
356// Standard PHP Backend Data Passing
357//  if data was passed using xinha_pass_to_php_backend() we merge the items
358//  provided into the Config
359require_once(realpath(dirname(__FILE__) . '/../../contrib/php-xinha.php'));
360if($passed_data = xinha_read_passed_data())
361{
362  $IMConfig = array_merge($IMConfig, $passed_data);
363  $IMConfig['backend_url'] .= xinha_passed_data_querystring() . '&';
364 
365  if($IMConfig['Flickr'])
366  {
367    foreach($FlickrDefaults as $k => $v)
368    {
369      if(!isset($IMConfig['Flickr'][$k]))
370      {
371        $IMConfig['Flickr'][$k] = $v;
372      }
373    }
374  }
375}
376// Deprecated config passing, don't use this way any more!
377elseif(isset($_REQUEST['backend_config']))
378{
379  if(get_magic_quotes_gpc()) {
380    $_REQUEST['backend_config'] = stripslashes($_REQUEST['backend_config']);
381  }
382 
383  // Config specified from front end, check that it's valid
384  session_start();
385  $secret = $_SESSION[$_REQUEST['backend_config_secret_key_location']];
386
387  if($_REQUEST['backend_config_hash'] !== sha1($_REQUEST['backend_config'] . $secret))
388  {
389    die("Backend security error.");
390  }
391
392  $to_merge = unserialize($_REQUEST['backend_config']);
393  if(!is_array($to_merge))
394  {
395    die("Backend config syntax error.");
396  }
397
398  $IMConfig = array_merge($IMConfig, $to_merge);
399  $IMConfig['backend_url'] .= "backend_config=" . rawurlencode($_REQUEST['backend_config']) . '&';
400  $IMConfig['backend_url'] .= "backend_config_hash=" . rawurlencode($_REQUEST['backend_config_hash']) . '&';
401  $IMConfig['backend_url'] .= "backend_config_secret_key_location=" . rawurlencode($_REQUEST['backend_config_secret_key_location']) . '&';
402
403}
404
405define('IMAGE_CLASS', $IMConfig['IMAGE_CLASS']);
406define('IMAGE_TRANSFORM_LIB_PATH', $IMConfig['IMAGE_TRANSFORM_LIB_PATH']);
407define( "IM_CONFIG_LOADED", "yes" );
408
409// bring in the debugging library
410
411include_once( "ddt.php" );
412
413// uncomment to send debug messages to a local file
414// _setDebugLog( "/tmp/debug_log.txt" );
415
416// turn debugging on everywhere.
417// _ddtOn();
418
419// END
420
421?>
Note: See TracBrowser for help on using the repository browser.