Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Strange characters


GlebeCS

Recommended Posts

Posted

Hello, I am trying to find why I am getting strange characters displaying on my shopping_cart.php , you can reproduce the problem by visiting our shop at www.sourcing4u.co.uk/shop add anything to your cart and then view the cart , just above the shipping estimator you will see a row of 4 or 5 odd 'upside down question mark' characters.

 

Any help appreciated.

 

Andy

 

The PHP for the cart is:

 

<?php
/*
 $Id: shopping_cart.php,v 1.73 2003/06/09 23:03:56 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 require("includes/application_top.php");

 include_once(DIR_WS_FUNCTIONS.'easy_discount.php');



 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SHOPPING_CART);

 $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_SHOPPING_CART));
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<?php
// BOF: WebMakers.com Changed: Header Tag Controller v2.5.2
// Replaced by header_tags.php
if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {
 require(DIR_WS_INCLUDES . 'header_tags.php');
} else {
?>
 <title><?php echo TITLE; ?></title>
<?php
}
// EOF: WebMakers.com Changed: Header Tag Controller v2.5.2
?>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="3" cellpadding="3">
 <tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">
  <tr>
	<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
	  <tr>
		<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
		<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_cart.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
	  </tr>
	</table></td>
  </tr>
  <tr>
	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
<?php
 if ($cart->count_contents() > 0) {
?>
  <tr>
	<td>
<?php
$info_box_contents = array();
$info_box_contents[0][] = array('align' => 'center',
								'params' => 'class="productListing-heading"',
								'text' => TABLE_HEADING_REMOVE);

$info_box_contents[0][] = array('params' => 'class="productListing-heading"',
								'text' => TABLE_HEADING_PRODUCTS);

$info_box_contents[0][] = array('align' => 'center',
								'params' => 'class="productListing-heading"',
								'text' => TABLE_HEADING_QUANTITY);

$info_box_contents[0][] = array('align' => 'right',
								'params' => 'class="productListing-heading"',
								'text' => TABLE_HEADING_TOTAL);

$any_out_of_stock = 0;
$products = $cart->get_products();
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
// Push all attributes information in an array
  if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
	while (list($option, $value) = each($products[$i]['attributes'])) {
	  echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value);
	  $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix
								  from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa
								  where pa.products_id = '" . $products[$i]['id'] . "'
								   and pa.options_id = '" . $option . "'
								   and pa.options_id = popt.products_options_id
								   and pa.options_values_id = '" . $value . "'
								   and pa.options_values_id = poval.products_options_values_id
								   and popt.language_id = '" . $languages_id . "'
								   and poval.language_id = '" . $languages_id . "'");
	  $attributes_values = tep_db_fetch_array($attributes);

	  $products[$i][$option]['products_options_name'] = $attributes_values['products_options_name'];
	  $products[$i][$option]['options_values_id'] = $value;
	  $products[$i][$option]['products_options_values_name'] = $attributes_values['products_options_values_name'];
	  $products[$i][$option]['options_values_price'] = $attributes_values['options_values_price'];
	  $products[$i][$option]['price_prefix'] = $attributes_values['price_prefix'];
	}
  }
}
//modification start for dropdown

	 for ($i=0; $i<NUM_PROD_MAXORD; $i++) {

			  $options[$i][id] = ($i+1);
			  $options[$i][text] = ($i+1);
	}
	//modification end for dropdown
for ($i=0, $n=sizeof($products); $i<$n; $i++) {
  if (($i/2) == floor($i/2)) {
	$info_box_contents[] = array('params' => 'class="productListing-even"');
  } else {
	$info_box_contents[] = array('params' => 'class="productListing-odd"');
  }

  $cur_row = sizeof($info_box_contents) - 1;

  $info_box_contents[$cur_row][] = array('align' => 'center',
										 'params' => 'class="productListing-data" valign="top"',
										 'text' => tep_draw_checkbox_field('cart_delete[]', $products[$i]['id']));

  $products_name = '<table border="0" cellspacing="2" cellpadding="2">' .
				   '  <tr>' .
				   '	<td class="productListing-data" align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>' .
				   '	<td class="productListing-data" valign="top"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '"><b>' . $products[$i]['name'] . '</b></a>';

  if (STOCK_CHECK == 'true') {
	$stock_check = tep_check_stock($products[$i]['id'], $products[$i]['quantity']);
	if (tep_not_null($stock_check)) {
	  $any_out_of_stock = 1;

	  $products_name .= $stock_check;
	}
  }

  if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
	reset($products[$i]['attributes']);
	while (list($option, $value) = each($products[$i]['attributes'])) {
	  $products_name .= '<br><small><i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i></small>';
	}
  }

  $products_name .= '	</td>' .
					'  </tr>' .
					'</table>';

  $info_box_contents[$cur_row][] = array('params' => 'class="productListing-data"',
										 'text' => $products_name);

  $info_box_contents[$cur_row][] = array('align' => 'center',
										 'params' => 'class="productListing-data" valign="top"',
										 //change dropdown
			'text' => tep_draw_pull_down_menu('cart_quantity[]', $options, $products[$i]['quantity'], 'onchange="this.form.submit()" style="width: 100%"').tep_draw_hidden_field('products_id[]', $products[$i]['id']));
	//end change dropdown

  $info_box_contents[$cur_row][] = array('align' => 'right',
										 'params' => 'class="productListing-data" valign="top"',
										 'text' => '<b>' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</b>');
}

new productListingBox($info_box_contents);
?>
	</td>
  </tr>
  <tr>
	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
  <tr>
	<td align="right" class="main"><b><?php echo SUB_TITLE_SUB_TOTAL; ?> <?php echo $currencies->format($cart->show_total()); ?></b></td>
  </tr>
  <?php
if ($easy_discount->count() > 0) {
 echo easy_discount_display();
 echo '<tr><td align="right">'.SUB_TITLE_TOTAL.'</td><td align="right">'.$currencies->format(($cart->show_total() - $easy_discount->total())).'</td></tr>';
}
?>
<?php
if ($any_out_of_stock == 1) {
  if (STOCK_ALLOW_CHECKOUT == 'true') {
?>
  <tr>
	<td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CAN_CHECKOUT; ?></td>
  </tr>
<?php
  } else {
?>
  <tr>
	<td class="stockWarning" align="center"><br><?php echo OUT_OF_STOCK_CANT_CHECKOUT; ?></td>
  </tr>
<?php
  }
}
?>
  <tr>
	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
  <tr>
	<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
	  <tr class="infoBoxContents">
		<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
		  <tr>
			<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
			<td class="main"><?php echo tep_image_submit('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART); ?></td>
<?php
$back = sizeof($navigation->path)-2;
if (isset($navigation->path[$back])) {
?>
			<td class="main"><?php echo '<a href="' . tep_href_link($navigation->path[$back]['page'], tep_array_to_string($navigation->path[$back]['get'], array('action')), $navigation->path[$back]['mode']) . '">' . tep_image_button('button_continue_shopping.gif', IMAGE_BUTTON_CONTINUE_SHOPPING) . '</a>'; ?></td>
<?php
}
?>
			<td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '">' . tep_image_button('button_checkout.gif', IMAGE_BUTTON_CHECKOUT) . '</a>'; ?></td>
			<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
		  </tr>
		</table></td>
	  </tr>
	</table></td>
  </tr>
  </form><tr>
	<td><br><?php if (CARTSHIP_ONOFF == 'Enabled') { require(DIR_WS_MODULES . 'shipping_estimator.php'); } else {}; ?></td>
  </tr>
<?php
 } else {
?>
  <tr>
	<td align="center" class="main"><?php new infoBox(array(array('text' => TEXT_CART_EMPTY))); ?></td>
  </tr>
  <tr>
	<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
  </tr>
  <tr>
	<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
	  <tr class="infoBoxContents">
		<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
		  <tr>
			<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
			<td align="right" class="main"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
			<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
		  </tr>
		</table></td>
	  </tr>
	</table></td>
  </tr>
<?php
 }
?>
</table></form></td>
<!-- body_text_eof //-->
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
</table></td>
 </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Posted

Its somewhere in your shipping_estimator

Posted
Its somewhere in your shipping_estimator

 

 

Any further ideas, I am pretty useless at PHP

 

Cheers,

 

Andy

Posted

Looks like you have a module for 'shipping_estimator. Some where in that file I'm assuming shop/includes/modules/shipping/'shipping_estimator.php. Look for something like this

 

»¿

 

There is one other & with something, not sure what, but it will be with the otehr two, That is whatgives you those symbols.

Posted
Looks like you have a module for 'shipping_estimator. Some where in that file I'm assuming shop/includes/modules/shipping/'shipping_estimator.php. Look for something like this

 

»¿

 

There is one other & with something, not sure what, but it will be with the otehr two, That is whatgives you those symbols.

 

 

Hi again, thanks for the advice, I have searched the shipping_estimator.php and cannot find any instance of those anywhere.

 

This is the code of shipping_estimator.php

 

Anything obviously wrong here?

 

<?php
/*
 $Id: shipping_estimator.php,v 2.20 2004/07/01 15:16:07 eml Exp $

 v2.00 by Acheron + installed Fix for v2.0 and all other versions Acheron 7 Jul 2004
 (see Install.txt for partial version history)

 Copyright (c) 2004

 Released under the GNU General Public License

+ installed Fix for v2.0 and all other versions Acheron 7 Jul 2004 
*/
?>
<!-- shipping_estimator //-->
<script language="JavaScript">
 function shipincart_submit(sid){
if(sid){
  document.estimator.sid.value=sid;
}
document.estimator.submit();
return false;
 }
</script>
		  <table align="center"><tr valign="top"><td>

<?php

 require(DIR_WS_LANGUAGES . $language . '/modules/' . FILENAME_SHIPPING_ESTIMATOR);

if (($cart->count_contents() > 0)) {

 // shipping cost
 require('includes/classes/http_client.php'); // shipping in basket

 //if($cart->get_content_type() !== 'virtual') {
if (tep_session_is_registered('customer_id')) {
  // user is logged in
  if (isset($HTTP_POST_VARS['address_id'])){
	// user changed address
	$sendto = $HTTP_POST_VARS['address_id'];
  }elseif (tep_session_is_registered('cart_address_id')){
	// user once changed address
	$sendto = $cart_address_id;
  }else{
	// first timer
	$sendto = $customer_default_address_id;
  }
  // set session now
  $cart_address_id = $sendto;
  tep_session_register('cart_address_id');
  // set shipping to null ! multipickup changes address to store address...
  $shipping='';
  // include the order class (uses the sendto !)
  require(DIR_WS_CLASSES . 'order.php');
  $order = new order;
}else{
// user not logged in !
  if (isset($HTTP_POST_VARS['country_id'])){
	// country is selected
	$country_info = tep_get_countries($HTTP_POST_VARS['country_id'],true);
	$order->delivery = array('postcode' => $HTTP_POST_VARS['zip_code'],
							 'country' => array('id' => $HTTP_POST_VARS['country_id'], 'title' => $country_info['countries_name'], 'iso_code_2' => $country_info['countries_iso_code_2'], 'iso_code_3' =>  $country_info['countries_iso_code_3']),
							 'country_id' => $HTTP_POST_VARS['country_id'],
//add state zone_id
							 'zone_id' => $HTTP_POST_VARS['state'],
							 'format_id' => tep_get_address_format_id($HTTP_POST_VARS['country_id']));
	$cart_country_id = $HTTP_POST_VARS['country_id'];
	tep_session_register('cart_country_id');
//add state zone_id
	$cart_zone = $HTTP_POST_VARS['zone_id'];
	tep_session_register('cart_zone');
	$cart_zip_code = $HTTP_POST_VARS['zip_code'];
	tep_session_register('cart_zip_code');
  }elseif (tep_session_is_registered('cart_country_id')){
	// session is available
	$country_info = tep_get_countries($cart_country_id,true);
	$order->delivery = array('postcode' => $cart_zip_code,
							 'country' => array('id' => $cart_country_id, 'title' => $country_info['countries_name'], 'iso_code_2' => $country_info['countries_iso_code_2'], 'iso_code_3' =>  $country_info['countries_iso_code_3']),
							 'country_id' => $cart_country_id,
							 'format_id' => tep_get_address_format_id($cart_country_id));
  } else {
	// first timer
	$cart_country_id = STORE_COUNTRY;
	tep_session_register('cart_country_id');
	$country_info = tep_get_countries(STORE_COUNTRY,true);
	tep_session_register('cart_zip_code');
	$order->delivery = array(//'postcode' => '',
							 'country' => array('id' => STORE_COUNTRY, 'title' => $country_info['countries_name'], 'iso_code_2' => $country_info['countries_iso_code_2'], 'iso_code_3' =>  $country_info['countries_iso_code_3']),
							 'country_id' => STORE_COUNTRY,
							 'format_id' => tep_get_address_format_id($HTTP_POST_VARS['country_id']));
  }
  // set the cost to be able to calculate free shipping
  $order->info = array('total' => $cart->show_total(), // TAX ????
					   'currency' => $currency,
					   'currency_value'=> $currencies->currencies[$currency]['value']);
}
// weight and count needed for shipping
$total_weight = $cart->show_weight();
$total_count = $cart->count_contents();
require(DIR_WS_CLASSES . 'shipping.php');
$shipping_modules = new shipping;
$quotes = $shipping_modules->quote();
$order->info['subtotal'] = $cart->total;

// set selections for displaying
$selected_country = $order->delivery['country']['id'];
$selected_address = $sendto;
 //}
// eo shipping cost

 // check free shipping based on order total
 if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true')) {
switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) {
  case 'national':
	if ($order->delivery['country_id'] == STORE_COUNTRY) $pass = true; break;
  case 'international':
	if ($order->delivery['country_id'] != STORE_COUNTRY) $pass = true; break;
  case 'both':
	$pass = true; break;
  default:
	$pass = false; break;
}
$free_shipping = false;
if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) {
  $free_shipping = true;
  include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php');
}
 } else {
$free_shipping = false;
 }
 // begin shipping cost
 if(!$free_shipping && $cart->get_content_type() !== 'virtual'){
if (tep_not_null($HTTP_POST_VARS['sid'])){
  list($module, $method) = explode('_', $HTTP_POST_VARS['sid']);
  $cart_sid = $HTTP_POST_VARS['sid'];
  tep_session_register('cart_sid');
}elseif (tep_session_is_registered('cart_sid')){
  list($module, $method) = explode('_', $cart_sid);
}else{
  $module="";
  $method="";
}
if (tep_not_null($module)){
  $selected_quote = $shipping_modules->quote($method, $module);
  if($selected_quote[0]['error'] || !tep_not_null($selected_quote[0]['methods'][0]['cost'])){
	$selected_shipping = $shipping_modules->cheapest();
	$order->info['shipping_method'] = $selected_shipping['title'];
	$order->info['shipping_cost'] = $selected_shipping['cost'];
	$order->info['total']+= $selected_shipping['cost'];
  }else{
	$order->info['shipping_method'] = $selected_quote[0]['module'].' ('.$selected_quote[0]['methods'][0]['title'].')';
	$order->info['shipping_cost'] = $selected_quote[0]['methods'][0]['cost'];
	$order->info['total']+= $selected_quote[0]['methods'][0]['cost'];
	$selected_shipping['title'] = $order->info['shipping_method'];
	$selected_shipping['cost'] = $order->info['shipping_cost'];
	$selected_shipping['id'] = $selected_quote[0]['id'].'_'.$selected_quote[0]['methods'][0]['id'];
  }
}else{
  $selected_shipping = $shipping_modules->cheapest();
  $order->info['shipping_method'] = $selected_shipping['title'];
  $order->info['shipping_cost'] = $selected_shipping['cost'];
  $order->info['total']+= $selected_shipping['cost'];
}
 }
