Hi.
I just installed Additional Shipping Options for Table Module (http://www.oscommerce.com/community/contributions,1446), it's a very good contribution, It has only two files and is very easy to install, it gives you more options for the Table module.
After installing this contrib, you have 6 or 7 options by default. My problem is that, although I know how to change the names of the options in the language file, I d'ont know how to delete (or make unavailable) some of the options, as I dont need them all...! If I delete them in the language file, it gives me an error, so the answer reside in the /modules/shipping/table.php file.
Please will someone take a look at the following code and give me a straight answer? I looked carefully througt the forum for a answer but no luck. Thanks in advance.
/modules/table.php:
<?php
/*
$Id: table.php,v 1.27 2003/02/05 22:41:52 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
[url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]
Copyright © 2003 osCommerce
Released under the GNU General Public License
*/
class table {
var $code, $title, $description, $icon, $enabled;
// class constructor
function table() {
global $order;
$this->code = 'table';
$this->title = MODULE_SHIPPING_TABLE_TEXT_TITLE;
$this->description = MODULE_SHIPPING_TABLE_TEXT_DESCRIPTION;
$this->sort_order = MODULE_SHIPPING_TABLE_SORT_ORDER;
// $this->icon = DIR_WS_ICONS . 'shipping_ups.gif';
//$this->icon = '';
$this->tax_class = MODULE_SHIPPING_TABLE_TAX_CLASS;
$this->enabled = ((MODULE_SHIPPING_TABLE_STATUS == 'True') ? true : false);
if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TABLE_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_TABLE_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, $cart, $shipping_weight, $shipping_num_boxes,$order_total;
if (MODULE_SHIPPING_TABLE_MODE == 'Price') {
$order_total = $cart->show_total();
} else {
$order_total = $cart->show_weight();
}
$availableMethods = array();
for ($methodNum = 1; $methodNum <= MODULE_SHIPPING_TABLE_NUMBER_OF_METHODS; $methodNum++) {
$table_cost_name = 'MODULE_SHIPPING_TABLE_COST_METHOD_' . $methodNum;
$table_text_name = 'MODULE_SHIPPING_TABLE_TEXT_METHOD_' . $methodNum;
$table_cost = split("[:,]", constant($table_cost_name));
for ($i = 0; $i < sizeof($table_cost); $i += 2) {
if (($table_cost[$i] == "infinity") || ($table_cost[$i] >= $order_total)) {
$shipping = $table_cost[$i+1];
break;
}
}
if ($i == sizeof($table_cost)) continue;
if (MODULE_SHIPPING_TABLE_MODE == 'Weight') {
$shipping *= $shipping_num_boxes;
}
if ( ($method == '') || ($method == $methodNum) )
{
$availableMethods[] = array('id' => $methodNum,
'title' => constant($table_text_name),
'cost' => $shipping + MODULE_SHIPPING_TABLE_HANDLING);
}
}
if (sizeof($availableMethods)) {
$this->quotes = array('id' => $this->code,
'module' => $this->title,
'methods' => $availableMethods);
} else {
return false;
}
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_TABLE_STATUS'");
$this->_check = tep_db_num_rows($check_query);
}
return $this->_check;
}
function install() {
global $language;
require(DIR_FS_CATALOG_LANGUAGES . "$language/modules/shipping/table.php");
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 Table Method', 'MODULE_SHIPPING_TABLE_STATUS', 'True', 'Do you want to offer table 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, set_function, date_added) values ('Table Method', 'MODULE_SHIPPING_TABLE_MODE', 'weight', 'The shipping cost is based on the order total or the total weight of the items ordered.', '6', '0', 'tep_cfg_select_option(array(\'Weight\', \'Price\'), ', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Handling Fee', 'MODULE_SHIPPING_TABLE_HANDLING', '0', 'Handling fee for 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_TABLE_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_TABLE_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_TABLE_SORT_ORDER', '0', 'Sort order of display.', '6', '0', now())");
if (0) {
for ($methodNum = 1; $methodNum <= MODULE_SHIPPING_TABLE_NUMBER_OF_METHODS; $methodNum++) {
$method = 'METHOD_' . $methodNum;
$table_cost_name = 'MODULE_SHIPPING_TABLE_COST_' . $method;
$table_text_name = 'MODULE_SHIPPING_TABLE_TEXT_' . $method;
$sql = "insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('" . constant($table_text_name) . " Shipping Table', '" . $table_cost_name . "', '25:8.50,50:5.50,10000:0.00', 'The shipping cost is based on the total cost or weight of items. Example: 25:8.50,50:5.50,etc.. Up to 25 charge 8.50, from there to 50 charge 5.50, etc', '6', '0', now())";
//echo $sql . '<br>';
tep_db_query($sql);
}
} else {
$methodNum = 0;
do {
$methodNum++;
$table_cost_name = "MODULE_SHIPPING_TABLE_COST_METHOD_$methodNum";
$table_text_name = "MODULE_SHIPPING_TABLE_TEXT_METHOD_$methodNum";
if (!defined($table_text_name)) {
$methodNum--;
break;
}
$sql = "insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('" . constant($table_text_name) . " Shipping Table', '" . $table_cost_name . "', '25:8.50,50:5.50', 'The shipping cost is based on the total cost or weight of items. Example: 25:8.50,50:5.50. Up to 25 charge 8.50, from there to 50 charge 5.50, past 50 and this option is not allowed. Can also specify \"infinity\" to avoid a cap 25:8.50,50:5.50,infinity:4.75', '6', '0', now())";
tep_db_query($sql);
} while (1);
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Number of Methods', 'MODULE_SHIPPING_TABLE_NUMBER_OF_METHODS', '$methodNum', 'Number of registered shipping methods.', '6', '0', now())");
}
}
function remove() {
tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key like 'MODULE_SHIPPING_TABLE%'");
}
function keys() {
$retval = array('MODULE_SHIPPING_TABLE_STATUS', 'MODULE_SHIPPING_TABLE_MODE', 'MODULE_SHIPPING_TABLE_HANDLING', 'MODULE_SHIPPING_TABLE_TAX_CLASS', 'MODULE_SHIPPING_TABLE_ZONE', 'MODULE_SHIPPING_TABLE_SORT_ORDER');
$result = tep_db_query("select configuration_key from " . TABLE_CONFIGURATION . " where configuration_key like 'MODULE_SHIPPING_TABLE_COST_METHOD%' order by configuration_key");
while ($row = tep_db_fetch_array($result)) {
$retval[] = $row['configuration_key'];
}
return $retval;
}
}