Discount Rules for WooCommerce - Version 1.6.9

Version Description

  • 26/07/18 =
  • Fix - Not updating in mini-cart/wrong strikeout price
  • Fix - Category cumulative option quantity.
  • Fix - PHP 5.3 compatible (empty page at backend)
  • Feature - Get in categories option for product dependent rules
  • Feature - Cart rule based on including sub-category option
  • Feature - Cart rule based on shipping city and zip code options
  • Feature - apply filter hook for change the final discount price: apply_filters('woo_discount_rules_price_rule_final_amount_applied', $price - $discount, $price, $discount, $additionalDetails, $product, $product_page);
  • Improvement - Apply product exclude for BOGO get products too.
  • Improvement - Variation price strike out through ajax.
  • Improvement - Performance improvement.
Download this release

Release Info

Developer flycart
Plugin Icon 128x128 Discount Rules for WooCommerce
Version 1.6.9
Comparing to
See all releases

Code changes from version 1.6.8 to 1.6.9

assets/css/style.css CHANGED
@@ -1,3 +1,6 @@
 
 
 
1
  .hide {
2
  display: none !important;
3
  }
@@ -140,4 +143,7 @@
140
  height: 58px;
141
  opacity: 0;
142
  }
 
 
 
143
  }
1
+ .row > div{
2
+ display: block !important;
3
+ }
4
  .hide {
5
  display: none !important;
6
  }
143
  height: 58px;
144
  opacity: 0;
145
  }
146
+ }
147
+ .wdr_read_doc{
148
+ font-size: 12px;
149
  }
