Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

messeb something up with ssl


kitchenniche

Recommended Posts

Hi there,

 

if i am on My Webpage and click on any category or product, it always goes to https instead of http... I have no clue why since my configure.php in includes/ looks like this:

 

// Define the webserver and path parameters
// * DIR_FS_* = Filesystem directories (local/physical)
// * DIR_WS_* = Webserver directories (virtual/URL)
define('HTTP_SERVER', 'http://www.kitchenniche.ca');
define('HTTPS_SERVER', 'https://www.kitchenniche.ca');
define('ENABLE_SSL', true); // secure webserver for checkout procedure?
define('HTTP_COOKIE_DOMAIN', '.kitchenniche.ca');
define('HTTPS_COOKIE_DOMAIN', '.kitchenniche.ca');
define('HTTP_COOKIE_PATH', '/');
define('HTTPS_COOKIE_PATH', '/');
define('DIR_WS_HTTP_CATALOG', '/');
define('DIR_WS_HTTPS_CATALOG', '/');
define('DIR_WS_IMAGES', 'images/');
define('DIR_WS_ICONS', DIR_WS_IMAGES . 'icons/');
 define('DIR_WS_INCLUDES', 'includes/');
 define('DIR_WS_BOXES', DIR_WS_INCLUDES . 'boxes/');
 define('DIR_WS_FUNCTIONS', DIR_WS_INCLUDES . 'functions/');
 define('DIR_WS_CLASSES', DIR_WS_INCLUDES . 'classes/');
 define('DIR_WS_MODULES', DIR_WS_INCLUDES . 'modules/');
 define('DIR_WS_LANGUAGES', DIR_WS_INCLUDES . 'languages/');

 

anybody an idea? B)

HIM - Dark Light - Out on 26/09/05
Link to comment
Share on other sites

Ok i have fixed that in includes/functions/html_output.php .

 

Is there an easy way to govern which sites should appear with https ???

 

thanks a lot

HIM - Dark Light - Out on 26/09/05
Link to comment
Share on other sites

Ok i have fixed that in includes/functions/html_output.php .

 

Is there an easy way to govern which sites should appear with https ???

 

thanks a lot

The standard set-up switches automatically when needed.

 

Yours does now, try logging in and watch it switch.

 

Did you want something different?

Local: Mac OS X 10.5.8 - Apache 2.2/php 5.3.0/MySQL 5.4.10 • Web Servers: Linux

Tools: BBEdit, Coda, Versions (Subversion), Sequel Pro (db management)

Link to comment
Share on other sites

The standard set-up switches automatically when needed.

 

Yours does now, try logging in and watch it switch.

 

Did you want something different?

 

thanks for your reply

 

If i click on "click here to create an account" in my loginbox, it does not change to https and i did not figure out yet how to change it. do you have an idea?

HIM - Dark Light - Out on 26/09/05
Link to comment
Share on other sites

that is in your column box itself, as the ssl does work, you will need to find which box it is being called from and edit the code

Link to comment
Share on other sites

that is in your column box itself, as the ssl does work, you will need to find which box it is being called from and edit the code

 

Hi John,

 

thanks for your answer.

 

I'm not quite sure which file you meant;

 

If you meant the column_right.php file, the code for the infobox looks like this:

 

require(DIR_WS_BOXES . 'loginbox.php');

 

what would i have to change there?

 

If you meant the infobox.php file, the code looks like this:

 

<?php
/*
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2002 osCommerce

 Released under the GNU General Public License

 Autologin added by DJ Downey http://www.liquidgfx.com

*/

