Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Help! Having Problem Trying To Install Auto Thumbnail Contribution


Azure Moon

Recommended Posts

Hi,

 

A total and complete clueless newbie here, so please be kind and use laymen's terms

 

I'm attempting to install the Automatic Thumbnail contribution, but for the life of me, I cannot find the line of code in my catalog/includes/functions/html_output.php file that I need to start with.

 

In step one, the contribution says to search for:

 

search for

# function thumbimage ($image, $x, $y, $aspectratio, $resize, $cachedir){

 

 

I've searched that file and I don't see that specific line anywhere. I'm hoping that I've just gone cross eyed and someone can help me.

 

Any further help will be greatly appreciated and will certainly save my few remaining brain cells...LOL.

 

Brightest Blessings,

 

Azure Moon

 

 

Here's a copy of my html_output.php file:

 

<?php

 

/*

 

$Id: html_output.php,v 1.56 2003/07/09 01:15:48 hpdl Exp $

 

 

 

osCommerce, Open Source E-Commerce Solutions

 

http://www.oscommerce.com

 

 

 

Copyright © 2003 osCommerce

 

 

 

Released under the GNU General Public License

 

*/

 

 

 

////

 

// The HTML href link wrapper function

 

function tep_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true) {

 

global $request_type, $session_started, $SID;

 

 

 

if (!tep_not_null($page)) {

 

die('</td></tr></table></td></tr></table><br><br><font color="#ff0000"><b>Error!</b></font><br><br><b>Unable to determine the page link!<br><br>');

 

}

 

 

 

if ($connection == 'NONSSL') {

 

$link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;

 

} elseif ($connection == 'SSL') {

 

if (ENABLE_SSL == true) {

 

$link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG;

 

} else {

 

$link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;

 

}

 

} else {

 

die('</td></tr></table></td></tr></table><br><br><font color="#ff0000"><b>Error!</b></font><br><br><b>Unable to determine connection method on a link!<br><br>Known methods: NONSSL SSL</b><br><br>');

 

}

 

 

 

if (tep_not_null($parameters)) {

 

$link .= $page . '?' . tep_output_string($parameters);

 

$separator = '&';

 

} else {

 

$link .= $page;

 

$separator = '?';

 

}

 

 

 

while ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) $link = substr($link, 0, -1);

 

 

 

// Add the session ID when moving from different HTTP and HTTPS servers, or when SID is defined

 

if ( ($add_session_id == true) && ($session_started == true) && (SESSION_FORCE_COOKIE_USE == 'False') ) {

 

if (tep_not_null($SID)) {

 

$_sid = $SID;

 

} elseif ( ( ($request_type == 'NONSSL') && ($connection == 'SSL') && (ENABLE_SSL == true) ) || ( ($request_type == 'SSL') && ($connection == 'NONSSL') ) ) {

 

if (HTTP_COOKIE_DOMAIN != HTTPS_COOKIE_DOMAIN) {

 

$_sid = tep_session_name() . '=' . tep_session_id();

 

}

 

}

 

}

 

 

 

if ( (SEARCH_ENGINE_FRIENDLY_URLS == 'true') && ($search_engine_safe == true) ) {

 

while (strstr($link, '&&')) $link = str_replace('&&', '&', $link);

 

 

 

$link = str_replace('?', '/', $link);

 

$link = str_replace('&', '/', $link);

 

$link = str_replace('=', '/', $link);

 

 

 

$separator = '?';

 

}

 

 

 

if (isset($_sid)) {

 

$link .= $separator . $_sid;

 

}

 

 

 

return $link;

 

}

 

 

 

////

 

// The HTML image wrapper function

 

