Issues (1210)

Security Analysis    not enabled

This project does not seem to handle request data directly as such no vulnerable execution paths were found.

  Cross-Site Scripting
Cross-Site Scripting enables an attacker to inject code into the response of a web-request that is viewed by other users. It can for example be used to bypass access controls, or even to take over other users' accounts.
  File Exposure
File Exposure allows an attacker to gain access to local files that he should not be able to access. These files can for example include database credentials, or other configuration files.
  File Manipulation
File Manipulation enables an attacker to write custom data to files. This potentially leads to injection of arbitrary code on the server.
  Object Injection
Object Injection enables an attacker to inject an object into PHP code, and can lead to arbitrary code execution, file exposure, or file manipulation attacks.
  Code Injection
Code Injection enables an attacker to execute arbitrary code on the server.
  Response Splitting
Response Splitting can be used to send arbitrary responses.
  File Inclusion
File Inclusion enables an attacker to inject custom files into PHP's file loading mechanism, either explicitly passed to include, or for example via PHP's auto-loading mechanism.
  Command Injection
Command Injection enables an attacker to inject a shell command that is execute with the privileges of the web-server. This can be used to expose sensitive data, or gain access of your server.
  SQL Injection
SQL Injection enables an attacker to execute arbitrary SQL code on your database server gaining access to user data, or manipulating user data.
  XPath Injection
XPath Injection enables an attacker to modify the parts of XML document that are read. If that XML document is for example used for authentication, this can lead to further vulnerabilities similar to SQL Injection.
  LDAP Injection
LDAP Injection enables an attacker to inject LDAP statements potentially granting permission to run unauthorized queries, or modify content inside the LDAP tree.
  Header Injection
  Other Vulnerability
This category comprises other attack vectors such as manipulating the PHP runtime, loading custom extensions, freezing the runtime, or similar.
  Regex Injection
Regex Injection enables an attacker to execute arbitrary code in your PHP process.
  XML Injection
XML Injection enables an attacker to read files on your local filesystem including configuration files, or can be abused to freeze your web-server process.
  Variable Injection
Variable Injection enables an attacker to overwrite program variables with custom data, and can lead to further vulnerabilities.
Unfortunately, the security analysis is currently not available for your project. If you are a non-commercial open-source project, please contact support to gain access.

