Plugin Directory

Changeset 2786416


Ignore:
Timestamp:
09/17/2022 07:10:39 PM (4 years ago)
Author:
invisibledragonltd
Message:

Update to version 1.6 from GitLab (https://gitlab.com/invisibledragon/id-delivery; https://gitlab.com/invisibledragon/id-delivery/-/jobs/3044035968)

Location:
deliveryplus-by-invisible-dragon
Files:
2 added
12 edited
1 copied

Legend:

Unmodified
Added
Removed
  • deliveryplus-by-invisible-dragon/tags/1.6/admin.js

    r2282505 r2786416  
    55
    66    $(document).ready(function() {
     7
     8        // Show the most helpful description on this element based on it's value
     9        $("#woocommerce_deliveryplus_class_cost_mode").each(function(){
     10            let help = $("<p>").addClass("description").appendTo($(this).parent());
     11            $(this).on("change", function(){
     12                help.html( $(this).data( $(this).val() ) );
     13            }).trigger("change");
     14        });
    715
    816        $(".id-filtering").each(function () {
     
    6674                    }
    6775
    68                 }else {
     76                } else if(nextType == 'distance') {
     77
     78                    let n = $("<div>").addClass("id-filter-distance");
     79                    nextDrop.replaceWith(n);
     80                    nextDrop = n;
     81
     82                    let value = $("<input type='hidden' />").addClass("id-filter-value").appendTo(n);
     83
     84                    let km = $("<input type='text' />").addClass("input-text").attr("placeholder", "km").appendTo(n);
     85                    let lat = $("<input type='text' />").addClass("input-text").attr("placeholder", "lat").appendTo(n);
     86                    let lng = $("<input type='text' />").addClass("input-text").attr("placeholder", "lng").appendTo(n);
     87                    $(".input-text", n).on("change update", function(){
     88                        value.val( km.val() + "|" + lat.val() + "|" + lng.val() ).trigger("change");
     89                    });
     90
     91                    if(nextDrop.parent().attr("data-value")) {
     92                        let splitValue = nextDrop.parent().attr("data-value").split("|");
     93                        km.val( splitValue[0] );
     94                        lat.val( splitValue[1] );
     95                        lng.val( splitValue[2] );
     96                        nextDrop.parent().removeAttr("data-value");
     97                    }
     98
     99                } else {
    69100                    nextDrop.text("! " + nextType);
    70101                }
  • deliveryplus-by-invisible-dragon/tags/1.6/bin/deploy.sh

    r2465699 r2786416  
    88
    99# TODO: Move to a function to pull out of id-delivery.php
    10 env PLUGIN_VERSION=1.3
     10env PLUGIN_VERSION=1.6
    1111
    1212# Common cleanup actions.
  • deliveryplus-by-invisible-dragon/tags/1.6/class.DeliveryPlus_Filters.php

    r2711454 r2786416  
    8181        require_once "class.DeliveryPlus_Filter_Override.php";
    8282        require_once "class.DeliveryPlus_Filter_ShippingClass.php";
     83        require_once 'class.DeliveryPlus_Filter_Distance.php';
    8384
    8485        DeliveryPlus_Filter_Category::activate();
     
    8889        DeliveryPlus_Filter_Override::activate();
    8990        DeliveryPlus_Filter_ShippingClass::activate();
     91        DeliveryPlus_Filter_Distance::activate();
    9092    }
    9193
     
    137139
    138140    }
    139    
     141
    140142    public static function output_html($args) {
    141143        require("includes/filters.php");
     
    162164
    163165    public static function filter_package( $filters, $package ) {
    164        
     166
    165167        if(empty($filters)) {
    166168            return true;
    167169        }
    168        
     170
    169171        foreach($filters as $block) {
    170172
  • deliveryplus-by-invisible-dragon/tags/1.6/class.DeliveryPlus_Shipping_Method.php

    r2711454 r2786416  
    1919        );
    2020        $this->instance_form_fields = array(
    21             'enabled' => array(
    22                 'title'         => __( 'Enable/Disable' ),
    23                 'type'          => 'checkbox',
    24                 'label'         => __( 'Enable this shipping method' ),
    25                 'default'       => 'no',
    26             ),
    2721            'title' => array(
    2822                'title'         => __( 'Method Title' ),
     
    6054            $shipping_classes = WC()->shipping()->get_shipping_classes();
    6155            if (!empty($shipping_classes)) {
     56                $this->instance_form_fields['class_cost_mode'] = array(
     57                    'title' => __('Shipping class cost mode'),
     58                    'type' => 'select',
     59                    'class' => 'wc-enhanced-select',
     60                    'default' => 'per-item',
     61                    'options' => array(
     62                        'per-class' => __('Per Class'),
     63                        'per-item' => __('Per Item')
     64                    ),
     65                    'custom_attributes' => [
     66                        'data-per-class' => __(
     67                            'This cost will be added if the customer basket contains at'.
     68                            ' least 1 item with this shipping class. You can also use <code>[class_qty]</code> for'.
     69                            ' the total number of items in the basket with this shipping method (in addition to the' .
     70                            ' other variables)'
     71                        ),
     72                        'data-per-item' => __(
     73                            'This cost will be added for every item with this shipping class.'
     74                        )
     75                    ]
     76                );
    6277                foreach ($shipping_classes as $shipping_class) {
    6378                    if (!isset($shipping_class->term_id)) {
     
    6782                        'title' => sprintf(__('"%s" shipping class cost'), esc_html($shipping_class->name)),
    6883                        'type' => 'text',
    69                         'placeholder' => __('N/A'),
    70                         'description' => __('This cost will be added for each item which has this shipping class')
     84                        'placeholder' => __('N/A')
    7185                    );
    7286                }
     
    112126        }
    113127
    114         $this->enabled       = $this->get_option( 'enabled' );
    115128        $this->title         = $this->get_option( 'title' );
    116129        $this->internal_name = $this->get_option( 'internal_name' );
     
    125138
    126139        add_filter( 'woocommerce_shipping_' . $this->id . '_instance_settings_values', array( $this, 'acf_options' ) );
    127    
     140
    128141    }
    129142
     
    200213
    201214        echo '<div class="id-filtering">';
    202        
     215
    203216        DeliveryPlus_Filters::output_html($args);
    204217
     
    257270            return;
    258271        }
    259        
     272
    260273        // form data
    261274        $post_id = 'woo_ship_' . $this->instance_id;
    262        
     275
    263276        acf_form_data(array(
    264277            'screen'        => 'deliveryplus',
     
    266279            'validation'    => ($args['view'] == 'register') ? 0 : 1
    267280        ));
    268        
     281
    269282        // loop
    270283        foreach( $field_groups as $field_group ) {
    271            
     284
    272285            // vars
    273286            $fields = acf_get_fields( $field_group );
    274            
     287
    275288            // title
    276289            if( $field_group['style'] === 'default' ) {
    277290                echo '</table><h2>' . $field_group['title'] . '</h2><table class="form-table">';
    278291            }
    279            
     292
    280293            // render
    281294            acf_render_fields( $fields, $post_id, 'tr', $field_group['instruction_placement'] );
     
    313326        $total_flat_area = 0;
    314327
    315         $additional_cost = 0;
     328        $additional_cost = [];
     329        $shipping_classes = [];
    316330
    317331        foreach ( $package['contents'] as $item_id => $values ) {
     
    340354                if(!empty($shipping_class)) {
    341355                    $shipping_class = get_term_by( 'slug', $shipping_class, 'product_shipping_class' );
    342                     $charge = $this->get_option( 'class_cost_' . $shipping_class->term_id );
    343                     if($charge) {
    344                         $additional_cost += $charge * $values['quantity'];
    345                     }
     356                    $class = $shipping_class->term_id;
     357                    if(!array_key_exists($class, $shipping_classes)) {
     358                        $shipping_classes[$class] = 0;
     359                    }
     360                    $shipping_classes[$class] += $values['quantity'];
    346361                }
    347362            }
     363        }
     364
     365        foreach($shipping_classes as $class => $counter) {
     366            $charge = $this->get_option( 'class_cost_' . $class );
     367            // If this was never set, it will return per-item
     368            if($this->get_option('class_cost_mode', 'per-item') == 'per-item') {
     369                // Wrap it up so it will charge per item
     370                $charge = '(' . $charge . ') * [class_qty]';
     371            }
     372            $charge = str_replace( '[class_qty]', $counter, $charge );
     373            $additional_cost[] = $charge;
    348374        }
    349375
     
    358384        add_filter( 'pre_do_shortcode_tag', array( $this, 'do_shortcode' ), 0, 4 );
    359385
    360         $sum = do_shortcode(
    361             str_replace(
    362                 array(
    363                     '[qty]',
    364                     '[width]',
    365                     '[height]',
    366                     '[length]',
    367                     '[flat_area]',
    368                     '[weight]',
    369                     '[cost]',
    370                 ),
    371                 array(
    372                     $total_quantity,
    373                     $total_width,
    374                     $total_height,
    375                     $total_length,
    376                     $total_flat_area,
    377                     $total_weight,
    378                     $package['contents_cost'],
    379                 ),
    380                 $formula
    381             )
     386        $items = array(
     387            '[qty]',
     388            '[width]',
     389            '[height]',
     390            '[length]',
     391            '[flat_area]',
     392            '[weight]',
     393            '[cost]',
    382394        );
     395        $replacements = array(
     396            $total_quantity,
     397            $total_width,
     398            $total_height,
     399            $total_length,
     400            $total_flat_area,
     401            $total_weight,
     402            $package['contents_cost'],
     403        );
     404
     405        $sum = do_shortcode(str_replace( $items, $replacements, $formula ) );
     406        foreach($additional_cost as $cost) {
     407            $cost = do_shortcode( str_replace($items, $replacements, $cost) );
     408            $sum = '(' . $sum . ') + ' . $cost; // add on this formula
     409        }
    383410
    384411        // Remove filter
     
    397424
    398425        // Do the math.
    399         return ($sum ? WC_Eval_Math::evaluate( $sum ) : 0) + $additional_cost;
     426        return ($sum ? WC_Eval_Math::evaluate( $sum ) : 0);
    400427
    401428    }
  • deliveryplus-by-invisible-dragon/tags/1.6/id-delivery.php

    r2711454 r2786416  
    1010Requires PHP: 5.6
    1111
    12 WC requires at least: 4.6
    13 WC tested up to: 5.0
     12WC requires at least: 6.9
     13WC tested up to: 6.9.2
    1414*/
    1515
     
    171171    }
    172172
    173     public function show_entry( $order ) { 
    174        
     173    public function show_entry( $order ) {
     174
    175175        $entry_id = get_post_meta( $order->get_id(), 'deliveryplus_gf_entry', true );
    176176
     
    260260
    261261                }
    262        
     262
    263263            }
    264        
     264
    265265        }
    266266
     
    279279                }
    280280            }
    281         }       
     281        }
    282282
    283283        add_filter( 'gform_submit_button', '__return_false' );
  • deliveryplus-by-invisible-dragon/tags/1.6/readme.txt

    r2711454 r2786416  
    33Donate link: https://ko-fi.com/invisibledragonltd
    44Tags: woocommerce, delivery, gravityforms, acf, advancedcustomfields
    5 Requires at least: 5.1
    6 Tested up to: 5.4
     5Requires at least: 6.0
     6Tested up to: 6.0
    77Requires PHP: 7.2
    88Stable tag: 4.3
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
    11  
     11
    1212DeliveryPlus provides a delivery option with rate calculation and filter rules. Also integrates with Gravity Forms and Advanced Custom Fields.
    13  
     13
    1414== Description ==
    15  
     15
    1616DeliveryPlus was born out of a need for a clean, easy to use and native delivery method for WooCommerce. This plugin doesn't add any additional tabs to the WordPress menu bar, instead sitting neatly inside of WooCommerce's shipping options as it should, appearing like any other.
    1717
     
    2121
    2222Again, if you have Advanced Custom Fields installed, you can create custom fields which appear inside of the shipping admin area and, with custom code, can be used to create an advanced shipping section on a custom theme.
    23  
     23
    2424== Installation ==
    25  
     25
    2626The plugin installs in the standard WordPress fashion. Typically use the Plugins and then Add New and search for the plugin. Or, the manual way:
    27  
     27
    28281. Upload the plugin directory to the `/wp-content/plugins/` directory
    29291. Activate the plugin through the 'Plugins' menu in WordPress
    30  
     30
    3131== Frequently Asked Questions ==
    32  
     32
    3333= Does it work with any other form plugin? =
    34  
     34
    3535Not at the moment
    3636
     
    4242
    4343Not at the moment
    44  
     44
    4545== Screenshots ==
    4646
     
    4949
    5050== Changelog ==
    51  
     51
    5252= 1.0 =
    5353* Initial Release
     
    7676* Allow overrides to be a filter
    7777
     78= 1.6 =
     79* Shipping class improve functionality
     80* Fix enabled bug
     81* Precise location filter
     82
    7883== Upgrade Notice ==
    79  
     84
    8085= 1.0 =
    8186Initial Release
  • deliveryplus-by-invisible-dragon/trunk/admin.js

    r2282505 r2786416  
    55
    66    $(document).ready(function() {
     7
     8        // Show the most helpful description on this element based on it's value
     9        $("#woocommerce_deliveryplus_class_cost_mode").each(function(){
     10            let help = $("<p>").addClass("description").appendTo($(this).parent());
     11            $(this).on("change", function(){
     12                help.html( $(this).data( $(this).val() ) );
     13            }).trigger("change");
     14        });
    715
    816        $(".id-filtering").each(function () {
     
    6674                    }
    6775
    68                 }else {
     76                } else if(nextType == 'distance') {
     77
     78                    let n = $("<div>").addClass("id-filter-distance");
     79                    nextDrop.replaceWith(n);
     80                    nextDrop = n;
     81
     82                    let value = $("<input type='hidden' />").addClass("id-filter-value").appendTo(n);
     83
     84                    let km = $("<input type='text' />").addClass("input-text").attr("placeholder", "km").appendTo(n);
     85                    let lat = $("<input type='text' />").addClass("input-text").attr("placeholder", "lat").appendTo(n);
     86                    let lng = $("<input type='text' />").addClass("input-text").attr("placeholder", "lng").appendTo(n);
     87                    $(".input-text", n).on("change update", function(){
     88                        value.val( km.val() + "|" + lat.val() + "|" + lng.val() ).trigger("change");
     89                    });
     90
     91                    if(nextDrop.parent().attr("data-value")) {
     92                        let splitValue = nextDrop.parent().attr("data-value").split("|");
     93                        km.val( splitValue[0] );
     94                        lat.val( splitValue[1] );
     95                        lng.val( splitValue[2] );
     96                        nextDrop.parent().removeAttr("data-value");
     97                    }
     98
     99                } else {
    69100                    nextDrop.text("! " + nextType);
    70101                }
  • deliveryplus-by-invisible-dragon/trunk/bin/deploy.sh

    r2465699 r2786416  
    88
    99# TODO: Move to a function to pull out of id-delivery.php
    10 env PLUGIN_VERSION=1.3
     10env PLUGIN_VERSION=1.6
    1111
    1212# Common cleanup actions.
  • deliveryplus-by-invisible-dragon/trunk/class.DeliveryPlus_Filters.php

    r2711454 r2786416  
    8181        require_once "class.DeliveryPlus_Filter_Override.php";
    8282        require_once "class.DeliveryPlus_Filter_ShippingClass.php";
     83        require_once 'class.DeliveryPlus_Filter_Distance.php';
    8384
    8485        DeliveryPlus_Filter_Category::activate();
     
    8889        DeliveryPlus_Filter_Override::activate();
    8990        DeliveryPlus_Filter_ShippingClass::activate();
     91        DeliveryPlus_Filter_Distance::activate();
    9092    }
    9193
     
    137139
    138140    }
    139    
     141
    140142    public static function output_html($args) {
    141143        require("includes/filters.php");
     
    162164
    163165    public static function filter_package( $filters, $package ) {
    164        
     166
    165167        if(empty($filters)) {
    166168            return true;
    167169        }
    168        
     170
    169171        foreach($filters as $block) {
    170172
  • deliveryplus-by-invisible-dragon/trunk/class.DeliveryPlus_Shipping_Method.php

    r2711454 r2786416  
    1919        );
    2020        $this->instance_form_fields = array(
    21             'enabled' => array(
    22                 'title'         => __( 'Enable/Disable' ),
    23                 'type'          => 'checkbox',
    24                 'label'         => __( 'Enable this shipping method' ),
    25                 'default'       => 'no',
    26             ),
    2721            'title' => array(
    2822                'title'         => __( 'Method Title' ),
     
    6054            $shipping_classes = WC()->shipping()->get_shipping_classes();
    6155            if (!empty($shipping_classes)) {
     56                $this->instance_form_fields['class_cost_mode'] = array(
     57                    'title' => __('Shipping class cost mode'),
     58                    'type' => 'select',
     59                    'class' => 'wc-enhanced-select',
     60                    'default' => 'per-item',
     61                    'options' => array(
     62                        'per-class' => __('Per Class'),
     63                        'per-item' => __('Per Item')
     64                    ),
     65                    'custom_attributes' => [
     66                        'data-per-class' => __(
     67                            'This cost will be added if the customer basket contains at'.
     68                            ' least 1 item with this shipping class. You can also use <code>[class_qty]</code> for'.
     69                            ' the total number of items in the basket with this shipping method (in addition to the' .
     70                            ' other variables)'
     71                        ),
     72                        'data-per-item' => __(
     73                            'This cost will be added for every item with this shipping class.'
     74                        )
     75                    ]
     76                );
    6277                foreach ($shipping_classes as $shipping_class) {
    6378                    if (!isset($shipping_class->term_id)) {
     
    6782                        'title' => sprintf(__('"%s" shipping class cost'), esc_html($shipping_class->name)),
    6883                        'type' => 'text',
    69                         'placeholder' => __('N/A'),
    70                         'description' => __('This cost will be added for each item which has this shipping class')
     84                        'placeholder' => __('N/A')
    7185                    );
    7286                }
     
    112126        }
    113127
    114         $this->enabled       = $this->get_option( 'enabled' );
    115128        $this->title         = $this->get_option( 'title' );
    116129        $this->internal_name = $this->get_option( 'internal_name' );
     
    125138
    126139        add_filter( 'woocommerce_shipping_' . $this->id . '_instance_settings_values', array( $this, 'acf_options' ) );
    127    
     140
    128141    }
    129142
     
    200213
    201214        echo '<div class="id-filtering">';
    202        
     215
    203216        DeliveryPlus_Filters::output_html($args);
    204217
     
    257270            return;
    258271        }
    259        
     272
    260273        // form data
    261274        $post_id = 'woo_ship_' . $this->instance_id;
    262        
     275
    263276        acf_form_data(array(
    264277            'screen'        => 'deliveryplus',
     
    266279            'validation'    => ($args['view'] == 'register') ? 0 : 1
    267280        ));
    268        
     281
    269282        // loop
    270283        foreach( $field_groups as $field_group ) {
    271            
     284
    272285            // vars
    273286            $fields = acf_get_fields( $field_group );
    274            
     287
    275288            // title
    276289            if( $field_group['style'] === 'default' ) {
    277290                echo '</table><h2>' . $field_group['title'] . '</h2><table class="form-table">';
    278291            }
    279            
     292
    280293            // render
    281294            acf_render_fields( $fields, $post_id, 'tr', $field_group['instruction_placement'] );
     
    313326        $total_flat_area = 0;
    314327
    315         $additional_cost = 0;
     328        $additional_cost = [];
     329        $shipping_classes = [];
    316330
    317331        foreach ( $package['contents'] as $item_id => $values ) {
     
    340354                if(!empty($shipping_class)) {
    341355                    $shipping_class = get_term_by( 'slug', $shipping_class, 'product_shipping_class' );
    342                     $charge = $this->get_option( 'class_cost_' . $shipping_class->term_id );
    343                     if($charge) {
    344                         $additional_cost += $charge * $values['quantity'];
    345                     }
     356                    $class = $shipping_class->term_id;
     357                    if(!array_key_exists($class, $shipping_classes)) {
     358                        $shipping_classes[$class] = 0;
     359                    }
     360                    $shipping_classes[$class] += $values['quantity'];
    346361                }
    347362            }
     363        }
     364
     365        foreach($shipping_classes as $class => $counter) {
     366            $charge = $this->get_option( 'class_cost_' . $class );
     367            // If this was never set, it will return per-item
     368            if($this->get_option('class_cost_mode', 'per-item') == 'per-item') {
     369                // Wrap it up so it will charge per item
     370                $charge = '(' . $charge . ') * [class_qty]';
     371            }
     372            $charge = str_replace( '[class_qty]', $counter, $charge );
     373            $additional_cost[] = $charge;
    348374        }
    349375
     
    358384        add_filter( 'pre_do_shortcode_tag', array( $this, 'do_shortcode' ), 0, 4 );
    359385
    360         $sum = do_shortcode(
    361             str_replace(
    362                 array(
    363                     '[qty]',
    364                     '[width]',
    365                     '[height]',
    366                     '[length]',
    367                     '[flat_area]',
    368                     '[weight]',
    369                     '[cost]',
    370                 ),
    371                 array(
    372                     $total_quantity,
    373                     $total_width,
    374                     $total_height,
    375                     $total_length,
    376                     $total_flat_area,
    377                     $total_weight,
    378                     $package['contents_cost'],
    379                 ),
    380                 $formula
    381             )
     386        $items = array(
     387            '[qty]',
     388            '[width]',
     389            '[height]',
     390            '[length]',
     391            '[flat_area]',
     392            '[weight]',
     393            '[cost]',
    382394        );
     395        $replacements = array(
     396            $total_quantity,
     397            $total_width,
     398            $total_height,
     399            $total_length,
     400            $total_flat_area,
     401            $total_weight,
     402            $package['contents_cost'],
     403        );
     404
     405        $sum = do_shortcode(str_replace( $items, $replacements, $formula ) );
     406        foreach($additional_cost as $cost) {
     407            $cost = do_shortcode( str_replace($items, $replacements, $cost) );
     408            $sum = '(' . $sum . ') + ' . $cost; // add on this formula
     409        }
    383410
    384411        // Remove filter
     
    397424
    398425        // Do the math.
    399         return ($sum ? WC_Eval_Math::evaluate( $sum ) : 0) + $additional_cost;
     426        return ($sum ? WC_Eval_Math::evaluate( $sum ) : 0);
    400427
    401428    }
  • deliveryplus-by-invisible-dragon/trunk/id-delivery.php

    r2711454 r2786416  
    1010Requires PHP: 5.6
    1111
    12 WC requires at least: 4.6
    13 WC tested up to: 5.0
     12WC requires at least: 6.9
     13WC tested up to: 6.9.2
    1414*/
    1515
     
    171171    }
    172172
    173     public function show_entry( $order ) { 
    174        
     173    public function show_entry( $order ) {
     174
    175175        $entry_id = get_post_meta( $order->get_id(), 'deliveryplus_gf_entry', true );
    176176
     
    260260
    261261                }
    262        
     262
    263263            }
    264        
     264
    265265        }
    266266
     
    279279                }
    280280            }
    281         }       
     281        }
    282282
    283283        add_filter( 'gform_submit_button', '__return_false' );
  • deliveryplus-by-invisible-dragon/trunk/readme.txt

    r2711454 r2786416  
    33Donate link: https://ko-fi.com/invisibledragonltd
    44Tags: woocommerce, delivery, gravityforms, acf, advancedcustomfields
    5 Requires at least: 5.1
    6 Tested up to: 5.4
     5Requires at least: 6.0
     6Tested up to: 6.0
    77Requires PHP: 7.2
    88Stable tag: 4.3
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
    11  
     11
    1212DeliveryPlus provides a delivery option with rate calculation and filter rules. Also integrates with Gravity Forms and Advanced Custom Fields.
    13  
     13
    1414== Description ==
    15  
     15
    1616DeliveryPlus was born out of a need for a clean, easy to use and native delivery method for WooCommerce. This plugin doesn't add any additional tabs to the WordPress menu bar, instead sitting neatly inside of WooCommerce's shipping options as it should, appearing like any other.
    1717
     
    2121
    2222Again, if you have Advanced Custom Fields installed, you can create custom fields which appear inside of the shipping admin area and, with custom code, can be used to create an advanced shipping section on a custom theme.
    23  
     23
    2424== Installation ==
    25  
     25
    2626The plugin installs in the standard WordPress fashion. Typically use the Plugins and then Add New and search for the plugin. Or, the manual way:
    27  
     27
    28281. Upload the plugin directory to the `/wp-content/plugins/` directory
    29291. Activate the plugin through the 'Plugins' menu in WordPress
    30  
     30
    3131== Frequently Asked Questions ==
    32  
     32
    3333= Does it work with any other form plugin? =
    34  
     34
    3535Not at the moment
    3636
     
    4242
    4343Not at the moment
    44  
     44
    4545== Screenshots ==
    4646
     
    4949
    5050== Changelog ==
    51  
     51
    5252= 1.0 =
    5353* Initial Release
     
    7676* Allow overrides to be a filter
    7777
     78= 1.6 =
     79* Shipping class improve functionality
     80* Fix enabled bug
     81* Precise location filter
     82
    7883== Upgrade Notice ==
    79  
     84
    8085= 1.0 =
    8186Initial Release
Note: See TracChangeset for help on using the changeset viewer.