Jump to content

Psytanium

Members
  • Content count

    465
  • Joined

  • Last visited

  • Days Won

    4

Psytanium last won the day on December 21 2018

Psytanium had the most liked content!

2 Followers

About Psytanium

  • Birthday 12/06/1982

Profile Information

  • Real Name
    Psytanium
  • Gender
    Male

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Psytanium

    Wrong redirect after add to cart

    This is exactly the same add-on I'm using, but for 2.3.4, the modal don't show without page loading.. The page load, this mean we still need PHP_SELF to get back to the same page. I tried to replace in application_top 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, 'products_id=' . $HTTP_GET_VARS['products_id'])); break; with this : 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($_SERVER['REQUEST_URI'])); break; but when i click Buy Now button, the page keep redirecting and looping until i find 22 of the same item in terh shopping cart. Can i using $_SERVER['REQUEST_URI'] in the redirect ?
  2. Psytanium

    Wrong redirect after add to cart

    This is exactly the same add-on I'm using, but for 2.3.4, the modal don't show without page loading.. The page load, this mean we still need PHP_SELF to get back to the same page.
  3. Psytanium

    Wrong redirect after add to cart

    The thread you sent me is for login modal, I'm looking for shopping cart modal when users click the Buy Now button. You think we can find one for osc2.3.4 ?
  4. Psytanium

    Wrong redirect after add to cart

    @peterpil19 do you know any addon to make the shopping cart popup as modal ? im using eCommerce 2.3.4 Because i rolled back the original file modified for SEO URL 5, and htaccess cleared but still having this problem. Maybe i leave the problem as it is but use a modal for the shopping cart when Buy Now is clicked. Thanks
  5. Psytanium

    Wrong redirect after add to cart

    Hi Peter, I will take your recommendation about switching add-on into consideration, but the only reason I'm afraid of switching is loosing page raking on search engines, Google will need few months to re-index the new URLs, it happened to me before. I'm not sure if its something related to the add-on, because i turned it off and still having wrong redirects, but as you said, it may be some changes in the core files. I added a popup shopping cart when a user click buy now, but still the modal add-on require the PHP_SELF to work properly.
  6. Psytanium

    Wrong redirect after add to cart

    I turned off the plugin, cleared all cache, but still having the same problem. Where do you think i can look further ? any files containing the redirect ?
  7. Hello, Can someone help me with the redirect problem ? I turned to False the redirect to shopping cart after add to cart, but the website redirect to home page now instead of staying in the product info page. The code in application_top is <?php /* $Id$ Open Source E-Commerce Solutions Copyright (c) 2008 Released under the GNU General Public License */ define('MAX_DESCR_MODUL_NEW_PRODS','68'); // define('MAX_DESCR_LISTING','50'); // define('MAX_DESCR_SPECIALS','50'); // define('MAX_DESCR_PRODS_NEW','150'); // define('MAX_DESCR_BESTSELLERS','16'); // define('MAX_DESCR_REVIEWS','50'); // define('MAX_DESCR_BOX','50'); // // 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 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'; /** * ULTIMATE Seo Urls 5 PRO by FWR Media * function to return the base filename */ function usu5_base_filename() { // Probably won't get past SCRIPT_NAME unless this is reporting cgi location $base = new ArrayIterator( array( 'SCRIPT_NAME', 'PHP_SELF', 'REQUEST_URI', 'ORIG_PATH_INFO', 'HTTP_X_ORIGINAL_URL', 'HTTP_X_REWRITE_URL' ) ); while ( $base->valid() ) { if ( array_key_exists( $base->current(), $_SERVER ) && !empty( $_SERVER[$base->current()] ) ) { if ( false !== strpos( $_SERVER[$base->current()], '.php' ) ) { preg_match( '@[a-z0-9_]+\.php@i', $_SERVER[$base->current()], $matches ); if ( is_array( $matches ) && ( array_key_exists( 0, $matches ) ) && ( substr( $matches[0], -4, 4 ) == '.php' ) && ( is_readable( $matches[0] ) ) ) { return $matches[0]; } } } $base->next(); } // Some odd server set ups return / for SCRIPT_NAME and PHP_SELF when accessed as mysite.com (no index.php) where they usually return /index.php if ( ( $_SERVER['SCRIPT_NAME'] == '/' ) || ( $_SERVER['PHP_SELF'] == '/' ) ) { return 'index.php'; } // Return the standard RC3 code $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)); } // End function // set php_self in the local scope $PHP_SELF = usu5_base_filename(); 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', 125); // 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')) && !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 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); // 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; } 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(); // 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']; } /** * ULTIMATE Seo Urls 5 PRO by FWR Media */ Usu_Main::i()->setVar( 'languages_id', $languages_id ) ->setVar( 'request_type', $request_type ) ->setVar( 'session_started', $session_started ) ->setVar( 'sid', $SID ) ->setVar( 'language', $language ) ->setVar( 'filename', $PHP_SELF ) ->initiate( ( isset( $lng ) && ( $lng instanceof language ) ) ? $lng : array(), $languages_id, $language ); // 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) // 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') ? 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(); // action recorder include('includes/classes/action_recorder.php'); // 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'); /* Optional Related Products (ORP) */ } elseif ($HTTP_GET_VARS['action'] == 'rp_buy_now') { $goto = FILENAME_PRODUCT_INFO; $parameters = array('action', 'pid', 'rp_products_id'); //ORP: end } else { $goto = $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']) { // 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; // 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'])) { $attributes = isset($HTTP_POST_VARS['id']) ? $HTTP_POST_VARS['id'] : ''; $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $attributes))+1, $attributes); } 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 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(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id'])); break; /* Optional Related Products (ORP) */ case 'rp_buy_now' : if (isset($HTTP_GET_VARS['rp_products_id'])) { if (tep_has_product_attributes($HTTP_GET_VARS['rp_products_id'])) { tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['rp_products_id'])); } else { $cart->add_cart($HTTP_GET_VARS['rp_products_id'], $cart->get_quantity($HTTP_GET_VARS['rp_products_id'])+1); } } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); break; //ORP: end 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; 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_start_specials(); tep_expire_specials(); // BOF: Featured Products require(DIR_WS_FUNCTIONS . 'featured.php'); tep_expire_featured(); require(DIR_WS_CLASSES . 'osc_template.php'); $oscTemplate = new oscTemplate(); // calculate category path if (isset($HTTP_GET_VARS['cPath'])) { $cPath = $HTTP_GET_VARS['cPath']; if (tep_not_null($cPath)) { $cPath_array = tep_parse_category_path($cPath); $categories_query = tep_db_query("select cpath from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$cPath_array[sizeof($cPath_array)-1] . "'"); if ( !tep_db_num_rows($categories_query) ) { //not found categories //redirect to $current_category_id = 0; $result = http_error_handler('302'); } else { $new = tep_db_fetch_array($categories_query); $new_cPath = $new['cpath']; if ( tep_not_null($new_cPath) ) { if ( isset($HTTP_GET_VARS['cPath']) && $HTTP_GET_VARS['cPath'] !== $new_cPath) { header("HTTP/1.0 301 Moved Permanently"); tep_redirect(tep_href_link($PHP_SELF, 'cPath=' . $new_cPath . '&' . tep_get_all_get_params(array('cPath'))) ); } } } } if ( isset($HTTP_GET_VARS['products_id']) && !tep_get_validate_product_cpath($HTTP_GET_VARS['products_id'], $cPath) ) { $cPath = tep_get_product_path($HTTP_GET_VARS['products_id']); //redirect to product base $path_link = ''; if (tep_not_null($cPath)) { $path_link = 'cPath=' . $cPath . '&'; } header("HTTP/1.0 301 Moved Permanently"); tep_redirect(tep_href_link($PHP_SELF, $path_link . tep_get_all_get_params(array('cPath'))) ); } } elseif ( isset($_GET['products_id']) && !isset($_GET['manufacturers_id']) ) { $cPath = tep_get_product_path($_GET['products_id']); } else { $cPath = ''; } if ( !empty($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); // 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 { header("HTTP/1.0 404 Not Found"); exit; } } } 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'])); } } // added code to prepare for the title tag, description tag & keywords tag - By Gemrock // IF IT'S FIRST TIME TO RUN, THEN ADD 3 NEW FIELDS - CAN BE DELETED ONCE RUN SUCCESSFULLY if (!tep_db_query("SELECT title_tag FROM " . TABLE_PRODUCTS_DESCRIPTION)){ tep_db_query("ALTER TABLE " . TABLE_PRODUCTS_DESCRIPTION . " ADD COLUMN title_tag VARCHAR(255) NULL, ADD COLUMN desc_tag TEXT NULL, ADD COLUMN keywords_tag VARCHAR(255) NULL"); } if (!tep_db_query("SELECT title_tag FROM " . TABLE_CATEGORIES_DESCRIPTION)){ tep_db_query("ALTER TABLE " . TABLE_CATEGORIES_DESCRIPTION . " ADD COLUMN title_tag VARCHAR(255) NULL, ADD COLUMN desc_tag TEXT NULL, ADD COLUMN keywords_tag VARCHAR(255) NULL"); } // END OF CODE ADDING FIELDS if (isset($HTTP_GET_VARS['products_id'])) { $header_tags_query = tep_db_query("select products_name, products_description, title_tag, desc_tag, keywords_tag from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'"); if (tep_db_num_rows($header_tags_query)) { $header_tags = tep_db_fetch_array($header_tags_query); $header_tags[products_name]= trim($header_tags[products_name]); $header_tags[title_tag]= trim(strip_tags($header_tags[title_tag])); $header_tags[desc_tag]= trim(strip_tags($header_tags[desc_tag])); $header_tags[keywords_tag]= trim(strip_tags($header_tags[keywords_tag])); $header_tags[products_description] = substr(preg_replace('/\s\s+/', ' ',(strip_tags($header_tags[products_description]))),0,1000); // if a tag is less than 2 characters, then use default if (strlen($header_tags[title_tag])< 2) { //set product name as page title $header_tags[title_tag]= $header_tags[products_name]; } //add category name to page title if (strlen($categories['categories_name'])>1) $header_tags[title_tag] = $categories['categories_name'] . ' ' . $header_tags[title_tag]; if (strlen($manufacturers['manufacturers_name'])>1) $header_tags[title_tag] .= ' ' . $manufacturers['manufacturers_name'] . ' ' . $header_tags[title_tag]; if (strlen($header_tags[desc_tag])< 2) $header_tags[desc_tag] = $header_tags[products_description]; if (strlen($header_tags[keywords_tag])< 2) $header_tags[keywords_tag] = $header_tags[products_name]; } } // end of added code - By Gemrock // initialize the message stack for output messages require(DIR_WS_CLASSES . 'message_stack.php'); $messageStack = new messageStack; ?>
  8. Psytanium

    Wrong redirect after add to cart

    Hello, anyone can help with this problem ? I still don't know why self_php is not redirecting to the same page.
  9. Psytanium

    Wrong redirect after add to cart

    I posted the complete application top file. can you help me check whats wrong with PHP_SELF ? You mean in htaccess ?
  10. Hello, I turned to False the redirect to shopping cart after add to cart, but the website redirect to home page now instead of staying in the product info page. The code in application_top is <?php /* $Id$ Open Source E-Commerce Solutions Copyright (c) 2008 Released under the GNU General Public License */ define('MAX_DESCR_MODUL_NEW_PRODS','68'); // define('MAX_DESCR_LISTING','50'); // define('MAX_DESCR_SPECIALS','50'); // define('MAX_DESCR_PRODS_NEW','150'); // define('MAX_DESCR_BESTSELLERS','16'); // define('MAX_DESCR_REVIEWS','50'); // define('MAX_DESCR_BOX','50'); // // 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 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'; /** * ULTIMATE Seo Urls 5 PRO by FWR Media * function to return the base filename */ function usu5_base_filename() { // Probably won't get past SCRIPT_NAME unless this is reporting cgi location $base = new ArrayIterator( array( 'SCRIPT_NAME', 'PHP_SELF', 'REQUEST_URI', 'ORIG_PATH_INFO', 'HTTP_X_ORIGINAL_URL', 'HTTP_X_REWRITE_URL' ) ); while ( $base->valid() ) { if ( array_key_exists( $base->current(), $_SERVER ) && !empty( $_SERVER[$base->current()] ) ) { if ( false !== strpos( $_SERVER[$base->current()], '.php' ) ) { preg_match( '@[a-z0-9_]+\.php@i', $_SERVER[$base->current()], $matches ); if ( is_array( $matches ) && ( array_key_exists( 0, $matches ) ) && ( substr( $matches[0], -4, 4 ) == '.php' ) && ( is_readable( $matches[0] ) ) ) { return $matches[0]; } } } $base->next(); } // Some odd server set ups return / for SCRIPT_NAME and PHP_SELF when accessed as mysite.com (no index.php) where they usually return /index.php if ( ( $_SERVER['SCRIPT_NAME'] == '/' ) || ( $_SERVER['PHP_SELF'] == '/' ) ) { return 'index.php'; } // Return the standard RC3 code $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)); } // End function // set php_self in the local scope $PHP_SELF = usu5_base_filename(); 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', 125); // 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')) && !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 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); // 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; } 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(); // 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']; } /** * ULTIMATE Seo Urls 5 PRO by FWR Media */ Usu_Main::i()->setVar( 'languages_id', $languages_id ) ->setVar( 'request_type', $request_type ) ->setVar( 'session_started', $session_started ) ->setVar( 'sid', $SID ) ->setVar( 'language', $language ) ->setVar( 'filename', $PHP_SELF ) ->initiate( ( isset( $lng ) && ( $lng instanceof language ) ) ? $lng : array(), $languages_id, $language ); // 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) // 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') ? 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(); // action recorder include('includes/classes/action_recorder.php'); // 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'); /* Optional Related Products (ORP) */ } elseif ($HTTP_GET_VARS['action'] == 'rp_buy_now') { $goto = FILENAME_PRODUCT_INFO; $parameters = array('action', 'pid', 'rp_products_id'); //ORP: end } else { $goto = $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']) { // 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; // 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'])) { $attributes = isset($HTTP_POST_VARS['id']) ? $HTTP_POST_VARS['id'] : ''; $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $attributes))+1, $attributes); } 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 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(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id'])); break; /* Optional Related Products (ORP) */ case 'rp_buy_now' : if (isset($HTTP_GET_VARS['rp_products_id'])) { if (tep_has_product_attributes($HTTP_GET_VARS['rp_products_id'])) { tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['rp_products_id'])); } else { $cart->add_cart($HTTP_GET_VARS['rp_products_id'], $cart->get_quantity($HTTP_GET_VARS['rp_products_id'])+1); } } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); break; //ORP: end 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; 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_start_specials(); tep_expire_specials(); // BOF: Featured Products require(DIR_WS_FUNCTIONS . 'featured.php'); tep_expire_featured(); require(DIR_WS_CLASSES . 'osc_template.php'); $oscTemplate = new oscTemplate(); // calculate category path if (isset($HTTP_GET_VARS['cPath'])) { $cPath = $HTTP_GET_VARS['cPath']; if (tep_not_null($cPath)) { $cPath_array = tep_parse_category_path($cPath); $categories_query = tep_db_query("select cpath from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$cPath_array[sizeof($cPath_array)-1] . "'"); if ( !tep_db_num_rows($categories_query) ) { //not found categories //redirect to $current_category_id = 0; $result = http_error_handler('302'); } else { $new = tep_db_fetch_array($categories_query); $new_cPath = $new['cpath']; if ( tep_not_null($new_cPath) ) { if ( isset($HTTP_GET_VARS['cPath']) && $HTTP_GET_VARS['cPath'] !== $new_cPath) { header("HTTP/1.0 301 Moved Permanently"); tep_redirect(tep_href_link($PHP_SELF, 'cPath=' . $new_cPath . '&' . tep_get_all_get_params(array('cPath'))) ); } } } } if ( isset($HTTP_GET_VARS['products_id']) && !tep_get_validate_product_cpath($HTTP_GET_VARS['products_id'], $cPath) ) { $cPath = tep_get_product_path($HTTP_GET_VARS['products_id']); //redirect to product base $path_link = ''; if (tep_not_null($cPath)) { $path_link = 'cPath=' . $cPath . '&'; } header("HTTP/1.0 301 Moved Permanently"); tep_redirect(tep_href_link($PHP_SELF, $path_link . tep_get_all_get_params(array('cPath'))) ); } } elseif ( isset($_GET['products_id']) && !isset($_GET['manufacturers_id']) ) { $cPath = tep_get_product_path($_GET['products_id']); } else { $cPath = ''; } if ( !empty($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); // 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 { header("HTTP/1.0 404 Not Found"); exit; } } } 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'])); } } // added code to prepare for the title tag, description tag & keywords tag - By Gemrock // IF IT'S FIRST TIME TO RUN, THEN ADD 3 NEW FIELDS - CAN BE DELETED ONCE RUN SUCCESSFULLY if (!tep_db_query("SELECT title_tag FROM " . TABLE_PRODUCTS_DESCRIPTION)){ tep_db_query("ALTER TABLE " . TABLE_PRODUCTS_DESCRIPTION . " ADD COLUMN title_tag VARCHAR(255) NULL, ADD COLUMN desc_tag TEXT NULL, ADD COLUMN keywords_tag VARCHAR(255) NULL"); } if (!tep_db_query("SELECT title_tag FROM " . TABLE_CATEGORIES_DESCRIPTION)){ tep_db_query("ALTER TABLE " . TABLE_CATEGORIES_DESCRIPTION . " ADD COLUMN title_tag VARCHAR(255) NULL, ADD COLUMN desc_tag TEXT NULL, ADD COLUMN keywords_tag VARCHAR(255) NULL"); } // END OF CODE ADDING FIELDS if (isset($HTTP_GET_VARS['products_id'])) { $header_tags_query = tep_db_query("select products_name, products_description, title_tag, desc_tag, keywords_tag from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'"); if (tep_db_num_rows($header_tags_query)) { $header_tags = tep_db_fetch_array($header_tags_query); $header_tags[products_name]= trim($header_tags[products_name]); $header_tags[title_tag]= trim(strip_tags($header_tags[title_tag])); $header_tags[desc_tag]= trim(strip_tags($header_tags[desc_tag])); $header_tags[keywords_tag]= trim(strip_tags($header_tags[keywords_tag])); $header_tags[products_description] = substr(preg_replace('/\s\s+/', ' ',(strip_tags($header_tags[products_description]))),0,1000); // if a tag is less than 2 characters, then use default if (strlen($header_tags[title_tag])< 2) { //set product name as page title $header_tags[title_tag]= $header_tags[products_name]; } //add category name to page title if (strlen($categories['categories_name'])>1) $header_tags[title_tag] = $categories['categories_name'] . ' ' . $header_tags[title_tag]; if (strlen($manufacturers['manufacturers_name'])>1) $header_tags[title_tag] .= ' ' . $manufacturers['manufacturers_name'] . ' ' . $header_tags[title_tag]; if (strlen($header_tags[desc_tag])< 2) $header_tags[desc_tag] = $header_tags[products_description]; if (strlen($header_tags[keywords_tag])< 2) $header_tags[keywords_tag] = $header_tags[products_name]; } } // end of added code - By Gemrock // initialize the message stack for output messages require(DIR_WS_CLASSES . 'message_stack.php'); $messageStack = new messageStack; ?> Can someone figure out whats wrong ? I need to be redirected to the same page. Thanks
  11. Hello, Many order notification emails are not received at all or received as a spam. Any hints to improve the deliverability of emails sent from my OSC2.3.4 ? Thank you :)
  12. Hello, I installed the app, but how can I apply shipping fee for a category and its sub categories ? I set a flat rate to the category but still the items are not affected. The configuration on the shipping module are: Individual Product/Category Setting : Product Use Default Rates? : Flat per item Use Individual rates with the default rates? : Yes Default Flat Rate: 4 Shipping Method for Table Rates : Qty in the catalog / shipping rates i set the following for a category: TEXT_SEPARATE_IND : Yes <- I don't know whats this Shipping method : Flat Shipping rate : 2 But still all the shipping fees of products inside this category are 4 not 2. Did i missed some configurations ? Thanks
  13. Psytanium

    Export orders into csv

    Where is the module link ? Thanks
  14. Hello, I have OSC2.3.4, i have received many reports from users, some of them have sent me a video, about a redirection problem, the website keep redirecting the users to the login page, sometimes after they click on a category, or a products, etc.. I checked the configurations in the backend, it is set to this : Session Directory /home/domain/public_html/includes/work/ Force Cookie Use True Check SSL Session ID True Check User Agent True Check IP Address True Prevent Spider Sessions True Recreate Session True I checked the htaccess file, I have those settings to redirect to https and none www RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://domain.net/$1 [R,L] RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www\. [NC] RewriteRule ^(.*)$ https://domain.net/$1 [R,L] in the includes/config.php files i have the following : define('HTTP_SERVER', 'https://domain.net'); define('HTTPS_SERVER', 'https://domain.net'); define('ENABLE_SSL', true); define('HTTP_COOKIE_DOMAIN', 'domain.net'); define('HTTPS_COOKIE_DOMAIN', 'domain.net'); define('HTTP_COOKIE_PATH', '/'); define('HTTPS_COOKIE_PATH', '/'); define('DIR_WS_HTTP_CATALOG', '/'); define('DIR_WS_HTTPS_CATALOG', '/'); ========================== I tired the website multiple times, I didn't get this problem, but I have received the same report form many users. Any idea where should I look ?
  15. Psytanium

    Cannot update all currencies

    I'm running OSCommerce 2.3.4
×