// virtual products use free shipping
 if($cart->get_content_type() == 'virtual') {
$order->info['shipping_method'] = CART_SHIPPING_METHOD_FREE_TEXT . ' ' . CART_SHIPPING_METHOD_ALL_DOWNLOADS;
$order->info['shipping_cost'] = 0;
 }
 if($free_shipping) {
$order->info['shipping_method'] = MODULE_ORDER_TOTAL_SHIPPING_TITLE;
$order->info['shipping_cost'] = 0;
 }
 $shipping=$selected_shipping;
// end of shipping cost
// end free shipping based on order total

 $info_box_contents = array();
 $info_box_contents[] = array('text' => '<b>' . CART_SHIPPING_OPTIONS . '</b>'); // azer for 2.20 cosmetic change
 new infoBoxHeading($info_box_contents, false, false);

 $ShipTxt= tep_draw_form('estimator', tep_href_link(FILENAME_SHOPPING_CART, '', 'NONSSL'), 'post'); //'onSubmit="return check_form();"'
 $ShipTxt.=tep_draw_hidden_field('sid', $selected_shipping['id']);
 $ShipTxt.='<table>';
 if(sizeof($quotes)) {
if (tep_session_is_registered('customer_id')) {
  // logged in

 if (CARTSHIP_SHOWWT == 'true') {
$showweight = ' (' . $total_weight . ' ' . CARTSHIP_WTUNIT . ')';
 } else {
$showweight = '';
 }

	if(CARTSHIP_SHOWIC == 'true'){
  //ishazer remover hard code for version 2.20 : $ShipTxt.='<tr><td class="main">' . ($total_count == 1 ? ' <b>Item:</b></td><td colspan="2" class="main">' : ' <b>' . CART_ITEM . '</b></td><td colspan="2" class="main">') . $total_count . $showweight . '</td></tr>';
  $ShipTxt.='<tr><td class="main">' . ($total_count == 1 ? ' <b>' . CART_ITEM . '</b></td><td colspan="2" class="main">' : ' <b>' . CART_ITEM . '</b></td><td colspan="2" class="main">') . $total_count . $showweight . '</td></tr>';

   }
  $addresses_query = tep_db_query("select address_book_id, entry_city as city, entry_postcode as postcode, entry_state as state, entry_zone_id as zone_id, entry_country_id as country_id from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . $customer_id . "'");
  // only display addresses if more than 1
  if (tep_db_num_rows($addresses_query) > 1){
	while ($addresses = tep_db_fetch_array($addresses_query)) {
	  $addresses_array[] = array('id' => $addresses['address_book_id'], 'text' => tep_address_format(tep_get_address_format_id($addresses['country_id']), $addresses, 0, ' ', ' '));
	}
	$ShipTxt.='<tr><td colspan="3" class="main" nowrap>' .
			  CART_SHIPPING_METHOD_ADDRESS .' '. tep_draw_pull_down_menu('address_id', $addresses_array, $selected_address, 'onchange="return shipincart_submit(\'\');"').'</td></tr>';
  }
  $ShipTxt.='<tr valign="top"><td class="main"><b>' . CART_SHIPPING_METHOD_TO .'</b> </td><td colspan="2" class="main">'. tep_address_format($order->delivery['format_id'], $order->delivery, 1, ' ', '<br>') . '</td></tr>';

} else {
// not logged in
  $ShipTxt.=CART_SHIPPING_OPTIONS_LOGIN;

	if(CARTSHIP_SHOWIC == 'true'){
//azer for 2.20:	  $ShipTxt.='<tr><td class="main">' . ($total_count == 1 ? ' <b>Item:</b></td><td colspan="2" class="main">' : ' <b>Items:</b></td><td colspan="2" class="main">') . $total_count . $showweight . '</td></tr>';
		  $ShipTxt.='<tr><td class="main" nowrap>' . ($total_count == 1 ? ' <b>' . CART_ITEM . '</b></td><td colspan="2" class="main" nowrap>' : ' <b>' . CART_ITEM . '</b></td><td colspan="2" class="main">') . $total_count . $showweight . '</td></tr>';

   }

  if($cart->get_content_type() != 'virtual'){

	if(CARTSHIP_SHOWCDD == 'true'){
	$ShipTxt.='<tr><td colspan="3" class="main" nowrap>' .
			  ENTRY_COUNTRY .' '. tep_get_country_list('country_id', $selected_country,'style="width=200"').'<br />';
	}

//add state zone_id
	$state_array[] = array('id' => '', 'text' => 'Please Select');
	$state_query = tep_db_query("select zone_name, zone_id from " . TABLE_ZONES . " where zone_country_id = '$selected_country' order by zone_country_id DESC, zone_name");
	while ($state_values = tep_db_fetch_array($state_query)) {
	  $state_array[] = array('id' => $state_values['zone_id'],
							 'text' => $state_values['zone_name']);
	}

	if(CARTSHIP_SHOWSDD == 'true'){
	 $ShipTxt.=ENTRY_STATE .' '. tep_draw_pull_down_menu('state',$state_array).'<br />';
	}

	if(CARTSHIP_SHOWZDD == 'true'){
	  $ShipTxt.=ENTRY_POST_CODE .' '. tep_draw_input_field('zip_code', $selected_zip, 'size="5"');
	}
//		$ShipTxt.=' <a href="_" onclick="return shipincart_submit(\'\');">'.CART_SHIPPING_METHOD_RECALCULATE.'</a></td></tr>';

	if(CARTSHIP_SHOWUB == 'true'){
$ShipTxt.=' <td><a href="_" onclick="return shipincart_submit(\'\');">'. tep_image_button('button_update_cart.gif', IMAGE_BUTTON_UPDATE_CART) . ' </a></td></td></tr>';
	}
	}
}
if($cart->get_content_type() == 'virtual'){
  // virtual product-download
  //$ShipTxt.='<tr><td colspan="3" class="main">'.tep_draw_separator().'</td></tr>';
  $ShipTxt.='<tr><td class="main" colspan="3"> </td></tr><tr><td class="main" colspan="3"><i>' . CART_SHIPPING_METHOD_FREE_TEXT . ' ' . CART_SHIPPING_METHOD_ALL_DOWNLOADS . '</i></td></tr>';
}elseif ($free_shipping==1) {
  // order $total is free
  //$ShipTxt.='<tr><td colspan="3" class="main">'.tep_draw_separator().'</td></tr>';
  $ShipTxt.='<tr><td class="main" colspan="3"> </td></tr><tr><td class="main" colspan="3"><i>' . sprintf(FREE_SHIPPING_DESCRIPTION, $currencies->format(MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) . '</i></td><td> </td></tr>';
}else{
  // shipping display
  if ( empty($quotes[0]['error']) || (!empty($quotes[1])&∅($quotes[1]['error'])) ) {
	$ShipTxt.='<tr><td colspan="3" class="main"> </td></tr><tr><td class="main"><b>' . CART_SHIPPING_CARRIER_TEXT . '</b></td><td class="main" align="left"><b>' . CART_SHIPPING_METHOD_TEXT . '</b></td><td class="main" align="right"><b>' . CART_SHIPPING_METHOD_RATES . '</b></td></tr>';
	$ShipTxt.='<tr><td colspan="3" class="main">'.tep_draw_separator().'</td></tr>';
  } else {
	$ShipTxt.='<tr><td colspan="3" class="main"> </td></tr>';
  }
  for ($i=0, $n=sizeof($quotes); $i<$n; $i++) {
	if(sizeof($quotes[$i]['methods'])==1){
	  // simple shipping method
	  $thisquoteid = $quotes[$i]['id'].'_'.$quotes[$i]['methods'][0]['id'];
	  $ShipTxt.= '<tr class="'.$extra.'">';
	  $ShipTxt.='<td class="main">'.$quotes[$i]['icon'].'   </td>';
	  if($quotes[$i]['error']){
		$ShipTxt.='<td colspan="2" class="main">'.$quotes[$i]['module'].' ';
		$ShipTxt.= '('.$quotes[$i]['error'].')</td></tr>';
	  }else{
		if($selected_shipping['id'] == $thisquoteid){
		 // commented for v2.10 : $ShipTxt.='<td class="main"><a title="Select this method" href="_"  onclick="return shipincart_submit(\''.$thisquoteid.'\');"><b>'.$quotes[$i]['module'].' ';
$ShipTxt.='<td class="main"><a title="' . CART_SELECT_THIS_METHOD .'" href="_"  onclick="return shipincart_submit(\''.$thisquoteid.'\');"><b>'.$quotes[$i]['module'].' ';

		  $ShipTxt.= '('.$quotes[$i]['methods'][0]['title'].')</b></a>   </td><td align="right" class="main"><b>'.$currencies->format(tep_add_tax($quotes[$i]['methods'][0]['cost'], $quotes[$i]['tax'])).'</b></td></tr>';
		}else{
		 // commented for v2.10 : $ShipTxt.='<td class="main"><a title="Select this method" href="_" onclick="return shipincart_submit(\''.$thisquoteid.'\');">'.$quotes[$i]['module'].' ';
$ShipTxt.='<td class="main"><a title="' . CART_SELECT_THIS_METHOD .'" href="_" onclick="return shipincart_submit(\''.$thisquoteid.'\');">'.$quotes[$i]['module'].' ';

		  $ShipTxt.= '('.$quotes[$i]['methods'][0]['title'].')</a>   </td><td align="right" class="main">'.$currencies->format(tep_add_tax($quotes[$i]['methods'][0]['cost'], $quotes[$i]['tax'])).'</td></tr>';
		}
	  }
	} else {
	  // shipping method with sub methods (multipickup)
	  for ($j=0, $n2=sizeof($quotes[$i]['methods']); $j<$n2; $j++) {
		$thisquoteid = $quotes[$i]['id'].'_'.$quotes[$i]['methods'][$j]['id'];
		$ShipTxt.= '<tr class="'.$extra.'">';
		$ShipTxt.='<td class="main">'.$quotes[$i]['icon'].'   </td>';
		if($quotes[$i]['error']){
		  $ShipTxt.='<td colspan="2" class="main">'.$quotes[$i]['module'].' ';
		  $ShipTxt.= '('.$quotes[$i]['error'].')</td></tr>';
		}else{
		  if($selected_shipping['id'] == $thisquoteid){
		   // commented for v2.10 :  $ShipTxt.='<td class="main"><a title="Select this method" href="_" onclick="return shipincart_submit(\''.$thisquoteid.'\');"><b>'.$quotes[$i]['module'].' ';
$ShipTxt.='<td class="main"><a title="' . CART_SELECT_THIS_METHOD .'" href="_" onclick="return shipincart_submit(\''.$thisquoteid.'\');"><b>'.$quotes[$i]['module'].' ';

			$ShipTxt.= '('.$quotes[$i]['methods'][$j]['title'].')</b></a>   </td><td align="right" class="main"><b>'.$currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], $quotes[$i]['tax'])).'</b></td><td class="main">'.tep_image(DIR_WS_ICONS . 'selected.gif', 'Selected').'</td></tr>';
		  }else{
		  // commented for v2.10 :   $ShipTxt.='<td class="main"><a title="Select this method" href="_" onclick="return shipincart_submit(\''.$thisquoteid.'\');">'.$quotes[$i]['module'].' ';
$ShipTxt.='<td class="main"><a title="' . CART_SELECT_THIS_METHOD .'" href="_" onclick="return shipincart_submit(\''.$thisquoteid.'\');">'.$quotes[$i]['module'].' ';

			$ShipTxt.= '('.$quotes[$i]['methods'][$j]['title'].')</a>   </td><td align="right" class="main">'.$currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], $quotes[$i]['tax'])).'</td><td class="main"> </td></tr>';
		  }
		}
	  }
	}
  }
}
 }
 $ShipTxt.= '</table></form>';

 $info_box_contents = array();
 $info_box_contents[] = array('text' => $ShipTxt);
 new infoBox($info_box_contents);

 if (CARTSHIP_SHOWOT == 'true'){
// BOF get taxes if not logged in
if (!tep_session_is_registered('customer_id')){
  $products = $cart->get_products();
  for ($i=0, $n=sizeof($products); $i<$n; $i++) {
	$products_tax = tep_get_tax_rate($products[$i]['tax_class_id'], $order->delivery['country_id'],$order->delivery['zone_id']);
	$products_tax_description = tep_get_tax_description($products[$i]['tax_class_id'], $order->delivery['country_id'], $order->delivery['zone_id']);
	if (DISPLAY_PRICE_WITH_TAX == 'true') {
	 //Modified by Strider 42 to correct the tax calculation when a customer is not logged in
	 // $tax_val = ($products[$i]['final_price']-(($products[$i]['final_price']*100)/(100+$products_tax)))*$products[$i]['quantity'];
	  $tax_val = (($products[$i]['final_price']/100)*$products_tax)*$products[$i]['quantity'];
	} else {
	  $tax_val = (($products[$i]['final_price']*$products_tax)/100)*$products[$i]['quantity'];
	}
	$order->info['tax'] += $tax_val;
	$order->info['tax_groups']["$products_tax_description"] += $tax_val;
	// Modified by Strider 42 to correct the order total figure when shop displays prices with tax
	if (DISPLAY_PRICE_WITH_TAX == 'true') {
	   $order->info['total'];
	} else {
	$order->info['total']+=$tax_val;
		   }
  }
}
// EOF get taxes if not logged in (seems like less code than in order class)
require(DIR_WS_CLASSES . 'order_total.php');
$order_total_modules = new order_total;
//echo '</td><td align="right">';
// order total code
$order_total_modules->process();

$info_box_contents = array();
 $info_box_contents[] = array('text' => '<b>' . CART_OT . '</b>'); //azer version 2.20

new infoBoxHeading($info_box_contents, false, false);
$otTxt='<table align="right">';
$otTxt.=$order_total_modules->output().'</table>';

$info_box_contents = array();
$info_box_contents[] = array('text' => $otTxt);

new infoBox($info_box_contents);
 }
} // Use only when cart_contents > 0