function tep_image($src, $alt = '', $width = '', $height = '', $parameters = '') {

 

if ( (empty($src) || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false') ) {

 

return false;

 

}

 

 

 

// alt is added to the img tag even if it is null to prevent browsers from outputting

 

// the image filename as default

 

$image = '<img src="' . tep_output_string($src) . '" border="0" alt="' . tep_output_string($alt) . '"';

 

 

 

if (tep_not_null($alt)) {

 

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

 

}

 

 

 

if ( (CONFIG_CALCULATE_IMAGE_SIZE == 'true') && (empty($width) || empty($height)) ) {

 

if ($image_size = @getimagesize($src)) {

 

if (empty($width) && tep_not_null($height)) {

 

$ratio = $height / $image_size[1];

 

$width = $image_size[0] * $ratio;

 

} elseif (tep_not_null($width) && empty($height)) {

 

$ratio = $width / $image_size[0];

 

$height = $image_size[1] * $ratio;

 

} elseif (empty($width) && empty($height)) {

 

$width = $image_size[0];

 

$height = $image_size[1];

 

}

 

} elseif (IMAGE_REQUIRED == 'false') {

 

return false;

 

}

 

}

 

 

 

if (tep_not_null($width) && tep_not_null($height)) {

 

$image .= ' width="' . tep_output_string($width) . '" height="' . tep_output_string($height) . '"';

 

}

 

 

 

if (tep_not_null($parameters)) $image .= ' ' . $parameters;

 

 

 

$image .= '>';

 

 

 

return $image;

 

}

 

 

 

////

 

// The HTML form submit button wrapper function

 

// Outputs a button in the selected language

 

function tep_image_submit($image, $alt = '', $parameters = '') {

 

global $language;

 

 

 

$image_submit = '<input type="image" src="' . tep_output_string(DIR_WS_LANGUAGES . $language . '/images/buttons/' . $image) . '" border="0" alt="' . tep_output_string($alt) . '"';

 

 

 

if (tep_not_null($alt)) $image_submit .= ' title=" ' . tep_output_string($alt) . ' "';

 

 

 

if (tep_not_null($parameters)) $image_submit .= ' ' . $parameters;

 

 

 

$image_submit .= '>';

 

 

 

return $image_submit;

 

}

 

 

 

////

 

// Output a function button in the selected language

 

function tep_image_button($image, $alt = '', $parameters = '') {

 

global $language;

 

 

 

return tep_image(DIR_WS_LANGUAGES . $language . '/images/buttons/' . $image, $alt, '', '', $parameters);

 

}

 

 

 

////

 

// Output a separator either through whitespace, or with an image

 

function tep_draw_separator($image = 'pixel_black.gif', $width = '100%', $height = '1') {

 

return tep_image(DIR_WS_IMAGES . $image, '', $width, $height);

 

}

 

 

 

////

 

// Output a form

 

function tep_draw_form($name, $action, $method = 'post', $parameters = '') {

 

$form = '<form name="' . tep_output_string($name) . '" action="' . tep_output_string($action) . '" method="' . tep_output_string($method) . '"';

 

 

 

if (tep_not_null($parameters)) $form .= ' ' . $parameters;

 

 

 

$form .= '>';

 

 

 

return $form;

 

}

 

 

 

////

 

// Output a form input field

 

function tep_draw_input_field($name, $value = '', $parameters = '', $type = 'text', $reinsert_value = true) {

 

$field = '<input type="' . tep_output_string($type) . '" name="' . tep_output_string($name) . '"';

 

 

 

if ( (isset($GLOBALS[$name])) && ($reinsert_value == true) ) {

 

$field .= ' value="' . tep_output_string(stripslashes($GLOBALS[$name])) . '"';

 

} elseif (tep_not_null($value)) {

 

$field .= ' value="' . tep_output_string($value) . '"';

 

}

 

 

 

if (tep_not_null($parameters)) $field .= ' ' . $parameters;

 

 

 

$field .= '>';

 

 

 

return $field;

 

}

 

 

 

////

 

// Output a form password field

 

function tep_draw_password_field($name, $value = '', $parameters = 'maxlength="40"') {

 

return tep_draw_input_field($name, $value, $parameters, 'password', false);

 

}

 

 

 

////

 

// Output a selection field - alias function for tep_draw_checkbox_field() and tep_draw_radio_field()

 

function tep_draw_selection_field($name, $type, $value = '', $checked = false, $parameters = '') {

 

$selection = '<input type="' . tep_output_string($type) . '" name="' . tep_output_string($name) . '"';

 

 

 

if (tep_not_null($value)) $selection .= ' value="' . tep_output_string($value) . '"';

 

 

 

if ( ($checked == true) || ( isset($GLOBALS[$name]) && is_string($GLOBALS[$name]) && ( ($GLOBALS[$name] == 'on') || (isset($value) && (stripslashes($GLOBALS[$name]) == $value)) ) ) ) {

 

$selection .= ' CHECKED';

 

}

 

 

 

if (tep_not_null($parameters)) $selection .= ' ' . $parameters;

 

 

 

$selection .= '>';

 

 

 

return $selection;

 

}

 

 

 

////

 

// Output a form checkbox field

 

function tep_draw_checkbox_field($name, $value = '', $checked = false, $parameters = '') {

 

return tep_draw_selection_field($name, 'checkbox', $value, $checked, $parameters);

 

}

 

 

 

////

 

// Output a form radio field

 

function tep_draw_radio_field($name, $value = '', $checked = false, $parameters = '') {

 

return tep_draw_selection_field($name, 'radio', $value, $checked, $parameters);

 

}

 

 

 

////

 

// Output a form textarea field

 

function tep_draw_textarea_field($name, $wrap, $width, $height, $text = '', $parameters = '', $reinsert_value = true) {

 

$field = '<textarea name="' . tep_output_string($name) . '" wrap="' . tep_output_string($wrap) . '" cols="' . tep_output_string($width) . '" rows="' . tep_output_string($height) . '"';

 

 

 

if (tep_not_null($parameters)) $field .= ' ' . $parameters;

 

 

 

$field .= '>';

 

 

 

if ( (isset($GLOBALS[$name])) && ($reinsert_value == true) ) {

 

$field .= stripslashes($GLOBALS[$name]);

 

} elseif (tep_not_null($text)) {

 

$field .= $text;

 

}

 

 

 

$field .= '</textarea>';

 

 

 

return $field;

 

}

 

 

 

////

 

// Output a form hidden field

 

function tep_draw_hidden_field($name, $value = '', $parameters = '') {

 

$field = '<input type="hidden" name="' . tep_output_string($name) . '"';

 

 

 

if (tep_not_null($value)) {

 

$field .= ' value="' . tep_output_string($value) . '"';

 

} elseif (isset($GLOBALS[$name])) {

 

$field .= ' value="' . tep_output_string(stripslashes($GLOBALS[$name])) . '"';

 

}

 

 

 

if (tep_not_null($parameters)) $field .= ' ' . $parameters;

 

 

 

$field .= '>';

 

 

 

return $field;

 

}

 

 

 

////

 

// Hide form elements

 

function tep_hide_session_id() {

 

global $session_started, $SID;

 

 

 

if (($session_started == true) && tep_not_null($SID)) {

 

return tep_draw_hidden_field(tep_session_name(), tep_session_id());

 

}

 

}

 

 

 

////

 

// Output a form pull down menu

 

function tep_draw_pull_down_menu($name, $values, $default = '', $parameters = '', $required = false) {

 

$field = '<select name="' . tep_output_string($name) . '"';

 

 

 

if (tep_not_null($parameters)) $field .= ' ' . $parameters;

 

 

 

$field .= '>';

 

 

 

if (empty($default) && isset($GLOBALS[$name])) $default = stripslashes($GLOBALS[$name]);

 

 

 

for ($i=0, $n=sizeof($values); $i<$n; $i++) {

 

$field .= '<option value="' . tep_output_string($values[$i]['id']) . '"';

 

if ($default == $values[$i]['id']) {

 

$field .= ' SELECTED';

 

}

 

 

 

$field .= '>' . tep_output_string($values[$i]['text'], array('"' => '"', ''' => ''', '<' => '<', '>' => '>')) . '</option>';

 

}

 

$field .= '</select>';

 

 

 

if ($required == true) $field .= TEXT_FIELD_REQUIRED;

 

 

 

return $field;

 

}

 

 

 

////

 

// Creates a pull-down list of countries

 

function tep_get_country_list($name, $selected = '', $parameters = '') {

 

$countries_array = array(array('id' => '223', 'text' => 'United States'));

 

$countries = tep_get_countries();

 

 

 

for ($i=0, $n=sizeof($countries); $i<$n; $i++) {

 

$countries_array[] = array('id' => $countries[$i]['countries_id'], 'text' => $countries[$i]['countries_name']);

 

}

 

 

 

return tep_draw_pull_down_menu($name, $countries_array, $selected, $parameters);

 

}

 

?>

Link to comment
Share on other sites

Thats only an update :), it assumes you already have Auto Thumbnailer installed. Go down in the install instructions for the full install details.

