Jump to content

larryjam

Members
  • Content count

    92
  • Joined

  • Last visited

Posts posted by larryjam


  1. I am using PayPal Website Payments Standard V.1, oscommerce version 2.2rc2a

     

    I receive the following error on the paypal payment page:

    "You have requested an outdated version of PayPal. This error often results from the use of bookmarks"

     

    It does not appear every time, some orders are processed. I am not sure how long the problem has been going on but orders have been slow, and I have just noticed this. The shop has been working fine for 2 years.

     

    Has Paypal, changed something on their end? Does anyone know of a fix for this?

     

    I corrected this, the error was a result of the client trying to make the changes in the tax rates and tax zones to accommodate the new Canadian HST.


  2. I am using PayPal Website Payments Standard V.1, oscommerce version 2.2rc2a

     

    I receive the following error on the paypal payment page:

    "You have requested an outdated version of PayPal. This error often results from the use of bookmarks"

     

    It does not appear every time, some orders are processed. I am not sure how long the problem has been going on but orders have been slow, and I have just noticed this. The shop has been working fine for 2 years.

     

    Has Paypal, changed something on their end? Does anyone know of a fix for this?


  3. I just checked for a .htaccess file in my Ultimate SEO download (from a couple of weeks ago), I don't see one. What should my .htaccess file contain? Where do I find what it should be?

     

    Cheers

    J

     

    Hello John, If you downloaded Jack_mcs Ultimate SEO 2-2.2d-9 from here http://addons.oscommerce.com/info/2823

    The .htaccess file is in the "Docs" folder.

    Open the instructions in Docs / upgrade.html

    Step # 6 in the instructions will give you the .htaccess file


  4. Completed files are included in the contribution. You can downlaod WinMerge and compare them with yours.

     

     

    I don't mean to be a pest about this, but I really need to resolve this. As you suggested I used WinMerge to check my includes/application_top.php file against completed files which is included in the contribution. The suggested code changes are correct.

     

    Just to make certain, I uploaded the completed file which is included in the contribution, to my site at includes/application_top.php and it made no difference, I still do not have seo urls. Is there anything else I can do to get this working as it is supposed to?


  5. They work correctly for me in my test shop here. Be sure you made the change to the breadcrumb code in includes/application_top.php, that you removed any other header tags code from that file that may have been there from earlier versions and that you have the articles setup as pseudo pages with titles filled in.

     

    I have followed your instructions, the code in includes/application_top.php is correct, and the pseduo page is enabled with titles filled in. I still get the orginal oscommerce url in the breadcrumb. The title of the page is there but the url is not an seo url. When you hold mouse of the link it shows as

    http://www.mydomain.com/article_info.php?articles_id=8

    When clicked on it does redirect to the seo url.

     

    I have included my includes/application_top.php, please have a look, thank you.

    <?php
    /*
     $Id: application_top.php 1833 2008-01-30 22:03:30Z hpdl $
    
     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 & ~E_DEPRECATED );
     date_default_timezone_set("America/Toronto");
    
    // 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.');
     }
    
    // Set the local configuration parameters - mainly for developers
     if (file_exists('includes/local/configure.php')) include('includes/local/configure.php');
    
    // include server parameters
     require('includes/configure.php');
    
     if (strlen(DB_SERVER) < 1) {
       if (is_dir('install')) {
         header('Location: install/index.php');
       }
     }
    
    // define the project version
     define('PROJECT_VERSION', 'osCommerce Online Merchant v2.2 RC2a');
    
    // 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';
    
    // set php_self in the local scope
     if (!isset($PHP_SELF)) $PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
    
     if ($request_type == 'NONSSL') {
       define('DIR_WS_CATALOG', DIR_WS_HTTP_CATALOG);
     } else {
       define('DIR_WS_CATALOG', DIR_WS_HTTPS_CATALOG);
     }
    
    // include the list of project filenames
     require(DIR_WS_INCLUDES . 'filenames.php');
    
    // include the list of project database tables
     require(DIR_WS_INCLUDES . 'database_tables.php');
    
    // customization for the design layout
     define('BOX_WIDTH', 193); // how wide the boxes should be in pixels (default: 225)
    
    // include the database functions
     require(DIR_WS_FUNCTIONS . 'database.php');
    
    // make a connection to the database... now
     tep_db_connect() or die('Unable to connect to database server!');
    
    // set the application parameters
     $configuration_query = tep_db_query('select configuration_key as cfgKey, 
    
    configuration_value as cfgValue from ' . TABLE_CONFIGURATION);
     while ($configuration = tep_db_fetch_array($configuration_query)) {
       define($configuration['cfgKey'], $configuration['cfgValue']);
     }
    
    // if gzip_compression is enabled, start to buffer the output
     if ( (GZIP_COMPRESSION == 'true') && ($ext_zlib_loaded = extension_loaded('zlib')) && 
    
    (PHP_VERSION >= '4') ) {
       if (($ini_zlib_output_compression = (int)ini_get('zlib.output_compression')) < 1) {
         if (PHP_VERSION >= '4.0.4') {
           ob_start('ob_gzhandler');
         } else {
           include(DIR_WS_FUNCTIONS . 'gzip_compression.php');
           ob_start();
           ob_implicit_flush();
         }
       } else {
         ini_set('zlib.output_compression_level', GZIP_LEVEL);
       }
     }
    
    // set the HTTP GET parameters manually if search_engine_friendly_urls is enabled
     if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') {
       if (strlen(getenv('PATH_INFO')) > 1) {
         $GET_array = array();
         $PHP_SELF = str_replace(getenv('PATH_INFO'), '', $PHP_SELF);
         $vars = explode('/', substr(getenv('PATH_INFO'), 1));
         for ($i=0, $n=sizeof($vars); $i<$n; $i++) {
           if (strpos($vars[$i], '[]')) {
             $GET_array[substr($vars[$i], 0, -2)][] = $vars[$i+1];
           } else {
             $HTTP_GET_VARS[$vars[$i]] = $vars[$i+1];
           }
           $i++;
         }
    
         if (sizeof($GET_array) > 0) {
           while (list($key, $value) = each($GET_array)) {
             $HTTP_GET_VARS[$key] = $value;
           }
         }
       }
     }
    
    // define general functions used application-wide
     require(DIR_WS_FUNCTIONS . 'general.php');
     require(DIR_WS_FUNCTIONS . 'html_output.php');
    
    // set the cookie domain
     $cookie_domain = (($request_type == 'NONSSL') ? HTTP_COOKIE_DOMAIN : 
    
    HTTPS_COOKIE_DOMAIN);
     $cookie_path = (($request_type == 'NONSSL') ? HTTP_COOKIE_PATH : 
    
    HTTPS_COOKIE_PATH);
    
    // include cache functions if enabled
     if (USE_CACHE == 'true') include(DIR_WS_FUNCTIONS . 'cache.php');
    
    // include shopping cart class
     require(DIR_WS_CLASSES . 'shopping_cart.php');
    
    // include navigation history class
     require(DIR_WS_CLASSES . 'navigation_history.php');
    
    // check if sessions are supported, otherwise use the php3 compatible session class
     if (!function_exists('session_start')) {
       define('PHP_SESSION_NAME', 'osCsid');
       define('PHP_SESSION_PATH', $cookie_path);
       define('PHP_SESSION_DOMAIN', $cookie_domain);
       define('PHP_SESSION_SAVE_PATH', SESSION_WRITE_DIRECTORY);
    
       include(DIR_WS_CLASSES . 'sessions.php');
     }
    
    // define how the session functions will be used
     require(DIR_WS_FUNCTIONS . 'sessions.php');
    
    // set the session name and save path
     tep_session_name('osCsid');
     tep_session_save_path(SESSION_WRITE_DIRECTORY);
    
    // set the session cookie parameters
      if (function_exists('session_set_cookie_params')) {
       session_set_cookie_params(0, $cookie_path, $cookie_domain);
     } elseif (function_exists('ini_set')) {
       ini_set('session.cookie_lifetime', '0');
       ini_set('session.cookie_path', $cookie_path);
       ini_set('session.cookie_domain', $cookie_domain);
     }
    
    // set the session ID if it exists
      if (isset($HTTP_POST_VARS[tep_session_name()])) {
        tep_session_id($HTTP_POST_VARS[tep_session_name()]);
      } elseif ( ($request_type == 'SSL') && isset($HTTP_GET_VARS[tep_session_name()]) ) {
        tep_session_id($HTTP_GET_VARS[tep_session_name()]);
      }
    
    // start the session
     $session_started = false;
     if (SESSION_FORCE_COOKIE_USE == 'True') {
       tep_setcookie('cookie_test', 'please_accept_for_session', time()+60*60*24*30, 
    
    $cookie_path, $cookie_domain);
    
       if (isset($HTTP_COOKIE_VARS['cookie_test'])) {
         tep_session_start();
         $session_started = true;
       }
     } elseif (SESSION_BLOCK_SPIDERS == 'True') {
       $user_agent = strtolower(getenv('HTTP_USER_AGENT'));
       $spider_flag = false;
    
       if (tep_not_null($user_agent)) {
         $spiders = file(DIR_WS_INCLUDES . 'spiders.txt');
    
         for ($i=0, $n=sizeof($spiders); $i<$n; $i++) {
           if (tep_not_null($spiders[$i])) {
             if (is_integer(strpos($user_agent, trim($spiders[$i])))) {
               $spider_flag = true;
               break;
             }
           }
         }
       }
    
       if ($spider_flag == false) {
         tep_session_start();
         $session_started = true;
       }
     } else {
       tep_session_start();
       $session_started = true;
     }
    
     if ( ($session_started == true) && (PHP_VERSION >= 4.3) && function_exists('ini_get') && 
    
    (ini_get('register_globals') == false) ) {
       extract($_SESSION, EXTR_OVERWRITE+EXTR_REFS);
     }
    
    // set SID once, even if empty
     $SID = (defined('SID') ? SID : '');
    
    // verify the ssl_session_id if the feature is enabled
     if ( ($request_type == 'SSL') && (SESSION_CHECK_SSL_SESSION_ID == 'True') && 
    
    (ENABLE_SSL == true) && ($session_started == true) ) {
       $ssl_session_id = getenv('SSL_SESSION_ID');
       if (!tep_session_is_registered('SSL_SESSION_ID')) {
         $SESSION_SSL_ID = $ssl_session_id;
         tep_session_register('SESSION_SSL_ID');
       }
    
       if ($SESSION_SSL_ID != $ssl_session_id) {
         tep_session_destroy();
         tep_redirect(tep_href_link(FILENAME_SSL_CHECK));
       }
     }
    
    // verify the browser user agent if the feature is enabled
     if (SESSION_CHECK_USER_AGENT == 'True') {
       $http_user_agent = getenv('HTTP_USER_AGENT');
       if (!tep_session_is_registered('SESSION_USER_AGENT')) {
         $SESSION_USER_AGENT = $http_user_agent;
         tep_session_register('SESSION_USER_AGENT');
       }
    
       if ($SESSION_USER_AGENT != $http_user_agent) {
         tep_session_destroy();
         tep_redirect(tep_href_link(FILENAME_LOGIN));
       }
     }
    
    // verify the IP address if the feature is enabled
     if (SESSION_CHECK_IP_ADDRESS == 'True') {
       $ip_address = tep_get_ip_address();
       if (!tep_session_is_registered('SESSION_IP_ADDRESS')) {
         $SESSION_IP_ADDRESS = $ip_address;
         tep_session_register('SESSION_IP_ADDRESS');
       }
    
       if ($SESSION_IP_ADDRESS != $ip_address) {
         tep_session_destroy();
         tep_redirect(tep_href_link(FILENAME_LOGIN));
       }
     }
    
    // create the shopping cart & fix the cart if necesary
     if (tep_session_is_registered('cart') && is_object($cart)) {
       if (PHP_VERSION < 4) {
         $broken_cart = $cart;
         $cart = new shoppingCart;
         $cart->unserialize($broken_cart);
       }
     } else {
       tep_session_register('cart');
       $cart = new shoppingCart;
     }
    
    // include currencies class and create an instance
     require(DIR_WS_CLASSES . 'currencies.php');
     $currencies = new currencies();
    
    // include the mail classes
     require(DIR_WS_CLASSES . 'mime.php');
     require(DIR_WS_CLASSES . 'email.php');
    
    // set the language
     if (!tep_session_is_registered('language') || isset($HTTP_GET_VARS['language'])) {
       if (!tep_session_is_registered('language')) {
         tep_session_register('language');
         tep_session_register('languages_id');
       }
    
       include(DIR_WS_CLASSES . 'language.php');
       $lng = new language();
    
       if (isset($HTTP_GET_VARS['language']) && 
    
    tep_not_null($HTTP_GET_VARS['language'])) {
         $lng->set_language($HTTP_GET_VARS['language']);
       } else {
         $lng->get_browser_language();
       }
    
       $language = $lng->language['directory'];
       $languages_id = $lng->language['id'];
     }
    
    // include the language translations
     require(DIR_WS_LANGUAGES . $language . '.php');
    // Ultimate SEO URLs v2.2d
    if ((!defined(SEO_ENABLED)) || (SEO_ENABLED == 'true')) {
      include_once(DIR_WS_CLASSES . 'seo.class.php');
      if ( !is_object($seo_urls) ){
        $seo_urls = new SEO_URL($languages_id);
      }
    }
    
    // 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')) {
       if (PHP_VERSION < 4) {
         $broken_navigation = $navigation;
         $navigation = new navigationHistory;
         $navigation->unserialize($broken_navigation);
       }
     } else {
       tep_session_register('navigation');
       $navigation = new navigationHistory;
     }
     $navigation->add_current_page();
     /*** Begin All Products SEO ***/
      if (ALL_PRODUCTS_SEO == 'false' && strpos(basename($_SERVER['PHP_SELF']), 
    
    FILENAME_ALLPRODS_SEO) !== FALSE) {
        tep_redirect(tep_href_link(FILENAME_DEFAULT));
      }
     /*** End All Products SEO ***/
    
    // Shopping cart actions
     if (isset($HTTP_GET_VARS['action'])) {
    // redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled
       if ($session_started == false) {
         tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE));
       }
    
       if (DISPLAY_CART == 'true') {
         $goto =  FILENAME_SHOPPING_CART;
         $parameters = array('action', 'cPath', 'products_id', 'pid');
       } else {
         $goto = basename($PHP_SELF);
         if ($HTTP_GET_VARS['action'] == 'buy_now') {
           $parameters = array('action', 'pid', 'products_id');
         } else {
           $parameters = array('action', 'pid');
         }
       }
       switch ($HTTP_GET_VARS['action']) {
         // customer wants to update the product quantity in their shopping cart
         case 'update_product' : for ($i=0, $n=sizeof($HTTP_POST_VARS['products_id']); 
    
    $i<$n; $i++) {
                                   if (in_array($HTTP_POST_VARS['products_id'][$i], 
    
    (is_array($HTTP_POST_VARS['cart_delete']) ? $HTTP_POST_VARS['cart_delete'] : 
    
    array()))) {
                                     $cart->remove($HTTP_POST_VARS['products_id'][$i]);
                                   } else {
                                     if (PHP_VERSION < 4) {
                                       // if PHP3, make correction for lack of multidimensional array.
                                       reset($HTTP_POST_VARS);
                                       while (list($key, $value) = each($HTTP_POST_VARS)) {
                                         if (is_array($value)) {
                                           while (list($key2, $value2) = each($value)) {
                                             if (ereg ("(.*)\]\[(.*)", $key2, $var)) {
                                               $id2[$var[1]][$var[2]] = $value2;
                                             }
                                           }
                                         }
                                       }
                                       $attributes = ($id2[$HTTP_POST_VARS['products_id'][$i]]) ? 
    
    $id2[$HTTP_POST_VARS['products_id'][$i]] : '';
                                     } else {
                                       $attributes = 
    
    ($HTTP_POST_VARS['id'][$HTTP_POST_VARS['products_id'][$i]]) ? 
    
    $HTTP_POST_VARS['id'][$HTTP_POST_VARS['products_id'][$i]] : '';
                                     }
                                     $cart->add_cart($HTTP_POST_VARS['products_id'][$i], 
    
    $HTTP_POST_VARS['cart_quantity'][$i], $attributes, false);
                                   }
                                 }
                                 tep_redirect(tep_href_link($goto, 
    
    tep_get_all_get_params($parameters)));
                                 break;
         // customer adds a product from the products page
         case 'add_product' :    if (isset($HTTP_POST_VARS['products_id']) && 
    
    is_numeric($HTTP_POST_VARS['products_id'])) {
                                   $cart->add_cart($HTTP_POST_VARS['products_id'], 
    
    $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], 
    
    $HTTP_POST_VARS['id']))+1, $HTTP_POST_VARS['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($goto, 
    
    tep_get_all_get_params($parameters)));
                                 break;
         case 'notify' :         if (tep_session_is_registered('customer_id')) {
                                   if (isset($HTTP_GET_VARS['products_id'])) {
                                     $notify = $HTTP_GET_VARS['products_id'];
                                   } elseif (isset($HTTP_GET_VARS['notify'])) {
                                     $notify = $HTTP_GET_VARS['notify'];
                                   } elseif (isset($HTTP_POST_VARS['notify'])) {
                                     $notify = $HTTP_POST_VARS['notify'];
                                   } else {
                                     tep_redirect(tep_href_link(basename($PHP_SELF), 
    
    tep_get_all_get_params(array('action', 'notify'))));
                                   }
                                   if (!is_array($notify)) $notify = array($notify);
                                   for ($i=0, $n=sizeof($notify); $i<$n; $i++) {
                                     $check_query = tep_db_query("select count(*) as count from " . 
    
    TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . $notify[$i] . "' and 
    
    customers_id = '" . $customer_id . "'");
                                     $check = tep_db_fetch_array($check_query);
                                     if ($check['count'] < 1) {
                                       tep_db_query("insert into " . TABLE_PRODUCTS_NOTIFICATIONS . 
    
    " (products_id, customers_id, date_added) values ('" . $notify[$i] . "', '" . $customer_id . "', 
    
    now())");
                                     }
                                   }
                                   tep_redirect(tep_href_link(basename($PHP_SELF), 
    
    tep_get_all_get_params(array('action', 'notify'))));
                                 } else {
                                   $navigation->set_snapshot();
                                   tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
                                 }
                                 break;
         case 'notify_remove' :  if (tep_session_is_registered('customer_id') && 
    
    isset($HTTP_GET_VARS['products_id'])) {
                                   $check_query = tep_db_query("select count(*) as count from " . 
    
    TABLE_PRODUCTS_NOTIFICATIONS . " where products_id = '" . 
    
    $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . $customer_id . "'");
                                   $check = tep_db_fetch_array($check_query);
                                   if ($check['count'] > 0) {
                                     tep_db_query("delete from " . TABLE_PRODUCTS_NOTIFICATIONS 
    
    . " where products_id = '" . $HTTP_GET_VARS['products_id'] . "' and customers_id = '" . 
    
    $customer_id . "'");
                                   }
                                   tep_redirect(tep_href_link(basename($PHP_SELF), 
    
    tep_get_all_get_params(array('action'))));
                                 } else {
                                   $navigation->set_snapshot();
                                   tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
                                 }
                                 break;
         case 'cust_order' :     if (tep_session_is_registered('customer_id') && 
    
    isset($HTTP_GET_VARS['pid'])) {
                                   if (tep_has_product_attributes($HTTP_GET_VARS['pid'])) {
                                     tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 
    
    'products_id=' . $HTTP_GET_VARS['pid']));
                                   } else {
                                     $cart->add_cart($HTTP_GET_VARS['pid'], 
    
    $cart->get_quantity($HTTP_GET_VARS['pid'])+1);
                                   }
                                 }
                                 tep_redirect(tep_href_link($goto, 
    
    tep_get_all_get_params($parameters)));
                                 break;
       }
     }
    
    // include the who's online functions
     require(DIR_WS_FUNCTIONS . 'whos_online.php');
     tep_update_whos_online();
    
    // include the password crypto functions
     require(DIR_WS_FUNCTIONS . 'password_funcs.php');
    
    // include validation functions (right now only email address)
     require(DIR_WS_FUNCTIONS . 'validations.php');
    
    // split-page-results
     require(DIR_WS_CLASSES . 'split_page_results.php');
    
    // infobox
     require(DIR_WS_CLASSES . 'boxes.php');
    
    // auto activate and expire banners
     require(DIR_WS_FUNCTIONS . 'banner.php');
     tep_activate_banners();
     tep_expire_banners();
    
    // auto expire special products
     require(DIR_WS_FUNCTIONS . 'specials.php');
     tep_expire_specials();
    
    // calculate category path
     if (isset($HTTP_GET_VARS['cPath'])) {
       $cPath = $HTTP_GET_VARS['cPath'];
     } elseif (isset($HTTP_GET_VARS['products_id']) && 
    
    !isset($HTTP_GET_VARS['manufacturers_id'])) {
       $cPath = tep_get_product_path($HTTP_GET_VARS['products_id']);
     } else {
       $cPath = '';
     }
    
     if (tep_not_null($cPath)) {
       $cPath_array = tep_parse_category_path($cPath);
       $cPath = implode('_', $cPath_array);
       $current_category_id = $cPath_array[(sizeof($cPath_array)-1)];
     } else {
       $current_category_id = 0;
     }
    
    // include the breadcrumb class and start the breadcrumb trail
     require(DIR_WS_CLASSES . 'breadcrumb.php');
     $breadcrumb = new breadcrumb;
    
     $breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_HOME));
    
    /*** Begin Header Tags SEO ***/  
    // 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_htc_title_tag from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "' LIMIT 1");
         if (tep_db_num_rows($categories_query) > 0) {
           $categories = tep_db_fetch_array($categories_query);
           $breadcrumb->add($categories['categories_htc_title_tag'], tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1)))));
         } else {
           break;
         }
       }
     } elseif (isset($_GET['manufacturers_id'])) {
       $manufacturers_query = tep_db_query("select manufacturers_htc_title_tag from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "' AND languages_id = '" . (int)$languages_id . "' LIMIT 1");
       if (tep_db_num_rows($manufacturers_query)) {
         $manufacturers = tep_db_fetch_array($manufacturers_query);
         $breadcrumb->add($manufacturers['manufacturers_htc_title_tag'], tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $_GET['manufacturers_id']));
       }
     }
    
    // add the products name to the breadcrumb trail
    if (isset($_GET['products_id'])) {
     $products_query = tep_db_query("select pd.products_head_title_tag from " . TABLE_PRODUCTS . " p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on p.products_id = pd.products_id where p.products_id = '" . (int)$_GET['products_id'] . "' and pd.language_id ='" .  (int)$languages_id . "' LIMIT 1");
     if (tep_db_num_rows($products_query)) {
       $products = tep_db_fetch_array($products_query);
       $breadcrumb->add($products['products_head_title_tag'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $_GET['products_id']));
     }
    } 
    /*** End Header Tags SEO ***/
    
    // Begin Article Manager
    // include the articles functions
     require(DIR_WS_FUNCTIONS . 'articles.php');
    
    // calculate topic path
     if (isset($HTTP_GET_VARS['tPath'])) {
       $tPath = $HTTP_GET_VARS['tPath'];
     } elseif (isset($HTTP_GET_VARS['articles_id']) && 
    
    !isset($HTTP_GET_VARS['authors_id'])) {
       $tPath = tep_get_article_path($HTTP_GET_VARS['articles_id']);
     } else {
       $tPath = '';
     }
    
     if (tep_not_null($tPath)) {
       $tPath_array = tep_parse_topic_path($tPath);
       $tPath = implode('_', $tPath_array);
       $current_topic_id = $tPath_array[(sizeof($tPath_array)-1)];
     } else {
       $current_topic_id = 0;
     }
    
     if (isset($_GET['articles_id'])) {
       $articlesPage = FILENAME_ARTICLE_INFO . "?articles_id=" . $_GET['articles_id'];
       $pageTags_query = tep_db_query("select page_name, page_title from " . 
    
    TABLE_HEADERTAGS . " where page_name like '" . $articlesPage . "' and language_id = '" 
    
    . (int)$languages_id . "' LIMIT 1");
       if (tep_db_num_rows($pageTags_query) == 1) {
         $pageTags = tep_db_fetch_array($pageTags_query);
         $breadcrumb->add('Articles', tep_href_link(FILENAME_ARTICLES));
         $breadcrumb->add($pageTags['page_title'], tep_href_link($articlesPage));
       }  
     }
    // End Article Manager
    
    // initialize the message stack for output messages
     require(DIR_WS_CLASSES . 'message_stack.php');
     $messageStack = new messageStack;
    
    // 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');
    ?>
    


  6. Sorry, but I don't have any other suggestions. There seems to be something in your shop, or on your server, that is not allowing the code to work. It's not a problem I can troubleshoot in a support forum.

     

    Ok Jack, thank you for your efforts, I can live without this, but could you help me with the other issue I mention regarding the article manager breadcrumb links, in post 1459

     

    I have SEO Urls V 2-2.2d-9 installed, my breadcrumb links are sef throughout the rest of the site but the article manager urls in the breadcrumb trail are the orginal oscommerce urls.


  7. Try

    echo sprintf(TEXT_MORE_INFORMATION, "http://" . htmlentities(urlencode($article_info['articles_url'])) );

     

    The above code gives the same result Jack, it works if I just enter a link such as www.oscommerce.com without the trailing slash, however as soon as I and a file name such as

    www.mydomain.com/filename.html

    it gives the same result as

    http://www.mydomain.com%2filename.html/
    


  8. Thanks for your help Jack, it almost works except I get some funny characters in the url "%2f" and a "/" forward slash at the end of the url like this

    http://www.mydomain.com%2fproduct-p-67.html/
    

     

    The above is how the url looks when I view the page source, and is the link produced when I click on it. I have left the code in place for you to view the page.

     

    P.S. It works fine on the "Preview" page in the admin back end, but not after I click "Update" and view it from the front of the store.


  9. Try changing this section of code in the article_info.php file

    		echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=arturl&goto=' . urlencode($article_info['articles_url']), 'NONSSL', true, false));
    

    to

    echo sprintf(TEXT_MORE_INFORMATION, "http://" . urlencode($article_info['articles_url']) );

     

    Thanks for your help Jack, it almost works except I get some funny characters in the url "%2f" and a "/" forward slash at the end of the url like this

    http://www.mydomain.com%2fproduct-p-67.html/
    

     

    The above is how the url looks when I view the page source, and is the link produced when I click on it. I have left the code in place for you to view the page.


  10. If you view source for the article page, what is the url? How does that compare to the article in admin?

     

    Jack, I sent you an email with the link information. I know you have a rule about email you for help but I really do not want to post the url here, so I hope you understand and do not mind.


  11. The .htaccess file looks fine. Since the redirects are not working, I wonder if that has something to do with the link on the page too. You can try turning off ultimate seo (you have to turn off all settings) to see if the url on the article page begins working. If it does, or before if you like, use the uninstall setting in ultimate seo to completely remove it from the database. When you go back to the shop and click on home, it will reload. Maybe a setting from the previous version is causing a problem?

     

    Thanks for the help Jack, I tried as you suggested, I took a screenshot of the settings in admin/seo urls and then turned everything to false, I then tried the link in the articles and it still did not work. I then got brave enough to uninstall seo urls through the admin/seo urls setting. I then tried the link in the articles again and it still did not work. After clicking around the site a bit, I went back to the admin panel, and viola everything was enabled as it was before. I guess I still had the default settings.

     

    Anyway I am back to square one, and don't know what to do :(


  12. Be sure you have made the changes to the .htaccess file. If you upgraded from a previous version, you may not have added the new code for that file.

    Be sure you are entering a full url in admin.

     

    I did upgrade SEO Urls from previous version. I have c/p my htaccess file

    Options +FollowSymLinks
    RewriteEngine On 
    RewriteBase /
    
    RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-c-(.*).html$ index.php?cPath=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-m-(.*).html$ index.php?manufacturers_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-pi-(.*).html$ popup_image.php?pID=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-by-(.*).html$ all-products.php?fl=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-t-(.*).html$ articles.php?tPath=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-a-(.*).html$ article_info.php?articles_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-au-(.*).html$ articles.php?authors_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-pr-(.*).html$ product_reviews.php?products_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-pri-(.*).html$ product_reviews_info.php?products_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-f-(.*).html$ faqdesk_info.php?faqdesk_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-fc-(.*).html$ faqdesk_index.php?faqPath=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-fri-(.*).html$ faqdesk_reviews_info.php?faqdesk_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-fra-(.*).html$ faqdesk_reviews_article.php?faqdesk_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-i-(.*).html$ information.php?info_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-links-(.*).html$ links.php?lPath=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-pm-([0-9]+).html$ info_pages.php?pages_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-n-(.*).html$ newsdesk_info.php?newsdesk_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-nc-(.*).html$ newsdesk_index.php?newsPath=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-nri-(.*).html$ newsdesk_reviews_info.php?newsdesk_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-nra-(.*).html$ newsdesk_reviews_article.php?newsdesk_id=$2&%{QUERY_STRING}
    RewriteRule ^(.*)-po-([0-9]+).html$ pollbooth.php?pollid=$2&%{QUERY_STRING}
    

     

    As for the article link redirecting to my homepage, I am entering the full url www.mydomain.com/product-c-21-html.

    It works fine in the preview page, in the back end, but when I update the page the link on the page uses redirect.php and does it incorrectly.


  13. I am having a couple of problems with Articles Manager V 1.57_4 and I need some help.

     

    Fist is I do not have SEF urls, in the breadcrumbs. I do have SEO Urls V 2-2.2d-9 installed, but the urls in the breadcrumb trail are not sef urls, they do redirect to the sef url when click but when you mouse over the link the url is in this format

     

    article_info.php?articles_id=26

    My second problem is the link to the article url, at the bottom of the article. It does not matter what link I put in there, it redirects to my main index page. (Even if I put a link to yahoo, it redirects to my home page.


  14. There are options in the settings in admin for rss. The link is in the articles box. It can be added to the header but you would have to do that yourself. The other contribution shouldn't cause any problem with this one.

    I have it working now Jack, I am not sure what the problem was but it is now working. Thanks


  15. Forget it. I don't have time to deal with an angry forum "guru" with an attitude. No matter what I post it will never be enough and nothing will get resolved. I'll either resolve it myself eventually or take the fracking mod out and do without.

     

    If you want to install oscommerce on a local host then "Xamp For Windows" is your best choice. Xamp will give you an Apache web server with MySQL, PHP and Perl. SEO URLS is one of the best contributions out there. It almost works out of the box. The support provided by Jack and others is excellent, and just like the mod the support is FREE. Jack gives his time and trys to help everyone he can. An apology will probably go a long way in helping you to get your shop set up.


  16. Are you sure the links aren't there and not just hidden due to a stylesheet setting? Try dragging your mouse over the page to check.

    I have it sorted out Jack, I neglected to upload the files in the "includes/module" folder, once I did that the links to to articles show up fine. I am however struggling with the rss feed. It is sometimes only showing 2 articles, and other times none. Is there a setting somewhere to control the articles published in the feed? Should there not be a link to the feed in the header of the pages? Note I also have this rss module installed. Could there be a conflict?


  17. If the article is in admin and is eanabled, then it is most likely a problem with the changes on the shop. You can try turning off some of the options in admin for the articles box. That may help isolate the problem. I can't think of any reason the article wouldn't show though.

     

    Thank you for responding Jack. Yes, the articles are in admin and they are enabled. The link to the article is produced and displayed in the info box, however the links to the articles are not produced in the "All Articles" page, or the "New Articles". I don't understand what could have went wrong since these are new files, not ones that I had to edit. I will reinstall my backup and start over again.


  18. I have just installed Articles Manager V 1.57_4. I configured the admin settings, created an Author, a Topic, and an Article. In my info box displays a link to the article (no problem) however there is also a link to "All Articles" at "/articles.php", but the page displays no articles. The article also does not display in the "New Articles" link at articles_new.php. Any idea what I have done wrong?


  19. Can anyone help?

    I have managed to find and replace all the code on the index.php except for one.

    FIND (Around line 345)

     

    <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

    <td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_default.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

     

    I can't find anything this is the last part of my index.php from line 338 forward

    >

    </table>

    </td>

    </tr>

    <tr>

    <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '5'); ?></td>

    </tr>

    </table>

    <?php require(DIR_WS_INCLUDES . 'sub_footer.php'); ?>

    </td>

    <?php

    }

    ?>

    <!-- body_text_eof //-->

    <td width="<?php echo BOX_WIDTH; ?>" valign="top" class="maincont_right_td"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="0" class="rightbar_tb">

    <!-- right_navigation //-->

    <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>

    <!-- right_navigation_eof //-->

    </table></td>

    </tr>

    </table>

    <!-- body_eof //-->

     

    <!-- footer //-->

    <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

    <!-- footer_eof //-->

    <br>

    </body>

    </html>

    <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

    Can anyone please tell me what code to replace?

    thanks so much.. I also noticed that on the index.php in the "new Shop" folder. The last code was not on that either.

     

    Try doing a search for

    <?php echo HEADING_TITLE; ?>

     

    This will give you the area that needs to be changed. the code above will be in a table cell simialar to this

    <td><?php echo HEADING_TITLE; ?></td>

     

    Select that table cell and the one below it and replace with the new code


  20. There are a few known problems with the canonical tag system in Header Tags. It will be updated with the next version.

     

    I am having the same problem with V3.2.2 Do you recommend we turn off the canonical tag, or would we be better off to leave it in place?

     

    Patiently awaiting for the fix in V3.2.3


  21. Hello Jack

     

    I am having trouble with my product review pages. When you click the link in the product review info box it takes the user to a page that list all the product categories.

     

    The link in the reviews box is something like this:

    mydomain.com/category-product-pri-151.html?reviews_id=1

     

    However after you click the link, it redirects to this

    mydomain.com/-product-pri-151.html?reviews_id=1

     

    but it is not the correct page. I noticed the the seo url start with a "-" and it seems like the category name is missing there.

     

    I am using Ultimate_SE_ Urls_V 2-2.2d-8 and HeaderTags_SEO_V_3.2.2

     

     

    Ok I have it working now, however I had to disable the option to "Add category parent to product URLs" in the configuration settings.


  22. Hello Jack

     

    I am having trouble with my product review pages. When you click the link in the product review info box it takes the user to a page that list all the product categories.

     

    The link in the reviews box is something like this:

    mydomain.com/category-product-pri-151.html?reviews_id=1

     

    However after you click the link, it redirects to this

    mydomain.com/-product-pri-151.html?reviews_id=1

     

    but it is not the correct page. I noticed the the seo url start with a "-" and it seems like the category name is missing there.

     

    I am using Ultimate_SE_ Urls_V 2-2.2d-8 and HeaderTags_SEO_V_3.2.2


  23. Hello Jack, I am having trouble with the social booking portion of Header Tags SE0 V 3.2.2. When the pages are bookmarked it uses the title in the <h1> tag, I would like the page to be bookmarked using the title in meta tag title, as it is much more descriptive.

     

    Is this possible? If so what do I have to change?


  24. I have a question regarding Google XML Sitemap SEO. Hello, I am developing my site using, Header Tags SEO, and Ultimate SEO URLs. I am now looking for a Goolgle sitemap, and an html site map for my visitors. If I install this contribution will I also need to find an html sitemap contribution, if so can someone suggest one that will work with this one? Using oscommerce 2.2 RC2 and PHP 5. Thank You.


  25. Hello Jack

     

    I am using Header Tags SEO, it is working fine, except for the social bookmarking. The links do not include the title of the page being bookmarked. For example the delicious link looks like this

    http://del.icio.us/post?url=http%3A%2F%2Fwww.mydomain.com%2F&title=

    , it is the same for all links. I have seen other sites with the same problem. Could you please help me sort this out. Thank You.

×