Results 1 to 2 of 2
  1. #1
    Join Date
    Aug 2007
    Posts
    8
    Plugin Contributions
    0

    Default Cloned Shipping Modules connected in Admin?

    I've read through the posts, over and over and over and while I finally succeeded in getting two new table modules to show in Admin/Shipping Modules, they are somehow tied together.

    When I edit one, it changes the other. When I uninstall one, it uninstalls both.

    Can someone please help me?

    I've set up the following files:

    includes/modules/shipping/tableeconomy.php
    includes/modules/shipping/tablepriority.php

    includes/languages/english/modules/shipping/tableeconomy.php
    includes/languages/english/modules/shipping/tableeconomy.php

    I deleted:
    includes/languages/english/modules/shipping/table.php
    includes/languages/english/modules/shipping/table.php

    because when I initially installed tableeconomy.php, it was tied to table.php.

    I am not a coder and this is the last thing I need to finish my client's site.

    Any help is much appreciated! This support forum has been a huge help in getting through my first Zen Cart site. You're great!

    Thank you.
    Amy

    Here is my includes/modules/shipping/tableeconomy.php code:

    PHP Code:
    <?php
    /**
     * @package shippingMethod
     * @copyright Copyright 2003-2005 Zen Cart Development Team
     * @copyright Portions Copyright 2003 osCommerce
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     * @version $Id: tableeconomy.php 4184 2006-08-21 03:36:36Z ajeh $
     */
    /**
     * Enter description here...
     *
     */
    class tableeconomy extends base {
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $code;
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $title;
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $description;
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $icon;
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $enabled;
      
    /**
       * Enter description here...
       *
       * @return table
       */
      
    function tableeconomy() {
        global 
    $order$db;

        
    $this->code 'tableeconomy';
        
    $this->title MODULE_SHIPPING_TABLEECONOMY_TEXT_TITLE;
        
    $this->description MODULE_SHIPPING_TABLEECONOMY_TEXT_DESCRIPTION;
        
    $this->sort_order MODULE_SHIPPING_TABLEECONOMY_SORT_ORDER;
        
    $this->icon '';
        
    $this->tax_class MODULE_SHIPPING_TABLEECONOMY_TAX_CLASS;
        
    $this->tax_basis MODULE_SHIPPING_TABLEECONOMY_TAX_BASIS;
        
    // disable only when entire cart is free shipping
        
    if (zen_get_shipping_enabled($this->code)) {
          
    $this->enabled = ((MODULE_SHIPPING_TABLE_STATUS == 'True') ? true false);
        }

        if ( (
    $this->enabled == true) && ((int)MODULE_SHIPPING_TABLE_ZONE 0) ) {
          
    $check_flag false;
          
    $check $db->Execute("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->EOF) {
            if (
    $check->fields['zone_id'] < 1) {
              
    $check_flag true;
              break;
            } elseif (
    $check->fields['zone_id'] == $order->delivery['zone_id']) {
              
    $check_flag true;
              break;
            }
            
    $check->MoveNext();
          }

          if (
    $check_flag == false) {
            
    $this->enabled false;
          }
        }
      }
      
    /**
       * Enter description here...
       *
       * @param unknown_type $method
       * @return unknown
       */
      
    function quote($method '') {
        global 
    $order$shipping_weight$shipping_num_boxes$total_count;

        
    // shipping adjustment
        
    switch (MODULE_SHIPPING_TABLE_MODE) {
          case (
    'price'):
            
    $order_total $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices() ;
            break;
          case (
    'weight'):
            
    $order_total $shipping_weight;
            break;
          case (
    'item'):
            
    $order_total $total_count $_SESSION['cart']->free_shipping_items();
            break;
        }

        
    $table_cost split("[:,]" MODULE_SHIPPING_TABLE_COST);
        
    $size sizeof($table_cost);
        for (
    $i=0$n=$size$i<$n$i+=2) {
          if (
    round($order_total,9) <= $table_cost[$i]) {
            
    $shipping $table_cost[$i+1];
            break;
          }
        }

        if (
    MODULE_SHIPPING_TABLE_MODE == 'weight') {
          
    $shipping $shipping $shipping_num_boxes;
          
    // show boxes if weight
          
    switch (SHIPPING_BOX_WEIGHT_DISPLAY) {
            case (
    0):
            
    $show_box_weight '';
            break;
            case (
    1):
            
    $show_box_weight ' (' $shipping_num_boxes ' ' TEXT_SHIPPING_BOXES ')';
            break;
            case (
    2):
            
    $show_box_weight ' (' number_format($shipping_weight $shipping_num_boxes,2) . TEXT_SHIPPING_WEIGHT ')';
            break;
            default:
            
    $show_box_weight ' (' $shipping_num_boxes ' x ' number_format($shipping_weight,2) . TEXT_SHIPPING_WEIGHT ')';
            break;
          }
        }

        
    $this->quotes = array('id' => $this->code,
        
    'module' => MODULE_SHIPPING_TABLE_TEXT_TITLE $show_box_weight,
        
    'methods' => array(array('id' => $this->code,
        
    'title' => MODULE_SHIPPING_TABLE_TEXT_WAY,
        
    'cost' => $shipping MODULE_SHIPPING_TABLE_HANDLING)));

        if (
    $this->tax_class 0) {
          
    $this->quotes['tax'] = zen_get_tax_rate($this->tax_class$order->delivery['country']['id'], $order->delivery['zone_id']);
        }

        if (
    zen_not_null($this->icon)) $this->quotes['icon'] = zen_image($this->icon$this->title);

        return 
    $this->quotes;
      }
      
    /**
       * Enter description here...
       *
       * @return unknown
       */
      
    function check() {
        global 
    $db;
        if (!isset(
    $this->_check)) {
          
    $check_query $db->Execute("select configuration_value from " TABLE_CONFIGURATION " where configuration_key = 'MODULE_SHIPPING_TABLE_STATUS'");
          
    $this->_check $check_query->RecordCount();
        }
        return 
    $this->_check;
      }
      
    /**
       * Enter description here...
       *
       */
      
    function install() {
        global 
    $db;
        
    $db->Execute("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', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now())");
        
    $db->Execute("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Shipping Table', 'MODULE_SHIPPING_TABLE_COST', '25:8.50,50:5.50,10000:0.00', 'The shipping cost is based on the total cost or weight of items or count of the 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', 'zen_cfg_textarea(', now())");
        
    $db->Execute("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 or the total number of items orderd.', '6', '0', 'zen_cfg_select_option(array(\'weight\', \'price\', \'item\'), ', now())");
        
    $db->Execute("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())");
        
    $db->Execute("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', 'zen_get_tax_class_title', 'zen_cfg_pull_down_tax_classes(', now())");
        
    $db->Execute("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Tax Basis', 'MODULE_SHIPPING_TABLE_TAX_BASIS', 'Shipping', 'On what basis is Shipping Tax calculated. Options are<br />Shipping - Based on customers Shipping Address<br />Billing Based on customers Billing address<br />Store - Based on Store address if Billing/Shipping Zone equals Store zone', '6', '0', 'zen_cfg_select_option(array(\'Shipping\', \'Billing\', \'Store\'), ', now())");
        
    $db->Execute("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', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
        
    $db->Execute("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())");
      }
      
    /**
       * Enter description here...
       *
       */
      
    function remove() {
        global 
    $db;
        
    $db->Execute("delete from " TABLE_CONFIGURATION " where configuration_key in ('" implode("', '"$this->keys()) . "')");
      }
      
    /**
       * Enter description here...
       *
       * @return unknown
       */
      
    function keys() {
        return array(
    'MODULE_SHIPPING_TABLE_STATUS''MODULE_SHIPPING_TABLE_COST''MODULE_SHIPPING_TABLE_MODE''MODULE_SHIPPING_TABLE_HANDLING''MODULE_SHIPPING_TABLE_TAX_CLASS''MODULE_SHIPPING_TABLE_TAX_BASIS''MODULE_SHIPPING_TABLE_ZONE''MODULE_SHIPPING_TABLE_SORT_ORDER');
      }
    }
    ?>
    Here is my includes/languages/english/modules/shipping/tableeconomy.php:
    PHP Code:
    define('MODULE_SHIPPING_TABLE_TEXT_TITLE''Economy Shipping');
    define('MODULE_SHIPPING_TABLE_TEXT_DESCRIPTION''Economy Shipping');
    define('MODULE_SHIPPING_TABLE_TEXT_WAY''Economy Shipping');
    define('MODULE_SHIPPING_TABLE_TEXT_WEIGHT''Weight');
    define('MODULE_SHIPPING_TABLE_TEXT_AMOUNT''Amount');
    ?> 
    Here is my includes/modules/shipping/tablepriority.php:
    PHP Code:
    <?php
    /**
     * @package shippingMethod
     * @copyright Copyright 2003-2005 Zen Cart Development Team
     * @copyright Portions Copyright 2003 osCommerce
     * @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
     * @version $Id: tablepriority.php 4184 2006-08-21 03:36:36Z ajeh $
     */
    /**
     * Enter description here...
     *
     */
    class tablepriority extends base {
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $code;
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $title;
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $description;
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $icon;
      
    /**
       * Enter description here...
       *
       * @var unknown_type
       */
      
    var $enabled;
      
    /**
       * Enter description here...
       *
       * @return table
       */
      
    function tablepriority() {
        global 
    $order$db;

        
    $this->code 'tablepriority';
        
    $this->title MODULE_SHIPPING_TABLEPRIORITY_TEXT_TITLE;
        
    $this->description MODULE_SHIPPING_TABLEPRIORITY_TEXT_DESCRIPTION;
        
    $this->sort_order MODULE_SHIPPING_TABLEPRIORITY_SORT_ORDER;
        
    $this->icon '';
        
    $this->tax_class MODULE_SHIPPING_TABLEPRIORITY_TAX_CLASS;
        
    $this->tax_basis MODULE_SHIPPING_TABLEPRIORITY_TAX_BASIS;
        
    // disable only when entire cart is free shipping
        
    if (zen_get_shipping_enabled($this->code)) {
          
    $this->enabled = ((MODULE_SHIPPING_TABLE_STATUS == 'True') ? true false);
        }

        if ( (
    $this->enabled == true) && ((int)MODULE_SHIPPING_TABLE_ZONE 0) ) {
          
    $check_flag false;
          
    $check $db->Execute("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->EOF) {
            if (
    $check->fields['zone_id'] < 1) {
              
    $check_flag true;
              break;
            } elseif (
    $check->fields['zone_id'] == $order->delivery['zone_id']) {
              
    $check_flag true;
              break;
            }
            
    $check->MoveNext();
          }

          if (
    $check_flag == false) {
            
    $this->enabled false;
          }
        }
      }
      
    /**
       * Enter description here...
       *
       * @param unknown_type $method
       * @return unknown
       */
      
    function quote($method '') {
        global 
    $order$shipping_weight$shipping_num_boxes$total_count;

        
    // shipping adjustment
        
    switch (MODULE_SHIPPING_TABLE_MODE) {
          case (
    'price'):
            
    $order_total $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices() ;
            break;
          case (
    'weight'):
            
    $order_total $shipping_weight;
            break;
          case (
    'item'):
            
    $order_total $total_count $_SESSION['cart']->free_shipping_items();
            break;
        }

        
    $table_cost split("[:,]" MODULE_SHIPPING_TABLE_COST);
        
    $size sizeof($table_cost);
        for (
    $i=0$n=$size$i<$n$i+=2) {
          if (
    round($order_total,9) <= $table_cost[$i]) {
            
    $shipping $table_cost[$i+1];
            break;
          }
        }

        if (
    MODULE_SHIPPING_TABLE_MODE == 'weight') {
          
    $shipping $shipping $shipping_num_boxes;
          
    // show boxes if weight
          
    switch (SHIPPING_BOX_WEIGHT_DISPLAY) {
            case (
    0):
            
    $show_box_weight '';
            break;
            case (
    1):
            
    $show_box_weight ' (' $shipping_num_boxes ' ' TEXT_SHIPPING_BOXES ')';
            break;
            case (
    2):
            
    $show_box_weight ' (' number_format($shipping_weight $shipping_num_boxes,2) . TEXT_SHIPPING_WEIGHT ')';
            break;
            default:
            
    $show_box_weight ' (' $shipping_num_boxes ' x ' number_format($shipping_weight,2) . TEXT_SHIPPING_WEIGHT ')';
            break;
          }
        }

        
    $this->quotes = array('id' => $this->code,
        
    'module' => MODULE_SHIPPING_TABLE_TEXT_TITLE $show_box_weight,
        
    'methods' => array(array('id' => $this->code,
        
    'title' => MODULE_SHIPPING_TABLE_TEXT_WAY,
        
    'cost' => $shipping MODULE_SHIPPING_TABLE_HANDLING)));

        if (
    $this->tax_class 0) {
          
    $this->quotes['tax'] = zen_get_tax_rate($this->tax_class$order->delivery['country']['id'], $order->delivery['zone_id']);
        }

        if (
    zen_not_null($this->icon)) $this->quotes['icon'] = zen_image($this->icon$this->title);

        return 
    $this->quotes;
      }
      
    /**
       * Enter description here...
       *
       * @return unknown
       */
      
    function check() {
        global 
    $db;
        if (!isset(
    $this->_check)) {
          
    $check_query $db->Execute("select configuration_value from " TABLE_CONFIGURATION " where configuration_key = 'MODULE_SHIPPING_TABLE_STATUS'");
          
    $this->_check $check_query->RecordCount();
        }
        return 
    $this->_check;
      }
      
    /**
       * Enter description here...
       *
       */
      
    function install() {
        global 
    $db;
        
    $db->Execute("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', 'zen_cfg_select_option(array(\'True\', \'False\'), ', now())");
        
    $db->Execute("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Shipping Table', 'MODULE_SHIPPING_TABLE_COST', '25:8.50,50:5.50,10000:0.00', 'The shipping cost is based on the total cost or weight of items or count of the 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', 'zen_cfg_textarea(', now())");
        
    $db->Execute("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 or the total number of items orderd.', '6', '0', 'zen_cfg_select_option(array(\'weight\', \'price\', \'item\'), ', now())");
        
    $db->Execute("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())");
        
    $db->Execute("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', 'zen_get_tax_class_title', 'zen_cfg_pull_down_tax_classes(', now())");
        
    $db->Execute("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Tax Basis', 'MODULE_SHIPPING_TABLE_TAX_BASIS', 'Shipping', 'On what basis is Shipping Tax calculated. Options are<br />Shipping - Based on customers Shipping Address<br />Billing Based on customers Billing address<br />Store - Based on Store address if Billing/Shipping Zone equals Store zone', '6', '0', 'zen_cfg_select_option(array(\'Shipping\', \'Billing\', \'Store\'), ', now())");
        
    $db->Execute("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', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
        
    $db->Execute("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())");
      }
      
    /**
       * Enter description here...
       *
       */
      
    function remove() {
        global 
    $db;
        
    $db->Execute("delete from " TABLE_CONFIGURATION " where configuration_key in ('" implode("', '"$this->keys()) . "')");
      }
      
    /**
       * Enter description here...
       *
       * @return unknown
       */
      
    function keys() {
        return array(
    'MODULE_SHIPPING_TABLE_STATUS''MODULE_SHIPPING_TABLE_COST''MODULE_SHIPPING_TABLE_MODE''MODULE_SHIPPING_TABLE_HANDLING''MODULE_SHIPPING_TABLE_TAX_CLASS''MODULE_SHIPPING_TABLE_TAX_BASIS''MODULE_SHIPPING_TABLE_ZONE''MODULE_SHIPPING_TABLE_SORT_ORDER');
      }
    }
    ?>
    Here is my includes/languages/english/modules/shipping/tablepriority.php:
    PHP Code:
    define('MODULE_SHIPPING_TABLE_TEXT_TITLE''Priority Mail');
    define('MODULE_SHIPPING_TABLE_TEXT_DESCRIPTION''Priority Mail');
    define('MODULE_SHIPPING_TABLE_TEXT_WAY''Priority Mail');
    define('MODULE_SHIPPING_TABLE_TEXT_WEIGHT''Weight');
    define('MODULE_SHIPPING_TABLE_TEXT_AMOUNT''Amount');
    ?> 

  2. #2
    Join Date
    Aug 2007
    Posts
    8
    Plugin Contributions
    0

    Default Re: Cloned Shipping Modules connected in Admin?

    I got it! Yay!

    After looking and looking at the code and trying to see what I might have missed, I've got the cloned shipping modules to work independently.

    You must replace all of the "table" and "TABLE" references with your new name, (i.e. "tableeconomy" and TABLEECONOMY), but NOT REPLACE the ones that are tied to "TABLE_CONFIGURATION."

    All is working and labeled as it should be now! And now all I've got to do is secure the site.

 

 

Similar Threads

  1. v154 Cloned Shipping for 3 modules - various Countries and Costs
    By cuysan in forum Addon Shipping Modules
    Replies: 8
    Last Post: 22 Feb 2016, 11:59 PM
  2. v150 Cloned Shipping Module not appearing in Admin
    By sbloomer in forum Built-in Shipping and Payment Modules
    Replies: 3
    Last Post: 25 Jun 2012, 02:18 PM
  3. Question on cloned table shipping modules and 1.3.9 upgrade
    By earmsby in forum Built-in Shipping and Payment Modules
    Replies: 0
    Last Post: 16 Jun 2010, 03:42 PM
  4. Multiple cloned USPS modules?
    By swingandmiss in forum Built-in Shipping and Payment Modules
    Replies: 3
    Last Post: 6 Jan 2010, 05:47 PM
  5. cloned shipping modules
    By paulm in forum Addon Shipping Modules
    Replies: 0
    Last Post: 19 Nov 2006, 02:05 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
disjunctive-egg