// WebMakers.com Added: Do not show if on login or create account
if ( (!strstr($_SERVER['PHP_SELF'],'login.php')) and (!strstr($_SERVER['PHP_SELF'],'create_account.php')) and !tep_session_is_registered('customer_id') )  {
?>
<!-- loginbox //-->
<?php
   if (!tep_session_is_registered('customer_id')){

?>


         <tr>
           <td>
<?php
   $info_box_contents = array();
   $info_box_contents[] = array('align' => 'left',
                                'text'  => BOX_LOGINBOX_HEADING
                               );
   new infoBoxHeading($info_box_contents, $newtheme, false, false);
   $loginboxcontent = "
           <form name=\"login\" method=\"post\" action=\"" . tep_href_link(FILENAME_LOGIN, 'action=process') . "\">
           <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
             <tr>
               <td align=\"center\" class=\"infoBoxContents\">
                " . tep_box_greeting_top() . "
               </td>
             </tr>
             <tr>
               <td align=\"center\" class=\"infoBoxContents\">
                 " . BOX_LOGINBOX_EMAIL . "
               </td>
             </tr>
             <tr>
               <td align=\"center\" class=\"infoBoxContents\">
                 <input type=\"text\" name=\"email_address\" maxlength=\"96\" size=\"20\" value=\"\">
               </td>
             </tr>
             <tr>
               <td align=\"center\" class=\"infoBoxContents\">
                 " . BOX_LOGINBOX_PASSWORD . " <A HREF=\"" . tep_href_link(FILENAME_PASSWORD_FORGOTTEN, '', 'NONSSL') . "\">" . BOX_LOGINBOX_FORGOT_PASSWORD . "</A>
               </td>
             </tr>
             <tr>
               <td align=\"center\" class=\"infoBoxContents\">
                 <input type=\"password\" name=\"password\" maxlength=\"40\" size=\"20\" value=\"\">
               </td>
             </tr>
             <tr>
               <td class=\"infoBoxContents\" align=\"center\">
                 " . tep_image_submit('button_login.gif', IMAGE_BUTTON_LOGIN) . "
	 
               </td>
             </tr>
             <tr>
               <td align=\"center\" class=\"infoBoxContents\">
            	 " . BOX_LOGINBOX_NEW . "
               </td>
             </tr>
           </table>
           </form>
             ";
   $info_box_contents = array();
   $info_box_contents[] = array('align' => 'center',
                                'text'  => $loginboxcontent
                               );
   new infoBox($info_box_contents);
?>
           </td>
         </tr>
<?php
 } else {
 // If you want to display anything when the user IS logged in, put it
 // in here...  Possibly a "You are logged in as :" box or something.
 }
?>
<!-- loginbox_eof //-->
<?php
// WebMakers.com Added: My Account Info Box
} else {
 if (tep_session_is_registered('customer_id')) {
?>

<!-- my_account_info //-->
         <tr>
           <td>
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('align' => 'left',
                              'text'  => BOX_HEADING_LOGIN_BOX_MY_ACCOUNT
                             );
 new infoBoxHeading($info_box_contents, $newtheme, false, false);
 $loginboxcontent = "
         <table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
           <tr>
             <td align=\"center\" class=\"loginBoxGreeting\">
             " . tep_box_greeting_top() . "
             </td>
           </tr>
           <tr>
         </table>
           ";
 $info_box_contents = array();
 $info_box_contents[] = array('align' => 'center',
                              'text'  => $loginboxcontent . 
      '<a href="' . tep_href_link(FILENAME_ACCOUNT, '', 'SSL') . '">' . LOGIN_BOX_MY_ACCOUNT . '</a><br>' . 
                                         '<a href="' . tep_href_link(FILENAME_ACCOUNT_EDIT, '', 'NONSSL') . '">' . LOGIN_BOX_ACCOUNT_EDIT . '</a><br>' .
                                         '<a href="' . tep_href_link(FILENAME_ACCOUNT_HISTORY, '', 'NONSSL') . '">' . LOGIN_BOX_ACCOUNT_HISTORY . '</a><br>' .
                                         '<a href="' . tep_href_link(FILENAME_ADDRESS_BOOK, '', 'NONSSL') . '">' . LOGIN_BOX_ADDRESS_BOOK . '</a><br>' .
                                         '<a href="' . tep_href_link(FILENAME_ACCOUNT_NOTIFICATIONS, '', 'NONSSL') . '">' . LOGIN_BOX_PRODUCT_NOTIFICATIONS . '</a><br>' .
                                         '<a href="' . tep_href_link(FILENAME_LOGOFF, '', 'NONSSL') . '"><b>' . LOGIN_BOX_LOGOFF . '</b></a>'
               );
 new infoBox($info_box_contents);
?>
           </td>
         </tr>
<!-- my_account_info_eof //-->

<?php
 }
}
?>

 

