[TEP-COMMIT] CVS: catalog/catalog/includes application_top.php,1.280,1.281

Harald Ponce de Leon <[email protected]>
Newsgroups gmane.comp.web.oscommerce.cvs
Message-ID <[email protected]>
Update of /cvsroot/tep/catalog/catalog/includes
In directory sc8-pr-cvs1:/tmp/cvs-serv20981

Modified Files:
	application_top.php 
Log Message:
removed the register_globals check
removed php 3 session class
removed php 3 compatibility logic

use the new customer, session, and tax classes

use the super global variables PHP => 4.1 provides, which are referenced
to on PHP 4.0.x servers (in compatibility.php)


Index: application_top.php
===================================================================
RCS file: /cvsroot/tep/catalog/catalog/includes/application_top.php,v
retrieving revision 1.280
retrieving revision 1.281
diff -u -d -r1.280 -r1.281
--- application_top.php	12 Jul 2003 09:38:07 -0000	1.280
+++ application_top.php	17 Nov 2003 17:23:44 -0000	1.281
@@ -16,12 +16,6 @@
 // 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');
 
@@ -35,20 +29,27 @@
   }
 
 // define the project version
-  define('PROJECT_VERSION', 'osCommerce 2.2-MS2');
+  define('PROJECT_VERSION', 'osCommerce 2.2-MS3-CVS');
 
 // 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);
   }
 
+// 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);
+
+// compatibility work-around logic for PHP4
+  require(DIR_WS_FUNCTIONS . 'compatibility.php');
+
+// set php_self in the local scope
+  if (!isset($PHP_SELF)) $PHP_SELF = $_SERVER['PHP_SELF'];
+
 // include the list of project filenames
   require(DIR_WS_INCLUDES . 'filenames.php');
 
@@ -71,7 +72,7 @@
   }
 
 // if gzip_compression is enabled, start to buffer the output
-  if ( (GZIP_COMPRESSION == 'true') && ($ext_zlib_loaded = extension_loaded('zlib')) && (PHP_VERSION >= '4') ) {
+  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');
@@ -95,14 +96,14 @@
         if (strpos($vars[$i], '[]')) {
           $GET_array[substr($vars[$i], 0, -2)][] = $vars[$i+1];
         } else {
-          $HTTP_GET_VARS[$vars[$i]] = $vars[$i+1];
+          $_GET[$vars[$i]] = $vars[$i+1];
         }
         $i++;
       }
 
       if (sizeof($GET_array) > 0) {
         while (list($key, $value) = each($GET_array)) {
-          $HTTP_GET_VARS[$key] = $value;
+          $_GET[$key] = $value;
         }
       }
     }
@@ -112,63 +113,32 @@
   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);
+// include customer class
+  require(DIR_WS_CLASSES . 'customer.php');
 
-// 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);
+// include session class
+  if (PHP_VERSION < 4.1) {
+    include(DIR_WS_CLASSES . 'session_compatible.php');
+  } else {
+    include(DIR_WS_CLASSES . 'session.php');
   }
+  $osC_Session = new osC_Session;
 
-// 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()]);
-   }
+// include navigation history class
+  require(DIR_WS_CLASSES . 'navigation_history.php');
 
 // 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;
+    if (isset($_COOKIE['cookie_test'])) {
+      $osC_Session->start();
     }
   } elseif (SESSION_BLOCK_SPIDERS == 'True') {
     $user_agent = strtolower(getenv('HTTP_USER_AGENT'));
@@ -188,27 +158,26 @@
     }
 
     if ($spider_flag == false) {
-      tep_session_start();
-      $session_started = true;
+      $osC_Session->start();
     }
   } else {
-    tep_session_start();
-    $session_started = true;
+    $osC_Session->start();
   }
 
 // 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) ) {
+  if ( ($request_type == 'SSL') && (SESSION_CHECK_SSL_SESSION_ID == 'True') && (ENABLE_SSL == true) && ($osC_Session->is_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 ($osC_Session->exists('SSL_SESSION_ID') == false) {
+      $osC_Session->set('SESSION_SSL_ID', $ssl_session_id);
     }
 
-    if ($SESSION_SSL_ID != $ssl_session_id) {
-      tep_session_destroy();
+    if ($osC_Session->value('SESSION_SSL_ID') != $ssl_session_id) {
+      $osC_Session->destroy();
+
       tep_redirect(tep_href_link(FILENAME_SSL_CHECK));
     }
   }
@@ -216,13 +185,14 @@
 // 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 ($osC_Session->exists('SESSION_USER_AGENT') == false) {
+      $osC_Session->set('SESSION_USER_AGENT', $http_user_agent);
     }
 
-    if ($SESSION_USER_AGENT != $http_user_agent) {
-      tep_session_destroy();
+    if ($osC_Session->value('SESSION_USER_AGENT') != $http_user_agent) {
+      $osC_Session->destroy();
+
       tep_redirect(tep_href_link(FILENAME_LOGIN));
     }
   }
@@ -230,27 +200,32 @@
 // 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 ($osC_Session->exists('SESSION_IP_ADDRESS') == false) {
+      $osC_Session->set('SESSION_IP_ADDRESS', $ip_address);
     }
 
