| 1 | ////////////////////////////////////////////////////////////// |
|---|
| 2 | /// phpThumb() by James Heinrich <info@silisoftware.com> // |
|---|
| 3 | // available at http://phpthumb.sourceforge.net /// |
|---|
| 4 | ////////////////////////////////////////////////////////////// |
|---|
| 5 | |
|---|
| 6 | ¤ = structure change or important new feature |
|---|
| 7 | * = less important new feature or change |
|---|
| 8 | |
|---|
| 9 | v1.7.7 - December ??, 2006 |
|---|
| 10 | ¤ Added phpThumb.demo.gallery.php -- basic image gallery demo |
|---|
| 11 | ¤ Added option for image watermark for anti-hotlinking. See |
|---|
| 12 | phpThumb.config.php "nooffsitelink_watermark_src" |
|---|
| 13 | (thanks rik_helsenØrad*be) |
|---|
| 14 | ¤ Added config option "imagemagick_use_thumbnail" to control |
|---|
| 15 | use of ImageMagick's "-thumbnail" command vs "-resize" (the |
|---|
| 16 | former discards non-visible metadata, the latter retains it) |
|---|
| 17 | Most times you want the smallest filesize so keep the default |
|---|
| 18 | setting (imagemagick_use_thumbnail==true) |
|---|
| 19 | (thanks niklasØmysticalgarden*se) |
|---|
| 20 | * Bugfix [#1620056]: EnsureDirectoryExists() failed to create |
|---|
| 21 | some directory structures (thanks jeromyØlocallinux*com) |
|---|
| 22 | * Bugfix [#1620056]: CleanUpCacheDirectory() would not purge |
|---|
| 23 | files from subdirectories if (cache_directory_depth > 0) |
|---|
| 24 | (thanks kingsquareØusers*sourceforge*net) |
|---|
| 25 | * Bugfix: nooffsitelink_* broken when running on non-standard |
|---|
| 26 | HTTP port (thanks marianbucur17Øyahoo*com) |
|---|
| 27 | |
|---|
| 28 | |
|---|
| 29 | v1.7.6 - December 09, 2006 |
|---|
| 30 | ¤ Added "sia" (Save Image As) parameter to provide default |
|---|
| 31 | filename when saving generated thumbnails |
|---|
| 32 | (thanks web_mkØhotmail*com) |
|---|
| 33 | ¤ Changed "lvl" filter parameters, and added option to choose |
|---|
| 34 | between four different methods (two internal, two from |
|---|
| 35 | ImageMagick). Added configurable threshold parameter. |
|---|
| 36 | (thanks publicØwoktiny*com for code for new internal method) |
|---|
| 37 | ¤ "wb" (White Balance) filter now processed by ImageMagick |
|---|
| 38 | * Changed GD max source pixels to 1/6 (from 1/5) available |
|---|
| 39 | memory, and changed SourceImageIsTooLarge() to account for |
|---|
| 40 | already-used memory (if known) |
|---|
| 41 | * More graceful error handling in object mode when source |
|---|
| 42 | larger than PHP memory limit and ImageMagick unavailable |
|---|
| 43 | (thanks djasonØdjason*com) |
|---|
| 44 | * Added ImageMagickFormatsList() |
|---|
| 45 | * CleanUpCacheDirectory() now also purges zero-byte orphan |
|---|
| 46 | files left over from aborted thumbnailings |
|---|
| 47 | * Bugfix [#1606069]: Changed default urlencoded space |
|---|
| 48 | character from "+" to "%20" |
|---|
| 49 | * Bugfix [#1608664]: "Unsupported operand types" in "wmi" |
|---|
| 50 | filter (thanks haydurØhaydur*com; squidliberty) |
|---|
| 51 | * Bugfix: debug mode now supports text output in all modes |
|---|
| 52 | * Bugfix: ImageMagick creation attempted before GD creation |
|---|
| 53 | * Bugfix: no longer fails silently if GD creation runs out of |
|---|
| 54 | memory |
|---|
| 55 | * Bugfix: poor alpha rendering from PNG to GIF with ImageMagick |
|---|
| 56 | * Bugfix: "wb" filter had no effect when "lvl" filter applied |
|---|
| 57 | in ImageMagick instead of GD |
|---|
| 58 | |
|---|
| 59 | |
|---|
| 60 | v1.7.5 - October 03, 2006 |
|---|
| 61 | ¤ Deprecated parameters "err", "file", "goto" |
|---|
| 62 | ¤ Added broad cache directory feature (see phpThumb.config.php |
|---|
| 63 | "cache_directory_depth") to spread cache files across many |
|---|
| 64 | directories for improved performance and ability to store |
|---|
| 65 | very large numbers (30000+) of cached files |
|---|
| 66 | (thanks despoixØopenxtrem*com) |
|---|
| 67 | ¤ phpThumb now follows HTTP redirects (status=302) to new |
|---|
| 68 | HTTP image URLs (configurable: config_http_follow_redirect) |
|---|
| 69 | (thanks shannahØsfu*ca) |
|---|
| 70 | ¤ Added "rot" (ROTate) filter which is similar to "ra" parameter |
|---|
| 71 | but now allows rotation of output of other filters (for |
|---|
| 72 | example, rotate image after fltr[]=mask is applied) |
|---|
| 73 | (thanks markØwoodjoint*ca) |
|---|
| 74 | ¤ Added WBMP output support (built-in GD or via ImageMagick) |
|---|
| 75 | (code was already mostly present, just was not allowed format) |
|---|
| 76 | ¤ [#1567113] "wmi" filter now accepts both x and y margins |
|---|
| 77 | and can be in pixels or percent of thumbnail dimensions |
|---|
| 78 | (thanks squidlibertyØusers*sourceforge*net) |
|---|
| 79 | * "hist" filter now accepts both X and Y margins |
|---|
| 80 | * Added config variables: config_http_fopen_timeout = 10; |
|---|
| 81 | config_http_follow_redirect = true |
|---|
| 82 | * Changed MIME type for WBMP to image/vnd.wap.wbmp |
|---|
| 83 | * Bugfix: Check for GD format support before attempting output |
|---|
| 84 | * Bugfix: Opening HTTP source images with URL query parameters |
|---|
| 85 | was broken (eg: http://host/show?id=123) |
|---|
| 86 | (thanks ivo*beckersØinfopractica*nl) |
|---|
| 87 | |
|---|
| 88 | |
|---|
| 89 | v1.7.4 - August 17, 2006 |
|---|
| 90 | ¤ Improved version of /demo/phpThumb.demo.showpic.php uses |
|---|
| 91 | phpThumb.php so any filters can be applied, as well as |
|---|
| 92 | resized image popups. |
|---|
| 93 | New file: /demo/javascript_api.js |
|---|
| 94 | Uses Javascript API by James Austin <jamesdozØhotmail*com> |
|---|
| 95 | (http://aspandjavascript.co.uk/javascript/javascript_api/) |
|---|
| 96 | ¤ Added "sfn" (Source Frame Number) parameter to specify |
|---|
| 97 | source frame in multi-frame/multi-page source formats, such |
|---|
| 98 | as GIF, TIFF, PDF, etc (thanks despoixØopenxtrem*com) |
|---|
| 99 | ¤ Added "dpi" (Dots Per Inch) parameter to specify |
|---|
| 100 | rasterising resolution for vector source formats (PDF, WMF) |
|---|
| 101 | (requires ImageMagick) (thanks despoixØopenxtrem*com) |
|---|
| 102 | * Added /demo/phpThumb.demo.object.simple.php |
|---|
| 103 | * Added debug points inside GenerateThumbnail |
|---|
| 104 | * Explicit error message for unsupported PDF source images |
|---|
| 105 | * Bugfix: SafeURLread broken with GETstring parameters in |
|---|
| 106 | fsockopen mode |
|---|
| 107 | * Bugfix: [#1540523] CleanUpCacheDirectory() does not delete |
|---|
| 108 | files as expected (thanks patricksleeØusers*sourceforge*net)
|
|---|
| 109 | * Bugfix: added useful error message when no source specified |
|---|
| 110 | in object mode (thanks infoØdoepud*co*uk) |
|---|
| 111 | * Bugfix: timeout value ignored in URLreadFsock() |
|---|
| 112 | * Bugfix: timeout missing in SafeURLread CURL part |
|---|
| 113 | * Bugfix: ImageMagick now checked with --version (not -version) |
|---|
| 114 | * Bugfix: better ImageMagick (numeric) version number matching |
|---|
| 115 | * Bugfix: noGD errors showing up when GD imagecreate functions |
|---|
| 116 | fail and ImageMagick not available |
|---|
| 117 | (thanks caseyyØgmail*com) |
|---|
| 118 | * Bugfix: "-thumbnail" parameter not present in older versions |
|---|
| 119 | of ImageMagick, now using -resize if -thumbnail unavailable |
|---|
| 120 | (thanks atombomb96Øbtopenworld*com) |
|---|
| 121 | * Bugfix: "-resize" parameter requires explicit dimensions |
|---|
| 122 | ("100x100" instead of "100x") in older ImageMagick versions |
|---|
| 123 | (thanks atombomb96Øbtopenworld*com) |
|---|
| 124 | * Bugfix: phpThumb crashed with no output if ImageMagick failed |
|---|
| 125 | to resize but output image larger than max_source_pixels |
|---|
| 126 | (thanks atombomb96Øbtopenworld*com) |
|---|
| 127 | * Bugfix: phpThumb might die with no output on some large source |
|---|
| 128 | images when ImageMagick unavailable. |
|---|
| 129 | (thanks atombomb96Øbtopenworld*com) |
|---|
| 130 | |
|---|
| 131 | |
|---|
| 132 | v1.7.3 - July 11, 2006 |
|---|
| 133 | * Now returns useful message for HTTP sources if 404-file- |
|---|
| 134 | not-found (or similar) errors occur |
|---|
| 135 | * Added new fsockopen() section in SafeURLread() |
|---|
| 136 | * Removed PNG alpha warning for IE 7 (alpha PNGs now work) |
|---|
| 137 | * Bugfix: ImageMagick failing version check and dumping text |
|---|
| 138 | output (thanks infoØdevsystem*net) |
|---|
| 139 | * Bugfix: curl_exec failing with text output |
|---|
| 140 | (thanks infoØdevsystem*net) |
|---|
| 141 | * Bugfix: workaround for PHP Bug #36102 (fopen(http) crash |
|---|
| 142 | in PHP v4.4.2 |
|---|
| 143 | * Bugfix: "Unknown image type identified by..." problem when |
|---|
| 144 | opening http:// source images |
|---|
| 145 | (thanks webmasterØdanceage*com) |
|---|
| 146 | |
|---|
| 147 | |
|---|
| 148 | v1.7.2 - June 22, 2006 |
|---|
| 149 | ¤ [#1256693] Added $this->exif_raw_data which is returned |
|---|
| 150 | data from exif_read_data() on source image. |
|---|
| 151 | Requires PHP v4.2.0+ (thanks tebiØusers*sourceforge*net) |
|---|
| 152 | ¤ Added $this->outputImageData and RenderOutput() to allow |
|---|
| 153 | easy outputting of thumbnail data to a database or such. |
|---|
| 154 | Call RenderOutput() instead of RenderToFile() and then |
|---|
| 155 | access raw data in $this->outputImageData |
|---|
| 156 | (thanks r*cremerØswitch*nl) |
|---|
| 157 | ¤ Added 'crop' filter, which is applied after resizing (as |
|---|
| 158 | opposed to sx,sy,sw,sh which are before resizing) |
|---|
| 159 | (thanks scottØscottjehl*com) |
|---|
| 160 | * Enable creating new images with PATH_INFO style call |
|---|
| 161 | (thanks edenØinstyleit*com*au) |
|---|
| 162 | * Added warning message to encourage users not to use |
|---|
| 163 | full HTTP paths for "src" parameter |
|---|
| 164 | * Added fallback 'preg_quote' to phpthumb.functions.php in |
|---|
| 165 | case your PHP installation does not have preg_* functions |
|---|
| 166 | (thanks mortenØemeskay*dk) |
|---|
| 167 | * Added fallback 'imagesavealpha' if GD < v2.0.1 |
|---|
| 168 | (thanks oliver*heegerØweb*de) |
|---|
| 169 | * Added fallback 'imagealphablending' if GD < v2.0.1 |
|---|
| 170 | (thanks oliver*heegerØweb*de) |
|---|
| 171 | * Added 'nocache' parameter that suppresses writing to cache |
|---|
| 172 | file, but only if high_security_enabled is set |
|---|
| 173 | (thanks federicoØdonelleschi*com) |
|---|
| 174 | * Attempt to detect supported ImageMagick features |
|---|
| 175 | (thanks simonØjapancentre*com) |
|---|
| 176 | * Added temp dir detection to phpThumb.demo.check.php |
|---|
| 177 | * Added ImageMagick dir to phpThumb.demo.check.php |
|---|
| 178 | * Added ImageMagick features to phpThumb.demo.check.php |
|---|
| 179 | * Default (config_allow_src_above_docroot = true) when PHP |
|---|
| 180 | running in "cli" mode (thanks flobeeØgmail*com) |
|---|
| 181 | * Bugfix: [#1470791] 'iar' not working properly with |
|---|
| 182 | ImageMagick (thanks w1xØusers*sourceforge*net) |
|---|
| 183 | * Bugfix: [#1498564] illegal characters in cache filenames |
|---|
| 184 | (thanks carl-evertØusers*sourceforge*net) |
|---|
| 185 | * Bugfix: 'sx','sy','sw','sh','zc' cache parameters broken |
|---|
| 186 | (thanks federicoØdonelleschi*com) |
|---|
| 187 | * Bugfix: 'config_max_source_pixels' incorrectly handled |
|---|
| 188 | (thanks oliver*heegerØweb*de) |
|---|
| 189 | * Bugfix: 'aoe' not working properly |
|---|
| 190 | (thanks w1xØusers*sourceforge*net) |
|---|
| 191 | * Bugfix: setParameter() was broken for arrays |
|---|
| 192 | * Bugfix: setSourceFilename() wasn't setting 'src' |
|---|
| 193 | * Bugfix: suppress stat()-related file permission |
|---|
| 194 | notices (thanks lanceØmainecoastdesign*com) |
|---|
| 195 | * Bugfix: image format now initialized during ErrorImage() |
|---|
| 196 | * Bugfix: domain matching now case-insensitive |
|---|
| 197 | * Bugfix: some versions of ImageMagick not detected |
|---|
| 198 | (thanks arvidØfys*ku*dk) |
|---|
| 199 | * Bugfix: sometimes no image returned in safe_mode |
|---|
| 200 | (thanks bkainersØgmail*com) |
|---|
| 201 | * Bugfix: 'far' not always handled correctly |
|---|
| 202 | (thanks matthew*newtonØrealworldweb*com) |
|---|
| 203 | * Bugfix: PATH_INFO method not working if no filters specified |
|---|
| 204 | (thanks jjimenezØpracticaldata*com) |
|---|
| 205 | * Bugfix: first (internal) call to ImageMagickVersion() failed |
|---|
| 206 | under Windows |
|---|
| 207 | * Bugfix: Images source-cropped AND resized with ImageMagick were |
|---|
| 208 | wrong size (cropped size, not resized size) |
|---|
| 209 | (thanks joao*saleiroØwebfuel*pt) |
|---|
| 210 | * Bugfix: stat() warnings in CleanUpCacheDirectory() |
|---|
| 211 | (thanks christianØhss-haage*de) |
|---|
| 212 | * Bugfix: $PHPTHUMB_DEFAULTS not working when no other processing |
|---|
| 213 | parameters specified (thanks tbittnersØcox*net) |
|---|
| 214 | |
|---|
| 215 | |
|---|
| 216 | v1.7.1 - March 16, 2006 |
|---|
| 217 | * /demo/phpThumb.demo.check.php now checks: |
|---|
| 218 | - server software |
|---|
| 219 | - local and master config values (with ini_get and |
|---|
| 220 | get_cfg_var respectively) (thanks nEUTRonØgmx*tm) |
|---|
| 221 | - existance of assorted PHP functions and explains their |
|---|
| 222 | importance |
|---|
| 223 | * Bugfix: config_error_die_on_error now defaults to FALSE to |
|---|
| 224 | prevent object-mode errors dying in an error image |
|---|
| 225 | (thanks moshØtobt*de; riteshgupta1974Øgmail*com) |
|---|
| 226 | * Bugfix: setParameter() now handles array parameters (such |
|---|
| 227 | as 'fltr') by appending $value to $parameter |
|---|
| 228 | * Bugfix: /demo/phpThumb.demo.check.php incorrect CURL value |
|---|
| 229 | under PHP5 (thanks nEUTRonØgmx*tm) |
|---|
| 230 | * Bugfix: [#1439110] Limit fread() calls to 8kB |
|---|
| 231 | (see http://bugs.php.net/bug.php?id=35859) |
|---|
| 232 | (thanks andig2Øusers*sourceforge*net) |
|---|
| 233 | * Bugfix: Prevent RenderToFilename() from trying to render |
|---|
| 234 | to URLs (thanks Tim*MasseyØitrm*co*uk) |
|---|
| 235 | * Bugfix: [#1438657] missing path in phpThumbURL() |
|---|
| 236 | (thanks terracesØusers*sourceforge*net) |
|---|
| 237 | * Bugfix: zoomcrop was broken for non-square output |
|---|
| 238 | (thanks alisonØsemidivine*com, federicoØdonelleschi*com) |
|---|
| 239 | * Bugfix: suppress error messages when stat access to temp |
|---|
| 240 | dir is disabled (thanks rfineØvnuinc*com) |
|---|
| 241 | * Bugfix: ImageMagick processing was broken for source |
|---|
| 242 | images of types not supported by GetImageSize |
|---|
| 243 | (thanks rfineØvnuinc*com) |
|---|
| 244 | |
|---|
| 245 | v1.7.0 - February 15, 2006 |
|---|
| 246 | ¤ ImageMagick output is used directly far more frequently |
|---|
| 247 | for much improved speed and minor quality improvement. |
|---|
| 248 | ¤ ImageMagick now processes most of the image filters if |
|---|
| 249 | possible (will fall back to GD methods if unavailable) |
|---|
| 250 | ¤ GD support is now optional if ImageMagick is installed. |
|---|
| 251 | Known limitations include: |
|---|
| 252 | - no support for HTTP source images |
|---|
| 253 | - ICO output is buggy (in some ImageMagick versions) |
|---|
| 254 | - most &fltr[] filters don't work at all |
|---|
| 255 | - 'ar', 'ra', 'far' don't work |
|---|
| 256 | ¤ Added output support for ICO (icon) format (&f=ico). |
|---|
| 257 | Currently only supports single-image icons, but multi- |
|---|
| 258 | resolution support may be added in future versions |
|---|
| 259 | New file: phpthumb.ico.php |
|---|
| 260 | ¤ Added output support for BMP (bitmap) format (&f=bmp). |
|---|
| 261 | Currently only supports 24-bit RGB format (for simplicity) |
|---|
| 262 | ¤ Added new configuration & compatability checker |
|---|
| 263 | New file: demo/phpThumb.demo.check.php |
|---|
| 264 | * ImageMagick-generated thumbnails now have extra hidden |
|---|
| 265 | contents (EXIF data, etc) stripped (by using -thumbnail |
|---|
| 266 | instead of -resize) resulting in smaller filesizes |
|---|
| 267 | * Added background fill color, opacity and extent options to |
|---|
| 268 | 'wmt' filter (thanks craigØpc-fanatics*com) |
|---|
| 269 | * Added metacharacter (^*) support for 'wmt', currently: |
|---|
| 270 | source filesize in bytes (^Fb), kB (^Fk), MB (^Fm), |
|---|
| 271 | source image width (^X), source image height (^Y), |
|---|
| 272 | thumbnail width (^x), thumbnail height (^y) and caret (^^) |
|---|
| 273 | (Feature Request #1357815) |
|---|
| 274 | (thanks ticklemeozmoØusers*sourceforge*net) |
|---|
| 275 | * Moved ImageDestroy call from OutputThumbnail to end of |
|---|
| 276 | phpThumb.php to allow multiple calls to OutputThumbnail |
|---|
| 277 | * Added config_http_user_agent for site with browsersniffers |
|---|
| 278 | (thanks redrobØgmail*com) |
|---|
| 279 | * Added $PHPTHUMB_CONFIG['disable_pathinfo_parsing'] (default |
|---|
| 280 | false) which disables parsing $_SERVER[PATH_INFO] for |
|---|
| 281 | parameters. If you want to parse PATH_INFO, set to false |
|---|
| 282 | * Added $PHPTHUMB_CONFIG['disable_imagecopyresampled'] (default |
|---|
| 283 | false) which replaces ImageCopyResampled with |
|---|
| 284 | ImageCopyResampleBicubic for buggy PHP-GD versions |
|---|
| 285 | (thanks g*pelagattiØnetface*it) |
|---|
| 286 | * Added $PHPTHUMB_CONFIG['cache_prefix'] to allow sharing of |
|---|
| 287 | cache files across virtual servers (Feature Request #1395332) |
|---|
| 288 | (thanks doggyfrØusers*sourceforge*net) |
|---|
| 289 | * Added $PHPTHUMB_CONFIG['disable_onlycreateable_passthru'] with |
|---|
| 290 | default=true (increased speed) to allow direct passthru of |
|---|
| 291 | images that don't have GD support. (Feature Request #1396446) |
|---|
| 292 | (thanks zedboyØusers*sourceforge*net) |
|---|
| 293 | * Removed $PHPTHUMB_CONFIG['cache_differentiate_offsite'] because |
|---|
| 294 | it is now automatically tied in with nooffsitelink_enabled |
|---|
| 295 | (thanks doggysworldØlibertysurf*fr) |
|---|
| 296 | * Removed phpThumb.demo.cacheconvert2.php |
|---|
| 297 | * Debug messages are now passed back from filters |
|---|
| 298 | * $PHPTHUMB_CONFIG['cache_source_filemtime_ignore_remote'] now |
|---|
| 299 | defaults to true for much-improved cached performance |
|---|
| 300 | (thanks redrobØgmail*com) |
|---|
| 301 | * $PHPTHUMB_CONFIG['cache_differentiate_offsite'] now defaults |
|---|
| 302 | to false |
|---|
| 303 | * Added $PHPTHUMB_DEFAULTS['ar']='x' to phpThumb.config.php.default |
|---|
| 304 | * Added ImageDestroy($this->gdimg_source) to GenerateThumbnail() |
|---|
| 305 | to save memory before applying image filters |
|---|
| 306 | * gd_info() no longer member of phpthumb_functions |
|---|
| 307 | * cache files now default to using SERVER_NAME without 'www.' |
|---|
| 308 | * phpUnsharpMask::applyUnsharpMask() should be faster under PHP5 by |
|---|
| 309 | using ImageFilter(IMG_FILTER_GAUSSIAN_BLUR) when radius==1 |
|---|
| 310 | * Added alternate CURL method for HTTP source images if |
|---|
| 311 | allow_url_fopen is disabled (thanks webweberØmotiondraw*com) |
|---|
| 312 | * Replaced $this->osslash with DIRECTORY_SEPARATOR constant |
|---|
| 313 | * Bugfix: [#1398327] 'new' got broken (1x1 images) |
|---|
| 314 | * Bugfix: [#1412552] HTTP source images with special characters were |
|---|
| 315 | not getting urlencoded |
|---|
| 316 | * Bugfix: ImageSaveAlpha errors on GD v2.0.0 |
|---|
| 317 | * Bugfix: phpThumbDebug now entirely disabled if high_security=true |
|---|
| 318 | * Bugfix: source images with transparency lost transparency when |
|---|
| 319 | rotated (thanks roalklØyahoo*com) |
|---|
| 320 | * Bugfix: square source images were not resized when only (w|h)(p|l) |
|---|
| 321 | parameters passed |
|---|
| 322 | * Bugfix: source images are passed through unmodified in more cases |
|---|
| 323 | * Bugfix: ImageMagick not used on systems where it exists outside |
|---|
| 324 | defined open_basedir |
|---|
| 325 | * Bugfix: ImageMagickVersion() now returns correct versionstring |
|---|
| 326 | * Bugfix: ImageMagick warnings no longer cause ImageMagick to fail |
|---|
| 327 | * Bugfix: ErrorImage no longer fatal to phpThumbDebug |
|---|
| 328 | * Bugfix: "Array to string conversion" in foreach($a as $v) loops |
|---|
| 329 | (thanks zeeshanØtargetedmedia*co*uk) |
|---|
| 330 | * Bugfix: safe mode warnings in ImageCreateFromStringReplacement |
|---|
| 331 | (thanks adminØalex-home*net) |
|---|
| 332 | * Bugfix: nooffsitelink broken if !nooffsitelink_require_refer |
|---|
| 333 | (thanks depronØgmx*net) |
|---|
| 334 | * Bugfix: phpThumb failed when magic_quotes_runtime=true |
|---|
| 335 | (thanks stansawyerØyahoo*com) |
|---|
| 336 | * Bugfix: several issues with HTTP image sources |
|---|
| 337 | (thanks redrobØgmail*com) |
|---|
| 338 | * Bugfix: phpThumb_tempnam() would return incomplete temp filenames |
|---|
| 339 | under Windows, which may result in orphaned zero-byte temp files |
|---|
| 340 | in C:\ if multiple drives exist |
|---|
| 341 | |
|---|
| 342 | v1.6.2 - November 24, 2005 |
|---|
| 343 | ¤ Animated GIF output is now possible if ImageMagick is |
|---|
| 344 | available and no filters (other than resize) are applied |
|---|
| 345 | (thanks brandenbassØgmail*com for idea) |
|---|
| 346 | * Added $PHPTHUMB_CONFIG['cache_force_passthru'] to work |
|---|
| 347 | around cached-image-only-works-second-time issue |
|---|
| 348 | (thanks yakoØ11y11*com) |
|---|
| 349 | * Bugfix: black borders on some image edges |
|---|
| 350 | (thanks atelierØdelirius*ch && chuckØcatalyststudio*com) |
|---|
| 351 | * Bugfix: uncaught PHP warning in RenderToFile DebugMessage |
|---|
| 352 | * Bugfix: allow phpThumbDebug in noGD PHP installations |
|---|
| 353 | * Bugfix: 'hash' warning in high_security mode |
|---|
| 354 | (thanks bernhardØwtf*at) |
|---|
| 355 | * Bugfix: non-TTF rotated text watermarks now work (unrotated) |
|---|
| 356 | with no warnings if ImageRotate is unavailable |
|---|
| 357 | (thanks aparviaiØusers*sourceforge*net) |
|---|
| 358 | |
|---|
| 359 | v1.6.1 - August 26, 2005 |
|---|
| 360 | ¤ Filters now use GD functions where available (using |
|---|
| 361 | ImageFilter, only available in PHP v5.0.0+ with bundled |
|---|
| 362 | version of GD). Enabled for: colorize, negative, |
|---|
| 363 | grayscale, brightness, contrast, gaussian blur, selective |
|---|
| 364 | blur, mean removal (thanks donlaurØmac*com) |
|---|
| 365 | ¤ Added config_prefer_imagemagick (defaults=true) |
|---|
| 366 | ¤ Added phpthumb_filters::Grayscale() 'gray' |
|---|
| 367 | ¤ Added phpthumb_filters::ReduceColorDepth() 'rcd' |
|---|
| 368 | ¤ Added phpthumb_filters::Brightness() 'brit' |
|---|
| 369 | ¤ Added phpthumb_filters::Contrast() 'cont' |
|---|
| 370 | ¤ Added phpthumb_filters::Saturation() 'sat' |
|---|
| 371 | ¤ Added phpthumb_filters::EdgeDetect() 'edge' [PHP5 only] |
|---|
| 372 | ¤ Added phpthumb_filters::BlurGaussian() 'gblr' [PHP5 only] |
|---|
| 373 | ¤ Added phpthumb_filters::BlurSelective() 'gblr' [PHP5 only] |
|---|
| 374 | ¤ Added phpthumb_filters::MeanRemoval() 'mean' [PHP5 only] |
|---|
| 375 | ¤ Added phpthumb_filters::Smooth() 'smth' [PHP5 only] |
|---|
| 376 | * New timing debug info in phpThumbDebug |
|---|
| 377 | * Added config_cache_differentiate_offsite |
|---|
| 378 | * config_die_on_error now defaults to false |
|---|
| 379 | * ResolveSource works better |
|---|
| 380 | * cache filenames with 'fltr' parameters have changed |
|---|
| 381 | * Filters now skip processing if amount=0 or similar |
|---|
| 382 | * [#1263051] 'far' now accepts L,R,T,B,C as values giving |
|---|
| 383 | alignment of left/right/top/bottom/center respectively. |
|---|
| 384 | Old value of '1' defaults to centered |
|---|
| 385 | (thanks webgrappaØusers*sourceforge*net) |
|---|
| 386 | * Bugfix: RenderToFile() now fails properly when output format |
|---|
| 387 | is unknown |
|---|
| 388 | * Bugfix: PNG transparency wasn't working with 'far' |
|---|
| 389 | * Bugfix: source images with EXIF thumbnails that differ in |
|---|
| 390 | aspect ratio no longer use EXIF thumbnails as source unless |
|---|
| 391 | no other options exist |
|---|
| 392 | * Bugfix: setting 'src' with setParameter now invokes |
|---|
| 393 | setSourceFilename to properly set $this->sourceFilename |
|---|
| 394 | (thanks Gazou) |
|---|
| 395 | * Bugfix: 'zc' had poor quality when used with ImageMagick |
|---|
| 396 | * Bugfix: 'aoe' parameter broken when not using ImageMagick |
|---|
| 397 | (thanks frankieali4Øhotmail*com) |
|---|
| 398 | * Bugfix: fixed issue with symbolic links |
|---|
| 399 | (thanks hornet136Øgmail*com) |
|---|
| 400 | * Bugfix: config_max_source_pixels now defaults to same |
|---|
| 401 | calculation as used in phpThumb.config.php |
|---|
| 402 | (thanks vukshaØhotmail*com) |
|---|
| 403 | * Bugfix: Offsite cached thumbnails no longer use unique |
|---|
| 404 | referer (now either nothing or "_offsite") |
|---|
| 405 | (thanks swaayeØyahoo*com) |
|---|
| 406 | * Bugfix: "Unknown image type identified by <?ph" errors |
|---|
| 407 | in some installations (thanks frankieali4Øhotmail*com) |
|---|
| 408 | |
|---|
| 409 | v1.6.0 - July 18, 2005 |
|---|
| 410 | ¤ Included new file phpThumb.demo.random.php to select a |
|---|
| 411 | random image from a specified folder, optionally only |
|---|
| 412 | landscape and/or portrait and/or square images, and to |
|---|
| 413 | display it to phpThumb.php |
|---|
| 414 | (thanks mikeØgdaymate*nl) |
|---|
| 415 | ¤ Added /docs/phpthumb.faq.txt |
|---|
| 416 | ¤ Added /demo/readme.demos.txt |
|---|
| 417 | ¤ Added 'wp', 'hp', 'wl', 'hl', 'ws', 'hs' parameters for |
|---|
| 418 | width and height of portrait, landscape and square |
|---|
| 419 | images. This allows you to display any image aspect |
|---|
| 420 | ratio at the size you want without knowing ahead of time |
|---|
| 421 | whether the image is wide or tall. |
|---|
| 422 | (thanks mikeØgdaymate*nl) |
|---|
| 423 | ¤ phpThumb.php can now also be called by passing parameters |
|---|
| 424 | in $_SERVER['PATH_INFO']. Please see phpthumb.readme.txt |
|---|
| 425 | (thanks javierØguegue*net) |
|---|
| 426 | ¤ MySQL data pulling configuration moved from phpThumb.php |
|---|
| 427 | to phpThumb.config.php |
|---|
| 428 | * "file" and "goto" parameters are now disabled by |
|---|
| 429 | default (configurable in phpThumb.config.php but not |
|---|
| 430 | recommended) |
|---|
| 431 | * Cached files are now used from first instance, avoiding |
|---|
| 432 | call to OutputThumbnail and preventing browser-side |
|---|
| 433 | cache failure |
|---|
| 434 | * Added config_allow_src_above_docroot (default=false) to |
|---|
| 435 | prevent browsing filesystem outside document_root |
|---|
| 436 | (thanks davidØint0x80*com) |
|---|
| 437 | * Added config_allow_src_above_phpthumb (default=true) to |
|---|
| 438 | prevent access to files except in subdirectories of |
|---|
| 439 | phpThumb installation (thanks davidØint0x80*com) |
|---|
| 440 | * Added setParameter() and getParameter() functions |
|---|
| 441 | (thanks werner*kraussØhallstatt*net) |
|---|
| 442 | * SafeBackTick() renamed to SafeExec() and all execution |
|---|
| 443 | functions are tried (exec, shell_exec, system, passthru) |
|---|
| 444 | are tried in case one or more are disabled |
|---|
| 445 | (thanks bkainersØgmail*com) |
|---|
| 446 | * config_output_allow_enlarging has been removed from |
|---|
| 447 | phpthumb.class.php, and 'output_allow_enlarging' has |
|---|
| 448 | been removed from phpThumb.config.php |
|---|
| 449 | * New default detection method for |
|---|
| 450 | $PHPTHUMB_CONFIG['document_root'] |
|---|
| 451 | * Bugfix: inconsitant handling of boolean parameters |
|---|
| 452 | passed "0" (isset vs !empty()) (thanks manniØzapto*de) |
|---|
| 453 | * Bugfix: text watermarks now support multiple lines |
|---|
| 454 | (thanks hanno*vandenbergØhccnet*nl) |
|---|
| 455 | * Bugfix: suppress error message in |
|---|
| 456 | ImageCreateFromStringReplacement() |
|---|
| 457 | (thanks srimandadapuØyahoo*com) |
|---|
| 458 | * Bugfix: 'aoe' was ignored in object mode |
|---|
| 459 | (thanks tonyØnylink*com) |
|---|
| 460 | * Bugfix: ResolveFilenameToAbsolute() failed on non- |
|---|
| 461 | existant filenames (file to be written, for example) |
|---|
| 462 | * Bugfix: 'aoe' parameter was ignored in cache filename |
|---|
| 463 | (thanks tonyØnylink*com) |
|---|
| 464 | * Bugfix: non-TTF watermark text had inverted opacity |
|---|
| 465 | scale. All 'wmt' is now 100=opaque, 0=transparent |
|---|
| 466 | (thanks mailØmmjaeger*com) |
|---|
| 467 | * Bugfix: cache file failed if document_root had |
|---|
| 468 | trailing slash. (thanks lovingloboØgmail*com) |
|---|
| 469 | * Bugfix: [#1219422] Cache filename structure modified to |
|---|
| 470 | avoid excessively long filenames (cache filenames are |
|---|
| 471 | now limited to 142 characters + length of |
|---|
| 472 | $_SERVER['SERVER_NAME']) |
|---|
| 473 | (thanks trungieØusers*sourceforge*net) |
|---|
| 474 | * Bugfix: [#1211729] phpThumb.php fails to locate |
|---|
| 475 | phpThumb.config.php if the two files are in the same |
|---|
| 476 | directory but phpThumb.php is run through a sym link. |
|---|
| 477 | (thanks allanbushØusers*sourceforge*net) |
|---|
| 478 | |
|---|
| 479 | v1.5.4 - May 27, 2005 |
|---|
| 480 | * Security issue with passthrough addressed |
|---|
| 481 | (thanks davidØint0x80*com) |
|---|
| 482 | * 'wmt' now reads TTF fonts from the config font |
|---|
| 483 | directory, or from anywhere if a path is specified in |
|---|
| 484 | the font filename |
|---|
| 485 | (thanks mailØmmjaeger*com) |
|---|
| 486 | * Changed default error_die_on_source_failure to true in |
|---|
| 487 | phpThumb.config.php |
|---|
| 488 | * Bugfix: Firefox (possibly other browsers) did not like |
|---|
| 489 | the new (faster) cache retrieval method with Location |
|---|
| 490 | header redirection if the cached filename does not have |
|---|
| 491 | a recognized filename extension (.jpeg, .png, .gif). |
|---|
| 492 | Cached images have therefore been renamed from *_jpeg to |
|---|
| 493 | *.jpeg and the _qXX parameter has been removed for PNG |
|---|
| 494 | and GIF output. Please use the included cache renamer: |
|---|
| 495 | /demo/phpThumb.demo.cacheconvert2.php |
|---|
| 496 | (thanks mailØmmjaeger*com) |
|---|
| 497 | * Bugfix: Changed "Content-type" to "Content-Type" in all |
|---|
| 498 | header calls |
|---|
| 499 | * Bugfix: 'wmt' text opacity was broken |
|---|
| 500 | (thanks mstuhuØweb*de) |
|---|
| 501 | * Bugfix: variable name typo in phpThumb.demo.object.php |
|---|
| 502 | (thanks mbØmarko-bischof*de) |
|---|
| 503 | * Bugfix: no GD support for source image format now |
|---|
| 504 | reported as such for remote images |
|---|
| 505 | (thanks andgu842Østudent*liu*se) |
|---|
| 506 | * Bugfix: very narrow images no longer produce Invalid |
|---|
| 507 | Image Dimensions error (thanks mailØmmjaeger*com) |
|---|
| 508 | |
|---|
| 509 | v1.5.3 - May 4, 2005 |
|---|
| 510 | ¤ Added new filters: |
|---|
| 511 | - 'wb' (White Balance) [ex: &fltr[]=wb|<c>] |
|---|
| 512 | where <c> is the target hex color to white balance |
|---|
| 513 | on, this color is what "should be" white, or light |
|---|
| 514 | gray. The filter attempts to maintain brightness so |
|---|
| 515 | any gray color can theoretically be used. If <c> is |
|---|
| 516 | omitted the filter guesses based on brightest pixels |
|---|
| 517 | in each of RGB |
|---|
| 518 | ¤ Cached files are used by a Location header instead of |
|---|
| 519 | being passed through phpThumb.php using readfile |
|---|
| 520 | (thanks newtnØthrillnerds*com) |
|---|
| 521 | * Added 'cache_source_filemtime_ignore_local' and |
|---|
| 522 | 'cache_source_filemtime_ignore_remote' configurations |
|---|
| 523 | to ignore source modification and/or removal |
|---|
| 524 | (thanks raynerapeØgmail*com) |
|---|
| 525 | * Added 'md5s' parameter, which is the MD5 hash of the |
|---|
| 526 | source image -- if this parameter is passed with the |
|---|
| 527 | hash of the source image then the source image is not |
|---|
| 528 | checked for existance or modification and the cached |
|---|
| 529 | file is used (if available). If 'md5s' is passed an |
|---|
| 530 | empty string then phpThumb.php dies and outputs the |
|---|
| 531 | correct MD5 hash value. This parameter is the single- |
|---|
| 532 | file equivalent of 'cache_source_filemtime_ignore_*' |
|---|
| 533 | configuration paramters (thanks raynerapeØgmail*com) |
|---|
| 534 | * Added /demo/phpThumb.demo.object.php |
|---|
| 535 | * Unused parameter 'bgt' removed |
|---|
| 536 | * Added empty /cache/source/ directory to distribution |
|---|
| 537 | * Added /demo/ and /docs/ and /fonts/ directories |
|---|
| 538 | * Set default config_use_exif_thumbnail_for_speed = false |
|---|
| 539 | * Bugfix: Wrapped output buffering around all |
|---|
| 540 | include_once calls to prevent headers getting sent |
|---|
| 541 | accidentally |
|---|
| 542 | * Bugfix: md5_file and imagecolorallocatealpha calls |
|---|
| 543 | were undefined under PHP v4.1.x (thanks tomØemile*com) |
|---|
| 544 | * Bugfix: default 'f' parameter ('jpeg') overrode |
|---|
| 545 | config_output_format in object mode |
|---|
| 546 | (thanks mailØmmjaeger*com) |
|---|
| 547 | * Bugfix: suppressed error message for IIS shell_exec |
|---|
| 548 | errors (thanks tomØemile*com) |
|---|
| 549 | * Bugfix: Added PHP version check for stream_set_timeout |
|---|
| 550 | for HTTP sources (thanks raynerapeØgmail*com) |
|---|
| 551 | * Bugfix: overlay margins of 0.5-1.0 cause invalid image |
|---|
| 552 | dimensions error (thanks mailØmmjaeger*com) |
|---|
| 553 | * Bugfix: underlay margins were not working |
|---|
| 554 | (thanks mailØmmjaeger*com) |
|---|
| 555 | * Bugfix: [#1187735] EXIF thumbnails were incorrectly |
|---|
| 556 | output to the browser directly if requested thumbnail |
|---|
| 557 | exactly matched EXIF dimensions |
|---|
| 558 | (thanks rebootØusers*sourceforge*net) |
|---|
| 559 | |
|---|
| 560 | v1.5.2 - April 20, 2005 |
|---|
| 561 | ¤ phpThumb.config.php is renamed to |
|---|
| 562 | phpThumb.config.php.default to prevent accidental |
|---|
| 563 | overwriting. Please migrate your old settings to the new |
|---|
| 564 | file, delete your old config and rename the default to |
|---|
| 565 | phpThumb.config.php |
|---|
| 566 | ¤ Added new filters: |
|---|
| 567 | - 'blur' (Blur) [ex: &fltr[]=blur|<radius>] |
|---|
| 568 | where (0 < <radius> < 25) (default = 1) |
|---|
| 569 | (thanks thoensiØnetcom*no for code) |
|---|
| 570 | - 'hist' (Histogram) |
|---|
| 571 | [ex: &fltr[]=hist|<b>|<c>|<w>|<h>|<a>|<o>|<m>] |
|---|
| 572 | Where <b> is the color band(s) to display, from back |
|---|
| 573 | to front (one or more of "rgba*" for Red Green Blue |
|---|
| 574 | Alpha and Grayscale respectively); |
|---|
| 575 | <c> is a semicolon-seperated list of hex colors to |
|---|
| 576 | use for each graph band (defaults to FF0000, 00FF00, |
|---|
| 577 | 0000FF, 999999, FFFFFF respectively); |
|---|
| 578 | <w> and <h> are the width and height of the overlaid |
|---|
| 579 | histogram in pixels, or if <= 1 then percentage of |
|---|
| 580 | source image width/height; |
|---|
| 581 | <a> is the alignment (same as for "wmi" and "wmt"); |
|---|
| 582 | <o> is opacity from 0 to 100; |
|---|
| 583 | <m> is the edge (and inter-tile) margin in percent |
|---|
| 584 | - 'over' (OVERlay/underlay image) overlays an image on |
|---|
| 585 | the thumbnail, or overlays the thumbnail on another |
|---|
| 586 | image (to create a picture frame for example) |
|---|
| 587 | [ex: &fltr[]=over|<i>|<u>|<m>|<o>] |
|---|
| 588 | where <i> is the image filename; <u> is "0" (default) |
|---|
| 589 | for overlay the image on top of the thumbnail or "1" |
|---|
| 590 | for overlay the thumbnail on top of the image; <m> is |
|---|
| 591 | the margin - can be absolute pixels, or if < 1 is a |
|---|
| 592 | percentage of the thumbnail size [must be < 0.5] |
|---|
| 593 | (default is 0 for overlay and 10% for underlay); |
|---|
| 594 | <o> is opacity (0 = transparent, 100 = opaque) |
|---|
| 595 | (thanks raynerapeØgmail*com, shabazz3Ømsu*edu) |
|---|
| 596 | - 'gray' (GRAYscale) [ex: &fltr[]=gray] |
|---|
| 597 | is an alias to 100% desaturation |
|---|
| 598 | * New configuration 'cache_source_directory' allows the |
|---|
| 599 | unprocessed source image to be cached when source is |
|---|
| 600 | HTTP or from a database (thanks raynerapeØgmail*com) |
|---|
| 601 | * Added 'cache' subdirectory to phpThumb distribution |
|---|
| 602 | since this is the default location for the cache |
|---|
| 603 | folder. |
|---|
| 604 | * Default value for config_error_die_on_source_failure |
|---|
| 605 | changed to true (thanks shabazz3Ømsu*edu) |
|---|
| 606 | * Added checks to make sure $this->gdimg_output is a |
|---|
| 607 | resource before allowing calls to RenderToFile or |
|---|
| 608 | OutputThumbnail |
|---|
| 609 | * Better error messages when phpThumb.config.php missing |
|---|
| 610 | * Bugfix: watermark overlay margins were wrong |
|---|
| 611 | * Bugfix: 'lvl' filter no longer processes if not needed |
|---|
| 612 | * Bugfix: off-server thumbnail error message was wrong |
|---|
| 613 | * Bugfix: several PHP safe mode fixes |
|---|
| 614 | (thanks virginiaØalertbutnotalarmed*com) |
|---|
| 615 | * Bugfix: cache filenames broken for filter parameters |
|---|
| 616 | with paths (thanks srcericØusers.sourceforge.net) |
|---|
| 617 | |
|---|
| 618 | v1.5.1 - April 06, 2005 |
|---|
| 619 | * Added some security upgrades: |
|---|
| 620 | - 'config_*' parameters cannot be passed by GETstring |
|---|
| 621 | - 'config_nooffsitelink_require_refer' is a new option |
|---|
| 622 | (disabled by default) that only allows calls to |
|---|
| 623 | phpThumb() from a refering domain listed in |
|---|
| 624 | 'config_nooffsitelink_valid_domains' |
|---|
| 625 | - disallowed paramters now generate an error image if |
|---|
| 626 | present in the GETstring |
|---|
| 627 | - 'high_security_enabled' if set to true enabled new |
|---|
| 628 | mode of verification, and requires a small function |
|---|
| 629 | to generate a hash for calls to phpThumb: |
|---|
| 630 | echo '<img src="'.phpThumbURL('src=pic.jpg&w=50').'">'; |
|---|
| 631 | This function is supplied at the bottom of |
|---|
| 632 | phpThumb.config.php (thanks paulØstonie*co*uk) |
|---|
| 633 | ¤ Added new parameter "new" (phpThumb.php only) which can |
|---|
| 634 | create a new image without using "src" parameter. Set |
|---|
| 635 | "&new=<b>|<o>" where <b> is the background hex color, |
|---|
| 636 | <o> is (optional) opacity (0=transparent, 100=opaque). |
|---|
| 637 | (thanks mailØmmjaeger*com) |
|---|
| 638 | ¤ Added new filters: |
|---|
| 639 | - 'sep' (Sepia) [ex: &fltr[]=sep|<value>|<color>] |
|---|
| 640 | where <value> is a number between 0 and 100 for the |
|---|
| 641 | amount of colorization (default=50), and <color> is |
|---|
| 642 | the hex color to colorize to (default=A28065). |
|---|
| 643 | (thanks mailØmmjaeger*com) |
|---|
| 644 | - 'lvl' (Levels) [ex: &fltr[]=lvl|<channel>|<min>|<max> |
|---|
| 645 | where <channel> can be one of 'r', 'g', 'b', 'a' (for |
|---|
| 646 | Red, Green, Blue, Alpha respectively), or '*' for all |
|---|
| 647 | channels based on average grayscale value (default). |
|---|
| 648 | <min> and <max> are the clip points for the levels |
|---|
| 649 | (range = 0-255) and are set to clip 0.1% of each end |
|---|
| 650 | by default. Use -1 for min and/or max to invoke auto- |
|---|
| 651 | detect mode. Using default parameters (&fltr[]=lvl) |
|---|
| 652 | is similar to Auto Contrast in Adobe Photoshop. |
|---|
| 653 | * Bugfix: Image MIME header was incorrect for cached |
|---|
| 654 | images. |
|---|
| 655 | * Bugfix: Cache was broken for images pulled from a |
|---|
| 656 | database in phpThumb.php |
|---|
| 657 | (thanks dragutin*cvetkovicØdragontech-ltd*com) |
|---|
| 658 | * Bugfix: Hotlink/Offsite prevention was broken when |
|---|
| 659 | image was already cached. |
|---|
| 660 | * Bugfix: ImageMagick path was incorrect in some cases |
|---|
| 661 | (thanks joshgØtwcny*rr*com) |
|---|
| 662 | * Bugfix: ProportionalResize() in phpthumb.functions.php |
|---|
| 663 | had a broken check for default values |
|---|
| 664 | (thanks Bert*ClaeysØarinso*com) |
|---|
| 665 | * Bugfix: transparency now preserved for GIF & PNG input |
|---|
| 666 | (thanks tristanØcyrax*ch) |
|---|
| 667 | * Bugfix: transparency now supported for GIF output |
|---|
| 668 | (thanks j_ivanovØabv*bg) |
|---|
| 669 | * Bugfix: alpha transparency could be lost in ApplyMask() |
|---|
| 670 | (thanks analyzerxØgmail*com) |
|---|
| 671 | * Bugfix: errors on 16/32-bit BMPs |
|---|
| 672 | (thanks mattØhellstrominc*com) |
|---|
| 673 | * Bugfix: Added datestamp to cached filenames for remote |
|---|
| 674 | (HTTP) files, and better warning for caching |
|---|
| 675 | (thanks a*gambinoØabramo*it) |
|---|
| 676 | * Faster BMP parsing (thanks sgeppertØmail*utexas*edu) |
|---|
| 677 | * Added 'error_die_on_source_failure' configuration to |
|---|
| 678 | allow invalid source images to show an error rather |
|---|
| 679 | than output unmodified source image. |
|---|
| 680 | (thanks mindpixelØgmail*com) |
|---|
| 681 | * Added $phpThumb->fatalerror which will contain the |
|---|
| 682 | text of the fatal error if 'error_die_on_error' is |
|---|
| 683 | false. (thanks mindpixelØgmail*com) |
|---|
| 684 | |
|---|
| 685 | v1.5.0 - February 4, 2005 |
|---|
| 686 | * Added new filter parameter 'fltr' that is an array and |
|---|
| 687 | can apply multiple effects in sequence. Current filters |
|---|
| 688 | that can be called are: |
|---|
| 689 | - 'gam' (Gamma Correction) [ex: &fltr[]=gam|<value>] |
|---|
| 690 | where <value> can be a number >0 to 10+ (default 1.0) |
|---|
| 691 | - 'ds' (DeSaturate) [ex: &fltr[]=ds|<value>] |
|---|
| 692 | where <value> is a number between zero (no change) |
|---|
| 693 | and 100 (complete desaturation -- grayscale), or it |
|---|
| 694 | can be a negative number for saturation boost. |
|---|
| 695 | (thanks mailØmmjaeger*com) |
|---|
| 696 | - 'clr' (Colorize) [ex: &fltr[]=clr|<value>|<color>] |
|---|
| 697 | where <value> is a number between 0 and 100 for the |
|---|
| 698 | amount of colorization, and <color> is the hex color |
|---|
| 699 | to colorize to. (thanks mailØmmjaeger*com) |
|---|
| 700 | - 'neg' (Negative) [ex: &fltr[]=neg] |
|---|
| 701 | inverts the color |
|---|
| 702 | - 'th' (ThresHold) [ex: &fltr[]=th|<val>] (range 0-255) |
|---|
| 703 | every grayscale pixel brighter than <val> is set to |
|---|
| 704 | white, every darker pixel is set to black |
|---|
| 705 | (thanks mailØmmjaeger*com) |
|---|
| 706 | - 'usm' (UnSharpMask) [ex: &fltr[]=usm|<a>|<r>|<t>] |
|---|
| 707 | where <a> is the amount (default = 80), <r> is the |
|---|
| 708 | radius (default = 0.5), <t> is the threshold |
|---|
| 709 | (default = 3). |
|---|
| 710 | - 'wmi' (WaterMarkImage) |
|---|
| 711 | [ex: &fltr[]=wmi|<f>|<a>|<o>|<m>] where <f> is the |
|---|
| 712 | filename of the image to overlay, <a> is the |
|---|
| 713 | alignment (one of BR, BL, TR, TL, C, R, L, T, B, * |
|---|
| 714 | where B=bottom, T=top, L=left, R=right, C=centre, |
|---|
| 715 | *=tile), <o> is opacity from 0 to 100, <m> is the |
|---|
| 716 | edge (and inter-tile) margin in percent |
|---|
| 717 | - 'wmt' (WaterMarkText) |
|---|
| 718 | [ex: &fltr[]=wmt|<t>|<s>|<a>|<c>|<f>|<o>|<m>|<n>] |
|---|
| 719 | where: |
|---|
| 720 | <t> is the text to use as a watermark, |
|---|
| 721 | <s> is the font size (1-5 for built-in font, or point |
|---|
| 722 | size for TrueType fonts), |
|---|
| 723 | <a> is the alignment (one of BR, BL, TR, TL, C, R, L, |
|---|
| 724 | T, B, * where B=bottom, T=top, L=left, R=right, |
|---|
| 725 | C=centre, *=tile), |
|---|
| 726 | <c> is the hex color of the text |
|---|
| 727 | <f> is the filename of the TTF file (optional, if |
|---|
| 728 | omitted a built-in font will be used) |
|---|
| 729 | <o> is opacity from 0 to 100, |
|---|
| 730 | <m> is the edge (and inter-tile) margin in percent |
|---|
| 731 | <n> is the angle |
|---|
| 732 | (thanks mailØmmjaeger*com) |
|---|
| 733 | - 'flip' [ex: &fltr[]=flip|x or &fltr[]=flip|y] |
|---|
| 734 | flip image on X or Y axis |
|---|
| 735 | (thanks mailØmmjaeger*com) |
|---|
| 736 | - 'elip' [ex: &fltr[]=elip] |
|---|
| 737 | similar to rounded corners but more extreme |
|---|
| 738 | (thanks mailØmmjaeger*com) |
|---|
| 739 | - 'mask' [ex: &fltr[]=mask|filename.png] |
|---|
| 740 | greyscale values of mask are applied as the alpha |
|---|
| 741 | channel to the main image. White is opaque, black |
|---|
| 742 | is transparent. |
|---|
| 743 | - 'bvl' (BeVeL) [ex: &fltr[]=bvl|<w>|<c1>|<c2>] |
|---|
| 744 | where <w> is the bevel width, <c1> is the hex color |
|---|
| 745 | for the top and left shading, <c2> is the hex color |
|---|
| 746 | for the bottom and right shading |
|---|
| 747 | (thanks mailØmmjaeger*com) |
|---|
| 748 | - 'fram' (FRAMe) draws a frame, similar to border but |
|---|
| 749 | more configurable (thanks mailØmmjaeger*com) |
|---|
| 750 | [ex: &fltr[]=fram|<w1>|<w2>|<c1>|<c2>|<c3>] |
|---|
| 751 | where <w1> is the width of the main border, <w2> is |
|---|
| 752 | the width of each side of the bevel part, <c1> is the |
|---|
| 753 | hex color of the main border, <c2> is the highlight |
|---|
| 754 | bevel color, <c3> is the shadow bevel color |
|---|
| 755 | - 'drop' (DROP shadow) |
|---|
| 756 | [ex: &fltr[]=drop|<d>|<w>|<clr>|<a>] |
|---|
| 757 | where <d> is distance from image to shadow, <w> is |
|---|
| 758 | width of shadow fade (not yet implemented), <clr> is |
|---|
| 759 | the hex color of the shadow, and <a> is the angle of |
|---|
| 760 | the shadow (default=225) |
|---|
| 761 | - 'ric' (Rounded Image Corners) |
|---|
| 762 | [ex: &fltr[]=ric|<x>|<y>] |
|---|
| 763 | where <x> is the horizontal corner radius, |
|---|
| 764 | <y> is the vertical corner radius |
|---|
| 765 | * Split out filter functions into phpthumb.filters.php |
|---|
| 766 | * 'usa','usr','ust' parameters have been removed and |
|---|
| 767 | replaced with the 'fltr' call (see above) |
|---|
| 768 | * 'wmf','wma','wmp','wmm' parameters have been removed |
|---|
| 769 | and replaced with the 'fltr' call (see above) |
|---|
| 770 | * 'brx','bry','bw' parameters have been removed |
|---|
| 771 | and replaced with the 'fltr' call (see above) |
|---|
| 772 | * 'bw=0' to force aspect ratio has been replaced by |
|---|
| 773 | 'far=1' (force aspect ratio) |
|---|
| 774 | * Filters that produce transparent sections (such as |
|---|
| 775 | Rounded Corners, Ellipse, Mask, Rotate) are now output |
|---|
| 776 | as 32-bit/alpha PNG, or flattened with "bg" background |
|---|
| 777 | color for JPEG/GIF output (thanks mailØmmjaeger*com) |
|---|
| 778 | * Added 'zc' (Zoom Crop) parameter |
|---|
| 779 | (thanks arcookeØgmail*com, mailØmmjaeger*com, |
|---|
| 780 | pl16056Ømacnews*de, kezzasmØusers*sourceforge*net, etc) |
|---|
| 781 | * AutoRotate now can use EXIF orientation tag ('ar=x') |
|---|
| 782 | * Added 'ttf_directory' configuration parameter for |
|---|
| 783 | TrueType watermarks (thanks mailØmmjaeger*com) |
|---|
| 784 | * Added "Last-Modified" header to cache portion of |
|---|
| 785 | phpThumb.php which should allow better user-side |
|---|
| 786 | caching of thumbnails. (thanks derekØnetsimple*net) |
|---|
| 787 | * Added 'cache_disable_warning' configuration which will |
|---|
| 788 | cause an error image to be displayed if the cache |
|---|
| 789 | directory isn't configured, unless explicitly disabled |
|---|
| 790 | * Added 'nooffsitelink_enabled' configuration which |
|---|
| 791 | prevents linking to thumbnails on your server from |
|---|
| 792 | another domain. Defaults to watermaking linked images |
|---|
| 793 | with text warning message. |
|---|
| 794 | (thanks anteØabstraktmedia*com) |
|---|
| 795 | * Added 'error_image_width' & 'error_image_height' |
|---|
| 796 | config variables (thanks mailØmmjaeger*com) |
|---|
| 797 | * Rounded image corners now requires GD v2.0.1 and PHP |
|---|
| 798 | v4.3.2. Corners are transparent (for PNG output) and |
|---|
| 799 | antialiased. |
|---|
| 800 | * Rotate by arbitary angle ('ra') now has a transparent |
|---|
| 801 | background for PNG output |
|---|
| 802 | * Cached filenames now have an additional component for |
|---|
| 803 | applied filters |
|---|
| 804 | * Cached filenames now have an additional component for |
|---|
| 805 | HTTP referer, but only if the refering domain does not |
|---|
| 806 | match the domain of the server (designed to prevent |
|---|
| 807 | imaged linked from offsite with error message being |
|---|
| 808 | cached the same as the local cached version) |
|---|
| 809 | * Added setSourceImageResource() to allow use of an |
|---|
| 810 | existing GD image resource for thumbnailing |
|---|
| 811 | (thanks danØgonmad*co*uk) |
|---|
| 812 | * Now including phpThumb.demo.demo1.php (main demo page) |
|---|
| 813 | and phpThumb.demo.demo2.php (configurable demo page) |
|---|
| 814 | in the phpThumb() distribution |
|---|
| 815 | (thanks mailØmmjaeger*com) |
|---|
| 816 | * Added many more debugging/tracing message points |
|---|
| 817 | * Added set_time_limit(30) to phpThumb.php |
|---|
| 818 | * Bugfix: ImageMagick not used if `which convert` points |
|---|
| 819 | to a link and not a file (thanks bkainersØgmail*com) |
|---|
| 820 | * Bugfix: 'bgt' parameter was sometimes misspelled 'bct' |
|---|
| 821 | * Bugfix: 'wmm' couldn't be set to zero |
|---|
| 822 | * Bugfix: 'wmm' parameter was only applied to top/left of |
|---|
| 823 | image |
|---|
| 824 | * Bugfix: auto-detection of document_root failed on |
|---|
| 825 | Windows (thanks xbartvØhotmail*com) |
|---|
| 826 | * Bugfix: phpThumbDebug could be bypassed if EXIF |
|---|
| 827 | thumbnail present (thanks olgradinØcheckfree*com) |
|---|
| 828 | * Bugfix: cache file wasn't being written if EXIF data |
|---|
| 829 | was used directly (thanks olgradinØcheckfree*com) |
|---|
| 830 | * Bugfix: phpThumb.demo.showpic.php was broken by popup |
|---|
| 831 | blockers for images larger than the screen. |
|---|
| 832 | (thanks mailØmmjaeger*com) |
|---|
| 833 | |
|---|
| 834 | v1.4.11 - October 11, 2004 |
|---|
| 835 | * Changed sx/sy/sw/sh parameters to allow decimal values |
|---|
| 836 | (>0 but <1) to represent percent of source image |
|---|
| 837 | (thanks mordorØdefault*co*yu) |
|---|
| 838 | * Added config_error_silent_die_on_error for no-output |
|---|
| 839 | die on fatal errors (thanks johannesØformformat*se) |
|---|
| 840 | * Added auto-detection of probable 'document_root' if |
|---|
| 841 | that key is not available in $_SERVER |
|---|
| 842 | * Bugfix: Check `which convert` failing with error |
|---|
| 843 | message (thanks chadØchadshome*com) |
|---|
| 844 | * Bugfix: Image cropping to invalid areas outside source |
|---|
| 845 | image caused text output (thanks mordorØdefault*co*yu) |
|---|
| 846 | |
|---|
| 847 | v1.4.10 - August 22, 2004 |
|---|
| 848 | * Bugfix: cached files not written in most cases |
|---|
| 849 | (thanks kizerØcourtkizer*com, snuffØinbox*ru) |
|---|
| 850 | * Bugfix: ApacheLookupURIarray() crashes in CGI mode |
|---|
| 851 | (thanks hanskrentelØyahoo*de) |
|---|
| 852 | * Bugfix: phpthumb_bmpfile2gd() was broken |
|---|
| 853 | (thanks iØmindlace*net) |
|---|
| 854 | |
|---|
| 855 | v1.4.9 - August 9, 2004 |
|---|
| 856 | * Bugfix: changed destination filename in RenderToFile() |
|---|
| 857 | (thanks alextkØwalla*com) |
|---|
| 858 | * Bugfix: problems with HTTP image source when called as |
|---|
| 859 | an object (thanks alextkØwalla*com) |
|---|
| 860 | |
|---|
| 861 | v1.4.8 - August 4, 2004 |
|---|
| 862 | * $this->error has changed to $this->errors and is now |
|---|
| 863 | an array of strings (instead of a single string) |
|---|
| 864 | * A lot more error conditions (invalid cache directory, |
|---|
| 865 | etc) are now reported in $this->errors |
|---|
| 866 | (thanks aidan*slingsbyØlineone*net) |
|---|
| 867 | * Removed all define(CONSTANT) in the phpThumb() |
|---|
| 868 | constructor - you can now access: |
|---|
| 869 | - PHPTHUMB_VERSION == $this->phpthumb_version; |
|---|
| 870 | - PHPTHUMB_OSSLASH == $this->osslash; |
|---|
| 871 | - PHPTHUMB_ISWINDOWS == $this->iswindows; |
|---|
| 872 | * Bugfix: Error message from apache_lookup_uri() failing |
|---|
| 873 | under Apache2 now reported cleanly |
|---|
| 874 | (thanks derbaffØyahoo*com) |
|---|
| 875 | * Bugfix: missing phpthumb_functions:: class name for |
|---|
| 876 | ImageTypeToMIMEtype() call in ExtractEXIFgetImageSize() |
|---|
| 877 | (thanks aidan*slingsbyØlineone*net) |
|---|
| 878 | * Bugfix: ImageTypeToMIMEtype() was broken for PHP older |
|---|
| 879 | than v4.3.0 (thanks georg*schreiberØbatch-pc*es) |
|---|
| 880 | * Bugfix: RenderToFile() now returns false if it fails |
|---|
| 881 | (thanks phpthumbØsendthemtomir*com) |
|---|
| 882 | * Bugfix: Corrupt JPEG/PNG/GIF files that failed |
|---|
| 883 | ImageCreateFrom*() were not being passed to ImageMagick |
|---|
| 884 | for fallback, nor passed through unmodified if IM was |
|---|
| 885 | unavailable or failed (thanks r*chongØmogenic*net) |
|---|
| 886 | * Bugfix: Improved backtick safe-mode limit detection |
|---|
| 887 | (thanks 1Øadamcarrington*com) |
|---|
| 888 | * Bugfix: EXIF thumbnails were being used as source when |
|---|
| 889 | they should not be (thanks aidan*slingsbyØlineone*net) |
|---|
| 890 | * Bugfix: Cached files were not being created or used |
|---|
| 891 | properly (thanks aidan*slingsbyØlineone*net) |
|---|
| 892 | * Bugfix: max_source_pixels not set correct on some PHP |
|---|
| 893 | versions (thanks derbaffØyahoo*com) |
|---|
| 894 | * Bugfix: 'down' parameter ignored for unprocessed and |
|---|
| 895 | cached files (thanks aidan*slingsbyØlineone*net) |
|---|
| 896 | |
|---|
| 897 | v1.4.7 - July 27, 2004 |
|---|
| 898 | * Included a modified version of "module.graphic.bmp.php" |
|---|
| 899 | from getID3() [http://getid3.sourceforge.net] as |
|---|
| 900 | "phpthumb.bmp.php" for BMP reading support without |
|---|
| 901 | ImageMagick. It works, but it's *very* slow, especially |
|---|
| 902 | for large images (as in 640x480 or larger). |
|---|
| 903 | * Added check to prevent error messages when shell_exec |
|---|
| 904 | is disabled (thanks webmasterØneester*com) |
|---|
| 905 | |
|---|
| 906 | v1.4.6 - July 22, 2004 |
|---|
| 907 | * Added new section to phpthumb.config.php where you can |
|---|
| 908 | easily specify defaults for any parameter you can set |
|---|
| 909 | in the URL. Normally URL parameters override these |
|---|
| 910 | default values, unless you set |
|---|
| 911 | $PHPTHUMB_DEFAULTS_GETSTRINGOVERRIDE to false |
|---|
| 912 | * Renamed phpthumb.config.php to phpThumb.config.php |
|---|
| 913 | since it's part of phpThumb.php, not part of |
|---|
| 914 | phpthumb.class.php (change of case only, will not |
|---|
| 915 | affect Windows servers, but will affect *nix) |
|---|
| 916 | * Changed cached filename of rawImageData-source images |
|---|
| 917 | from urlencode('') to md5(rawImageData). This should |
|---|
| 918 | make caching thumbnails from non-file sources more |
|---|
| 919 | reliable. |
|---|
| 920 | * Added ImageMagick debugging information |
|---|
| 921 | * Removed unneccesary default values from cached |
|---|
| 922 | filenames. This may invalidate some previously cached |
|---|
| 923 | files. phpthumb.demo.cacheconvert.php has been updated |
|---|
| 924 | to handle v1.4.1-1.4.5 => v1.4.6+ cache filenames. |
|---|
| 925 | * Bugfix: Cached filename did not have file-modified |
|---|
| 926 | datestamp when used as implmented in phpThumb.php |
|---|
| 927 | * Bugfix: RenderToFile() now accepts relative filenames |
|---|
| 928 | (thanks aidan*slingsbyØlineone*net) |
|---|
| 929 | * Bugfix: AllowOutputEnlargment setting was ignored when |
|---|
| 930 | falling back to ImageMagick |
|---|
| 931 | * Bugfix: IgnoreAspectRatio setting was ignored when |
|---|
| 932 | falling back to ImageMagick |
|---|
| 933 | * Bugfix: config_temp_directory was ignored in gd_info() |
|---|
| 934 | in PHP < v4.3.0 when phpinfo() returns no GD |
|---|
| 935 | information (due to safe mode restrictions) |
|---|
| 936 | (thanks mimyrtekØmyrtek*com) |
|---|
| 937 | |
|---|
| 938 | v1.4.5 - June 28, 2004 |
|---|
| 939 | * Added new parameter 'down' where you can specify a |
|---|
| 940 | filename and OutputThumbnail() will cause the file |
|---|
| 941 | to be downloaded rather than displayed in the browser. |
|---|
| 942 | Demo images on silisoftware.com/scripts/phpThumb/demo/ |
|---|
| 943 | can all be downloaded to show off this feature. |
|---|
| 944 | (thanks stuartscrumpØyahoo*co*uk) |
|---|
| 945 | * Added ability to remove old files from cache directory |
|---|
| 946 | based on last-access time and/or number of cached files |
|---|
| 947 | and/or total size of cached files |
|---|
| 948 | (thanks jrmhaigØyahoo*co*uk) |
|---|
| 949 | * Added public CleanUpCacheDirectory() for cache cleaning |
|---|
| 950 | (see above) if you need to call it manually |
|---|
| 951 | * Included new file phpThumb.demo.cacheconvert.php to |
|---|
| 952 | convert old-style cache names to the current (and |
|---|
| 953 | hopefully last!) standard naming convention. |
|---|
| 954 | (thanks joshgØtwcny*rr*com) |
|---|
| 955 | * Added configuration value 'document_root' for rare case |
|---|
| 956 | when $_SERVER['DOCUMENT_ROOT'] return incorrect value |
|---|
| 957 | (thanks joshgØtwcny*rr*com) |
|---|
| 958 | * Now tries to create thumbnail with ImageMagick if |
|---|
| 959 | ImageCreateFromJPEG etc fails, before falling back to |
|---|
| 960 | outputting unmodified source data. |
|---|
| 961 | * Bugfix: HTTP image sources were broken |
|---|
| 962 | (thanks fritz*weisshartØt-online*de) |
|---|
| 963 | * Bugfix: ImageMagick callout wasn't being used if EXIF |
|---|
| 964 | thumbnail was available |
|---|
| 965 | (thanks joshgØtwcny*rr*com) |
|---|
| 966 | * Bugfix: HTTP src with space in filename was broken |
|---|
| 967 | (thanks drØrhodes360*com) |
|---|
| 968 | * Bugfix: version_compare_replacement() was broken for |
|---|
| 969 | PHP v4.1.0+ |
|---|
| 970 | |
|---|
| 971 | v1.4.4 - June 8, 2004 |
|---|
| 972 | * Bugfix: network-share (Windows) source filenames were |
|---|
| 973 | not possible. Now works, but you must use the network |
|---|
| 974 | name and not a mapped drive name, for example: |
|---|
| 975 | \\othercomputer\file.jpg - good |
|---|
| 976 | \\192.168.2.1\file.jpg - good |
|---|
| 977 | z:\file.jpg - won't work |
|---|
| 978 | This is a PHP limitation (see www.php.net/file-exists) |
|---|
| 979 | Note: you may want to use "/" slashes instead of "\" if |
|---|
| 980 | you have magic_quotes_gpc enabled to avoid stripslashes |
|---|
| 981 | problems. |
|---|
| 982 | (thanks drØrhodes360*com) |
|---|
| 983 | * Bugfix: missing "phpthumb_functions::" in |
|---|
| 984 | ImageCreateFromStringReplacement() |
|---|
| 985 | (thanks zapletalØsoftwaremedia*cz) |
|---|
| 986 | |
|---|
| 987 | v1.4.3 - May 25, 2004 |
|---|
| 988 | * Added new configuration variable 'config_temp_directory' |
|---|
| 989 | to allow you to specify a writable directory name for |
|---|
| 990 | temp files if you do not have access to the system temp |
|---|
| 991 | directory on your server (Safe Mode restrictions etc) |
|---|
| 992 | (thanks nickØregenmag*com) |
|---|
| 993 | * Added new configuration variable |
|---|
| 994 | 'config_error_die_on_error' which can be set to false if |
|---|
| 995 | you want to retrieve the error message without having it |
|---|
| 996 | dumped as an image - the error message is now available |
|---|
| 997 | in $phpThumb->error |
|---|
| 998 | * Images are passed through directly with no processing |
|---|
| 999 | and no caching if no parameters are passed to alter the |
|---|
| 1000 | image (resize, crop, sharpening, etc) |
|---|
| 1001 | (thanks nchmuraØusers*sourceforge*net) |
|---|
| 1002 | * Added new configuration variable 'config_disable_debug' |
|---|
| 1003 | which disabled phpThumbDebug from working if you have |
|---|
| 1004 | security concerns about the displayed information |
|---|
| 1005 | * Bugfix: Added detection at the top of phpThumb.php for |
|---|
| 1006 | no-GD errors to avoid parse errors later in the code |
|---|
| 1007 | (thanks nickØregenmag*com) |
|---|
| 1008 | * Bugfix: RoundedImageCorners() had some off-by-1 errors |
|---|
| 1009 | (thanks ola*thunbergØhome*se) |
|---|
| 1010 | |
|---|
| 1011 | v1.4.2 - May 10, 2004 |
|---|
| 1012 | * Added IE-compatability mode for transparent corners |
|---|
| 1013 | (set 'bct=256') |
|---|
| 1014 | * Bugfix: version_compare_replacement() was broken in PHP |
|---|
| 1015 | older than 4.1.0 |
|---|
| 1016 | (thanks nickØregenmag*com) |
|---|
| 1017 | |
|---|
| 1018 | v1.4.1.1 - May 9, 2004 |
|---|
| 1019 | * Bugfix: Removed ImageTrueColorToPalette hack. |
|---|
| 1020 | See http://bugs.php.net/bug.php?id=28341 |
|---|
| 1021 | * Bugfix: 'maxb' option for PNG/GIF output incorrect |
|---|
| 1022 | bit depth under some circumstances |
|---|
| 1023 | |
|---|
| 1024 | v1.4.1 - May 9, 2004 |
|---|
| 1025 | * Added 'maxb' (MAXimum Bytes) option to auto-set the |
|---|
| 1026 | output image quality (JPEG) or bit depth (PNG/GIF) so |
|---|
| 1027 | that the output thumbnail is less than 'maxb' bytes |
|---|
| 1028 | (thanks e_belleØhotmail*com) |
|---|
| 1029 | * Added 'bgt' parameter to make rounded corners from |
|---|
| 1030 | 'brx'/'bry' option transparent when used with PNG |
|---|
| 1031 | output. Note: PHP/GD appears buggy at this time, so this |
|---|
| 1032 | option must force output to 256-color mode for this |
|---|
| 1033 | to work. The feature will be updated when a non-broken |
|---|
| 1034 | version of PHP/GD is released. |
|---|
| 1035 | (thanks javierØircorion*net) |
|---|
| 1036 | * Bugfix: Caching was broken |
|---|
| 1037 | (thanks mikeØgdaymate*nl, jurewiczØgo3*pl) |
|---|
| 1038 | |
|---|
| 1039 | v1.4.0 - April 30, 2004 |
|---|
| 1040 | * Rewritten as a PHP class. Split into several files: |
|---|
| 1041 | - phpthumb.class.php = most processing code |
|---|
| 1042 | - phpthumb.functions.php = support functions |
|---|
| 1043 | - phpthumb.readme.txt = usage instructions |
|---|
| 1044 | - phpthumb.changelog.txt = this file |
|---|
| 1045 | - phpthumb.config.php = configuration file |
|---|
| 1046 | - phpthumb.gif.php = Non-GD GIF reading support |
|---|
| 1047 | - phpthumb.unsharp.php = Unsharp Masking support |
|---|
| 1048 | - phpThumb.php = demo script that works |
|---|
| 1049 | exactly as previous versions; this is a drop-in |
|---|
| 1050 | replacement for existing phpThumb() installations |
|---|
| 1051 | - phpThumb.demo.showpic.php = demo script that auto- |
|---|
| 1052 | resizes a popup window to the size of the image |
|---|
| 1053 | shown. Useful if you want popup images but do not |
|---|
| 1054 | know the large image size beforehand |
|---|
| 1055 | * Added optional call-out to ImageMagick (if avaible) if |
|---|
| 1056 | source image is larger than PHP memory restrictions |
|---|
| 1057 | allow. ImageMagick installation should be auto-detected |
|---|
| 1058 | under *nix, but you should configure 'imagemagick_path' |
|---|
| 1059 | for use under Windows. |
|---|
| 1060 | * 'max_source_pixels' is now auto-calculated from PHP |
|---|
| 1061 | configuration settings. Due to various server-level |
|---|
| 1062 | restrictions that may override PHP settings this |
|---|
| 1063 | calculated value may not always be correct, and you may |
|---|
| 1064 | have to specify the value manually. |
|---|
| 1065 | * Added rounded-corner border option. You must specify |
|---|
| 1066 | both 'brx' (horizontal radius) and 'bry' (vertical |
|---|
| 1067 | radius) as well as 'bw' (border width). If 'bw' is |
|---|
| 1068 | greater than zero, the image will be shrunk to fit |
|---|
| 1069 | inside the border with a margin of background color. |
|---|
| 1070 | If 'bw' is zero, the corners of the image will be |
|---|
| 1071 | cut off and filled with background color. |
|---|
| 1072 | (thanks javierØircorion*net) |
|---|
| 1073 | * Minor speed improvement for unsharp masking |
|---|
| 1074 | |
|---|
| 1075 | v1.3.7 - March 28, 2004 |
|---|
| 1076 | * Bugfix: GD version detection was broken on PHP <4.3.0 |
|---|
| 1077 | on servers where phpinfo() was disabled |
|---|
| 1078 | (thanks javierØircorion*net) |
|---|
| 1079 | * Bugfix: Non-GD GIF support was broken on restricted |
|---|
| 1080 | PHP configurations |
|---|
| 1081 | (thanks javierØircorion*net) |
|---|
| 1082 | * Bugfix: phpThumb.gif.php output error messages if PHP |
|---|
| 1083 | was running in Safe Mode |
|---|
| 1084 | * Added 'iar' parameter (Ignore Aspect Ratio) to allow |
|---|
| 1085 | non-proportional resizing (stretch image to fit). |
|---|
| 1086 | You must specify 'h' and 'w' to use this option. |
|---|
| 1087 | (thanks javierØircorion*net) |
|---|
| 1088 | |
|---|
| 1089 | v1.3.6 - March 14, 2004 |
|---|
| 1090 | * Bugfix: was broken when register_globals turned on |
|---|
| 1091 | (thanks joshgØtwcny*rr*com) |
|---|
| 1092 | * Bugfix: Images with transparent backgrounds now have |
|---|
| 1093 | the background color filled with the color specified |
|---|
| 1094 | by the 'bg' parameter |
|---|
| 1095 | * Bugfix: ImageCreateFromString() is broken in the |
|---|
| 1096 | non-bundled GD. Added workaround, but please use |
|---|
| 1097 | the bundled version of GD if possible |
|---|
| 1098 | (thanks dnØxbe*ch) |
|---|
| 1099 | * Bugfix: EXIF thumbnail caching was broken |
|---|
| 1100 | * Bugfix: EXIF thumbnail handling was broken for PHP |
|---|
| 1101 | v4.2.x |
|---|
| 1102 | (thanks smithk1Øshaw*ca) |
|---|
| 1103 | * Bugfix: Image borders with GD2 were misaligned |
|---|
| 1104 | * Bugfix: virtual paths/filenames like /~user/foo.jpg |
|---|
| 1105 | should now work properly, if PHP is installed as an |
|---|
| 1106 | Apache module (see www.php.net/apache-lookup-uri) |
|---|
| 1107 | * Bugfix: contents of any non-image file could be |
|---|
| 1108 | displayed (including PHP & HTML files) |
|---|
| 1109 | (thanks arsyanØarsyan*com) |
|---|
| 1110 | * Added rotation parameters 'ra' and 'ar' |
|---|
| 1111 | (thanks drØrhodes360*com) |
|---|
| 1112 | * Added $CONFIG['output_allow_enlarging'], defaulted |
|---|
| 1113 | to false, to prevent smaller-than-max-size images |
|---|
| 1114 | from being enlarged beyond their original size. If |
|---|
| 1115 | you want to be able to enlarge images, set this to |
|---|
| 1116 | false. Can be overridden with the 'aoe' parameter |
|---|
| 1117 | (thanks dnØxbe*ch) |
|---|
| 1118 | * Changed all configuration variables to be under one |
|---|
| 1119 | array named $CONFIG |
|---|
| 1120 | * Moved color and font options for ErrorImage() to |
|---|
| 1121 | $CONFIG variables |
|---|
| 1122 | * Changed cached filename structure (again) to a more |
|---|
| 1123 | flexible format that can handle future expansion |
|---|
| 1124 | (old cached files are invalid and will be recreated) |
|---|
| 1125 | * Added more debugging code to phpThumbDebug |
|---|
| 1126 | |
|---|
| 1127 | v1.3.5 - February 29, 2004 |
|---|
| 1128 | * Added capability to use EXIF thumbnail that may be |
|---|
| 1129 | embedded in source image (often is in digital camera |
|---|
| 1130 | JPEGs) and source image dimensions are larger than |
|---|
| 1131 | $config_max_source_pixels. This will overcome the |
|---|
| 1132 | limitation where PHP runs out of memory processing |
|---|
| 1133 | large images (usually >1600x1200). EXIF thumbnail |
|---|
| 1134 | extraction requires PHP v4.2.0 or higher and EXIF |
|---|
| 1135 | support compiled into PHP (or php_exif extension) |
|---|
| 1136 | * Eliminated intermediate read-file-to-memory stage if |
|---|
| 1137 | image is created from local file. Should allow |
|---|
| 1138 | larger images to be processed without running out of |
|---|
| 1139 | memory. |
|---|
| 1140 | * Added optional 'goto' parameter to be used with the |
|---|
| 1141 | 'file' parameter, where 'goto' is a URL that is |
|---|
| 1142 | redirected to after image is rendered to file |
|---|
| 1143 | (thanks wimbleØwebdonors*com) |
|---|
| 1144 | * Added optional 'xto' parameter that will bypass all |
|---|
| 1145 | processing and just return the embedded EXIF |
|---|
| 1146 | thumbnail, if available. |
|---|
| 1147 | * Added error-handling if ImageTypes() is unavailable |
|---|
| 1148 | |
|---|
| 1149 | v1.3.4 - February 15, 2004 |
|---|
| 1150 | * Custom error image option (&err=img.jpg) which can |
|---|
| 1151 | also be set as $config_error_message_image_default |
|---|
| 1152 | (thanks carlØ4thstar*net) |
|---|
| 1153 | * &f=text will now output plain-text error messages |
|---|
| 1154 | * ErrorImage() now used for anti-hotlink messages (if |
|---|
| 1155 | $config_nohotlink_erase_image is true) |
|---|
| 1156 | |
|---|
| 1157 | v1.3.3 - February 5, 2004 |
|---|
| 1158 | * Bugfix: Added stripslashes() to filenames if |
|---|
| 1159 | magic_quotes_gpc is enabled |
|---|
| 1160 | (thanks arsyanØarsyan*com) |
|---|
| 1161 | * Output can now be rendered to a file only (not to |
|---|
| 1162 | browser) specified by the 'file' parameter |
|---|
| 1163 | (thanks arsyanØarsyan*com) |
|---|
| 1164 | * JPEG quality now has a maximum of 95%, as specified |
|---|
| 1165 | in the GD documentation |
|---|
| 1166 | |
|---|
| 1167 | v1.3.2.1 - February 3, 2004 |
|---|
| 1168 | * Bugfix: gd_version() was broken for GD v2.0+ |
|---|
| 1169 | * Bugfix: removed debugging code |
|---|
| 1170 | |
|---|
| 1171 | v1.3.2 - February 3, 2004 |
|---|
| 1172 | * Bugfix: when borders are enabled, portait images |
|---|
| 1173 | with no width constraint, or landscape images with |
|---|
| 1174 | no height constraint were smaller than neccesary by |
|---|
| 1175 | double the border width |
|---|
| 1176 | (thanks jjjØxs4all*nl) |
|---|
| 1177 | * Added unsharp mask option thanks to Torstein Hønsi: |
|---|
| 1178 | http://www.vikjavev.com/hovudsida/umtestside.php |
|---|
| 1179 | Note: requires GD v2.x to function |
|---|
| 1180 | (thanks jjjØxs4all*nl) |
|---|
| 1181 | * Updated cache filenames to reflect new parameters, |
|---|
| 1182 | this means old cached files will need to be deleted |
|---|
| 1183 | (or not, they just will never get called again) and |
|---|
| 1184 | new cached versions will be created. |
|---|
| 1185 | * Added caching to gd_info() calls for minor speedup |
|---|
| 1186 | |
|---|
| 1187 | v1.3.1 - February 2, 2004 |
|---|
| 1188 | * Added optional border (width and color configurable) |
|---|
| 1189 | (thanks arsyanØarsyan*com) |
|---|
| 1190 | * Added option to create fixed-dimension thumbnails |
|---|
| 1191 | regardless of source aspect ration. Set the 'bw' |
|---|
| 1192 | (BorderWidth) parameter (even to 0) and this will be |
|---|
| 1193 | enabled. Outside the actual image will be filled |
|---|
| 1194 | with 'bg' color (default FFFFFF) |
|---|
| 1195 | (thanks arsyanØarsyan*com) |
|---|
| 1196 | |
|---|
| 1197 | v1.3.0 - January 27, 2004 |
|---|
| 1198 | * Added watermarking option to overlay thumbnails with |
|---|
| 1199 | a semi-transparent watermark image (copied from a |
|---|
| 1200 | seperate source watermark image) |
|---|
| 1201 | (thanks arsyanØarsyan*com) |
|---|
| 1202 | * Added option for absolute filenames (on both Windows |
|---|
| 1203 | and *nix) outside the DOCUMENT_ROOT directory |
|---|
| 1204 | * Added debug output dump for diagnosing problems) |
|---|
| 1205 | |
|---|
| 1206 | v1.2.8 - January 19, 2004 |
|---|
| 1207 | * added ability to specify relative pathnames as well |
|---|
| 1208 | as absolute pathnames (pathname is relative to the |
|---|
| 1209 | location of phpThumb.php if the passed source does |
|---|
| 1210 | not begin with "/" |
|---|
| 1211 | |
|---|
| 1212 | v1.2.7 - January 7, 2004 |
|---|
| 1213 | * Added patch to allow use of PHP older than 4.1.0 |
|---|
| 1214 | (or GD without PNG support) for non-GD GIF support |
|---|
| 1215 | (thanks hostwebserverØhotmail*com) |
|---|
| 1216 | |
|---|
| 1217 | v1.2.6 - January 4, 2004 |
|---|
| 1218 | * Added patch to allow use of PHP older than 4.1.0 |
|---|
| 1219 | (without the superglobals arrays) |
|---|
| 1220 | |
|---|
| 1221 | v1.2.5 - December 26, 2003 |
|---|
| 1222 | * Added configuration options for default output image |
|---|
| 1223 | format and max width/height |
|---|
| 1224 | |
|---|
| 1225 | v1.2.4 - December 20, 2003 |
|---|
| 1226 | * Bugfix: temp directory for non-native GD support not |
|---|
| 1227 | always returning valid directory |
|---|
| 1228 | * Caching feature reintroduced (see configuration) |
|---|
| 1229 | |
|---|
| 1230 | v1.2.3 - December 19, 2003 |
|---|
| 1231 | * Added anti-hotlink code so the thumbnail script on |
|---|
| 1232 | one domain cannot be used by another domain. The |
|---|
| 1233 | list of allowed domains defaults to the current |
|---|
| 1234 | domain but is configurable below as |
|---|
| 1235 | $config_nohotlink_valid_domains. The message, text |
|---|
| 1236 | size, colors and whether to blank the image or not |
|---|
| 1237 | are also configurable |
|---|
| 1238 | * Bugfix: URL image sources were not able to use the |
|---|
| 1239 | non-GD GIF-reading functions |
|---|
| 1240 | |
|---|
| 1241 | v1.2.2 - December 17, 2003 |
|---|
| 1242 | * Added option to use http:// URL as image source |
|---|
| 1243 | |
|---|
| 1244 | v1.2.1 - December 11, 2003 |
|---|
| 1245 | * Added option to get source data from a database |
|---|
| 1246 | rather than a physical file |
|---|
| 1247 | * Bugfix: resize not proportional when wide image |
|---|
| 1248 | limited more by max height than max width |
|---|
| 1249 | Thanks mathias_strasserØgmx*net |
|---|
| 1250 | * Removed caching code |
|---|
| 1251 | |
|---|
| 1252 | v1.2.0 - December 10, 2003 |
|---|
| 1253 | * Added GIF support for versions of GD that do not |
|---|
| 1254 | have built-in GIF support (v1.6.x) via the "GIF |
|---|
| 1255 | Util" class by Fabien Ezber (www.yamasoft.com) |
|---|
| 1256 | GD's built-in GIF-reading functions are faster, and |
|---|
| 1257 | are present in PHP v4.3.0 or newer, but all versions |
|---|
| 1258 | of GD can display resized GIF thumbnails now. |
|---|
| 1259 | |
|---|
| 1260 | v1.1.2 - October 26, 2003 |
|---|
| 1261 | * check for source image existance to prevent text |
|---|
| 1262 | error messages |
|---|
| 1263 | * if GD not available, a GIF saying "no GD" is shown |
|---|
| 1264 | instead of showing the original image |
|---|
| 1265 | * Cache feature introduced |
|---|
| 1266 | |
|---|
| 1267 | v1.1.1 - September 28, 2003 |
|---|
| 1268 | * better resize code by sfisher10Øcox*net |
|---|
| 1269 | |
|---|
| 1270 | v1.1.0 - September 1, 2003 |
|---|
| 1271 | * initial public release |
|---|
| 1272 | * thumbnails can now be larger than source image |
|---|
| 1273 | * graphical error messages |
|---|
| 1274 | |
|---|
| 1275 | v1.0.0 - January 7, 2002 |
|---|
| 1276 | * initial private release |
|---|