Dantium Posted July 5, 2010 Posted July 5, 2010 I set up an oscommerce site many years ago, recently they have started noticing a strange problem where some orders are missing the shipping fee. The site uses only the 'Flat Rate' shipping module, is there any reason this could be happening? It seems so random and infrequent, whats the best way to troubleshoot this? Thanks -Dan
ecartsolutions Posted July 5, 2010 Posted July 5, 2010 I set up an oscommerce site many years ago, recently they have started noticing a strange problem where some orders are missing the shipping fee. The site uses only the 'Flat Rate' shipping module, is there any reason this could be happening? It seems so random and infrequent, whats the best way to troubleshoot this? Thanks -Dan Hi Dan seems like a zone is setup for the flat rate shipping. Have you set up any such setting ? Shiva Our truest life is when we are in dreams awake. -- Henry David Thoreau --
Dantium Posted July 5, 2010 Author Posted July 5, 2010 Hi Dan seems like a zone is setup for the flat rate shipping. Have you set up any such setting ? Shiva Hi Shiva There is no zone set up for the shipping, its pretty simple it's just the same shipping rate for everything. I have no idea what can cause this issue. -Dan
chadcloman Posted July 5, 2010 Posted July 5, 2010 Since you have an older version of osCommerce, please post the code in catalog/includes/modules/shipping/flat.php. The only way I see this happening in the current code is if you have a zone defined in the setup for the flat rate shipping. Are you absolutely sure that the zone is set to "--none--"? Check out Chad's News.
Dantium Posted July 5, 2010 Author Posted July 5, 2010 Since you have an older version of osCommerce, please post the code in catalog/includes/modules/shipping/flat.php. The only way I see this happening in the current code is if you have a zone defined in the setup for the flat rate shipping. Are you absolutely sure that the zone is set to "--none--"? Hi there The zone is set to none for sure. This is the code from catalog/includes/modules/shipping/flat.php <?php /* $Id: flat.php,v 1.40 2003/02/05 22:41:52 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ class flat { var $code, $title, $description, $icon, $enabled; // class constructor function flat() { global $order; $this->code = 'flat'; $this->title = MODULE_SHIPPING_FLAT_TEXT_TITLE; $this->description = MODULE_SHIPPING_FLAT_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_FLAT_SORT_ORDER; $this->icon = ''; $this->tax_class = MODULE_SHIPPING_FLAT_TAX_CLASS; $this->enabled = ((MODULE_SHIPPING_FLAT_STATUS == 'True') ? true : false); if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FLAT_ZONE > 0) ) { $check_flag = false; $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_FLAT_ZONE . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id"); while ($check = tep_db_fetch_array($check_query)) { if ($check['zone_id'] < 1) { $check_flag = true; break; } elseif ($check['zone_id'] == $order->delivery['zone_id']) { $check_flag = true; break; } } if ($check_flag == false) { $this->enabled = false; } } } // class methods function quote($method = '') { global $order; $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_FLAT_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => MODULE_SHIPPING_FLAT_TEXT_WAY, 'cost' => MODULE_SHIPPING_FLAT_COST))); if ($this->tax_class > 0) { $this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title); return $this->quotes; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_FLAT_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } function install() { tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Flat Shipping', 'MODULE_SHIPPING_FLAT_STATUS', 'True', 'Do you want to offer flat rate shipping?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Shipping Cost', 'MODULE_SHIPPING_FLAT_COST', '5.00', 'The shipping cost for all orders using this shipping method.', '6', '0', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_SHIPPING_FLAT_TAX_CLASS', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Shipping Zone', 'MODULE_SHIPPING_FLAT_ZONE', '0', 'If a zone is selected, only enable this shipping method for that zone.', '6', '0', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())"); tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_FLAT_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_SHIPPING_FLAT_STATUS', 'MODULE_SHIPPING_FLAT_COST', 'MODULE_SHIPPING_FLAT_TAX_CLASS', 'MODULE_SHIPPING_FLAT_ZONE', 'MODULE_SHIPPING_FLAT_SORT_ORDER'); } } ?> Thanks
chadcloman Posted July 5, 2010 Posted July 5, 2010 Hate non-deterministic errors. I don't see anything in the source code that would cause this. Check out Chad's News.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.