Guest Posted July 10, 2015 Share Posted July 10, 2015 Our server recently upgraded PHP, MySQL, and Apache to the latest versions. We have a few sites on it, 2 of which run oscommerce. The sites broke but our host was able to fix some things. One site seems to be working just fine after their fix, but our other site is still having problems. The front is doesn't seem to be working but the admin section does. When you go to the main site you just get a bunch of code. Our host said that a lot of the code when they look at the page an in editor is red. Would anyone be able to take a look at the index file and let me know what I need to fix? We've had some custom stuff done with the site, but I don't know enough about oscommerce or php to actually know what is custom and what isn't. Also apologies if this is in the wrong forum. New to this. Thanks! index.html Link to comment Share on other sites More sharing options...
Mort-lemur Posted July 10, 2015 Share Posted July 10, 2015 You need to post a link to the site - the file you attached is of no help. BUT if you are running an old version of OSC it has issues on latest php versions - you need to either upgrade to 2.3.4 or the BS version as fixing the old site will be a major job. Now running on a fully modded, Mobile Friendly 2.3.4 Store with the Excellent MTS installed - See my profile for the mods installed ..... So much thanks for all the help given along the way by forum members. Link to comment Share on other sites More sharing options...
Guest Posted July 10, 2015 Share Posted July 10, 2015 The site is sterling-gaming.com. I'm not sure what version of OSC it's running. Where could I find that info? Link to comment Share on other sites More sharing options...
Mort-lemur Posted July 10, 2015 Share Posted July 10, 2015 There is something wrong with the code in your index.php file - other areas of the site (login, specials, create account) all seem ok Post the contents of your index.php file, from what I can see the error is near the top: <?php /* $Id: index.php,v 1.2 2004/03/09 19:56:29 ccwjr Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); // the following cPath references come from application_top.php $category_depth = 'top'; if (isset($cPath) && tep_not_null($cPath)) { $categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'"); $cateqories_products = tep_db_fetch_array($categories_products_query); if ($cateqories_products['total'] > 0) { $category_depth = 'products'; // display products } else { Now running on a fully modded, Mobile Friendly 2.3.4 Store with the Excellent MTS installed - See my profile for the mods installed ..... So much thanks for all the help given along the way by forum members. Link to comment Share on other sites More sharing options...
Guest Posted July 10, 2015 Share Posted July 10, 2015 I looked on the server and there's not an index.php file, just index.html (as long as I can remember there's never been an index.php). Here is everything that is in the index.html file <?php /* $Id: index.php,v 1.2 2004/03/09 19:56:29 ccwjr Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); // the following cPath references come from application_top.php $category_depth = 'top'; if (isset($cPath) && tep_not_null($cPath)) { $categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'"); $cateqories_products = tep_db_fetch_array($categories_products_query); if ($cateqories_products['total'] > 0) { $category_depth = 'products'; // display products } else { $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'"); $category_parent = tep_db_fetch_array($category_parent_query); if ($category_parent['total'] > 0) { $category_depth = 'nested'; // navigate through the categories } else { $category_depth = 'products'; // category has no products, but display the 'no products' message } } } require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT); if ($category_depth == 'nested') { //Code change for Categories Description 1.5 // $category_query = tep_db_query("select cd.categories_name, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'"); //Changed to the following $category_query = tep_db_query("select cd.categories_name, cd.categories_heading_title, cd.categories_description, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . $current_category_id . "' and cd.categories_id = '" . $current_category_id . "' and cd.language_id = '" . $languages_id . "'"); //End Categories Description 1.5 $category = tep_db_fetch_array($category_query); $content = CONTENT_INDEX_NESTED; } elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) { // create column list $define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL, 'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME, 'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER, 'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE, 'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY, 'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT, 'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE, 'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW); asort($define_list); $column_list = array(); reset($define_list); while (list($key, $value) = each($define_list)) { if ($value > 0) $column_list[] = $key; } $select_column_list = ''; for ($i=0, $n=sizeof($column_list); $i<$n; $i++) { switch ($column_list[$i]) { case 'PRODUCT_LIST_MODEL': $select_column_list .= 'p.products_model, '; break; case 'PRODUCT_LIST_NAME': $select_column_list .= 'pd.products_name, '; break; case 'PRODUCT_LIST_MANUFACTURER': $select_column_list .= 'm.manufacturers_name, '; break; case 'PRODUCT_LIST_QUANTITY': $select_column_list .= 'p.products_quantity, '; break; case 'PRODUCT_LIST_IMAGE': $select_column_list .= 'p.products_image, '; break; case 'PRODUCT_LIST_WEIGHT': $select_column_list .= 'p.products_weight, '; break; } } // Get the category name and description $category_query = tep_db_query("select cd.categories_name, cd.categories_heading_title, cd.categories_description, c.categories_image from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . $current_category_id . "' and cd.categories_id = '" . $current_category_id . "' and cd.language_id = '" . $languages_id . "'"); $category = tep_db_fetch_array($category_query); // show the products of a specified manufacturer if (isset($HTTP_GET_VARS['manufacturers_id'])) { if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) { // We are asked to show only a specific category $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price (from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join) " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'"; } else { // We show them all $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"; } } else { // show the products in a given categorie if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) { // We are asked to show only specific catgeory $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } else { // We show them all $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from ((" . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p) left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c) left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } } if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) { $sort_column = CATEGORIES_SORT_ORDER; $sort_order = 'a'; } else { $sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1); $sort_column = $column_list[$sort_col-1]; $sort_order = substr($HTTP_GET_VARS['sort'], 1); } $listing_sql .= ' order by '; switch ($sort_column) { case 'PRODUCT_LIST_MODEL': $listing_sql .= "p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_NAME': $listing_sql .= "pd.products_name " . ($sort_order == 'd' ? 'desc' : ''); break; case 'PRODUCT_LIST_MANUFACTURER': $listing_sql .= "m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_QUANTITY': $listing_sql .= "p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_IMAGE': $listing_sql .= "pd.products_name"; break; case 'PRODUCT_LIST_WEIGHT': $listing_sql .= "p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_PRICE': $listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; } $content = CONTENT_INDEX_PRODUCTS; } else { // default page $content = CONTENT_INDEX_DEFAULT; } require(DIR_WS_TEMPLATES . TEMPLATE_NAME . '/' . TEMPLATENAME_MAIN_PAGE); require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Link to comment Share on other sites More sharing options...
Mort-lemur Posted July 10, 2015 Share Posted July 10, 2015 ok, Try finding: if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('[1-8][ad]', $HTTP_GET_VARS and replacing it with: if ( (!isset($HTTP_GET_VARS['sort'])) || (!preg_match('/^[1-8][ad]$/', $HTTP_GET_VARS Now running on a fully modded, Mobile Friendly 2.3.4 Store with the Excellent MTS installed - See my profile for the mods installed ..... So much thanks for all the help given along the way by forum members. Link to comment Share on other sites More sharing options...
Guest Posted July 10, 2015 Share Posted July 10, 2015 Site is still showing the code when you pull up the main page. Link to comment Share on other sites More sharing options...
MrPhil Posted July 10, 2015 Share Posted July 10, 2015 The 2003 copyright shows that you are running a very, very old version of osCommerce (probably 2.2MS2 at latest). Frankly, it's not going to be worth trying to constantly patch this old code to work with newer PHP versions, much less keep up with security fixes. Right away you should start looking into upgrading to osC 2.3.4 or 2.3.4BS and transferring your data over (product images and database with upgrades). Any add-ons or custom code changes in your old site will have to be applied again. Link to comment Share on other sites More sharing options...
Guest Posted July 10, 2015 Share Posted July 10, 2015 Any recommendations on who I should contact to assist with that? I tried emailing some of the developers listed on the OSC site but haven't heard anything back yet. The 2003 copyright shows that you are running a very, very old version of osCommerce (probably 2.2MS2 at latest). Frankly, it's not going to be worth trying to constantly patch this old code to work with newer PHP versions, much less keep up with security fixes. Right away you should start looking into upgrading to osC 2.3.4 or 2.3.4BS and transferring your data over (product images and database with upgrades). Any add-ons or custom code changes in your old site will have to be applied again. Link to comment Share on other sites More sharing options...
♥14steve14 Posted July 10, 2015 Share Posted July 10, 2015 There is an addon here that may help a bit, if you can access the code files. http://addons.oscommerce.com/info/7394 Just read both the install files in the read me folder and follow them to the letter. If you can access certain areas of the store a fix may be possible. If your hosts have gone to the really latest versions you may be really stuck and it may be easier to start afresh with the latest version of oscommerce. REMEMBER BACKUP, BACKUP AND BACKUP Link to comment Share on other sites More sharing options...
Guest Posted July 10, 2015 Share Posted July 10, 2015 I'll give that a look. Thanks! There is an addon here that may help a bit, if you can access the code files. http://addons.oscommerce.com/info/7394 Just read both the install files in the read me folder and follow them to the letter. If you can access certain areas of the store a fix may be possible. If your hosts have gone to the really latest versions you may be really stuck and it may be easier to start afresh with the latest version of oscommerce. Link to comment Share on other sites More sharing options...
MrPhil Posted July 10, 2015 Share Posted July 10, 2015 http://addons.oscommerce.com/info/8731will upgrade your database from 2.2MS2 to 2.3.3. From there I think you have to do step by step 2.3.3.1, 2.3.3.2, 2.3.3.3, 2.3.3.4, and finally 2.3.4 (maybe 2.3.4 will do that in one jump?). Be sure to check if your site is actually earlier than 2.2MS2, in which case you might have to manually do something to get to 2.2MS2. There's a commercial support section on this forum, that I think you have to sign up to access. That's where developers-for-pay hang out. Directly contacting random developers found elsewhere on the forum may or may not produce the desired results. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.