-    if ($SESSION_IP_ADDRESS != $ip_address) {
-      tep_session_destroy();
+    if ($osC_Session->value('SESSION_IP_ADDRESS') != $ip_address) {
+      $osC_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);
-    }
+// create an instance of the shopping cart
+  if ($osC_Session->exists('cart')) {
+    $cart =& $osC_Session->value('cart');
   } else {
-    tep_session_register('cart');
     $cart = new shoppingCart;
+    $osC_Session->set('cart', $cart);
+  }
+
+// create an instance of the customer class
+  if ($osC_Session->exists('osC_Customer')) {
+    $osC_Customer =& $osC_Session->value('osC_Customer');
+  } else {
+    $osC_Customer = new osC_Customer;
+    $osC_Session->set('osC_Customer', $osC_Customer);
   }
 
 // include currencies class and create an instance
@@ -262,56 +237,51 @@
   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');
-    }
-
+  if (($osC_Session->exists('language') == false) || isset($_GET['language'])) {
     include(DIR_WS_CLASSES . 'language.php');
-    $lng = new language();
+    $lng = new language;
 
-    if (isset($HTTP_GET_VARS['language']) && tep_not_null($HTTP_GET_VARS['language'])) {
-      $lng->set_language($HTTP_GET_VARS['language']);
+    if (isset($_GET['language']) && tep_not_null($_GET['language'])) {
+      $lng->set_language($_GET['language']);
     } else {
       $lng->get_browser_language();
     }
 
-    $language = $lng->language['directory'];
-    $languages_id = $lng->language['id'];
+    $osC_Session->set('language', $lng->language['directory']);
+    $osC_Session->set('languages_id', $lng->language['id']);
   }
 
 // include the language translations
-  require(DIR_WS_LANGUAGES . $language . '.php');
+  require(DIR_WS_LANGUAGES . $osC_Session->value('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;
+  if (($osC_Session->exists('currency') == false) || isset($_GET['currency']) || ( (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') && (LANGUAGE_CURRENCY != $osC_Session->value('currency')) ) ) {
+    if (isset($_GET['currency']) && $currencies->exists($_GET['currency'])) {
+      $currency = $_GET['currency'];
     } else {
       $currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY;
     }
+
+    $osC_Session->set('currency', $currency);
   }
 
+// tax class
+  require(DIR_WS_CLASSES . 'tax.php');
+  $osC_Tax = new osC_Tax;
+
 // navigation history
-  if (tep_session_is_registered('navigation')) {
-    if (PHP_VERSION < 4) {
-      $broken_navigation = $navigation;
-      $navigation = new navigationHistory;
-      $navigation->unserialize($broken_navigation);
-    }
+  if ($osC_Session->exists('navigation')) {
+    $navigation =& $osC_Session->value('navigation');
   } else {
-    tep_session_register('navigation');
     $navigation = new navigationHistory;
+    $osC_Session->set('navigation', $navigation);
   }
   $navigation->add_current_page();
 
 // Shopping cart actions
-  if (isset($HTTP_GET_VARS['action'])) {
+  if (isset($_GET['action'])) {
 // redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled
-    if ($session_started == false) {
+    if ($osC_Session->is_started == false) {
       tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE));
     }
 
@@ -320,98 +290,97 @@
       $parameters = array('action', 'cPath', 'products_id', 'pid');
     } else {
       $goto = basename($PHP_SELF);
-      if ($HTTP_GET_VARS['action'] == 'buy_now') {
+      if ($_GET['action'] == 'buy_now') {
         $parameters = array('action', 'pid', 'products_id');
       } else {
         $parameters = array('action', 'pid');
       }
     }
-    switch ($HTTP_GET_VARS['action']) {
+
+    switch ($_GET['action']) {
       // 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]);
+      case 'update_product' : for ($i=0, $n=sizeof($_POST['products_id']); $i<$n; $i++) {
+                                if (isset($_POST['cart_delete']) && is_array($_POST['cart_delete']) && in_array($_POST['products_id'][$i], $_POST['cart_delete'])) {
+                                  $cart->remove($_POST['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);
+                                  $attributes = (isset($_POST['id']) && isset($_POST['id'][$_POST['products_id'][$i]])) ? $_POST['id'][$_POST['products_id'][$i]] : '';
+                                  $cart->add_cart($_POST['products_id'][$i], $_POST['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']))+1, $HTTP_POST_VARS['id']);
+      case 'add_product' :    if (isset($_POST['products_id']) && is_numeric($_POST['products_id'])) {
+                                if (isset($_POST['id']) && is_array($_POST['id'])) {
+                                  $cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $_POST['id']))+1, $_POST['id']);
+                                } else {
+                                  $cart->add_cart($_POST['products_id'], $cart->get_quantity($_POST['products_id'])+1);
+                                }
                               }
+
                               tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
                               break;
       // 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']));
+      case 'buy_now' :        if (isset($_GET['products_id'])) {
+                                if (tep_has_product_attributes($_GET['products_id'])) {
+                                  tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $_GET['products_id']));
                                 } else {
-                                  $cart->add_cart($HTTP_GET_VARS['products_id'], $cart->get_quantity($HTTP_GET_VARS['products_id'])+1);
+                                  $cart->add_cart($_GET['products_id'], $cart->get_quantity($_GET['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'];
+      case 'notify' :         if ($osC_Customer->isLoggedOn()) {
+                                if (isset($_GET['products_id'])) {
+                                  $notify = $_GET['products_id'];
+                                } elseif (isset($_GET['notify'])) {
+                                  $notify = $_GET['notify'];
+                                } elseif (isset($_POST['notify'])) {
+                                  $notify = $_POST['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_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . (int)$notify[$i] . "' and customers_id = '" . (int)$osC_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_db_query("insert into " . TABLE_PRODUCTS_NOTIFICATIONS . " (products_id, customers_id, date_added) values ('" . (int)$notify[$i] . "', '" . (int)$osC_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 . "'");
+      case 'notify_remove' :  if ($osC_Customer->isLoggedOn() && isset($_GET['products_id'])) {
+                                $check_query = tep_db_query("select count(*) as count from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . (int)$_GET['products_id'] . "' and customers_id = '" . (int)$osC_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_db_query("delete from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . (int)$_GET['products_id'] . "' and customers_id = '" . (int)$osC_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']));
+      case 'cust_order' :     if ($osC_Customer->isLoggedOn() && isset($_GET['pid'])) {
+                                if (tep_has_product_attributes($_GET['pid'])) {
+                                  tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $_GET['pid']));
                                 } else {
-                                  $cart->add_cart($HTTP_GET_VARS['pid'], $cart->get_quantity($HTTP_GET_VARS['pid'])+1);
+                                  $cart->add_cart($_GET['pid'], $cart->get_quantity($_GET['pid'])+1);
                                 }
                               }
+
                               tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
                               break;
     }
@@ -443,10 +412,10 @@
   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']);
+  if (isset($_GET['cPath'])) {
+    $cPath = $_GET['cPath'];
+  } elseif (isset($_GET['products_id']) && !isset($_GET['manufacturers_id'])) {
+    $cPath = tep_get_product_path($_GET['products_id']);
   } else {
     $cPath = '';
   }
@@ -454,7 +423,8 @@
   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)];
+
+    $current_category_id = end($cPath_array);
   } else {
     $current_category_id = 0;
   }
@@ -469,7 +439,7 @@
 // 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 . "'");
+      $categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$osC_Session->value('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)))));
@@ -477,20 +447,20 @@
         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'] . "'");
+  } elseif (isset($_GET['manufacturers_id'])) {
+    $manufacturers_query = tep_db_query("select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$_GET['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']));
+      $breadcrumb->add($manufacturers['manufacturers_name'], tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $_GET['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 (isset($_GET['products_id'])) {
+    $model_query = tep_db_query("select products_model from " . TABLE_PRODUCTS . " where products_id = '" . (int)$_GET['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']));
+      $breadcrumb->add($model['products_model'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $_GET['products_id']));
     }
   }
 



-------------------------------------------------------
This SF. Net email is sponsored by: GoToMyPC
GoToMyPC is the fast, easy and secure way to access your computer from
any Web browser or wireless device. Click here to Try it Free!
https://www.gotomypc.com/tr/OSDN/AW/Q4_2003/t/g22lp?Target=mm/g22lp.tmpl
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.