Page 10 of 10 FirstFirst ... 8910
Results 91 to 99 of 99
  1. #91
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    69,402
    Plugin Contributions
    6

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    So technically, if you were to comment out your old calculating method, you could use this?
    Code:
    // bof: only show if all Products are from master_categories_id 23,7,377,355,409,369,245
      if (!IS_ADMIN_FLAG) {
        // check the count of a specific field
        $chk_catAll = 0;
        $chk_cats = 0;
        $chk_catAll = $_SESSION['cart']->count_contents();
        // check how many Products are in the cart for master_categories_id 409
        $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','23');
        $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','7');
        $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','377');
        $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','355');
        $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','409');
        $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','369');
        $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','245');
        // if any are found turn off the shipping module
        if ($chk_cats != $chk_catAll) {
          $this->enabled = false;
        }
      }
    // eof: only show if all Products are from master_categories_id 23,7,377,355,409,369,245
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today: v1.5.5]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...
    Signup for our Announcements Forums to stay up to date on important changes and updates!

  2. #92
    Join Date
    Jan 2009
    Posts
    2,123
    Plugin Contributions
    0

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    I'd like to try but which lines do I replace with the new code?

  3. #93
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    69,402
    Plugin Contributions
    6

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    This whole section:
    Code:
    // bof: only show if all Products are from individual products_id and Master/Linked Categories
      if (!IS_ADMIN_FLAG) {
    
    
    //-------------------------------------------------------------------------------------------------
        // check individual products_id 168, 169, 172
        $chk_products_found = 0;
        $chk_products = $_SESSION['cart']->get_products();
        $chk_catAll = $_SESSION['cart']->count_contents();
    //    for ($i=0, $n=sizeof($chk_products); $i<$n; $i++) {
    //      if ( in_array((int)$chk_products[$i]['id'], array(168, 169, 172)) ) {
    //        $chk_products_found += $chk_products[$i]['quantity'];
    //      }
    //   }
    //echo 'Products Individual Found: ' . $chk_products_found . '<br>';
    //-------------------------------------------------------------------------------------------------
    
    
        // check Products from Linked Categories 5, 10, 22
        $chk_linked = $db->Execute("SELECT distinct products_id FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE categories_id IN (23,7,377,355,409,369,245)");
        while(!$chk_linked->EOF) {
          $selected_products_check .= $chk_linked->fields['products_id'];
          $chk_linked->MoveNext();
          if (!$chk_linked->EOF) {
            $selected_products_check .= ',';
          }
        }
        $selected_products = explode(',', $selected_products_check);
        // check cart contents for linked products
        $chk_products_linked = $chk_products;
        $chk_products_found_linked = 0;
        for ($i=0, $n=sizeof($chk_products_linked); $i<$n; $i++) {
          if ( in_array((int)$chk_products_linked[$i]['id'], $selected_products) ) {
            $chk_products_found_linked += $chk_products_linked[$i]['quantity'];
          }
        }
    //echo 'Products Master/Linked Found: ' . $chk_products_found_linked . '<br>';
    
        $chk_cat_total = ($chk_products_found + $chk_products_found_linked);
    
        // if any Products are found and does not match ALL products in cart turn off the shipping module
        if (($chk_cat_total) != $chk_catAll) {
          $this->enabled = false;
        }
      }
    // eof: only show if all Products are from individual products_id and Master/Linked Categories
    
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today: v1.5.5]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...
    Signup for our Announcements Forums to stay up to date on important changes and updates!

  4. #94
    Join Date
    Jan 2009
    Posts
    2,123
    Plugin Contributions
    0

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    Both tables are showing now, for some reason when you add SMALL items? Now it's showing both 0 and 409 tables

  5. #95
    Join Date
    Jan 2009
    Posts
    2,123
    Plugin Contributions
    0

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    Not too sure what our developer did, but he's got it working at dev.silkblooms.co.uk

    Here are the changes he's made:

    TABLE
    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: table.php 6347 2007-05-20 19:46:59Z ajeh $
     */
    /**
     * Enter description here...
     *
     */
    class table 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 table() {
        global 
    $order$db;

        
    $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 '';
        
    $this->tax_class MODULE_SHIPPING_TABLE_TAX_CLASS;
        
    $this->tax_basis MODULE_SHIPPING_TABLE_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 (!
    IS_ADMIN_FLAG) {



            
    $chk_catAll 0;
            
    $chk_cats 0;
            
    $chk_catAll $_SESSION['cart']->count_contents();



            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','350');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','6');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','24');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','357');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','377');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','19');
    //echo '$chk_cats => ',$chk_cats,'<br />';
    //echo '$chk_catAll => ',$chk_catAll,'<br />';

            //if ($chk_cats != $chk_catAll) {
            
    if ($chk_cats <= 0) {

                
    $this->enabled false;

            }

        }

    // bof: only show if all Products are OUTWITH Master/Linked Categories
      
    if (!IS_ADMIN_FLAG && 0) {


    //-------------------------------------------------------------------------------------------------
        // check individual products_id 168, 169, 172
        
    $chk_products_found 0;
        
    $chk_products $_SESSION['cart']->get_products();
        
    $chk_catAll $_SESSION['cart']->count_contents();
    //    for ($i=0, $n=sizeof($chk_products); $i<$n; $i++) {
    //      if ( in_array((int)$chk_products[$i]['id'], array(168, 169, 172)) ) {
    //        $chk_products_found += $chk_products[$i]['quantity'];
    //      }
    //   }
    //echo 'Products Individual Found: ' . $chk_products_found . '<br>';
    //-------------------------------------------------------------------------------------------------


        // check Products from Linked Categories 
        //$chk_linked = $db->Execute("SELECT distinct products_id FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE categories_id IN (409, 7, 103, 104, 105, 106, 336, 372, 361, 397, 395, 385, 401, 391, 400, 394, 384, 387, 399, 390)");
        
    $chk_linked $db->Execute("SELECT distinct products_id FROM " TABLE_PRODUCTS_TO_CATEGORIES " WHERE categories_id IN (350,6, 24, 357, 19)");
        while(!
    $chk_linked->EOF) {
          
    $selected_products_check .= $chk_linked->fields['products_id'];
          
    $chk_linked->MoveNext();
          if (!
    $chk_linked->EOF) {
            
    $selected_products_check .= ',';
          }
        }
        
    $selected_products explode(','$selected_products_check);
        
    // check cart contents for linked products
        
    $chk_products_linked $chk_products;
        
    $chk_products_found_linked 0;
        for (
    $i=0$n=sizeof($chk_products_linked); $i<$n$i++) {
          if ( 
    in_array((int)$chk_products_linked[$i]['id'], $selected_products) ) {
            
    $chk_products_found_linked += $chk_products_linked[$i]['quantity'];
          }
        }
    //echo 'Products Master/Linked Found: ' . $chk_products_found_linked . '<br>';

        
    $chk_cat_total = ($chk_products_found $chk_products_found_linked);

        
    // if any Products are found and does not match ALL products in cart turn off the shipping module
        
    if (($chk_cat_total) != $chk_catAll) {
          
    $this->enabled false;
        }
      }
    // eof: only show if all Products are OUTWITH Master/Linked Categories

        
    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;
        }

        
    $order_total_amount $_SESSION['cart']->show_total() - $_SESSION['cart']->free_shipping_prices() ;

        
    $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]) {
            if (
    strstr($table_cost[$i+1], '%')) {
              
    $shipping = ($table_cost[$i+1]/100) * $order_total_amount;
            } else {
              
    $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<br />You can end the last amount as 10000:7% to charge 7% of the Order Total', '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');
      }
    }
    ?>

  6. #96
    Join Date
    Jan 2009
    Posts
    2,123
    Plugin Contributions
    0

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    TABLE409
    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: table.php 4184 2006-08-21 03:36:36Z ajeh $
     */
    /**
     * Enter description here...
     *
     */
    class table409 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 table409() {
        global 
    $order$db;

        
    $this->code 'table409';
        
    $this->title MODULE_SHIPPING_TABLE409_TEXT_TITLE;
        
    $this->description MODULE_SHIPPING_TABLE409_TEXT_DESCRIPTION;
        
    $this->sort_order MODULE_SHIPPING_TABLE409_SORT_ORDER;
        
    $this->icon '';
        
    $this->tax_class MODULE_SHIPPING_TABLE409_TAX_CLASS;
        
    $this->tax_basis MODULE_SHIPPING_TABLE409_TAX_BASIS;
        
    // disable only when entire cart is free shipping
        
    if (zen_get_shipping_enabled($this->code)) {
          
    $this->enabled = ((MODULE_SHIPPING_TABLE409_STATUS == 'True') ? true false);
        }

        if (!
    IS_ADMIN_FLAG) {


            
    $chk_catAll 0;
            
    $chk_cats 0;
            
    $chk_catAll $_SESSION['cart']->count_contents();

            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','23');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','7');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','355');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','409');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','369');
            
    $chk_cats += $_SESSION['cart']->in_cart_check('master_categories_id','245');


            if (
    $chk_cats != $chk_catAll) {
                
    $this->enabled false;
            }

        }
    // bof: only show if all Products are from individual products_id and Master/Linked Categories
      
    if (!IS_ADMIN_FLAG && 0) {


    //-------------------------------------------------------------------------------------------------
        // check individual products_id 168, 169, 172
        
    $chk_products_found 0;
        
    $chk_products $_SESSION['cart']->get_products();
        
    $chk_catAll $_SESSION['cart']->count_contents();
    //    for ($i=0, $n=sizeof($chk_products); $i<$n; $i++) {
    //      if ( in_array((int)$chk_products[$i]['id'], array(168, 169, 172)) ) {
    //        $chk_products_found += $chk_products[$i]['quantity'];
    //      }
    //   }
    //echo 'Products Individual Found: ' . $chk_products_found . '<br>';
    //-------------------------------------------------------------------------------------------------


        // check Products from Linked Categories 5, 10, 22
        //$chk_linked = $db->Execute("SELECT distinct products_id FROM " . TABLE_PRODUCTS_TO_CATEGORIES . " WHERE categories_id IN (409, 7, 103, 104, 105, 106, 336, 372, 361, 397, 395, 385, 401, 391, 400, 394, 384, 387, 399, 390)");
        
    $chk_linked $db->Execute("SELECT distinct products_id FROM " TABLE_PRODUCTS_TO_CATEGORIES " WHERE categories_id IN (23,7,377,355,409,369,245)");
        while(!
    $chk_linked->EOF) {
          
    $selected_products_check .= $chk_linked->fields['products_id'];
          
    $chk_linked->MoveNext();
          if (!
    $chk_linked->EOF) {
            
    $selected_products_check .= ',';
          }
        }
        
    $selected_products explode(','$selected_products_check);
        
    // check cart contents for linked products
        
    $chk_products_linked $chk_products;
        
    $chk_products_found_linked 0;
        for (
    $i=0$n=sizeof($chk_products_linked); $i<$n$i++) {
          if ( 
    in_array((int)$chk_products_linked[$i]['id'], $selected_products) ) {
            
    $chk_products_found_linked += $chk_products_linked[$i]['quantity'];
          }
        }
    //echo 'Products Master/Linked Found: ' . $chk_products_found_linked . '<br>';

        
    $chk_cat_total = ($chk_products_found $chk_products_found_linked);

        
    // if any Products are found and does not match ALL products in cart turn off the shipping module
        
    if (($chk_cat_total) == $chk_catAll) {
          
    $this->enabled false;
        }
      }
    // eof: only show if all Products are from individual products_id and Master/Linked Categories

        
    if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_TABLE409_ZONE 0) ) {
          
    $check_flag false;
          
    $check $db->Execute("select zone_id from " TABLE_ZONES_TO_GEO_ZONES " where geo_zone_id = '" MODULE_SHIPPING_TABLE409_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_TABLE409_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;
        }

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

        if (
    MODULE_SHIPPING_TABLE409_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_TABLE409_TEXT_TITLE $show_box_weight,
        
    'methods' => array(array('id' => $this->code,
        
    'title' => MODULE_SHIPPING_TABLE409_TEXT_WAY,
        
    'cost' => $shipping MODULE_SHIPPING_TABLE409_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_TABLE409_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 Table409 Method', 'MODULE_SHIPPING_TABLE409_STATUS', 'True', 'Do you want to offer table409 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 Table409', 'MODULE_SHIPPING_TABLE409_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 ('Table409 Method', 'MODULE_SHIPPING_TABLE409_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_TABLE409_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_TABLE409_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_TABLE409_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_TABLE409_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_TABLE409_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_TABLE409_STATUS''MODULE_SHIPPING_TABLE409_COST''MODULE_SHIPPING_TABLE409_MODE''MODULE_SHIPPING_TABLE409_HANDLING''MODULE_SHIPPING_TABLE409_TAX_CLASS''MODULE_SHIPPING_TABLE409_TAX_BASIS''MODULE_SHIPPING_TABLE409_ZONE''MODULE_SHIPPING_TABLE409_SORT_ORDER');
      }
    }
    ?>

  7. #97
    Join Date
    Jan 2009
    Posts
    2,123
    Plugin Contributions
    0

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    Hi Linda,

    I never got a chance to thank you yesterday for helping me solve this, so I do believe I owe you a few cups of coffee! I sent you a wee donation for a few jars of Nescafe :)

  8. #98
    Join Date
    Sep 2003
    Location
    Ohio
    Posts
    69,402
    Plugin Contributions
    6

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    Thank you kindly ... we really appreciate the support ...

    When I have time, I will have to look and see what the code is really doing here from what you posted yesterday as I was not thinking it would need all of that additional code to jump through hoops ... but I could be wrong ...
    Linda McGrath
    If you have to think ... you haven't been zenned ...

    Did YOU buy the Zen Cart Team a cup of coffee and a donut today? Just click here to support the Zen Cart Team!!

    Are you using the latest? Perhaps you've a problem that's fixed in the latest version: [Upgrade today: v1.5.5]
    Officially PayPal-Certified! Just click here

    Try our Zen Cart Recommended Services - Hosting, Payment and more ...
    Signup for our Announcements Forums to stay up to date on important changes and updates!

  9. #99
    Join Date
    Jan 2009
    Posts
    2,123
    Plugin Contributions
    0

    Default Re: Flat Rate Shipping - Table Rates - Duplicate for Category Specific Items?

    Quote Originally Posted by Ajeh View Post
    Thank you kindly ... we really appreciate the support ...

    When I have time, I will have to look and see what the code is really doing here from what you posted yesterday as I was not thinking it would need all of that additional code to jump through hoops ... but I could be wrong ...
    No problem, it's me who appreciates your support!

    I think all the code is doing is checking if category exists in cart and either switching on the module or skipping to the other one.

 

 
Page 10 of 10 FirstFirst ... 8910

Similar Threads

  1. free shipping for specific zip code, flat rate otherwise
    By newdre in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 11 Jan 2012, 11:39 AM
  2. Flat Rate Shipping for Small Items
    By AirsoftOutfitter in forum Built-in Shipping and Payment Modules
    Replies: 0
    Last Post: 18 Mar 2010, 10:22 PM
  3. Calculate shipping on all items, except flat rate on specific category
    By buckit in forum Built-in Shipping and Payment Modules
    Replies: 0
    Last Post: 1 Dec 2009, 06:24 PM
  4. Flat rate just for a set cities and UPS or USPS shipping rates for States
    By pkalout in forum Built-in Shipping and Payment Modules
    Replies: 1
    Last Post: 9 Oct 2009, 04:20 PM
  5. Flat Rate shipping challenge - need a separate rate for a few heavier items
    By Nigel Lew in forum Built-in Shipping and Payment Modules
    Replies: 9
    Last Post: 27 Jun 2008, 10:07 PM

Bookmarks

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
Zen-Cart, Internet Selling Services, Klamath Falls, OR