All pastes #139664 Raw Edit

Stuff

public text v1 · immutable
#139664 ·published 2006-08-20 02:20 UTC
rendered paste body
// "On the Fly Thumbnailer" using PHP GD Graphics Library by Nathan Welch (v1.5)
// Scales product images dynamically, resulting in smaller file sizes, and keeps
// proper image ratio.  Used in conjunction with product_thumb.php t/n generator.
function tep_image($src, $alt = '', $width = '', $height = '', $params = '') { 

    // Set default image variable and code
		$image = '<img src="' . $src . '"';

    // Don't calculate if the image is set to a "%" width
		if (strstr($width,'%') == false || strstr($height,'%') == false) { 
        $dont_calculate = 0; 
    } else {
        $dont_calculate = 1; 		
		}	

    // Do we calculate the image size?
		if (CONFIG_CALCULATE_IMAGE_SIZE && !$dont_calculate) { 

        // Get the image's information
				if ($image_size = @getimagesize($src)) { 
				
				    $ratio = $image_size[1] / $image_size[0];
				
				    // Set the width and height to the proper ratio
						if (!$width && $height) { 
                $ratio = $height / $image_size[1]; 
                $width = intval($image_size[0] * $ratio); 
            } elseif ($width && !$height) { 
                $ratio = $width / $image_size[0]; 
                $height = intval($image_size[1] * $ratio); 
            } elseif (!$width && !$height) { 
                $width = $image_size[0]; 
                $height = $image_size[1]; 
            } 

            // Scale the image if larger than the set width or height
						if ($image_size[0] > $width || $image_size[1] > $height) { 
                $rx = $image_size[0] / $width; 
                $ry = $image_size[1] / $height; 

                if ($rx < $ry) { 
                    $width = intval($height / $ratio); 
                } else { 
                    $height = intval($width * $ratio); 
                } 

                $image = '<img src="product_thumb.php?img='.$src.'&w='.tep_output_string($width).'&h='.tep_output_string($height).'"';
            }
						
        } elseif (IMAGE_REQUIRED == 'false') { 
              return ''; 
        } 
    } 

    // Add remaining image parameters if they exist
		if ($width) { 
        $image .= ' width="' . tep_output_string($width) . '"'; 
    } 
		
    if ($height) { 
        $image .= ' height="' . tep_output_string($height) . '"'; 
    } 		

    if ($params != '') { 
        $image .= ' ' . $params; 
    } 

    $image .= ' border="0" alt=" ' . tep_output_string($alt) . ' "';
		
		if ($alt)
        $image .= ' title=" ' . tep_output_string($alt) . ' "'; 

    $image .= '>';		
		
    return $image;