I'm sorry, i have not the hell of a clue what i gotta change...

 

Thanks a lot

HIM - Dark Light - Out on 26/09/05
Link to comment
Share on other sites

All the magic takes place in includes/application_top.php (around line 50)

 

// set the type of request (secure or not)
 $request_type = ($_SERVER['HTTPS'] == 'on') ? 'SSL' : 'NONSSL';

// set php_self in the local scope
 if (!isset($PHP_SELF)) $PHP_SELF = $_SERVER['PHP_SELF'];

 if ($request_type == 'NONSSL') {
   define('DIR_WS_CATALOG', DIR_WS_HTTP_CATALOG);
 } else {
   define('DIR_WS_CATALOG', DIR_WS_HTTPS_CATALOG);
 }

 

then in /includes/functions/html_output.php

 

  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 = '&';
......

 

so in your links

 

 

tep_href_link(FILENAME_LOGIN, 'action=process')

 

is you dont specify 'SSL' or 'NONSSL' the function will default to NONSSL. In that function even if you specify SSL but its not turned on it will turn it into a NONSSL link. If you specify SSL and its turned on it will make it SSL

 

so you need to do your links like this

 

if you want them to be https when its turned on

tep_href_link(FILENAME_LOGIN, 'action=process','','SSL');

 

or

 

if you always want them to be http (whether SSL is on or not, this is the default if not specified)

 

tep_href_link(FILENAME_LOGIN, 'action=process','','NONSSL');

Link to comment
Share on other sites

All the magic takes place in includes/application_top.php (around line 50)

 

// set the type of request (secure or not)
 $request_type = ($_SERVER['HTTPS'] == 'on') ? 'SSL' : 'NONSSL';

// set php_self in the local scope
 if (!isset($PHP_SELF)) $PHP_SELF = $_SERVER['PHP_SELF'];

 if ($request_type == 'NONSSL') {
   define('DIR_WS_CATALOG', DIR_WS_HTTP_CATALOG);
 } else {
   define('DIR_WS_CATALOG', DIR_WS_HTTPS_CATALOG);
 }

 

then in /includes/functions/html_output.php

 

  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 = '&';
......

 

so in your links

tep_href_link(FILENAME_LOGIN, 'action=process')

 

is you dont specify 'SSL' or 'NONSSL' the function will default to NONSSL.  In that function even if you specify SSL but its not turned on it will turn it into a NONSSL link.  If you specify SSL and its turned on it will make it SSL

 

so you need to do your links like this

 

if you want them to be https when its turned on

tep_href_link(FILENAME_LOGIN, 'action=process','','SSL');

 

or

 

if you always want them to be http (whether SSL is on or not, this is the default if not specified)

 

tep_href_link(FILENAME_LOGIN, 'action=process','','NONSSL');

 

Hi,

 

thanks for your reply

 

My includes/application_top.php and my /includes/functions/html_output.php

looks exactly like the above.

 

I have changed includes/boxes/loginbox.php

 

tep_href_link(FILENAME_LOGIN, 'action=process') . "\">

 

to

 

tep_href_link(FILENAME_LOGIN, 'action=process','','SSL'); "\">

 

Now i'm getting the following error:

 

Error!

Unable to determine connection method on a link!

Known methods: NONSSL SSL

 

Any ideas what i did wrong this time?

 

thanks very much

HIM - Dark Light - Out on 26/09/05
Link to comment
Share on other sites

Hi,

 

thanks for your reply

 

My includes/application_top.php and my /includes/functions/html_output.php

looks exactly like the above.

 

I have changed includes/boxes/loginbox.php

 

tep_href_link(FILENAME_LOGIN, 'action=process') . "\">

 

