Guest Posted May 8, 2007 Share Posted May 8, 2007 (edited) Hi Mark,I've just added TinyMCE and have held back from letting products go live until I've jazzed them up with a lick of HTML. I've got all the raw products in one holding category and the process is 1) move product to appropriate category; 2) edit product - applying HTML; 3) save and change from out of stock to in stock status. When I run the shop and find the product in the catagory list (page 2), and click on the product, I am returned to page 1, not taken to the product description page. It doesn't like the path. However, if I search for the product and click on that, all is well. Do I need to refresh SEO-G to catch all the products added after this contribution was added ? Thanks Mark, Paul If you're moving/adding products/categories/manufacturers you need to go through the SEO-G configuration again (remove/add products/categories/manufacturers and clear the reports). Because there is no automatic synchornization process at this point. Edited May 8, 2007 by enigma1 Quote Link to comment Share on other sites More sharing options...
Guest Posted May 9, 2007 Share Posted May 9, 2007 If you're moving/adding products/categories/manufacturers you need to go through the SEO-G configuration again (remove/add products/categories/manufacturers and clear the reports). Because there is no automatic synchornization process at this point. In the reports section there is nothing to clear. The heading eludes to a 'delete' button, but there isn't a button or any list of any kind, so I'm unable to flush it. ? Paul Quote Link to comment Share on other sites More sharing options...
Guest Posted May 9, 2007 Share Posted May 9, 2007 (edited) In the reports section there is nothing to clear. The heading eludes to a 'delete' button, but there isn't a button or any list of any kind, so I'm unable to flush it.? Paul Use version 1.13 plus the fix mentioned - see post #217. It is included. There are 2 delete buttons, The regular delete where you select individual entries from the tick boxes in order to delete/edit and the "delete all". I will update the instructions in the reports page so the explanation for each button will be better. Edited May 9, 2007 by enigma1 Quote Link to comment Share on other sites More sharing options...
WebbyIT Posted May 10, 2007 Share Posted May 10, 2007 I will update to the most recent and let you know if it resolves the checkout_success.php redirect issue.After updating to v1.13 and trying both 443 options (one at a time) mentioned in readme.htm $request_type = ($_SERVER['SERVER_PORT'] == '443') ? 'SSL' : 'NONSSL'; //$request_type = (getenv('SERVER_PORT') == '443') ? 'SSL' : 'NONSSL'; I still get redirected to cookie_usage.php when I click "Continue" on checkout_success.html. Is there any way to check to see if the $request_type variable is correctly identified? Quote Link to comment Share on other sites More sharing options...
Guest Posted May 10, 2007 Share Posted May 10, 2007 After updating to v1.13 and trying both 443 options (one at a time) mentioned in readme.htm $request_type = ($_SERVER['SERVER_PORT'] == '443') ? 'SSL' : 'NONSSL'; //$request_type = (getenv('SERVER_PORT') == '443') ? 'SSL' : 'NONSSL'; I still get redirected to cookie_usage.php when I click "Continue" on checkout_success.html. Is there any way to check to see if the $request_type variable is correctly identified? Make sure you also apply the fix shown in post #217. Â can you post the catalog\includes\application_top.php you're using? At least I can try it here to see if there is anything wrong. Quote Link to comment Share on other sites More sharing options...
WebbyIT Posted May 10, 2007 Share Posted May 10, 2007 Make sure you also apply the fix shown in post #217. Â can you post the catalog\includes\application_top.php you're using? At least I can try it here to see if there is anything wrong. post #217 was applied previously. <?php /* $Id: application_top.php,v 1.280 2003/07/12 09:38:07 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ //-MS- SEO-G Added if( !isset($g_seo_flag) || $g_seo_flag !== true) { // start the timer for the page parse time log define('PAGE_PARSE_START_TIME', microtime()); // set the level of error reporting error_reporting(E_ALL & ~E_NOTICE); // check if register_globals is enabled. // since this is a temporary measure this message is hardcoded. The requirement will be removed before 2.2 is finalized. // >>> BEGIN REGISTER_GLOBALS // if (function_exists('ini_get')) { // ini_get('register_globals') or 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.'); // } // <<< END REGISTER_GLOBALS // Set the local configuration parameters - mainly for developers if (file_exists('includes/local/configure.php')) include('includes/local/configure.php'); // include server parameters require('includes/configure.php'); if (strlen(DB_SERVER) < 1) { if (is_dir('install')) { header('Location: install/index.php'); } } // define the project version define('PROJECT_VERSION', 'osCommerce 2.2-MS2'); // set the type of request (secure or not) //rem this and redefined below for specific web host variable/SEO-G $request_type = (getenv('HTTPS') == 'on') ? 'SSL' : 'NONSSL'; $request_type = ($_SERVER['SERVER_PORT'] == '443') ? 'SSL' : 'NONSSL'; //$request_type = (getenv('SERVER_PORT') == '443') ? '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', 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']); } //-MS- SEO URLs Support Added require(DIR_WS_CLASSES . 'seo_url.php'); $g_seo_url = new seoURL; //-MS- SEO URLs Support Added EOM } //-MS- SEO-G Added EOM // if gzip_compression is enabled, start to buffer the output if ( (GZIP_COMPRESSION == 'true') && ($ext_zlib_loaded = extension_loaded('zlib')) && (PHP_VERSION >= '4') ) { if (($ini_zlib_output_compression = (int)ini_get('zlib.output_compression')) < 1) { if (PHP_VERSION >= '4.0.4') { ob_start('ob_gzhandler'); } else { include(DIR_WS_FUNCTIONS . 'gzip_compression.php'); ob_start(); ob_implicit_flush(); } } else { ini_set('zlib.output_compression_level', GZIP_LEVEL); } } // set the HTTP GET parameters manually if search_engine_friendly_urls is enabled if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') { if (strlen(getenv('PATH_INFO')) > 1) { $GET_array = array(); $PHP_SELF = str_replace(getenv('PATH_INFO'), '', $PHP_SELF); $vars = explode('/', substr(getenv('PATH_INFO'), 1)); for ($i=0, $n=sizeof($vars); $i<$n; $i++) { if (strpos($vars[$i], '[]')) { $GET_array[substr($vars[$i], 0, -2)][] = $vars[$i+1]; } else { $HTTP_GET_VARS[$vars[$i]] = $vars[$i+1]; } $i++; } if (sizeof($GET_array) > 0) { while (list($key, $value) = each($GET_array)) { $HTTP_GET_VARS[$key] = $value; } } } } // define general functions used application-wide require(DIR_WS_FUNCTIONS . 'general.php'); require(DIR_WS_FUNCTIONS . 'html_output.php'); // set the cookie domain $cookie_domain = (($request_type == 'NONSSL') ? HTTP_COOKIE_DOMAIN : HTTPS_COOKIE_DOMAIN); $cookie_path = (($request_type == 'NONSSL') ? HTTP_COOKIE_PATH : HTTPS_COOKIE_PATH); // include cache functions if enabled if (USE_CACHE == 'true') include(DIR_WS_FUNCTIONS . 'cache.php'); // include shopping cart class require(DIR_WS_CLASSES . 'shopping_cart.php'); // include navigation history class require(DIR_WS_CLASSES . 'navigation_history.php'); // some code to solve compatibility issues require(DIR_WS_FUNCTIONS . 'compatibility.php'); // check if sessions are supported, otherwise use the php3 compatible session class if (!function_exists('session_start')) { define('PHP_SESSION_NAME', 'osCsid'); define('PHP_SESSION_PATH', $cookie_path); define('PHP_SESSION_DOMAIN', $cookie_domain); define('PHP_SESSION_SAVE_PATH', SESSION_WRITE_DIRECTORY); include(DIR_WS_CLASSES . 'sessions.php'); } // define how the session functions will be used require(DIR_WS_FUNCTIONS . 'sessions.php'); // set the session name and save path tep_session_name('osCsid'); tep_session_save_path(SESSION_WRITE_DIRECTORY); // set the session cookie parameters if (function_exists('session_set_cookie_params')) { session_set_cookie_params(0, $cookie_path, $cookie_domain); } elseif (function_exists('ini_set')) { ini_set('session.cookie_lifetime', '0'); ini_set('session.cookie_path', $cookie_path); ini_set('session.cookie_domain', $cookie_domain); } // set the session ID if it exists if (isset($HTTP_POST_VARS[tep_session_name()])) { tep_session_id($HTTP_POST_VARS[tep_session_name()]); } elseif ( ($request_type == 'SSL') && isset($HTTP_GET_VARS[tep_session_name()]) ) { tep_session_id($HTTP_GET_VARS[tep_session_name()]); } // start the session $session_started = false; if (SESSION_FORCE_COOKIE_USE == 'True') { tep_setcookie('cookie_test', 'please_accept_for_session', time()+60*60*24*30, $cookie_path, $cookie_domain); if (isset($HTTP_COOKIE_VARS['cookie_test'])) { tep_session_start(); $session_started = true; } } elseif (SESSION_BLOCK_SPIDERS == 'True') { $user_agent = strtolower(getenv('HTTP_USER_AGENT')); $spider_flag = false; if (tep_not_null($user_agent)) { $spiders = file(DIR_WS_INCLUDES . 'spiders.txt'); for ($i=0, $n=sizeof($spiders); $i<$n; $i++) { if (tep_not_null($spiders[$i])) { if (is_integer(strpos($user_agent, trim($spiders[$i])))) { $spider_flag = true; break; } } } } if ($spider_flag == false) { tep_session_start(); $session_started = true; } } else { tep_session_start(); $session_started = true; } // set SID once, even if empty $SID = (defined('SID') ? SID : ''); // verify the ssl_session_id if the feature is enabled if ( ($request_type == 'SSL') && (SESSION_CHECK_SSL_SESSION_ID == 'True') && (ENABLE_SSL == true) && ($session_started == true) ) { $ssl_session_id = getenv('SSL_SESSION_ID'); if (!tep_session_is_registered('SSL_SESSION_ID')) { $SESSION_SSL_ID = $ssl_session_id; tep_session_register('SESSION_SSL_ID'); } if ($SESSION_SSL_ID != $ssl_session_id) { tep_session_destroy(); tep_redirect(tep_href_link(FILENAME_SSL_CHECK)); } } // verify the browser user agent if the feature is enabled if (SESSION_CHECK_USER_AGENT == 'True') { $http_user_agent = getenv('HTTP_USER_AGENT'); if (!tep_session_is_registered('SESSION_USER_AGENT')) { $SESSION_USER_AGENT = $http_user_agent; tep_session_register('SESSION_USER_AGENT'); } if ($SESSION_USER_AGENT != $http_user_agent) { tep_session_destroy(); tep_redirect(tep_href_link(FILENAME_LOGIN)); } } // verify the IP address if the feature is enabled if (SESSION_CHECK_IP_ADDRESS == 'True') { $ip_address = tep_get_ip_address(); if (!tep_session_is_registered('SESSION_IP_ADDRESS')) { $SESSION_IP_ADDRESS = $ip_address; tep_session_register('SESSION_IP_ADDRESS'); } if ($SESSION_IP_ADDRESS != $ip_address) { tep_session_destroy(); tep_redirect(tep_href_link(FILENAME_LOGIN)); } } // create the shopping cart & fix the cart if necesary if (tep_session_is_registered('cart') && is_object($cart)) { if (PHP_VERSION < 4) { $broken_cart = $cart; $cart = new shoppingCart; $cart->unserialize($broken_cart); } } else { tep_session_register('cart'); $cart = new shoppingCart; } // include currencies class and create an instance require(DIR_WS_CLASSES . 'currencies.php'); $currencies = new currencies(); // include the mail classes require(DIR_WS_CLASSES . 'mime.php'); require(DIR_WS_CLASSES . 'email.php'); // set the language if (!tep_session_is_registered('language') || isset($HTTP_GET_VARS['language'])) { if (!tep_session_is_registered('language')) { tep_session_register('language'); tep_session_register('languages_id'); } include(DIR_WS_CLASSES . 'language.php'); $lng = new language(); if (isset($HTTP_GET_VARS['language']) && tep_not_null($HTTP_GET_VARS['language'])) { $lng->set_language($HTTP_GET_VARS['language']); } else { $lng->get_browser_language(); } $language = $lng->language['directory']; $languages_id = $lng->language['id']; } // include the language translations require(DIR_WS_LANGUAGES . $language . '.php'); // currency if (!tep_session_is_registered('currency') || isset($HTTP_GET_VARS['currency']) || ( (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') && (LANGUAGE_CURRENCY != $currency) ) ) { if (!tep_session_is_registered('currency')) tep_session_register('currency'); if (isset($HTTP_GET_VARS['currency'])) { if (!$currency = tep_currency_exists($HTTP_GET_VARS['currency'])) $currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY; } else { $currency = (USE_DEFAULT_LANGUAGE_CURRENCY == 'true') ? LANGUAGE_CURRENCY : DEFAULT_CURRENCY; } } // navigation history if (tep_session_is_registered('navigation')) { if (PHP_VERSION < 4) { $broken_navigation = $navigation; $navigation = new navigationHistory; $navigation->unserialize($broken_navigation); } } else { tep_session_register('navigation'); $navigation = new navigationHistory; } $navigation->add_current_page(); // Shopping cart actions if (isset($HTTP_GET_VARS['action'])) { // redirect the customer to a friendly cookie-must-be-enabled page if cookies are disabled if ($session_started == false) { tep_redirect(tep_href_link(FILENAME_COOKIE_USAGE)); } if (DISPLAY_CART == 'true') { $goto = FILENAME_SHOPPING_CART; $parameters = array('action', 'cPath', 'products_id', 'pid'); } else { $goto = basename($PHP_SELF); if ($HTTP_GET_VARS['action'] == 'buy_now') { $parameters = array('action', 'pid', 'products_id'); } else { $parameters = array('action', 'pid'); } } switch ($HTTP_GET_VARS['action']) { // 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_TOP, HTTP_SERVER); $breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT)); // add category names or the manufacturer name to the breadcrumb trail if (isset($cPath_array)) { for ($i=0, $n=sizeof($cPath_array); $i<$n; $i++) { $categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "'"); if (tep_db_num_rows($categories_query) > 0) { $categories = tep_db_fetch_array($categories_query); $breadcrumb->add($categories['categories_name'], tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1))))); } else { break; } } } elseif (isset($HTTP_GET_VARS['manufacturers_id'])) { $manufacturers_query = tep_db_query("select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"); if (tep_db_num_rows($manufacturers_query)) { $manufacturers = tep_db_fetch_array($manufacturers_query); $breadcrumb->add($manufacturers['manufacturers_name'], tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'])); } } // add the products model to the breadcrumb trail if (isset($HTTP_GET_VARS['products_id'])) { $model_query = tep_db_query("select products_model from " . TABLE_PRODUCTS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'"); if (tep_db_num_rows($model_query)) { $model = tep_db_fetch_array($model_query); $breadcrumb->add($model['products_model'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $HTTP_GET_VARS['products_id'])); } } // initialize the message stack for output messages require(DIR_WS_CLASSES . 'message_stack.php'); $messageStack = new messageStack; // 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'); ?> Quote Link to comment Share on other sites More sharing options...
chrisgeek Posted May 10, 2007 Share Posted May 10, 2007 ok with v1.13 you also need the fix Scott posted earlier.http://www.oscommerce.com/forums/index.php?s=&...t&p=1072394 Â In catalog\root.php just before this line: Â // Synchronize global arrays. $HTTP_GET_VARS = $_GET = $tmp_array; Â Add $tmp_array = array_merge($HTTP_GET_VARS,$tmp_array); Â So far I haven't seen any other errors. Â Hello Mark, Â I've installed v1.13 and added Scott's fix, but I'm still having some problems. For some reason, some of my seo links work, and some lead to the cookies error page. Any thoughts? If you'd like to take a look: www.geekfitters.com Thank you in advance. Â -- Chris Quote Link to comment Share on other sites More sharing options...
Guest Posted May 10, 2007 Share Posted May 10, 2007 (edited) Hello Mark, I've installed v1.13 and added Scott's fix, but I'm still having some problems. For some reason, some of my seo links work, and some lead to the cookies error page. Any thoughts? If you'd like to take a look: www.geekfitters.com Thank you in advance.  -- Chris I see your store at the moment does not have categories. So goto your osc Admin->SEO-G->G-Types, then change the linkage column so the numbers are different:  For products set 1 For categories set 3 For manufacturers set 2 Then tick the boxes on the left hit the "update fields" button. Also one other thing did you delete the reports after doing the update to v1.13? Edited May 10, 2007 by enigma1 Quote Link to comment Share on other sites More sharing options...
Guest Posted May 10, 2007 Share Posted May 10, 2007 post #217 was applied previously. That application_top.php is ok I tested it here, so something else is going on, I will have to debug it on your end. Quote Link to comment Share on other sites More sharing options...
Guest Posted May 10, 2007 Share Posted May 10, 2007 Hello Mark, I've installed v1.13 and added Scott's fix, but I'm still having some problems. For some reason, some of my seo links work, and some lead to the cookies error page. Any thoughts? If you'd like to take a look: www.geekfitters.com Thank you in advance.  -- Chris  Chris, I saw something else so what I said earlier don't apply. If I go here geekfitters.com/prison-shirt.html  then I get to the cookies page but if I go http://geekfitters.com/inmate-of-the-year-shirt.html I see it so seems that you have the same product with different names? You should check the reports page. Also are you hard-coding urls? Because in that page I see "Alternate Colors Available" with a hard-coded link. SEO-G won't work with hard-coded links. Links need to be passed through the tep_href_link function. Quote Link to comment Share on other sites More sharing options...
chrisgeek Posted May 10, 2007 Share Posted May 10, 2007 Chris, I saw something else so what I said earlier don't apply. If I go heregeekfitters.com/prison-shirt.html  then I get to the cookies page but if I go http://geekfitters.com/inmate-of-the-year-shirt.html I see it so seems that you have the same product with different names? You should check the reports page. Also are you hard-coding urls? Because in that page I see "Alternate Colors Available" with a hard-coded link. SEO-G won't work with hard-coded links. Links need to be passed through the tep_href_link function.  Hey Mark,  I do actually have one category (tshirts). Also, I did delete the reports after the install. Those two shirts are not the same product: one is gray and the other is green. I've created two separate products, and used the G Controller to give each customized urls (different from their product names).  I believe that I have used hard-coded html links ( <a href = link). The links are in the products description. How should I write the links so that they don't interfere with Seo-G?  Thanks again!  Chris Quote Link to comment Share on other sites More sharing options...
Guest Posted May 10, 2007 Share Posted May 10, 2007 Hey Mark, I do actually have one category (tshirts). Also, I did delete the reports after the install. Those two shirts are not the same product: one is gray and the other is green. I've created two separate products, and used the G Controller to give each customized urls (different from their product names).  I believe that I have used hard-coded html links ( <a href = link). The links are in the products description. How should I write the links so that they don't interfere with Seo-G?  Thanks again!  Chris  Ok can you confirm if you go to the SEO-G->G-Controller->Products->Details you have these 2 names prison-shirt inmate-of-the-year-shirt  And that those 2 products are valid. If you're in doubt you can delete the products from there, then click the categories button, select all categories and re-build them Quote Link to comment Share on other sites More sharing options...
Pizelli Posted May 12, 2007 Share Posted May 12, 2007 Hello enigma1,  Thanks for this very nice n' nifty contribution! :thumbsup:  But! Here's what I'm experiencing:  I've uploaded all of your files - Ver.1.14, and changed my .htacess and this is what I'm experiencing:  1146 - Table 'mydatabase.seo_url' doesn't exist  select seo_url_get from seo_url where seo_url_org = 'http://www.xxxx.xxxxxx.com/index.php'  [TEP STOP]  And when I go to my admin area and click on the SEO-G>SEO-G Configuration there is absolutely nothing there.  Just Title Value Action  When I click on G-Types this comes up:  1146 - Table 'mydatabase.seo_types' doesn't exist  select at.* from seo_types at order by at.sort_order  [TEP STOP]  And similarly for the rest.  The good news is that in Configuration>My store -> Use Search-Engine Safe URLs (still in development) false And in Sessions -> Prevent Spider Sessions True  are ok.  So.. what should I do? - I'm no php expert but my not-so spidey senses suggest doing something to the database. - Add something. - But I don't know :unsure:  Thanks a bunch Quote Link to comment Share on other sites More sharing options...
Pizelli Posted May 12, 2007 Share Posted May 12, 2007 ok so , here's the thing I didn't import the seo_g.sql :sweating: hehe.. :-" Quote Link to comment Share on other sites More sharing options...
webberman Posted May 13, 2007 Share Posted May 13, 2007 Yes, I know, that's what I saw which indicates some sort of redirection when the rewriterule is executed with the script your host has. Because I checked the request_uri before the rule executed and was correct. Afterwards it changed. So again your host should have a answer about it. None of the server variables had the originally typed url in.  Hi Mark,  I created an account in my store for the first time and had a couple of problems with it. After entering all of the account data I clicked continue and everything stopped with the following message:   2006 - MySQL server has gone away  select seo_exclude_key from seo_exclude where seo_exclude_key = '8ab0d68227e00cf804a51a07132cc83d'  [TEP STOP]  2006 - MySQL server has gone away  select count(*) as total from sessions where sesskey = 'f9a56ac92b7cddd044bee71f562f0228'  [TEP STOP]   Warning: Unknown(): A session is active. You cannot change the session module's ini settings at this time. in Unknown on line 0  When I re-entered the account info and clicked continue the message was displayed that the email address was already in use, so I logged in and found that the account had been created. Then everytime I clicked a link in the "My Account" area I received the:  "This page contains both secure and nonsecure items" message and this appeared going forwards or backwards.  I then proceeded to purchase an item and go through the checkout process. At the end of that with the finish click, everything stopped again with the same "2006 - MySQL server has gone away" message. Again I checked "My Account"and the order was processed correctly, including sending the email confirmation.  I have made no SEO-G changes since you modified the files las time.  Thanks, Clovis Quote Link to comment Share on other sites More sharing options...
hydro Posted May 14, 2007 Share Posted May 14, 2007 In the G-Controller section, how can I insert the products using the product's model (products_model) instead of product's name (products_name) as default? Quote Link to comment Share on other sites More sharing options...
Guest Posted May 15, 2007 Share Posted May 15, 2007 In the G-Controller section, how can I insert the products using the product's model (products_model) instead of product's name (products_name) as default?  To use the model instead of the products_name open the catalog\admin\includes\classes\seo_products.php  find and replace all instances of products_name  with products_model Quote Link to comment Share on other sites More sharing options...
Guest Posted May 15, 2007 Share Posted May 15, 2007 I created an account in my store for the first time and had a couple of problems with it. After entering all of the account data I clicked continue and everything stopped with the following message:Â Â 2006 - MySQL server has gone away This looks like connection problem, have you checked with your host? Quote Link to comment Share on other sites More sharing options...
Guest Posted May 15, 2007 Share Posted May 15, 2007 v1.14 is available with the following changes: Â - Update for global GET arrays to include all arguments. - Added error level for invalid parameters handled. - Added Strict Mode when enabled parameters passed must contain 2 arguments. - Updated Google XML sitemap, added option to notify google and store the generated file on the server. - Added validation option for SEO names for each class (categories, products etc) with the SEO-G controller. Validate button is available next to Details. - Fix for seo names list to show all name entries stored in the SEO-G tables. Â This version should also fix the problem reported earlier, that some links were not translated properly with SEO-G ending up with a 301 redirect. Use the validator to validate the entries for products, categories, manufacturers etc. Quote Link to comment Share on other sites More sharing options...
Guest Posted May 15, 2007 Share Posted May 15, 2007 Quote Link to comment Share on other sites More sharing options...
hydro Posted May 15, 2007 Share Posted May 15, 2007 To use the model instead of the products_name open the catalog\admin\includes\classes\seo_products.php find and replace all instances of products_name  with products_model  Thanks for the reply. I have tried replacing products_name with products_model, but it did not work because products_model is in the table Products instead of Products_Description. Just replacing the table Products_Description to Products cause problem too. Is it possible to make it so in the G-Controller section, we can insert the products using the product's model (products_model) or product's name (products_name) as default? If it is too much trouble, can you tell me how I should write the Query so I can use both products_model and products_name from both the Products and Products_Description tables.  TIA. Quote Link to comment Share on other sites More sharing options...
Guest Posted May 15, 2007 Share Posted May 15, 2007 Thanks for the reply. I have tried replacing products_name with products_model, but it did not work because products_model is in the table Products instead of Products_Description. Just replacing the table Products_Description to Products cause problem too. Is it possible to make it so in the G-Controller section, we can insert the products using the product's model (products_model) or product's name (products_name) as default? If it is too much trouble, can you tell me how I should write the Query so I can use both products_model and products_name from both the Products and Products_Description tables. TIA.  Ok put the original seo_products.php back then just change the query in the generate_name function only.  So to bring up models instead of product names change the function:  from function generate_name($products_id) { global $languages_id; $name = ''; $name_query = tep_db_query("select products_name from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$products_id . "' and language_id = '" . (int)$languages_id . "'"); if( $names_array = tep_db_fetch_array($name_query) ) { $name = $names_array['products_name']; $name = $this->create_safe_string($name); } return $name; }  to function generate_name($products_id) { global $languages_id; $name = ''; $name_query = tep_db_query("select products_model from " . TABLE_PRODUCTS . " where products_id = '" . (int)$products_id . "'"); if( $names_array = tep_db_fetch_array($name_query) ) { $name = $names_array['products_model']; $name = $this->create_safe_string($name); } return $name; }  Don't change the validation queries. Just the above change should be enough. Quote Link to comment Share on other sites More sharing options...
Guest Posted May 15, 2007 Share Posted May 15, 2007 I am getting 404 errors on all pages but the storefront. I think this is either an issue with the root.php or my htaccess file. I have posted both below as after many hours of staring I just can't find the issue. Any advice, help etc would be appreciated: Can you post a link to a 404 page? Also mod_rewrite/apache must be supported from your host's server for this to work. Quote Link to comment Share on other sites More sharing options...
Guest Posted May 15, 2007 Share Posted May 15, 2007 Can you post a link to a 404 page? Also mod_rewrite/apache must be supported from your host's server for this to work.  this is on an internal network for now. - it is just a standard apache 404 page nothing really valuable in it, but I have pasted a screenshot   I believe mod_rewrite is working ok - it is loading in apache fine  all of the seo-g parts in admin are working fine the reports show all of the urls that are generated  it is just if i go to one of those urls then i get a 404  thanks again for your help Quote Link to comment Share on other sites More sharing options...
Guest Posted May 15, 2007 Share Posted May 15, 2007 this is on an internal network for now. - it is just a standard apache 404 page nothing really valuable in it, but I have pasted a screenshot  Ok I see. So why your .htaccess is setup like this?  Should be Options +FollowSymLinks RewriteEngine On # Next line must be changed to match your osCommerce folder - the relative path RewriteBase / RewriteRule ^(.*).html$ root.php?$1.html&%{QUERY_STRING}  Because with your htaccess, you have this line that messes everything RewriteRule ^(.*)$ $1 [L]  why is that? The documentation shows alternative rules to apply for your admin and catalog folders. Make sure you set up the correct .htaccess for each case. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.