Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- $Id$
- osCommerce, Open Source E-Commerce Solutions
- http://www.oscommerce.com
- Copyright (c) 2008 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);
- //the following three lines are for TESTING errors purposes ONLY, remove from final code
- //error_reporting(E_ALL);
- //ini_set('display_errors','1');
- //ini_set('display_startup_errors','1');
- // KISS Error Handling & Debugging by FWR Media
- include_once ('includes/kiss_error_handler.php');
- // check support for register_globals
- if (function_exists('ini_get') && (ini_get('register_globals') == false) && (PHP_VERSION < 4.3) ) {
- exit('Server Requirement Error: register_globals is disabled in your PHP configuration. This can be enabled in your php.ini configuration file or in the .htaccess file in your catalog directory. Please use PHP 4.3+ if register_globals cannot be enabled on the server.');
- }
- // load server configuration parameters
- if (file_exists('includes/local/configure.php')) { // for developers
- include('includes/local/configure.php');
- } else {
- include('includes/configure.php');
- }
- if (strlen(DB_SERVER) < 1) {
- if (is_dir('install')) {
- header('Location: install/index.php');
- }
- }
- // define the project version --- obsolete, now retrieved with tep_get_version()
- define('PROJECT_VERSION', 'osCommerce Online Merchant v2.3');
- // some code to solve compatibility issues
- require(DIR_WS_FUNCTIONS . 'compatibility.php');
- // set the type of request (secure or not)
- $request_type = (getenv('HTTPS') == 'on') ? 'SSL' : 'NONSSL';
- // kdm define special general functions
- require(DIR_WS_FUNCTIONS . 'gfc_general.php');
- // set php_self in the local scope
- $req = parse_url($HTTP_SERVER_VARS['SCRIPT_NAME']);
- $PHP_SELF = substr($req['path'], ($request_type == 'NONSSL') ? strlen(DIR_WS_HTTP_CATALOG) : strlen(DIR_WS_HTTPS_CATALOG));
- 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');
- // 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')) && !headers_sent() ) {
- if (($ini_zlib_output_compression = (int)ini_get('zlib.output_compression')) < 1) {
- if (PHP_VERSION < '5.4' || PHP_VERSION > '5.4.5') { // see PHP bug 55544
- if (PHP_VERSION >= '4.0.4') {
- ob_start('ob_gzhandler');
- } elseif (PHP_VERSION >= '4.0.1') {
- include(DIR_WS_FUNCTIONS . 'gzip_compression.php');
- ob_start();
- ob_implicit_flush();
- }
- }
- } elseif (function_exists('ini_set')) {
- 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));
- do_magic_quotes_gpc($vars);
- 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 wishlist class
- require(DIR_WS_CLASSES . 'wishlist.php');
- // include navigation history class
- require(DIR_WS_CLASSES . 'navigation_history.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);
- // HMCS: Begin Autologon
- // Determine if cookies are enabled
- setcookie("TEMPCOOKIE", "CookieOn", time() + 60 * 60);
- $cookieinfo = $HTTP_COOKIE_VARS["TEMPCOOKIE"];
- if ($cookieinfo == "CookieOn") {
- global $cookies_on;
- $cookies_on = true;
- }
- // HMCS: End Autologon
- // 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);
- }
- @ini_set('session.use_only_cookies', (SESSION_FORCE_COOKIE_USE == 'True') ? 1 : 0);
- // set the session ID if it exists
- if ( SESSION_FORCE_COOKIE_USE == 'False' ) {
- if ( isset($HTTP_GET_VARS[tep_session_name()]) && (!isset($HTTP_COOKIE_VARS[tep_session_name()]) || ($HTTP_COOKIE_VARS[tep_session_name()] != $HTTP_GET_VARS[tep_session_name()])) ) {
- tep_session_id($HTTP_GET_VARS[tep_session_name()]);
- } elseif ( isset($HTTP_POST_VARS[tep_session_name()]) && (!isset($HTTP_COOKIE_VARS[tep_session_name()]) || ($HTTP_COOKIE_VARS[tep_session_name()] != $HTTP_POST_VARS[tep_session_name()])) ) {
- tep_session_id($HTTP_POST_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;
- }
- //HTTP_REFERER
- if (!$referer_url) {
- if ($HTTP_SERVER_VARS['HTTP_REFERER']) {
- $referer_url = $HTTP_SERVER_VARS['HTTP_REFERER'];
- tep_session_register('referer_url');
- }
- }
- if ( ($session_started == true) && (PHP_VERSION >= 4.3) && function_exists('ini_get') && (ini_get('register_globals') == false) ) {
- extract($_SESSION, EXTR_OVERWRITE+EXTR_REFS);
- }
- // initialize a session token
- if (!tep_session_is_registered('sessiontoken')) {
- $sessiontoken = md5(tep_rand() . tep_rand() . tep_rand() . tep_rand());
- tep_session_register('sessiontoken');
- }
- // 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
- if (!tep_session_is_registered('cart') || !is_object($cart)) {
- tep_session_register('cart');
- $cart = new shoppingCart;
- }
- // include currencies class and create an instance
- require(DIR_WS_CLASSES . 'currencies.php');
- $currencies = new currencies();
- // BOF qpbpp 2.0
- // include the price formatter classes for the price breaks contribution
- require(DIR_WS_CLASSES . 'PriceFormatter.php');
- $pf = new PriceFormatter;
- require(DIR_WS_CLASSES . 'PriceFormatterStore.php');
- $pfs = new PriceFormatterStore;
- // EOF qpbpp 2.0
- // 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
- $_system_locale_numeric = setlocale(LC_NUMERIC, 0);
- require(DIR_WS_LANGUAGES . $language . '.php');
- setlocale(LC_NUMERIC, $_system_locale_numeric); // Prevent LC_ALL from setting LC_NUMERIC to a locale with 1,0 float/decimal values instead of 1.0 (see bug #634)
- // include the cName and pName cache file
- include(DIR_WS_INCLUDES . 'seo_cache.php');
- if (isset($HTTP_GET_VARS['cName']) && defined(urldecode($HTTP_GET_VARS['cName']))) {
- $cPath = str_replace('cPath=', '', constant(urldecode($HTTP_GET_VARS['cName'])));
- $HTTP_GET_VARS['cPath'] = $cPath;
- }
- if (isset($HTTP_GET_VARS['pName']) && defined(urldecode($HTTP_GET_VARS['pName']))) {
- $pid = str_replace('products_id=', '', constant(urldecode($HTTP_GET_VARS['pName'])));
- $HTTP_GET_VARS['products_id'] = (int)$pid;
- }
- // tax class
- require(DIR_WS_CLASSES . 'tax.php');
- $osC_Tax = new osC_Tax;
- // 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']) && $currencies->is_set($HTTP_GET_VARS['currency'])) {
- $currency = $HTTP_GET_VARS['currency'];
- } else {
- $currency = ((USE_DEFAULT_LANGUAGE_CURRENCY == 'true') && $currencies->is_set(LANGUAGE_CURRENCY)) ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY;
- }
- }
- // navigation history
- if (!tep_session_is_registered('navigation') || !is_object($navigation)) {
- tep_session_register('navigation');
- $navigation = new navigationHistory;
- }
- $navigation->add_current_page();
- // infobox
- require(DIR_WS_CLASSES . 'boxes.php');
- // initialize the message stack for output messages
- require(DIR_WS_CLASSES . 'message_stack.php');
- $messageStack = new messageStack;
- // LINE ADDED - MOD: CREDIT CLASS Gift Voucher Contribution
- require(DIR_WS_FUNCTIONS . 'add_ccgvdc_application_top.php'); // ICW CREDIT CLASS Gift Voucher Addition
- require(DIR_WS_LANGUAGES . $language . '/add_ccgvdc.php'); // ICW CREDIT CLASS Gift Voucher Addition
- // action recorder
- include('includes/classes/action_recorder.php');
- // BOF: Down for Maintenance except for admin ip
- if (EXCLUDE_ADMIN_IP_FOR_MAINTENANCE != getenv('REMOTE_ADDR')){
- if (DOWN_FOR_MAINTENANCE=='true' and !strstr($PHP_SELF,DOWN_FOR_MAINTENANCE_FILENAME)) { tep_redirect(tep_href_link(DOWN_FOR_MAINTENANCE_FILENAME)); }
- }
- // do not let people get to down for maintenance page if not turned on
- if (DOWN_FOR_MAINTENANCE=='false' and strstr($PHP_SELF,DOWN_FOR_MAINTENANCE_FILENAME)) {
- tep_redirect(tep_href_link(FILENAME_DEFAULT));
- }
- // EOF: WebMakers.com Added: Down for Maintenance
- // wishlist data
- if(!tep_session_is_registered('wishList')) {
- tep_session_register('wishList');
- $wishList = new wishlist;
- }
- //Wishlist actions (must be before shopping cart actions)
- if(isset($HTTP_POST_VARS['wishlist'])) {
- if(isset($HTTP_POST_VARS['products_id'])) {
- if(isset($HTTP_POST_VARS['id'])) {
- $attributes_id = $HTTP_POST_VARS['id'];
- tep_session_register('attributes_id');
- }
- $wishlist_id = $HTTP_POST_VARS['products_id'];
- tep_session_register('wishlist_id');
- }
- tep_redirect(tep_href_link(FILENAME_WISHLIST));
- }
- // 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 = $PHP_SELF;
- if ($HTTP_GET_VARS['action'] == 'buy_now') {
- // BOE: XSell
- if (isset($HTTP_GET_VARS['product_to_buy_id'])) {
- $parameters = array('action', 'pid', 'products_to_buy_id');
- } else {
- $parameters = array('action', 'pid', 'products_id');
- }
- // EOE: XSell
- } else {
- $parameters = array('action', 'pid');
- }
- }
- switch ($HTTP_GET_VARS['action']) {
- //BOF - Zappo - Option Types v2 JOLI BUG FIX FOR CLEAR CART TEXT FIELDS
- case 'clear_cart': $cart->remove_all();
- tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));
- break;
- //EOF - Zappo - Option Types v2 JOLI BUG FIX FOR CLEAR CART TEXT FIELDS
- // 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 {
- $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;
- //BOF - Zappo - Option Types v2 - File uploading: Purge the Temporary Upload Dir
- case 'add_product' : if (isset($HTTP_POST_VARS['products_id']) && is_numeric($HTTP_POST_VARS['products_id'])) {
- $purgeDir = opendir(TMP_DIR) or die ('Could not open '.TMP_DIR);
- while ($file = readdir($purgeDir)) {
- if ($file != ('.htaccess') && $file != ('.') && $file != ('..') && filemtime(TMP_DIR . $file) < strtotime(OPTIONS_TYPE_PURGETIME)) {
- unlink(TMP_DIR . $file); // Delete file from server...
- tep_db_query("delete from " . TABLE_FILES_UPLOADED . " where files_uploaded_name = '" . $file . "'"); // Remove File's database entry....
- }
- }
- closedir($purgeDir);
- //EOF - Zappo - Option Types v2 - File uploading: Purge the Temporary Upload Dir
- //BOF - Zappo - Option Types v2 - ONE LINE - Set real_ids for processing
- $real_ids = $HTTP_POST_VARS['id'];
- //BOF - Zappo - Option Types v2 - File uploading: save uploaded files with unique file names, in the proper folder
- if ($HTTP_POST_VARS['number_of_uploads'] > 0) {
- require(DIR_WS_CLASSES . 'upload.php');
- for ($i = 1; $i <= $HTTP_POST_VARS['number_of_uploads']; $i++) {
- $TEMP_FILE = $_FILES['id']['tmp_name'][TEXT_PREFIX . $HTTP_POST_VARS[UPLOAD_PREFIX . $i]];
- if (tep_not_null($TEMP_FILE) && $TEMP_FILE != 'none') {
- $products_options_file = new upload('id');
- //BOF - Zappo - Option Types v2 - Set Upload directory (Registered customers in Uploads, other in Temporary folder)
- if (tep_session_is_registered('customer_id')) { // IF the customer is registered, use Upload Dir
- $products_options_file->set_destination(UPL_DIR);
- } else { // If the customer is not registered, use Temporary Dir
- $products_options_file->set_destination(TMP_DIR);
- }
- //EOF - Zappo - Option Types v2 - Set Upload directory (Registered customers in Uploads, other in Temporary folder) incl. RAIWA FIX!
- if ($products_options_file->parse(TEXT_PREFIX . $HTTP_POST_VARS[UPLOAD_PREFIX . $i])) {
- if (tep_session_is_registered('customer_id')) {
- tep_db_query("insert into " . TABLE_FILES_UPLOADED . " (sesskey, customers_id, files_uploaded_name, date) values('" . tep_session_id() . "', '" . $customer_id . "', '" . tep_db_input($products_options_file->filename) . "', '" . date("d-m-y") . "')");
- } else {
- tep_db_query("insert into " . TABLE_FILES_UPLOADED . " (sesskey, files_uploaded_name, date) values('" . tep_session_id() . "', '" . tep_db_input($products_options_file->filename) . "', '" . date("d-m-y") . "')");
- // @raiwa added 2 lines for guest file upload compatibility with OsC 2.3.
- $guestSessionID = tep_session_id();
- if (!tep_session_is_registered('guestSessionID')) tep_session_register('guestSessionID');
- }
- //BOF - Zappo - Option Types v2 - Set File Prefix
- if (OPTIONS_TYPE_FILEPREFIX == 'Database') { // Database ID as File prefix
- $insert_id = tep_db_insert_id() . '_';
- } else { // Date, time or both as File prefix (Change date formatting here)
- if (OPTIONS_TYPE_FILEPREFIX == 'Date' || OPTIONS_TYPE_FILEPREFIX == 'DateTime') {
- $insert_id = 'D'.date("d-m-y_");
- }
- $insert_id .= (OPTIONS_TYPE_FILEPREFIX == 'DateTime' || OPTIONS_TYPE_FILEPREFIX == 'Time') ? 'T'.date("H-i_") : '';
- }
- //EOF - Zappo - Option Types v2 - Set File Prefix
- // Update filename in Database with correct prefix (For comparing database names with real files)
- tep_db_query("update " . TABLE_FILES_UPLOADED . " set files_uploaded_name = '" . tep_db_input($insert_id . $products_options_file->filename) . "' where sesskey = '" . tep_session_id() . "' and files_uploaded_name = '" . tep_db_input($products_options_file->filename) . "' and date = '" . date("d-m-y") . "'");
- $real_ids[TEXT_PREFIX . $HTTP_POST_VARS[UPLOAD_PREFIX . $i]] = $insert_id . $products_options_file->filename;
- $products_options_file->set_filename($insert_id . $products_options_file->filename);
- if (!($products_options_file->save())) {
- break 2;
- }
- } else {
- break 2;
- }
- } else { // No file uploaded -- use previously uploaded file (From Dropdown)
- $real_ids[TEXT_PREFIX . $HTTP_POST_VARS[UPLOAD_PREFIX . $i]] = $HTTP_POST_VARS[TEXT_PREFIX . UPLOAD_PREFIX . $i];
- }
- }
- }
- //EOF - Zappo - Option Types v2 - File uploading: save uploaded files with unique file names, in the proper folder
- //BOF - Zappo - Option Types v2 - ONE LINE - Replace the posted array with the processed one.
- //BOF qpbpp 2.0
- $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $real_ids))+$HTTP_POST_VARS['cart_quantity'], $real_ids);
- //EOF qpbpp 2.0
- }
- tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
- break;
- // customer removes a product from their shopping cart
- case 'remove_product' : if (isset($HTTP_GET_VARS['products_id'])) {
- $cart->remove($HTTP_GET_VARS['products_id']);
- }
- 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
- // BOF: XSell
- case 'buy_now' : if (isset($HTTP_GET_VARS['product_to_buy_id'])) {
- if (tep_has_product_attributes($HTTP_GET_VARS['product_to_buy_id'])) {
- tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['product_to_buy_id']));
- } else {
- $cart->add_cart($HTTP_GET_VARS['product_to_buy_id'], $cart->get_quantity($HTTP_GET_VARS['product_to_buy_id'])+1);
- }
- } elseif (isset($HTTP_GET_VARS['products_id'])) {
- // EOF: XSell
- 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($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 = '" . (int)$notify[$i] . "' and customers_id = '" . (int)$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 ('" . (int)$notify[$i] . "', '" . (int)$customer_id . "', now())");
- }
- }
- tep_redirect(tep_href_link($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 = '" . (int)$HTTP_GET_VARS['products_id'] . "' and customers_id = '" . (int)$customer_id . "'");
- $check = tep_db_fetch_array($check_query);
- if ($check['count'] > 0) {
- tep_db_query("delete from " . TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and customers_id = '" . (int)$customer_id . "'");
- }
- tep_redirect(tep_href_link($PHP_SELF, tep_get_all_get_params(array('action'))));
- } else {
- $navigation->set_snapshot();
- tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
- }
- break;
- // re-order product segment
- case 'reorder' : $reorder_result = tep_reorder($_GET['order_id']);
- if ($reorder_result == '') {
- tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING));
- } else {
- echo $reorder_result;
- }
- 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;
- }
- }
- //rmh referral start
- // set the referral id
- if (!tep_session_is_registered('referral_id') || isset($HTTP_GET_VARS['ref'])) {
- if (!tep_session_is_registered('referral_id') && !tep_session_is_registered('customer_id')) {
- tep_session_register('referral_id');
- }
- if (isset($HTTP_GET_VARS['ref']) && tep_not_null($HTTP_GET_VARS['ref'])) {
- $referral_id = $HTTP_GET_VARS['ref'];
- } else {
- $referral_id = '';
- }
- }
- //rmh referral end
- // 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');
- // auto activate and expire banners
- require(DIR_WS_FUNCTIONS . 'banner.php');
- tep_activate_banners();
- tep_expire_banners();
- // auto expire special products
- // BOF kdm specials maintenance
- // require(DIR_WS_FUNCTIONS . 'specials.php');
- // tep_expire_specials();
- require(DIR_WS_FUNCTIONS . FILENAME_SPECIALS_MAINTENANCE);
- gfc_start_specials();
- gfc_expire_specials();
- // EOF kdm specials maintenance
- // BOF: Featured Products
- require(DIR_WS_FUNCTIONS . 'featured.php');
- tep_expire_featured();
- // EOF: Featured Products
- require(DIR_WS_CLASSES . 'osc_template.php');
- $oscTemplate = new oscTemplate();
- // 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_HOME, 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++) {
- // BOF Enable & Disable Categories
- $categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " cd left join " . TABLE_CATEGORIES . " c on cd.categories_id = c.categories_id where c.categories_status = '1' and cd.categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "'");
- // EOF Enable & Disable Categories
- 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'])) {
- // EOF Enable & Disable Categories
- $model_query = tep_db_query("select products_model from " . TABLE_PRODUCTS . " p left join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c on p.products_id = p2c.products_id left join " . TABLE_CATEGORIES . " c on p2c.categories_id = c.categories_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd where c.categories_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and p.products_id = pd.products_id");
- // EOF Enable & Disable Categories
- 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']));
- }
- }
- //user_tracking modications
- if (!$referer_url) {
- if ($HTTP_SERVER_VARS['HTTP_REFERER']) {
- $referer_url = $HTTP_SERVER_VARS['HTTP_REFERER'];
- //session_register('referer_url');//Deprecated
- $_SESSION['referer_url'] = $referer_url;
- }
- }
- // HMCS: Begin Autologon
- if ($cookies_on == true) {
- if (ALLOW_AUTOLOGON == 'true') { // Is Autologon enabled?
- if (basename($_SERVER['PHP_SELF']) != FILENAME_LOGIN) { // yes
- if (!tep_session_is_registered('customer_id')) {
- include('includes/modules/autologon.php');
- }
- }
- } else {
- setcookie("email_address", "", time() - 3600, $cookie_path); //no, delete email_address cookie
- setcookie("password", "", time() - 3600, $cookie_path); //no, delete password cookie
- }
- }
- // HMCS: End Autologon
- //BOF - Zappo - Option Types v2 - ONE LINE - message stack moved up from here...
- // 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');
- ///
- ////////////////////////////
- $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);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement