From 32d696456180df6b3a5ab9c5c3f84b9cf5365aa7 Mon Sep 17 00:00:00 2001 From: Nick Verwymeren Date: Wed, 30 Mar 2016 12:44:21 -0500 Subject: [PATCH 1/7] fixed array conversion bug --- includes/class-wcqu-filters.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/includes/class-wcqu-filters.php b/includes/class-wcqu-filters.php index bba8a7f..47ce441 100755 --- a/includes/class-wcqu-filters.php +++ b/includes/class-wcqu-filters.php @@ -40,7 +40,10 @@ public function woocommerce_loop_add_to_cart_args( $args, $product ) { // Get Value from Rule $min = wcqu_get_value_from_rule( 'min', $product, $rule ); + $min = isset($min['min']) ? $min['min'] : 1; + $step = wcqu_get_value_from_rule( 'step', $product, $rule ); + $step = isset($step['step']) ? $step['step'] : 1; if(!$min && $step > 0){ $args['quantity'] = $step; @@ -74,6 +77,7 @@ public function input_min_value( $default, $product ) { // Get Value from Rule $min = wcqu_get_value_from_rule( 'min', $product, $rule ); + // Return Value if ( $min == '' or $min == null or (isset($min['min']) and $min['min'] == "")) { return $default; From e50e4db3c0ef220a1b8f7cb14a16cd9acba49ecf Mon Sep 17 00:00:00 2001 From: Nick Verwymeren Date: Wed, 30 Mar 2016 12:44:49 -0500 Subject: [PATCH 2/7] fixed role based rules bug --- includes/class-wcqu-product-meta-box.php | 38 +++++++++++------------- includes/wcqu-functions.php | 8 ++--- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/includes/class-wcqu-product-meta-box.php b/includes/class-wcqu-product-meta-box.php index d3671f8..18054d6 100755 --- a/includes/class-wcqu-product-meta-box.php +++ b/includes/class-wcqu-product-meta-box.php @@ -45,36 +45,29 @@ function product_meta_box_content( $post ) { global $wp_roles; // Get the product and see what rules are being applied - $pro = get_product( $post ); + $pro = wc_get_product( $post ); // Get applied rules by user role $roles = $wp_roles->get_names(); $roles['guest'] = "Guest"; $rules_by_role = array(); - + + $rule = null; // Loop through roles foreach ( $roles as $slug => $name ) { - $rule = wcqu_get_applied_rule( $pro, $slug ); + $newRule = wcqu_get_applied_rule( $pro, $slug ); + + // Set the latest $rule if its not null. This will + // be used later below in the if statements + $rule = $newRule ? $newRule : $rule; - if ( $rule == 'inactive' or $rule == 'override' or $rule == 'sitewide' ) + if ( $newRule == 'inactive' or $newRule == 'override' or $newRule == 'sitewide' ) continue; - $rules_by_role[$name] = $rule; + $rules_by_role[$name] = $newRule; } - // $rule_result = wcqu_get_applied_rule( $pro ); - - /* - // If there isn't a rule mark rule as null, otherwise get the id - if ( $rule_result != 'inactive' and $rule_result != 'override' ) { - $rule = $rule_result; - $values = wcqu_get_value_from_rule( 'all', $pro, $rule ); - } else { - $rule = $rule_result; - } - */ - // Display Rule Being Applied if ( $rule == 'inactive' ) { echo "
No rule is being applied becasue you've deactivated the plugin for this product.
"; @@ -118,15 +111,18 @@ function product_meta_box_content( $post ) { post_title ) or $rule->post_title == null ) { + } elseif ( (! isset( $rule->post_title ) or $rule->post_title == null) ) { echo "
No rule is currently being applied to this product.
"; } else { ?> diff --git a/includes/wcqu-functions.php b/includes/wcqu-functions.php index b150f58..e27ca32 100755 --- a/includes/wcqu-functions.php +++ b/includes/wcqu-functions.php @@ -36,7 +36,7 @@ function wcqu_get_applied_rule( $product, $role = null ) { * @return mixed Null if no rule applies / Object top rule post */ function wcqu_get_applied_rule_obj( $product, $role = null ) { - + // Get Product Terms $product_cats = wp_get_post_terms( $product->id, 'product_cat' ); $product_tags = wp_get_post_terms( $product->id, 'product_tag' ); @@ -48,17 +48,15 @@ function wcqu_get_applied_rule_obj( $product, $role = null ) { $user_data = get_userdata( get_current_user_id() ); if ( $user_data->roles ) { foreach ( $user_data->roles as $cap => $val ) { - $role = $cap; + $role = $val; } } } // Combine all product terms $product_terms = array_merge( $product_cats, $product_tags ); - // Check for rule / role transient if ( false === ( $rules = get_transient( 'ipq_rules_' . $role ) ) ) { - // Get all Rules $args = array( 'posts_per_page' => -1, @@ -134,7 +132,7 @@ function wcqu_get_applied_rule_obj( $product, $role = null ) { } } } - + return $top_rule; } From 76194a2bb4d7f1fec772381d735fafa0ffcad062 Mon Sep 17 00:00:00 2001 From: Nick Verwymeren Date: Wed, 30 Mar 2016 12:45:02 -0500 Subject: [PATCH 3/7] updated product function call --- includes/class-wcqu-validations.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/class-wcqu-validations.php b/includes/class-wcqu-validations.php index 8b1461e..caa7e2e 100755 --- a/includes/class-wcqu-validations.php +++ b/includes/class-wcqu-validations.php @@ -66,7 +66,7 @@ public function update_cart_validation( $passed, $cart_item_key, $values, $quant public function validate_single_product( $passed, $product_id, $quantity, $from_cart, $variation_id = null, $variations = null ) { global $woocommerce, $product, $WC_Quantities_and_Units; - $product = get_product( $product_id ); + $product = wc_get_product( $product_id ); $title = $product->get_title(); // Get the applied rule and values - if they exist From 2b3d37ef26ddf799b7e1877bd8f085621ab64051 Mon Sep 17 00:00:00 2001 From: Nick Verwymeren Date: Thu, 24 Nov 2016 08:19:03 -0600 Subject: [PATCH 4/7] bug fixes --- assets/css/admin-styles.css | 2 +- assets/img/rapid-order-logo.png | Bin 0 -> 10964 bytes assets/img/wpbo-logo.png | Bin 25341 -> 0 bytes assets/js/ipq_input_value_validation.js | 4 +- includes/class-wcqu-post-type.php | 8 +- quantites-and-units.php | 2 +- readme.txt | 104 ++++-------------------- 7 files changed, 24 insertions(+), 96 deletions(-) create mode 100644 assets/img/rapid-order-logo.png delete mode 100755 assets/img/wpbo-logo.png diff --git a/assets/css/admin-styles.css b/assets/css/admin-styles.css index d1b603f..d0cf708 100755 --- a/assets/css/admin-styles.css +++ b/assets/css/admin-styles.css @@ -137,7 +137,7 @@ span.wpbo_product_values { } /* --------- wpbo company notice ---------- */ -#wpbo-company-notice .inside { +#wpqu-company-notice .inside { text-align: center; } diff --git a/assets/img/rapid-order-logo.png b/assets/img/rapid-order-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1f5d3b0e29b23ff4702f59eccec05a2e719f9b23 GIT binary patch literal 10964 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 PrzR_@C{ZnD9P~c`Ydhly literal 0 HcmV?d00001 diff --git a/assets/img/wpbo-logo.png b/assets/img/wpbo-logo.png deleted file mode 100755 index b773aba944c71db154e5e534d839c4cb3a47502b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25341 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 diff --git a/assets/js/ipq_input_value_validation.js b/assets/js/ipq_input_value_validation.js index 63c45fd..f03f557 100755 --- a/assets/js/ipq_input_value_validation.js +++ b/assets/js/ipq_input_value_validation.js @@ -16,7 +16,7 @@ jQuery(document).ready( function($) { * If user enters a value that is out of bounds, * it will be auto corrected to a valid value. */ - $(document).on('change', '.qty', function(e) { + $(document).on('change input', '.qty', function(e) { var $input = $(e.currentTarget); // Get values from input box var step = $input.attr( 'step' ); @@ -62,7 +62,7 @@ jQuery(document).ready( function($) { new_qty = +new_qty + (+step - +rem); // Max Value Validation - if ( +new_qty > +max ) { + if ( max > 0 && +new_qty > +max ) { new_qty = +new_qty - +step; } } diff --git a/includes/class-wcqu-post-type.php b/includes/class-wcqu-post-type.php index c9d2029..6610368 100755 --- a/includes/class-wcqu-post-type.php +++ b/includes/class-wcqu-post-type.php @@ -22,7 +22,7 @@ public function __construct() { add_action( 'add_meta_boxes', array( $this, 'quantity_rule_role_init' ) ); add_action( 'add_meta_boxes', array( $this, 'rate_us_notice' ) ); // add_action( 'add_meta_boxes', array( $this, 'input_thumbnail_notice' ) ); -// add_action( 'add_meta_boxes', array( $this, 'company_notice' ) ); + add_action( 'add_meta_boxes', array( $this, 'company_notice' ) ); // Save post meta on post update add_action( 'save_post', array( $this, 'save_quantity_rule_meta' ) ); @@ -421,7 +421,7 @@ public function company_notice() { add_meta_box( 'wpqu-company-notice', - 'Message from WP BackOffice', + 'Rapid Order', array( $this, 'company_notice_meta' ), 'quantity-rule', 'side', @@ -432,9 +432,9 @@ public function company_notice() { public function company_notice_meta( $post ) { ?> - +

- WooCommerce Hosting, Customization, Support + Fast order form for WooCommerce

Date: Tue, 29 Nov 2016 08:13:19 -0600 Subject: [PATCH 5/7] fixes input validation issue --- assets/js/ipq_input_value_validation.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/js/ipq_input_value_validation.js b/assets/js/ipq_input_value_validation.js index f03f557..3f36e53 100755 --- a/assets/js/ipq_input_value_validation.js +++ b/assets/js/ipq_input_value_validation.js @@ -16,7 +16,7 @@ jQuery(document).ready( function($) { * If user enters a value that is out of bounds, * it will be auto corrected to a valid value. */ - $(document).on('change input', '.qty', function(e) { + $(document).on('change', '.qty', function(e) { var $input = $(e.currentTarget); // Get values from input box var step = $input.attr( 'step' ); From 821fffba3b1d531282011cb9929a56b19d536a76 Mon Sep 17 00:00:00 2001 From: Nick Verwymeren Date: Tue, 29 Nov 2016 08:14:54 -0600 Subject: [PATCH 6/7] version bump --- readme.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/readme.txt b/readme.txt index b951cff..7b49be8 100755 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: woocommerce, product quantities, product minimum values, product maximum v Donate link: https://www.nickv.codes/donate Requires at least: 3.5 Tested up to: 4.3 -Stable tag: 1.0.12 +Stable tag: 1.0.13 License: GPLv2 License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -70,6 +70,9 @@ Manual Installation 6. Set Rules for categories by clicking the new ‘Quantity Rules’ sidebar option or assign per-product rules by using the new metabox on your product page. == Changelog == += 1.0.13 = +* Fixed input issue introduced in 10.0.12 release + = 1.0.12 = * Fixed an issue where sometimes the correct value would not display when using decimal quantities. From b7b3811700dd2b24f855a29e1be26ca587f2e0dd Mon Sep 17 00:00:00 2001 From: Nick Verwymeren Date: Thu, 8 Dec 2016 20:43:51 -0600 Subject: [PATCH 7/7] version bump --- quantites-and-units.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/quantites-and-units.php b/quantites-and-units.php index fc160ee..eb85728 100755 --- a/quantites-and-units.php +++ b/quantites-and-units.php @@ -3,7 +3,7 @@ Plugin Name: Quantities and Units for WooCommerce Plugin URI: https://wordpress.org/plugins/quantities-and-units-for-woocommerce/ Description: Easily require your customers to buy a minimum / maximum / incremental amount of products to continue with their checkout. -Version: 1.0.12 +Version: 1.0.13 Author: Nicholas Verwymeren Author URI: https://www.nickv.codes */