Link to comment
Share on other sites

Thats only an update :), it assumes you already have Auto Thumbnailer installed. Go down in the install instructions for the full install details.

 

Hi Bob,

 

Thanks for you reply. I'm a total newbie...this is my first website. I purchased it pre-built and I'm pretty much clueless as far as all of this stuff is considered. I have no idea how to install anything.

 

Can you, or someone, give me step by step instructions as to how to install a Thumbnail contribution and exactly which is the best one to install?

 

I apologize for my ignorance, but as I said, I'm just starting out and all of this is Greek to me.

 

Brightest Blessings,

 

Azure Moon

Link to comment
Share on other sites

I'm not sure which is the best as I haven't used it, so I'll just repost the instructions here:

 

 

 

Installing should be quite easy, only one file to change.

Follow these 6 steps:

 

1. Open the File: /catalog/includes/functions/html_output.php

 

2. Search for: (~ Line 73)

	////
// The HTML image wrapper function
  function tep_image($src, $alt = '', $width = '', $height = '', $params = '') {
	if ( (($src == '') || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false') ) {
	  return '';
}

 

 

3. Insert the following after it:

	if ($image_size = @getimagesize($src)) {
  if ((CONFIG_CALCULATE_IMAGE_SIZE == 'true' && $src != DIR_WS_IMAGES . 'pixel_black.gif' && $src != DIR_WS_IMAGES . 'pixel_trans.gif' && $src != DIR_WS_IMAGES . 'pixel_silver.gif' )) {
	if ( ($width) || ($height) ) {
		if ( $width=="100%" ) {
		  $width = $image_size[0];
		} elseif ( $height=="100%" ) {
		  $height = $image_size[1];
		} elseif ( $width==0 ) {
		  unset($width);
		} elseif ( $height==0 ) {
		  unset($height);
		}
		$src=thumbimage(DIR_FS_CATALOG . '/' .$src, $width, $height, 1, 1, DIR_FS_CATALOG . '/' . DIR_WS_IMAGES . 'imagecache');
		if ((($image_size[1]/$height) > ($image_size[0]/$width) ) && $height>0){
			 $width=ceil(($image_size[0]/$image_size[1])* $height);
		} elseif ($width>0) {
			 $height=ceil($width/($image_size[0]/$image_size[1]));
		}
	}
	  }
  } elseif (IMAGE_REQUIRED == 'false') {
	return '';
  }

 

 

4. Search for this and delete it:

	  if ( (CONFIG_CALCULATE_IMAGE_SIZE == 'true') && (empty($width) || empty($height)) ) {
	if ($image_size = @getimagesize($src)) {
	  if (empty($width) && tep_not_null($height)) {
		$ratio = $height / $image_size[1];
		$width = $image_size[0] * $ratio;
	  } elseif (tep_not_null($width) && empty($height)) {
		$ratio = $width / $image_size[0];
		$height = $image_size[1] * $ratio;
	  } elseif (empty($width) && empty($height)) {
		$width = $image_size[0];
		$height = $image_size[1];
	  }
	} elseif (IMAGE_REQUIRED == 'false') {
	  return false;
	}
  }

 

5. Go to the bottom of the File and insert before the ?>

function thumbimage ($image, $x, $y, $aspectratio, $resize, $cachedir){

define(JPEGQUALITY, 95); //define the quality of JPG thumbnails

%2

Link to comment
Share on other sites

I'm not sure which is the best as I haven't used it, so I'll just repost the instructions here:

Installing should be quite easy, only one file to change.

Follow these 6 steps:

 

1. Open the File: /catalog/includes/functions/html_output.php

 

2. Search for: (~ Line 73)

	////
// The HTML image wrapper function
  function tep_image($src, $alt = '', $width = '', $height = '', $params = '') {
	if ( (($src == '') || ($src == DIR_WS_IMAGES)) && (IMAGE_REQUIRED == 'false') ) {
	  return '';
}

3. Insert the following after it:

	if ($image_size = @getimagesize($src)) {
  if ((CONFIG_CALCULATE_IMAGE_SIZE == 'true' && $src != DIR_WS_IMAGES . 'pixel_black.gif' && $src != DIR_WS_IMAGES . 'pixel_trans.gif' && $src != DIR_WS_IMAGES . 'pixel_silver.gif' )) {
	if ( ($width) || ($height) ) {
		if ( $width=="100%" ) {
		  $width = $image_size[0];
		} elseif ( $height=="100%" ) {
		  $height = $image_size[1];
		} elseif ( $width==0 ) {
		  unset($width);
		} elseif ( $height==0 ) {
		  unset($height);
		}
		$src=thumbimage(DIR_FS_CATALOG . '/' .$src, $width, $height, 1, 1, DIR_FS_CATALOG . '/' . DIR_WS_IMAGES . 'imagecache');
		if ((($image_size[1]/$height) > ($image_size[0]/$width) ) && $height>0){
			 $width=ceil(($image_size[0]/$image_size[1])* $height);
		} elseif ($width>0) {
			 $height=ceil($width/($image_size[0]/$image_size[1]));
		}
	}
	  }
  } elseif (IMAGE_REQUIRED == 'false') {
	return '';
  }

4. Search for this and delete it:

	  if ( (CONFIG_CALCULATE_IMAGE_SIZE == 'true') && (empty($width) || empty($height)) ) {
	if ($image_size = @getimagesize($src)) {
	  if (empty($width) && tep_not_null($height)) {
		$ratio = $height / $image_size[1];
		$width = $image_size[0] * $ratio;
	  } elseif (tep_not_null($width) && empty($height)) {
		$ratio = $width / $image_size[0];
		$height = $image_size[1] * $ratio;
	  } elseif (empty($width) && empty($height)) {
		$width = $image_size[0];
		$height = $image_size[1];
	  }
	} elseif (IMAGE_REQUIRED == 'false') {
	  return false;
	}
  }

 

5. Go to the bottom of the File and insert before the ?>

function thumbimage ($image, $x, $y, $aspectratio, $resize, $cachedir){

define(JPEGQUALITY, 95); //define the quality of JPG thumbnails

/*##############################################

# - Thumbnail-Script v1.3 - #

# Generating thumbnails 'on-the-fly' with PHP #

# #

# © by Christian Lamine, FlashDreams OHG #

# http://www.flashdreams.de/ #

# #

# Modified by http://www.team-noehring.de #

# Modified by http://www.tse.at #

# Modified by [email protected] #

# #

# This script may be freely used, distributed #

# and modified without any charge as long as #

# this copyright information is included. #

# #

# Any commercial selling of this script is #

# forbidden. #

# #

# The author is not responsible for possible #

# damage which may result from the application #

# of this script, neither direct nor indirect. #

# Use at your own risk! #

##############################################*/

 

error_reporting(0);

 

$types = array (1 => "gif", "jpeg", "png", "swf", "psd", "wbmp");

// Formats Not Supported - To use this feature uncomment the line below

// (beginning with ($not_supported_formats) and add the files types you do not

// want thumbed.

// $not_supported_formats = array ("GIF"); // Write in capital Letters!!

umask(0);

!is_dir ($cachedir)

? mkdir ($cachedir, 0777)

: system ("chmod 0777 ".$cachedir);

 

(!isset ($x) || ereg ('^[0-9]{1,}$', $x, $regs)) &&

(!isset ($y) || ereg ('^[0-9]{1,}$', $y, $regs)) &&

(isset ($x) || isset ($y))

? true

: DIE ('Fehlende® oder ungültige® Größenparameter!');

 

!isset ($resize) || !ereg ('^[0|1]$', $resize, $regs)

? $resize = 0

: $resize;

 

!isset ($aspectratio) || !ereg ('^[0|1]$', $aspectratio, $regs)

? isset ($x) && isset ($y)

? $aspectratio = 1

: $aspectratio = 0

: $aspectratio;

 

!isset ($image)

? DIE ('Es wurde kein Bild angegeben!')

: !file_exists($image)

? DIE ('Die angegebene Datei konnte nicht auf dem Server gefunden werden!')

: false;

 

$imagedata = getimagesize($image);

 

!$imagedata[2] || $imagedata[2] == 4 || $imagedata[2] == 5

? DIE ('Bei der angegebenen Datei handelt es sich nicht um ein Bild!')

: false;

 

$imgtype="!(ImageTypes() & IMG_" . strtoupp

 

Hi Bob,

 

Thank you so much! So you don't have this installed on your site? Are you sure it works? Just want to be sure before I change anything. Please advise.

 

Dawn

Link to comment
Share on other sites

Nope, I have something else installed, called ImageMagic. I think they're both the same thing, except that with ImageMagic, you have more control over what your outputted thumbs and images will be. Control over quality, dimensions, color, and so on. Not as easy to install though, because you'll need to edit several files.

 

If you want to try it out, here's the link:

http://www.celtware.com/im/

 

Just take your time to read the instructions very carefully :).

Link to comment
Share on other sites

Nope, I have something else installed, called ImageMagic. I think they're both the same thing, except that with ImageMagic, you have more control over what your outputted thumbs and images will be. Control over quality, dimensions, color, and so on. Not as easy to install though, because you'll need to edit several files.

 

If you want to try it out, here's the link:

http://www.celtware.com/im/

 

Just take your time to read the instructions very carefully :).

 

Hi again,

 

Thanks for clarifying. I'm going to check that out before I do anything. Thanks again for all your help! You've helped to save my few remaining brain cells!

 

Brightest Blessings,

 

Dawn

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...