thumbs/phpThumb.config.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
//////////////////////////////////////////////////////////////
3
///  phpThumb() by James Heinrich <[email protected]>   //
4
//        available at http://phpthumb.sourceforge.net     ///
5
//////////////////////////////////////////////////////////////
6
///                                                         //
7
// See: phpthumb.readme.txt for usage instructions          //
8
//      NOTE: THIS FILE HAS NO EFFECT IN OBJECT MODE!       //
9
//            THIS CONFIG FILE ONLY APPLIES TO phpThumb.php //
10
//                                                         ///
11
//////////////////////////////////////////////////////////////
12
//require_once __DIR__ . '/../../header.php';
13
ob_start();
14 View Code Duplication
if (!file_exists(__DIR__ . '/phpthumb.functions.php') || !require_once __DIR__ . '/phpthumb.functions.php') {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
15
    ob_end_flush();
16
    die('failed to include_once(phpthumb.functions.php) - realpath="' . realpath(__DIR__ . '/phpthumb.functions.php') . '"');
17
}
18
ob_end_clean();
19
20
include_once XOOPS_ROOT_PATH . '/modules/publisher/include/common.php';
21
// START USER CONFIGURATION SECTION:
22
23
// * DocumentRoot configuration
24
// phpThumb() depends on $_SERVER['DOCUMENT_ROOT'] to resolve path/filenames. This value is usually correct,
25
// but has been known to be broken on some servers. This value allows you to override the default value.
26
// Do not modify from the auto-detect default value unless you are having problems.
27
//$PHPTHUMB_CONFIG['document_root'] = '/home/httpd/httpdocs';
28
//$PHPTHUMB_CONFIG['document_root'] = 'c:\\webroot\\example.com\\www';
29
//$PHPTHUMB_CONFIG['document_root'] = $_SERVER['DOCUMENT_ROOT'];
30
//$PHPTHUMB_CONFIG['document_root'] = realpath((@$_SERVER['DOCUMENT_ROOT'] && file_exists(@$_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'])) ? $_SERVER['DOCUMENT_ROOT'] : str_replace(dirname(@$_SERVER['PHP_SELF']), '', str_replace(DIRECTORY_SEPARATOR, '/', realpath('.'))));
31
$PHPTHUMB_CONFIG['document_root'] = XOOPS_ROOT_PATH;
32
33
// * Cache directory configuration (choose only one of these - leave the other lines commented-out):
34
// Note: this directory must be writable (usually chmod 777 is neccesary) for caching to work.
35
// If the directory is not writable no error will be generated but caching will be disabled.
36
$PHPTHUMB_CONFIG['cache_directory'] = XOOPS_CACHE_PATH;                            // set the cache directory relative to the phpThumb() installation
37
//$PHPTHUMB_CONFIG['cache_directory'] = $PHPTHUMB_CONFIG['document_root'].'/phpthumb/cache/'; // set the cache directory to an absolute directory for all source images
38
//$PHPTHUMB_CONFIG['cache_directory'] = './cache/';                                           // set the cache directory relative to the source image - must start with '.' (will not work to cache URL- or database-sourced images, please use an absolute directory name)
39
//$PHPTHUMB_CONFIG['cache_directory'] = null;                                                 // disable thumbnail caching (not recommended)
40
//if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
41
//    $PHPTHUMB_CONFIG['cache_directory'] = __DIR__.'/cache/'; // set the cache directory to an absolute directory for all source images
42
//} else {
43
//    $PHPTHUMB_CONFIG['cache_directory'] = '/tmp/persistent/phpthumb/cache/';
44
//}
45
46
$PHPTHUMB_CONFIG['cache_disable_warning'] = false; // If [cache_directory] is non-existant or not writable, and [cache_disable_warning] is false, an error image will be generated warning to either set the cache directory or disable the warning (to avoid people not knowing about the cache)
47
48
$PHPTHUMB_CONFIG['cache_directory_depth'] = 4; // If this larger than zero, cache structure will be broken into a broad directory structure based on cache filename. For example "cache_src012345..." will be stored in "/0/01/012/0123/cache_src012345..." when (cache_directory_depth = 4)
49
50
// * Cache culling: phpThumb can automatically limit the contents of the cache directory
51
//   based on last-access date and/or number of files and/or total filesize.
52
53
//$PHPTHUMB_CONFIG['cache_maxage'] = null;            // never delete cached thumbnails based on last-access time
54
$PHPTHUMB_CONFIG['cache_maxage'] = 86400
55
                                   * 30;        // delete cached thumbnails that haven't been accessed in more than [30 days] (value is maximum time since last access in seconds to avoid deletion)
56
57
//$PHPTHUMB_CONFIG['cache_maxsize'] = null;           // never delete cached thumbnails based on byte size of cache directory
58
$PHPTHUMB_CONFIG['cache_maxsize'] = 10
59
                                    * 1024
60
                                    * 1024; // delete least-recently-accessed cached thumbnails when more than [10MB] of cached files are present (value is maximum bytesize of all cached files)