assets/js/app.js CHANGED
@@ -397,12 +397,15 @@ function trigger_woocommerce_tooltip(){
397
  '<optgroup label="'+woo_discount_localization.quantity_sum+'"><option value="quantity_least">'+woo_discount_localization.total_number_of_quantities_in_cart_at_least+'</option><option value="quantity_less">'+woo_discount_localization.total_number_of_quantities_in_cart_less_than+'</option></optgroup>' +
398
  '<optgroup label="'+woo_discount_localization.categories_in_cart+'">' +
399
  '<option value="categories_in">'+woo_discount_localization.categories_in_cart+'</option>' +
 
400
  '<option value="in_each_category">'+woo_discount_localization.in_each_category_cart+'</option>' +
401
  '</optgroup>' +
402
  '<optgroup label="'+woo_discount_localization.customer_details_must_be_logged_in+'"><option value="users_in">'+woo_discount_localization.user_in_list+'</option><option value="roles_in">'+woo_discount_localization.user_role_in_list+'</option><option value="shipping_countries_in">'+woo_discount_localization.shipping_country_list+'</option></optgroup>' +
403
  '<optgroup label="'+woo_discount_localization.customer_email+'"><option value="customer_email_tld">'+woo_discount_localization.customer_email_tld+'</option><option value="customer_email_domain">'+woo_discount_localization.customer_email_domain+'</option></optgroup>' +
404
  '<optgroup label="'+woo_discount_localization.customer_billing_details+'"><option value="customer_billing_city">'+woo_discount_localization.customer_billing_city+'</option></optgroup>' +
405
- '<optgroup label="'+woo_discount_localization.customer_shipping_details+'"><option value="customer_shipping_state">'+woo_discount_localization.customer_shipping_state+'</option></optgroup>' +
 
 
406
  '<optgroup label="'+woo_discount_localization.purchase_history+'">' +
407
  '<option value="customer_based_on_purchase_history">'+woo_discount_localization.purchased_amount+'</option>'+
408
  '<option value="customer_based_on_purchase_history_order_count">'+woo_discount_localization.number_of_order_purchased+'</option>'+
@@ -438,12 +441,15 @@ function trigger_woocommerce_tooltip(){
438
  '<optgroup label="'+woo_discount_localization.quantity_sum+'"><option disabled>'+woo_discount_localization.total_number_of_quantities_in_cart_at_least+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.total_number_of_quantities_in_cart_less_than+' <b>' + pro_suffix + '</b></option></optgroup>' +
439
  '<optgroup label="'+woo_discount_localization.categories_in_cart+'">' +
440
  '<option disabled>'+woo_discount_localization.categories_in_cart+' <b>' + pro_suffix + '</b></option>' +
 
441
  '<option disabled>'+woo_discount_localization.in_each_category_cart+' <b>' + pro_suffix + '</b></option>' +
442
  '</optgroup>' +
443
  '<optgroup label="'+woo_discount_localization.customer_details_must_be_logged_in+'"><option disabled>'+woo_discount_localization.user_in_list+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.user_role_in_list+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.shipping_country_list+' <b>' + pro_suffix + '</b></option></optgroup>' +
444
  '<optgroup label="'+woo_discount_localization.customer_email+'"><option disabled>'+woo_discount_localization.customer_email_tld+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.customer_email_domain+'<b>' + pro_suffix + '</b></option></optgroup>' +
445
  '<optgroup label="'+woo_discount_localization.customer_billing_details+'"><option disabled>'+woo_discount_localization.customer_billing_city+' <b>' + pro_suffix + '</b></option></optgroup>' +
446
- '<optgroup label="'+woo_discount_localization.customer_shipping_details+'"><option disabled>'+woo_discount_localization.customer_shipping_state+' <b>' + pro_suffix + '</b></option></optgroup>' +
 
 
447
  '<optgroup label="'+woo_discount_localization.purchase_history+'"><option disabled>'+woo_discount_localization.purchased_amount+' <b>' + pro_suffix + '</b></option>' +
448
  '<option disabled>'+woo_discount_localization.number_of_order_purchased+' <b>' + pro_suffix + '</b></option>' +
449
  '<option disabled>'+woo_discount_localization.number_of_order_purchased_in_product+' <b>' + pro_suffix + '</b></option>' +
@@ -725,6 +731,17 @@ function trigger_woocommerce_tooltip(){
725
  });
726
  $('#product_based_condition_quantity_rule').trigger('change');
727
 
 
 
 
 
 
 
 
 
 
 
 
728
  // product_based_condition_product_to_apply_count_option
729
  $('#product_based_condition_product_to_apply_count_option').on('change', function () {
730
  var value = $(this).val();
@@ -877,7 +894,7 @@ function trigger_woocommerce_tooltip(){
877
  function showOnly(option, id) {
878
  if (option == 'products_atleast_one' || option == 'products_not_in') {
879
  processShowOnlyTags('product_div_', id);
880
- } else if (option == 'categories_atleast_one' || option == 'categories_not_in' || option == 'categories_in' || option == 'in_each_category') {
881
  processShowOnlyTags('category_div_', id);
882
  } else if (option == 'users_in') {
883
  processShowOnlyTags('user_div_', id);
397
  '<optgroup label="'+woo_discount_localization.quantity_sum+'"><option value="quantity_least">'+woo_discount_localization.total_number_of_quantities_in_cart_at_least+'</option><option value="quantity_less">'+woo_discount_localization.total_number_of_quantities_in_cart_less_than+'</option></optgroup>' +
398
  '<optgroup label="'+woo_discount_localization.categories_in_cart+'">' +
399
  '<option value="categories_in">'+woo_discount_localization.categories_in_cart+'</option>' +
400
+ '<option value="atleast_one_including_sub_categories">'+woo_discount_localization.atleast_one_including_sub_categories+'</option>' +
401
  '<option value="in_each_category">'+woo_discount_localization.in_each_category_cart+'</option>' +
402
  '</optgroup>' +
403
  '<optgroup label="'+woo_discount_localization.customer_details_must_be_logged_in+'"><option value="users_in">'+woo_discount_localization.user_in_list+'</option><option value="roles_in">'+woo_discount_localization.user_role_in_list+'</option><option value="shipping_countries_in">'+woo_discount_localization.shipping_country_list+'</option></optgroup>' +
404
  '<optgroup label="'+woo_discount_localization.customer_email+'"><option value="customer_email_tld">'+woo_discount_localization.customer_email_tld+'</option><option value="customer_email_domain">'+woo_discount_localization.customer_email_domain+'</option></optgroup>' +
405
  '<optgroup label="'+woo_discount_localization.customer_billing_details+'"><option value="customer_billing_city">'+woo_discount_localization.customer_billing_city+'</option></optgroup>' +
406
+ '<optgroup label="'+woo_discount_localization.customer_shipping_details+'"><option value="customer_shipping_state">'+woo_discount_localization.customer_shipping_state+'</option>' +
407
+ '<option value="customer_shipping_city">'+woo_discount_localization.customer_shipping_city+'</option>' +
408
+ '<option value="customer_shipping_zip_code">'+woo_discount_localization.customer_shipping_zip_code+'</option></optgroup>' +
409
  '<optgroup label="'+woo_discount_localization.purchase_history+'">' +
410
  '<option value="customer_based_on_purchase_history">'+woo_discount_localization.purchased_amount+'</option>'+
411
  '<option value="customer_based_on_purchase_history_order_count">'+woo_discount_localization.number_of_order_purchased+'</option>'+
441
  '<optgroup label="'+woo_discount_localization.quantity_sum+'"><option disabled>'+woo_discount_localization.total_number_of_quantities_in_cart_at_least+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.total_number_of_quantities_in_cart_less_than+' <b>' + pro_suffix + '</b></option></optgroup>' +
442
  '<optgroup label="'+woo_discount_localization.categories_in_cart+'">' +
443
  '<option disabled>'+woo_discount_localization.categories_in_cart+' <b>' + pro_suffix + '</b></option>' +
444
+ '<option disabled>'+woo_discount_localization.atleast_one_including_sub_categories+' <b>' + pro_suffix + '</b></option>' +
445
  '<option disabled>'+woo_discount_localization.in_each_category_cart+' <b>' + pro_suffix + '</b></option>' +
446
  '</optgroup>' +
447
  '<optgroup label="'+woo_discount_localization.customer_details_must_be_logged_in+'"><option disabled>'+woo_discount_localization.user_in_list+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.user_role_in_list+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.shipping_country_list+' <b>' + pro_suffix + '</b></option></optgroup>' +
448
  '<optgroup label="'+woo_discount_localization.customer_email+'"><option disabled>'+woo_discount_localization.customer_email_tld+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.customer_email_domain+'<b>' + pro_suffix + '</b></option></optgroup>' +
449
  '<optgroup label="'+woo_discount_localization.customer_billing_details+'"><option disabled>'+woo_discount_localization.customer_billing_city+' <b>' + pro_suffix + '</b></option></optgroup>' +
450
+ '<optgroup label="'+woo_discount_localization.customer_shipping_details+'"><option disabled>'+woo_discount_localization.customer_shipping_state+' <b>' + pro_suffix + '</b></option>' +
451
+ '<option disabled>'+woo_discount_localization.customer_shipping_city+' <b>' + pro_suffix + '</b></option>' +
452
+ '<option disabled>'+woo_discount_localization.customer_shipping_zip_code+' <b>' + pro_suffix + '</b></option></optgroup>' +
453
  '<optgroup label="'+woo_discount_localization.purchase_history+'"><option disabled>'+woo_discount_localization.purchased_amount+' <b>' + pro_suffix + '</b></option>' +
454
  '<option disabled>'+woo_discount_localization.number_of_order_purchased+' <b>' + pro_suffix + '</b></option>' +
455
  '<option disabled>'+woo_discount_localization.number_of_order_purchased_in_product+' <b>' + pro_suffix + '</b></option>' +
731
  });
732
  $('#product_based_condition_quantity_rule').trigger('change');
733
 
734
+ $('#product_based_condition_get_discount_type').on('change', function () {
735
+ var discount_type_value = $(this).val();
736
+ $('.get_discount_type_product_tag, .get_discount_type_category_tag').hide();
737
+ if(discount_type_value == 'product'){
738
+ $('.get_discount_type_product_tag').show();
739
+ } else {
740
+ $('.get_discount_type_category_tag').show();
741
+ }
742
+ });
743
+ $('#product_based_condition_get_discount_type').trigger('change');
744
+
745
  // product_based_condition_product_to_apply_count_option
746
  $('#product_based_condition_product_to_apply_count_option').on('change', function () {
747
  var value = $(this).val();
894
  function showOnly(option, id) {
895
  if (option == 'products_atleast_one' || option == 'products_not_in') {
896
  processShowOnlyTags('product_div_', id);
897
+ } else if (option == 'categories_atleast_one' || option == 'categories_not_in' || option == 'categories_in' || option == 'in_each_category' || option == 'atleast_one_including_sub_categories') {
898
  processShowOnlyTags('category_div_', id);
899
  } else if (option == 'users_in') {
900
  processShowOnlyTags('user_div_', id);
helper/general-helper.php CHANGED
@@ -504,5 +504,59 @@ if ( ! class_exists( 'FlycartWooDiscountRulesGeneralHelper' ) ) {
504
 
505
  return $order_id;
506
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
507
  }
508
  }
504
 
505
  return $order_id;
506
  }
507
+
508
+ /**
509
+ * Get all sub categories
510
+ * */
511
+ public static function getAllSubCategories($cat){
512
+ $category_with_sub_cat = $cat;
513
+ foreach($cat as $c) {
514
+ $args = array('hierarchical' => 1,
515
+ 'show_option_none' => '',
516
+ 'hide_empty' => 0,
517
+ 'parent' => $c,
518
+ 'taxonomy' => 'product_cat');
519
+ $categories = get_categories( $args );
520
+ foreach($categories as $category) {
521
+ //$category_with_sub_cat[] = $category->term_id;
522
+ $category_with_sub_cat = array_merge($category_with_sub_cat, self::getAllSubCategories(array($category->term_id)));
523
+ }
524
+ }
525
+ $category_with_sub_cat = array_unique($category_with_sub_cat);
526
+
527
+ return $category_with_sub_cat;
528
+ }
529
+
530
+ /**
531
+ * Docs HTML
532
+ * @param string $url
533
+ * @param string $utm_term
534
+ * @return string
535
+ * */
536
+ public static function docsURL($url, $utm_term){
537
+ $url_prefix = 'https://docs.flycart.org/woocommerce-discount-rules/';
538
+ $utm = '?utm_source=woo-discount-rules&utm_campaign=doc&utm_medium=text-click&';
539
+ $url = trim($url, '/');
540
+
541
+ return $url_prefix.$url.$utm.$utm_term;
542
+ }
543
+
544
+ /**
545
+ * Docs HTML
546
+ * @param string $url
547
+ * @param string $utm_term
548
+ * @return string
549
+ * */
550
+ public static function docsURLHTML($url, $utm_term, $additional_class = '', $text = ''){
551
+ if(!empty($additional_class)){
552
+ $additional_class = 'wdr_read_doc '.$additional_class;
553
+ } else {
554
+ $additional_class = 'wdr_read_doc';
555
+ }
556
+ if(empty($text)) $text = esc_html__('Read Docs', 'woo-discount-rules');
557
+ $html = '<a class="'.$additional_class.'" href="'.self::docsURL($url, $utm_term).'" target="_blank">'.$text.'</a>';
558
+
559
+ return $html;
560
+ }
561
  }
562
  }
helper/woo-function.php CHANGED
@@ -560,6 +560,18 @@ if(!class_exists('FlycartWoocommerceOrder')){
560
  return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_shipping_state() : $order->shipping_state;
561
  }
562
 
 
 
 
 
 
 
 
 
 
 
 
 
563
  /**
564
  * Get order product ids
565
  *
560
  return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_shipping_state() : $order->shipping_state;
561
  }
562
 
563
+ /**
564
+ * Get order shipping city
565
+ *
566
+ * @access public
567
+ * @param object $order
568
+ * @return float
569
+ */
570
+ public static function get_shipping_city($order)
571
+ {
572
+ return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_shipping_city() : $order->shipping_city;
573
+ }
574
+
575
  /**
576
  * Get order product ids
577
  *
i18n/languages/woo-discount-rules.pot CHANGED
@@ -12,58 +12,58 @@ msgstr ""
12
  "X-Generator: Poedit 1.8.7.1\n"
13
 
14
  #. Text in echo
15
- #: woo-discount-rules/view/view-pricing-rules.php:524
16
  msgid " Product(s) "
17
  msgstr ""
18
 
19
  #. Text in echo
20
- #: woo-discount-rules/view/view-pricing-rules.php:681
21
  msgid "100% percent"
22
  msgstr ""
23
 
24
  #. Text in echo
25
- #: woo-discount-rules/view/cart-rules.php:178
26
- #: woo-discount-rules/view/pricing-rules.php:206
27
- #: woo-discount-rules/view/view-cart-rules.php:505
28
  msgid "Action"
29
  msgstr ""
30
 
31
  #. Text in echo
32
- #: woo-discount-rules/view/view-cart-rules.php:133
33
  msgid "Add Condition"
34
  msgstr ""
35
 
36
  #. Text in echo
37
- #: woo-discount-rules/view/view-pricing-rules.php:543
38
  msgid "Add New Range"
39
  msgstr ""
40
 
41
  #. Text in echo
42
- #: woo-discount-rules/view/cart-rules.php:66
43
- #: woo-discount-rules/view/pricing-rules.php:97
44
  msgid "Add New Rule"
45
  msgstr ""
46
 
47
  #. Text in echo
48
- #: woo-discount-rules/view/view-pricing-rules.php:576
49
  msgid "Adjustment Type"
50
  msgstr ""
51
 
52
  #. Text in echo
53
- #: woo-discount-rules/view/view-pricing-rules.php:270
54
- #: woo-discount-rules/view/view-pricing-rules.php:517
55
  msgid "All"
56
  msgstr ""
57
 
58
  #. Text in echo
59
- #: woo-discount-rules/view/view-pricing-rules.php:151
60
  msgid "All products"
61
  msgstr ""
62
 
63
  #. Text in echo
64
- #: woo-discount-rules/view/view-cart-rules.php:343
65
- #: woo-discount-rules/view/view-cart-rules.php:345
66
- #: woo-discount-rules/view/view-pricing-rules.php:619
67
  msgid "All selected"
68
  msgstr ""
69
 
@@ -73,95 +73,105 @@ msgid "An another discount plugin %s is active. Please disable this plugin, Woo
73
  msgstr ""
74
 
75
  #. Text in echo
76
- #: woo-discount-rules/view/view-pricing-rules.php:495
77
  msgid "Any"
78
  msgstr ""
79
 
80
  #. Text in echo
81
- #: woo-discount-rules/view/view-pricing-rules.php:622
82
  msgid "Any one cheapest from all products"
83
  msgstr ""
84
 
85
  #. Text in echo
86
- #: woo-discount-rules/view/view-pricing-rules.php:621
87
  msgid "Any one cheapest from selected"
88
  msgstr ""
89
 
90
  #. Text in echo
91
- #: woo-discount-rules/view/cart-rules.php:84
92
- #: woo-discount-rules/view/pricing-rules.php:112
93
  msgid "Apply"
94
  msgstr ""
95
 
96
  #. Text in echo
97
- #: woo-discount-rules/view/view-pricing-rules.php:145
98
  msgid "Apply To"
99
  msgstr ""
100
 
101
  #. Text in echo
102
- #: woo-discount-rules/view/settings.php:243
103
- #: woo-discount-rules/view/settings.php:245
104
  msgid "Apply all matched rules"
105
  msgstr ""
106
 
107
  #. Text in echo
108
- #: woo-discount-rules/view/settings.php:252
109
- #: woo-discount-rules/view/settings.php:254
110
  msgid "Apply biggest discount"
111
  msgstr ""
112
 
113
  #. Text in echo
114
- #: woo-discount-rules/view/settings.php:100
115
- #: woo-discount-rules/view/settings.php:237
 
 
 
 
 
 
 
 
 
 
116
  msgid "Apply first matched rule"
117
  msgstr ""
118
 
119
  #. Text in echo
120
- #: woo-discount-rules/view/view-pricing-rules.php:617
121
  msgid "Apply for"
122
  msgstr ""
123
 
124
  #. Text in echo
125
- #: woo-discount-rules/view/view-pricing-rules.php:329
126
  msgid "Apply if all coupon applied"
127
  msgstr ""
128
 
129
  #. Text in echo
130
- #: woo-discount-rules/view/view-pricing-rules.php:328
131
  msgid "Apply if any one coupon applied"
132
  msgstr ""
133
 
134
  #. Text in echo
135
- #: woo-discount-rules/view/view-cart-rules.php:333
136
- #: woo-discount-rules/view/view-cart-rules.php:335
137
  msgid "Atleast any one"
138
  msgstr ""
139
 
140
  #. Text in echo
141
- #: woo-discount-rules/view/view-cart-rules.php:277
142
- #: woo-discount-rules/view/view-cart-rules.php:279
143
  msgid "Billing city"
144
  msgstr ""
145
 
146
  #. Text in echo
147
- #: woo-discount-rules/view/cart-rules.php:79
148
- #: woo-discount-rules/view/pricing-rules.php:107
149
  msgid "Bulk Actions"
150
  msgstr ""
151
 
152
  #. Text in echo
153
- #: woo-discount-rules/view/view-pricing-rules.php:493
154
  msgid "Buy"
155
  msgstr ""
156
 
157
  #. Text in echo
158
- #: woo-discount-rules/view/view-cart-rules.php:53
159
- #: woo-discount-rules/view/view-pricing-rules.php:37
160
  msgid "Cancel and go back to list"
161
  msgstr ""
162
 
163
  #. Text in echo
164
- #: woo-discount-rules/view/view-cart-rules.php:130
165
  msgid "Cart Conditions"
166
  msgstr ""
167
 
@@ -171,62 +181,67 @@ msgid "Cart Discount Rules"
171
  msgstr ""
172
 
173
  #. Text in echo
174
- #: woo-discount-rules/view/view-cart-rules.php:168
175
  msgid "Cart Item Count"
176
  msgstr ""
177
 
178
  #. Text in echo
179
- #: woo-discount-rules/view/cart-rules.php:46
180
  msgid "Cart Rules"
181
  msgstr ""
182
 
183
  #. Text in echo
184
- #: woo-discount-rules/view/view-cart-rules.php:158
185
  msgid "Cart Subtotal"
186
  msgstr ""
187
 
188
  #. Text in echo
189
- #: woo-discount-rules/view/settings.php:211
190
  msgid "Cart rules settings"
191
  msgstr ""
192
 
193
  #. Text in echo
194
- #: woo-discount-rules/view/view-cart-rules.php:203
195
  msgid "Categories In Cart"
196
  msgstr ""
197
 
198
  #. Text in echo
199
- #: woo-discount-rules/view/view-cart-rules.php:208
200
  msgid "Categories in cart"
201
  msgstr ""
202
 
203
  #. Text in echo
204
- #: woo-discount-rules/view/view-pricing-rules.php:246
 
 
 
 
 
205
  msgid "Check this box if the rule should not apply to items on sale."
206
  msgstr ""
207
 
208
  #. Text in echo
209
- #: woo-discount-rules/view/view-pricing-rules.php:198
210
  msgid "Check this box to apply child category(ies)"
211
  msgstr ""
212
 
213
  #. Text in echo
214
- #: woo-discount-rules/view/view-pricing-rules.php:212
215
  msgid "Check this box to count quantities cumulatively across attribute"
216
  msgstr ""
217
 
218
  #. Text in echo
219
- #: woo-discount-rules/view/view-pricing-rules.php:195
220
  msgid "Check this box to count quantities cumulatively across category(ies)"
221
  msgstr ""
222
 
223
  #. Text in echo
224
- #: woo-discount-rules/view/view-pricing-rules.php:183
225
  msgid "Check this box to count quantities cumulatively across products"
226
  msgstr ""
227
 
228
  #. Text in echo
229
- #: woo-discount-rules/view/view-pricing-rules.php:497
230
  msgid "Combine"
231
  msgstr ""
232
 
@@ -241,89 +256,89 @@ msgid "Conditions"
241
  msgstr ""
242
 
243
  #. Text in echo
244
- #: woo-discount-rules/view/view-pricing-rules.php:319
245
  msgid "Coupon"
246
  msgstr ""
247
 
248
  #. Text in echo
249
- #: woo-discount-rules/view/settings.php:218
250
  msgid "Coupon Name to be displayed :"
251
  msgstr ""
252
 
253
  #. Text in echo
254
- #: woo-discount-rules/view/view-cart-rules.php:327
255
  msgid "Coupon applied"
256
  msgstr ""
257
 
258
  #. Text in echo
259
- #: woo-discount-rules/view/view-cart-rules.php:271
260
  msgid "Customer Billing Details"
261
  msgstr ""
262
 
263
  #. Text in echo
264
- #: woo-discount-rules/view/view-cart-rules.php:217
265
  msgid "Customer Details (must be logged in)"
266
  msgstr ""
267
 
268
  #. Text in echo
269
- #: woo-discount-rules/view/view-cart-rules.php:249
270
  msgid "Customer Email"
271
  msgstr ""
272
 
273
  #. Text in echo
274
- #: woo-discount-rules/view/view-cart-rules.php:283
275
  msgid "Customer Shipping Details"
276
  msgstr ""
277
 
278
  #. Text in echo
279
- #: woo-discount-rules/view/view-pricing-rules.php:265
280
  msgid "Customers"
281
  msgstr ""
282
 
283
  #. Text in echo
284
- #: woo-discount-rules/view/cart-rules.php:152
285
- #: woo-discount-rules/view/pricing-rules.php:180
286
  msgid "Delete"
287
  msgstr ""
288
 
289
  #. Text in echo
290
- #: woo-discount-rules/view/cart-rules.php:82
291
- #: woo-discount-rules/view/pricing-rules.php:110
292
  msgid "Delete rules"
293
  msgstr ""
294
 
295
  #. Text in echo
296
- #: woo-discount-rules/view/view-pricing-rules.php:103
297
  #: woo-discount-rules/view/view-pricing-rules.php:105
 
298
  msgid "Dependant product based discount"
299
  msgstr ""
300
 
301
  #. Text in function
302
- #: woo-discount-rules/view/cart-rules.php:112
303
- #: woo-discount-rules/view/pricing-rules.php:140
304
  msgid "Disable"
305
  msgstr ""
306
 
307
  #. Text in echo
308
- #: woo-discount-rules/view/cart-rules.php:81
309
- #: woo-discount-rules/view/pricing-rules.php:109
310
  msgid "Disable rules"
311
  msgstr ""
312
 
313
  #. Text in echo
314
- #: woo-discount-rules/view/view-cart-rules.php:497
315
- #: woo-discount-rules/view/view-pricing-rules.php:343
316
  msgid "Disable the rules while have coupon(Third party)"
317
  msgstr ""
318
 
319
  #. Text in echo
320
- #: woo-discount-rules/view/settings.php:263
321
  msgid "Disable the rules while have coupon(Third party) in cart"
322
  msgstr ""
323
 
324
  #. Text in echo
325
- #: woo-discount-rules/view/settings.php:285
326
- #: woo-discount-rules/view/settings.php:292
327
  msgid "Disabled"
328
  msgstr ""
329
 
@@ -331,241 +346,251 @@ msgstr ""
331
  #: woo-discount-rules/view/includes/cart-menu.php:13
332
  #: woo-discount-rules/view/includes/sub-menu.php:13
333
  #: woo-discount-rules/view/template/discount-table.php:22
334
- #: woo-discount-rules/view/view-cart-rules.php:522
335
- #: woo-discount-rules/view/view-pricing-rules.php:540
336
  msgid "Discount"
337
  msgstr ""
338
 
339
  #. Text in echo
340
- #: woo-discount-rules/view/view-pricing-rules.php:140
341
  msgid "Discount Conditions"
342
  msgstr ""
343
 
344
  #. Text in echo
345
- #: woo-discount-rules/view/settings.php:224
346
  msgid "Discount Coupon Name"
347
  msgstr ""
348
 
349
  #. Text in echo
350
- #: woo-discount-rules/view/settings.php:165
351
  msgid "Discount Table :"
352
  msgstr ""
353
 
354
  #. Text in echo
355
- #: woo-discount-rules/view/view-cart-rules.php:538
356
  msgid "Discount Type :"
357
  msgstr ""
358
 
359
  #. Text in echo
360
- #: woo-discount-rules/view/view-pricing-rules.php:645
361
  msgid "Discount for number of item(s) in cart"
362
  msgstr ""
363
 
364
  #. Text in echo
365
- #: woo-discount-rules/view/view-pricing-rules.php:652
366
  msgid "Discount for number of quantity(ies) in each item"
367
  msgstr ""
368
 
369
  #. Text in echo
370
- #: woo-discount-rules/view/view-pricing-rules.php:298
371
- #: woo-discount-rules/view/view-pricing-rules.php:327
372
- #: woo-discount-rules/view/view-pricing-rules.php:376
373
- #: woo-discount-rules/view/view-pricing-rules.php:419
374
  msgid "Do not use"
375
  msgstr ""
376
 
 
 
 
 
 
 
 
 
 
 
377
  #. Text in echo
378
- #: woo-discount-rules/view/cart-rules.php:51
379
- #: woo-discount-rules/view/pricing-rules.php:83
380
  msgid "Documentation"
381
  msgstr ""
382
 
383
  #. Text in echo
384
- #: woo-discount-rules/view/settings.php:192
385
  msgid "Don't Show"
386
  msgstr ""
387
 
388
  #. Text in echo
389
- #: woo-discount-rules/view/settings.php:326
390
  msgid "Draft"
391
  msgstr ""
392
 
393
  #. Text in echo
394
- #: woo-discount-rules/view/cart-rules.php:145
395
- #: woo-discount-rules/view/pricing-rules.php:173
396
  msgid "Duplicate"
397
  msgstr ""
398
 
399
  #. Text in echo
400
- #: woo-discount-rules/view/view-pricing-rules.php:642
401
  msgid "Dynamic item count"
402
  msgstr ""
403
 
404
  #. Text in echo
405
- #: woo-discount-rules/view/view-pricing-rules.php:496
406
  msgid "Each"
407
  msgstr ""
408
 
409
  #. Text in echo
410
- #: woo-discount-rules/view/cart-rules.php:141
411
- #: woo-discount-rules/view/pricing-rules.php:169
412
  msgid "Edit"
413
  msgstr ""
414
 
415
  #. Text in echo
416
- #: woo-discount-rules/view/view-cart-rules.php:58
417
  msgid "Edit Cart Rule"
418
  msgstr ""
419
 
420
  #. Text in echo
421
- #: woo-discount-rules/view/view-pricing-rules.php:42
422
  msgid "Edit Price Rule"
423
  msgstr ""
424
 
425
  #. Text in echo
426
- #: woo-discount-rules/view/view-cart-rules.php:265
427
- #: woo-discount-rules/view/view-cart-rules.php:267
428
  msgid "Email with Domain (Eg: gmail.com)"
429
  msgstr ""
430
 
431
  #. Text in echo
432
- #: woo-discount-rules/view/view-cart-rules.php:255
433
- #: woo-discount-rules/view/view-cart-rules.php:257
434
  msgid "Email with TLD (Eg: edu)"
435
  msgstr ""
436
 
437
  #. Text in function
438
- #: woo-discount-rules/view/cart-rules.php:112
439
- #: woo-discount-rules/view/pricing-rules.php:140
440
  msgid "Enable"
441
  msgstr ""
442
 
443
  #. Text in echo
444
- #: woo-discount-rules/view/settings.php:63
445
  msgid "Enable Bootstrap"
446
  msgstr ""
447
 
448
  #. Text in echo
449
- #: woo-discount-rules/view/settings.php:275
450
  msgid "Enable free shipping option"
451
  msgstr ""
452
 
453
  #. Text in echo
454
- #: woo-discount-rules/view/cart-rules.php:80
455
- #: woo-discount-rules/view/pricing-rules.php:108
456
  msgid "Enable rules"
457
  msgstr ""
458
 
459
  #. Text in echo
460
- #: woo-discount-rules/view/view-pricing-rules.php:442
461
  msgid "Enter the amount"
462
  msgstr ""
463
 
464
  #. Text in echo
465
- #: woo-discount-rules/view/view-pricing-rules.php:442
466
  msgid "Enter the coupon code separated by comma(,)"
467
  msgstr ""
468
 
469
  #. Text in echo
470
- #: woo-discount-rules/view/view-pricing-rules.php:502
471
  msgid "Equal"
472
  msgstr ""
473
 
474
  #. Text in echo
475
- #: woo-discount-rules/view/settings.php:336
476
  msgid "Exclude Draft products in product select box."
477
  msgstr ""
478
 
479
  #. Text in echo
480
- #: woo-discount-rules/view/view-pricing-rules.php:222
481
  msgid "Exclude products"
482
  msgstr ""
483
 
484
  #. Text in echo
485
- #: woo-discount-rules/view/view-pricing-rules.php:241
486
  msgid "Exclude sale items"
487
  msgstr ""
488
 
489
  #. Text in echo
490
- #: woo-discount-rules/view/cart-rules.php:170
491
- #: woo-discount-rules/view/pricing-rules.php:198
492
  msgid "Expired On"
493
  msgstr ""
494
 
495
  #. Text in echo
496
- #: woo-discount-rules/view/view-pricing-rules.php:518
497
  msgid "First quantity(s)"
498
  msgstr ""
499
 
500
  #. Text in echo
501
- #: woo-discount-rules/view/view-pricing-rules.php:712
502
  msgid "Fixed"
503
  msgstr ""
504
 
505
  #. Text in echo
506
- #: woo-discount-rules/view/view-pricing-rules.php:641
507
  msgid "Fixed item count"
508
  msgstr ""
509
 
510
  #. Text in echo
511
- #: woo-discount-rules/view/view-pricing-rules.php:644
512
  msgid "Fixed item count - You need to provide item count manually. Dynamic item count - System will choose dynamically based on cart"
513
  msgstr ""
514
 
515
  #. Text in echo
516
- #: woo-discount-rules/view/settings.php:75
517
  msgid "Force refresh the cart widget while add and remove item to cart"
518
  msgstr ""
519
 
520
  #. Text in function
521
- #: woo-discount-rules/view/settings.php:316
522
  msgid "Free Shipping"
523
  msgstr ""
524
 
525
  #. Text in echo
526
- #: woo-discount-rules/view/settings.php:319
527
  msgid "Free Shipping title"
528
  msgstr ""
529
 
530
  #. Text in echo
531
- #: woo-discount-rules/view/view-pricing-rules.php:628
532
  msgid "Free quantity"
533
  msgstr ""
534
 
535
  #. Text in echo
536
- #: woo-discount-rules/view/view-cart-rules.php:557
537
- #: woo-discount-rules/view/view-cart-rules.php:559
538
  msgid "Free shipping"
539
  msgstr ""
540
 
541
  #. Text in echo
542
- #: woo-discount-rules/view/settings.php:312
543
  msgid "Free shipping text to be displayed"
544
  msgstr ""
545
 
546
  #. Text in echo
547
- #: woo-discount-rules/view/view-cart-rules.php:117
548
- #: woo-discount-rules/view/view-pricing-rules.php:127
549
- #: woo-discount-rules/view/view-pricing-rules.php:503
550
  msgid "From"
551
  msgstr ""
552
 
553
  #. Text in echo
554
  #: woo-discount-rules/view/includes/cart-menu.php:9
555
  #: woo-discount-rules/view/includes/sub-menu.php:9
556
- #: woo-discount-rules/view/view-cart-rules.php:61
557
- #: woo-discount-rules/view/view-pricing-rules.php:45
558
  msgid "General"
559
  msgstr ""
560
 
561
  #. Text in echo
562
- #: woo-discount-rules/view/settings.php:23
563
  msgid "General Settings"
564
  msgstr ""
565
 
566
  #. Text in echo
567
- #: woo-discount-rules/view/view-cart-rules.php:463
568
- #: woo-discount-rules/view/view-pricing-rules.php:456
569
  msgid "Greater than or equal to"
570
  msgstr ""
571
 
@@ -585,54 +610,59 @@ msgid "Hide"
585
  msgstr ""
586
 
587
  #. Text in echo
588
- #: woo-discount-rules/view/view-cart-rules.php:466
589
- #: woo-discount-rules/view/view-pricing-rules.php:460
590
  msgid "In Order status"
591
  msgstr ""
592
 
593
  #. Text in echo
594
- #: woo-discount-rules/view/view-cart-rules.php:214
595
  msgid "In each category"
596
  msgstr ""
597
 
598
  #. Text in echo
599
- #: woo-discount-rules/view/settings.php:158
 
 
 
 
 
600
  msgid "It displays only if any rule matches"
601
  msgstr ""
602
 
603
  #. Text in echo
604
- #: woo-discount-rules/view/view-pricing-rules.php:645
605
  msgid "Item count"
606
  msgstr ""
607
 
608
  #. Text in echo
609
- #: woo-discount-rules/view/view-pricing-rules.php:652
610
  msgid "Item quantity"
611
  msgstr ""
612
 
613
  #. Text in echo
614
- #: woo-discount-rules/view/view-pricing-rules.php:501
615
  msgid "Less than"
616
  msgstr ""
617
 
618
  #. Text in echo
619
- #: woo-discount-rules/view/view-cart-rules.php:464
620
- #: woo-discount-rules/view/view-pricing-rules.php:457
621
  msgid "Less than or equal to"
622
  msgstr ""
623
 
624
  #. Text in echo
625
- #: woo-discount-rules/view/settings.php:30
626
  msgid "License Key :"
627
  msgstr ""
628
 
629
  #. Text in echo
630
- #: woo-discount-rules/view/settings.php:48
631
  msgid "License key seems to be Invalid. Please enter a valid license key"
632
  msgstr ""
633
 
634
  #. Text in echo
635
- #: woo-discount-rules/view/view-pricing-rules.php:682
636
  msgid "Limited percent"
637
  msgstr ""
638
 
@@ -642,77 +672,82 @@ msgid "Looking for more features? Upgrade to PRO"
642
  msgstr ""
643
 
644
  #. Text in echo
645
- #: woo-discount-rules/view/view-pricing-rules.php:570
 
 
 
 
 
646
  msgid "Max Quantity"
647
  msgstr ""
648
 
649
  #. Text in echo
650
- #: woo-discount-rules/view/view-pricing-rules.php:88
651
  msgid "Method"
652
  msgstr ""
653
 
654
  #. Text in echo
655
- #: woo-discount-rules/view/view-pricing-rules.php:90
656
  msgid "Method to Apply."
657
  msgstr ""
658
 
659
  #. Text in echo
660
- #: woo-discount-rules/view/view-pricing-rules.php:563
661
  msgid "Min Quantity"
662
  msgstr ""
663
 
664
  #. Text in echo
665
- #: woo-discount-rules/view/view-pricing-rules.php:500
666
  msgid "More than"
667
  msgstr ""
668
 
669
  #. Text in echo
670
- #: woo-discount-rules/view/view-pricing-rules.php:625
671
  msgid "More than one cheapest from all"
672
  msgstr ""
673
 
674
  #. Text in echo
675
- #: woo-discount-rules/view/view-pricing-rules.php:624
676
  msgid "More than one cheapest from selected"
677
  msgstr ""
678
 
679
  #. Text in echo
680
- #: woo-discount-rules/view/view-pricing-rules.php:623
681
  msgid "More than one cheapest from selected category"
682
  msgstr ""
683
 
684
  #. Text in echo
685
- #: woo-discount-rules/view/cart-rules.php:168
686
- #: woo-discount-rules/view/pricing-rules.php:196
687
  #: woo-discount-rules/view/template/discount-table.php:18
688
  msgid "Name"
689
  msgstr ""
690
 
691
  #. Text in echo
692
- #: woo-discount-rules/view/view-cart-rules.php:56
693
  msgid "New Cart Rule"
694
  msgstr ""
695
 
696
  #. Text in echo
697
- #: woo-discount-rules/view/view-pricing-rules.php:40
698
  msgid "New Price Rule"
699
  msgstr ""
700
 
701
  #. Text in echo
702
- #: woo-discount-rules/view/view-cart-rules.php:126
703
- #: woo-discount-rules/view/view-cart-rules.php:517
704
- #: woo-discount-rules/view/view-pricing-rules.php:135
705
- #: woo-discount-rules/view/view-pricing-rules.php:533
706
  msgid "Next"
707
  msgstr ""
708
 
709
  #. Text in echo
710
- #: woo-discount-rules/view/settings.php:69
711
- #: woo-discount-rules/view/settings.php:81
712
- #: woo-discount-rules/view/settings.php:206
713
- #: woo-discount-rules/view/settings.php:269
714
- #: woo-discount-rules/view/view-cart-rules.php:497
715
- #: woo-discount-rules/view/view-pricing-rules.php:343
716
  msgid "No"
717
  msgstr ""
718
 
@@ -722,83 +757,84 @@ msgid "No Active Discounts."
722
  msgstr ""
723
 
724
  #. Text in echo
725
- #: woo-discount-rules/view/view-cart-rules.php:471
726
- #: woo-discount-rules/view/view-pricing-rules.php:187
727
- #: woo-discount-rules/view/view-pricing-rules.php:203
728
- #: woo-discount-rules/view/view-pricing-rules.php:468
729
- #: woo-discount-rules/view/view-pricing-rules.php:669
 
730
  msgid "None selected"
731
  msgstr ""
732
 
733
  #. Text in echo
734
- #: woo-discount-rules/view/view-cart-rules.php:171
735
  msgid "Number of line items in the cart (not quantity) at least"
736
  msgstr ""
737
 
738
  #. Text in echo
739
- #: woo-discount-rules/view/view-cart-rules.php:175
740
  msgid "Number of line items in the cart (not quantity) less than"
741
  msgstr ""
742
 
743
  #. Text in echo
744
- #: woo-discount-rules/view/view-cart-rules.php:311
745
- #: woo-discount-rules/view/view-cart-rules.php:313
746
  msgid "Number of order purchased"
747
  msgstr ""
748
 
749
  #. Text in echo
750
- #: woo-discount-rules/view/view-cart-rules.php:321
751
- #: woo-discount-rules/view/view-cart-rules.php:323
752
  msgid "Number of order purchased in products"
753
  msgstr ""
754
 
755
  #. Text in echo
756
- #: woo-discount-rules/view/view-pricing-rules.php:421
757
  msgid "Number of orders"
758
  msgstr ""
759
 
760
  #. Text in echo
761
- #: woo-discount-rules/view/view-pricing-rules.php:628
762
  msgid "Number of quantity(ies) in each selected product(s)"
763
  msgstr ""
764
 
765
  #. Text in echo
766
- #: woo-discount-rules/view/view-pricing-rules.php:277
767
  #: woo-discount-rules/view/view-pricing-rules.php:279
 
768
  msgid "Only Given"
769
  msgstr ""
770
 
771
  #. Text in function
772
- #: woo-discount-rules/view/cart-rules.php:172
773
- #: woo-discount-rules/view/pricing-rules.php:200
774
  msgid "Order"
775
  msgstr ""
776
 
777
  #. Text in echo
778
- #: woo-discount-rules/view/view-cart-rules.php:65
779
- #: woo-discount-rules/view/view-pricing-rules.php:49
780
  msgid "Order :"
781
  msgstr ""
782
 
783
  #. Text in echo
784
- #: woo-discount-rules/view/view-pricing-rules.php:711
785
  msgid "Percent"
786
  msgstr ""
787
 
788
  #. Text in echo
789
- #: woo-discount-rules/view/view-pricing-rules.php:689
790
  msgid "Percentage"
791
  msgstr ""
792
 
793
  #. Text in echo
794
- #: woo-discount-rules/view/view-cart-rules.php:542
795
- #: woo-discount-rules/view/view-pricing-rules.php:582
796
  msgid "Percentage Discount"
797
  msgstr ""
798
 
799
  #. Text in echo
800
- #: woo-discount-rules/view/view-cart-rules.php:104
801
- #: woo-discount-rules/view/view-pricing-rules.php:114
802
  msgid "Period of Rule Active. Format: month/day/Year Hour:Min"
803
  msgstr ""
804
 
@@ -808,18 +844,18 @@ msgid "Please contact our support team"
808
  msgstr ""
809
 
810
  #. Text in echo
811
- #: woo-discount-rules/view/view-cart-rules.php:516
812
- #: woo-discount-rules/view/view-cart-rules.php:576
813
- #: woo-discount-rules/view/view-pricing-rules.php:532
814
- #: woo-discount-rules/view/view-pricing-rules.php:718
815
  msgid "Previous"
816
  msgstr ""
817
 
818
  #. Text in echo
819
- #: woo-discount-rules/view/view-cart-rules.php:548
820
- #: woo-discount-rules/view/view-cart-rules.php:550
821
- #: woo-discount-rules/view/view-pricing-rules.php:590
822
- #: woo-discount-rules/view/view-pricing-rules.php:592
823
  msgid "Price Discount"
824
  msgstr ""
825
 
@@ -829,58 +865,58 @@ msgid "Price Discount Rules"
829
  msgstr ""
830
 
831
  #. Text in echo
832
- #: woo-discount-rules/view/pricing-rules.php:78
833
  msgid "Price Rules"
834
  msgstr ""
835
 
836
  #. Text in echo
837
- #: woo-discount-rules/view/settings.php:86
838
  msgid "Price rules settings"
839
  msgstr ""
840
 
841
  #. Text in echo
842
- #: woo-discount-rules/view/view-pricing-rules.php:600
843
- #: woo-discount-rules/view/view-pricing-rules.php:602
844
  msgid "Product Discount"
845
  msgstr ""
846
 
847
  #. Text in echo
848
- #: woo-discount-rules/view/view-pricing-rules.php:511
849
  msgid "Product(s) from"
850
  msgstr ""
851
 
852
  #. Text in echo
853
- #: woo-discount-rules/view/view-cart-rules.php:295
854
- #: woo-discount-rules/view/view-pricing-rules.php:412
855
  msgid "Purchase History"
856
  msgstr ""
857
 
858
  #. Text in echo
859
- #: woo-discount-rules/view/view-cart-rules.php:301
860
- #: woo-discount-rules/view/view-cart-rules.php:303
861
- #: woo-discount-rules/view/view-pricing-rules.php:420
862
  msgid "Purchased amount"
863
  msgstr ""
864
 
865
  #. Text in echo
866
- #: woo-discount-rules/view/view-pricing-rules.php:422
867
  msgid "Purchased product"
868
  msgstr ""
869
 
870
  #. Text in echo
871
- #: woo-discount-rules/view/view-pricing-rules.php:505
872
- #: woo-discount-rules/view/view-pricing-rules.php:508
873
- #: woo-discount-rules/view/view-pricing-rules.php:521
874
  msgid "Quantity"
875
  msgstr ""
876
 
877
  #. Text in echo
878
- #: woo-discount-rules/view/view-cart-rules.php:178
879
  msgid "Quantity Sum"
880
  msgstr ""
881
 
882
  #. Text in echo
883
- #: woo-discount-rules/view/view-pricing-rules.php:96
884
  msgid "Quantity based by product/category and BOGO deals"
885
  msgstr ""
886
 
@@ -890,52 +926,52 @@ msgid "Range"
890
  msgstr ""
891
 
892
  #. Text in echo
893
- #: woo-discount-rules/view/view-cart-rules.php:506
894
- #: woo-discount-rules/view/view-pricing-rules.php:696
895
  msgid "Remove"
896
  msgstr ""
897
 
898
  #. Text in echo
899
- #: woo-discount-rules/view/view-cart-rules.php:92
900
- #: woo-discount-rules/view/view-pricing-rules.php:77
901
  msgid "Rule Description"
902
  msgstr ""
903
 
904
  #. Text in echo
905
- #: woo-discount-rules/view/view-cart-rules.php:94
906
- #: woo-discount-rules/view/view-pricing-rules.php:79
907
  msgid "Rule Descriptions."
908
  msgstr ""
909
 
910
  #. Text in echo
911
- #: woo-discount-rules/view/view-cart-rules.php:80
912
- #: woo-discount-rules/view/view-pricing-rules.php:65
913
  msgid "Rule Name"
914
  msgstr ""
915
 
916
  #. Text in echo
917
- #: woo-discount-rules/view/settings.php:231
918
  msgid "Rule Setup for Cart:"
919
  msgstr ""
920
 
921
  #. Text in echo
922
- #: woo-discount-rules/view/settings.php:94
923
  msgid "Rule Setup for Price:"
924
  msgstr ""
925
 
926
  #. Text in echo
927
- #: woo-discount-rules/view/view-pricing-rules.php:620
928
  msgid "Same product"
929
  msgstr ""
930
 
931
  #. Text in echo
932
- #: woo-discount-rules/view/settings.php:19
933
  msgid "Save"
934
  msgstr ""
935
 
936
  #. Text in echo
937
- #: woo-discount-rules/view/view-cart-rules.php:52
938
- #: woo-discount-rules/view/view-pricing-rules.php:36
939
  msgid "Save Rule"
940
  msgstr ""
941
 
@@ -945,193 +981,205 @@ msgid "Settings"
945
  msgstr ""
946
 
947
  #. Text in echo
948
- #: woo-discount-rules/view/view-cart-rules.php:243
949
- #: woo-discount-rules/view/view-cart-rules.php:245
 
 
 
 
 
 
950
  msgid "Shipping country in list"
951
  msgstr ""
952
 
953
  #. Text in echo
954
- #: woo-discount-rules/view/view-cart-rules.php:289
955
- #: woo-discount-rules/view/view-cart-rules.php:291
956
  msgid "Shipping state"
957
  msgstr ""
958
 
959
  #. Text in echo
960
- #: woo-discount-rules/view/settings.php:189
 
 
 
 
 
 
961
  msgid "Show"
962
  msgstr ""
963
 
964
  #. Text in echo
965
- #: woo-discount-rules/view/settings.php:183
966
  msgid "Show Discount Title on Table :"
967
  msgstr ""
968
 
969
  #. Text in echo
970
- #: woo-discount-rules/view/settings.php:127
971
  msgid "Show Price discount on product page :"
972
  msgstr ""
973
 
974
  #. Text in echo
975
- #: woo-discount-rules/view/settings.php:146
976
  msgid "Show Sale tag on product page :"
977
  msgstr ""
978
 
979
  #. Text in echo
980
- #: woo-discount-rules/view/settings.php:200
981
  msgid "Show strikeout discount in cart item"
982
  msgstr ""
983
 
984
  #. Text in echo
985
- #: woo-discount-rules/view/view-pricing-rules.php:519
986
  msgid "Skip first quantity(s)"
987
  msgstr ""
988
 
989
  #. Text in echo
990
- #: woo-discount-rules/view/view-pricing-rules.php:170
991
  #: woo-discount-rules/view/view-pricing-rules.php:172
 
992
  msgid "Specific attributes"
993
  msgstr ""
994
 
995
  #. Text in echo
996
- #: woo-discount-rules/view/view-pricing-rules.php:161
997
  #: woo-discount-rules/view/view-pricing-rules.php:163
 
998
  msgid "Specific categories"
999
  msgstr ""
1000
 
1001
  #. Text in echo
1002
- #: woo-discount-rules/view/view-pricing-rules.php:155
1003
  msgid "Specific products"
1004
  msgstr ""
1005
 
1006
  #. Text in echo
1007
- #: woo-discount-rules/view/cart-rules.php:169
1008
- #: woo-discount-rules/view/pricing-rules.php:197
1009
  msgid "Start Date"
1010
  msgstr ""
1011
 
1012
  #. Text in echo
1013
- #: woo-discount-rules/view/view-pricing-rules.php:366
1014
  msgid "Subtotal"
1015
  msgstr ""
1016
 
1017
  #. Text in echo
1018
- #: woo-discount-rules/view/view-cart-rules.php:161
1019
  msgid "Subtotal at least"
1020
  msgstr ""
1021
 
1022
  #. Text in echo
1023
- #: woo-discount-rules/view/view-pricing-rules.php:377
1024
  msgid "Subtotal atleast"
1025
  msgstr ""
1026
 
1027
  #. Text in echo
1028
- #: woo-discount-rules/view/view-cart-rules.php:165
1029
  msgid "Subtotal less than"
1030
  msgstr ""
1031
 
1032
  #. Text in echo
1033
- #: woo-discount-rules/view/settings.php:330
1034
- #: woo-discount-rules/view/view-pricing-rules.php:442
1035
- #: woo-discount-rules/view/view-pricing-rules.php:612
1036
  msgid "Supported in PRO version"
1037
  msgstr ""
1038
 
1039
  #. Text in echo
1040
- #: woo-discount-rules/view/view-pricing-rules.php:442
1041
  msgid "Supported in WooCommerce 3.x"
1042
  msgstr ""
1043
 
1044
  #. Text in echo
1045
- #: woo-discount-rules/view/view-cart-rules.php:67
1046
- #: woo-discount-rules/view/view-pricing-rules.php:51
1047
  msgid "The Simple Ranking concept to said, which one is going to execute first and so on."
1048
  msgstr ""
1049
 
1050
  #. Text in echo
1051
- #: woo-discount-rules/view/view-cart-rules.php:121
1052
  msgid "To"
1053
  msgstr ""
1054
 
1055
  #. Text in echo
1056
- #: woo-discount-rules/view/view-pricing-rules.php:131
1057
  msgid "To - Leave Empty if No Expiry"
1058
  msgstr ""
1059
 
1060
  #. Text in echo
1061
- #: woo-discount-rules/view/view-cart-rules.php:497
1062
- #: woo-discount-rules/view/view-pricing-rules.php:343
1063
  msgid "To get this condition work,"
1064
  msgstr ""
1065
 
1066
  #. Text in echo
1067
- #: woo-discount-rules/view/view-cart-rules.php:187
1068
  msgid "Total number of quantities in the cart at least"
1069
  msgstr ""
1070
 
1071
  #. Text in echo
1072
- #: woo-discount-rules/view/view-cart-rules.php:199
1073
  msgid "Total number of quantities in the cart less than"
1074
  msgstr ""
1075
 
1076
  #. Text in echo
1077
- #: woo-discount-rules/view/view-cart-rules.php:154
1078
  msgid "Type"
1079
  msgstr ""
1080
 
1081
  #. Text in echo
1082
- #: woo-discount-rules/view/settings.php:298
1083
  msgid "Use Woo-Discount free shipping"
1084
  msgstr ""
1085
 
1086
  #. Text in echo
1087
- #: woo-discount-rules/view/settings.php:295
1088
  msgid "Use Woocommerce free shipping"
1089
  msgstr ""
1090
 
1091
  #. Text in echo
1092
- #: woo-discount-rules/view/view-cart-rules.php:223
1093
- #: woo-discount-rules/view/view-cart-rules.php:225
1094
  msgid "User in list"
1095
  msgstr ""
1096
 
1097
  #. Text in echo
1098
- #: woo-discount-rules/view/view-cart-rules.php:233
1099
- #: woo-discount-rules/view/view-cart-rules.php:235
1100
  msgid "User role in list"
1101
  msgstr ""
1102
 
1103
  #. Text in echo
1104
- #: woo-discount-rules/view/view-pricing-rules.php:293
1105
  msgid "User roles"
1106
  msgstr ""
1107
 
1108
  #. Text in echo
1109
- #: woo-discount-rules/view/settings.php:37
1110
  msgid "Validate Key"
1111
  msgstr ""
1112
 
1113
  #. Text in echo
1114
- #: woo-discount-rules/view/view-cart-rules.php:103
1115
- #: woo-discount-rules/view/view-pricing-rules.php:113
1116
  msgid "Validity"
1117
  msgstr ""
1118
 
1119
  #. Text in echo
1120
- #: woo-discount-rules/view/view-cart-rules.php:353
1121
- #: woo-discount-rules/view/view-pricing-rules.php:606
1122
- #: woo-discount-rules/view/view-pricing-rules.php:713
1123
  msgid "Value"
1124
  msgstr ""
1125
 
1126
  #. Text in echo
1127
- #: woo-discount-rules/view/cart-rules.php:50
1128
- #: woo-discount-rules/view/pricing-rules.php:82
1129
  msgid "View Examples"
1130
  msgstr ""
1131
 
1132
  #. Text in echo
1133
- #: woo-discount-rules/view/view-cart-rules.php:74
1134
- #: woo-discount-rules/view/view-pricing-rules.php:59
1135
  msgid "WARNING: More than one rule should not have same priority."
1136
  msgstr ""
1137
 
@@ -1143,82 +1191,82 @@ msgid "Woo Discount Rules"
1143
  msgstr ""
1144
 
1145
  #. Text in echo
1146
- #: woo-discount-rules/view/settings.php:68
1147
- #: woo-discount-rules/view/settings.php:80
1148
- #: woo-discount-rules/view/settings.php:205
1149
- #: woo-discount-rules/view/settings.php:268
1150
  msgid "Yes"
1151
  msgstr ""
1152
 
1153
  #. Text in echo
1154
- #: woo-discount-rules/view/cart-rules.php:61
1155
- #: woo-discount-rules/view/pricing-rules.php:93
1156
  msgid "You Reach Max. Rule Limit"
1157
  msgstr ""
1158
 
1159
  #. Text in echo
1160
- #: woo-discount-rules/view/settings.php:36
1161
  msgid "Your Unique License Key"
1162
  msgstr ""
1163
 
1164
  #. Text in echo
1165
- #: woo-discount-rules/view/view-pricing-rules.php:679
1166
  msgid "and"
1167
  msgstr ""
1168
 
1169
  #. Text in echo
1170
- #: woo-discount-rules/view/view-pricing-rules.php:515
1171
  msgid "and get discount in "
1172
  msgstr ""
1173
 
1174
  #. Text in echo
1175
- #: woo-discount-rules/view/view-pricing-rules.php:691
1176
  msgid "as discount"
1177
  msgstr ""
1178
 
1179
  #. Text in echo
1180
- #: woo-discount-rules/view/view-cart-rules.php:73
1181
- #: woo-discount-rules/view/view-pricing-rules.php:58
1182
- #: woo-discount-rules/view/view-pricing-rules.php:568
1183
- #: woo-discount-rules/view/view-pricing-rules.php:657
1184
  msgid "ex. 1"
1185
  msgstr ""
1186
 
1187
  #. Text in echo
1188
- #: woo-discount-rules/view/view-pricing-rules.php:689
1189
  msgid "ex. 10"
1190
  msgstr ""
1191
 
1192
  #. Text in echo
1193
- #: woo-discount-rules/view/view-pricing-rules.php:575
1194
- #: woo-discount-rules/view/view-pricing-rules.php:611
1195
  msgid "ex. 50"
1196
  msgstr ""
1197
 
1198
  #. Text in echo
1199
- #: woo-discount-rules/view/view-cart-rules.php:87
1200
- #: woo-discount-rules/view/view-pricing-rules.php:72
1201
  msgid "ex. Standard Rule."
1202
  msgstr ""
1203
 
1204
  #. Text in echo
1205
- #: woo-discount-rules/view/view-cart-rules.php:497
1206
- #: woo-discount-rules/view/view-pricing-rules.php:343
1207
  msgid "in cart to"
1208
  msgstr ""
1209
 
1210
  #. Text in echo
1211
- #: woo-discount-rules/view/view-cart-rules.php:497
1212
- #: woo-discount-rules/view/view-pricing-rules.php:343
1213
  msgid "please change the option"
1214
  msgstr ""
1215
 
1216
  #. Text in echo
1217
- #: woo-discount-rules/view/view-pricing-rules.php:507
1218
  msgid "to"
1219
  msgstr ""
1220
 
1221
  #. Text in echo
1222
- #: woo-discount-rules/view/view-cart-rules.php:568
1223
  msgid "value :"
1224
  msgstr ""
12
  "X-Generator: Poedit 1.8.7.1\n"
13
 
14
  #. Text in echo
15
+ #: woo-discount-rules/view/view-pricing-rules.php:541
16
  msgid " Product(s) "
17
  msgstr ""
18
 
19
  #. Text in echo
20
+ #: woo-discount-rules/view/view-pricing-rules.php:710
21
  msgid "100% percent"
22
  msgstr ""
23
 
24
  #. Text in echo
25
+ #: woo-discount-rules/view/cart-rules.php:179
26
+ #: woo-discount-rules/view/pricing-rules.php:207
27
+ #: woo-discount-rules/view/view-cart-rules.php:533
28
  msgid "Action"
29
  msgstr ""
30
 
31
  #. Text in echo
32
+ #: woo-discount-rules/view/view-cart-rules.php:135
33
  msgid "Add Condition"
34
  msgstr ""
35
 
36
  #. Text in echo
37
+ #: woo-discount-rules/view/view-pricing-rules.php:572
38
  msgid "Add New Range"
39
  msgstr ""
40
 
41
  #. Text in echo
42
+ #: woo-discount-rules/view/cart-rules.php:67
43
+ #: woo-discount-rules/view/pricing-rules.php:98
44
  msgid "Add New Rule"
45
  msgstr ""
46
 
47
  #. Text in echo
48
+ #: woo-discount-rules/view/view-pricing-rules.php:605
49
  msgid "Adjustment Type"
50
  msgstr ""
51
 
52
  #. Text in echo
53
+ #: woo-discount-rules/view/view-pricing-rules.php:272
54
+ #: woo-discount-rules/view/view-pricing-rules.php:534
55
  msgid "All"
56
  msgstr ""
57
 
58
  #. Text in echo
59
+ #: woo-discount-rules/view/view-pricing-rules.php:153
60
  msgid "All products"
61
  msgstr ""
62
 
63
  #. Text in echo
64
+ #: woo-discount-rules/view/view-cart-rules.php:371
65
+ #: woo-discount-rules/view/view-cart-rules.php:373
66
+ #: woo-discount-rules/view/view-pricing-rules.php:648
67
  msgid "All selected"
68
  msgstr ""
69
 
73
  msgstr ""
74
 
75
  #. Text in echo
76
+ #: woo-discount-rules/view/view-pricing-rules.php:505
77
  msgid "Any"
78
  msgstr ""
79
 
80
  #. Text in echo
81
+ #: woo-discount-rules/view/view-pricing-rules.php:651
82
  msgid "Any one cheapest from all products"
83
  msgstr ""
84
 
85
  #. Text in echo
86
+ #: woo-discount-rules/view/view-pricing-rules.php:650
87
  msgid "Any one cheapest from selected"
88
  msgstr ""
89
 
90
  #. Text in echo
91
+ #: woo-discount-rules/view/cart-rules.php:85
92
+ #: woo-discount-rules/view/pricing-rules.php:113
93
  msgid "Apply"
94
  msgstr ""
95
 
96
  #. Text in echo
97
+ #: woo-discount-rules/view/view-pricing-rules.php:147
98
  msgid "Apply To"
99
  msgstr ""
100
 
101
  #. Text in echo
102
+ #: woo-discount-rules/view/settings.php:247
103
+ #: woo-discount-rules/view/settings.php:249
104
  msgid "Apply all matched rules"
105
  msgstr ""
106
 
107
  #. Text in echo
108
+ #: woo-discount-rules/view/settings.php:256
109
+ #: woo-discount-rules/view/settings.php:258
110
  msgid "Apply biggest discount"
111
  msgstr ""
112
 
113
  #. Text in echo
114
+ #: woo-discount-rules/view/view-pricing-rules.php:528
115
+ msgid "Apply discount in category(ies)"
116
+ msgstr ""
117
+
118
+ #. Text in echo
119
+ #: woo-discount-rules/view/view-pricing-rules.php:527
120
+ msgid "Apply discount in product(s)"
121
+ msgstr ""
122
+
123
+ #. Text in echo
124
+ #: woo-discount-rules/view/settings.php:104
125
+ #: woo-discount-rules/view/settings.php:241
126
  msgid "Apply first matched rule"
127
  msgstr ""
128
 
129
  #. Text in echo
130
+ #: woo-discount-rules/view/view-pricing-rules.php:646
131
  msgid "Apply for"
132
  msgstr ""
133
 
134
  #. Text in echo
135
+ #: woo-discount-rules/view/view-pricing-rules.php:332
136
  msgid "Apply if all coupon applied"
137
  msgstr ""
138
 
139
  #. Text in echo
140
+ #: woo-discount-rules/view/view-pricing-rules.php:331
141
  msgid "Apply if any one coupon applied"
142
  msgstr ""
143
 
144
  #. Text in echo
145
+ #: woo-discount-rules/view/view-cart-rules.php:361
146
+ #: woo-discount-rules/view/view-cart-rules.php:363
147
  msgid "Atleast any one"
148
  msgstr ""
149
 
150
  #. Text in echo
151
+ #: woo-discount-rules/view/view-cart-rules.php:285
152
+ #: woo-discount-rules/view/view-cart-rules.php:287
153
  msgid "Billing city"
154
  msgstr ""
155
 
156
  #. Text in echo
157
+ #: woo-discount-rules/view/cart-rules.php:80
158
+ #: woo-discount-rules/view/pricing-rules.php:108
159
  msgid "Bulk Actions"
160
  msgstr ""
161
 
162
  #. Text in echo
163
+ #: woo-discount-rules/view/view-pricing-rules.php:503
164
  msgid "Buy"
165
  msgstr ""
166
 
167
  #. Text in echo
168
+ #: woo-discount-rules/view/view-cart-rules.php:54
169
+ #: woo-discount-rules/view/view-pricing-rules.php:38
170
  msgid "Cancel and go back to list"
171
  msgstr ""
172
 
173
  #. Text in echo
174
+ #: woo-discount-rules/view/view-cart-rules.php:132
175
  msgid "Cart Conditions"
176
  msgstr ""
177
 
181
  msgstr ""
182
 
183
  #. Text in echo
184
+ #: woo-discount-rules/view/view-cart-rules.php:170
185
  msgid "Cart Item Count"
186
  msgstr ""
187
 
188
  #. Text in echo
189
+ #: woo-discount-rules/view/cart-rules.php:47
190
  msgid "Cart Rules"
191
  msgstr ""
192
 
193
  #. Text in echo
194
+ #: woo-discount-rules/view/view-cart-rules.php:160
195
  msgid "Cart Subtotal"
196
  msgstr ""
197
 
198
  #. Text in echo
199
+ #: woo-discount-rules/view/settings.php:215
200
  msgid "Cart rules settings"
201
  msgstr ""
202
 
203
  #. Text in echo
204
+ #: woo-discount-rules/view/view-cart-rules.php:205
205
  msgid "Categories In Cart"
206
  msgstr ""
207
 
208
  #. Text in echo
209
+ #: woo-discount-rules/view/view-cart-rules.php:210
210
  msgid "Categories in cart"
211
  msgstr ""
212
 
213
  #. Text in echo
214
+ #: woo-discount-rules/view/view-pricing-rules.php:545
215
+ msgid "Category(ies)"
216
+ msgstr ""
217
+
218
+ #. Text in echo
219
+ #: woo-discount-rules/view/view-pricing-rules.php:248
220
  msgid "Check this box if the rule should not apply to items on sale."
221
  msgstr ""
222
 
223
  #. Text in echo
224
+ #: woo-discount-rules/view/view-pricing-rules.php:200
225
  msgid "Check this box to apply child category(ies)"
226
  msgstr ""
227
 
228
  #. Text in echo
229
+ #: woo-discount-rules/view/view-pricing-rules.php:214
230
  msgid "Check this box to count quantities cumulatively across attribute"
231
  msgstr ""
232
 
233
  #. Text in echo
234
+ #: woo-discount-rules/view/view-pricing-rules.php:197
235
  msgid "Check this box to count quantities cumulatively across category(ies)"
236
  msgstr ""
237
 
238
  #. Text in echo
239
+ #: woo-discount-rules/view/view-pricing-rules.php:185
240
  msgid "Check this box to count quantities cumulatively across products"
241
  msgstr ""
242
 
243
  #. Text in echo
244
+ #: woo-discount-rules/view/view-pricing-rules.php:507
245
  msgid "Combine"
246
  msgstr ""
247
 
256
  msgstr ""
257
 
258
  #. Text in echo
259
+ #: woo-discount-rules/view/view-pricing-rules.php:322
260
  msgid "Coupon"
261
  msgstr ""
262
 
263
  #. Text in echo
264
+ #: woo-discount-rules/view/settings.php:222
265
  msgid "Coupon Name to be displayed :"
266
  msgstr ""
267
 
268
  #. Text in echo
269
+ #: woo-discount-rules/view/view-cart-rules.php:355
270
  msgid "Coupon applied"
271
  msgstr ""
272
 
273
  #. Text in echo
274
+ #: woo-discount-rules/view/view-cart-rules.php:279
275
  msgid "Customer Billing Details"
276
  msgstr ""
277
 
278
  #. Text in echo
279
+ #: woo-discount-rules/view/view-cart-rules.php:225
280
  msgid "Customer Details (must be logged in)"
281
  msgstr ""
282
 
283
  #. Text in echo
284
+ #: woo-discount-rules/view/view-cart-rules.php:257
285
  msgid "Customer Email"
286
  msgstr ""
287
 
288
  #. Text in echo
289
+ #: woo-discount-rules/view/view-cart-rules.php:291
290
  msgid "Customer Shipping Details"
291
  msgstr ""
292
 
293
  #. Text in echo
294
+ #: woo-discount-rules/view/view-pricing-rules.php:267
295
  msgid "Customers"
296
  msgstr ""
297
 
298
  #. Text in echo
299
+ #: woo-discount-rules/view/cart-rules.php:153
300
+ #: woo-discount-rules/view/pricing-rules.php:181
301
  msgid "Delete"
302
  msgstr ""
303
 
304
  #. Text in echo
305
+ #: woo-discount-rules/view/cart-rules.php:83
306
+ #: woo-discount-rules/view/pricing-rules.php:111
307
  msgid "Delete rules"
308
  msgstr ""
309
 
310
  #. Text in echo
 
311
  #: woo-discount-rules/view/view-pricing-rules.php:105
312
+ #: woo-discount-rules/view/view-pricing-rules.php:107
313
  msgid "Dependant product based discount"
314
  msgstr ""
315
 
316
  #. Text in function
317
+ #: woo-discount-rules/view/cart-rules.php:113
318
+ #: woo-discount-rules/view/pricing-rules.php:141
319
  msgid "Disable"
320
  msgstr ""
321
 
322
  #. Text in echo
323
+ #: woo-discount-rules/view/cart-rules.php:82
324
+ #: woo-discount-rules/view/pricing-rules.php:110
325
  msgid "Disable rules"
326
  msgstr ""
327
 
328
  #. Text in echo
329
+ #: woo-discount-rules/view/view-cart-rules.php:525
330
+ #: woo-discount-rules/view/view-pricing-rules.php:352
331
  msgid "Disable the rules while have coupon(Third party)"
332
  msgstr ""
333
 
334
  #. Text in echo
335
+ #: woo-discount-rules/view/settings.php:267
336
  msgid "Disable the rules while have coupon(Third party) in cart"
337
  msgstr ""
338
 
339
  #. Text in echo
340
+ #: woo-discount-rules/view/settings.php:289
341
+ #: woo-discount-rules/view/settings.php:296
342
  msgid "Disabled"
343
  msgstr ""
344
 
346
  #: woo-discount-rules/view/includes/cart-menu.php:13
347
  #: woo-discount-rules/view/includes/sub-menu.php:13
348
  #: woo-discount-rules/view/template/discount-table.php:22
349
+ #: woo-discount-rules/view/view-cart-rules.php:550
350
+ #: woo-discount-rules/view/view-pricing-rules.php:569
351
  msgid "Discount"
352
  msgstr ""
353
 
354
  #. Text in echo
355
+ #: woo-discount-rules/view/view-pricing-rules.php:142
356
  msgid "Discount Conditions"
357
  msgstr ""
358
 
359
  #. Text in echo
360
+ #: woo-discount-rules/view/settings.php:228
361
  msgid "Discount Coupon Name"
362
  msgstr ""
363
 
364
  #. Text in echo
365
+ #: woo-discount-rules/view/settings.php:169
366
  msgid "Discount Table :"
367
  msgstr ""
368
 
369
  #. Text in echo
370
+ #: woo-discount-rules/view/view-cart-rules.php:566
371
  msgid "Discount Type :"
372
  msgstr ""
373
 
374
  #. Text in echo
375
+ #: woo-discount-rules/view/view-pricing-rules.php:674
376
  msgid "Discount for number of item(s) in cart"
377
  msgstr ""
378
 
379
  #. Text in echo
380
+ #: woo-discount-rules/view/view-pricing-rules.php:681
381
  msgid "Discount for number of quantity(ies) in each item"
382
  msgstr ""
383
 
384
  #. Text in echo
385
+ #: woo-discount-rules/view/view-pricing-rules.php:300
386
+ #: woo-discount-rules/view/view-pricing-rules.php:330
387
+ #: woo-discount-rules/view/view-pricing-rules.php:385
388
+ #: woo-discount-rules/view/view-pricing-rules.php:428
389
  msgid "Do not use"
390
  msgstr ""
391
 
392
+ #. Text in function
393
+ #: woo-discount-rules/view/view-pricing-rules.php:556
394
+ msgid "Document for product dependent rules"
395
+ msgstr ""
396
+
397
+ #. Text in function
398
+ #: woo-discount-rules/view/view-pricing-rules.php:731
399
+ msgid "Document to create perfect BOGO rules"
400
+ msgstr ""
401
+
402
  #. Text in echo
403
+ #: woo-discount-rules/view/cart-rules.php:52
404
+ #: woo-discount-rules/view/pricing-rules.php:84
405
  msgid "Documentation"
406
  msgstr ""
407
 
408
  #. Text in echo
409
+ #: woo-discount-rules/view/settings.php:196
410
  msgid "Don't Show"
411
  msgstr ""
412
 
413
  #. Text in echo
414
+ #: woo-discount-rules/view/settings.php:330
415
  msgid "Draft"
416
  msgstr ""
417
 
418
  #. Text in echo
419
+ #: woo-discount-rules/view/cart-rules.php:146
420
+ #: woo-discount-rules/view/pricing-rules.php:174
421
  msgid "Duplicate"
422
  msgstr ""
423
 
424
  #. Text in echo
425
+ #: woo-discount-rules/view/view-pricing-rules.php:671
426
  msgid "Dynamic item count"
427
  msgstr ""
428
 
429
  #. Text in echo
430
+ #: woo-discount-rules/view/view-pricing-rules.php:506
431
  msgid "Each"
432
  msgstr ""
433
 
434
  #. Text in echo
435
+ #: woo-discount-rules/view/cart-rules.php:142
436
+ #: woo-discount-rules/view/pricing-rules.php:170
437
  msgid "Edit"
438
  msgstr ""
439
 
440
  #. Text in echo
441
+ #: woo-discount-rules/view/view-cart-rules.php:60
442
  msgid "Edit Cart Rule"
443
  msgstr ""
444
 
445
  #. Text in echo
446
+ #: woo-discount-rules/view/view-pricing-rules.php:44
447
  msgid "Edit Price Rule"
448
  msgstr ""
449
 
450
  #. Text in echo
451
+ #: woo-discount-rules/view/view-cart-rules.php:273
452
+ #: woo-discount-rules/view/view-cart-rules.php:275
453
  msgid "Email with Domain (Eg: gmail.com)"
454
  msgstr ""
455
 
456
  #. Text in echo
457
+ #: woo-discount-rules/view/view-cart-rules.php:263
458
+ #: woo-discount-rules/view/view-cart-rules.php:265
459
  msgid "Email with TLD (Eg: edu)"
460
  msgstr ""
461
 
462
  #. Text in function
463
+ #: woo-discount-rules/view/cart-rules.php:113
464
+ #: woo-discount-rules/view/pricing-rules.php:141
465
  msgid "Enable"
466
  msgstr ""
467
 
468
  #. Text in echo
469
+ #: woo-discount-rules/view/settings.php:67
470
  msgid "Enable Bootstrap"
471
  msgstr ""
472
 
473
  #. Text in echo
474
+ #: woo-discount-rules/view/settings.php:279
475
  msgid "Enable free shipping option"
476
  msgstr ""
477
 
478
  #. Text in echo
479
+ #: woo-discount-rules/view/cart-rules.php:81
480
+ #: woo-discount-rules/view/pricing-rules.php:109
481
  msgid "Enable rules"
482
  msgstr ""
483
 
484
  #. Text in echo
485
+ #: woo-discount-rules/view/view-pricing-rules.php:452
486
  msgid "Enter the amount"
487
  msgstr ""
488
 
489
  #. Text in echo
490
+ #: woo-discount-rules/view/view-pricing-rules.php:452
491
  msgid "Enter the coupon code separated by comma(,)"
492
  msgstr ""
493
 
494
  #. Text in echo
495
+ #: woo-discount-rules/view/view-pricing-rules.php:512
496
  msgid "Equal"
497
  msgstr ""
498
 
499
  #. Text in echo
500
+ #: woo-discount-rules/view/settings.php:340
501
  msgid "Exclude Draft products in product select box."
502
  msgstr ""
503
 
504
  #. Text in echo
505
+ #: woo-discount-rules/view/view-pricing-rules.php:224
506
  msgid "Exclude products"
507
  msgstr ""
508
 
509
  #. Text in echo
510
+ #: woo-discount-rules/view/view-pricing-rules.php:243
511
  msgid "Exclude sale items"
512
  msgstr ""
513
 
514
  #. Text in echo
515
+ #: woo-discount-rules/view/cart-rules.php:171
516
+ #: woo-discount-rules/view/pricing-rules.php:199
517
  msgid "Expired On"
518
  msgstr ""
519
 
520
  #. Text in echo
521
+ #: woo-discount-rules/view/view-pricing-rules.php:535
522
  msgid "First quantity(s)"
523
  msgstr ""
524
 
525
  #. Text in echo
526
+ #: woo-discount-rules/view/view-pricing-rules.php:742
527
  msgid "Fixed"
528
  msgstr ""
529
 
530
  #. Text in echo
531
+ #: woo-discount-rules/view/view-pricing-rules.php:670
532
  msgid "Fixed item count"
533
  msgstr ""
534
 
535
  #. Text in echo
536
+ #: woo-discount-rules/view/view-pricing-rules.php:673
537
  msgid "Fixed item count - You need to provide item count manually. Dynamic item count - System will choose dynamically based on cart"
538
  msgstr ""
539
 
540
  #. Text in echo
541
+ #: woo-discount-rules/view/settings.php:79
542
  msgid "Force refresh the cart widget while add and remove item to cart"
543
  msgstr ""
544
 
545
  #. Text in function
546
+ #: woo-discount-rules/view/settings.php:320
547
  msgid "Free Shipping"
548
  msgstr ""
549
 
550
  #. Text in echo
551
+ #: woo-discount-rules/view/settings.php:323
552
  msgid "Free Shipping title"
553
  msgstr ""
554
 
555
  #. Text in echo
556
+ #: woo-discount-rules/view/view-pricing-rules.php:657
557
  msgid "Free quantity"
558
  msgstr ""
559
 
560
  #. Text in echo
561
+ #: woo-discount-rules/view/view-cart-rules.php:585
562
+ #: woo-discount-rules/view/view-cart-rules.php:587
563
  msgid "Free shipping"
564
  msgstr ""
565
 
566
  #. Text in echo
567
+ #: woo-discount-rules/view/settings.php:316
568
  msgid "Free shipping text to be displayed"
569
  msgstr ""
570
 
571
  #. Text in echo
572
+ #: woo-discount-rules/view/view-cart-rules.php:119
573
+ #: woo-discount-rules/view/view-pricing-rules.php:129
574
+ #: woo-discount-rules/view/view-pricing-rules.php:513
575
  msgid "From"
576
  msgstr ""
577
 
578
  #. Text in echo
579
  #: woo-discount-rules/view/includes/cart-menu.php:9
580
  #: woo-discount-rules/view/includes/sub-menu.php:9
581
+ #: woo-discount-rules/view/view-cart-rules.php:63
582
+ #: woo-discount-rules/view/view-pricing-rules.php:47
583
  msgid "General"
584
  msgstr ""
585
 
586
  #. Text in echo
587
+ #: woo-discount-rules/view/settings.php:26
588
  msgid "General Settings"
589
  msgstr ""
590
 
591
  #. Text in echo
592
+ #: woo-discount-rules/view/view-cart-rules.php:491
593
+ #: woo-discount-rules/view/view-pricing-rules.php:466
594
  msgid "Greater than or equal to"
595
  msgstr ""
596
 
610
  msgstr ""
611
 
612
  #. Text in echo
613
+ #: woo-discount-rules/view/view-cart-rules.php:494
614
+ #: woo-discount-rules/view/view-pricing-rules.php:470
615
  msgid "In Order status"
616
  msgstr ""
617
 
618
  #. Text in echo
619
+ #: woo-discount-rules/view/view-cart-rules.php:222
620
  msgid "In each category"
621
  msgstr ""
622
 
623
  #. Text in echo
624
+ #: woo-discount-rules/view/view-cart-rules.php:216
625
+ msgid "Including sub-categories in cart"
626
+ msgstr ""
627
+
628
+ #. Text in echo
629
+ #: woo-discount-rules/view/settings.php:162
630
  msgid "It displays only if any rule matches"
631
  msgstr ""
632
 
633
  #. Text in echo
634
+ #: woo-discount-rules/view/view-pricing-rules.php:674
635
  msgid "Item count"
636
  msgstr ""
637
 
638
  #. Text in echo
639
+ #: woo-discount-rules/view/view-pricing-rules.php:681
640
  msgid "Item quantity"
641
  msgstr ""
642
 
643
  #. Text in echo
644
+ #: woo-discount-rules/view/view-pricing-rules.php:511
645
  msgid "Less than"
646
  msgstr ""
647
 
648
  #. Text in echo
649
+ #: woo-discount-rules/view/view-cart-rules.php:492
650
+ #: woo-discount-rules/view/view-pricing-rules.php:467
651
  msgid "Less than or equal to"
652
  msgstr ""
653
 
654
  #. Text in echo
655
+ #: woo-discount-rules/view/settings.php:33
656
  msgid "License Key :"
657
  msgstr ""
658
 
659
  #. Text in echo
660
+ #: woo-discount-rules/view/settings.php:51
661
  msgid "License key seems to be Invalid. Please enter a valid license key"
662
  msgstr ""
663
 
664
  #. Text in echo
665
+ #: woo-discount-rules/view/view-pricing-rules.php:711
666
  msgid "Limited percent"
667
  msgstr ""
668
 
672
  msgstr ""
673
 
674
  #. Text in echo
675
+ #: woo-discount-rules/view/view-pricing-rules.php:452
676
+ msgid "Make sure you have created the coupon already"
677
+ msgstr ""
678
+
679
+ #. Text in echo
680
+ #: woo-discount-rules/view/view-pricing-rules.php:599
681
  msgid "Max Quantity"
682
  msgstr ""
683
 
684
  #. Text in echo
685
+ #: woo-discount-rules/view/view-pricing-rules.php:90
686
  msgid "Method"
687
  msgstr ""
688
 
689
  #. Text in echo
690
+ #: woo-discount-rules/view/view-pricing-rules.php:92
691
  msgid "Method to Apply."
692
  msgstr ""
693
 
694
  #. Text in echo
695
+ #: woo-discount-rules/view/view-pricing-rules.php:592
696
  msgid "Min Quantity"
697
  msgstr ""
698
 
699
  #. Text in echo
700
+ #: woo-discount-rules/view/view-pricing-rules.php:510
701
  msgid "More than"
702
  msgstr ""
703
 
704
  #. Text in echo
705
+ #: woo-discount-rules/view/view-pricing-rules.php:654
706
  msgid "More than one cheapest from all"
707
  msgstr ""
708
 
709
  #. Text in echo
710
+ #: woo-discount-rules/view/view-pricing-rules.php:653
711
  msgid "More than one cheapest from selected"
712
  msgstr ""
713
 
714
  #. Text in echo
715
+ #: woo-discount-rules/view/view-pricing-rules.php:652
716
  msgid "More than one cheapest from selected category"
717
  msgstr ""
718
 
719
  #. Text in echo
720
+ #: woo-discount-rules/view/cart-rules.php:169
721
+ #: woo-discount-rules/view/pricing-rules.php:197
722
  #: woo-discount-rules/view/template/discount-table.php:18
723
  msgid "Name"
724
  msgstr ""
725
 
726
  #. Text in echo
727
+ #: woo-discount-rules/view/view-cart-rules.php:58
728
  msgid "New Cart Rule"
729
  msgstr ""
730
 
731
  #. Text in echo
732
+ #: woo-discount-rules/view/view-pricing-rules.php:42
733
  msgid "New Price Rule"
734
  msgstr ""
735
 
736
  #. Text in echo
737
+ #: woo-discount-rules/view/view-cart-rules.php:128
738
+ #: woo-discount-rules/view/view-cart-rules.php:545
739
+ #: woo-discount-rules/view/view-pricing-rules.php:137
740
+ #: woo-discount-rules/view/view-pricing-rules.php:562
741
  msgid "Next"
742
  msgstr ""
743
 
744
  #. Text in echo
745
+ #: woo-discount-rules/view/settings.php:73
746
+ #: woo-discount-rules/view/settings.php:85
747
+ #: woo-discount-rules/view/settings.php:210
748
+ #: woo-discount-rules/view/settings.php:273
749
+ #: woo-discount-rules/view/view-cart-rules.php:525
750
+ #: woo-discount-rules/view/view-pricing-rules.php:352
751
  msgid "No"
752
  msgstr ""
753
 
757
  msgstr ""
758
 
759
  #. Text in echo
760
+ #: woo-discount-rules/view/view-cart-rules.php:499
761
+ #: woo-discount-rules/view/view-pricing-rules.php:189
762
+ #: woo-discount-rules/view/view-pricing-rules.php:205
763
+ #: woo-discount-rules/view/view-pricing-rules.php:478
764
+ #: woo-discount-rules/view/view-pricing-rules.php:547
765
+ #: woo-discount-rules/view/view-pricing-rules.php:698
766
  msgid "None selected"
767
  msgstr ""
768
 
769
  #. Text in echo
770
+ #: woo-discount-rules/view/view-cart-rules.php:173
771
  msgid "Number of line items in the cart (not quantity) at least"
772
  msgstr ""
773
 
774
  #. Text in echo
775
+ #: woo-discount-rules/view/view-cart-rules.php:177
776
  msgid "Number of line items in the cart (not quantity) less than"
777
  msgstr ""
778
 
779
  #. Text in echo
780
+ #: woo-discount-rules/view/view-cart-rules.php:339
781
+ #: woo-discount-rules/view/view-cart-rules.php:341
782
  msgid "Number of order purchased"
783
  msgstr ""
784
 
785
  #. Text in echo
786
+ #: woo-discount-rules/view/view-cart-rules.php:349
787
+ #: woo-discount-rules/view/view-cart-rules.php:351
788
  msgid "Number of order purchased in products"
789
  msgstr ""
790
 
791
  #. Text in echo
792
+ #: woo-discount-rules/view/view-pricing-rules.php:430
793
  msgid "Number of orders"
794
  msgstr ""
795
 
796
  #. Text in echo
797
+ #: woo-discount-rules/view/view-pricing-rules.php:657
798
  msgid "Number of quantity(ies) in each selected product(s)"
799
  msgstr ""
800
 
801
  #. Text in echo
 
802
  #: woo-discount-rules/view/view-pricing-rules.php:279
803
+ #: woo-discount-rules/view/view-pricing-rules.php:281
804
  msgid "Only Given"
805
  msgstr ""
806
 
807
  #. Text in function
808
+ #: woo-discount-rules/view/cart-rules.php:173
809
+ #: woo-discount-rules/view/pricing-rules.php:201
810
  msgid "Order"
811
  msgstr ""
812
 
813
  #. Text in echo
814
+ #: woo-discount-rules/view/view-cart-rules.php:67
815
+ #: woo-discount-rules/view/view-pricing-rules.php:51
816
  msgid "Order :"
817
  msgstr ""
818
 
819
  #. Text in echo
820
+ #: woo-discount-rules/view/view-pricing-rules.php:741
821
  msgid "Percent"
822
  msgstr ""
823
 
824
  #. Text in echo
825
+ #: woo-discount-rules/view/view-pricing-rules.php:718
826
  msgid "Percentage"
827
  msgstr ""
828
 
829
  #. Text in echo
830
+ #: woo-discount-rules/view/view-cart-rules.php:570
831
+ #: woo-discount-rules/view/view-pricing-rules.php:611
832
  msgid "Percentage Discount"
833
  msgstr ""
834
 
835
  #. Text in echo
836
+ #: woo-discount-rules/view/view-cart-rules.php:106
837
+ #: woo-discount-rules/view/view-pricing-rules.php:116
838
  msgid "Period of Rule Active. Format: month/day/Year Hour:Min"
839
  msgstr ""
840
 
844
  msgstr ""
845
 
846
  #. Text in echo
847
+ #: woo-discount-rules/view/view-cart-rules.php:544
848
+ #: woo-discount-rules/view/view-cart-rules.php:604
849
+ #: woo-discount-rules/view/view-pricing-rules.php:561
850
+ #: woo-discount-rules/view/view-pricing-rules.php:748
851
  msgid "Previous"
852
  msgstr ""
853
 
854
  #. Text in echo
855
+ #: woo-discount-rules/view/view-cart-rules.php:576
856
+ #: woo-discount-rules/view/view-cart-rules.php:578
857
+ #: woo-discount-rules/view/view-pricing-rules.php:619
858
+ #: woo-discount-rules/view/view-pricing-rules.php:621
859
  msgid "Price Discount"
860
  msgstr ""
861
 
865
  msgstr ""
866
 
867
  #. Text in echo
868
+ #: woo-discount-rules/view/pricing-rules.php:79
869
  msgid "Price Rules"
870
  msgstr ""
871
 
872
  #. Text in echo
873
+ #: woo-discount-rules/view/settings.php:90
874
  msgid "Price rules settings"
875
  msgstr ""
876
 
877
  #. Text in echo
878
+ #: woo-discount-rules/view/view-pricing-rules.php:629
879
+ #: woo-discount-rules/view/view-pricing-rules.php:631
880
  msgid "Product Discount"
881
  msgstr ""
882
 
883
  #. Text in echo
884
+ #: woo-discount-rules/view/view-pricing-rules.php:521
885
  msgid "Product(s) from"
886
  msgstr ""
887
 
888
  #. Text in echo
889
+ #: woo-discount-rules/view/view-cart-rules.php:323
890
+ #: woo-discount-rules/view/view-pricing-rules.php:421
891
  msgid "Purchase History"
892
  msgstr ""
893
 
894
  #. Text in echo
895
+ #: woo-discount-rules/view/view-cart-rules.php:329
896
+ #: woo-discount-rules/view/view-cart-rules.php:331
897
+ #: woo-discount-rules/view/view-pricing-rules.php:429
898
  msgid "Purchased amount"
899
  msgstr ""
900
 
901
  #. Text in echo
902
+ #: woo-discount-rules/view/view-pricing-rules.php:431
903
  msgid "Purchased product"
904
  msgstr ""
905
 
906
  #. Text in echo
907
+ #: woo-discount-rules/view/view-pricing-rules.php:515
908
+ #: woo-discount-rules/view/view-pricing-rules.php:518
909
+ #: woo-discount-rules/view/view-pricing-rules.php:538
910
  msgid "Quantity"
911
  msgstr ""
912
 
913
  #. Text in echo
914
+ #: woo-discount-rules/view/view-cart-rules.php:180
915
  msgid "Quantity Sum"
916
  msgstr ""
917
 
918
  #. Text in echo
919
+ #: woo-discount-rules/view/view-pricing-rules.php:98
920
  msgid "Quantity based by product/category and BOGO deals"
921
  msgstr ""
922
 
926
  msgstr ""
927
 
928
  #. Text in echo
929
+ #: woo-discount-rules/view/view-cart-rules.php:534
930
+ #: woo-discount-rules/view/view-pricing-rules.php:725
931
  msgid "Remove"
932
  msgstr ""
933
 
934
  #. Text in echo
935
+ #: woo-discount-rules/view/view-cart-rules.php:94
936
+ #: woo-discount-rules/view/view-pricing-rules.php:79
937
  msgid "Rule Description"
938
  msgstr ""
939
 
940
  #. Text in echo
941
+ #: woo-discount-rules/view/view-cart-rules.php:96
942
+ #: woo-discount-rules/view/view-pricing-rules.php:81
943
  msgid "Rule Descriptions."
944
  msgstr ""
945
 
946
  #. Text in echo
947
+ #: woo-discount-rules/view/view-cart-rules.php:82
948
+ #: woo-discount-rules/view/view-pricing-rules.php:67
949
  msgid "Rule Name"
950
  msgstr ""
951
 
952
  #. Text in echo
953
+ #: woo-discount-rules/view/settings.php:235
954
  msgid "Rule Setup for Cart:"
955
  msgstr ""
956
 
957
  #. Text in echo
958
+ #: woo-discount-rules/view/settings.php:98
959
  msgid "Rule Setup for Price:"
960
  msgstr ""
961
 
962
  #. Text in echo
963
+ #: woo-discount-rules/view/view-pricing-rules.php:649
964
  msgid "Same product"
965
  msgstr ""
966
 
967
  #. Text in echo
968
+ #: woo-discount-rules/view/settings.php:21
969
  msgid "Save"
970
  msgstr ""
971
 
972
  #. Text in echo
973
+ #: woo-discount-rules/view/view-cart-rules.php:53
974
+ #: woo-discount-rules/view/view-pricing-rules.php:37
975
  msgid "Save Rule"
976
  msgstr ""
977
 
981
  msgstr ""
982
 
983
  #. Text in echo
984
+ #: woo-discount-rules/view/view-cart-rules.php:307
985
+ #: woo-discount-rules/view/view-cart-rules.php:309
986
+ msgid "Shipping city"
987
+ msgstr ""
988
+
989
+ #. Text in echo
990
+ #: woo-discount-rules/view/view-cart-rules.php:251
991
+ #: woo-discount-rules/view/view-cart-rules.php:253
992
  msgid "Shipping country in list"
993
  msgstr ""
994
 
995
  #. Text in echo
996
+ #: woo-discount-rules/view/view-cart-rules.php:297
997
+ #: woo-discount-rules/view/view-cart-rules.php:299
998
  msgid "Shipping state"
999
  msgstr ""
1000
 
1001
  #. Text in echo
1002
+ #: woo-discount-rules/view/view-cart-rules.php:317
1003
+ #: woo-discount-rules/view/view-cart-rules.php:319
1004
+ msgid "Shipping zip code"
1005
+ msgstr ""
1006
+
1007
+ #. Text in echo
1008
+ #: woo-discount-rules/view/settings.php:193
1009
  msgid "Show"
1010
  msgstr ""
1011
 
1012
  #. Text in echo
1013
+ #: woo-discount-rules/view/settings.php:187
1014
  msgid "Show Discount Title on Table :"
1015
  msgstr ""
1016
 
1017
  #. Text in echo
1018
+ #: woo-discount-rules/view/settings.php:131
1019
  msgid "Show Price discount on product page :"
1020
  msgstr ""
1021
 
1022
  #. Text in echo
1023
+ #: woo-discount-rules/view/settings.php:150
1024
  msgid "Show Sale tag on product page :"
1025
  msgstr ""
1026
 
1027
  #. Text in echo
1028
+ #: woo-discount-rules/view/settings.php:204
1029
  msgid "Show strikeout discount in cart item"
1030
  msgstr ""
1031
 
1032
  #. Text in echo
1033
+ #: woo-discount-rules/view/view-pricing-rules.php:536
1034
  msgid "Skip first quantity(s)"
1035
  msgstr ""
1036
 
1037
  #. Text in echo
 
1038
  #: woo-discount-rules/view/view-pricing-rules.php:172
1039
+ #: woo-discount-rules/view/view-pricing-rules.php:174
1040
  msgid "Specific attributes"
1041
  msgstr ""
1042
 
1043
  #. Text in echo
 
1044
  #: woo-discount-rules/view/view-pricing-rules.php:163
1045
+ #: woo-discount-rules/view/view-pricing-rules.php:165
1046
  msgid "Specific categories"
1047
  msgstr ""
1048
 
1049
  #. Text in echo
1050
+ #: woo-discount-rules/view/view-pricing-rules.php:157
1051
  msgid "Specific products"
1052
  msgstr ""
1053
 
1054
  #. Text in echo
1055
+ #: woo-discount-rules/view/cart-rules.php:170
1056
+ #: woo-discount-rules/view/pricing-rules.php:198
1057
  msgid "Start Date"
1058
  msgstr ""
1059
 
1060
  #. Text in echo
1061
+ #: woo-discount-rules/view/view-pricing-rules.php:375
1062
  msgid "Subtotal"
1063
  msgstr ""
1064
 
1065
  #. Text in echo
1066
+ #: woo-discount-rules/view/view-cart-rules.php:163
1067
  msgid "Subtotal at least"
1068
  msgstr ""
1069
 
1070
  #. Text in echo
1071
+ #: woo-discount-rules/view/view-pricing-rules.php:386
1072
  msgid "Subtotal atleast"
1073
  msgstr ""
1074
 
1075
  #. Text in echo
1076
+ #: woo-discount-rules/view/view-cart-rules.php:167
1077
  msgid "Subtotal less than"
1078
  msgstr ""
1079
 
1080
  #. Text in echo
1081
+ #: woo-discount-rules/view/settings.php:334
1082
+ #: woo-discount-rules/view/view-pricing-rules.php:452
1083
+ #: woo-discount-rules/view/view-pricing-rules.php:641
1084
  msgid "Supported in PRO version"
1085
  msgstr ""
1086
 
1087
  #. Text in echo
1088
+ #: woo-discount-rules/view/view-pricing-rules.php:452
1089
  msgid "Supported in WooCommerce 3.x"
1090
  msgstr ""
1091
 
1092
  #. Text in echo
1093
+ #: woo-discount-rules/view/view-cart-rules.php:69
1094
+ #: woo-discount-rules/view/view-pricing-rules.php:53
1095
  msgid "The Simple Ranking concept to said, which one is going to execute first and so on."
1096
  msgstr ""
1097
 
1098
  #. Text in echo
1099
+ #: woo-discount-rules/view/view-cart-rules.php:123
1100
  msgid "To"
1101
  msgstr ""
1102
 
1103
  #. Text in echo
1104
+ #: woo-discount-rules/view/view-pricing-rules.php:133
1105
  msgid "To - Leave Empty if No Expiry"
1106
  msgstr ""
1107
 
1108
  #. Text in echo
1109
+ #: woo-discount-rules/view/view-cart-rules.php:525
1110
+ #: woo-discount-rules/view/view-pricing-rules.php:352
1111
  msgid "To get this condition work,"
1112
  msgstr ""
1113
 
1114
  #. Text in echo
1115
+ #: woo-discount-rules/view/view-cart-rules.php:189
1116
  msgid "Total number of quantities in the cart at least"
1117
  msgstr ""
1118
 
1119
  #. Text in echo
1120
+ #: woo-discount-rules/view/view-cart-rules.php:201
1121
  msgid "Total number of quantities in the cart less than"
1122
  msgstr ""
1123
 
1124
  #. Text in echo
1125
+ #: woo-discount-rules/view/view-cart-rules.php:156
1126
  msgid "Type"
1127
  msgstr ""
1128
 
1129
  #. Text in echo
1130
+ #: woo-discount-rules/view/settings.php:302
1131
  msgid "Use Woo-Discount free shipping"
1132
  msgstr ""
1133
 
1134
  #. Text in echo
1135
+ #: woo-discount-rules/view/settings.php:299
1136
  msgid "Use Woocommerce free shipping"
1137
  msgstr ""
1138
 
1139
  #. Text in echo
1140
+ #: woo-discount-rules/view/view-cart-rules.php:231
1141
+ #: woo-discount-rules/view/view-cart-rules.php:233
1142
  msgid "User in list"
1143
  msgstr ""
1144
 
1145
  #. Text in echo
1146
+ #: woo-discount-rules/view/view-cart-rules.php:241
1147
+ #: woo-discount-rules/view/view-cart-rules.php:243
1148
  msgid "User role in list"
1149
  msgstr ""
1150
 
1151
  #. Text in echo
1152
+ #: woo-discount-rules/view/view-pricing-rules.php:295
1153
  msgid "User roles"
1154
  msgstr ""
1155
 
1156
  #. Text in echo
1157
+ #: woo-discount-rules/view/settings.php:40
1158
  msgid "Validate Key"
1159
  msgstr ""
1160
 
1161
  #. Text in echo
1162
+ #: woo-discount-rules/view/view-cart-rules.php:105
1163
+ #: woo-discount-rules/view/view-pricing-rules.php:115
1164
  msgid "Validity"
1165
  msgstr ""
1166
 
1167
  #. Text in echo
1168
+ #: woo-discount-rules/view/view-cart-rules.php:381
1169
+ #: woo-discount-rules/view/view-pricing-rules.php:635
1170
+ #: woo-discount-rules/view/view-pricing-rules.php:743
1171
  msgid "Value"
1172
  msgstr ""
1173
 
1174
  #. Text in echo
1175
+ #: woo-discount-rules/view/cart-rules.php:51
1176
+ #: woo-discount-rules/view/pricing-rules.php:83
1177
  msgid "View Examples"
1178
  msgstr ""
1179
 
1180
  #. Text in echo
1181
+ #: woo-discount-rules/view/view-cart-rules.php:76
1182
+ #: woo-discount-rules/view/view-pricing-rules.php:61
1183
  msgid "WARNING: More than one rule should not have same priority."
1184
  msgstr ""
1185
 
1191
  msgstr ""
1192
 
1193
  #. Text in echo
1194
+ #: woo-discount-rules/view/settings.php:72
1195
+ #: woo-discount-rules/view/settings.php:84
1196
+ #: woo-discount-rules/view/settings.php:209
1197
+ #: woo-discount-rules/view/settings.php:272
1198
  msgid "Yes"
1199
  msgstr ""
1200
 
1201
  #. Text in echo
1202
+ #: woo-discount-rules/view/cart-rules.php:62
1203
+ #: woo-discount-rules/view/pricing-rules.php:94
1204
  msgid "You Reach Max. Rule Limit"
1205
  msgstr ""
1206
 
1207
  #. Text in echo
1208
+ #: woo-discount-rules/view/settings.php:39
1209
  msgid "Your Unique License Key"
1210
  msgstr ""
1211
 
1212
  #. Text in echo
1213
+ #: woo-discount-rules/view/view-pricing-rules.php:708
1214
  msgid "and"
1215
  msgstr ""
1216
 
1217
  #. Text in echo
1218
+ #: woo-discount-rules/view/view-pricing-rules.php:532
1219
  msgid "and get discount in "
1220
  msgstr ""
1221
 
1222
  #. Text in echo
1223
+ #: woo-discount-rules/view/view-pricing-rules.php:720
1224
  msgid "as discount"
1225
  msgstr ""
1226
 
1227
  #. Text in echo
1228
+ #: woo-discount-rules/view/view-cart-rules.php:75
1229
+ #: woo-discount-rules/view/view-pricing-rules.php:60
1230
+ #: woo-discount-rules/view/view-pricing-rules.php:597
1231
+ #: woo-discount-rules/view/view-pricing-rules.php:686
1232
  msgid "ex. 1"
1233
  msgstr ""
1234
 
1235
  #. Text in echo
1236
+ #: woo-discount-rules/view/view-pricing-rules.php:718
1237
  msgid "ex. 10"
1238
  msgstr ""
1239
 
1240
  #. Text in echo
1241
+ #: woo-discount-rules/view/view-pricing-rules.php:604
1242
+ #: woo-discount-rules/view/view-pricing-rules.php:640
1243
  msgid "ex. 50"
1244
  msgstr ""
1245
 
1246
  #. Text in echo
1247
+ #: woo-discount-rules/view/view-cart-rules.php:89
1248
+ #: woo-discount-rules/view/view-pricing-rules.php:74
1249
  msgid "ex. Standard Rule."
1250
  msgstr ""
1251
 
1252
  #. Text in echo
1253
+ #: woo-discount-rules/view/view-cart-rules.php:525
1254
+ #: woo-discount-rules/view/view-pricing-rules.php:352
1255
  msgid "in cart to"
1256
  msgstr ""
1257
 
1258
  #. Text in echo
1259
+ #: woo-discount-rules/view/view-cart-rules.php:525
1260
+ #: woo-discount-rules/view/view-pricing-rules.php:352
1261
  msgid "please change the option"
1262
  msgstr ""
1263
 
1264
  #. Text in echo
1265
+ #: woo-discount-rules/view/view-pricing-rules.php:517
1266
  msgid "to"
1267
  msgstr ""
1268
 
1269
  #. Text in echo
1270
+ #: woo-discount-rules/view/view-cart-rules.php:596
1271
  msgid "value :"
1272
  msgstr ""
includes/cart-rules.php CHANGED
@@ -689,6 +689,10 @@ if (!class_exists('FlycartWooDiscountRulesCartRules')) {
689
  $categories = $rule['in_each_category'];
690
  break;
691
  }
 
 
 
 
692
  }
693
  }
694
  }
@@ -726,7 +730,7 @@ if (!class_exists('FlycartWooDiscountRulesCartRules')) {
726
  */
727
  public function applyRule($index, $rule, $rules)
728
  {
729
- $skipRuleType = array('categories_in', 'in_each_category');
730
  $availableRuleToSkip = array_intersect($skipRuleType, array_keys($rules));
731
  switch ($index) {
732
 
@@ -939,6 +943,88 @@ if (!class_exists('FlycartWooDiscountRulesCartRules')) {
939
  }
940
  return false;
941
  break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
942
  case 'categories_in':
943
  if(count($rule)){
944
  $ruleSuccess = $this->validateCartItemsInSelectedCategory($index, $rule, $rules);
@@ -948,6 +1034,15 @@ if (!class_exists('FlycartWooDiscountRulesCartRules')) {
948
  }
949
  return false;
950
  break;
 
 
 
 
 
 
 
 
 
951
  case 'in_each_category':
952
  if(count($rule)){
953
  $ruleSuccess = $this->validateCartItemsInEachSelectedCategory($index, $rule, $rules);
@@ -1103,7 +1198,10 @@ if (!class_exists('FlycartWooDiscountRulesCartRules')) {
1103
  /**
1104
  * verify the cart items are from selected category
1105
  * */
1106
- protected function validateCartItemsInSelectedCategory($index, $rule, $rules){
 
 
 
1107
  $ruleSuccess = 0;
1108
  global $woocommerce;
1109
  $categoryFound = $sub_total = $quantity = $item_count = 0;
@@ -1127,7 +1225,6 @@ if (!class_exists('FlycartWooDiscountRulesCartRules')) {
1127
  }
1128
  }
1129
  }
1130
-
1131
  if($categoryFound){
1132
  $ruleSuccess = 1;
1133
  foreach ($rules as $rule_type => $rule_values){
689
  $categories = $rule['in_each_category'];
690
  break;
691
  }
692
+ if(array_key_exists('atleast_one_including_sub_categories', $rule)) {
693
+ $categories = FlycartWooDiscountRulesGeneralHelper::getAllSubCategories($rule['atleast_one_including_sub_categories']);
694
+ break;
695
+ }
696
  }
697
  }
698
  }
730
  */
731
  public function applyRule($index, $rule, $rules)
732
  {
733
+ $skipRuleType = array('categories_in', 'in_each_category', 'atleast_one_including_sub_categories');
734
  $availableRuleToSkip = array_intersect($skipRuleType, array_keys($rules));
735
  switch ($index) {
736
 
943
  }
944
  return false;
945
  break;
946
+ case 'customer_shipping_city':
947
+ $rule = explode(',', $rule);
948
+ foreach($rule as $key => $r){
949
+ $rule[$key] = strtolower(trim($r));
950
+ }
951
+ $postData = $this->postData->get('post_data', '', 'raw');
952
+ $postDataArray = array();
953
+ if($postData != ''){
954
+ parse_str($postData, $postDataArray);
955
+ }
956
+ if(isset($postDataArray['ship_to_different_address']) && $postDataArray['ship_to_different_address']){
957
+ $shippingFieldName = 'shipping_city';
958
+ } else {
959
+ $shippingFieldName = 'billing_city';
960
+ }
961
+ $postShippingState = $this->postData->get($shippingFieldName, '', 'raw');
962
+ if($postShippingState != ''){
963
+ $postDataArray[$shippingFieldName] = $postShippingState;
964
+ }
965
+ if(!get_current_user_id()){
966
+ $order_id = $this->postData->get('order-received', 0);
967
+ if($order_id){
968
+ $order = FlycartWoocommerceOrder::wc_get_order($order_id);
969
+ $postDataArray['shipping_city'] = FlycartWoocommerceOrder::get_shipping_city($order);
970
+ }
971
+ }
972
+ if(isset($postDataArray[$shippingFieldName]) && $postDataArray[$shippingFieldName] != ''){
973
+ $shippingState = $postDataArray[$shippingFieldName];
974
+ if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
975
+ return true;
976
+ }
977
+ } else if(get_current_user_id()){
978
+ $shippingState = get_user_meta( get_current_user_id(), 'shipping_city', true );
979
+ if($shippingState != '' && !empty($shippingState)){
980
+ if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
981
+ return true;
982
+ }
983
+ }
984
+ }
985
+ return false;
986
+ break;
987
+ case 'customer_shipping_zip_code':
988
+ $rule = explode(',', $rule);
989
+ foreach($rule as $key => $r){
990
+ $rule[$key] = strtolower(trim($r));
991
+ }
992
+ $postData = $this->postData->get('post_data', '', 'raw');
993
+ $postDataArray = array();
994
+ if($postData != ''){
995
+ parse_str($postData, $postDataArray);
996
+ }
997
+ if(isset($postDataArray['ship_to_different_address']) && $postDataArray['ship_to_different_address']){
998
+ $shippingFieldName = 'shipping_postcode';
999
+ } else {
1000
+ $shippingFieldName = 'billing_postcode';
1001
+ }
1002
+ $postShippingState = $this->postData->get($shippingFieldName, '', 'raw');
1003
+ if($postShippingState != ''){
1004
+ $postDataArray[$shippingFieldName] = $postShippingState;
1005
+ }
1006
+ if(!get_current_user_id()){
1007
+ $order_id = $this->postData->get('order-received', 0);
1008
+ if($order_id){
1009
+ $order = FlycartWoocommerceOrder::wc_get_order($order_id);
1010
+ $postDataArray['shipping_postcode'] = FlycartWoocommerceOrder::get_shipping_city($order);
1011
+ }
1012
+ }
1013
+ if(isset($postDataArray[$shippingFieldName]) && $postDataArray[$shippingFieldName] != ''){
1014
+ $shippingState = $postDataArray[$shippingFieldName];
1015
+ if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
1016
+ return true;
1017
+ }
1018
+ } else if(get_current_user_id()){
1019
+ $shippingState = get_user_meta( get_current_user_id(), 'shipping_postcode', true );
1020
+ if($shippingState != '' && !empty($shippingState)){
1021
+ if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
1022
+ return true;
1023
+ }
1024
+ }
1025
+ }
1026
+ return false;
1027
+ break;
1028
  case 'categories_in':
1029
  if(count($rule)){
1030
  $ruleSuccess = $this->validateCartItemsInSelectedCategory($index, $rule, $rules);
1034
  }
1035
  return false;
1036
  break;
1037
+ case 'atleast_one_including_sub_categories':
1038
+ if(count($rule)){
1039
+ $ruleSuccess = $this->validateCartItemsInSelectedCategory($index, $rule, $rules, 1);
1040
+ if($ruleSuccess){
1041
+ return true;
1042
+ }
1043
+ }
1044
+ return false;
1045
+ break;
1046
  case 'in_each_category':
1047
  if(count($rule)){
1048
  $ruleSuccess = $this->validateCartItemsInEachSelectedCategory($index, $rule, $rules);
1198
  /**
1199
  * verify the cart items are from selected category
1200
  * */
1201
+ protected function validateCartItemsInSelectedCategory($index, $rule, $rules, $check_child_category = 0){
1202
+ if($check_child_category){
1203
+ $rule = FlycartWooDiscountRulesGeneralHelper::getAllSubCategories($rule);
1204
+ }
1205
  $ruleSuccess = 0;
1206
  global $woocommerce;
1207
  $categoryFound = $sub_total = $quantity = $item_count = 0;
1225
  }
1226
  }
1227
  }
 
1228
  if($categoryFound){
1229
  $ruleSuccess = 1;
1230
  foreach ($rules as $rule_type => $rule_values){
includes/discount-base.php CHANGED
@@ -305,6 +305,7 @@ if (!class_exists('FlycartWooDiscountBase')) {
305
  'categories_not_in' => 'category_to_apply',
306
  'categories_in' => 'category_to_apply',
307
  'in_each_category' => 'category_to_apply',
 
308
 
309
  'users_in' => 'users_to_apply',
310
  'roles_in' => 'user_roles_to_apply',
@@ -870,6 +871,7 @@ if (!class_exists('FlycartWooDiscountBase')) {
870
  'total_number_of_quantities_in_cart_at_least' => esc_html__('Total number of quantities in the cart at least', 'woo-discount-rules'),
871
  'total_number_of_quantities_in_cart_less_than' => esc_html__('Total number of quantities in the cart less than', 'woo-discount-rules'),
872
  'categories_in_cart' => esc_html__('Categories in cart', 'woo-discount-rules'),
 
873
  'customer_details_must_be_logged_in' => esc_html__('Customer Details (must be logged in)', 'woo-discount-rules'),
874
  'user_in_list' => esc_html__('User in list', 'woo-discount-rules'),
875
  'user_role_in_list' => esc_html__('User role in list', 'woo-discount-rules'),
@@ -881,6 +883,8 @@ if (!class_exists('FlycartWooDiscountBase')) {
881
  'customer_billing_city' => esc_html__('Billing city', 'woo-discount-rules'),
882
  'customer_shipping_details' => esc_html__('Customer Shipping Details', 'woo-discount-rules'),
883
  'customer_shipping_state' => esc_html__('Shipping state', 'woo-discount-rules'),
 
 
884
  'purchase_history' => esc_html__('Purchase History', 'woo-discount-rules'),
885
  'purchased_amount' => esc_html__('Purchased amount', 'woo-discount-rules'),
886
  'number_of_order_purchased' => esc_html__('Number of order purchased', 'woo-discount-rules'),
305
  'categories_not_in' => 'category_to_apply',
306
  'categories_in' => 'category_to_apply',
307
  'in_each_category' => 'category_to_apply',
308
+ 'atleast_one_including_sub_categories' => 'category_to_apply',
309
 
310
  'users_in' => 'users_to_apply',
311
  'roles_in' => 'user_roles_to_apply',
871
  'total_number_of_quantities_in_cart_at_least' => esc_html__('Total number of quantities in the cart at least', 'woo-discount-rules'),
872
  'total_number_of_quantities_in_cart_less_than' => esc_html__('Total number of quantities in the cart less than', 'woo-discount-rules'),
873
  'categories_in_cart' => esc_html__('Categories in cart', 'woo-discount-rules'),
874
+ 'atleast_one_including_sub_categories' => esc_html__('Including sub-categories in cart', 'woo-discount-rules'),
875
  'customer_details_must_be_logged_in' => esc_html__('Customer Details (must be logged in)', 'woo-discount-rules'),
876
  'user_in_list' => esc_html__('User in list', 'woo-discount-rules'),
877
  'user_role_in_list' => esc_html__('User role in list', 'woo-discount-rules'),
883
  'customer_billing_city' => esc_html__('Billing city', 'woo-discount-rules'),
884
  'customer_shipping_details' => esc_html__('Customer Shipping Details', 'woo-discount-rules'),
885
  'customer_shipping_state' => esc_html__('Shipping state', 'woo-discount-rules'),
886
+ 'customer_shipping_city' => esc_html__('Shipping city', 'woo-discount-rules'),
887
+ 'customer_shipping_zip_code' => esc_html__('Shipping zip code', 'woo-discount-rules'),
888
  'purchase_history' => esc_html__('Purchase History', 'woo-discount-rules'),
889
  'purchased_amount' => esc_html__('Purchased amount', 'woo-discount-rules'),
890
  'number_of_order_purchased' => esc_html__('Number of order purchased', 'woo-discount-rules'),
includes/pricing-rules.php CHANGED
@@ -67,6 +67,9 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
67
  public static $pricingRules;
68
  public static $product_categories = array();
69
  public static $product_attributes = array();
 
 
 
70
 
71
  /**
72
  * FlycartWooDiscountRulesPricingRules constructor.
@@ -720,7 +723,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
720
  $rule_sets[$index]['type']['specific_category'] = $this->checkWithCategory($rule, $woocommerce);
721
  if($rule_sets[$index]['type']['apply_child_categories']){
722
  $cat = $rule_sets[$index]['type']['specific_category'];
723
- $rule_sets[$index]['type']['specific_category'] = $this->getAllSubCategories($cat);
724
  }
725
  }
726
  if (isset($rule->is_cumulative) && $rule->is_cumulative) {
@@ -948,27 +951,6 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
948
  return $allowed;
949
  }
950
 
951
- /**
952
- * Get all sub categories
953
- * */
954
- public function getAllSubCategories($cat){
955
- $category_with_sub_cat = $cat;
956
- foreach($cat as $c) {
957
- $args = array('hierarchical' => 1,
958
- 'show_option_none' => '',
959
- 'hide_empty' => 0,
960
- 'parent' => $c,
961
- 'taxonomy' => 'product_cat');
962
- $categories = get_categories( $args );
963
- foreach($categories as $category) {
964
- $category_with_sub_cat[] = $category->term_id;
965
- }
966
- }
967
- $category_with_sub_cat = array_unique($category_with_sub_cat);
968
-
969
- return $category_with_sub_cat;
970
- }
971
-
972
  /**
973
  * To format rules to apply
974
  *
@@ -1029,8 +1011,11 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1029
  /**
1030
  * Fetch back the Matched rules.
1031
  *
1032
- * @param $index
1033
- * @param array $item line item.
 
 
 
1034
  */
1035
  public function matchRules($index, $item, $product_page = 0, $bogo = 0)
1036
  {
@@ -1076,7 +1061,11 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1076
  $alreadyExists = 0;
1077
  if(isset($rule['type']['is_cumulative']) && $rule['type']['is_cumulative']){
1078
  $totalQuantityInThisCategory = $this->getProductQuantityInThisCategory($rule['type']['specific_category'], $rule['product_to_exclude'], $rule['exclude_sale_items']);
1079
- $quantity = $totalQuantityInThisCategory;
 
 
 
 
1080
  //Check for product_discount to apply the rule only once
1081
  if(isset($rule['discount'])){
1082
  if(!empty($rule['discount'])){
@@ -1097,7 +1086,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1097
  }
1098
  }
1099
  if(!$alreadyExists){
1100
- $discount_amount = $this->getAdjustmentAmount($item, $quantity, $this->array_first($rule['discount']), $product_page, $bogo);
1101
  $applied_rules[$i] = $this->formatRulesToApply($discount_amount, $rule['name'], $index, $item['product_id'], $id);
1102
  }
1103
  }
@@ -1109,7 +1098,11 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1109
  $alreadyExists = 0;
1110
  if(isset($rule['type']['is_cumulative']) && $rule['type']['is_cumulative']){
1111
  $totalQuantityInThisAttribute = $this->getProductQuantityInThisAttribute($rule['type']['specific_attribute'], $rule['product_to_exclude'], $rule['exclude_sale_items'], $id);
1112
- $quantity = $totalQuantityInThisAttribute;
 
 
 
 
1113
  //Check for product_discount to apply the rule only once
1114
  if(isset($rule['discount'])){
1115
  if(!empty($rule['discount'])){
@@ -1130,7 +1123,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1130
  }
1131
  }
1132
  if(!$alreadyExists){
1133
- $discount_amount = $this->getAdjustmentAmount($item, $quantity, $this->array_first($rule['discount']), $product_page, $bogo);
1134
  $applied_rules[$i] = $this->formatRulesToApply($discount_amount, $rule['name'], $index, $item['product_id'], $id);
1135
  }
1136
  }
@@ -1141,10 +1134,9 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1141
  $is_not_in_exclude_sale_items = !$this->isItemInSaleItems($rule['exclude_sale_items'], $item['data']);
1142
  if (!$this->isItemInProductList($rule['product_to_exclude'], $item) && $is_not_in_exclude_sale_items) {
1143
  if(isset($rule['is_cumulative_for_products']) && $rule['is_cumulative_for_products']){
1144
- $totalQuantityFromAllProducts = $this->getProductQuantityForCumulativeProducts($item, $product_page, $rule);
1145
- $quantity = $totalQuantityFromAllProducts;
1146
  }
1147
- $discount_amount = $this->getAdjustmentAmount($item, $quantity, $this->array_first($rule['discount']), $product_page, $bogo);
1148
  $applied_rules[$i] = $this->formatRulesToApply($discount_amount, $rule['name'], $index, $item['product_id'], $id);
1149
  }
1150
 
@@ -1234,6 +1226,8 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1234
  $product_to_buy = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($product_to_buy);
1235
  $product_to_apply = isset($product_based_conditions['product_to_apply']) ? $product_based_conditions['product_to_apply'] : array();
1236
  $product_to_apply = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($product_to_apply);
 
 
1237
 
1238
  $product_based_discounts = isset($rule['product_based_discount']) ? $rule['product_based_discount'] : array();
1239
  $discount_type = isset($product_based_discounts['discount_type']) ? $product_based_discounts['discount_type'] : 'percentage_discount';
@@ -1244,6 +1238,21 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1244
  $product_id = $item['variation_id'];
1245
  else
1246
  $product_id = $item['product_id'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1247
  if ( sizeof( $cart ) > 0 ) {
1248
  foreach ($product_to_buy as $key => $productId) {
1249
  foreach ($cart as $cart_item_key => $values) {
@@ -1283,6 +1292,15 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1283
  if(!empty($product_to_exclude) && is_array($product_to_exclude) && count($product_to_exclude)) $hasExcludeProduct = 1;
1284
  if(count($woocommerce->cart->cart_contents)){
1285
  foreach ($woocommerce->cart->cart_contents as $cartItem) {
 
 
 
 
 
 
 
 
 
1286
  $is_exclude_sale_items = $this->isItemInSaleItems($exclude_sale_items, $cartItem['data']);
1287
  if($is_exclude_sale_items){
1288
  continue;
@@ -1293,7 +1311,6 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1293
  continue;
1294
  }
1295
  }
1296
-
1297
  $product_id_parent = $cartItem['product_id'];
1298
  if(isset(self::$product_categories[$product_id_parent])){
1299
  $terms = self::$product_categories[$product_id_parent];
@@ -1410,7 +1427,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1410
  * @param $product_page
1411
  * @return array|bool
1412
  */
1413
- public function getAdjustmentAmount($item, $quantity, $discount_ranges, $product_page, $bogo)
1414
  {
1415
  $adjustment = array();
1416
  foreach($discount_ranges as $discount_range) {
@@ -1432,17 +1449,17 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1432
  if($discount_product_option == 'same_product'){
1433
  $productId = FlycartWoocommerceProduct::get_id($item['data']);
1434
  $discount_quantity = isset($range->discount_bogo_qty)? $range->discount_bogo_qty: 1000;
1435
- $productCheapest = $this->getCheapestProductFromCart(array($productId), 0, $discount_quantity, $range);
1436
  if(!empty($productCheapest)){
1437
  $adjustment = array ( 'price_discount' => $productCheapest['percent'], 'product_ids' => array($productCheapest['product']), 'product_cart_item_keys' => array($productCheapest['product_cart_item_key']), 'product_discount_details' => $productCheapest['discount_details']) ;
1438
  }
1439
  } else if($discount_product_option == 'any_cheapest_from_all'){
1440
- $productCheapest = $this->getCheapestProductFromCart($productIds, 1, 1, $range);
1441
  if(!empty($productCheapest)){
1442
  $adjustment = array ( 'price_discount' => $productCheapest['percent'], 'product_ids' => array($productCheapest['product']), 'product_cart_item_keys' => array($productCheapest['product_cart_item_key']) ) ;
1443
  }
1444
  } else if($discount_product_option == 'any_cheapest'){
1445
- $productCheapest = $this->getCheapestProductFromCart($productIds,0, 1, $range);
1446
  if(!empty($productCheapest)){
1447
  $adjustment = array ( 'price_discount' => $productCheapest['percent'], 'product_ids' => array($productCheapest['product']), 'product_cart_item_keys' => array($productCheapest['product_cart_item_key']) ) ;
1448
  }
@@ -1451,7 +1468,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1451
  if($discount_product_items < 1) $discount_product_items = 1;
1452
  $discount_product_qty = (isset($range->discount_product_qty) ? $range->discount_product_qty : 1);
1453
  if($discount_product_qty < 1) $discount_product_qty = 1;
1454
- $productCheapest = $this->getMoreThanOneCheapestProductFromCart($productIds, $discount_product_qty, $discount_product_items, $range);
1455
  if(!empty($productCheapest)){
1456
  $adjustment = $productCheapest ;
1457
  }
@@ -1474,7 +1491,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1474
  $this->bogo_matches = $free_product;
1475
  $adjustment[$type] = $productIds;
1476
  } else {
1477
- $productCheapest = $this->getMoreThanOneCheapestProductFromCart($productIds, $bogo_count, count($productIds), $range);
1478
  if (!empty($productCheapest)) {
1479
  $adjustment = $productCheapest;
1480
  }
@@ -1506,7 +1523,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1506
  /**
1507
  * Get More than one cheapest item
1508
  * */
1509
- public function getMoreThanOneCheapestProductFromCart($productIds, $discount_quantity = 1, $discount_item = 1, $range){
1510
  $discount_product_option = isset($range->discount_product_option) ? $range->discount_product_option : 'more_than_one_cheapest';
1511
  $discount_product_item_type = isset($range->discount_product_item_type) ? $range->discount_product_item_type : 'static';
1512
  if($discount_product_item_type == 'dynamic'){
@@ -1520,7 +1537,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1520
  else if($discount_product_option == "more_than_one_cheapest_from_cat")
1521
  $productIds = $this->getAllProductsFromCartAndSelectedCategory($range->discount_category);
1522
  for ($i = 1; $i <= $discount_item; $i++){
1523
- $productCheapest = $this->getCheapestProductFromCart($productIds, 0, $discount_quantity, $range);
1524
  if(!empty($productCheapest)){
1525
  $index = array_search($productCheapest['product'], $productIds);
1526
  if ( $index !== false ) {
@@ -1599,7 +1616,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1599
  /**
1600
  * Get cheapest product
1601
  * */
1602
- public function getCheapestProductFromCart($products, $all = 0, $discount_quantity = 1, $range){
1603
  if(!$all){
1604
  if(empty($products)) return array();
1605
  }
@@ -1608,6 +1625,9 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1608
  foreach ($cart as $cart_item_key => $values) {
1609
  $_product = $values['data'];
1610
  $productId = FlycartWoocommerceProduct::get_id($_product);
 
 
 
1611
  if(!in_array($productId, $products) && !$all) continue;
1612
 
1613
  if($cheapestProductValue == 0){
@@ -1961,6 +1981,25 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
1961
  {
1962
  global $product;
1963
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1964
  $config = $this->baseConfig;
1965
  $show_discount = true;
1966
  // Base Config to Check whether display table or not.
@@ -2007,7 +2046,9 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2007
  */
2008
  public function generateDiscountTableData($product)
2009
  {
2010
- global $product;
 
 
2011
  if(empty($product)) return false;
2012
  $product_id = FlycartWoocommerceProduct::get_id($product);
2013
  $id = (($product_id != 0 && $product_id != null) ? $product_id : 0);
@@ -2066,7 +2107,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2066
  $productToExclude = $this->getExcludeProductsFromRule($rule);
2067
  $category_to_apply = json_decode($rule->category_to_apply);
2068
  if (isset($rule->apply_child_categories) && $rule->apply_child_categories == 1) {
2069
- $category_to_apply = $this->getAllSubCategories($category_to_apply);
2070
  }
2071
  FlycartWooDiscountRulesGeneralHelper::toInt($category_to_apply);
2072
  $status = false;
@@ -2253,6 +2294,8 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2253
  $product_to_buy = isset($product_based_conditions['product_to_buy']) ? $product_based_conditions['product_to_buy'] : array();
2254
  $product_to_buy = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($product_to_buy);
2255
  $product_to_apply = isset($product_based_conditions['product_to_apply']) ? $product_based_conditions['product_to_apply'] : array();
 
 
2256
  $product_to_apply = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($product_to_apply);
2257
  $product_to_apply_count_option = isset($product_based_conditions['product_to_apply_count_option']) ? $product_based_conditions['product_to_apply_count_option'] : 'all';
2258
  $product_to_apply_count = isset($product_based_conditions['product_to_apply_count']) ? $product_based_conditions['product_to_apply_count'] : 0;
@@ -2299,23 +2342,34 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2299
  $condition .= ' '.trim($htmlProduct, ', ').' ';
2300
  }
2301
  $condition .= esc_html__(' and get discount in ', 'woo-discount-rules');
2302
- if($product_to_apply_count_option == 'apply_first'){
2303
- $condition .= esc_html__(' first ', 'woo-discount-rules');
2304
- $condition .= $product_to_apply_count;
2305
- $condition .= esc_html__(' quantity of product(s) - ', 'woo-discount-rules');
2306
- } else if($product_to_apply_count_option == 'skip_first'){
2307
- $condition .= esc_html__(' after first ', 'woo-discount-rules');
2308
- $condition .= $product_to_apply_count;
2309
- $condition .= esc_html__(' quantity of product(s) - ', 'woo-discount-rules');
2310
- }
2311
- if(count($product_to_apply)){
2312
- $htmlProduct = '';
2313
- foreach ($product_to_apply as $product_id){
2314
- $product = FlycartWoocommerceProduct::wc_get_product($product_id);
2315
- $htmlProduct .= '<a href="'.FlycartWoocommerceProduct::get_permalink($product).'">'.FlycartWoocommerceProduct::get_title($product).'</a>, ';
 
 
 
 
 
 
 
 
 
 
 
2316
  }
2317
- $condition .= trim($htmlProduct, ', ');
2318
  }
 
2319
  return $condition;
2320
  }
2321
 
@@ -2485,12 +2539,13 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2485
  $adjustment_set = $this->matched_sets[$cart_item_key];
2486
  $product = $woocommerce->cart->cart_contents[$cart_item_key]['data'];
2487
  $product_id = FlycartWoocommerceProduct::get_id($product);
2488
- $price = FlycartWoocommerceProduct::get_price($product);
 
2489
 
2490
  //To reset the adjustment set if the Product discount adjustment exists
2491
  $adjustment_set = $this->resetTheDiscountIfProductDiscountAdjustmentExists($adjustment_set, $product_id, $cart_item_key);
2492
  $additionalDetails = array();
2493
-
2494
  if ($type == 'first') {
2495
  // For Apply the First Rule.
2496
  $discount = $this->getAmount($adjustment_set, $price, 'first');
@@ -2498,7 +2553,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2498
  $additionalDetails = $discount['details'];
2499
  $discount = $discount['amount'];
2500
  }
2501
- $amount = $price - $discount;
2502
  $log = 'Discount | ' . $discount;
2503
  $this->applyDiscount($cart_item_key, $amount, $log, $additionalDetails);
2504
  } else if ($type == 'biggest') {
@@ -2508,7 +2563,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2508
  $additionalDetails = $discount['details'];
2509
  $discount = $discount['amount'];
2510
  }
2511
- $amount = $price - $discount;
2512
  $log = 'Discount | ' . $discount;
2513
  $this->applyDiscount($cart_item_key, $amount, $log, $additionalDetails);
2514
  } else {
@@ -2518,7 +2573,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2518
  $additionalDetails = $discount['details'];
2519
  $discount = $discount['amount'];
2520
  }
2521
- $amount = $price - $discount;
2522
  $log = 'Discount | ' . $discount;
2523
  $this->applyDiscount($cart_item_key, $amount, $log, $additionalDetails);
2524
  }
@@ -2674,22 +2729,17 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2674
  return;
2675
  }
2676
  $product = $woocommerce->cart->cart_contents[$item]['data'];
 
 
 
 
2677
  // Log changes
2678
  $woocommerce->cart->cart_contents[$item]['woo_discount'] = array(
2679
- 'original_price' => get_option('woocommerce_tax_display_cart') == 'excl' ? FlycartWoocommerceProduct::get_price_excluding_tax($product) : FlycartWoocommerceProduct::get_price_including_tax($product),
2680
  'log' => $log,
2681
  'additional_details' => $additionalDetails,
2682
  );
2683
 
2684
- // To handle Woocommerce currency switcher
2685
- // global $WOOCS;
2686
- // if(isset($WOOCS)){
2687
- // if (method_exists($WOOCS, 'get_currencies')){
2688
- // $currencies = $WOOCS->get_currencies();
2689
- // $amount = $amount / $currencies[$WOOCS->current_currency]['rate'];
2690
- // }
2691
- // }
2692
-
2693
  // Actually adjust price in cart
2694
  // $woocommerce->cart->cart_contents[$item]['data']->price = $amount;
2695
  FlycartWoocommerceProduct::set_price($product, $amount);
@@ -2717,6 +2767,11 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2717
  */
2718
  public function replaceVisiblePricesCart($item_price, $cart_item = array(), $cart_item_key = null)
2719
  {
 
 
 
 
 
2720
  $config = new FlycartWooDiscountBase();
2721
  $show_strikeout_in_cart = $config->getConfigData('show_strikeout_in_cart', 1);
2722
  if (!isset($cart_item['woo_discount']) || !$show_strikeout_in_cart) {
@@ -2803,11 +2858,15 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2803
  if($show_price_discount_on_product_page == 'show' && $notAdmin){
2804
  $discountPrice = $this->getDiscountPriceForTheProduct($product, FlycartWoocommerceProduct::get_price($variations));
2805
  $product_id = FlycartWoocommerceProduct::get_id($variations);
 
 
 
2806
  if($discountPrice > 0 || ($this->hasDiscountForProductId($product_id))){
2807
  $price_to_display = FlycartWoocommerceProduct::wc_price($discountPrice);
2808
  $item_price = preg_replace('/<del>.*<\/del>/', '', $item_price);
2809
  $item_price = '<del>' . $item_price . '</del> <ins>' . ($price_to_display).$product->get_price_suffix() . '</ins>';
2810
  }
 
2811
  }
2812
 
2813
  $data['price_html'] = $item_price;
@@ -2819,17 +2878,30 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2819
  * */
2820
  public function replaceVisiblePrices($item_price, $product)
2821
  {
 
 
 
 
 
 
 
2822
  $notAdmin = FlycartWooDiscountRulesGeneralHelper::doIHaveToRun();
2823
  $show_price_discount_on_product_page = (isset($this->baseConfig['show_price_discount_on_product_page']))? $this->baseConfig['show_price_discount_on_product_page']: 'dont';
2824
  if($show_price_discount_on_product_page == 'show' && $notAdmin){
2825
  $discountPrice = $this->getDiscountPriceForTheProduct($product);
2826
  $product_id = FlycartWoocommerceProduct::get_id($product);
 
 
 
2827
  if($discountPrice > 0 || ($this->hasDiscountForProductId($product_id))){
 
2828
  $price_to_display = FlycartWoocommerceProduct::wc_price($discountPrice);
2829
  $show_original = 0;
2830
  if(FlycartWoocommerceVersion::wcVersion('3.0'))
2831
  $price_to_display = $this->checkForHighestVariantIfExists($product, $price_to_display, $show_original);
2832
  if(!$show_original){
 
 
2833
  $item_price = preg_replace('/<del>.*<\/del>/', '', $item_price);
2834
  $item_price = '<span class="cart_price"><del>' . $item_price . '</del> <ins>' . ($price_to_display).$product->get_price_suffix() . '</ins></span>';
2835
  }
@@ -2839,6 +2911,80 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2839
  return $item_price;
2840
  }
2841
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2842
  public function checkForHighestVariantIfExists($product, $price_to_display, &$show_original){
2843
  $display_only_lowest_price = 0;
2844
  $tax_display_mode = get_option( 'woocommerce_tax_display_shop' );
@@ -2909,6 +3055,8 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2909
  $discountPrice = $this->getDiscountPriceForTheProduct($product_new);
2910
  if($discountPrice <= 0 || !($this->hasDiscountForProductId($child_products[0]))){
2911
  $show_original = 1;
 
 
2912
  }
2913
  }
2914
  }
@@ -2925,13 +3073,16 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2925
  $notAdmin = FlycartWooDiscountRulesGeneralHelper::doIHaveToRun();
2926
  $show_price_discount_on_product_page = (isset($this->baseConfig['show_sale_tag_on_product_page']))? $this->baseConfig['show_sale_tag_on_product_page']: 'dont';
2927
  if($show_price_discount_on_product_page == 'show' && $notAdmin){
 
 
2928
  $discountPrice = $this->getDiscountPriceForTheProduct($product);
2929
  if($discountPrice > 0){
2930
  $on_sale = true;
 
2931
  } else {
2932
- $product_id = FlycartWoocommerceProduct::get_id($product);
2933
  if($this->hasDiscountForProductId($product_id)){
2934
  $on_sale = true;
 
2935
  }
2936
  }
2937
 
@@ -2945,11 +3096,13 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2945
  $discountPrice = $this->getDiscountPriceForTheProduct($child);
2946
  if($discountPrice > 0){
2947
  $on_sale = true;
 
2948
  break;
2949
  } else {
2950
  $product_id = FlycartWoocommerceProduct::get_id($child);
2951
  if($this->hasDiscountForProductId($product_id)){
2952
  $on_sale = true;
 
2953
  break;
2954
  }
2955
  }
@@ -2963,11 +3116,13 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
2963
  $discountPrice = $this->getDiscountPriceForTheProduct($child);
2964
  if($discountPrice > 0){
2965
  $on_sale = true;
 
2966
  break;
2967
  } else {
2968
  $product_id = FlycartWoocommerceProduct::get_id($child);
2969
  if($this->hasDiscountForProductId($product_id)){
2970
  $on_sale = true;
 
2971
  break;
2972
  }
2973
  }
@@ -3096,6 +3251,7 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
3096
 
3097
  $amount = 0;
3098
  $discount = 0;
 
3099
  if ($type == 'first') {
3100
  // For Apply the First Rule.
3101
  $discount = $this->getAmount($adjustment_set, $price, 'first', 1, $cart_item);
@@ -3119,9 +3275,10 @@ if (!class_exists('FlycartWooDiscountRulesPricingRules')) {
3119
  $discount = $discount['amount'];
3120
  }
3121
  }
 
3122
  if($discount > 0){
3123
  $this->products_has_discount[$product_id] = 1;
3124
- $amount = $price - $discount;
3125
  }
3126
 
3127
  return $amount;
67
  public static $pricingRules;
68
  public static $product_categories = array();
69
  public static $product_attributes = array();
70
+ public static $product_on_sale = array();
71
+ public static $product_has_strike_out = array();
72
+ public static $product_strike_out_price = array();
73
 
74
  /**
75
  * FlycartWooDiscountRulesPricingRules constructor.
723
  $rule_sets[$index]['type']['specific_category'] = $this->checkWithCategory($rule, $woocommerce);
724
  if($rule_sets[$index]['type']['apply_child_categories']){
725
  $cat = $rule_sets[$index]['type']['specific_category'];
726
+ $rule_sets[$index]['type']['specific_category'] = FlycartWooDiscountRulesGeneralHelper::getAllSubCategories($cat);
727
  }
728
  }
729
  if (isset($rule->is_cumulative) && $rule->is_cumulative) {
951
  return $allowed;
952
  }
953
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
954
  /**
955
  * To format rules to apply
956
  *
1011
  /**
1012
  * Fetch back the Matched rules.
1013
  *
1014
+ * @param string $index
1015
+ * @param array $item
1016
+ * @param int $product_page
1017
+ * @param int $bogo
1018
+ * @return void
1019
  */
1020
  public function matchRules($index, $item, $product_page = 0, $bogo = 0)
1021
  {
1061
  $alreadyExists = 0;
1062
  if(isset($rule['type']['is_cumulative']) && $rule['type']['is_cumulative']){
1063
  $totalQuantityInThisCategory = $this->getProductQuantityInThisCategory($rule['type']['specific_category'], $rule['product_to_exclude'], $rule['exclude_sale_items']);
1064
+ if($product_page){
1065
+ $quantity = $quantity+$totalQuantityInThisCategory;
1066
+ } else {
1067
+ $quantity = $totalQuantityInThisCategory;
1068
+ }
1069
  //Check for product_discount to apply the rule only once
1070
  if(isset($rule['discount'])){
1071
  if(!empty($rule['discount'])){
1086
  }
1087
  }
1088
  if(!$alreadyExists){
1089
+ $discount_amount = $this->getAdjustmentAmount($item, $quantity, $this->array_first($rule['discount']), $product_page, $bogo, $rule['product_to_exclude']);
1090
  $applied_rules[$i] = $this->formatRulesToApply($discount_amount, $rule['name'], $index, $item['product_id'], $id);
1091
  }
1092
  }
1098
  $alreadyExists = 0;
1099
  if(isset($rule['type']['is_cumulative']) && $rule['type']['is_cumulative']){
1100
  $totalQuantityInThisAttribute = $this->getProductQuantityInThisAttribute($rule['type']['specific_attribute'], $rule['product_to_exclude'], $rule['exclude_sale_items'], $id);
1101
+ if($product_page){
1102
+ $quantity = $quantity+$totalQuantityInThisAttribute;
1103
+ } else {
1104
+ $quantity = $totalQuantityInThisAttribute;
1105
+ }
1106
  //Check for product_discount to apply the rule only once
1107
  if(isset($rule['discount'])){
1108
  if(!empty($rule['discount'])){
1123
  }
1124
  }
1125
  if(!$alreadyExists){
1126
+ $discount_amount = $this->getAdjustmentAmount($item, $quantity, $this->array_first($rule['discount']), $product_page, $bogo, $rule['product_to_exclude']);
1127
  $applied_rules[$i] = $this->formatRulesToApply($discount_amount, $rule['name'], $index, $item['product_id'], $id);
1128
  }
1129
  }
1134
  $is_not_in_exclude_sale_items = !$this->isItemInSaleItems($rule['exclude_sale_items'], $item['data']);
1135
  if (!$this->isItemInProductList($rule['product_to_exclude'], $item) && $is_not_in_exclude_sale_items) {
1136
  if(isset($rule['is_cumulative_for_products']) && $rule['is_cumulative_for_products']){
1137
+ $quantity = $this->getProductQuantityForCumulativeProducts($item, $product_page, $rule);
 
1138
  }
1139
+ $discount_amount = $this->getAdjustmentAmount($item, $quantity, $this->array_first($rule['discount']), $product_page, $bogo, $rule['product_to_exclude']);
1140
  $applied_rules[$i] = $this->formatRulesToApply($discount_amount, $rule['name'], $index, $item['product_id'], $id);
1141
  }
1142
 
1226
  $product_to_buy = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($product_to_buy);
1227
  $product_to_apply = isset($product_based_conditions['product_to_apply']) ? $product_based_conditions['product_to_apply'] : array();
1228
  $product_to_apply = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($product_to_apply);
1229
+ $category_to_apply = isset($product_based_conditions['category_to_apply']) ? $product_based_conditions['category_to_apply'] : array();
1230
+ $get_discount_type = isset($product_based_conditions['get_discount_type']) ? $product_based_conditions['get_discount_type'] : 'product';
1231
 
1232
  $product_based_discounts = isset($rule['product_based_discount']) ? $rule['product_based_discount'] : array();
1233
  $discount_type = isset($product_based_discounts['discount_type']) ? $product_based_discounts['discount_type'] : 'percentage_discount';
1238
  $product_id = $item['variation_id'];
1239
  else
1240
  $product_id = $item['product_id'];
1241
+ if($get_discount_type == 'category'){
1242
+ $product_to_apply = array();
1243
+ if ( sizeof( $cart ) > 0 ) {
1244
+ foreach ($cart as $cart_item_key => $values) {
1245
+ $resultInCat = $this->isItemInCategoryList($category_to_apply, $values);
1246
+ if($resultInCat){
1247
+ if(isset($values['variation_id']) && $values['variation_id'])
1248
+ $product_id_in_cat = $values['variation_id'];
1249
+ else
1250
+ $product_id_in_cat = $values['product_id'];
1251
+ $product_to_apply[] = $product_id_in_cat;
1252
+ }
1253
+ }
1254
+ }
1255
+ }
1256
  if ( sizeof( $cart ) > 0 ) {
1257
  foreach ($product_to_buy as $key => $productId) {
1258
  foreach ($cart as $cart_item_key => $values) {
1292
  if(!empty($product_to_exclude) && is_array($product_to_exclude) && count($product_to_exclude)) $hasExcludeProduct = 1;
1293
  if(count($woocommerce->cart->cart_contents)){
1294
  foreach ($woocommerce->cart->cart_contents as $cartItem) {
1295
+ //Exclude the bundled products items
1296
+ if(isset($cartItem['bundled_item_id']) && !empty($cartItem['bundled_item_id'])){
1297
+ continue;
1298
+ }
1299
+ // if(isset($cartItem['variation']) && !empty($cartItem['variation'])){
1300
+ // if(isset($cartItem['variation']['Type']) && !empty($cartItem['variation']['Type'])){
1301
+ // if($cartItem['variation']['Type'] == "Free Item") continue;
1302
+ // }
1303
+ // }
1304
  $is_exclude_sale_items = $this->isItemInSaleItems($exclude_sale_items, $cartItem['data']);
1305
  if($is_exclude_sale_items){
1306
  continue;
1311
  continue;
1312
  }
1313
  }
 
1314
  $product_id_parent = $cartItem['product_id'];
1315
  if(isset(self::$product_categories[$product_id_parent])){
1316
  $terms = self::$product_categories[$product_id_parent];
1427
  * @param $product_page
1428
  * @return array|bool
1429
  */
1430
+ public function getAdjustmentAmount($item, $quantity, $discount_ranges, $product_page, $bogo, $product_to_exclude = array())
1431
  {
1432
  $adjustment = array();
1433
  foreach($discount_ranges as $discount_range) {
1449
  if($discount_product_option == 'same_product'){
1450
  $productId = FlycartWoocommerceProduct::get_id($item['data']);
1451
  $discount_quantity = isset($range->discount_bogo_qty)? $range->discount_bogo_qty: 1000;
1452
+ $productCheapest = $this->getCheapestProductFromCart(array($productId), 0, $discount_quantity, $range, $product_to_exclude);
1453
  if(!empty($productCheapest)){
1454
  $adjustment = array ( 'price_discount' => $productCheapest['percent'], 'product_ids' => array($productCheapest['product']), 'product_cart_item_keys' => array($productCheapest['product_cart_item_key']), 'product_discount_details' => $productCheapest['discount_details']) ;
1455
  }
1456
  } else if($discount_product_option == 'any_cheapest_from_all'){
1457
+ $productCheapest = $this->getCheapestProductFromCart($productIds, 1, 1, $range, $product_to_exclude);
1458
  if(!empty($productCheapest)){
1459
  $adjustment = array ( 'price_discount' => $productCheapest['percent'], 'product_ids' => array($productCheapest['product']), 'product_cart_item_keys' => array($productCheapest['product_cart_item_key']) ) ;
1460
  }
1461
  } else if($discount_product_option == 'any_cheapest'){
1462
+ $productCheapest = $this->getCheapestProductFromCart($productIds,0, 1, $range, $product_to_exclude);
1463
  if(!empty($productCheapest)){
1464
  $adjustment = array ( 'price_discount' => $productCheapest['percent'], 'product_ids' => array($productCheapest['product']), 'product_cart_item_keys' => array($productCheapest['product_cart_item_key']) ) ;
1465
  }
1468
  if($discount_product_items < 1) $discount_product_items = 1;
1469
  $discount_product_qty = (isset($range->discount_product_qty) ? $range->discount_product_qty : 1);
1470
  if($discount_product_qty < 1) $discount_product_qty = 1;
1471
+ $productCheapest = $this->getMoreThanOneCheapestProductFromCart($productIds, $discount_product_qty, $discount_product_items, $range, $product_to_exclude);
1472
  if(!empty($productCheapest)){
1473
  $adjustment = $productCheapest ;
1474
  }
1491
  $this->bogo_matches = $free_product;
1492
  $adjustment[$type] = $productIds;
1493
  } else {
1494
+ $productCheapest = $this->getMoreThanOneCheapestProductFromCart($productIds, $bogo_count, count($productIds), $range, $product_to_exclude);
1495
  if (!empty($productCheapest)) {
1496
  $adjustment = $productCheapest;
1497
  }
1523
  /**
1524
  * Get More than one cheapest item
1525
  * */
1526
+ public function getMoreThanOneCheapestProductFromCart($productIds, $discount_quantity = 1, $discount_item = 1, $range, $product_to_exclude = array()){
1527
  $discount_product_option = isset($range->discount_product_option) ? $range->discount_product_option : 'more_than_one_cheapest';
1528
  $discount_product_item_type = isset($range->discount_product_item_type) ? $range->discount_product_item_type : 'static';
1529
  if($discount_product_item_type == 'dynamic'){
1537
  else if($discount_product_option == "more_than_one_cheapest_from_cat")
1538
  $productIds = $this->getAllProductsFromCartAndSelectedCategory($range->discount_category);
1539
  for ($i = 1; $i <= $discount_item; $i++){
1540
+ $productCheapest = $this->getCheapestProductFromCart($productIds, 0, $discount_quantity, $range, $product_to_exclude);
1541
  if(!empty($productCheapest)){
1542
  $index = array_search($productCheapest['product'], $productIds);
1543
  if ( $index !== false ) {
1616
  /**
1617
  * Get cheapest product
1618
  * */
1619
+ public function getCheapestProductFromCart($products, $all = 0, $discount_quantity = 1, $range, $product_to_exclude = array()){
1620
  if(!$all){
1621
  if(empty($products)) return array();
1622
  }
1625
  foreach ($cart as $cart_item_key => $values) {
1626
  $_product = $values['data'];
1627
  $productId = FlycartWoocommerceProduct::get_id($_product);
1628
+ if(!empty($product_to_exclude) && is_array($product_to_exclude)){
1629
+ if(in_array($productId, $product_to_exclude)) continue;
1630
+ }
1631
  if(!in_array($productId, $products) && !$all) continue;
1632
 
1633
  if($cheapestProductValue == 0){
1981
  {
1982
  global $product;
1983
 
1984
+ if($product->is_type(array('variable', 'subscription_variation', 'variable-subscription'))){
1985
+ $product_id = FlycartWoocommerceProduct::get_id($product);
1986
+ echo '<div class="woo_discount_rules_variant_table" data-id="'.$product_id.'"></div>';
1987
+ } else {
1988
+ $this->loadPriceTable($product);
1989
+ }
1990
+ }
1991
+
1992
+ public function getWooDiscountedPriceTableForVariant(){
1993
+ if (isset($_REQUEST['id']) && $_REQUEST['id']) {
1994
+ $product = FlycartWoocommerceProduct::wc_get_product($_REQUEST['id']);
1995
+ $this->loadPriceTable($product);
1996
+ exit;
1997
+ }
1998
+ echo '';exit;
1999
+ }
2000
+
2001
+ public function loadPriceTable($product)
2002
+ {
2003
  $config = $this->baseConfig;
2004
  $show_discount = true;
2005
  // Base Config to Check whether display table or not.
2046
  */
2047
  public function generateDiscountTableData($product)
2048
  {
2049
+ if(empty($product)){
2050
+ global $product;
2051
+ }
2052
  if(empty($product)) return false;
2053
  $product_id = FlycartWoocommerceProduct::get_id($product);
2054
  $id = (($product_id != 0 && $product_id != null) ? $product_id : 0);
2107
  $productToExclude = $this->getExcludeProductsFromRule($rule);
2108
  $category_to_apply = json_decode($rule->category_to_apply);
2109
  if (isset($rule->apply_child_categories) && $rule->apply_child_categories == 1) {
2110
+ $category_to_apply = FlycartWooDiscountRulesGeneralHelper::getAllSubCategories($category_to_apply);
2111
  }
2112
  FlycartWooDiscountRulesGeneralHelper::toInt($category_to_apply);
2113
  $status = false;
2294
  $product_to_buy = isset($product_based_conditions['product_to_buy']) ? $product_based_conditions['product_to_buy'] : array();
2295
  $product_to_buy = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($product_to_buy);
2296
  $product_to_apply = isset($product_based_conditions['product_to_apply']) ? $product_based_conditions['product_to_apply'] : array();
2297
+ $category_to_apply = isset($product_based_conditions['category_to_apply']) ? $product_based_conditions['category_to_apply'] : array();
2298
+ $get_discount_type = isset($product_based_conditions['get_discount_type']) ? $product_based_conditions['get_discount_type'] : 'product';
2299
  $product_to_apply = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($product_to_apply);
2300
  $product_to_apply_count_option = isset($product_based_conditions['product_to_apply_count_option']) ? $product_based_conditions['product_to_apply_count_option'] : 'all';
2301
  $product_to_apply_count = isset($product_based_conditions['product_to_apply_count']) ? $product_based_conditions['product_to_apply_count'] : 0;
2342
  $condition .= ' '.trim($htmlProduct, ', ').' ';
2343
  }
2344
  $condition .= esc_html__(' and get discount in ', 'woo-discount-rules');
2345
+ if($get_discount_type == 'product'){
2346
+ if($product_to_apply_count_option == 'apply_first'){
2347
+ $condition .= esc_html__(' first ', 'woo-discount-rules');
2348
+ $condition .= $product_to_apply_count;
2349
+ $condition .= esc_html__(' quantity of product(s) - ', 'woo-discount-rules');
2350
+ } else if($product_to_apply_count_option == 'skip_first'){
2351
+ $condition .= esc_html__(' after first ', 'woo-discount-rules');
2352
+ $condition .= $product_to_apply_count;
2353
+ $condition .= esc_html__(' quantity of product(s) - ', 'woo-discount-rules');
2354
+ }
2355
+ if(count($product_to_apply)){
2356
+ $htmlProduct = '';
2357
+ foreach ($product_to_apply as $product_id){
2358
+ $product = FlycartWoocommerceProduct::wc_get_product($product_id);
2359
+ $htmlProduct .= '<a href="'.FlycartWoocommerceProduct::get_permalink($product).'">'.FlycartWoocommerceProduct::get_title($product).'</a>, ';
2360
+ }
2361
+ $condition .= trim($htmlProduct, ', ');
2362
+ }
2363
+ } else {
2364
+ if(count($category_to_apply)){
2365
+ $htmlCategories = '';
2366
+ foreach ($category_to_apply as $category_id){
2367
+ $htmlCategories .= FlycartWoocommerceProduct::get_product_category_by_id($category_id).', ';
2368
+ }
2369
+ $condition .= esc_html__('Category(ies) ').' '.trim($htmlCategories, ', ');
2370
  }
 
2371
  }
2372
+
2373
  return $condition;
2374
  }
2375
 
2539
  $adjustment_set = $this->matched_sets[$cart_item_key];
2540
  $product = $woocommerce->cart->cart_contents[$cart_item_key]['data'];
2541
  $product_id = FlycartWoocommerceProduct::get_id($product);
2542
+ $original_product = FlycartWoocommerceProduct::wc_get_product($product_id);
2543
+ $price = FlycartWoocommerceProduct::get_price($original_product);
2544
 
2545
  //To reset the adjustment set if the Product discount adjustment exists
2546
  $adjustment_set = $this->resetTheDiscountIfProductDiscountAdjustmentExists($adjustment_set, $product_id, $cart_item_key);
2547
  $additionalDetails = array();
2548
+ $product_page = 0;
2549
  if ($type == 'first') {
2550
  // For Apply the First Rule.
2551
  $discount = $this->getAmount($adjustment_set, $price, 'first');
2553
  $additionalDetails = $discount['details'];
2554
  $discount = $discount['amount'];
2555
  }
2556
+ $amount = apply_filters('woo_discount_rules_price_rule_final_amount_applied', $price - $discount, $price, $discount, $additionalDetails, $product, $product_page);//$price - $discount;
2557
  $log = 'Discount | ' . $discount;
2558
  $this->applyDiscount($cart_item_key, $amount, $log, $additionalDetails);
2559
  } else if ($type == 'biggest') {
2563
  $additionalDetails = $discount['details'];
2564
  $discount = $discount['amount'];
2565
  }
2566
+ $amount = apply_filters('woo_discount_rules_price_rule_final_amount_applied', $price - $discount, $price, $discount, $additionalDetails, $product, $product_page);//$price - $discount;
2567
  $log = 'Discount | ' . $discount;
2568
  $this->applyDiscount($cart_item_key, $amount, $log, $additionalDetails);
2569
  } else {
2573
  $additionalDetails = $discount['details'];
2574
  $discount = $discount['amount'];
2575
  }
2576
+ $amount = apply_filters('woo_discount_rules_price_rule_final_amount_applied', $price - $discount, $price, $discount, $additionalDetails, $product, $product_page);//$price - $discount;
2577
  $log = 'Discount | ' . $discount;
2578
  $this->applyDiscount($cart_item_key, $amount, $log, $additionalDetails);
2579
  }
2729
  return;
2730
  }
2731
  $product = $woocommerce->cart->cart_contents[$item]['data'];
2732
+
2733
+ $product_id = FlycartWoocommerceProduct::get_id($product);
2734
+ $original_product = FlycartWoocommerceProduct::wc_get_product($product_id);
2735
+
2736
  // Log changes
2737
  $woocommerce->cart->cart_contents[$item]['woo_discount'] = array(
2738
+ 'original_price' => get_option('woocommerce_tax_display_cart') == 'excl' ? FlycartWoocommerceProduct::get_price_excluding_tax($original_product) : FlycartWoocommerceProduct::get_price_including_tax($original_product),
2739
  'log' => $log,
2740
  'additional_details' => $additionalDetails,
2741
  );
2742
 
 
 
 
 
 
 
 
 
 
2743
  // Actually adjust price in cart
2744
  // $woocommerce->cart->cart_contents[$item]['data']->price = $amount;
2745
  FlycartWoocommerceProduct::set_price($product, $amount);
2767
  */
2768
  public function replaceVisiblePricesCart($item_price, $cart_item = array(), $cart_item_key = null)
2769
  {
2770
+ if(function_exists('is_user_logged_in')) if(!is_user_logged_in()){
2771
+ global $woocommerce;
2772
+ $this->analyse($woocommerce);
2773
+ }
2774
+
2775
  $config = new FlycartWooDiscountBase();
2776
  $show_strikeout_in_cart = $config->getConfigData('show_strikeout_in_cart', 1);
2777
  if (!isset($cart_item['woo_discount']) || !$show_strikeout_in_cart) {
2858
  if($show_price_discount_on_product_page == 'show' && $notAdmin){
2859
  $discountPrice = $this->getDiscountPriceForTheProduct($product, FlycartWoocommerceProduct::get_price($variations));
2860
  $product_id = FlycartWoocommerceProduct::get_id($variations);
2861
+ if(isset(self::$product_strike_out_price[$product_id]) && !empty(self::$product_strike_out_price[$product_id])){
2862
+ return self::$product_strike_out_price[$product_id];
2863
+ }
2864
  if($discountPrice > 0 || ($this->hasDiscountForProductId($product_id))){
2865
  $price_to_display = FlycartWoocommerceProduct::wc_price($discountPrice);
2866
  $item_price = preg_replace('/<del>.*<\/del>/', '', $item_price);
2867
  $item_price = '<del>' . $item_price . '</del> <ins>' . ($price_to_display).$product->get_price_suffix() . '</ins>';
2868
  }
2869
+ self::$product_strike_out_price[$product_id] = $item_price;
2870
  }
2871
 
2872
  $data['price_html'] = $item_price;
2878
  * */
2879
  public function replaceVisiblePrices($item_price, $product)
2880
  {
2881
+ if (!(defined('DOING_AJAX') && DOING_AJAX)) {
2882
+ $parent_id = FlycartWoocommerceProduct::get_parent_id($product);
2883
+ if($parent_id){
2884
+ return $item_price;
2885
+ }
2886
+ }
2887
+
2888
  $notAdmin = FlycartWooDiscountRulesGeneralHelper::doIHaveToRun();
2889
  $show_price_discount_on_product_page = (isset($this->baseConfig['show_price_discount_on_product_page']))? $this->baseConfig['show_price_discount_on_product_page']: 'dont';
2890
  if($show_price_discount_on_product_page == 'show' && $notAdmin){
2891
  $discountPrice = $this->getDiscountPriceForTheProduct($product);
2892
  $product_id = FlycartWoocommerceProduct::get_id($product);
2893
+ self::$product_on_sale[$product_id] = 0;
2894
+ self::$product_has_strike_out[$product_id]['has_strikeout'] = 0;
2895
+ self::$product_has_strike_out[$product_id]['new_strikeout_html'] = '';
2896
  if($discountPrice > 0 || ($this->hasDiscountForProductId($product_id))){
2897
+ self::$product_on_sale[$product_id] = 1;
2898
  $price_to_display = FlycartWoocommerceProduct::wc_price($discountPrice);
2899
  $show_original = 0;
2900
  if(FlycartWoocommerceVersion::wcVersion('3.0'))
2901
  $price_to_display = $this->checkForHighestVariantIfExists($product, $price_to_display, $show_original);
2902
  if(!$show_original){
2903
+ self::$product_has_strike_out[$product_id]['has_strikeout'] = 1;
2904
+ self::$product_has_strike_out[$product_id]['new_strikeout_html'] = ($price_to_display).$product->get_price_suffix();
2905
  $item_price = preg_replace('/<del>.*<\/del>/', '', $item_price);
2906
  $item_price = '<span class="cart_price"><del>' . $item_price . '</del> <ins>' . ($price_to_display).$product->get_price_suffix() . '</ins></span>';
2907
  }
2911
  return $item_price;
2912
  }
2913
 
2914
+ /**
2915
+ * Replace visible price if rule matches Optimized
2916
+ * */
2917
+ public function replaceVisiblePricesOptimized($item_price, $product)
2918
+ {
2919
+ if (!(defined('DOING_AJAX') && DOING_AJAX)) {
2920
+ $parent_id = FlycartWoocommerceProduct::get_parent_id($product);
2921
+ if($parent_id){
2922
+ return $item_price;
2923
+ }
2924
+ }
2925
+
2926
+ $notAdmin = FlycartWooDiscountRulesGeneralHelper::doIHaveToRun();
2927
+ $show_price_discount_on_product_page = (isset($this->baseConfig['show_price_discount_on_product_page']))? $this->baseConfig['show_price_discount_on_product_page']: 'dont';
2928
+ if($show_price_discount_on_product_page == 'show' && $notAdmin){
2929
+ $product_id = FlycartWoocommerceProduct::get_id($product);
2930
+ if(isset(self::$product_strike_out_price[$product_id]) && !empty(self::$product_strike_out_price[$product_id])){
2931
+ return self::$product_strike_out_price[$product_id];
2932
+ }
2933
+ if(isset(self::$product_has_strike_out[$product_id]) && self::$product_has_strike_out[$product_id]['has_strikeout']){
2934
+ if(self::$product_has_strike_out[$product_id]['has_strikeout'] && !empty(self::$product_has_strike_out[$product_id]['new_strikeout_html'])){
2935
+ $item_price = preg_replace('/<del>.*<\/del>/', '', $item_price);
2936
+ $item_price = '<span class="cart_price"><del>' . $item_price . '</del> <ins>' . (self::$product_has_strike_out[$product_id]['new_strikeout_html']) . '</ins></span>';
2937
+ }
2938
+ } else {
2939
+ $item_price = $this->replaceVisiblePrices($item_price, $product);
2940
+ }
2941
+ self::$product_strike_out_price[$product_id] = $item_price;
2942
+ }
2943
+
2944
+ return $item_price;
2945
+ }
2946
+
2947
+ /**
2948
+ * Display Product sale tag on the product page optimized
2949
+ * */
2950
+ public function displayProductIsOnSaleTagOptimized($on_sale, $product){
2951
+ $notAdmin = FlycartWooDiscountRulesGeneralHelper::doIHaveToRun();
2952
+ $show_price_discount_on_product_page = (isset($this->baseConfig['show_sale_tag_on_product_page']))? $this->baseConfig['show_sale_tag_on_product_page']: 'dont';
2953
+ if($show_price_discount_on_product_page == 'show' && $notAdmin){
2954
+ $product_id = FlycartWoocommerceProduct::get_id($product);
2955
+ if(isset(self::$product_on_sale[$product_id])){
2956
+ if(self::$product_on_sale[$product_id]){
2957
+ $on_sale = true;
2958
+ }
2959
+ } else {
2960
+ $show_price_discount_on_product_page = (isset($this->baseConfig['show_price_discount_on_product_page']))? $this->baseConfig['show_price_discount_on_product_page']: 'dont';
2961
+ if($show_price_discount_on_product_page == 'show'){
2962
+ $this->replaceVisiblePrices('', $product);
2963
+ if(isset(self::$product_on_sale[$product_id])){
2964
+ if(self::$product_on_sale[$product_id]){
2965
+ $on_sale = true;
2966
+ }
2967
+ }
2968
+ } else {
2969
+ $on_sale = $this->displayProductIsOnSaleTag($on_sale, $product);
2970
+ }
2971
+ }
2972
+ }
2973
+ return $on_sale;
2974
+ }
2975
+
2976
+ public function getWooDiscountedPriceForVariant(){
2977
+ if (isset($_REQUEST['id']) && $_REQUEST['id'] && isset($_REQUEST['price_html']) && $_REQUEST['price_html'] != '') {
2978
+ $product = FlycartWoocommerceProduct::wc_get_product($_REQUEST['id']);
2979
+ $price_html_request = stripslashes($_REQUEST['price_html']);
2980
+ $price_html = $this->replaceVisiblePrices($price_html_request, $product);
2981
+ $return['status'] = 1;
2982
+ $return['price_html'] = $price_html;
2983
+ echo json_encode($return);
2984
+ exit;
2985
+ }
2986
+ }
2987
+
2988
  public function checkForHighestVariantIfExists($product, $price_to_display, &$show_original){
2989
  $display_only_lowest_price = 0;
2990
  $tax_display_mode = get_option( 'woocommerce_tax_display_shop' );
3055
  $discountPrice = $this->getDiscountPriceForTheProduct($product_new);
3056
  if($discountPrice <= 0 || !($this->hasDiscountForProductId($child_products[0]))){
3057
  $show_original = 1;
3058
+ } else {
3059
+ $price_to_display = FlycartWoocommerceProduct::wc_price($discountPrice);
3060
  }
3061
  }
3062
  }
3073
  $notAdmin = FlycartWooDiscountRulesGeneralHelper::doIHaveToRun();
3074
  $show_price_discount_on_product_page = (isset($this->baseConfig['show_sale_tag_on_product_page']))? $this->baseConfig['show_sale_tag_on_product_page']: 'dont';
3075
  if($show_price_discount_on_product_page == 'show' && $notAdmin){
3076
+ $product_id = FlycartWoocommerceProduct::get_id($product);
3077
+ self::$product_on_sale[$product_id] = 0;
3078
  $discountPrice = $this->getDiscountPriceForTheProduct($product);
3079
  if($discountPrice > 0){
3080
  $on_sale = true;
3081
+ self::$product_on_sale[$product_id] = 1;
3082
  } else {
 
3083
  if($this->hasDiscountForProductId($product_id)){
3084
  $on_sale = true;
3085
+ self::$product_on_sale[$product_id] = 1;
3086
  }
3087
  }
3088
 
3096
  $discountPrice = $this->getDiscountPriceForTheProduct($child);
3097
  if($discountPrice > 0){
3098
  $on_sale = true;
3099
+ self::$product_on_sale[$product_id] = 1;
3100
  break;
3101
  } else {
3102
  $product_id = FlycartWoocommerceProduct::get_id($child);
3103
  if($this->hasDiscountForProductId($product_id)){
3104
  $on_sale = true;
3105
+ self::$product_on_sale[$product_id] = 1;
3106
  break;
3107
  }
3108
  }
3116
  $discountPrice = $this->getDiscountPriceForTheProduct($child);
3117
  if($discountPrice > 0){
3118
  $on_sale = true;
3119
+ self::$product_on_sale[$product_id] = 1;
3120
  break;
3121
  } else {
3122
  $product_id = FlycartWoocommerceProduct::get_id($child);
3123
  if($this->hasDiscountForProductId($product_id)){
3124
  $on_sale = true;
3125
+ self::$product_on_sale[$product_id] = 1;
3126
  break;
3127
  }
3128
  }
3251
 
3252
  $amount = 0;
3253
  $discount = 0;
3254
+ $additionalDetails = array();
3255
  if ($type == 'first') {
3256
  // For Apply the First Rule.
3257
  $discount = $this->getAmount($adjustment_set, $price, 'first', 1, $cart_item);
3275
  $discount = $discount['amount'];
3276
  }
3277
  }
3278
+ $product_page = 1;
3279
  if($discount > 0){
3280
  $this->products_has_discount[$product_id] = 1;
3281
+ $amount = apply_filters('woo_discount_rules_price_rule_final_amount_applied', $price - $discount, $price, $discount, $additionalDetails, $cart_item, $product_page);//$price - $discount;
3282
  }
3283
 
3284
  return $amount;
loader.php CHANGED
@@ -130,7 +130,57 @@ if(!class_exists('FlycartWooDiscountRules')){
130
  * */
131
  public function applyCartDiscountRules(){
132
  $this->discountBase->handleCartDiscount();
133
- remove_action('woocommerce_cart_loaded_from_session', array($this, 'applyCartDiscountRules'), 100);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  }
135
 
136
  /**
@@ -146,7 +196,7 @@ if(!class_exists('FlycartWooDiscountRules')){
146
  add_action('woocommerce_after_cart_item_quantity_update', array($this->discountBase, 'handleDiscount'), 100);
147
  if(version_compare($woocommerce_version, '3.0', '>=')){
148
  add_action('woocommerce_before_calculate_totals', array($this, 'applyDiscountRules'), 1000);
149
- add_action('woocommerce_cart_loaded_from_session', array($this, 'applyCartDiscountRules'), 100);
150
  add_action( 'woocommerce_after_cart_item_quantity_update', array($this->pricingRules, 'handleBOGODiscountOnUpdateQuantity'), 10, 4 );
151
  } else {
152
  add_action( 'woocommerce_after_cart_item_quantity_update', array($this->pricingRules, 'handleBOGODiscountOnUpdateQuantity'), 10, 3 );
@@ -166,16 +216,16 @@ if(!class_exists('FlycartWooDiscountRules')){
166
  add_filter('woocommerce_cart_item_price', array($this->pricingRules, 'replaceVisiblePricesCart'), 1000, 3);
167
 
168
  //replace visible price in product page
169
- add_filter('woocommerce_get_price_html', array($this->pricingRules, 'replaceVisiblePrices'), 100, 3);
170
  //replace visible price in product page for variant
171
  add_filter('woocommerce_available_variation', array($this->pricingRules, 'replaceVisiblePricesForVariant'), 100, 3);
172
 
173
-
174
  // Older Version support this hook.
175
  add_filter('woocommerce_cart_item_price_html', array($this->pricingRules, 'replaceVisiblePricesCart'), 1000, 3);
176
 
177
  // Pricing Table of Individual Product.
178
  add_filter('woocommerce_before_add_to_cart_form', array($this->pricingRules, 'priceTable'));
 
179
 
180
  // Updating Log After Creating Order
181
  add_action('woocommerce_thankyou', array($this->discountBase, 'storeLog'));
@@ -183,7 +233,7 @@ if(!class_exists('FlycartWooDiscountRules')){
183
  add_action( 'woocommerce_after_checkout_form', array($this->discountBase, 'addScriptInCheckoutPage'));
184
 
185
  //To enable on-sale tag
186
- add_filter('woocommerce_product_is_on_sale', array($this->pricingRules, 'displayProductIsOnSaleTag'), 10, 2);
187
 
188
  $force_refresh_cart_widget = $this->discountBase->getConfigData('force_refresh_cart_widget', 0);
189
  if($force_refresh_cart_widget){
@@ -191,6 +241,11 @@ if(!class_exists('FlycartWooDiscountRules')){
191
  add_action('woocommerce_before_mini_cart', array($this, 'applyRulesBeforeMiniCart'), 10);
192
  }
193
  }
 
 
 
 
 
194
  }
195
 
196
  /**
@@ -218,3 +273,13 @@ if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
218
  include_once('includes/advanced/advanced-helper.php');
219
  }
220
  }
 
 
 
 
 
 
 
 
 
 
130
  * */
131
  public function applyCartDiscountRules(){
132
  $this->discountBase->handleCartDiscount();
133
+ remove_action('woocommerce_cart_loaded_from_session', array($this, 'applyCartDiscountRules'), 97);
134
+ }
135
+
136
+ /**
137
+ * Script on product page for loading variant strikeout
138
+ * */
139
+ public function script_on_product_page(){
140
+ $script = '<script>';
141
+ $script .= 'jQuery( document ).ready( function() {';
142
+ $do_product_page_strikeout = $this->discountBase->getConfigData('show_price_discount_on_product_page', 'dont');
143
+ if($do_product_page_strikeout == 'show') {
144
+ $script .= ' jQuery( ".single_variation_wrap" ).on( "show_variation", function ( event, variation, purchasable ) {';
145
+ $script .= ' var container = jQuery(".single_variation .woocommerce-variation-price");';
146
+ $script .= ' container.hide("slow");';
147
+ $script .= ' jQuery.ajax({
148
+ url: wc_add_to_cart_params.ajax_url,
149
+ dataType: "json",
150
+ type: "POST",
151
+ data: {action: "loadWooDiscountedPriceForVariant", id: variation.variation_id, price_html: variation.price_html},
152
+ beforeSend: function() {
153
+ },
154
+ complete: function() {
155
+ },
156
+ success: function (response) {
157
+ if(response.status == 1){
158
+ jQuery(".single_variation .woocommerce-variation-price").html(response.price_html);
159
+ }
160
+ container.show("slow");
161
+ }
162
+ });';
163
+ $script .= ' });';
164
+ }
165
+ $script .= ' if(jQuery(".woo_discount_rules_variant_table").length > 0){
166
+ var p_id = jQuery( ".woo_discount_rules_variant_table" ).attr("data-id");';
167
+ $script .= ' jQuery.ajax({
168
+ url: wc_add_to_cart_params.ajax_url,
169
+ type: "POST",
170
+ data: {action: "loadWooDiscountedDiscountTable", id: p_id},
171
+ beforeSend: function() {
172
+ },
173
+ complete: function() {
174
+ },
175
+ success: function (response) {
176
+ jQuery(".woo_discount_rules_variant_table").html(response);
177
+ }
178
+ });';
179
+ $script .= ' }';
180
+ $script .= '});';
181
+ $script .= '</script>';
182
+
183
+ echo $script;
184
  }
185
 
186
  /**
196
  add_action('woocommerce_after_cart_item_quantity_update', array($this->discountBase, 'handleDiscount'), 100);
197
  if(version_compare($woocommerce_version, '3.0', '>=')){
198
  add_action('woocommerce_before_calculate_totals', array($this, 'applyDiscountRules'), 1000);
199
+ add_action('woocommerce_cart_loaded_from_session', array($this, 'applyCartDiscountRules'), 97);
200
  add_action( 'woocommerce_after_cart_item_quantity_update', array($this->pricingRules, 'handleBOGODiscountOnUpdateQuantity'), 10, 4 );
201
  } else {
202
  add_action( 'woocommerce_after_cart_item_quantity_update', array($this->pricingRules, 'handleBOGODiscountOnUpdateQuantity'), 10, 3 );
216
  add_filter('woocommerce_cart_item_price', array($this->pricingRules, 'replaceVisiblePricesCart'), 1000, 3);
217
 
218
  //replace visible price in product page
219
+ add_filter('woocommerce_get_price_html', array($this->pricingRules, 'replaceVisiblePricesOptimized'), 100, 3);
220
  //replace visible price in product page for variant
221
  add_filter('woocommerce_available_variation', array($this->pricingRules, 'replaceVisiblePricesForVariant'), 100, 3);
222
 
 
223
  // Older Version support this hook.
224
  add_filter('woocommerce_cart_item_price_html', array($this->pricingRules, 'replaceVisiblePricesCart'), 1000, 3);
225
 
226
  // Pricing Table of Individual Product.
227
  add_filter('woocommerce_before_add_to_cart_form', array($this->pricingRules, 'priceTable'));
228
+ add_filter('woocommerce_before_add_to_cart_form', array($this, 'script_on_product_page'));
229
 
230
  // Updating Log After Creating Order
231
  add_action('woocommerce_thankyou', array($this->discountBase, 'storeLog'));
233
  add_action( 'woocommerce_after_checkout_form', array($this->discountBase, 'addScriptInCheckoutPage'));
234
 
235
  //To enable on-sale tag
236
+ add_filter('woocommerce_product_is_on_sale', array($this->pricingRules, 'displayProductIsOnSaleTagOptimized'), 10, 2);
237
 
238
  $force_refresh_cart_widget = $this->discountBase->getConfigData('force_refresh_cart_widget', 0);
239
  if($force_refresh_cart_widget){
241
  add_action('woocommerce_before_mini_cart', array($this, 'applyRulesBeforeMiniCart'), 10);
242
  }
243
  }
244
+
245
+ add_action('wp_ajax_loadWooDiscountedPriceForVariant', array($this->pricingRules, 'getWooDiscountedPriceForVariant'));
246
+ add_action('wp_ajax_nopriv_loadWooDiscountedPriceForVariant', array($this->pricingRules, 'getWooDiscountedPriceForVariant'));
247
+ add_action('wp_ajax_loadWooDiscountedDiscountTable', array($this->pricingRules, 'getWooDiscountedPriceTableForVariant'));
248
+ add_action('wp_ajax_nopriv_loadWooDiscountedDiscountTable', array($this->pricingRules, 'getWooDiscountedPriceTableForVariant'));
249
  }
250
 
251
  /**
273
  include_once('includes/advanced/advanced-helper.php');
274
  }
275
  }
276
+
277
+ add_filter( 'woocommerce_add_to_cart_fragments', 'iconic_cart_count_fragments', 10, 1 );
278
+
279
+ function iconic_cart_count_fragments( $fragments ) {
280
+
281
+ $fragments['div.header-cart-count'] = '<div class="header-cart-count">' . WC()->cart->get_cart_contents_count() . '</div>';
282
+
283
+ return $fragments;
284
+
285
+ }
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://flycart.org/
4
  Tags: woocommerce, discounts, dynamic pricing, Buy One Get One Free, pricing deals, price rules, bulk discounts, advanced discounts, pricing deals
5
  Requires at least: 4.4.1
6
  Tested up to: 4.9
7
- Stable tag: 1.6.8
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -285,7 +285,7 @@ You can continue using WooCommerce Discount rules plugin in your site. However y
285
 
286
  = What is your refund policy? =
287
 
288
- We do have a 30-days money back guarantee. If our plugin doesn’t meet your requirements, we can issue a full refund. No compromise in that.
289
 
290
  = Can I set discount based on Billing Country and City ? =
291
 
@@ -308,6 +308,19 @@ Discount - Enter minimum & Maximum quantity -> Adjustment Type -> Product Discou
308
 
309
  == Changelog ==
310
 
 
 
 
 
 
 
 
 
 
 
 
 
 
311
  = 1.6.8 - 03/07/18 =
312
  * Feature - Bulk action, Ordering by order id
313
  * Feature - In each category option for cart rule(Pro)
4
  Tags: woocommerce, discounts, dynamic pricing, Buy One Get One Free, pricing deals, price rules, bulk discounts, advanced discounts, pricing deals
5
  Requires at least: 4.4.1
6
  Tested up to: 4.9
7
+ Stable tag: 1.6.9
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
285
 
286
  = What is your refund policy? =
287
 
288
+ We do have a 14-days money back guarantee. If our plugin doesn’t meet your requirements, we can issue a full refund. No compromise in that.
289
 
290
  = Can I set discount based on Billing Country and City ? =
291
 
308
 
309
  == Changelog ==
310
 
311
+ = 1.6.9 - 26/07/18 =
312
+ * Fix - Not updating in mini-cart/wrong strikeout price
313
+ * Fix - Category cumulative option quantity.
314
+ * Fix - PHP 5.3 compatible (empty page at backend)
315
+ * Feature - Get in categories option for product dependent rules
316
+ * Feature - Cart rule based on including sub-category option
317
+ * Feature - Cart rule based on shipping city and zip code options
318
+ * Feature - apply filter hook for change the final discount price: apply_filters('woo_discount_rules_price_rule_final_amount_applied', $price - $discount, $price, $discount, $additionalDetails, $product, $product_page);
319
+ * Improvement - Apply product exclude for BOGO get products too.
320
+ * Improvement - Variation price strike out through ajax.
321
+ * Improvement - Performance improvement.
322
+
323
+
324
  = 1.6.8 - 03/07/18 =
325
  * Feature - Bulk action, Ordering by order id
326
  * Feature - In each category option for cart rule(Pro)
view/cart-rules.php CHANGED
@@ -11,7 +11,8 @@ $data = array();
11
  $rule_list = $config;
12
  global $woocommerce;
13
 
14
- $isPro = (new FlycartWooDiscountRulesPurchase())->isPro();
 
15
 
16
  $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
17
  $current_url = remove_query_arg( 'paged', $current_url );
11
  $rule_list = $config;
12
  global $woocommerce;
13
 
14
+ $flycartWooDiscountRulesPurchase = new FlycartWooDiscountRulesPurchase();
15
+ $isPro = $flycartWooDiscountRulesPurchase->isPro();
16
 
17
  $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
18
  $current_url = remove_query_arg( 'paged', $current_url );
view/pricing-rules.php CHANGED
@@ -9,7 +9,8 @@ $config = (isset($config)) ? $config : '{}';
9
 
10
  $data = array();
11
  $rule_list = $config;
12
- $isPro = (new FlycartWooDiscountRulesPurchase())->isPro();
 
13
 
14
  $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
15
  $current_url = remove_query_arg( 'paged', $current_url );
9
 
10
  $data = array();
11
  $rule_list = $config;
12
+ $flycartWooDiscountRulesPurchase = new FlycartWooDiscountRulesPurchase();
13
+ $isPro = $flycartWooDiscountRulesPurchase->isPro();
14
 
15
  $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
16
  $current_url = remove_query_arg( 'paged', $current_url );
view/settings.php CHANGED
@@ -8,7 +8,8 @@ include_once(WOO_DISCOUNT_DIR . '/view/includes/menu.php');
8
  $data = $config;
9
 
10
  if (is_string($data)) $data = json_decode($data, true);
11
- $isPro = (new FlycartWooDiscountRulesPurchase())->isPro();
 
12
  ?>
13
 
14
  <div class="container-fluid woo_discount_loader_outer">
@@ -18,6 +19,7 @@ $isPro = (new FlycartWooDiscountRulesPurchase())->isPro();
18
  <div class="col-md-12" align="right">
19
  <br/>
20
  <input type="submit" id="saveConfig" value="<?php esc_html_e('Save', 'woo-discount-rules'); ?>" class="btn btn-success">
 
21
  </div>
22
  <div class="row">
23
  <div class="">
@@ -52,6 +54,7 @@ $isPro = (new FlycartWooDiscountRulesPurchase())->isPro();
52
  }
53
  }
54
  ?>
 
55
  <br>
56
  <div id="woo-disc-license-check-msg">
57
 
8
  $data = $config;
9
 
10
  if (is_string($data)) $data = json_decode($data, true);
11
+ $flycartWooDiscountRulesPurchase = new FlycartWooDiscountRulesPurchase();
12
+ $isPro = $flycartWooDiscountRulesPurchase->isPro();
13
  ?>
14
 
15
  <div class="container-fluid woo_discount_loader_outer">
19
  <div class="col-md-12" align="right">
20
  <br/>
21
  <input type="submit" id="saveConfig" value="<?php esc_html_e('Save', 'woo-discount-rules'); ?>" class="btn btn-success">
22
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('introduction/discount-price-rules-settings', 'settings', 'btn btn-info'); ?>
23
  </div>
24
  <div class="row">
25
  <div class="">
54
  }
55
  }
56
  ?>
57
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('introduction/license-key-activation', 'license'); ?>
58
  <br>
59
  <div id="woo-disc-license-check-msg">
60
 
view/view-cart-rules.php CHANGED
@@ -40,7 +40,8 @@ if (empty($discount_rules)) {
40
  $discount_rules = array(0 => '');
41
  $type = 'subtotal_least';
42
  }
43
- $isPro = (new FlycartWooDiscountRulesPurchase())->isPro();
 
44
  $woo_settings = new FlycartWooDiscountBase();
45
  $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not_run_while_have_third_party_coupon', 0);
46
  ?>
@@ -51,6 +52,7 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
51
  <div class="col-md-12 rule_buttons_con" align="right">
52
  <input type="submit" id="saveCartRule" value="<?php esc_html_e('Save Rule', 'woo-discount-rules'); ?>" class="btn btn-primary">
53
  <a href="?page=woo_discount_rules&tab=cart-rules" class="btn btn-warning"><?php esc_html_e('Cancel and go back to list', 'woo-discount-rules'); ?></a>
 
54
  </div>
55
  <?php if ($rule_id == 0) { ?>
56
  <div class="col-md-12"><h2><?php esc_html_e('New Cart Rule', 'woo-discount-rules'); ?></h2></div>
@@ -146,7 +148,7 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
146
 
147
  // Dummy Entry for One Rule at starting.
148
  // Note : Must having at least one rule on starting.
149
- $rule = (!is_null($rule) ? $rule : [0 => '1']);
150
  ?>
151
  <div class="cart_rules_list row">
152
  <div class="col-md-3 form-group">
@@ -207,6 +209,12 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
207
  <?php if ($type == 'categories_in') { ?> selected="selected"
208
  <?php } ?>><?php esc_html_e('Categories in cart', 'woo-discount-rules'); ?>
209
  </option>
 
 
 
 
 
 
210
  <option
211
  <?php if (!$pro) { ?> disabled <?php } else { ?> value="in_each_category" <?php
212
  } ?>
@@ -291,6 +299,26 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
291
  <?php esc_html_e('Shipping state', 'woo-discount-rules'); ?>
292
  <?php } ?>
293
  </option>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
294
  </optgroup>
295
  <optgroup label="<?php esc_attr_e('Purchase History', 'woo-discount-rules'); ?>">
296
  <option
@@ -369,7 +397,7 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
369
  <?php
370
  $category_list = array();
371
  $class = 'style="display:none"';
372
- if ($type == 'categories_atleast_one' || $type == 'categories_not_in' || $type == 'categories_in' || $type == 'in_each_category') {
373
  $category_list = $discount_rules[$type];
374
  $class = 'style="display:block"';
375
  $hit = true;
40
  $discount_rules = array(0 => '');
41
  $type = 'subtotal_least';
42
  }
43
+ $flycartWooDiscountRulesPurchase = new FlycartWooDiscountRulesPurchase();
44
+ $isPro = $flycartWooDiscountRulesPurchase->isPro();
45
  $woo_settings = new FlycartWooDiscountBase();
46
  $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not_run_while_have_third_party_coupon', 0);
47
  ?>
52
  <div class="col-md-12 rule_buttons_con" align="right">
53
  <input type="submit" id="saveCartRule" value="<?php esc_html_e('Save Rule', 'woo-discount-rules'); ?>" class="btn btn-primary">
54
  <a href="?page=woo_discount_rules&tab=cart-rules" class="btn btn-warning"><?php esc_html_e('Cancel and go back to list', 'woo-discount-rules'); ?></a>
55
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('introduction/cart-discount-rules', 'cart_rules', 'btn btn-info'); ?>
56
  </div>
57
  <?php if ($rule_id == 0) { ?>
58
  <div class="col-md-12"><h2><?php esc_html_e('New Cart Rule', 'woo-discount-rules'); ?></h2></div>
148
 
149
  // Dummy Entry for One Rule at starting.
150
  // Note : Must having at least one rule on starting.
151
+ $rule = (!is_null($rule) ? $rule : array(0 => '1'));
152
  ?>
153
  <div class="cart_rules_list row">
154
  <div class="col-md-3 form-group">
209
  <?php if ($type == 'categories_in') { ?> selected="selected"
210
  <?php } ?>><?php esc_html_e('Categories in cart', 'woo-discount-rules'); ?>
211
  </option>
212
+ <option
213
+ <?php if (!$pro) { ?> disabled <?php } else { ?> value="atleast_one_including_sub_categories" <?php
214
+ } ?>
215
+ <?php if ($type == 'atleast_one_including_sub_categories') { ?> selected="selected"
216
+ <?php } ?>><?php esc_html_e('Including sub-categories in cart', 'woo-discount-rules'); ?>
217
+ </option>
218
  <option
219
  <?php if (!$pro) { ?> disabled <?php } else { ?> value="in_each_category" <?php
220
  } ?>
299
  <?php esc_html_e('Shipping state', 'woo-discount-rules'); ?>
300
  <?php } ?>
301
  </option>
302
+ <option
303
+ <?php if (!$pro) { ?> disabled <?php } else { ?> value="customer_shipping_city" <?php
304
+ }
305
+ if ($type == 'customer_shipping_city') { ?> selected=selected <?php } ?>>
306
+ <?php if (!$pro) { ?>
307
+ <?php esc_html_e('Shipping city', 'woo-discount-rules'); ?> <b><?php echo $suffix; ?></b>
308
+ <?php } else { ?>
309
+ <?php esc_html_e('Shipping city', 'woo-discount-rules'); ?>
310
+ <?php } ?>
311
+ </option>
312
+ <option
313
+ <?php if (!$pro) { ?> disabled <?php } else { ?> value="customer_shipping_zip" <?php
314
+ }
315
+ if ($type == 'customer_shipping_zip_code') { ?> selected=selected <?php } ?>>
316
+ <?php if (!$pro) { ?>
317
+ <?php esc_html_e('Shipping zip code', 'woo-discount-rules'); ?> <b><?php echo $suffix; ?></b>
318
+ <?php } else { ?>
319
+ <?php esc_html_e('Shipping zip code', 'woo-discount-rules'); ?>
320
+ <?php } ?>
321
+ </option>
322
  </optgroup>
323
  <optgroup label="<?php esc_attr_e('Purchase History', 'woo-discount-rules'); ?>">
324
  <option
397
  <?php
398
  $category_list = array();
399
  $class = 'style="display:none"';
400
+ if (in_array($type, array('categories_atleast_one', 'categories_not_in', 'categories_in', 'in_each_category', 'atleast_one_including_sub_categories'))) {
401
  $category_list = $discount_rules[$type];
402
  $class = 'style="display:block"';
403
  $hit = true;
view/view-pricing-rules.php CHANGED
@@ -20,7 +20,8 @@ if (is_string($config)) {
20
  $data = $config;
21
  $rule_id = (isset($data->ID)) ? $data->ID : 0;
22
 
23
- $isPro = (new FlycartWooDiscountRulesPurchase())->isPro();
 
24
  $attributes = array();
25
  if($isPro){
26
  $attributes = FlycartWooDiscountRulesAdvancedHelper::get_all_product_attributes();
@@ -35,6 +36,7 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
35
  <div class="col-md-12 rule_buttons_con" align="right">
36
  <input type="submit" id="savePriceRule" value="<?php esc_html_e('Save Rule', 'woo-discount-rules'); ?>" class="btn btn-primary">
37
  <a href="?page=woo_discount_rules" class="btn btn-warning"><?php esc_html_e('Cancel and go back to list', 'woo-discount-rules'); ?></a>
 
38
  </div>
39
  <?php if ($rule_id == 0) { ?>
40
  <div class="col-md-12"><h2><?php esc_html_e('New Price Rule', 'woo-discount-rules'); ?></h2></div>
@@ -300,6 +302,7 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
300
  <option value="<?php echo $index; ?>"<?php if (in_array($index, $roles_list)) { ?> selected=selected <?php } ?>><?php echo $user; ?></option>
301
  <?php } ?>
302
  </select>
 
303
  <?php
304
  } else {
305
  ?>
@@ -328,11 +331,17 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
328
  <option value="any_selected"<?php if ($coupons_to_apply_option == 'any_selected') { ?> selected=selected <?php } ?>><?php esc_html_e('Apply if any one coupon applied', 'woo-discount-rules'); ?></option>
329
  <option value="all_selected"<?php if ($coupons_to_apply_option == 'all_selected') { ?> selected=selected <?php } ?>><?php esc_html_e('Apply if all coupon applied', 'woo-discount-rules'); ?></option>
330
  </select>
 
331
  <div class="coupons_to_apply_price_rule_con">
332
  <span class="woo-discount-hint">
333
  <?php
334
  esc_html_e('Enter the coupon code separated by comma(,)', 'woo-discount-rules');
335
  ?>
 
 
 
 
 
336
  </span>
337
  <input class="form-control coupons_to_apply" id="coupons_to_apply" name="coupons_to_apply" value="<?php echo $coupons_to_apply; ?>"/>
338
  <?php
@@ -421,6 +430,7 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
421
  <option value="2"<?php if ($based_on_purchase_history == '2') { ?> selected=selected <?php } ?>><?php esc_html_e('Number of orders', 'woo-discount-rules'); ?></option>
422
  <option value="3"<?php if ($based_on_purchase_history == '3') { ?> selected=selected <?php } ?>><?php esc_html_e('Purchased product', 'woo-discount-rules'); ?></option>
423
  </select>
 
424
  <?php
425
  } else {
426
  ?>
@@ -512,6 +522,13 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
512
  <?php echo FlycartWoocommerceProduct::getProductAjaxSelectBox($product_based_condition_product_to_buy, 'product_based_condition[product_to_buy]'); ?>
513
  </div>
514
  <div class="product_based_condition_get_product_discount">
 
 
 
 
 
 
 
515
  <label ><?php esc_html_e('and get discount in ', 'woo-discount-rules') ?></label>
516
  <select class="selectpicker" id="product_based_condition_product_to_apply_count_option" name="product_based_condition[product_to_apply_count_option]">
517
  <option value="all"<?php echo ($product_based_condition_product_to_apply_count_option == 'all')? ' selected="selected"': ''; ?>><?php esc_html_e('All', 'woo-discount-rules') ?></option>
@@ -520,11 +537,23 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
520
  </select>
521
  <input placeholder="<?php esc_html_e('Quantity', 'woo-discount-rules') ?>" type="text" name="product_based_condition[product_to_apply_count]" id="product_based_condition_product_to_apply_count" value="<?php echo $product_based_condition_product_to_apply_count; ?>"/ >
522
  </div>
523
- <div class="product_based_condition_get_product_discount">
524
  <label ><?php esc_html_e(' Product(s) ', 'woo-discount-rules') ?></label>
525
  <?php echo FlycartWoocommerceProduct::getProductAjaxSelectBox($product_based_condition_product_to_apply, 'product_based_condition[product_to_apply]'); ?>
526
  </div>
 
 
 
 
 
 
 
 
 
 
 
527
  </div>
 
528
  </div>
529
  <div class="form-group">
530
  <div class="row">
@@ -699,6 +728,7 @@ $do_not_run_while_have_third_party_coupon = $woo_settings->getConfigData('do_not
699
  </div>
700
  <?php $fieldIndex++; } ?>
701
  </div>
 
702
  </div>
703
  <div class="product_based_discount_cont price_discounts_con">
704
  <div class="price_discount_product_list_con">
20
  $data = $config;
21
  $rule_id = (isset($data->ID)) ? $data->ID : 0;
22
 
23
+ $flycartWooDiscountRulesPurchase = new FlycartWooDiscountRulesPurchase();
24
+ $isPro = $flycartWooDiscountRulesPurchase->isPro();
25
  $attributes = array();
26
  if($isPro){
27
  $attributes = FlycartWooDiscountRulesAdvancedHelper::get_all_product_attributes();
36
  <div class="col-md-12 rule_buttons_con" align="right">
37
  <input type="submit" id="savePriceRule" value="<?php esc_html_e('Save Rule', 'woo-discount-rules'); ?>" class="btn btn-primary">
38
  <a href="?page=woo_discount_rules" class="btn btn-warning"><?php esc_html_e('Cancel and go back to list', 'woo-discount-rules'); ?></a>
39
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('introduction/price-discount-rules', 'price_rules', 'btn btn-info'); ?>
40
  </div>
41
  <?php if ($rule_id == 0) { ?>
42
  <div class="col-md-12"><h2><?php esc_html_e('New Price Rule', 'woo-discount-rules'); ?></h2></div>
302
  <option value="<?php echo $index; ?>"<?php if (in_array($index, $roles_list)) { ?> selected=selected <?php } ?>><?php echo $user; ?></option>
303
  <?php } ?>
304
  </select>
305
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('role-based-discounts/user-role-based-discount-rules', 'role_based'); ?>
306
  <?php
307
  } else {
308
  ?>
331
  <option value="any_selected"<?php if ($coupons_to_apply_option == 'any_selected') { ?> selected=selected <?php } ?>><?php esc_html_e('Apply if any one coupon applied', 'woo-discount-rules'); ?></option>
332
  <option value="all_selected"<?php if ($coupons_to_apply_option == 'all_selected') { ?> selected=selected <?php } ?>><?php esc_html_e('Apply if all coupon applied', 'woo-discount-rules'); ?></option>
333
  </select>
334
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('coupon-based-discounts/activate-discount-rule-using-a-coupon-code-in-woocommerce', 'coupon'); ?>
335
  <div class="coupons_to_apply_price_rule_con">
336
  <span class="woo-discount-hint">
337
  <?php
338
  esc_html_e('Enter the coupon code separated by comma(,)', 'woo-discount-rules');
339
  ?>
340
+ <a target="_blank" href="https://docs.flycart.org/woocommerce-discount-rules/coupon-based-discounts/activate-discount-rule-using-a-coupon-code-in-woocommerce">
341
+ <?php
342
+ esc_html_e('Make sure you have created the coupon already', 'woo-discount-rules');
343
+ ?>
344
+ </a>
345
  </span>
346
  <input class="form-control coupons_to_apply" id="coupons_to_apply" name="coupons_to_apply" value="<?php echo $coupons_to_apply; ?>"/>
347
  <?php
430
  <option value="2"<?php if ($based_on_purchase_history == '2') { ?> selected=selected <?php } ?>><?php esc_html_e('Number of orders', 'woo-discount-rules'); ?></option>
431
  <option value="3"<?php if ($based_on_purchase_history == '3') { ?> selected=selected <?php } ?>><?php esc_html_e('Purchased product', 'woo-discount-rules'); ?></option>
432
  </select>
433
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('purchase-history-based-discounts/purchase-history-based-discount', 'purchase_history'); ?>
434
  <?php
435
  } else {
436
  ?>
522
  <?php echo FlycartWoocommerceProduct::getProductAjaxSelectBox($product_based_condition_product_to_buy, 'product_based_condition[product_to_buy]'); ?>
523
  </div>
524
  <div class="product_based_condition_get_product_discount">
525
+ <?php $product_based_condition_get_discount_type = isset($product_based_conditions['get_discount_type']) ? $product_based_conditions['get_discount_type'] : 'product'; ?>
526
+ <select class="selectpicker" id="product_based_condition_get_discount_type" name="product_based_condition[get_discount_type]">
527
+ <option value="product"<?php echo ($product_based_condition_get_discount_type == 'product')? ' selected="selected"': ''; ?>><?php esc_html_e('Apply discount in product(s)', 'woo-discount-rules') ?></option>
528
+ <option value="category"<?php echo ($product_based_condition_get_discount_type == 'category')? ' selected="selected"': ''; ?>><?php esc_html_e('Apply discount in category(ies)', 'woo-discount-rules') ?></option>
529
+ </select>
530
+ </div>
531
+ <div class="product_based_condition_get_product_discount get_discount_type_product_tag">
532
  <label ><?php esc_html_e('and get discount in ', 'woo-discount-rules') ?></label>
533
  <select class="selectpicker" id="product_based_condition_product_to_apply_count_option" name="product_based_condition[product_to_apply_count_option]">
534
  <option value="all"<?php echo ($product_based_condition_product_to_apply_count_option == 'all')? ' selected="selected"': ''; ?>><?php esc_html_e('All', 'woo-discount-rules') ?></option>
537
  </select>
538
  <input placeholder="<?php esc_html_e('Quantity', 'woo-discount-rules') ?>" type="text" name="product_based_condition[product_to_apply_count]" id="product_based_condition_product_to_apply_count" value="<?php echo $product_based_condition_product_to_apply_count; ?>"/ >
539
  </div>
540
+ <div class="product_based_condition_get_product_discount get_discount_type_product_tag">
541
  <label ><?php esc_html_e(' Product(s) ', 'woo-discount-rules') ?></label>
542
  <?php echo FlycartWoocommerceProduct::getProductAjaxSelectBox($product_based_condition_product_to_apply, 'product_based_condition[product_to_apply]'); ?>
543
  </div>
544
+ <div class="product_based_condition_get_product_discount get_discount_type_category_tag">
545
+ <label ><?php esc_html_e('Category(ies)', 'woo-discount-rules') ?></label>
546
+ <?php $product_based_condition_category_to_apply = isset($product_based_conditions['category_to_apply']) ? $product_based_conditions['category_to_apply'] : array(); ?>
547
+ <select class="category_list selectpicker" multiple title="<?php esc_html_e('None selected', 'woo-discount-rules'); ?>"
548
+ name="product_based_condition[category_to_apply][]">
549
+ <?php foreach ($category as $index => $value) { ?>
550
+ <option
551
+ value="<?php echo $index; ?>"<?php if (in_array($index, $product_based_condition_category_to_apply)) { ?> selected=selected <?php } ?>><?php echo $value; ?></option>
552
+ <?php } ?>
553
+ </select>
554
+ </div>
555
  </div>
556
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('', 'product_dependent#dependant-product-based-rules', 'btn btn-info', esc_html__('Document for product dependent rules', 'woo-discount-rules')); ?>
557
  </div>
558
  <div class="form-group">
559
  <div class="row">
728
  </div>
729
  <?php $fieldIndex++; } ?>
730
  </div>
731
+ <?php echo FlycartWooDiscountRulesGeneralHelper::docsURLHTML('buy-one-get-one-deals/how-to-create-a-perfect-bogo-discount-rule-in-woocommerce', 'bogo_rules', 'btn btn-info', esc_html__('Document to create perfect BOGO rules', 'woo-discount-rules')); ?>
732
  </div>
733
  <div class="product_based_discount_cont price_discounts_con">
734
  <div class="price_discount_product_list_con">
woo-discount-rules.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Simple Discount Rules for WooCommerce.
6
  * Author: Flycart Technologies LLP
7
  * Author URI: https://www.flycart.org
8
- * Version: 1.6.8
9
  * Slug: woo-discount-rules
10
  * Text Domain: woo-discount-rules
11
  * Domain Path: /i18n/languages/
5
  * Description: Simple Discount Rules for WooCommerce.
6
  * Author: Flycart Technologies LLP
7
  * Author URI: https://www.flycart.org
8
+ * Version: 1.6.9
9
  * Slug: woo-discount-rules
10
  * Text Domain: woo-discount-rules
11
  * Domain Path: /i18n/languages/