Jump to content
scendent

Seperate Pricing Per Customer v3.5

Recommended Posts

In the admin, I hid one entire category. On the website, in the category box the name of the category is still visible, but once I clicked the category link it didn't show the products. So is this how the contrib is suppose to work? To be able to see the category but not the products that are in it?
No, if the category is hidden that should not be visible. Double check your includes/boxes/categories.php to see if you missed anything (or use the one from the package).
I have 6 products in a category. I?ve decided to hide the last one. And it is hidden. So that?s great. But together with the image, is hidden also the styled table with the blue background. Is it possible to fix it?

 

Is there any way how to fill the cut out space with the blue color?

Try changing the bottom of product_listing_multi_col.php to use the character for a space instead of typed space (so 'text' => "& #160;" instead of 'text' => " "

	if ($x == ($no_of_listings -1)) {
 // fill up the remainder of the table row with empty cells, assumes three products per row!
 if ($column == '1') {
$list_box_contents[$row][$column + 1] = array('align' => 'center',
											//bof product listing with attributes
											'valign' => $lc_valign,
											//eof product listing with attributes
										  'params' => 'class="productListing-data"',
										  'text'  => "& #160;");
	   $column ++;
 }
 if ($column == '2') {
$list_box_contents[$row][$column + 1] = array('align' => 'center',
											//bof product listing with attributes
											'valign' => $lc_valign,
											//eof product listing with attributes
										  'params' => 'class="productListing-data"',
										  'text'  => "& #160;");
 }

Note: I added a space here in between the ampersand and the #160; otherwise it disappears.

 

After installing ?Add Multiple Products to Cart, in columns, for SPPC? I still have problem with Display Add Multiples column. When I insert quantity in the box and click "add to cart " button, nothing is added. Does anybody knows in which page could be a problem?
I suppose application_top.php is the most likely place to look for the error. Your index.php seems fine when I do a "view source".

Share this post


Link to post
Share on other sites
Hi,

i have a clean version of OSC2.2MS2, and i would instal this contrib but I don't understand which of these

I must install, help me please..

 

http://www.oscommerce.com/community/contributions,1242

 

Hi,

 

Do you have installed SPPC 4.1.1 ? If not, you are not in the good forum to ask help about this contribution....


John

--------------------

osCommerce 2.3.4 Bootstrap Edge

Share this post


Link to post
Share on other sites
Hi,

 

Do you have installed SPPC 4.1.1 ? If not, you are not in the good forum to ask help about this contribution....

 

No, i have a clean versione but i wold install a contrib for differentiate a Price for quantity for same group ..

Share this post


Link to post
Share on other sites
No, i have a clean versione but i wold install a contrib for differentiate a Price for quantity for same group ..

 

Ok, Because this forum here is for the contribution SPPC 4.1.1 , you have to install this contribution and after you can use Quantity Price Breaks for Separate Pricing Per Customer 4.1.1. :thumbsup:


John

--------------------

osCommerce 2.3.4 Bootstrap Edge

Share this post


Link to post
Share on other sites
I know on my computer, sometimes I have to login with another customer name who doesn't have access to that catagory, so I can validate the hidden catagory is hidden.

 

I think it happens because the catagory was hidden after the session started, or you didn't get completely logged out.

 

Thanks,

Kristine

 

No, if the category is hidden that should not be visible. Double check your includes/boxes/categories.php to see if you missed anything (or use the one from the package).

Try changing the bottom of product_listing_multi_col.php to use the character for a space instead of typed space (so 'text' => "& #160;" instead of 'text' => " "

I suppose application_top.php is the most likely place to look for the error. Your index.php seems fine when I do a "view source".

 

Thank you very much for answers JanZ and krobinson,

 

It helped a lot.

 

The hidden category is really hidden on another computer. So it works prefect.

 

To add this "& #160;" to the code also helped. Now the empty space is field with the background color. Thank you very much for the explanation where to put the code.

 

Just one problem still remaining:

After installing ?Add Multiple Products to Cart, in columns, for SPPC? I still have problem with ?Display Add Multiples column?. When I insert quantity in the box for ?Display Add Multiples column? and click "add to cart? button, nothing is added. Also on this page the log in box is not working. It?s not possible to sign in. But with ?Display Add Multiples with Buy Now column? everything works including the log in box.

 

Plus I just discovered that it is happening also on page product_info.php, when I click the ?Add to Cart? button nothing is added to the cart.

 

This is the code from around the "add to cart" button in product_info.php

 

			  <tr>
			<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
			<td class="infoBox"><a href="<?php echo tep_href_link(FILENAME_DEFAULT, 'cPath=' . $cPath); ?>"><?php echo tep_image_button('button_back.gif', IMAGE_BUTTON_BACK); ?></a></td>				
			<td class="infoBox" align="center"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td>
			<td class="infoBox" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>
			<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
		  </tr>

 

And this is the code from application_top.php

 

<?php
/*
 $Id: application_top.php,v 1.280 2003/07/12 09:38:07 hpdl Exp $
 adapted for Add Multiple Products to Carts in Columns with Attributes for SPPC v2.1

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

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

// start the timer for the page parse time log
 define('PAGE_PARSE_START_TIME', microtime());

// set the level of error reporting
 error_reporting(E_ALL & ~E_NOTICE);

// check if register_globals is enabled.
// since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized.
 if (function_exists('ini_get')) {
ini_get('register_globals') or exit('FATAL ERROR: register_globals is disabled in php.ini, please enable it!');
 }

// Set the local configuration parameters - mainly for developers
 if (file_exists('includes/local/configure.php')) include('includes/local/configure.php');

// include server parameters
 require('includes/configure.php');

 if (strlen(DB_SERVER) < 1) {
if (is_dir('install')) {
  header('Location: install/index.php');
}
 }

// define the project version
 define('PROJECT_VERSION', 'osCommerce 2.2-MS2');

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

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

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

// include the list of project filenames
 require(DIR_WS_INCLUDES . 'filenames.php');

// include the list of project database tables
 require(DIR_WS_INCLUDES . 'database_tables.php');

// customization for the design layout
 define('BOX_WIDTH', 160); // how wide the boxes should be in pixels (default: 125)

// include the database functions
 require(DIR_WS_FUNCTIONS . 'database.php');

// make a connection to the database... now
 tep_db_connect() or die('Unable to connect to database server!');

// set the application parameters
 $configuration_query = tep_db_query('select configuration_key as cfgKey, configuration_value as cfgValue from ' . TABLE_CONFIGURATION);
 while ($configuration = tep_db_fetch_array($configuration_query)) {
define($configuration['cfgKey'], $configuration['cfgValue']);
 }

// if gzip_compression is enabled, start to buffer the output
 if ( (GZIP_COMPRESSION == 'true') && ($ext_zlib_loaded = extension_loaded('zlib')) && (PHP_VERSION >= '4') ) {
if (($ini_zlib_output_compression = (int)ini_get('zlib.output_compression')) < 1) {
  if (PHP_VERSION >= '4.0.4') {
	ob_start('ob_gzhandler');
  } else {
	include(DIR_WS_FUNCTIONS . 'gzip_compression.php');
	ob_start();
	ob_implicit_flush();
  }
} else {
  ini_set('zlib.output_compression_level', GZIP_LEVEL);
}
 }

// set the HTTP GET parameters manually if search_engine_friendly_urls is enabled
 if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') {
if (strlen(getenv('PATH_INFO')) > 1) {
  $GET_array = array();
  $PHP_SELF = str_replace(getenv('PATH_INFO'), '', $PHP_SELF);
  $vars = explode('/', substr(getenv('PATH_INFO'), 1));
  for ($i=0, $n=sizeof($vars); $i<$n; $i++) {
	if (strpos($vars[$i], '[]')) {
	  $GET_array[substr($vars[$i], 0, -2)][] = $vars[$i+1];
	} else {
	  $HTTP_GET_VARS[$vars[$i]] = $vars[$i+1];
	}
	$i++;
  }

  if (sizeof($GET_array) > 0) {
	while (list($key, $value) = each($GET_array)) {
	  $HTTP_GET_VARS[$key] = $value;
	}
  }
}
 }

// define general functions used application-wide
 require(DIR_WS_FUNCTIONS . 'general.php');
 require(DIR_WS_FUNCTIONS . 'html_output.php');

// set the cookie domain
 $cookie_domain = (($request_type == 'NONSSL') ? HTTP_COOKIE_DOMAIN : HTTPS_COOKIE_DOMAIN);
 $cookie_path = (($request_type == 'NONSSL') ? HTTP_COOKIE_PATH : HTTPS_COOKIE_PATH);

// include cache functions if enabled
 if (USE_CACHE == 'true') include(DIR_WS_FUNCTIONS . 'cache.php');

// include shopping cart class
 require(DIR_WS_CLASSES . 'shopping_cart.php');

// include navigation history class
 require(DIR_WS_CLASSES . 'navigation_history.php');

// some code to solve compatibility issues
 require(DIR_WS_FUNCTIONS . 'compatibility.php');

// check if sessions are supported, otherwise use the php3 compatible session class
 if (!function_exists('session_start')) {
define('PHP_SESSION_NAME', 'osCsid');
define('PHP_SESSION_PATH', $cookie_path);
define('PHP_SESSION_DOMAIN', $cookie_domain);
define('PHP_SESSION_SAVE_PATH', SESSION_WRITE_DIRECTORY);

include(DIR_WS_CLASSES . 'sessions.php');
 }

// define how the session functions will be used
 require(DIR_WS_FUNCTIONS . 'sessions.php');

// set the session name and save path
 tep_session_name('osCsid');
 tep_session_save_path(SESSION_WRITE_DIRECTORY);

// set the session cookie parameters
  if (function_exists('session_set_cookie_params')) {
session_set_cookie_params(0, $cookie_path, $cookie_domain);
 } elseif (function_exists('ini_set')) {
ini_set('session.cookie_lifetime', '0');
ini_set('session.cookie_path', $cookie_path);
ini_set('session.cookie_domain', $cookie_domain);
 }

// set the session ID if it exists
  if (isset($HTTP_POST_VARS[tep_session_name()])) {
 tep_session_id($HTTP_POST_VARS[tep_session_name()]);
  } elseif ( ($request_type == 'SSL') && isset($HTTP_GET_VARS[tep_session_name()]) ) {
 tep_session_id($HTTP_GET_VARS[tep_session_name()]);
  }

// start the session
 $session_started = false;
 if (SESSION_FORCE_COOKIE_USE == 'True') {
tep_setcookie('cookie_test', 'please_accept_for_session', time()+60*60*24*30, $cookie_path, $cookie_domain);

if (isset($HTTP_COOKIE_VARS['cookie_test'])) {
  tep_session_start();
  $session_started = true;
}
 } elseif (SESSION_BLOCK_SPIDERS == 'True') {
$user_agent = strtolower(getenv('HTTP_USER_AGENT'));
$spider_flag = false;

if (tep_not_null($user_agent)) {
  $spiders = file(DIR_WS_INCLUDES . 'spiders.txt');

  for ($i=0, $n=sizeof($spiders); $i<$n; $i++) {
	if (tep_not_null($spiders[$i])) {
	  if (is_integer(strpos($user_agent, trim($spiders[$i])))) {
		$spider_flag = true;
		break;
	  }
	}
  }
}

if ($spider_flag == false) {
  tep_session_start();
  $session_started = true;
}
 } else {
tep_session_start();
$session_started = true;
 }

// set SID once, even if empty
 $SID = (defined('SID') ? SID : '');

// verify the ssl_session_id if the feature is enabled
 if ( ($request_type == 'SSL') && (SESSION_CHECK_SSL_SESSION_ID == 'True') && (ENABLE_SSL == true) && ($session_started == true) ) {
$ssl_session_id = getenv('SSL_SESSION_ID');
if (!tep_session_is_registered('SSL_SESSION_ID')) {
  $SESSION_SSL_ID = $ssl_session_id;
  tep_session_register('SESSION_SSL_ID');
}

if ($SESSION_SSL_ID != $ssl_session_id) {
  tep_session_destroy();
  tep_redirect(tep_href_link(FILENAME_SSL_CHECK));
}
 }

// verify the browser user agent if the feature is enabled
 if (SESSION_CHECK_USER_AGENT == 'True') {
$http_user_agent = getenv('HTTP_USER_AGENT');
if (!tep_session_is_registered('SESSION_USER_AGENT')) {
  $SESSION_USER_AGENT = $http_user_agent;
  tep_session_register('SESSION_USER_AGENT');
}

if ($SESSION_USER_AGENT != $http_user_agent) {
  tep_session_destroy();
  tep_redirect(tep_href_link(FILENAME_LOGIN));
}
 }

// verify the IP address if the feature is enabled
 if (SESSION_CHECK_IP_ADDRESS == 'True') {
$ip_address = tep_get_ip_address();
if (!tep_session_is_registered('SESSION_IP_ADDRESS')) {
  $SESSION_IP_ADDRESS = $ip_address;
  tep_session_register('SESSION_IP_ADDRESS');
}

if ($SESSION_IP_ADDRESS != $ip_address) {
  tep_session_destroy();
  tep_redirect(tep_href_link(FILENAME_LOGIN));
}
 }

// create the shopping cart & fix the cart if necesary
 if (tep_session_is_registered('cart') && is_object($cart)) {
if (PHP_VERSION < 4) {
  $broken_cart = $cart;
  $cart = new shoppingCart;
  $cart->unserialize($broken_cart);
}
 } else {
tep_session_register('cart');
$cart = new shoppingCart;
 }

// include currencies class and create an instance
 require(DIR_WS_CLASSES . 'currencies.php');
 $currencies = new currencies();

// include the mail classes
 require(DIR_WS_CLASSES . 'mime.php');
 require(DIR_WS_CLASSES . 'email.php');

// set the language
 if (!tep_session_is_registered('language') || isset($HTTP_GET_VARS['language'])) {
if (!tep_session_is_registered('language')) {
  tep_session_register('language');
  tep_session_register('languages_id');
}

include(DIR_WS_CLASSES . 'language.php');
$lng = new language();

if (isset($HTTP_GET_VARS['language']) && tep_not_null($HTTP_GET_VARS['language'])) {
  $lng->set_language($HTTP_GET_VARS['language']);
} else {
  $lng->get_browser_language();
}

$language = $lng->language['directory'];
$languages_id = $lng->language['id'];
 }

// include the language translations
 require(DIR_WS_LANGUAGES . $language . '.php');

// currency
 if (!tep_session_is_registered('currency') || isset($HTTP_GET_VARS['currency']) || ( (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') && (LANGUAGE_CURRENCY != $currency) ) ) {
if (!tep_session_is_registered('currency')) tep_session_register('currency');

if (isset($HTTP_GET_VARS['currency'])) {
  if (!$currency = tep_currency_exists($HTTP_GET_VARS['currency'])) $currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY;
} else {
  $currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY;
}
 }

// navigation history
 if (tep_session_is_registered('navigation')) {
if (PHP_VERSION < 4) {
  $broken_navigation = $navigation;
  $navigation = new navigationHistory;
  $navigation->unserialize($broken_navigation);
}
 } else {
tep_session_register('navigation');
$navigation = new navigationHistory;
 }
 $navigation->add_current_page();

// Shopping cart actions
 if (isset($HTTP_GET_VARS['action'])) {
// redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled
if ($session_started == false) {
  tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE));
}

if (DISPLAY_CART == 'true') {
  $goto =  FILENAME_SHOPPING_CART;
  $parameters = array('action', 'cPath', 'products_id', 'pid');
} else {
  $goto = basename($PHP_SELF);
  if ($HTTP_GET_VARS['action'] == 'buy_now') {
	$parameters = array('action', 'pid', 'products_id');
  } else {
	$parameters = array('action', 'pid');
  }
}

switch ($HTTP_GET_VARS['action']) {
// Begin Automatic Remove Button in Shopping Cart
case 'remove_product' : $cart->remove($HTTP_GET_VARS['products_id']);
tep_redirect(tep_href_link($goto));
break;
// End Automatic Remove Button in Shopping Cart
  // customer wants to update the product quantity in their shopping cart
  case 'update_product' : for ($i=0, $n=sizeof($HTTP_POST_VARS['products_id']); $i<$n; $i++) {
							if (in_array($HTTP_POST_VARS['products_id'][$i], (is_array($HTTP_POST_VARS['cart_delete']) ? $HTTP_POST_VARS['cart_delete'] : array()))) {
							  $cart->remove($HTTP_POST_VARS['products_id'][$i]);
							} else {
							  if (PHP_VERSION < 4) {
								// if PHP3, make correction for lack of multidimensional array.
								reset($HTTP_POST_VARS);
								while (list($key, $value) = each($HTTP_POST_VARS)) {
								  if (is_array($value)) {
									while (list($key2, $value2) = each($value)) {
									  if (ereg ("(.*)\]\[(.*)", $key2, $var)) {
										$id2[$var[1]][$var[2]] = $value2;
									  }
									}
								  }
								}
								$attributes = ($id2[$HTTP_POST_VARS['products_id'][$i]]) ? $id2[$HTTP_POST_VARS['products_id'][$i]] : '';
							  } else {
								$attributes = ($HTTP_POST_VARS['id'][$HTTP_POST_VARS['products_id'][$i]]) ? $HTTP_POST_VARS['id'][$HTTP_POST_VARS['products_id'][$i]] : '';
							  }
							  $cart->add_cart($HTTP_POST_VARS['products_id'][$i], $HTTP_POST_VARS['cart_quantity'][$i], $attributes, false);
							}
						  }
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;
  // customer adds a product from the products page
  case 'add_product' :	if (isset($HTTP_POST_VARS['products_id']) && is_numeric($HTTP_POST_VARS['products_id'])) {
							$cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+($HTTP_POST_VARS['cart_quantity']), $HTTP_POST_VARS['id']);
						  }
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;
						  //bof product listing with attributes
						  //this section of code thanks to JanZ!!!
   case 'buy_now_form' : 
						if (isset($HTTP_POST_VARS['products_id']) && is_numeric($HTTP_POST_VARS['products_id'])) {
					   $prodId = (int)$HTTP_POST_VARS['products_id'];
					   $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS["id_$prodId"]))+($HTTP_POST_VARS['cart_quantity']), $HTTP_POST_VARS["id_$prodId"]);
						   }
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;
  // customer adds multiple products from the products_listing page
  case 'add_multiple' :	
						  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) 
							 { 
							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_") 
							 { 
							 $prodId = substr($key, 11); 
							 $qty = $val; 
							 if ($qty <= 0 ) continue; 
							  if(isset($HTTP_POST_VARS["id_$prodId"]) && is_array($HTTP_POST_VARS["id_$prodId"])) {
							   // We have attributes
							   $cart->add_cart($prodId, $cart->get_quantity(tep_get_uprid($prodId,$HTTP_POST_VARS["id_$prodId"]))+$qty, $HTTP_POST_VARS["id_$prodId"]);
							 } else {
							   // No attributes
							   $cart->add_cart($prodId, $cart->get_quantity($prodId)+$qty);
							 }
							} 
						  } 
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;
						  //eof product listing with attributes
  // performed by the 'buy now' button in product listings and review page
  case 'buy_now' :		if (isset($HTTP_GET_VARS['products_id'])) {
							if (tep_has_product_attributes($HTTP_GET_VARS['products_id'])) {
							  tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id']));
							} else {
							  $cart->add_cart($HTTP_GET_VARS['products_id'], $cart->get_quantity($HTTP_GET_VARS['products_id'])+1);
							}
						  }
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;
  case 'notify' :		 if (tep_session_is_registered('customer_id')) {
							if (isset($HTTP_GET_VARS['products_id'])) {
							  $notify = $HTTP_GET_VARS['products_id'];
							} elseif (isset($HTTP_GET_VARS['notify'])) {
							  $notify = $HTTP_GET_VARS['notify'];
							} elseif (isset($HTTP_POST_VARS['notify'])) {
							  $notify = $HTTP_POST_VARS['notify'];
							} else {
							  tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'notify'))));
							}
							if (!is_array($notify)) $notify = array($notify);
							for ($i=0, $n=sizeof($notify); $i<$n; $i++) {
							  $check_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $notify[$i] . "' and customers_id = '" . $customer_id . "'");
							  $check = tep_db_fetch_array($check_query);
							  if ($check['count'] < 1) {
								tep_db_query("insert into " . TABLE_PRODUCTS_NOTIFICATIONS . " (products_id, customers_id, date_added) values ('" . $notify[$i] . "', '" . $customer_id . "', now())");
							  }
							}
							tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action', 'notify'))));
						  } else {
							$navigation->set_snapshot();
							tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
						  }
						  break;
  case 'notify_remove' :  if (tep_session_is_registered('customer_id') && isset($HTTP_GET_VARS['products_id'])) {
							$check_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . $customer_id . "'");
							$check = tep_db_fetch_array($check_query);
							if ($check['count'] > 0) {
							  tep_db_query("delete from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . $customer_id . "'");
							}
							tep_redirect(tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action'))));
						  } else {
							$navigation->set_snapshot();
							tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
						  }
						  break;
  case 'cust_order' :	 if (tep_session_is_registered('customer_id') && isset($HTTP_GET_VARS['pid'])) {
							if (tep_has_product_attributes($HTTP_GET_VARS['pid'])) {
							  tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['pid']));
							} else {
							  $cart->add_cart($HTTP_GET_VARS['pid'], $cart->get_quantity($HTTP_GET_VARS['pid'])+1);
							}
						  }
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;
}
 }

// include the who's online functions
 require(DIR_WS_FUNCTIONS . 'whos_online.php');
 tep_update_whos_online();

// include the password crypto functions
 require(DIR_WS_FUNCTIONS . 'password_funcs.php');

// include validation functions (right now only email address)
 require(DIR_WS_FUNCTIONS . 'validations.php');

// split-page-results
 require(DIR_WS_CLASSES . 'split_page_results.php');

// infobox
 require(DIR_WS_CLASSES . 'boxes.php');

// auto activate and expire banners
 require(DIR_WS_FUNCTIONS . 'banner.php');
 tep_activate_banners();
 tep_expire_banners();

// auto expire special products
 require(DIR_WS_FUNCTIONS . 'specials.php');
 tep_expire_specials();

// calculate category path
 if (isset($HTTP_GET_VARS['cPath'])) {
$cPath = $HTTP_GET_VARS['cPath'];
 } elseif (isset($HTTP_GET_VARS['products_id']) && !isset($HTTP_GET_VARS['manufacturers_id'])) {
$cPath = tep_get_product_path($HTTP_GET_VARS['products_id']);
 } else {
$cPath = '';
 }

 if (tep_not_null($cPath)) {
$cPath_array = tep_parse_category_path($cPath);
$cPath = implode('_', $cPath_array);
$current_category_id = $cPath_array[(sizeof($cPath_array)-1)];
 } else {
$current_category_id = 0;
 }

// include the breadcrumb class and start the breadcrumb trail
 require(DIR_WS_CLASSES . 'breadcrumb.php');
 $breadcrumb = new breadcrumb;

 $breadcrumb->add(HEADER_TITLE_TOP, HTTP_SERVER);
 $breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT));

// add category names or the manufacturer name to the breadcrumb trail
 if (isset($cPath_array)) {
for ($i=0, $n=sizeof($cPath_array); $i<$n; $i++) {
  $categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "'");
  if (tep_db_num_rows($categories_query) > 0) {
	$categories = tep_db_fetch_array($categories_query);
	$breadcrumb->add($categories['categories_name'], tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1)))));
  } else {
	break;
  }
}
 } elseif (isset($HTTP_GET_VARS['manufacturers_id'])) {
$manufacturers_query = tep_db_query("select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'");
if (tep_db_num_rows($manufacturers_query)) {
  $manufacturers = tep_db_fetch_array($manufacturers_query);
  $breadcrumb->add($manufacturers['manufacturers_name'], tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id']));
}
 }

// add the products model to the breadcrumb trail
 if (isset($HTTP_GET_VARS['products_id'])) {
$model_query = tep_db_query("select products_model from " . TABLE_PRODUCTS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");

if (tep_db_num_rows($model_query)) {
  $model = tep_db_fetch_array($model_query);
  $breadcrumb->add($model['products_model'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $HTTP_GET_VARS['products_id']));
}
 }

// initialize the message stack for output messages
 require(DIR_WS_CLASSES . 'message_stack.php');
 $messageStack = new messageStack;

// BEGIN OF MUST AGREE TO TERMS - JAVASCRIPT DISABLED FIX - By Phliplip
 if(!empty($HTTP_GET_VARS['terms_not_agreed'])) {
$messageStack->add('header', urldecode($HTTP_GET_VARS['terms_not_agreed']), 'error');
 }
// END OF MUST AGREE TO TERMS - JAVASCRIPT DISABLED FIX - By Phliplip

// set which precautions should be checked
 define('WARN_INSTALL_EXISTENCE', 'true');
 define('WARN_CONFIG_WRITEABLE', 'true');
 define('WARN_SESSION_DIRECTORY_NOT_WRITEABLE', 'true');
 define('WARN_SESSION_AUTO_START', 'true');
 define('WARN_DOWNLOAD_DIRECTORY_NOT_READABLE', 'true');
 require(DIR_WS_INCLUDES . 'add_ccgvdc_application_top.php'); // CCGV 
?>

 

Please help. Thanks

Share this post


Link to post
Share on other sites
when I click the ?Add to Cart? button nothing is added to the cart.
I imagine this is caused by the fact that this code actually assumes you have a drop-down or box to add the number of products you would like to add and which has as the name "cart_quantity". This is absent in your page, so try the standard osC one with "1" instead of ($HTTP_POST_VARS['cart_quantity']) in this piece:

	  // customer adds a product from the products page
  case 'add_product' :	if (isset($HTTP_POST_VARS['products_id']) && is_numeric($HTTP_POST_VARS['products_id'])) {
							$cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+($HTTP_POST_VARS['cart_quantity']), $HTTP_POST_VARS['id']);
						  }
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;

Regarding the next piece of code for the multiple add, I don't see why this is not working. I'm flabbergasted. Perhaps you can try to print out some variables if it hits the spot where it should do its thing:

	  // customer adds multiple products from the products_listing page
  case 'add_multiple' :	
						  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) 
							 { 
							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_") 
							 { 
							 $prodId = substr($key, 11); 
							 $qty = $val; 
							 if ($qty <= 0 ) continue; 
							  if(isset($HTTP_POST_VARS["id_$prodId"]) && is_array($HTTP_POST_VARS["id_$prodId"])) {
							   // We have attributes
							   $cart->add_cart($prodId, $cart->get_quantity(tep_get_uprid($prodId,$HTTP_POST_VARS["id_$prodId"]))+$qty, $HTTP_POST_VARS["id_$prodId"]);
							 } else {
							   // No attributes
// echo variables now:
echo '<pre>Products id is: ';
echo $prodId;
echo ' and quantity is: ';
echo $qty;
echo '<br></pre>';
							   $cart->add_cart($prodId, $cart->get_quantity($prodId)+$qty);
							 }
							} 
						  } 
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;
						  //eof product listing with attributes

Share this post


Link to post
Share on other sites
I imagine this is caused by the fact that this code actually assumes you have a drop-down or box to add the number of products you would like to add and which has as the name "cart_quantity".

Thank you very much JanZ for replay. I appreciate it.

 

To replace this part of code ($HTTP_POST_VARS['cart_quantity']) with ?1? really helped. It works. Thank you very much.

 

But since this code is already there would that be too difficult to add to this page drop down box like I have in shopping_cart.php 5.jpg preferably. Or if hat?s too complicated than at least this one 4.jpg If it?s not too complicated could you please let me know the code for that and where to place it? Thank you very much. Right now the ?add to cart? button is working in product_reviews.php

 

Regarding the next piece of code for the multiple add, I don't see why this is not working. I'm flabbergasted. Perhaps you can try to print out some variables if it hits the spot where it should do its thing:

About the ?Display Add Multiples column? I didn?t understand this part ?to print out some variables if it hits the spot where it should do its thing? I don?t know how to do it. Maybe if you could explain that some more please. So what I did only was I replaced the code you sent with the one I have in application_top.php but still it didn?t work. Maybe If you could check it out directly on my site for a quote. I would greatly appreciate it.

 

Thanks again for your help

Share this post


Link to post
Share on other sites
But since this code is already there would that be too difficult to add to this page drop down box like I have in shopping_cart.php 5.jpg preferably.
You can use the same piece of code for the drop-down in the shopping_cart.php for the other pages. You made the width so small I cannot even see the selected number in the drop-down (in Safari).
About the ?Display Add Multiples column? I didn?t understand this part ?to print out some variables if it hits the spot where it should do its thing? I don?t know how to do it. Maybe if you could explain that some more please. So what I did only was I replaced the code you sent with the one I have in application_top.php but still it didn?t work.
The idea was that you should get some printout on the screen with all the products_id's and quantities, but apparently the code never got to that point. :'(

 

Perhaps you can add some more:

	  // customer adds multiple products from the products_listing page
  case 'add_multiple' :	echo '<pre>';
print_r($HTTP_POST_VARS);
						  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) 
							 {

Then you know at least what post variables are available and what value they have.

Share this post


Link to post
Share on other sites
You can use the same piece of code for the drop-down in the shopping_cart.php for the other pages. You made the width so small I cannot even see the selected number in the drop-down (in Safari).

Thank you very much for your help, JanZ

 

For the drop-down box in product_info.php after all I used the code from a contribution easy way add Qty box in your product_info.php http://www.oscommerce.com/community/contributions,1253

In product_info.php I used this code

<td align="center" class="infobox"><?php
for ($i=0; $i<15; $i++) {
$qty_array[] = array('id' => $i+1, 'text' => $i+1);
}
?> <b> <?php echo QUANTITY_WISH . ' : ' . tep_draw_pull_down_menu('quantity', $qty_array, 1); ?></td>

and in application_top.php

to make it work I had to replace this code

($HTTP_POST_VARS['cart_quantity'])

with this

($HTTP_POST_VARS['quantity'])

Hopefully that?s ok. It is working well in IE. I wanted to tell you about this because maybe it can somehow help for that ?Display Add Multiples column?

 

I also changed the size of the box in shopping_cart.php . Thanks for pointing that out.

This is the code for that box

//change dropdown
			'text' => tep_draw_pull_down_menu('cart_quantity[]', $options, $products[$i]['quantity'], 'onchange="this.form.submit()" style="width: 40px"').tep_draw_hidden_field('products_id[]', $products[$i]['id']));
	//end change dropdown

Original contrib had 100% for the width. But I had to change it to pixels because in IE I couldn?t see the selected number in the drop-down. Probably it was the same problem as you had. But now I?ve changed the with to 40px so hopefully now it will work also in Safari. If not than probably safari doesn?t support CSS in that kind of place, I guess.

 

Also about the drop-down box in shopping_cart.php when I change the amount in the box, the amount is changed also in the Shopping Cart box but the color is not changed to read as it is done anywhere else. Do you know where (which page) and what kind of code could I add to make the updated product amount in the Shopping Cart box change to read color, please?

The idea was that you should get some printout on the screen with all the products_id's and quantities, but apparently the code never got to that point. :'(

you know at least what post variables are available and what value they have.

About the ?Display Add Multiples column?

I used the code you posted and this is the result. Hopefully it can help.

Array

(

[Qty_ProdId_39] => 0

[Qty_ProdId_37] => 0

[Qty_ProdId_40] => 0

[Qty_ProdId_35] => 0

[Qty_ProdId_38] => 1

[email_address] =>

[password] =>

[x] => 87

[y] => 7

)

 

 

Warning: Cannot modify header information - headers already sent by (output started at / / / / /catalog/includes/application_top.php:380) in / / / / /catalog/includes/functions/general.php on line 34

Again thanks a lot for your help.

Edited by medved

Share this post


Link to post
Share on other sites
About the ?Display Add Multiples column?

I used the code you posted and this is the result. Hopefully it can help.

 

Again thanks a lot for your help.

 

This is the code from around the line 34 in general.php. I thought you might want to have a look at it. This part header('Location: ' . $url); is exactly on line 34.

 

// Redirect to another page or site
 function tep_redirect($url) {
if ( (strstr($url, "\n") != false) || (strstr($url, "\r") != false) ) { 
  tep_redirect(tep_href_link(FILENAME_DEFAULT, '', 'NONSSL', false));
}

if ( (ENABLE_SSL == true) && (getenv('HTTPS') == 'on') ) { // We are loading an SSL page
  if (substr($url, 0, strlen(HTTP_SERVER)) == HTTP_SERVER) { // NONSSL url
	$url = HTTPS_SERVER . substr($url, strlen(HTTP_SERVER)); // Change it to SSL
  }
}

header('Location: ' . $url);

tep_exit();
 }
////

Share this post


Link to post
Share on other sites
For the drop-down box in product_info.php after all I used the code from a contribution easy way add Qty box in your product_info.php http://www.oscommerce.com/community/contributions,1253

In product_info.php I used this code

<td align="center" class="infobox"><?php
for ($i=0; $i<15; $i++) {
$qty_array[] = array('id' => $i+1, 'text' => $i+1);
}
?> <b> <?php echo QUANTITY_WISH . ' : ' . tep_draw_pull_down_menu('quantity', $qty_array, 1); ?></td>

and in application_top.php

to make it work I had to replace this code

($HTTP_POST_VARS['cart_quantity'])

with this

($HTTP_POST_VARS['quantity'])

Hopefully that?s ok. It is working well in IE. I wanted to tell you about this because maybe it can somehow help for that ?Display Add Multiples column?

Yes, that is excellent. However, I don't think it is related to the Display Add Multiples problem.

 

Don't worry about the error about headers. That is expected when you echo stuff from application_top.php.

 

Now that we know that the code of "add_multiple" is called and HTTP_POST_VARS is not empty we need to find out why the add_cart code is not called.

 

Can you change the top part now to:

	  // customer adds multiple products from the products_listing page
  case 'add_multiple' :	
						  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) 
							 { 
echo '<pre>HTTP_POST_VAR: ';
echo $HTTP_POST_VARS[$key];
echo ' with substring 0,11 being: ';
echo $substr($key,0,11);
echo ' and id: ';
echo substr($key, 11);
echo '<br></pre>';
							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_")

Also about the drop-down box in shopping_cart.php when I change the amount in the box, the amount is changed also in the Shopping Cart box but the color is not changed to read as it is done anywhere else. Do you know where (which page) and what kind of code could I add to make the updated product amount in the Shopping Cart box change to read color, please?
I don't know what you are meaning. Do you use some background color in the drop-down? Safari doesn't show that I'm afraid.

Share this post


Link to post
Share on other sites
Now that we know that the code of "add_multiple" is called and HTTP_POST_VARS is not empty we need to find out why the add_cart code is not called.

Thanks for replay,JanZ

 

I replaced this code

case 'add_multiple' :	
						  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) 
							 { 
							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_") 
							 { 
							 $prodId = substr($key, 11); 
							 $qty = $val; 
							 if ($qty <= 0 ) continue; 
							  if(isset($HTTP_POST_VARS["id_$prodId"]) && is_array($HTTP_POST_VARS["id_$prodId"]))

with the one you posted

case 'add_multiple' :	
						  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) 
							 { 
echo '<pre>HTTP_POST_VAR: ';
echo $HTTP_POST_VARS[$key];
echo ' with substring 0,11 being: ';
echo $substr($key,0,11);
echo ' and id: ';
echo substr($key, 11);
echo '<br></pre>';
							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_")

and I?ve got this error:

 

Parse error: syntax error, unexpected T_CASE in /domains1/do287700/public/www_root/catalog/includes/application_top.php on line 403

 

This is the code from around the line 403 in application_top

							  //eof product listing with attributes
  // performed by the 'buy now' button in product listings and review page
  case 'buy_now' :		if (isset($HTTP_GET_VARS['products_id'])) {
							if (tep_has_product_attributes($HTTP_GET_VARS['products_id'])) {
							  tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id']));
							} else {
							  $cart->add_cart($HTTP_GET_VARS['products_id'], $cart->get_quantity($HTTP_GET_VARS['products_id'])+1);
							}
						  }

Exactly on line 403 is this code: } else {

 

 

About the box. Sorry for my bad English. It?s not my first language. Hopefully this time I will be clearer:

When you click on ?Add to cart button? in product_info.php, the Shopping Cart box is updated like this:

6.jpg

The font of the updated product is in red color.

When you use the drop-down box in shopping_cart.php, the updated product in shopping cart looks like this:

7.jpg

The font color of the updated product isn?t changed to red.

Do you know where (which page) and what kind of code could I add to make the updated product amount in the Shopping Cart box change to red color, please?

 

Again thank you very much for your help

Edited by medved

Share this post


Link to post
Share on other sites
I replaced this code.... and I?ve got this error:
Oops, you replaced too much. I only wanted you to put the code with the echo's in between there:

 

case 'add_multiple' :	
						  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) 
							 { 
// BOF echo variables this code gets
echo '<pre>HTTP_POST_VAR: ';
echo $HTTP_POST_VARS[$key];
echo ' with substring 0,11 being: ';
echo $substr($key,0,11);
echo ' and id: ';
echo substr($key, 11);
echo '<br></pre>';
// EOF echo variables this code gets
							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_") 
							 { 
							 $prodId = substr($key, 11); 
							 $qty = $val; 
							 if ($qty <= 0 ) continue; 
							  if(isset($HTTP_POST_VARS["id_$prodId"]) && is_array($HTTP_POST_VARS["id_$prodId"]))

About the box. Sorry for my bad English. It?s not my first language.
It is not bad, and it is not my first language either.
Hopefully this time I will be clearer:

When you click on ?Add to cart button? in product_info.php, the Shopping Cart box is updated like this:

 

The font of the updated product is in red color.

When you use the drop-down box in shopping_cart.php, the updated product in shopping cart looks like this:

 

The font color of the updated product isn?t changed to red.

Do you know where (which page) and what kind of code could I add to make the updated product amount in the Shopping Cart box change to red color, please?

That is a bit hard to do because it relies on adding a new product to the cart. See includes/boxes/shopping_cart.php line 29-33:

	  if ((tep_session_is_registered('new_products_id_in_cart')) && ($new_products_id_in_cart == $products[$i]['id'])) {
	$cart_contents_string .= '<span class="newItemInCart">';
  } else {
	$cart_contents_string .= '<span class="infoBoxContents">';
  }

When updating that session variable is not set (that is done in the class shopping_cart.php in the function add_cart).

Share this post


Link to post
Share on other sites
Oops, you replaced too much. I only wanted you to put the code with the echo's in between there:

 

Lately I am getting this error when trying to use OSC forums: IPB WARNING [2] mysql_connect(): Too many connections (Line: 131 of /ips_kernel/class_db_mysql.php)

Don?t know if it?s just my computer or what.

 

Thank you for replay,

Now I have this code in application_top.php

case 'add_multiple' :	
						  while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) 
							 { 
// BOF echo variables this code gets
echo '<pre>HTTP_POST_VAR: ';
echo $HTTP_POST_VARS[$key];
echo ' with substring 0,11 being: ';
echo $substr($key,0,11);
echo ' and id: ';
echo substr($key, 11);
echo '<br></pre>';
// EOF echo variables this code gets
							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_") 
							 { 
							 $prodId = substr($key, 11); 
							 $qty = $val; 
							 if ($qty <= 0 ) continue; 
							  if(isset($HTTP_POST_VARS["id_$prodId"]) && is_array($HTTP_POST_VARS["id_$prodId"]))

and nothing happened. You can check it out. The code is still there.

That is a bit hard to do because it relies on adding a new product to the cart. See includes/boxes/shopping_cart.php line 29-33:

When updating that session variable is not set (that is done in the class shopping_cart.php in the function add_cart).

Thank you very much for this too. The code you sent is identical to the one I have, and the color for newItemInCart is red (ff0000). Looks to me like something I won?t be abele to handle so maybe I just leave like that for now. Thanks a lot for your help. I appreciate it.

Share this post


Link to post
Share on other sites
Lately I am getting this error when trying to use OSC forums: IPB WARNING [2] mysql_connect(): Too many connections (Line: 131 of /ips_kernel/class_db_mysql.php)

Don?t know if it?s just my computer or what.

No, there are plenty people with that problem. I think it is looked at (see Project Feedback forum).

 

Now I have this code in application_top.php ... and nothing happened. You can check it out. The code is still there.
Wow, that is strange. Let's try instead of while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) a more modern equivalent syntax: foreach ($HTTP_POST_VARS as $key => $val)

Perhaps we are lucky (then you will see the printout and the header error).

Share this post


Link to post
Share on other sites
Wow, that is strange. Let's try instead of while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) a more modern equivalent syntax: foreach ($HTTP_POST_VARS as $key => $val)

Perhaps we are lucky (then you will see the printout and the header error).

Now i put this code

	 // customer adds multiple products from the products_listing page
  case 'add_multiple' :	
						 foreach ($HTTP_POST_VARS as $key => $val)

							 { 
// BOF echo variables this code gets
echo '<pre>HTTP_POST_VAR: ';
echo $HTTP_POST_VARS[$key];
echo ' with substring 0,11 being: ';
echo $substr($key,0,11);
echo ' and id: ';
echo substr($key, 11);
echo '<br></pre>';
// EOF echo variables this code gets

							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_") 
							 { 
							 $prodId = substr($key, 11); 
							 $qty = $val; 
							 if ($qty <= 0 ) continue; 
							  if(isset($HTTP_POST_VARS["id_$prodId"]) && is_array($HTTP_POST_VARS["id_$prodId"]))

and i've got this:

 

HTTP_POST_VAR: 0 with substring 0,11 being:

Fatal error: Function name must be a string in /////catalog/includes/application_top.php on line 387

 

Tanks a lot for help

Share this post


Link to post
Share on other sites
QUOTE(JanZ @ Oct 23 2006, 07:11 AM)

 

Wow, that is strange. Let's try instead of while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) a more modern equivalent syntax: foreach ($HTTP_POST_VARS as $key => $val)

Perhaps we are lucky (then you will see the printout and the header error).

Than I put the code like this:

	  // customer adds multiple products from the products_listing page
  case 'add_multiple' :	
						 foreach ($HTTP_POST_VARS as $key => $val)

							 { 

							 if (substr($key,0,11) == "Qty_ProdId_" || substr($key,0,11) == "Qty_NPrdId_") 
							 { 
							 $prodId = substr($key, 11); 
							 $qty = $val; 
							 if ($qty <= 0 ) continue; 
							  if(isset($HTTP_POST_VARS["id_$prodId"]) && is_array($HTTP_POST_VARS["id_$prodId"])) {
							   // We have attributes
							   $cart->add_cart($prodId, $cart->get_quantity(tep_get_uprid($prodId,$HTTP_POST_VARS["id_$prodId"]))+$qty, $HTTP_POST_VARS["id_$prodId"]);
							 } else {
							   // No attributes
							   $cart->add_cart($prodId, $cart->get_quantity($prodId)+$qty);
							 }
							} 
						  } 
						  tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
						  break;
						  //eof product listing with attributes

and???? IT WORKS NOW!!! You are the best. I just can?t believe it. I thing you just solved the problem. Thank you so much. Well done.

Share this post


Link to post
Share on other sites

Hey guys.

 

i have looked through alot of the support pages for this contrib and have seen a few thigns similar to what i am having problems with but the solutions might be lost somewhere deep down in the thread.

 

I am having two main problems,

 

my different pricing for wholesale (or any other groups apart from retail) seem to display correctly for one item, however if i have multiple attributes for an ite, (lets say a ball in size 3,4,5) it displays the correct price in the heading of the item but not in the drop down box for the sizes.

 

secondly when i am adding an item to cart, it seems to be adding the retail price AND the whole price together, eg: retail $50, wholesale $40, cart is displaying $90 for 1 item.

 

Also i read on the earlier pages a 'hide product group per customer' type feature (i.e different pricing and different available product depending on the user) an example would be a football club seeing footballs at special pricing, not tennis balls or any other unrelated product to football.

 

thanks alot for your help, this is such an amazing contrib !!!!

 

cheers

 

dlxyzen :D :D :D

Share this post


Link to post
Share on other sites

I have installed this contribution fine, but the problem is that if a customer in a wholesale group logs on, then they can not view the xsell products. Non-logged in customers and logged in customers within the retail group can view these products, but not my wholesale customers. Do you know why this is?

 

Many thanks, Luke

Share this post


Link to post
Share on other sites
I am having two main problems,

 

my different pricing for wholesale (or any other groups apart from retail) seem to display correctly for one item, however if i have multiple attributes for an ite, (lets say a ball in size 3,4,5) it displays the correct price in the heading of the item but not in the drop down box for the sizes.

 

secondly when i am adding an item to cart, it seems to be adding the retail price AND the whole price together, eg: retail $50, wholesale $40, cart is displaying $90 for 1 item.

Never heard that one before... Do you use a contribution for the attributes part on your website?
Also i read on the earlier pages a 'hide product group per customer' type feature (i.e different pricing and different available product depending on the user) an example would be a football club seeing footballs at special pricing, not tennis balls or any other unrelated product to football.
I assume you mean the Hide products from customer groups for SPPC contribution. Yes, you can hide products and/or categories for groups of customers with that contribution and since they are in different groups there can be different pricing too.

Share this post


Link to post
Share on other sites
Never heard that one before... Do you use a contribution for the attributes part on your website?

I assume you mean the Hide products from customer groups for SPPC contribution. Yes, you can hide products and/or categories for groups of customers with that contribution and since they are in different groups there can be different pricing too.

 

hi janz,

 

i am not using any other contributions that would affect the sizing at all, the only other contrib i am using is quantity price breaks for SPPC.

 

Not sure whether you would know or anybody in this thread but i did download the hide products and categories contrib, all installed okay however i was expecting when i hid a category that all products in that category would be hidden as well, at the moment i have to hide all the products individually AND hide the category, seems a bit unusual that i would have to do this

 

cheers

 

dlyxzen

Share this post


Link to post
Share on other sites
the problem is that if a customer in a wholesale group logs on, then they can not view the xsell products. Non-logged in customers and logged in customers within the retail group can view these products, but not my wholesale customers.
In principle SPPC has nothing to do with that contribution. Only the prices that the XSELL contribution shows should be adjusted to SPPC but that is it. There is no logical connection between XSELL and SPPC if you ask me... but that doesn't solve the problem you seem to have.

Share this post


Link to post
Share on other sites
i am not using any other contributions that would affect the sizing at all, the only other contrib i am using is quantity price breaks for SPPC.
Should not give those problems.
Not sure whether you would know or anybody in this thread but i did download the hide products and categories contrib, all installed okay however i was expecting when i hid a category that all products in that category would be hidden as well, at the moment i have to hide all the products individually AND hide the category, seems a bit unusual that i would have to do this
Yes, indeed. You did download and install the latest version? In the older version you could only hide the individual products.

Share this post


Link to post
Share on other sites

Hi guys,

 

I'm hoping someone can help me with this :)

 

I am running osCommerce 2.2ms2-060817

Current installed contribs:

STS v4.2 with Header Tags 2.5.9 and InfoBox Templates for STS v4.2

Master Products v1.2

scrolling specials box 1.0

infoBox Customizing (no version number)

and finally Separate Price Per Customer v4.1.5

 

I have been working on trying to merge the SPPC code with the Master Products code on the site. I've gotten a bit of it - but I keep running into the same problem. Whenever I click on a product, instead of it showing me the actual product information - I get this error:

 

1109 - Unknown table 'p' in field list

 

select count(p.products_id) as total order by pd.products_name

 

[TEP STOP]

 

Here is the code on my catalog\index.php file (no catalog folder on the server - so it's in the root directory there)

 

<?php
/*
 $Id: index.php,v 1.1 2003/06/11 17:37:59 hpdl Exp $
 adapted for Separate Pricing per Customer 2005/02/06

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

 Copyright (c) 2003 osCommerce

 Master Products - JOHNSON - 05/07/2003 matti@suomedia.com

 Copyright (c) 2003 Suomedia - Dynamic Content Management  

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

//BOF SPPC
 global $customer_group_id;
 if(!isset($customer_group_id)) { $customer_group_id = '0'; }
//EOF SPPC

// the following cPath references come from application_top.php
 $category_depth = 'top';
 if (isset($cPath) && tep_not_null($cPath)) {
$categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
$cateqories_products = tep_db_fetch_array($categories_products_query);
if ($cateqories_products['total'] > 0) {
  $category_depth = 'products'; // display products
} else {
  $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'");
  $category_parent = tep_db_fetch_array($category_parent_query);
  if ($category_parent['total'] > 0) {
	$category_depth = 'nested'; // navigate through the categories
  } else {
	$category_depth = 'products'; // category has no products, but display the 'no products' message
  }
}
 }

 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> 
<title><?php echo TITLE; ?></title>
<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 //-->
<?php
 if ($category_depth == 'nested') {
$category_query = tep_db_query("select cd.categories_name, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'");
$category = tep_db_fetch_array($category_query);
?>
<td width="100%" valign="top"><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 . $category['categories_image'], $category['categories_name'], 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>
  <tr>
	<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
	  <tr>
		<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
		  <tr>
<?php
if (isset($cPath) && strpos('_', $cPath)) {
// check to see if there are deeper categories within the current category
  $category_links = array_reverse($cPath_array);
  for($i=0, $n=sizeof($category_links); $i<$n; $i++) {
	$categories_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "'");
	$categories = tep_db_fetch_array($categories_query);
	if ($categories['total'] < 1) {
	  // do nothing, go through the loop
	} else {
	  $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");
	  break; // we've found the deepest category the customer is in
	}
  }
} else {
  $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$current_category_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");
}

$number_of_categories = tep_db_num_rows($categories_query);

$rows = 0;
while ($categories = tep_db_fetch_array($categories_query)) {
  $rows++;
  $cPath_new = tep_get_path($categories['categories_id']);
  $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
  echo '				<td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . '</a></td>' . "\n";
  if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) {
	echo '			  </tr>' . "\n";
	echo '			  <tr>' . "\n";
  }
}

// needed for the new products module shown below
$new_products_category_id = $current_category_id;
?>
		  </tr>
		</table></td>
	  </tr>
	  <tr>
		<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
	  <tr>
		<td><?php //include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?></td>
	  </tr>
	</table></td>
  </tr>
</table></td>
<?php
 } elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) {
// create column list
$define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,
					 'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,
					 'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,
					 'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,
					 'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,
					 'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,
					 'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE,
					 'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);

asort($define_list);

$column_list = array();
reset($define_list);
while (list($key, $value) = each($define_list)) {
  if ($value > 0) $column_list[] = $key;
}

// BOF Separate Pricing Per Customer
  if(!tep_session_is_registered('sppc_customer_group_id')) {
 $customer_group_id = '0';
 } else {
  $customer_group_id = $sppc_customer_group_id;
  }
  // this will build the table with specials prices for the retail group or update it if needed
  // this function should have been added to includes/functions/database.php
  if ($customer_group_id == '0') {
  tep_db_check_age_specials_retail_table();
  }
  $status_product_prices_table = false;
  $status_need_to_get_prices = false;

  // find out if sorting by price has been requested
  if ( (isset($HTTP_GET_VARS['sort'])) && (ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) && (substr($HTTP_GET_VARS['sort'], 0, 1) <= sizeof($column_list)) && $customer_group_id != '0' ){
$_sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1);
if ($column_list[$_sort_col-1] == 'PRODUCT_LIST_PRICE') {
  $status_need_to_get_prices = true;
  }
  }

  if ($status_need_to_get_prices == true && $customer_group_id != '0') {
  $product_prices_table = TABLE_PRODUCTS_GROUP_PRICES.$customer_group_id;
  // the table with product prices for a particular customer group is re-built only a number of times per hour
  // (setting in /includes/database_tables.php called MAXIMUM_DELAY_UPDATE_PG_PRICES_TABLE, in minutes)
  // to trigger the update the next function is called (new function that should have been
  // added to includes/functions/database.php)
  tep_db_check_age_products_group_prices_cg_table($customer_group_id);
  $status_product_prices_table = true;

  } // end if ($status_need_to_get_prices == true && $customer_group_id != '0')
// EOF Separate Pricing Per Customer


$select_column_list = '';

for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
  switch ($column_list[$i]) {
	case 'PRODUCT_LIST_MODEL':
	  $select_column_list .= 'p.products_model, ';
	  break;
	case 'PRODUCT_LIST_NAME':
	  $select_column_list .= 'pd.products_name, ';
	  break;
	case 'PRODUCT_LIST_MANUFACTURER':
	  $select_column_list .= 'm.manufacturers_name, ';
	  break;
	case 'PRODUCT_LIST_QUANTITY':
	  $select_column_list .= 'p.products_quantity, ';
	  break;
	case 'PRODUCT_LIST_IMAGE':
	  $select_column_list .= 'p.products_image, ';
	  break;
	case 'PRODUCT_LIST_WEIGHT':
	  $select_column_list .= 'p.products_weight, ';
	  break;
  }
}

// show the products of a specified manufacturer
if (isset($HTTP_GET_VARS['manufacturers_id'])) {
  if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {
// We are asked to show only a specific category
// BOF Separate Pricing Per Customer
if ($status_product_prices_table == true) {
$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";
} else { // either retail or no need to get correct special prices
$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";
} // end else { // either retail...
// EOF Separate Pricing Per Customer

  } else {
// We show them all
	// BOF Separate Pricing Per Customer
	if ($status_product_prices_table == true) {
	$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";
} else { // either retail or no need to get correct special prices
	$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m  left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";
} // end else { // either retail...
// EOF Separate Pricing Per Customer
  }
} else {

// show the products in a given categorie
  if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {
// We are asked to show only specific catgeory
	if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {
// We are asked to show only specific catgeory;
// BOF Separate Pricing Per Customer
	if ($status_product_prices_table == true) {
	$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
	} else { // either retail or no need to get correct special prices
	$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS_RETAIL_PRICES . " s using(products_id) where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
	} // end else { // either retail...
// EOF Separate Pricing Per Customer

  } else {
// We show them all
//Master Products AND SPPC
if ($status_product_prices_table == true) {
	$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_master, p.products_master_status, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
} else { // either retail or no need to get correct special prices
	$listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_master, p.products_master_status, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
  } // end else { // either retail...
// EOF Separate Pricing per Customer
 }
}
  }

//Master Products EOF
if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) {
  for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
	if ($column_list[$i] == 'PRODUCT_LIST_NAME') {
	  $HTTP_GET_VARS['sort'] = $i+1 . 'a';
	  $listing_sql .= " order by pd.products_name";
	  break;
	}
  }
} else {
  $sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1);
  $sort_order = substr($HTTP_GET_VARS['sort'], 1);
  $listing_sql .= ' order by ';
  switch ($column_list[$sort_col-1]) {
	case 'PRODUCT_LIST_MODEL':
	  $listing_sql .= "p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
	case 'PRODUCT_LIST_NAME':
	  $listing_sql .= "pd.products_name " . ($sort_order == 'd' ? 'desc' : '');
	  break;
	case 'PRODUCT_LIST_MANUFACTURER':
	  $listing_sql .= "m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
	case 'PRODUCT_LIST_QUANTITY':
	  $listing_sql .= "p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
	case 'PRODUCT_LIST_IMAGE':
	  $listing_sql .= "pd.products_name";
	  break;
	case 'PRODUCT_LIST_WEIGHT':
	  $listing_sql .= "p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
	case 'PRODUCT_LIST_PRICE':
	  $listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
	  break;
  }
}
?>
<td width="100%" valign="top"><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>
<?php
// optional Product List Filter
if (PRODUCT_LIST_FILTER > 0) {
  if (isset($HTTP_GET_VARS['manufacturers_id'])) {
	$filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' order by cd.categories_name";
  } else {
	$filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m.manufacturers_name";
  }
  $filterlist_query = tep_db_query($filterlist_sql);
  if (tep_db_num_rows($filterlist_query) > 1) {
	echo '			<td align="center" class="main">' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . TEXT_SHOW . ' ';
	if (isset($HTTP_GET_VARS['manufacturers_id'])) {
	  echo tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']);
	  $options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES));
	} else {
	  echo tep_draw_hidden_field('cPath', $cPath);
	  $options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS));
	}
	echo tep_draw_hidden_field('sort', $HTTP_GET_VARS['sort']);
	while ($filterlist = tep_db_fetch_array($filterlist_query)) {
	  $options[] = array('id' => $filterlist['id'], 'text' => $filterlist['name']);
	}
	echo tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"');
	echo '</form></td>' . "\n";
  }
}

// Get the right image for the top-right
$image = DIR_WS_IMAGES . 'table_background_list.gif';
if (isset($HTTP_GET_VARS['manufacturers_id'])) {
  $image = tep_db_query("select manufacturers_image from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'");
  $image = tep_db_fetch_array($image);
  $image = $image['manufacturers_image'];
} elseif ($current_category_id) {
  $image = tep_db_query("select categories_image from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
  $image = tep_db_fetch_array($image);
  $image = $image['categories_image'];
}
?>
		<td align="right"><?php echo tep_image(DIR_WS_IMAGES . $image, 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>
  <tr>
	<td><?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?></td>
  </tr>
</table></td>
<?php
 } else { // default page
?>
<td width="100%" valign="top"><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 tep_customer_greeting(); ?></td>
		<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_default.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>
  <tr>
	<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
	  <tr>
		<td class="main"> </td>
	  </tr>
	  <tr>
		<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
	  <tr>
		<td class="main"><?php echo TEXT_MAIN; ?></td>
	  </tr>
	  <tr>
		<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
	  </tr>
	  <tr>
		<td><?php //include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?></td>
	  </tr>
<?php
//include(DIR_WS_MODULES . FILENAME_UPCOMING_PRODUCTS);
?>
	</table></td>
  </tr>
</table></td>
<?php
 }
?>
<!-- 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'); ?>

 

Does anybody see any reason that I should be getting this error? I have been staring at this code for several hours now and I just can't seem to find a problem :'(

 

Thanks in Advance for any help you can provide :D

 

Tracy


~Tracy
 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×