61
62
//$PHPTHUMB_CONFIG['cache_maxfiles'] = null;          // never delete cached thumbnails based on number of cached files
63
$PHPTHUMB_CONFIG['cache_maxfiles'] = 200;             // delete least-recently-accessed cached thumbnails when more than [200] cached files are present (value is maximum number of cached files to keep)
64
65
// * Source image cache configuration
66
$PHPTHUMB_CONFIG['cache_source_enabled']   = true;                               // if true, source images obtained via HTTP are cached to $PHPTHUMB_CONFIG['cache_source_directory']
67
$PHPTHUMB_CONFIG['cache_source_directory'] = XOOPS_CACHE_PATH;  // set the cache directory for unprocessed source images
68
69
// * cache source modification date configuration
70
$PHPTHUMB_CONFIG['cache_source_filemtime_ignore_local']  = false; // if true, local source images will not be checked for modification date and cached image will be used if available, even if source image is changed or removed
71
$PHPTHUMB_CONFIG['cache_source_filemtime_ignore_remote'] = true;  // if true, remote source images will not be checked for modification date and cached image will be used if available, even if source image is changed or removed. WARNING: cached performance MUCH slower if this is set to false.
72
73
// * Simplified cache filename configuration
74
// Instead of creating unique cache filenames for all parameter combinations, create "simple" cache files (eg: "pic_thumb.jpg")
75
// If cache_default_only_suffix is non-empty, GETstring parameters (except 'src') are ignored and only $PHPTHUMB_DEFAULTS
76
// parameters (set at the bottom of phpThumb.config.php) are used for processing.
77
// The '*' character MUST be used to represent the source image name
78
$PHPTHUMB_CONFIG['cache_default_only_suffix'] = '';           // cached in normal phpThumb manner
79
//$PHPTHUMB_CONFIG['cache_default_only_suffix'] = '*_thumb';  // cache 'pic.jpg' becomes 'pic_thumb.jpg' (or 'pic_thumb.png' if PNG output is selected, etc)
80
//$PHPTHUMB_CONFIG['cache_default_only_suffix'] = 'small-*';  // cache 'pic.jpg' becomes 'small-pic.jpg' (or 'small-pic.png' if PNG output is selected, etc)
81
82
$PHPTHUMB_CONFIG['cache_prefix'] = 'phpThumb_cache_' . (isset($_SERVER['SERVER_NAME']) ? str_replace('www.', '', $_SERVER['SERVER_NAME']) . '_' : ''); // keep cache file separate by domain
83
//$PHPTHUMB_CONFIG['cache_prefix'] = 'phpThumb_cache';                                                                                             // allow phpThumb to share 1 set of cached files even if accessed under different servername/domains on same server
84
85
$PHPTHUMB_CONFIG['cache_force_passthru'] = true;  // if true, cached image data will always be passed to browser; if false, HTTP redirect will be used instead
86
87
// * Temp directory configuration
88
// phpThumb() may need to create temp files. Usually the system temp dir is writable and can be used.
89
// Leave this value as NULL in most cases. If you get errors about "failed to open <filename> for writing"
90
// you should change this to a full pathname to a directory you do have write access to.
91
//$PHPTHUMB_CONFIG['temp_directory'] = null;                               // attempt to auto-detect
92
//$PHPTHUMB_CONFIG['temp_directory'] = '/tmp/persistent/phpthumb/cache/';  // set to absolute path
93
$PHPTHUMB_CONFIG['temp_directory'] = $PHPTHUMB_CONFIG['cache_directory'];  // set to same as cache directory
94
95
// NOTE: "max_source_pixels" only affects GD-resized thumbnails. If you have ImageMagick
96
//       installed it will bypass most of these limits
97
// maximum number of pixels in source image to attempt to process entire image in GD mode.
98
// If this is zero then no limit on source image dimensions.
99
// If this is nonzero then this is the maximum number of pixels the source image
100
// can have to be processed normally, otherwise the embedded EXIF thumbnail will
101
// be used (if available) or an "image too large" notice will be displayed.
102
// This is to be used for large source images (> 1600x1200) and low PHP memory
103
// limits. If PHP runs out of memory the script will usually just die with no output.
104
// To calculate this number, multiply the dimensions of the largest image
105
// you can process with your memory limitation (e.g. 1600 * 1200 = 1920000)
106
// As a general guideline, this number will be about 20% of your PHP memory
107
// configuration, so 8M = 1,677,722; 16M = 3,355,443; 32M = 6,710,886; etc.
108
if (phpthumb_functions::version_compare_replacement(PHP_VERSION, '4.3.2', '>=') && !defined('memory_get_usage')
109
    && !@ini_get('memory_limit')
110
) {
111
    // memory_get_usage() will only be defined if your PHP is compiled with the --enable-memory-limit configuration option.
112
    $PHPTHUMB_CONFIG['max_source_pixels'] = 0;         // no memory limit
113
} else {
114
    // calculate default max_source_pixels as 1/6 of memory limit configuration
115
    $PHPTHUMB_CONFIG['max_source_pixels'] = round(max((int)ini_get('memory_limit'), (int)get_cfg_var('memory_limit')) * 1048576 / 6);
116
    //$PHPTHUMB_CONFIG['max_source_pixels'] = 0;       // no memory limit
117
    //$PHPTHUMB_CONFIG['max_source_pixels'] = 1920000; // allow 1600x1200 images (2Mpx), no larger (about 12MB memory required)
118
    //$PHPTHUMB_CONFIG['max_source_pixels'] = 2795000; // 16MB memory limit
119
    //$PHPTHUMB_CONFIG['max_source_pixels'] = 3871488; // allow 2272x1704 images (4Mpx), no larger (about 24MB memory required)
120
}
121
122
// ImageMagick configuration
123
$PHPTHUMB_CONFIG['prefer_imagemagick']        = true;  // If true, use ImageMagick to resize thumbnails if possible, since it is usually faster than GD functions; if false only use ImageMagick if PHP memory limit is too low.
124
$PHPTHUMB_CONFIG['imagemagick_use_thumbnail'] = true;  // If true, use ImageMagick's "-thumbnail" resizing parameter (if available) which removes extra non-image metadata (profiles, EXIF info, etc) resulting in much smaller filesize; if false, use "-resize" paramter which retains this info
125
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
126
    // Windows: set absolute pathname
