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); }