to

 

tep_href_link(FILENAME_LOGIN, 'action=process','','SSL'); "\">

 

Now i'm getting the following error:

 

Error!

Unable to determine connection method on a link!

Known methods: NONSSL SSL

 

Any ideas what i did wrong this time?

 

thanks very much

 

 

sorry that semi colon at the end shouldnt be there

 

tep_href_link(FILENAME_LOGIN, 'action=process','','SSL');<-----

 

just a habit of writing PHP, try without it.

 

if still doesnt work can you post your /includes/functions/html_output.php

Link to comment
Share on other sites

sorry that semi colon at the end shouldnt be there

 

tep_href_link(FILENAME_LOGIN, 'action=process','','SSL');<-----

 

just a habit of writing PHP, try without it.

 

if still doesnt work can you post your /includes/functions/html_output.php

 

Hi,

 

I'm getting exactly the same error.

 

Here's my includes/functions/html_output.php :

 

<?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 (c) 2003 osCommerce

 Released under the GNU General Public License
*/

////
// The HTML href link wrapper function
function implode_assoc($array, $inner_glue='=', $outer_glue='&') {
      $output = array();
      foreach( $array as $key => $item )
              $output[] = $key . $inner_glue . $item;

      return implode($outer_glue, $output);
}

function short_name($str, $limit=3){
if (defined('SEO_URLS_FILTER_SHORT_WORDS')) $limit = SEO_URLS_FILTER_SHORT_WORDS;
$foo = explode('-', $str);
foreach($foo as $index => $value){
 switch (true){
	 case ( strlen($value) <= $limit ):
   continue;
	 default:
   $container[] = $value;
   break;
 }  
} # end foreach
$container = ( sizeof($container) > 1 ? implode('-', $container) : $str );
return $container;
}

////
////
// 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;