127
    $PHPTHUMB_CONFIG['imagemagick_path'] = 'C:/ImageMagick/convert.exe';
128
} else {
129
    // *nix: set absolute pathname to "convert", or leave as null if "convert" is in the path (location detected with `which`)
130
    //$PHPTHUMB_CONFIG['imagemagick_path'] = '/usr/local/bin/convert';
131
    $PHPTHUMB_CONFIG['imagemagick_path'] = null;
132
}
133
134
// * Default output configuration:
135
$PHPTHUMB_CONFIG['output_format']    = 'png'; // default output format ('jpeg', 'png' or 'gif') - thumbnail will be output in this format (if available in your version of GD or ImageMagick). This is only used if the "f" parameter is not specified, and if the thumbnail can't be output in the input format.
136
$PHPTHUMB_CONFIG['output_maxwidth']  = 0;      // default maximum thumbnail width.  If this is zero then default width  is the width  of the source image. This is always overridden by ?w=___ GETstring parameter
137
$PHPTHUMB_CONFIG['output_maxheight'] = 0;      // default maximum thumbnail height. If this is zero then default height is the height of the source image. This is always overridden by ?h=___ GETstring parameter
138
$PHPTHUMB_CONFIG['output_interlace'] = true;   // if true: interlaced output for GIF/PNG, progressive output for JPEG; if false: non-interlaced for GIF/PNG, baseline for JPEG.
139
140
// * Error message configuration
141
$PHPTHUMB_CONFIG['error_image_width']           = 300;      // default width for error images
142
$PHPTHUMB_CONFIG['error_image_height']          = 100;      // default height for error images
143
$PHPTHUMB_CONFIG['error_message_image_default'] = '';       // Set this to the name of a generic error image (e.g. '/images/error.png') that you want displayed in place of any error message that may occur. This setting is overridden by the 'err' parameter, which does the same thing.
144
$PHPTHUMB_CONFIG['error_bgcolor']               = 'CCCCFF'; // background color of error message images
145
$PHPTHUMB_CONFIG['error_textcolor']             = 'FF0000'; // color of text in error messages
146
$PHPTHUMB_CONFIG['error_fontsize']              = 1;        // size of text in error messages, from 1 (smallest) to 5 (largest)
147
$PHPTHUMB_CONFIG['error_die_on_error']          = true;     // die with error message on any fatal error (recommended with standalone phpThumb.php)
148
$PHPTHUMB_CONFIG['error_silent_die_on_error']   = false;    // simply die with no output of any kind on fatal errors (not recommended)
149
$PHPTHUMB_CONFIG['error_die_on_source_failure'] = true;     // die with error message if source image cannot be processed by phpThumb() (usually because source image is corrupt in some way). If false the source image will be passed through unprocessed, if true (default) an error message will be displayed.
150
151
// * Off-server Thumbnailing Configuration:
152
$PHPTHUMB_CONFIG['nohotlink_enabled']       = false;                                    // If false will allow thumbnailing from any source domain
153
$PHPTHUMB_CONFIG['nohotlink_valid_domains'] = array(@$_SERVER['HTTP_HOST']);            // This is the list of domains for which thumbnails are allowed to be created. Note: domain only, do not include port numbers. The default value of the current domain should be fine in most cases, but if neccesary you can add more domains in here, in the format "www.example.com"
154
$PHPTHUMB_CONFIG['nohotlink_erase_image']   = true;                                     // if true thumbnail is covered up with $PHPTHUMB_CONFIG['nohotlink_fill_color'] before text is applied, if false text is written over top of thumbnail
155
$PHPTHUMB_CONFIG['nohotlink_text_message']  = 'Off-server thumbnailing is not allowed'; // text of error message
156
157
// * Off-server Linking Configuration:
158
$PHPTHUMB_CONFIG['nooffsitelink_enabled']       = false;                                       // If false will allow thumbnails to be linked to from any domain, if true only domains listed below in 'nooffsitelink_valid_domains' will be allowed.
159
$PHPTHUMB_CONFIG['nooffsitelink_valid_domains'] = array(@$_SERVER['HTTP_HOST']);              // This is the list of domains for which thumbnails are allowed to be created. The default value of the current domain should be fine in most cases, but if neccesary you can add more domains in here, in the format 'www.example.com'
160
$PHPTHUMB_CONFIG['nooffsitelink_require_refer'] = false;                                      // If false will allow standalone calls to phpThumb(). If true then only requests with a $_SERVER['HTTP_REFERER'] value in 'nooffsitelink_valid_domains' are allowed.
161
$PHPTHUMB_CONFIG['nooffsitelink_erase_image']   = false;                                      // if true thumbnail is covered up with $PHPTHUMB_CONFIG['nohotlink_fill_color'] before text is applied, if false text is written over top of thumbnail
162
$PHPTHUMB_CONFIG['nooffsitelink_watermark_src'] = '/demo/images/watermark.png';                // webroot-relative image to overlay on hotlinked images
163
$PHPTHUMB_CONFIG['nooffsitelink_text_message']  = 'Image taken from ' . @$_SERVER['HTTP_HOST']; // text of error message (used if [nooffsitelink_watermark_src] is not a valid image)
164
165
// * Border & Background default colors
166
$PHPTHUMB_CONFIG['border_hexcolor']     = '000000'; // Default border color - usual HTML-style hex color notation (overridden with 'bc' parameter)
167
$PHPTHUMB_CONFIG['background_hexcolor'] = 'FFFFFF'; // Default background color when thumbnail aspect ratio does not match fixed-dimension box - usual HTML-style hex color notation (overridden with 'bg' parameter)
168
169
// * Watermark configuration
170
$PHPTHUMB_CONFIG['ttf_directory'] = __DIR__ . '/fonts'; // Base directory for TTF font files
171
//$PHPTHUMB_CONFIG['ttf_directory'] = 'c:/windows/fonts';
172
173
// * MySQL configuration
174
// You may want to pull data from a database rather than a physical file
175
// If so, modify the $PHPTHUMB_CONFIG['mysql_query'] line to suit your database structure
176
// Note: the data retrieved must be the actual binary data of the image, not a URL or filename
177
178
$PHPTHUMB_CONFIG['mysql_query'] = '';
179
//$PHPTHUMB_CONFIG['mysql_query'] = 'SELECT `picture` FROM `products` WHERE (`id` = \''.$GLOBALS['xoopsDB']->escape(@$_GET['id']).'\')';
180
181
// These 4 values must be modified if $PHPTHUMB_CONFIG['mysql_query'] is not empty, but may be ignored if $PHPTHUMB_CONFIG['mysql_query'] is blank.
182
$PHPTHUMB_CONFIG['mysql_hostname'] = 'localhost';
183
$PHPTHUMB_CONFIG['mysql_username'] = '';
184
$PHPTHUMB_CONFIG['mysql_password'] = '';
185
$PHPTHUMB_CONFIG['mysql_database'] = '';
186
187
// * Security configuration
188
$PHPTHUMB_CONFIG['high_security_enabled']    = false;  // if enabled, requires 'high_security_password' set to be set and requires the use of phpThumbURL() function (at the bottom of phpThumb.config.php) to generate hashed URLs
189
$PHPTHUMB_CONFIG['high_security_password']   = '';     // required if 'high_security_enabled' is true, and must be at complex (uppercase, lowercase, numbers, punctuation, etc -- punctuation is strongest, lowercase is weakest; see PasswordStrength() in phpThumb.php). You can use a password generator like http://silisoftware.com/tools/password-random.php to generate a strong password
190
$PHPTHUMB_CONFIG['disable_debug']            = true;   // prevent phpThumb from displaying any information about your system. If true, phpThumbDebug and error messages will be disabled
191
$PHPTHUMB_CONFIG['allow_src_above_docroot']  = true;  // if true, allow src to be anywhere in filesystem; if false (default) only allow src within document_root
192
$PHPTHUMB_CONFIG['allow_src_above_phpthumb'] = true;   // if true (default), allow src to be anywhere in filesystem; if false only allow src within sub-directory of phpThumb installation
193
$PHPTHUMB_CONFIG['allow_parameter_file']     = false;  // if true, allow use of 'file' parameter; if false (default) the 'file' parameter is disabled/ignored
194
$PHPTHUMB_CONFIG['allow_parameter_goto']     = false;  // if true, allow use of 'goto' parameter; if false (default) the 'goto' parameter is disabled/ignored
195
196
// * HTTP UserAgent configuration
197
//$PHPTHUMB_CONFIG['http_user_agent'] = '';                                                                                      // PHP default: none
198
//$PHPTHUMB_CONFIG['http_user_agent'] = 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)';                                    // Windows XP, Internet Explorer
199
$PHPTHUMB_CONFIG['http_user_agent'] = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7'; // Windows XP, Firefox
200
201
// * Compatibility settings
202
$PHPTHUMB_CONFIG['disable_pathinfo_parsing']        = false;  // if true, $_SERVER[PATH_INFO] is not parsed. May be needed on some server configurations to allow normal behavior.
203
$PHPTHUMB_CONFIG['disable_imagecopyresampled']      = false;  // if true, ImageCopyResampled is replaced with ImageCopyResampleBicubic. May be needed for buggy versions of PHP-GD.
204
$PHPTHUMB_CONFIG['disable_onlycreateable_passthru'] = true;   // if true, any image that can be parsed by getimagesize() can be passed through; if false, only images that can be converted to GD by ImageCreateFrom(JPEG|GIF|PNG) functions are allowed
205
206
// * HTTP remote file opening settings
207
$PHPTHUMB_CONFIG['http_fopen_timeout']   = 10;   // timeout (in seconds) for fopen / curl / fsockopen
208
$PHPTHUMB_CONFIG['http_follow_redirect'] = true; // if true (default), follow "302 Found" redirects to new URL; if false, return error message
209
210
// * Speed optimizations configuration
211
$PHPTHUMB_CONFIG['use_exif_thumbnail_for_speed'] = true; // If true, and EXIF thumbnail is available, and is larger or equal to output image dimensions, use EXIF thumbnail rather than actual source image for generating thumbnail. Benefit is only speed, avoiding resizing large image.
212
$PHPTHUMB_CONFIG['allow_local_http_src']         = true; // If true, 'src' parameter can be "http://<thishostname>/path/image.ext" instead of just "/path/image.ext"; if false then display warning message to encourage more efficient local-filename calling.
213
214
// END USER CONFIGURATION SECTION
215
216
///////////////////////////////////////////////////////////////////////////////
217
218
// START DEFAULT PARAMETERS SECTION
219
// If any parameters are constant across ALL images, you can set them here
220
221
$PHPTHUMB_DEFAULTS_GETSTRINGOVERRIDE = true;  // if true, any parameters in the URL will override the defaults set here; if false, any parameters set here cannot be overridden in the URL
222
$PHPTHUMB_DEFAULTS_DISABLEGETPARAMS  = false; // if true, GETstring parameters will be ignored (except for 'src') and only below default parameters will be used; if false, both default and GETstring parameters will be used (depending on $PHPTHUMB_DEFAULTS_GETSTRINGOVERRIDE). Will be auto-set true if !empty($PHPTHUMB_CONFIG['cache_default_only_suffix'])
223
224
//$PHPTHUMB_DEFAULTS['w']    = 200;
225
//$PHPTHUMB_DEFAULTS['fltr'] = array('blur|10');
226
//$PHPTHUMB_DEFAULTS['q']    =  90;
227
228
// END DEFAULT PARAMETERS SECTION
229
230
///////////////////////////////////////////////////////////////////////////////
231
// Function for generating hashed calls to phpThumb if 'high_security_enabled'
232
// example:
233
//   require_once($_SERVER['DOCUMENT_ROOT'].'/phpThumb/phpThumb.config.php');
234
//   echo '<img src="'.phpThumbURL('src=/images/pic.jpg&w=50').'">';
235
236
/**
237
 * @param $ParameterString
238
 * @return string
239
 */
240
function phpThumbURL($ParameterString)
241
{
242
    global $PHPTHUMB_CONFIG;
243
244
    return str_replace(@$PHPTHUMB_CONFIG['document_root'], '', __DIR__) . DIRECTORY_SEPARATOR . 'phpThumb.php?' . $ParameterString . '&hash=' . md5($ParameterString
245
                                                                                                                                                    . @$PHPTHUMB_CONFIG['high_security_password']);
246
}
247
248
///////////////////////////////////////////////////////////////////////////////
249