?>
		 </td></tr></table>

Posted

The problem is in shipping_estimator.php.

Around line 25 You see

 

<table align="center"><tr valign="top"><td>

Right after that is where those sharacters are being put in. I don't know why though. Maybe someone out can figure this out or try going to the support thread for this contirb.

 

http://www.oscommerce.com/forums/index.php?showtopic=38411

Posted

I'm having the exact same problem, and those characters definitely aren't within the PHP code itself, they appear in the HTML when the pages are assembled.

 

This happened after I modified the header.php and footer.php files. I've checked my syntax, everything appears to be in order. I've added some HTML lines to both of these files, could the HTML be causing PHP to throw these strange characters when the pages are displayed in the browser?

 

<!-- header //-->
<table cellspacing=0 cellpadding=0 width=100% height=100%>
<tr><td>

Posted
I'm having the exact same problem, and those characters definitely aren't within the PHP code itself, they appear in the HTML when the pages are assembled.

 

This happened after I modified the header.php and footer.php files. I've checked my syntax, everything appears to be in order. I've added some HTML lines to both of these files, could the HTML be causing PHP to throw these strange characters when the pages are displayed in the browser?

 

<!-- header //-->
<table cellspacing=0 cellpadding=0 width=100% height=100%>
<tr><td>

 

 

Looking at my (and the standard MS2.2) header.php , line 63 is

 

<td class="headerNavigation">  <?php echo $breadcrumb->trail(' &_raquo '); ?></td>

 

&_raquo is the html code for » , maybe you are on the right track, anyone have any idea? (I have added the underscore as the » was rendered in the post)

 

Andy

Posted

Im getting weird instances of a capital  like this one, with an accent above it, in text on the site and in all the item thumbnails in the price field. Any ideas? It started after editing an html links page I have using the cpanel editor.

Archived

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

×
×
  • Create New...