function phpThumbDebug()
 {
     if ($this->config_disable_debug) {
         $this->ErrorImage('phpThumbDebug disabled');
     }
     $FunctionsExistance = array('exif_thumbnail', 'gd_info', 'image_type_to_mime_type', 'ImageCopyResampled', 'ImageCopyResized', 'ImageCreate', 'ImageCreateFromString', 'ImageCreateTrueColor', 'ImageIsTrueColor', 'ImageRotate', 'ImageTypes', 'version_compare', 'ImageCreateFromGIF', 'ImageCreateFromJPEG', 'ImageCreateFromPNG', 'ImageCreateFromWBMP', 'ImageCreateFromXBM', 'ImageCreateFromXPM', 'ImageCreateFromString', 'ImageCreateFromGD', 'ImageCreateFromGD2', 'ImageCreateFromGD2Part', 'ImageJPEG', 'ImageGIF', 'ImagePNG', 'ImageWBMP');
     $ParameterNames = array('w', 'h', 'f', 'q', 'sx', 'sy', 'sw', 'sh', 'bw', 'bg', 'bgt', 'bc', 'usr', 'usa', 'ust', 'wmf', 'wmp', 'wmm', 'wma', 'file', 'goto', 'err', 'xto', 'ra', 'ar', 'aoe', 'iar', 'brx', 'bry', 'maxb');
     $OtherVariableNames = array('phpThumbDebug', 'thumbnailQuality', 'thumbnailFormat', 'gdimg_output', 'gdimg_source', 'sourceFilename', 'source_width', 'source_height', 'thumbnailCropX', 'thumbnailCropY', 'thumbnailCropW', 'thumbnailCropH', 'exif_thumbnail_width', 'exif_thumbnail_height', 'exif_thumbnail_type', 'thumbnail_width', 'thumbnail_height', 'thumbnail_image_width', 'thumbnail_image_height');
     $DebugOutput = array();
     $DebugOutput[] = 'phpThumb() version          = ' . PHPTHUMB_VERSION;
     $DebugOutput[] = 'phpversion()                = ' . @phpversion();
     $DebugOutput[] = 'PHP_OS                      = ' . PHP_OS;
     $DebugOutput[] = '$_SERVER[PHP_SELF]          = ' . @$_SERVER['PHP_SELF'];
     $DebugOutput[] = 'realpath(.)                 = ' . @realpath('.');
     $DebugOutput[] = 'get_magic_quotes_gpc()      = ' . @get_magic_quotes_gpc();
     $DebugOutput[] = 'get_magic_quotes_runtime()  = ' . @get_magic_quotes_runtime();
     $DebugOutput[] = 'ini_get(error_reporting)    = ' . @ini_get('error_reporting');
     $DebugOutput[] = 'ini_get(allow_url_fopen)    = ' . @ini_get('allow_url_fopen');
     $DebugOutput[] = 'ini_get(safe_mode)          = ' . @ini_get('safe_mode');
     $DebugOutput[] = 'ini_get(open_basedir)       = ' . @ini_get('open_basedir');
     $DebugOutput[] = 'ini_get(memory_limit)       = ' . @ini_get('memory_limit');
     $DebugOutput[] = 'get_cfg_var(memory_limit)   = ' . @get_cfg_var('memory_limit');
     $DebugOutput[] = 'memory_get_usage()          = ' . (function_exists('memory_get_usage') ? @memory_get_usage() : 'n/a');
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_cache_directory              = ' . $this->phpThumbDebugVarDump($this->config_cache_directory);
     $DebugOutput[] = '$this->config_output_format                = ' . $this->phpThumbDebugVarDump($this->config_output_format);
     $DebugOutput[] = '$this->config_output_maxwidth              = ' . $this->phpThumbDebugVarDump($this->config_output_maxwidth);
     $DebugOutput[] = '$this->config_output_maxheight             = ' . $this->phpThumbDebugVarDump($this->config_output_maxheight);
     $DebugOutput[] = '$this->config_error_message_image_default  = ' . $this->phpThumbDebugVarDump($this->config_error_message_image_default);
     $DebugOutput[] = '$this->config_error_bgcolor                = ' . $this->phpThumbDebugVarDump($this->config_error_bgcolor);
     $DebugOutput[] = '$this->config_error_textcolor              = ' . $this->phpThumbDebugVarDump($this->config_error_textcolor);
     $DebugOutput[] = '$this->config_error_fontsize               = ' . $this->phpThumbDebugVarDump($this->config_error_fontsize);
     $DebugOutput[] = '$this->config_nohotlink_enabled            = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_enabled);
     $DebugOutput[] = '$this->config_nohotlink_valid_domains      = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_valid_domains);
     $DebugOutput[] = '$this->config_nohotlink_erase_image        = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_erase_image);
     $DebugOutput[] = '$this->config_nohotlink_fill_hexcolor      = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_fill_hexcolor);
     $DebugOutput[] = '$this->config_nohotlink_text_hexcolor      = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_text_hexcolor);
     $DebugOutput[] = '$this->config_nohotlink_text_message       = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_text_message);
     $DebugOutput[] = '$this->config_nohotlink_text_fontsize      = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_text_fontsize);
     $DebugOutput[] = '$this->config_border_hexcolor              = ' . $this->phpThumbDebugVarDump($this->config_border_hexcolor);
     $DebugOutput[] = '$this->config_background_hexcolor          = ' . $this->phpThumbDebugVarDump($this->config_background_hexcolor);
     $DebugOutput[] = '$this->config_max_source_pixels            = ' . $this->phpThumbDebugVarDump($this->config_max_source_pixels);
     $DebugOutput[] = '$this->config_imagemagick_path             = ' . $this->phpThumbDebugVarDump($this->config_imagemagick_path);
     $DebugOutput[] = '$this->config_use_exif_thumbnail_for_speed = ' . $this->phpThumbDebugVarDump($this->config_use_exif_thumbnail_for_speed);
     $DebugOutput[] = '$this->config_output_allow_enlarging       = ' . $this->phpThumbDebugVarDump($this->config_output_allow_enlarging);
     $DebugOutput[] = '';
     foreach ($OtherVariableNames as $varname) {
         $value = $this->{$varname};
         $DebugOutput[] = '$this->' . str_pad($varname, 27, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = 'strlen($this->rawImageData)        = ' . strlen(@$this->rawImageData);
     $DebugOutput[] = 'strlen($this->exif_thumbnail_data) = ' . strlen(@$this->exif_thumbnail_data);
     $DebugOutput[] = '';
     foreach ($ParameterNames as $varname) {
         $value = $this->{$varname};
         $DebugOutput[] = '$this->' . str_pad($varname, 4, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     foreach ($FunctionsExistance as $functionname) {
         $DebugOutput[] = 'builtin_function_exists(' . $functionname . ')' . str_repeat(' ', 23 - strlen($functionname)) . ' = ' . $this->phpThumbDebugVarDump(phpthumb_functions::builtin_function_exists($functionname));
     }
     $DebugOutput[] = '';
     $gd_info = phpthumb_functions::gd_info();
     foreach ($gd_info as $key => $value) {
         $DebugOutput[] = 'gd_info.' . str_pad($key, 34, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     $exif_info = phpthumb_functions::exif_info();
     foreach ($exif_info as $key => $value) {
         $DebugOutput[] = 'exif_info.' . str_pad($key, 32, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     if (isset($_GET) && is_array($_GET)) {
         foreach ($_GET as $key => $value) {
             $DebugOutput[] = '$_GET[' . $key . ']' . str_repeat(' ', 36 - strlen($key)) . '= ' . $this->phpThumbDebugVarDump($value);
         }
     }
     if (isset($_POST) && is_array($_POST)) {
         foreach ($_POST as $key => $value) {
             $DebugOutput[] = '$_POST[' . $key . ']' . str_repeat(' ', 35 - strlen($key)) . '= ' . $this->phpThumbDebugVarDump($value);
         }
     }
     $this->ErrorImage(implode("\n", $DebugOutput), 700, 500);
 }
Ejemplo n.º 2
0
 function phpThumbDebug($level = '')
 {
     if ($level && $this->phpThumbDebug !== $level) {
         return true;
     }
     if ($this->config_disable_debug) {
         return $this->ErrorImage('phpThumbDebug disabled');
     }
     $FunctionsExistance = array('exif_thumbnail', 'gd_info', 'image_type_to_mime_type', 'GetImageSize', 'ImageCopyResampled', 'ImageCopyResized', 'ImageCreate', 'ImageCreateFromString', 'ImageCreateTrueColor', 'ImageIsTrueColor', 'ImageRotate', 'ImageTypes', 'version_compare', 'ImageCreateFromGIF', 'ImageCreateFromJPEG', 'ImageCreateFromPNG', 'ImageCreateFromWBMP', 'ImageCreateFromXBM', 'ImageCreateFromXPM', 'ImageCreateFromString', 'ImageCreateFromGD', 'ImageCreateFromGD2', 'ImageCreateFromGD2Part', 'ImageJPEG', 'ImageGIF', 'ImagePNG', 'ImageWBMP');
     $ParameterNames = array('src', 'new', 'w', 'h', 'f', 'q', 'sx', 'sy', 'sw', 'sh', 'far', 'bg', 'bc', 'file', 'goto', 'err', 'xto', 'ra', 'ar', 'aoe', 'iar', 'maxb');
     $ConfigVariableNames = array('document_root', 'temp_directory', 'output_format', 'output_maxwidth', 'output_maxheight', 'error_message_image_default', 'error_bgcolor', 'error_textcolor', 'error_fontsize', 'error_die_on_error', 'error_silent_die_on_error', 'error_die_on_source_failure', 'nohotlink_enabled', 'nohotlink_valid_domains', 'nohotlink_erase_image', 'nohotlink_text_message', 'nooffsitelink_enabled', 'nooffsitelink_valid_domains', 'nooffsitelink_require_refer', 'nooffsitelink_erase_image', 'nooffsitelink_text_message', 'high_security_enabled', 'allow_src_above_docroot', 'allow_src_above_phpthumb', 'max_source_pixels', 'use_exif_thumbnail_for_speed', 'border_hexcolor', 'background_hexcolor', 'ttf_directory', 'disable_pathinfo_parsing', 'disable_imagecopyresampled');
     $OtherVariableNames = array('phpThumbDebug', 'thumbnailQuality', 'thumbnailFormat', 'gdimg_output', 'gdimg_source', 'sourceFilename', 'source_width', 'source_height', 'thumbnailCropX', 'thumbnailCropY', 'thumbnailCropW', 'thumbnailCropH', 'exif_thumbnail_width', 'exif_thumbnail_height', 'exif_thumbnail_type', 'thumbnail_width', 'thumbnail_height', 'thumbnail_image_width', 'thumbnail_image_height');
     $DebugOutput = array();
     $DebugOutput[] = 'phpThumb() version          = ' . $this->phpthumb_version;
     $DebugOutput[] = 'phpversion()                = ' . @phpversion();
     $DebugOutput[] = 'PHP_OS                      = ' . PHP_OS;
     $DebugOutput[] = '$_SERVER[SERVER_SOFTWARE]   = ' . @$_SERVER['SERVER_SOFTWARE'];
     $DebugOutput[] = '__FILE__                    = ' . __FILE__;
     $DebugOutput[] = 'realpath(.)                 = ' . @realpath('.');
     $DebugOutput[] = '$_SERVER[PHP_SELF]          = ' . @$_SERVER['PHP_SELF'];
     $DebugOutput[] = '$_SERVER[HOST_NAME]         = ' . @$_SERVER['HOST_NAME'];
     $DebugOutput[] = '$_SERVER[HTTP_REFERER]      = ' . @$_SERVER['HTTP_REFERER'];
     $DebugOutput[] = '$_SERVER[QUERY_STRING]      = ' . @$_SERVER['QUERY_STRING'];
     $DebugOutput[] = '$_SERVER[PATH_INFO]         = ' . @$_SERVER['PATH_INFO'];
     $DebugOutput[] = '$_SERVER[DOCUMENT_ROOT]     = ' . @$_SERVER['DOCUMENT_ROOT'];
     $DebugOutput[] = 'getenv(DOCUMENT_ROOT)       = ' . @getenv('DOCUMENT_ROOT');
     $DebugOutput[] = '';
     $DebugOutput[] = 'get_magic_quotes_gpc()         = ' . $this->phpThumbDebugVarDump(@get_magic_quotes_gpc());
     $DebugOutput[] = 'get_magic_quotes_runtime()     = ' . $this->phpThumbDebugVarDump(@get_magic_quotes_runtime());
     $DebugOutput[] = 'error_reporting()              = ' . $this->phpThumbDebugVarDump(error_reporting());
     $DebugOutput[] = 'ini_get(error_reporting)       = ' . $this->phpThumbDebugVarDump(@ini_get('error_reporting'));
     $DebugOutput[] = 'ini_get(display_errors)        = ' . $this->phpThumbDebugVarDump(@ini_get('display_errors'));
     $DebugOutput[] = 'ini_get(allow_url_fopen)       = ' . $this->phpThumbDebugVarDump(@ini_get('allow_url_fopen'));
     $DebugOutput[] = 'ini_get(disable_functions)     = ' . $this->phpThumbDebugVarDump(@ini_get('disable_functions'));
     $DebugOutput[] = 'get_cfg_var(disable_functions) = ' . $this->phpThumbDebugVarDump(@get_cfg_var('disable_functions'));
     $DebugOutput[] = 'ini_get(safe_mode)             = ' . $this->phpThumbDebugVarDump(@ini_get('safe_mode'));
     $DebugOutput[] = 'ini_get(open_basedir)          = ' . $this->phpThumbDebugVarDump(@ini_get('open_basedir'));
     $DebugOutput[] = 'ini_get(max_execution_time)    = ' . $this->phpThumbDebugVarDump(@ini_get('max_execution_time'));
     $DebugOutput[] = 'ini_get(memory_limit)          = ' . $this->phpThumbDebugVarDump(@ini_get('memory_limit'));
     $DebugOutput[] = 'get_cfg_var(memory_limit)      = ' . $this->phpThumbDebugVarDump(@get_cfg_var('memory_limit'));
     $DebugOutput[] = 'memory_get_usage()             = ' . (function_exists('memory_get_usage') ? $this->phpThumbDebugVarDump(@memory_get_usage()) : 'n/a');
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_prefer_imagemagick            = ' . $this->phpThumbDebugVarDump($this->config_prefer_imagemagick);
     $DebugOutput[] = '$this->config_imagemagick_path              = ' . $this->phpThumbDebugVarDump($this->config_imagemagick_path);
     $DebugOutput[] = '$this->ImageMagickWhichConvert()            = ' . $this->ImageMagickWhichConvert();
     $IMpathUsed = $this->config_imagemagick_path ? $this->config_imagemagick_path : $this->ImageMagickWhichConvert();
     $DebugOutput[] = '[actual ImageMagick path used]              = ' . $this->phpThumbDebugVarDump($IMpathUsed);
     $DebugOutput[] = 'file_exists([actual ImageMagick path used]) = ' . $this->phpThumbDebugVarDump(@file_exists($IMpathUsed));
     $DebugOutput[] = 'ImageMagickVersion(false)                   = ' . $this->ImageMagickVersion(false);
     $DebugOutput[] = 'ImageMagickVersion(true)                    = ' . $this->ImageMagickVersion(true);
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_cache_directory               = ' . $this->phpThumbDebugVarDump($this->config_cache_directory);
     $DebugOutput[] = '$this->config_cache_directory_depth         = ' . $this->phpThumbDebugVarDump($this->config_cache_directory_depth);
     $DebugOutput[] = '$this->config_cache_disable_warning         = ' . $this->phpThumbDebugVarDump($this->config_cache_disable_warning);
     $DebugOutput[] = '$this->config_cache_maxage                  = ' . $this->phpThumbDebugVarDump($this->config_cache_maxage);
     $DebugOutput[] = '$this->config_cache_maxsize                 = ' . $this->phpThumbDebugVarDump($this->config_cache_maxsize);
     $DebugOutput[] = '$this->config_cache_maxfiles                = ' . $this->phpThumbDebugVarDump($this->config_cache_maxfiles);
     $DebugOutput[] = '$this->config_cache_force_passthru          = ' . $this->phpThumbDebugVarDump($this->config_cache_force_passthru);
     $DebugOutput[] = '$this->cache_filename                       = ' . $this->phpThumbDebugVarDump($this->cache_filename);
     $DebugOutput[] = 'is_readable($this->config_cache_directory)  = ' . $this->phpThumbDebugVarDump(@is_readable($this->config_cache_directory));
     $DebugOutput[] = 'is_writable($this->config_cache_directory)  = ' . $this->phpThumbDebugVarDump(@is_writable($this->config_cache_directory));
     $DebugOutput[] = 'is_readable($this->cache_filename)          = ' . $this->phpThumbDebugVarDump(@is_readable($this->cache_filename));
     $DebugOutput[] = 'is_writable($this->cache_filename)          = ' . (@file_exists($this->cache_filename) ? $this->phpThumbDebugVarDump(@is_writable($this->cache_filename)) : 'n/a');
     $DebugOutput[] = '';
     foreach ($ConfigVariableNames as $varname) {
         $varname = 'config_' . $varname;
         $value = $this->{$varname};
         $DebugOutput[] = '$this->' . str_pad($varname, 37, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     foreach ($OtherVariableNames as $varname) {
         $value = $this->{$varname};
         $DebugOutput[] = '$this->' . str_pad($varname, 27, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = 'strlen($this->rawImageData)        = ' . strlen(@$this->rawImageData);
     $DebugOutput[] = 'strlen($this->exif_thumbnail_data) = ' . strlen(@$this->exif_thumbnail_data);
     $DebugOutput[] = '';
     foreach ($ParameterNames as $varname) {
         $value = $this->{$varname};
         $DebugOutput[] = '$this->' . str_pad($varname, 4, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     foreach ($FunctionsExistance as $functionname) {
         $DebugOutput[] = 'builtin_function_exists(' . $functionname . ')' . str_repeat(' ', 23 - strlen($functionname)) . ' = ' . $this->phpThumbDebugVarDump(phpthumb_functions::builtin_function_exists($functionname));
     }
     $DebugOutput[] = '';
     $gd_info = gd_info();
     foreach ($gd_info as $key => $value) {
         $DebugOutput[] = 'gd_info.' . str_pad($key, 34, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     $exif_info = phpthumb_functions::exif_info();
     foreach ($exif_info as $key => $value) {
         $DebugOutput[] = 'exif_info.' . str_pad($key, 26, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     if ($ApacheLookupURIarray = phpthumb_functions::ApacheLookupURIarray(dirname(@$_SERVER['PHP_SELF']))) {
         foreach ($ApacheLookupURIarray as $key => $value) {
             $DebugOutput[] = 'ApacheLookupURIarray.' . str_pad($key, 15, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
         }
     } else {
         $DebugOutput[] = 'ApacheLookupURIarray() -- FAILED';
     }
     $DebugOutput[] = '';
     if (isset($_GET) && is_array($_GET)) {
         foreach ($_GET as $key => $value) {
             $DebugOutput[] = '$_GET[' . $key . ']' . str_repeat(' ', 30 - strlen($key)) . '= ' . $this->phpThumbDebugVarDump($value);
         }
     }
     if (isset($_POST) && is_array($_POST)) {
         foreach ($_POST as $key => $value) {
             $DebugOutput[] = '$_POST[' . $key . ']' . str_repeat(' ', 29 - strlen($key)) . '= ' . $this->phpThumbDebugVarDump($value);
         }
     }
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->debugmessages:';
     foreach ($this->debugmessages as $errorstring) {
         $DebugOutput[] = '  * ' . $errorstring;
     }
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->debugtiming:';
     foreach ($this->debugtiming as $timestamp => $timingstring) {
         $DebugOutput[] = '  * ' . $timestamp . ' ' . $timingstring;
     }
     $DebugOutput[] = '  * Total processing time: ' . number_format(max(array_keys($this->debugtiming)) - min(array_keys($this->debugtiming)), 6);
     $this->f = isset($_GET['f']) ? $_GET['f'] : $this->f;
     // debug modes 0-2 don't recognize text mode otherwise
     return $this->ErrorImage(implode("\n", $DebugOutput), 700, 500, true);
 }
 function phpThumbDebug()
 {
     if ($this->config_disable_debug) {
         return $this->ErrorImage('phpThumbDebug disabled');
     }
     $FunctionsExistance = array('exif_thumbnail', 'gd_info', 'image_type_to_mime_type', 'ImageCopyResampled', 'ImageCopyResized', 'ImageCreate', 'ImageCreateFromString', 'ImageCreateTrueColor', 'ImageIsTrueColor', 'ImageRotate', 'ImageTypes', 'version_compare', 'ImageCreateFromGIF', 'ImageCreateFromJPEG', 'ImageCreateFromPNG', 'ImageCreateFromWBMP', 'ImageCreateFromXBM', 'ImageCreateFromXPM', 'ImageCreateFromString', 'ImageCreateFromGD', 'ImageCreateFromGD2', 'ImageCreateFromGD2Part', 'ImageJPEG', 'ImageGIF', 'ImagePNG', 'ImageWBMP');
     $ParameterNames = array('src', 'new', 'w', 'h', 'f', 'q', 'sx', 'sy', 'sw', 'sh', 'far', 'bg', 'bgt', 'bc', 'file', 'goto', 'err', 'xto', 'ra', 'ar', 'aoe', 'iar', 'maxb');
     $OtherVariableNames = array('phpThumbDebug', 'thumbnailQuality', 'thumbnailFormat', 'gdimg_output', 'gdimg_source', 'sourceFilename', 'source_width', 'source_height', 'thumbnailCropX', 'thumbnailCropY', 'thumbnailCropW', 'thumbnailCropH', 'exif_thumbnail_width', 'exif_thumbnail_height', 'exif_thumbnail_type', 'thumbnail_width', 'thumbnail_height', 'thumbnail_image_width', 'thumbnail_image_height');
     $DebugOutput = array();
     $DebugOutput[] = 'phpThumb() version          = ' . $this->phpthumb_version;
     $DebugOutput[] = 'phpversion()                = ' . @phpversion();
     $DebugOutput[] = 'PHP_OS                      = ' . PHP_OS;
     $DebugOutput[] = '$_SERVER[PHP_SELF]          = ' . @$_SERVER['PHP_SELF'];
     $DebugOutput[] = '$_SERVER[DOCUMENT_ROOT]     = ' . @$_SERVER['DOCUMENT_ROOT'];
     $DebugOutput[] = '$_SERVER[HTTP_REFERER]      = ' . @$_SERVER['HTTP_REFERER'];
     $DebugOutput[] = '$_SERVER[QUERY_STRING]      = ' . @$_SERVER['QUERY_STRING'];
     $DebugOutput[] = 'realpath(.)                 = ' . @realpath('.');
     $DebugOutput[] = '';
     $DebugOutput[] = 'get_magic_quotes_gpc()      = ' . $this->phpThumbDebugVarDump(@get_magic_quotes_gpc());
     $DebugOutput[] = 'get_magic_quotes_runtime()  = ' . $this->phpThumbDebugVarDump(@get_magic_quotes_runtime());
     $DebugOutput[] = 'error_reporting()           = ' . $this->phpThumbDebugVarDump(error_reporting());
     $DebugOutput[] = 'ini_get(error_reporting)    = ' . $this->phpThumbDebugVarDump(@ini_get('error_reporting'));
     $DebugOutput[] = 'ini_get(display_errors)     = ' . $this->phpThumbDebugVarDump(@ini_get('display_errors'));
     $DebugOutput[] = 'ini_get(allow_url_fopen)    = ' . $this->phpThumbDebugVarDump(@ini_get('allow_url_fopen'));
     $DebugOutput[] = 'ini_get(disable_functions)  = ' . $this->phpThumbDebugVarDump(@ini_get('disable_functions'));
     $DebugOutput[] = 'ini_get(safe_mode)          = ' . $this->phpThumbDebugVarDump(@ini_get('safe_mode'));
     $DebugOutput[] = 'ini_get(open_basedir)       = ' . $this->phpThumbDebugVarDump(@ini_get('open_basedir'));
     $DebugOutput[] = 'ini_get(memory_limit)       = ' . $this->phpThumbDebugVarDump(@ini_get('memory_limit'));
     $DebugOutput[] = 'ini_get(max_execution_time) = ' . $this->phpThumbDebugVarDump(@ini_get('max_execution_time'));
     $DebugOutput[] = 'get_cfg_var(memory_limit)   = ' . $this->phpThumbDebugVarDump(@get_cfg_var('memory_limit'));
     $DebugOutput[] = 'memory_get_usage()          = ' . (function_exists('memory_get_usage') ? $this->phpThumbDebugVarDump(@memory_get_usage()) : 'n/a');
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_imagemagick_path              = ' . $this->phpThumbDebugVarDump($this->config_imagemagick_path);
     $DebugOutput[] = 'SafeBackTick(which convert)                 = ' . trim(phpthumb_functions::SafeBackTick('which convert'));
     $IMpathUsed = $this->config_imagemagick_path ? $this->config_imagemagick_path : trim(phpthumb_functions::SafeBackTick('which convert'));
     $DebugOutput[] = '[actual ImageMagick path used]              = ' . $this->phpThumbDebugVarDump($IMpathUsed);
     $DebugOutput[] = 'file_exists([actual ImageMagick path used]) = ' . $this->phpThumbDebugVarDump(file_exists($IMpathUsed));
     $DebugOutput[] = 'ImageMagickVersion()                        = ' . $this->ImageMagickVersion();
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_cache_directory               = ' . $this->phpThumbDebugVarDump($this->config_cache_directory);
     $DebugOutput[] = '$this->config_cache_disable_warning         = ' . $this->phpThumbDebugVarDump($this->config_cache_disable_warning);
     $DebugOutput[] = '$this->config_cache_maxage                  = ' . $this->phpThumbDebugVarDump($this->config_cache_maxage);
     $DebugOutput[] = '$this->config_cache_maxsize                 = ' . $this->phpThumbDebugVarDump($this->config_cache_maxsize);
     $DebugOutput[] = '$this->config_cache_maxfiles                = ' . $this->phpThumbDebugVarDump($this->config_cache_maxfiles);
     $DebugOutput[] = '$this->cache_filename                       = ' . $this->phpThumbDebugVarDump($this->cache_filename);
     $DebugOutput[] = 'is_writable($this->config_cache_directory)  = ' . $this->phpThumbDebugVarDump(is_writable($this->config_cache_directory));
     $DebugOutput[] = 'is_writable($this->cache_filename)          = ' . (file_exists($this->cache_filename) ? $this->phpThumbDebugVarDump(is_writable($this->cache_filename)) : 'n/a');
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_document_root                 = ' . $this->phpThumbDebugVarDump($this->config_document_root);
     $DebugOutput[] = '$this->config_temp_directory                = ' . $this->phpThumbDebugVarDump($this->config_temp_directory);
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_output_format                 = ' . $this->phpThumbDebugVarDump($this->config_output_format);
     $DebugOutput[] = '$this->config_output_maxwidth               = ' . $this->phpThumbDebugVarDump($this->config_output_maxwidth);
     $DebugOutput[] = '$this->config_output_maxheight              = ' . $this->phpThumbDebugVarDump($this->config_output_maxheight);
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_error_message_image_default   = ' . $this->phpThumbDebugVarDump($this->config_error_message_image_default);
     $DebugOutput[] = '$this->config_error_bgcolor                 = ' . $this->phpThumbDebugVarDump($this->config_error_bgcolor);
     $DebugOutput[] = '$this->config_error_textcolor               = ' . $this->phpThumbDebugVarDump($this->config_error_textcolor);
     $DebugOutput[] = '$this->config_error_fontsize                = ' . $this->phpThumbDebugVarDump($this->config_error_fontsize);
     $DebugOutput[] = '$this->config_error_die_on_error            = ' . $this->phpThumbDebugVarDump($this->config_error_die_on_error);
     $DebugOutput[] = '$this->config_error_die_on_error            = ' . $this->phpThumbDebugVarDump($this->config_error_die_on_error);
     $DebugOutput[] = '$this->config_error_silent_die_on_error     = ' . $this->phpThumbDebugVarDump($this->config_error_silent_die_on_error);
     $DebugOutput[] = '$this->config_error_die_on_source_failure   = ' . $this->phpThumbDebugVarDump($this->config_error_die_on_source_failure);
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_nohotlink_enabled             = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_enabled);
     $DebugOutput[] = '$this->config_nohotlink_valid_domains       = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_valid_domains);
     $DebugOutput[] = '$this->config_nohotlink_erase_image         = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_erase_image);
     $DebugOutput[] = '$this->config_nohotlink_text_message        = ' . $this->phpThumbDebugVarDump($this->config_nohotlink_text_message);
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_nooffsitelink_enabled         = ' . $this->phpThumbDebugVarDump($this->config_nooffsitelink_enabled);
     $DebugOutput[] = '$this->config_nooffsitelink_valid_domains   = ' . $this->phpThumbDebugVarDump($this->config_nooffsitelink_valid_domains);
     $DebugOutput[] = '$this->config_nooffsitelink_require_refer   = ' . $this->phpThumbDebugVarDump($this->config_nooffsitelink_require_refer);
     $DebugOutput[] = '$this->config_nooffsitelink_erase_image     = ' . $this->phpThumbDebugVarDump($this->config_nooffsitelink_erase_image);
     $DebugOutput[] = '$this->config_nooffsitelink_text_message    = ' . $this->phpThumbDebugVarDump($this->config_nooffsitelink_text_message);
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->config_max_source_pixels             = ' . $this->phpThumbDebugVarDump($this->config_max_source_pixels);
     $DebugOutput[] = '$this->config_use_exif_thumbnail_for_speed  = ' . $this->phpThumbDebugVarDump($this->config_use_exif_thumbnail_for_speed);
     $DebugOutput[] = '$this->config_output_allow_enlarging        = ' . $this->phpThumbDebugVarDump($this->config_output_allow_enlarging);
     $DebugOutput[] = '$this->config_border_hexcolor               = ' . $this->phpThumbDebugVarDump($this->config_border_hexcolor);
     $DebugOutput[] = '$this->config_background_hexcolor           = ' . $this->phpThumbDebugVarDump($this->config_background_hexcolor);
     $DebugOutput[] = '$this->config_ttf_directory                 = ' . $this->phpThumbDebugVarDump($this->config_ttf_directory);
     $DebugOutput[] = '';
     foreach ($OtherVariableNames as $varname) {
         $value = $this->{$varname};
         $DebugOutput[] = '$this->' . str_pad($varname, 27, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = 'strlen($this->rawImageData)        = ' . strlen(@$this->rawImageData);
     $DebugOutput[] = 'strlen($this->exif_thumbnail_data) = ' . strlen(@$this->exif_thumbnail_data);
     $DebugOutput[] = '';
     foreach ($ParameterNames as $varname) {
         $value = $this->{$varname};
         $DebugOutput[] = '$this->' . str_pad($varname, 4, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     foreach ($FunctionsExistance as $functionname) {
         $DebugOutput[] = 'builtin_function_exists(' . $functionname . ')' . str_repeat(' ', 23 - strlen($functionname)) . ' = ' . $this->phpThumbDebugVarDump(phpthumb_functions::builtin_function_exists($functionname));
     }
     $DebugOutput[] = '';
     $gd_info = phpthumb_functions::gd_info();
     foreach ($gd_info as $key => $value) {
         $DebugOutput[] = 'gd_info.' . str_pad($key, 34, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     $exif_info = phpthumb_functions::exif_info();
     foreach ($exif_info as $key => $value) {
         $DebugOutput[] = 'exif_info.' . str_pad($key, 26, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
     }
     $DebugOutput[] = '';
     if ($ApacheLookupURIarray = phpthumb_functions::ApacheLookupURIarray(dirname(@$_SERVER['PHP_SELF']))) {
         foreach ($ApacheLookupURIarray as $key => $value) {
             $DebugOutput[] = 'ApacheLookupURIarray.' . str_pad($key, 15, ' ', STR_PAD_RIGHT) . ' = ' . $this->phpThumbDebugVarDump($value);
         }
     } else {
         $DebugOutput[] = 'ApacheLookupURIarray() -- FAILED';
     }
     $DebugOutput[] = '';
     if (isset($_GET) && is_array($_GET)) {
         foreach ($_GET as $key => $value) {
             $DebugOutput[] = '$_GET[' . $key . ']' . str_repeat(' ', 30 - strlen($key)) . '= ' . $this->phpThumbDebugVarDump($value);
         }
     }
     if (isset($_POST) && is_array($_POST)) {
         foreach ($_POST as $key => $value) {
             $DebugOutput[] = '$_POST[' . $key . ']' . str_repeat(' ', 29 - strlen($key)) . '= ' . $this->phpThumbDebugVarDump($value);
         }
     }
     $DebugOutput[] = '';
     $DebugOutput[] = '$this->debugmessages:';
     foreach ($this->debugmessages as $errorstring) {
         $DebugOutput[] = '  * ' . $errorstring;
     }
     return $this->ErrorImage(implode("\n", $DebugOutput), 700, 500);
 }