$seo = ( defined('SEO_URLS') ? SEO_URLS : false );
$seo_rewrite_type = ( defined('SEO_URLS_TYPE') ? SEO_URLS_TYPE : false );
$seo_pages = array('index.php', 'product_info.php');
if ( !in_array($page, $seo_pages) ) $seo = false;

   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 ($page == '/') $page = '';

   if ($connection == 'NONSSL') {
     $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
     $seo_link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
  $seo_rewrite_link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
   } elseif ($connection == 'SSL') {
     if (ENABLE_SSL == true) {
       $link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG;
       $seo_link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG;
       $seo_rewrite_link = HTTPS_SERVER . DIR_WS_HTTPS_CATALOG;
     } else {
       $link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
       $seo_link = HTTP_SERVER . DIR_WS_HTTP_CATALOG;
       $seo_rewrite_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 = '&';

 # Start exploding the parameters to extract the values
 # Also, we could use parse_str($parameters) and would probably be more clean
 if ($seo == 'true'){
	 $p = explode('&', $parameters);
	 krsort($p);
	 $params = array();
	 
	 if ( $seo_rewrite_type == 'Rewrite' ){
   foreach ($p as $index => $valuepair) {
  	 $p2 = explode('=', $valuepair);   	 
  	 switch ($p2[0]){    
  	 case 'products_id':
     $rewrite_product = true;      
     if ( defined('PRODUCT_NAME_'.$p2[1]) ){
    	 $rewrite_page_product = short_name(constant('PRODUCT_NAME_'.$p2[1])) . '-p-' . $p2[1] . '.html';
     } else { $seo = false; }
     break;  
  	 
  	 case 'cPath': 
     $rewrite_category = true;
     if ( defined('CATEGORY_NAME_'.$p2[1]) ){
    	 $rewrite_page_category = short_name(constant('CATEGORY_NAME_'.$p2[1])) . '-c-' . $p2[1] . '.html';
     } else { $seo = false; }
     break;
// manufacturer addition by WebPixie
  	 case 'manufacturers_id': 
     $rewrite_manufacturer = true;
     if ( defined('MANUFACTURER_NAME_'.$p2[1]) ){
    	 $rewrite_page_manufacturer = short_name(constant('MANUFACTURER_NAME_'.$p2[1])) . '-m-' . $p2[1] . '.html';
     } else { $seo = false; }
     break;
// end manufacturer addition by WebPixie
  	 default:
     $params[$p2[0]] = $p2[1]; 
     break;
  	 } # switch
   } # end foreach
   $params_stripped = implode_assoc($params);
   switch (true){
  	 case ( $rewrite_product && $rewrite_category ):
  	 case ( $rewrite_product ):
     $rewrite_page = $rewrite_page_product;
     $rewrite_category = false;
     break;
  	 case ( $rewrite_category ):
     $rewrite_page = $rewrite_page_category;
     break;
// manufacturer addition by WebPixie
  	 case ( $rewrite_manufacturer ):
     $rewrite_page = $rewrite_page_manufacturer;
     break;
// end manufacturer addition by WebPixie
  	 default:
     $seo = false;
     break;
   } #end switch true	
   $seo_rewrite_link .= $rewrite_page . ( tep_not_null($params_stripped) ? '?'.tep_output_string($params_stripped) : '' );   
   $separator = ( tep_not_null($params_stripped) ? '&' : '?' );
	 } else {
   foreach ($p as $index => $valuepair) {
  	 $p2 = explode('=', $valuepair);   	 
  	 switch ($p2[0]){    
  	 case 'products_id':      
     if ( defined('PRODUCT_NAME_'.$p2[1]) ){
    	 $params['pName'] = constant('PRODUCT_NAME_'.$p2[1]);
     } else { $seo = false; }
     break;  
  	 
  	 case 'cPath': 
     if ( defined('CATEGORY_NAME_'.$p2[1]) ){
    	 $params['cName'] = constant('CATEGORY_NAME_'.$p2[1]);
     } else { $seo = false; }
     break;
// manufacturer addition by WebPixie
  	 case 'manufacturers_id': 
     if ( defined('MANUFACTURER_NAME_'.$p2[1]) ){
    	 $params['mName'] = constant('MANUFACTURER_NAME_'.$p2[1]);
     } else { $seo = false; }
     break; 	 
// end manufacturer addition by WebPixie  
  	 default:
     $params[$p2[0]] = $p2[1]; 
     break;
  	 } # switch
   } # end foreach 	 
   $params_stripped = implode_assoc($params);	
   $seo_link .= $page . '?'.tep_output_string($params_stripped);   
   $separator = '&';
	 } # end if/else
 } # end if $seo
} else {
     $link .= $page;
     $separator = '?';
  $seo = false;
   } # end if(tep_not_null($parameters)

   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);
     while (strstr($seo_link, '&&')) $seo_link = str_replace('&&', '&', $seo_link);

     $link = str_replace('?', '/', $link);
     $link = str_replace('&', '/', $link);
     $link = str_replace('=', '/', $link);
     $seo_link = str_replace('?', '/', $seo_link);
     $seo_link = str_replace('&', '/', $seo_link);
     $seo_link = str_replace('=', '/', $seo_link);
     $seo_rewrite_link = str_replace('?', '/', $seo_rewrite_link);
     $seo_rewrite_link = str_replace('&', '/', $seo_rewrite_link);
     $seo_rewrite_link = str_replace('=', '/', $seo_rewrite_link);

     $separator = '?';
   }

if (isset($_sid)) {
 $link .= $separator . $_sid;
   $seo_link .= $separator . $_sid;
   $seo_rewrite_link .= $separator . $_sid;
}
  
if ($seo == 'true') {
 return ($seo_rewrite_type == 'Rewrite' ? $seo_rewrite_link : $seo_link);
} else {
 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' => '', 'text' => PULL_DOWN_DEFAULT));
   $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);
 }
?>

 

Thanks for your help

HIM - Dark Light - Out on 26/09/05
Link to comment
Share on other sites

okay, thats a heavily modified html_ouput file. I take it you've installed some SEO contribution.

 

You'll need to go through the instructions for installation and make sure you have followed them correctly, if that fails email the author of the contribution.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...