Discount Rules for WooCommerce - Version 2.0.2

Version Description

  • 29/07/20 =
  • Fix - Making conflict with YITH WooCommerce Wishlist
  • Fix - Script error because of selectWoo
  • Fix - BXGY cheapest individual option calculate wrong discounts
  • Improvement - Text improvement
Download this release

Release Info

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

Code changes from version 2.0.1 to 2.0.2

i18n/languages/woo-discount-rules.pot CHANGED
@@ -5,8 +5,7 @@ msgstr ""
5
  "Content-Transfer-Encoding: 8bit\n"
6
  "Project-Id-Version: Woo Discount Rules\n"
7
  "POT-Creation-Date: 2020-04-08\n"
8
- "PO-Revision-Date: 2020-07-14n"
9
- "Last-Translator: \n"
10
  "Language-Team: Flycart\n"
11
  "MIME-Version: 1.0\n"
12
  "Language: \n"
@@ -148,7 +147,7 @@ msgstr ""
148
  msgid "License key for the %s is not entered. %s, you can get it from %s"
149
  msgstr ""
150
 
151
- #: v1/helper/general-helper.php:48 v2/App/Controllers/Admin/Settings.php:302
152
  msgid "Guest"
153
  msgstr ""
154
 
@@ -177,18 +176,33 @@ msgid "Your server current date and time: "
177
  msgstr ""
178
 
179
  #: v1/helper/general-helper.php:797
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
180
  msgid "Read Docs"
181
  msgstr ""
182
 
183
  #: v1/helper/general-helper.php:1034 v1/view/view-cart-rules.php:697
184
- #: v1/view/view-pricing-rules.php:433 v2/App/Helpers/Woocommerce.php:1482
185
  msgid "Coupon already exists in WooCommerce. Please select another name"
186
  msgstr ""
187
 
188
  #: v1/helper/purchase.php:25 v1/view/includes/cart-menu.php:5
189
  #: v1/view/includes/menu.php:6 v1/view/includes/sub-menu.php:5
190
- #: v2/App/Controllers/Admin/Settings.php:39
191
  #: v2/App/Controllers/Admin/Settings.php:40
 
192
  msgid "Woo Discount Rules"
193
  msgstr ""
194
 
@@ -254,7 +268,7 @@ msgstr ""
254
  #: v1/includes/advanced/free_shipping_method.php:73
255
  #: v1/includes/discount-base.php:1063 v1/view/cart-rules.php:133
256
  #: v1/view/pricing-rules.php:163 v1/view/settings_promotion.php:65
257
- #: v1/view/settings_promotion.php:100 v2/App/Controllers/Admin/Settings.php:412
258
  #: v2/App/Views/Admin/Tabs/DiscountRule.php:76
259
  msgid "Enable"
260
  msgstr ""
@@ -282,7 +296,7 @@ msgid "Failed to save"
282
  msgstr ""
283
 
284
  #: v1/includes/discount-base.php:203 v1/view/cart-rules.php:162
285
- #: v1/view/pricing-rules.php:192 v2/App/Controllers/Admin/Settings.php:411
286
  msgid "Active"
287
  msgstr ""
288
 
@@ -364,7 +378,7 @@ msgstr ""
364
 
365
  #: v1/includes/discount-base.php:1024 v1/view/view-pricing-rules.php:654
366
  #: v1/view/view-pricing-rules.php:657 v1/view/view-pricing-rules.php:677
367
- #: v2/App/Controllers/Admin/Settings.php:429
368
  msgid "Quantity"
369
  msgstr ""
370
 
@@ -393,7 +407,7 @@ msgid "Adjustment Type"
393
  msgstr ""
394
 
395
  #: v1/includes/discount-base.php:1030 v1/view/view-pricing-rules.php:954
396
- #: v2/App/Controllers/Admin/Settings.php:432
397
  msgid "Discount percentage"
398
  msgstr ""
399
 
@@ -540,7 +554,7 @@ msgid "Are you sure to remove this ?"
540
  msgstr ""
541
 
542
  #: v1/includes/discount-base.php:1064 v1/view/cart-rules.php:130
543
- #: v1/view/pricing-rules.php:160 v2/App/Controllers/Admin/Settings.php:410
544
  #: v2/App/Views/Admin/Tabs/DiscountRule.php:77
545
  msgid "Disable"
546
  msgstr ""
@@ -660,10 +674,10 @@ msgid "Shipping zip code"
660
  msgstr ""
661
 
662
  #: v1/includes/discount-base.php:1091 v1/view/view-cart-rules.php:365
663
- #: v1/view/view-pricing-rules.php:536 v2/App/Helpers/ProOptions.php:192
664
- #: v2/App/Helpers/ProOptions.php:200 v2/App/Helpers/ProOptions.php:208
665
- #: v2/App/Helpers/ProOptions.php:216 v2/App/Helpers/ProOptions.php:224
666
- #: v2/App/Helpers/ProOptions.php:232
667
  msgid "Purchase History"
668
  msgstr ""
669
 
@@ -992,7 +1006,7 @@ msgid ""
992
  "defined in WooCommerce -> Attributes. <a href=\"%s\">Read docs</a>.</span>"
993
  msgstr ""
994
 
995
- #: v1/includes/discount-base.php:1237 v2/App/Controllers/ManageDiscount.php:820
996
  #, php-format
997
  msgid ""
998
  "Sorry, it is not possible to apply coupon <b>\"%s\"</b> as you already have "
@@ -1000,7 +1014,7 @@ msgid ""
1000
  msgstr ""
1001
 
1002
  #: v1/includes/discount-base.php:1292 v1/view/includes/menu.php:18
1003
- #: v2/App/Controllers/Admin/Settings.php:64
1004
  #: v2/App/Controllers/Admin/Tabs/GeneralSettings.php:23
1005
  msgid "Settings"
1006
  msgstr ""
@@ -1256,7 +1270,7 @@ msgstr ""
1256
 
1257
  #: v1/view/cart-rules.php:104 v1/view/cart-rules.php:214
1258
  #: v1/view/pricing-rules.php:134 v1/view/pricing-rules.php:244
1259
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:205
1260
  msgid "Language"
1261
  msgstr ""
1262
 
@@ -1389,7 +1403,7 @@ msgid ""
1389
  "conditions"
1390
  msgstr ""
1391
 
1392
- #: v1/view/documentation.php:72
1393
  msgid "Category Combination"
1394
  msgstr ""
1395
 
@@ -1411,9 +1425,9 @@ msgstr ""
1411
 
1412
  #: v1/view/includes/cart-menu.php:13 v1/view/includes/sub-menu.php:13
1413
  #: v1/view/template/discount-table.php:42 v1/view/view-cart-rules.php:756
1414
- #: v1/view/view-pricing-rules.php:708 v2/App/Controllers/Admin/Settings.php:437
1415
  #: v2/App/Views/Admin/Rules/Discounts/Bulk.php:59
1416
- #: v2/App/Views/Admin/Rules/Manage.php:184
1417
  msgid "Discount"
1418
  msgstr ""
1419
 
@@ -2079,7 +2093,7 @@ msgid "To"
2079
  msgstr ""
2080
 
2081
  #: v1/view/view-cart-rules.php:140 v1/view/view-pricing-rules.php:149
2082
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:137
2083
  #, php-format
2084
  msgid "Current date and time: %s"
2085
  msgstr ""
@@ -2346,7 +2360,7 @@ msgstr ""
2346
  msgid "Do not use"
2347
  msgstr ""
2348
 
2349
- #: v1/view/view-pricing-rules.php:394
2350
  msgid "Coupon"
2351
  msgstr ""
2352
 
@@ -2371,6 +2385,7 @@ msgid "Make sure you have created the coupon already"
2371
  msgstr ""
2372
 
2373
  #: v1/view/view-pricing-rules.php:484 v2/App/Conditions/CartSubTotal.php:17
 
2374
  msgid "Subtotal"
2375
  msgstr ""
2376
 
@@ -2528,7 +2543,7 @@ msgid ""
2528
  "product page."
2529
  msgstr ""
2530
 
2531
- #: v2/App/Compatibility/CurrencySwitcherByRealmag777.php:58
2532
  #: v2/App/Compatibility/CurrencySwitcherByVillatheme.php:56
2533
  #: v2/App/Compatibility/CurrencySwitcherByWPWham.php:44
2534
  msgid "Add compatible for WooCommerce Currency Switcher"
@@ -2561,143 +2576,207 @@ msgstr ""
2561
  msgid "Cart"
2562
  msgstr ""
2563
 
2564
- #: v2/App/Controllers/Admin/Settings.php:162
2565
  msgid ""
2566
  "We found that your were using our old \"Woo discount rules\" plugin, Please "
2567
  "disable it!"
2568
  msgstr ""
2569
 
2570
- #: v2/App/Controllers/Admin/Settings.php:223
2571
  msgid "no results"
2572
  msgstr ""
2573
 
2574
- #: v2/App/Controllers/Admin/Settings.php:224
2575
  msgid "Select Values"
2576
  msgstr ""
2577
 
2578
- #: v2/App/Controllers/Admin/Settings.php:413
2579
  #: v2/App/Views/Admin/Tabs/DiscountRule.php:292
2580
  msgid " - (Running)"
2581
  msgstr ""
2582
 
2583
- #: v2/App/Controllers/Admin/Settings.php:414
2584
  msgid "Oops!! something went wrong!"
2585
  msgstr ""
2586
 
2587
- #: v2/App/Controllers/Admin/Settings.php:415
2588
  msgid "Rule duplicated successfully!"
2589
  msgstr ""
2590
 
2591
- #: v2/App/Controllers/Admin/Settings.php:416
2592
  msgid "Rule deleted successfully!"
2593
  msgstr ""
2594
 
2595
- #: v2/App/Controllers/Admin/Settings.php:417
2596
  msgid "Are you sure want to delete this rule!"
2597
  msgstr ""
2598
 
2599
- #: v2/App/Controllers/Admin/Settings.php:418
2600
  msgid "Rule disabled successfully!"
2601
  msgstr ""
2602
 
2603
- #: v2/App/Controllers/Admin/Settings.php:419
2604
  msgid "Rule enabled successfully!"
2605
  msgstr ""
2606
 
2607
- #: v2/App/Controllers/Admin/Settings.php:420
2608
  msgid "Rule saved successfully!"
2609
  msgstr ""
2610
 
2611
- #: v2/App/Controllers/Admin/Settings.php:421
2612
  msgid "Settings saved successfully!"
2613
  msgstr ""
2614
 
2615
- #: v2/App/Controllers/Admin/Settings.php:422
2616
  msgid "Rule priority changed successfully!"
2617
  msgstr ""
2618
 
2619
- #: v2/App/Controllers/Admin/Settings.php:423
2620
  msgid "Rule priority not changed !"
2621
  msgstr ""
2622
 
2623
- #: v2/App/Controllers/Admin/Settings.php:424
2624
  msgid "No data for this period"
2625
  msgstr ""
2626
 
2627
- #: v2/App/Controllers/Admin/Settings.php:425
2628
  msgid "Oops! Coupon already exists in Woocommerce"
2629
  msgstr ""
2630
 
2631
- #: v2/App/Controllers/Admin/Settings.php:426
2632
  msgid "Copied!"
2633
  msgstr ""
2634
 
2635
- #: v2/App/Controllers/Admin/Settings.php:427
2636
  #: v2/App/Views/Admin/Tabs/settings.php:496
2637
  msgid "Copy ShortCode"
2638
  msgstr ""
2639
 
2640
- #: v2/App/Controllers/Admin/Settings.php:428
2641
  msgid "If you make this recursive other row(s) will be removed!"
2642
  msgstr ""
2643
 
2644
- #: v2/App/Controllers/Admin/Settings.php:430
2645
  msgid "Minimum Quantity"
2646
  msgstr ""
2647
 
2648
- #: v2/App/Controllers/Admin/Settings.php:431
2649
  msgid "Discount value"
2650
  msgstr ""
2651
 
2652
- #: v2/App/Controllers/Admin/Settings.php:433
2653
  msgid "Filter (Buy)"
2654
  msgstr ""
2655
 
2656
- #: v2/App/Controllers/Admin/Settings.php:434
2657
- #: v2/App/Views/Admin/Rules/Manage.php:139
2658
  msgid "Filter"
2659
  msgstr ""
2660
 
2661
- #: v2/App/Controllers/Admin/Settings.php:435
2662
  msgid ""
2663
  "<p>Choose <b>what gets discount</b> (products/categories/attributes/SKU and "
2664
  "so on )</p>\n"
2665
  "<p>Note : You can also exclude products/categories.</p>"
2666
  msgstr ""
2667
 
2668
- #: v2/App/Controllers/Admin/Settings.php:438
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2669
  msgid ""
2670
  "<p>Select discount type and its value (percentage/price/fixed price)</p>"
2671
  msgstr ""
2672
 
2673
- #: v2/App/Controllers/Admin/Settings.php:439
2674
- msgid "Rules (optional)"
 
 
 
 
 
 
 
 
 
 
 
2675
  msgstr ""
2676
 
2677
- #: v2/App/Controllers/Admin/Settings.php:440
2678
  msgid ""
2679
- "<p>Include additional conditions (if necessary) to apply discount for "
2680
- "product filters.</p>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2681
  msgstr ""
2682
 
2683
- #: v2/App/Controllers/Admin/Settings.php:441
2684
  msgid ""
2685
  "<p>Choose Buy Products. (products/categories/attributes/tags/sku) Example : "
2686
  "For Buy X get Y scenarios, choose X here.</p>"
2687
  msgstr ""
2688
 
2689
- #: v2/App/Controllers/Admin/Settings.php:442
2690
  msgid ""
2691
  "<p>Choose on which products the discount should be applied (This can be "
2692
  "products/categories/SKU)</p>"
2693
  msgstr ""
2694
 
2695
- #: v2/App/Controllers/Admin/Settings.php:443
2696
- #: v2/App/Controllers/Admin/Settings.php:445
2697
  msgid "Get Discount"
2698
  msgstr ""
2699
 
2700
- #: v2/App/Controllers/Admin/Settings.php:444
2701
  msgid ""
2702
  "<p>Enter the min/max ranges and choose free item quantity.</p><p>Note : "
2703
  "Enable recursive checkbox if the discounts should be applied in sequential "
@@ -2705,7 +2784,7 @@ msgid ""
2705
  "p>"
2706
  msgstr ""
2707
 
2708
- #: v2/App/Controllers/Admin/Settings.php:446
2709
  msgid ""
2710
  "<p>Choose the adjustment type to which the discount should be applied. You "
2711
  "can choose from products/categories/all products.</p><p>Note : Enable "
@@ -2713,56 +2792,68 @@ msgid ""
2713
  "</p>"
2714
  msgstr ""
2715
 
2716
- #: v2/App/Controllers/Admin/Settings.php:447
2717
  msgid ""
2718
- "<p>Choose the adjustment type to which the discount should be applied. You "
2719
- "can choose from products/categories/all products.</p><p>Note : Enable "
2720
- "recursive checkbox if the discounts should be applied in sequential ranges. "
2721
- "</p><p>Example ranges:</p><p>Buy 2, get 1 free (a.k.a: Buy 1 get 1 free)</"
2722
- "p><table><tbody><tr><td>Min quantity</td><td>Max quantity</td><td>Free "
2723
- "quantity</td></tr><tr><td>2</td><td>3</td><td>1</td></tr></tr><tr><td>4</"
2724
- "td><td>5</td><td>2</td></tr></tbody></table>"
2725
  msgstr ""
2726
 
2727
- #: v2/App/Controllers/Admin/Settings.php:448
2728
- #: v2/App/Controllers/Admin/Settings.php:449
2729
- msgid "<p>Include additional conditions (if necessary)</p>"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2730
  msgstr ""
2731
 
2732
- #: v2/App/Controllers/Admin/Settings.php:450
2733
  msgid "<p>Processing migration, please wait...</p>"
2734
  msgstr ""
2735
 
2736
- #: v2/App/Controllers/Admin/Settings.php:451
2737
  msgid "<p>Migration completed.</p>"
2738
  msgstr ""
2739
 
2740
- #: v2/App/Controllers/Admin/Settings.php:452
2741
  msgid "<p>Migration skipped.</p>"
2742
  msgstr ""
2743
 
2744
- #: v2/App/Controllers/Admin/Settings.php:453
2745
  msgid "<p>Skipping migration, please wait...</p>"
2746
  msgstr ""
2747
 
2748
- #: v2/App/Controllers/Admin/Settings.php:454
2749
  msgid ""
2750
  "<span><b>Example:</b> Product A - Small and Product A - Medium will be "
2751
  "counted as 2 quantity</span>"
2752
  msgstr ""
2753
 
2754
- #: v2/App/Controllers/Admin/Settings.php:455
2755
  msgid "<span>Discount applies to all eligible products in the store</span>"
2756
  msgstr ""
2757
 
2758
- #: v2/App/Controllers/Admin/Settings.php:456
2759
  msgid ""
2760
  "<span>Choose products that get the discount using \"In List\". If you want "
2761
  "to exclude a few products, choose \"Not In List\" and select the products "
2762
  "you wanted to exclude from discount. (You can add multiple filters)</span>"
2763
  msgstr ""
2764
 
2765
- #: v2/App/Controllers/Admin/Settings.php:457
2766
  msgid ""
2767
  "<span>Choose categories that get the discount using \"In List\". If you want "
2768
  "to exclude a few categories, choose \"Not In List\" and select the "
@@ -2770,7 +2861,7 @@ msgid ""
2770
  "filters of same type)</span>"
2771
  msgstr ""
2772
 
2773
- #: v2/App/Controllers/Admin/Settings.php:458
2774
  msgid ""
2775
  "<span> Choose attributes that get the discount using \"In List\". If you "
2776
  "want to exclude a few attributes, choose \"Not In List\" and select the "
@@ -2778,58 +2869,58 @@ msgid ""
2778
  "filters of same type)</span>"
2779
  msgstr ""
2780
 
2781
- #: v2/App/Controllers/Admin/Settings.php:459
2782
  msgid ""
2783
  "<span>Choose tags that get the discount using \"In List\". If you want to "
2784
  "exclude a few tags, choose \"Not In List\" and select the tags you wanted to "
2785
  "exclude from discount. (You can add multiple filters of same type)</span>"
2786
  msgstr ""
2787
 
2788
- #: v2/App/Controllers/Admin/Settings.php:460
2789
  msgid ""
2790
  "<span>Choose SKUs that get the discount using \"In List\". If you want to "
2791
  "exclude a few SKUs, choose \"Not In List\" and select the SKUs you wanted to "
2792
  "exclude from discount. (You can add multiple filters of same type)</span>"
2793
  msgstr ""
2794
 
2795
- #: v2/App/Controllers/Admin/Settings.php:461
2796
  msgid ""
2797
  "<span>Choose whether you want to include (or exclude) products on sale "
2798
  "(those having a sale price) for the discount </span>"
2799
  msgstr ""
2800
 
2801
- #: v2/App/Controllers/Admin/Settings.php:462
2802
  msgid "<span>Discount applies to custom taxonomy</span>"
2803
  msgstr ""
2804
 
2805
- #: v2/App/Controllers/Admin/Settings.php:463
2806
  msgid "Processing please wait.."
2807
  msgstr ""
2808
 
2809
- #: v2/App/Controllers/Admin/Settings.php:464
2810
  msgid "Rebuild index processed"
2811
  msgstr ""
2812
 
2813
- #: v2/App/Controllers/Admin/Settings.php:465
2814
  msgid "Please select the rules to build index"
2815
  msgstr ""
2816
 
2817
- #: v2/App/Controllers/Admin/Settings.php:466
2818
  msgid "Invalid File. Upload : <b style='color:red;'>.csv</b> File. </br>"
2819
  msgstr ""
2820
 
2821
- #: v2/App/Controllers/Admin/Settings.php:467
2822
  msgid ""
2823
  "<b>This rule is not running currently:</b> Rule reached maximum usage limit"
2824
  msgstr ""
2825
 
2826
- #: v2/App/Controllers/Admin/Settings.php:468
2827
  msgid ""
2828
  "<b>This rule is not running currently:</b> Start date and time is set in the "
2829
  "future date"
2830
  msgstr ""
2831
 
2832
- #: v2/App/Controllers/Admin/Settings.php:469
2833
  msgid "<b>This rule is not running currently:</b> Validity expired"
2834
  msgstr ""
2835
 
@@ -2908,11 +2999,11 @@ msgstr ""
2908
  msgid "Bulk Discount"
2909
  msgstr ""
2910
 
2911
- #: v2/App/Controllers/ManageDiscount.php:635
2912
  msgid "cart discount"
2913
  msgstr ""
2914
 
2915
- #: v2/App/Controllers/ManageDiscount.php:834
2916
  msgid "Coupon code applied successfully."
2917
  msgstr ""
2918
 
@@ -2920,6 +3011,78 @@ msgstr ""
2920
  msgid "No Banner Content"
2921
  msgstr ""
2922
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2923
  #: v2/App/Helpers/Migration.php:133
2924
  #, php-format
2925
  msgid "%s Completed. Please wait.."
@@ -3091,133 +3254,133 @@ msgid "discount"
3091
  msgstr ""
3092
 
3093
  #: v2/App/Helpers/Rule.php:1246 v2/App/Helpers/Rule.php:1324
3094
- #: v2/App/Views/Admin/Tabs/ImportExport.php:82
3095
  msgid "Untitled Rule"
3096
  msgstr ""
3097
 
3098
- #: v2/App/Helpers/Woocommerce.php:912
3099
  msgid "Sunday"
3100
  msgstr ""
3101
 
3102
- #: v2/App/Helpers/Woocommerce.php:913
3103
  msgid "Monday"
3104
  msgstr ""
3105
 
3106
- #: v2/App/Helpers/Woocommerce.php:914
3107
  msgid "Tuesday"
3108
  msgstr ""
3109
 
3110
- #: v2/App/Helpers/Woocommerce.php:915
3111
  msgid "Wednesday"
3112
  msgstr ""
3113
 
3114
- #: v2/App/Helpers/Woocommerce.php:916
3115
  msgid "Thursday"
3116
  msgstr ""
3117
 
3118
- #: v2/App/Helpers/Woocommerce.php:917
3119
  msgid "Friday"
3120
  msgstr ""
3121
 
3122
- #: v2/App/Helpers/Woocommerce.php:918
3123
  msgid "Saturday"
3124
  msgstr ""
3125
 
3126
- #: v2/App/Helpers/Woocommerce.php:929
3127
  msgid ""
3128
  "Woocommerce before main content(Archive / Shop / Cat Pages / single product)"
3129
  msgstr ""
3130
 
3131
- #: v2/App/Helpers/Woocommerce.php:930
3132
  msgid "Woocommerce archive description(Archive / Shop / Cat Pages)"
3133
  msgstr ""
3134
 
3135
- #: v2/App/Helpers/Woocommerce.php:931
3136
  msgid "Woocommerce before shop loop(Archive / Shop / Cat Pages)"
3137
  msgstr ""
3138
 
3139
- #: v2/App/Helpers/Woocommerce.php:932
3140
  msgid "Woocommerce after shop loop(Archive / Shop / Cat Pages)"
3141
  msgstr ""
3142
 
3143
- #: v2/App/Helpers/Woocommerce.php:933
3144
  msgid ""
3145
  "Woocommerce after main content(Archive / Shop / Cat Pages / single product)"
3146
  msgstr ""
3147
 
3148
- #: v2/App/Helpers/Woocommerce.php:934 v2/App/Views/Admin/Tabs/settings.php:194
3149
  #: v2/App/Views/Admin/Tabs/settings.php:212
3150
  msgid "Woocommerce before single product"
3151
  msgstr ""
3152
 
3153
- #: v2/App/Helpers/Woocommerce.php:935 v2/App/Views/Admin/Tabs/settings.php:196
3154
  #: v2/App/Views/Admin/Tabs/settings.php:214
3155
  msgid "Woocommerce before single product summary"
3156
  msgstr ""
3157
 
3158
- #: v2/App/Helpers/Woocommerce.php:936 v2/App/Views/Admin/Tabs/settings.php:195
3159
  #: v2/App/Views/Admin/Tabs/settings.php:213
3160
  msgid "Woocommerce after single product summary"
3161
  msgstr ""
3162
 
3163
- #: v2/App/Helpers/Woocommerce.php:937 v2/App/Views/Admin/Tabs/settings.php:193
3164
  #: v2/App/Views/Admin/Tabs/settings.php:211
3165
  msgid "Woocommerce after single product"
3166
  msgstr ""
3167
 
3168
- #: v2/App/Helpers/Woocommerce.php:938
3169
  msgid "Woocommerce before cart"
3170
  msgstr ""
3171
 
3172
- #: v2/App/Helpers/Woocommerce.php:939
3173
  msgid "Woocommerce before cart table"
3174
  msgstr ""
3175
 
3176
- #: v2/App/Helpers/Woocommerce.php:940
3177
  msgid "Woocommerce before cart contents"
3178
  msgstr ""
3179
 
3180
- #: v2/App/Helpers/Woocommerce.php:941
3181
  msgid "Woocommerce cart contents"
3182
  msgstr ""
3183
 
3184
- #: v2/App/Helpers/Woocommerce.php:942
3185
  msgid "Woocommerce after cart contents"
3186
  msgstr ""
3187
 
3188
- #: v2/App/Helpers/Woocommerce.php:943
3189
  msgid "Woocommerce after cart table"
3190
  msgstr ""
3191
 
3192
- #: v2/App/Helpers/Woocommerce.php:944
3193
  msgid "Woocommerce after cart"
3194
  msgstr ""
3195
 
3196
- #: v2/App/Helpers/Woocommerce.php:945
3197
  msgid "Woocommerce before checkout form"
3198
  msgstr ""
3199
 
3200
- #: v2/App/Helpers/Woocommerce.php:947
3201
  msgid "Woocommerce before checkout billing form"
3202
  msgstr ""
3203
 
3204
- #: v2/App/Helpers/Woocommerce.php:948
3205
  msgid "Woocommerce after checkout billing form"
3206
  msgstr ""
3207
 
3208
- #: v2/App/Helpers/Woocommerce.php:949
3209
  msgid "Woocommerce before checkout shipping form"
3210
  msgstr ""
3211
 
3212
- #: v2/App/Helpers/Woocommerce.php:950
3213
  msgid "Woocommerce after checkout shipping form"
3214
  msgstr ""
3215
 
3216
- #: v2/App/Helpers/Woocommerce.php:951
3217
  msgid "Woocommerce before order notes"
3218
  msgstr ""
3219
 
3220
- #: v2/App/Helpers/Woocommerce.php:952
3221
  msgid "Woocommerce after order notes"
3222
  msgstr ""
3223
 
@@ -3288,82 +3451,76 @@ msgstr ""
3288
  msgid "How to calculate the subtotal"
3289
  msgstr ""
3290
 
3291
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:7
3292
  msgid "Rules (Optional)"
3293
  msgstr ""
3294
 
3295
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:9
3296
- msgid ""
3297
- "Include additional conditions (if necessary) to apply discount for product "
3298
- "filters."
3299
- msgstr ""
3300
-
3301
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:21
3302
  msgid "Conditions Relationship "
3303
  msgstr ""
3304
 
3305
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:24
3306
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:113
3307
  msgid "Match All"
3308
  msgstr ""
3309
 
3310
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:26
3311
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:115
3312
- msgid "Many Any"
3313
  msgstr ""
3314
 
3315
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:74
3316
  #: v2/App/Views/Admin/Rules/Others/CommonTemplates.php:87
3317
  msgid "Condition Type"
3318
  msgstr ""
3319
 
3320
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:103
3321
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:123
3322
  msgid "Add condition"
3323
  msgstr ""
3324
 
3325
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:111
3326
  msgid "Conditions Relationship"
3327
  msgstr ""
3328
 
3329
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:135
3330
  msgid "Rule Limits"
3331
  msgstr ""
3332
 
3333
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:140
3334
  msgid "Rule Used: "
3335
  msgstr ""
3336
 
3337
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:150
3338
  msgid "Unlimited"
3339
  msgstr ""
3340
 
3341
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:157
3342
  msgid "Maximum usage limit"
3343
  msgstr ""
3344
 
3345
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:165
3346
  msgid "Rule Vaild From"
3347
  msgstr ""
3348
 
3349
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:170
3350
  msgid "Vaild from"
3351
  msgstr ""
3352
 
3353
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:177
3354
  msgid "Rule Valid To"
3355
  msgstr ""
3356
 
3357
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:181
3358
  msgid "Vaild to"
3359
  msgstr ""
3360
 
3361
- #: v2/App/Views/Admin/Rules/Conditions/Main.php:192
3362
  msgid "Select values"
3363
  msgstr ""
3364
 
3365
  #: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:10
3366
- msgid "Discount Bar (Optional)"
3367
  msgstr ""
3368
 
3369
  #: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:17
@@ -3532,26 +3689,100 @@ msgid "Discount Label"
3532
  msgstr ""
3533
 
3534
  #: v2/App/Views/Admin/Rules/Discounts/Main.php:17
3535
- msgid "Count by:"
3536
  msgstr ""
3537
 
3538
- #: v2/App/Views/Admin/Rules/Discounts/Main.php:22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3539
  msgid "Filters set above"
3540
  msgstr ""
3541
 
3542
- #: v2/App/Views/Admin/Rules/Discounts/Main.php:25
 
 
 
 
 
 
 
 
 
 
 
 
 
3543
  msgid "Individual product"
3544
  msgstr ""
3545
 
3546
- #: v2/App/Views/Admin/Rules/Discounts/Main.php:28
 
 
 
 
 
 
 
 
 
 
3547
  msgid "All variants in each product together"
3548
  msgstr ""
3549
 
3550
- #: v2/App/Views/Admin/Rules/Discounts/Main.php:50
3551
  msgid "Add Range"
3552
  msgstr ""
3553
 
3554
- #: v2/App/Views/Admin/Rules/Discounts/Main.php:58
3555
  #: v2/App/Views/Admin/Rules/Discounts/simple.php:40
3556
  msgid "Show discount in cart as coupon instead of changing the product price ?"
3557
  msgstr ""
@@ -3680,17 +3911,17 @@ msgstr ""
3680
  msgid "Select Discount Type"
3681
  msgstr ""
3682
 
3683
- #: v2/App/Views/Admin/Rules/Manage.php:141
3684
  msgid ""
3685
  "Choose which <b>gets</b> discount (products/categories/attributes/SKU and so "
3686
  "on )"
3687
  msgstr ""
3688
 
3689
- #: v2/App/Views/Admin/Rules/Manage.php:142
3690
  msgid "Note : You can also exclude products/categories."
3691
  msgstr ""
3692
 
3693
- #: v2/App/Views/Admin/Rules/Manage.php:186
3694
  msgid "Select discount type and its value (percentage/price/fixed price)"
3695
  msgstr ""
3696
 
@@ -3847,30 +4078,37 @@ msgstr ""
3847
  msgid "Go PRO"
3848
  msgstr ""
3849
 
3850
- #: v2/App/Views/Admin/Tabs/ImportExport.php:9
3851
  msgid "Export tool"
3852
  msgstr ""
3853
 
3854
- #: v2/App/Views/Admin/Tabs/ImportExport.php:14
3855
  msgid "Export"
3856
  msgstr ""
3857
 
3858
- #: v2/App/Views/Admin/Tabs/ImportExport.php:24
 
3859
  msgid "Import Tool"
3860
  msgstr ""
3861
 
3862
- #: v2/App/Views/Admin/Tabs/ImportExport.php:117
3863
  msgid "<b style=\"color: green;\">Rules Imported successfully</b>"
3864
  msgstr ""
3865
 
3866
- #: v2/App/Views/Admin/Tabs/ImportExport.php:120
3867
  msgid "<b style=\"color: red;\">Problem in Importing CSV Data</b>"
3868
  msgstr ""
3869
 
3870
- #: v2/App/Views/Admin/Tabs/ImportExport.php:130
3871
  msgid "Import"
3872
  msgstr ""
3873
 
 
 
 
 
 
 
3874
  #: v2/App/Views/Admin/Tabs/Statistics.php:39
3875
  msgid "This Week"
3876
  msgstr ""
5
  "Content-Transfer-Encoding: 8bit\n"
6
  "Project-Id-Version: Woo Discount Rules\n"
7
  "POT-Creation-Date: 2020-04-08\n"
8
+ "PO-Revision-Date: 2020-07-28\n"
 
9
  "Language-Team: Flycart\n"
10
  "MIME-Version: 1.0\n"
11
  "Language: \n"
147
  msgid "License key for the %s is not entered. %s, you can get it from %s"
148
  msgstr ""
149
 
150
+ #: v1/helper/general-helper.php:48 v2/App/Controllers/Admin/Settings.php:307
151
  msgid "Guest"
152
  msgstr ""
153
 
176
  msgstr ""
177
 
178
  #: v1/helper/general-helper.php:797
179
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:10
180
+ #: v2/App/Views/Admin/Rules/Manage.php:131
181
+ #: v2/App/Views/Admin/Rules/Manage.php:132
182
+ #: v2/App/Views/Admin/Rules/Manage.php:133
183
+ #: v2/App/Views/Admin/Rules/Manage.php:134
184
+ #: v2/App/Views/Admin/Rules/Manage.php:135
185
+ #: v2/App/Views/Admin/Rules/Manage.php:136
186
+ #: v2/App/Views/Admin/Rules/Manage.php:137
187
+ #: v2/App/Views/Admin/Tabs/settings.php:24
188
+ #: v2/App/Views/Admin/Tabs/settings.php:64
189
+ #: v2/App/Views/Admin/Tabs/settings.php:121
190
+ #: v2/App/Views/Admin/Tabs/settings.php:168
191
+ #: v2/App/Views/Admin/Tabs/settings.php:239
192
+ #: v2/App/Views/Admin/Tabs/settings.php:350
193
+ #: v2/App/Views/Admin/Tabs/settings.php:431
194
  msgid "Read Docs"
195
  msgstr ""
196
 
197
  #: v1/helper/general-helper.php:1034 v1/view/view-cart-rules.php:697
198
+ #: v1/view/view-pricing-rules.php:433 v2/App/Helpers/Woocommerce.php:1484
199
  msgid "Coupon already exists in WooCommerce. Please select another name"
200
  msgstr ""
201
 
202
  #: v1/helper/purchase.php:25 v1/view/includes/cart-menu.php:5
203
  #: v1/view/includes/menu.php:6 v1/view/includes/sub-menu.php:5
 
204
  #: v2/App/Controllers/Admin/Settings.php:40
205
+ #: v2/App/Controllers/Admin/Settings.php:41
206
  msgid "Woo Discount Rules"
207
  msgstr ""
208
 
268
  #: v1/includes/advanced/free_shipping_method.php:73
269
  #: v1/includes/discount-base.php:1063 v1/view/cart-rules.php:133
270
  #: v1/view/pricing-rules.php:163 v1/view/settings_promotion.php:65
271
+ #: v1/view/settings_promotion.php:100 v2/App/Controllers/Admin/Settings.php:417
272
  #: v2/App/Views/Admin/Tabs/DiscountRule.php:76
273
  msgid "Enable"
274
  msgstr ""
296
  msgstr ""
297
 
298
  #: v1/includes/discount-base.php:203 v1/view/cart-rules.php:162
299
+ #: v1/view/pricing-rules.php:192 v2/App/Controllers/Admin/Settings.php:416
300
  msgid "Active"
301
  msgstr ""
302
 
378
 
379
  #: v1/includes/discount-base.php:1024 v1/view/view-pricing-rules.php:654
380
  #: v1/view/view-pricing-rules.php:657 v1/view/view-pricing-rules.php:677
381
+ #: v2/App/Controllers/Admin/Settings.php:434
382
  msgid "Quantity"
383
  msgstr ""
384
 
407
  msgstr ""
408
 
409
  #: v1/includes/discount-base.php:1030 v1/view/view-pricing-rules.php:954
410
+ #: v2/App/Controllers/Admin/Settings.php:437
411
  msgid "Discount percentage"
412
  msgstr ""
413
 
554
  msgstr ""
555
 
556
  #: v1/includes/discount-base.php:1064 v1/view/cart-rules.php:130
557
+ #: v1/view/pricing-rules.php:160 v2/App/Controllers/Admin/Settings.php:415
558
  #: v2/App/Views/Admin/Tabs/DiscountRule.php:77
559
  msgid "Disable"
560
  msgstr ""
674
  msgstr ""
675
 
676
  #: v1/includes/discount-base.php:1091 v1/view/view-cart-rules.php:365
677
+ #: v1/view/view-pricing-rules.php:536 v2/App/Helpers/Helper.php:156
678
+ #: v2/App/Helpers/ProOptions.php:192 v2/App/Helpers/ProOptions.php:200
679
+ #: v2/App/Helpers/ProOptions.php:208 v2/App/Helpers/ProOptions.php:216
680
+ #: v2/App/Helpers/ProOptions.php:224 v2/App/Helpers/ProOptions.php:232
681
  msgid "Purchase History"
682
  msgstr ""
683
 
1006
  "defined in WooCommerce -> Attributes. <a href=\"%s\">Read docs</a>.</span>"
1007
  msgstr ""
1008
 
1009
+ #: v1/includes/discount-base.php:1237 v2/App/Controllers/ManageDiscount.php:836
1010
  #, php-format
1011
  msgid ""
1012
  "Sorry, it is not possible to apply coupon <b>\"%s\"</b> as you already have "
1014
  msgstr ""
1015
 
1016
  #: v1/includes/discount-base.php:1292 v1/view/includes/menu.php:18
1017
+ #: v2/App/Controllers/Admin/Settings.php:65
1018
  #: v2/App/Controllers/Admin/Tabs/GeneralSettings.php:23
1019
  msgid "Settings"
1020
  msgstr ""
1270
 
1271
  #: v1/view/cart-rules.php:104 v1/view/cart-rules.php:214
1272
  #: v1/view/pricing-rules.php:134 v1/view/pricing-rules.php:244
1273
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:208
1274
  msgid "Language"
1275
  msgstr ""
1276
 
1403
  "conditions"
1404
  msgstr ""
1405
 
1406
+ #: v1/view/documentation.php:72 v2/App/Helpers/Helper.php:164
1407
  msgid "Category Combination"
1408
  msgstr ""
1409
 
1425
 
1426
  #: v1/view/includes/cart-menu.php:13 v1/view/includes/sub-menu.php:13
1427
  #: v1/view/template/discount-table.php:42 v1/view/view-cart-rules.php:756
1428
+ #: v1/view/view-pricing-rules.php:708 v2/App/Controllers/Admin/Settings.php:442
1429
  #: v2/App/Views/Admin/Rules/Discounts/Bulk.php:59
1430
+ #: v2/App/Views/Admin/Rules/Manage.php:191
1431
  msgid "Discount"
1432
  msgstr ""
1433
 
2093
  msgstr ""
2094
 
2095
  #: v1/view/view-cart-rules.php:140 v1/view/view-pricing-rules.php:149
2096
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:140
2097
  #, php-format
2098
  msgid "Current date and time: %s"
2099
  msgstr ""
2360
  msgid "Do not use"
2361
  msgstr ""
2362
 
2363
+ #: v1/view/view-pricing-rules.php:394 v2/App/Helpers/Helper.php:162
2364
  msgid "Coupon"
2365
  msgstr ""
2366
 
2385
  msgstr ""
2386
 
2387
  #: v1/view/view-pricing-rules.php:484 v2/App/Conditions/CartSubTotal.php:17
2388
+ #: v2/App/Helpers/Helper.php:153
2389
  msgid "Subtotal"
2390
  msgstr ""
2391
 
2543
  "product page."
2544
  msgstr ""
2545
 
2546
+ #: v2/App/Compatibility/CurrencySwitcherByRealmag777.php:60
2547
  #: v2/App/Compatibility/CurrencySwitcherByVillatheme.php:56
2548
  #: v2/App/Compatibility/CurrencySwitcherByWPWham.php:44
2549
  msgid "Add compatible for WooCommerce Currency Switcher"
2576
  msgid "Cart"
2577
  msgstr ""
2578
 
2579
+ #: v2/App/Controllers/Admin/Settings.php:163
2580
  msgid ""
2581
  "We found that your were using our old \"Woo discount rules\" plugin, Please "
2582
  "disable it!"
2583
  msgstr ""
2584
 
2585
+ #: v2/App/Controllers/Admin/Settings.php:228
2586
  msgid "no results"
2587
  msgstr ""
2588
 
2589
+ #: v2/App/Controllers/Admin/Settings.php:229
2590
  msgid "Select Values"
2591
  msgstr ""
2592
 
2593
+ #: v2/App/Controllers/Admin/Settings.php:418
2594
  #: v2/App/Views/Admin/Tabs/DiscountRule.php:292
2595
  msgid " - (Running)"
2596
  msgstr ""
2597
 
2598
+ #: v2/App/Controllers/Admin/Settings.php:419
2599
  msgid "Oops!! something went wrong!"
2600
  msgstr ""
2601
 
2602
+ #: v2/App/Controllers/Admin/Settings.php:420
2603
  msgid "Rule duplicated successfully!"
2604
  msgstr ""
2605
 
2606
+ #: v2/App/Controllers/Admin/Settings.php:421
2607
  msgid "Rule deleted successfully!"
2608
  msgstr ""
2609
 
2610
+ #: v2/App/Controllers/Admin/Settings.php:422
2611
  msgid "Are you sure want to delete this rule!"
2612
  msgstr ""
2613
 
2614
+ #: v2/App/Controllers/Admin/Settings.php:423
2615
  msgid "Rule disabled successfully!"
2616
  msgstr ""
2617
 
2618
+ #: v2/App/Controllers/Admin/Settings.php:424
2619
  msgid "Rule enabled successfully!"
2620
  msgstr ""
2621
 
2622
+ #: v2/App/Controllers/Admin/Settings.php:425
2623
  msgid "Rule saved successfully!"
2624
  msgstr ""
2625
 
2626
+ #: v2/App/Controllers/Admin/Settings.php:426
2627
  msgid "Settings saved successfully!"
2628
  msgstr ""
2629
 
2630
+ #: v2/App/Controllers/Admin/Settings.php:427
2631
  msgid "Rule priority changed successfully!"
2632
  msgstr ""
2633
 
2634
+ #: v2/App/Controllers/Admin/Settings.php:428
2635
  msgid "Rule priority not changed !"
2636
  msgstr ""
2637
 
2638
+ #: v2/App/Controllers/Admin/Settings.php:429
2639
  msgid "No data for this period"
2640
  msgstr ""
2641
 
2642
+ #: v2/App/Controllers/Admin/Settings.php:430
2643
  msgid "Oops! Coupon already exists in Woocommerce"
2644
  msgstr ""
2645
 
2646
+ #: v2/App/Controllers/Admin/Settings.php:431
2647
  msgid "Copied!"
2648
  msgstr ""
2649
 
2650
+ #: v2/App/Controllers/Admin/Settings.php:432
2651
  #: v2/App/Views/Admin/Tabs/settings.php:496
2652
  msgid "Copy ShortCode"
2653
  msgstr ""
2654
 
2655
+ #: v2/App/Controllers/Admin/Settings.php:433
2656
  msgid "If you make this recursive other row(s) will be removed!"
2657
  msgstr ""
2658
 
2659
+ #: v2/App/Controllers/Admin/Settings.php:435
2660
  msgid "Minimum Quantity"
2661
  msgstr ""
2662
 
2663
+ #: v2/App/Controllers/Admin/Settings.php:436
2664
  msgid "Discount value"
2665
  msgstr ""
2666
 
2667
+ #: v2/App/Controllers/Admin/Settings.php:438
2668
  msgid "Filter (Buy)"
2669
  msgstr ""
2670
 
2671
+ #: v2/App/Controllers/Admin/Settings.php:439
2672
+ #: v2/App/Views/Admin/Rules/Manage.php:146
2673
  msgid "Filter"
2674
  msgstr ""
2675
 
2676
+ #: v2/App/Controllers/Admin/Settings.php:440
2677
  msgid ""
2678
  "<p>Choose <b>what gets discount</b> (products/categories/attributes/SKU and "
2679
  "so on )</p>\n"
2680
  "<p>Note : You can also exclude products/categories.</p>"
2681
  msgstr ""
2682
 
2683
+ #: v2/App/Controllers/Admin/Settings.php:443
2684
+ msgid ""
2685
+ "Discount - <a href=\"https://docs.flycart.org/en/articles/3914904-bulk-"
2686
+ "discounts-tiered-pricing-discounts-discount-rules-2-0\" style=\"font-size: "
2687
+ "12px;\" target=\"_blank\">Read Docs</a>"
2688
+ msgstr ""
2689
+
2690
+ #: v2/App/Controllers/Admin/Settings.php:444
2691
+ msgid ""
2692
+ "Discount - <a href=\"https://docs.flycart.org/en/articles/3809899-bundle-set-"
2693
+ "discount-discount-rules-2-0\" style=\"font-size: 12px;\" target=\"_blank"
2694
+ "\">Read Docs</a>"
2695
+ msgstr ""
2696
+
2697
+ #: v2/App/Controllers/Admin/Settings.php:445
2698
+ msgid ""
2699
+ "Discount - <a href=\"https://docs.flycart.org/en/articles/3810570-buy-x-get-"
2700
+ "y-discount-rules-2-0\" style=\"font-size: 12px;\" target=\"_blank\">Read "
2701
+ "Docs</a>"
2702
+ msgstr ""
2703
+
2704
+ #: v2/App/Controllers/Admin/Settings.php:446
2705
+ msgid ""
2706
+ "Discount - <a href=\"https://docs.flycart.org/en/articles/3810071-buy-one-"
2707
+ "get-one-free-buy-x-get-x-discount-rules-2-0\" style=\"font-size: 12px;\" "
2708
+ "target=\"_blank\">Read Docs</a>"
2709
+ msgstr ""
2710
+
2711
+ #: v2/App/Controllers/Admin/Settings.php:447
2712
  msgid ""
2713
  "<p>Select discount type and its value (percentage/price/fixed price)</p>"
2714
  msgstr ""
2715
 
2716
+ #: v2/App/Controllers/Admin/Settings.php:448
2717
+ msgid ""
2718
+ "<p>Select discount type and its value (percentage/price/fixed price)</p> "
2719
+ "<div class=\"awdr-count-by-description\"><b>Filter set above :</b><p> This "
2720
+ "will count the quantities of products set in the “Filter” section.</p>\n"
2721
+ "<p><b>Example:</b> If you selected a few categories there, it will count the "
2722
+ "quantities of products in those categories added in cart. If you selected a "
2723
+ "few products in the filters section, then it will count the quantities "
2724
+ "together.</p>\n"
2725
+ "<p><b>Example:</b> Let’s say, you wanted to offer a Bulk Quantity discount "
2726
+ "for Category A and chosen Category A in the filters. So when a customer adds "
2727
+ "1 quantity each of X, Y and Z from Category A, then the count here is 3.</"
2728
+ "p></div>"
2729
  msgstr ""
2730
 
2731
+ #: v2/App/Controllers/Admin/Settings.php:454
2732
  msgid ""
2733
+ "<p>Select discount type and its value (percentage/price/fixed price)</p> "
2734
+ "<div class=\"awdr-count-by-description\"><b>Individual Product :</b><p>This "
2735
+ "counts the total quantity of each product / line item separately.</p>\n"
2736
+ "<p><b>Example:</b> If a customer wanted to buy 2 quantities of Product A, 3 "
2737
+ "quantities of Product B, then count will be maintained at the product level. "
2738
+ "</p>\n"
2739
+ "<span>2 - count of Product A</span></br>\n"
2740
+ "<span>3 - Count of Product B</span>\n"
2741
+ "<p>In case of variable products, the count will be based on each variant "
2742
+ "because WooCommerce considers a variant as a product itself. </p></div>"
2743
+ msgstr ""
2744
+
2745
+ #: v2/App/Controllers/Admin/Settings.php:460
2746
+ msgid ""
2747
+ "<p>Select discount type and its value (percentage/price/fixed price)</p><div "
2748
+ "class=\"awdr-count-by-description\"><b>All variants in each product "
2749
+ "together :</b><p>Useful when applying discounts based on variable products "
2750
+ "and you want the quantity to be counted based on the parent product.</p>\n"
2751
+ "<p><b>Example:</b>\n"
2752
+ "Say, you have Product A - Small, Medium, Large.\n"
2753
+ "If a customer buys 2 of Product A - Small, 4 of Product A - Medium, 6 of "
2754
+ "Product A - Large, then the count will be: 6+4+2 = 12\n"
2755
+ "</p></div>"
2756
+ msgstr ""
2757
+
2758
+ #: v2/App/Controllers/Admin/Settings.php:466
2759
+ msgid "Rules (optional)"
2760
  msgstr ""
2761
 
2762
+ #: v2/App/Controllers/Admin/Settings.php:468
2763
  msgid ""
2764
  "<p>Choose Buy Products. (products/categories/attributes/tags/sku) Example : "
2765
  "For Buy X get Y scenarios, choose X here.</p>"
2766
  msgstr ""
2767
 
2768
+ #: v2/App/Controllers/Admin/Settings.php:469
2769
  msgid ""
2770
  "<p>Choose on which products the discount should be applied (This can be "
2771
  "products/categories/SKU)</p>"
2772
  msgstr ""
2773
 
2774
+ #: v2/App/Controllers/Admin/Settings.php:470
2775
+ #: v2/App/Controllers/Admin/Settings.php:472
2776
  msgid "Get Discount"
2777
  msgstr ""
2778
 
2779
+ #: v2/App/Controllers/Admin/Settings.php:471
2780
  msgid ""
2781
  "<p>Enter the min/max ranges and choose free item quantity.</p><p>Note : "
2782
  "Enable recursive checkbox if the discounts should be applied in sequential "
2784
  "p>"
2785
  msgstr ""
2786
 
2787
+ #: v2/App/Controllers/Admin/Settings.php:473
2788
  msgid ""
2789
  "<p>Choose the adjustment type to which the discount should be applied. You "
2790
  "can choose from products/categories/all products.</p><p>Note : Enable "
2792
  "</p>"
2793
  msgstr ""
2794
 
2795
+ #: v2/App/Controllers/Admin/Settings.php:474
2796
  msgid ""
2797
+ "<p>Discount will be applied <b>only the selected products (based on mode of "
2798
+ "apply)</b></p><p>Note : Enable recursive checkbox if the discounts should be "
2799
+ "applied in sequential ranges. </p>"
 
 
 
 
2800
  msgstr ""
2801
 
2802
+ #: v2/App/Controllers/Admin/Settings.php:475
2803
+ msgid ""
2804
+ "<p>Discount will be applied <b>only the selected categories (based on mode "
2805
+ "of apply)</b></p><p>Note : Enable recursive checkbox if the discounts should "
2806
+ "be applied in sequential ranges. </p><p>Example ranges:</p><p>Buy 2, get 1 "
2807
+ "free (a.k.a: Buy 1 get 1 free)</p><table><tbody><tr><td>Min quantity</"
2808
+ "td><td>Max quantity</td><td>Free quantity</td></tr><tr><td>2</td><td>3</"
2809
+ "td><td>1</td></tr></tr><tr><td>4</td><td>5</td><td>2</td></tr></tbody></"
2810
+ "table>"
2811
+ msgstr ""
2812
+
2813
+ #: v2/App/Controllers/Admin/Settings.php:476
2814
+ msgid ""
2815
+ "<p>Discount applies on the cheapest/highest priced <b>product IN CART</b>.</"
2816
+ "p><p>Note : Enable recursive checkbox if the discounts should be applied in "
2817
+ "sequential ranges. </p><p>Example ranges:</p><p>Buy 2, get 1 free (a.k.a: "
2818
+ "Buy 1 get 1 free)</p><table><tbody><tr><td>Min quantity</td><td>Max "
2819
+ "quantity</td><td>Free quantity</td></tr><tr><td>2</td><td>3</td><td>1</td></"
2820
+ "tr></tr><tr><td>4</td><td>5</td><td>2</td></tr></tbody></table>"
2821
  msgstr ""
2822
 
2823
+ #: v2/App/Controllers/Admin/Settings.php:479
2824
  msgid "<p>Processing migration, please wait...</p>"
2825
  msgstr ""
2826
 
2827
+ #: v2/App/Controllers/Admin/Settings.php:480
2828
  msgid "<p>Migration completed.</p>"
2829
  msgstr ""
2830
 
2831
+ #: v2/App/Controllers/Admin/Settings.php:481
2832
  msgid "<p>Migration skipped.</p>"
2833
  msgstr ""
2834
 
2835
+ #: v2/App/Controllers/Admin/Settings.php:482
2836
  msgid "<p>Skipping migration, please wait...</p>"
2837
  msgstr ""
2838
 
2839
+ #: v2/App/Controllers/Admin/Settings.php:483
2840
  msgid ""
2841
  "<span><b>Example:</b> Product A - Small and Product A - Medium will be "
2842
  "counted as 2 quantity</span>"
2843
  msgstr ""
2844
 
2845
+ #: v2/App/Controllers/Admin/Settings.php:484
2846
  msgid "<span>Discount applies to all eligible products in the store</span>"
2847
  msgstr ""
2848
 
2849
+ #: v2/App/Controllers/Admin/Settings.php:485
2850
  msgid ""
2851
  "<span>Choose products that get the discount using \"In List\". If you want "
2852
  "to exclude a few products, choose \"Not In List\" and select the products "
2853
  "you wanted to exclude from discount. (You can add multiple filters)</span>"
2854
  msgstr ""
2855
 
2856
+ #: v2/App/Controllers/Admin/Settings.php:486
2857
  msgid ""
2858
  "<span>Choose categories that get the discount using \"In List\". If you want "
2859
  "to exclude a few categories, choose \"Not In List\" and select the "
2861
  "filters of same type)</span>"
2862
  msgstr ""
2863
 
2864
+ #: v2/App/Controllers/Admin/Settings.php:487
2865
  msgid ""
2866
  "<span> Choose attributes that get the discount using \"In List\". If you "
2867
  "want to exclude a few attributes, choose \"Not In List\" and select the "
2869
  "filters of same type)</span>"
2870
  msgstr ""
2871
 
2872
+ #: v2/App/Controllers/Admin/Settings.php:488
2873
  msgid ""
2874
  "<span>Choose tags that get the discount using \"In List\". If you want to "
2875
  "exclude a few tags, choose \"Not In List\" and select the tags you wanted to "
2876
  "exclude from discount. (You can add multiple filters of same type)</span>"
2877
  msgstr ""
2878
 
2879
+ #: v2/App/Controllers/Admin/Settings.php:489
2880
  msgid ""
2881
  "<span>Choose SKUs that get the discount using \"In List\". If you want to "
2882
  "exclude a few SKUs, choose \"Not In List\" and select the SKUs you wanted to "
2883
  "exclude from discount. (You can add multiple filters of same type)</span>"
2884
  msgstr ""
2885
 
2886
+ #: v2/App/Controllers/Admin/Settings.php:490
2887
  msgid ""
2888
  "<span>Choose whether you want to include (or exclude) products on sale "
2889
  "(those having a sale price) for the discount </span>"
2890
  msgstr ""
2891
 
2892
+ #: v2/App/Controllers/Admin/Settings.php:491
2893
  msgid "<span>Discount applies to custom taxonomy</span>"
2894
  msgstr ""
2895
 
2896
+ #: v2/App/Controllers/Admin/Settings.php:492
2897
  msgid "Processing please wait.."
2898
  msgstr ""
2899
 
2900
+ #: v2/App/Controllers/Admin/Settings.php:493
2901
  msgid "Rebuild index processed"
2902
  msgstr ""
2903
 
2904
+ #: v2/App/Controllers/Admin/Settings.php:494
2905
  msgid "Please select the rules to build index"
2906
  msgstr ""
2907
 
2908
+ #: v2/App/Controllers/Admin/Settings.php:495
2909
  msgid "Invalid File. Upload : <b style='color:red;'>.csv</b> File. </br>"
2910
  msgstr ""
2911
 
2912
+ #: v2/App/Controllers/Admin/Settings.php:496
2913
  msgid ""
2914
  "<b>This rule is not running currently:</b> Rule reached maximum usage limit"
2915
  msgstr ""
2916
 
2917
+ #: v2/App/Controllers/Admin/Settings.php:497
2918
  msgid ""
2919
  "<b>This rule is not running currently:</b> Start date and time is set in the "
2920
  "future date"
2921
  msgstr ""
2922
 
2923
+ #: v2/App/Controllers/Admin/Settings.php:498
2924
  msgid "<b>This rule is not running currently:</b> Validity expired"
2925
  msgstr ""
2926
 
2999
  msgid "Bulk Discount"
3000
  msgstr ""
3001
 
3002
+ #: v2/App/Controllers/ManageDiscount.php:651
3003
  msgid "cart discount"
3004
  msgstr ""
3005
 
3006
+ #: v2/App/Controllers/ManageDiscount.php:850
3007
  msgid "Coupon code applied successfully."
3008
  msgstr ""
3009
 
3011
  msgid "No Banner Content"
3012
  msgstr ""
3013
 
3014
+ #: v2/App/Helpers/Helper.php:148
3015
+ msgid "Include additional conditions (if necessary)"
3016
+ msgstr ""
3017
+
3018
+ #: v2/App/Helpers/Helper.php:149
3019
+ msgid "Popular conditions:"
3020
+ msgstr ""
3021
+
3022
+ #: v2/App/Helpers/Helper.php:154
3023
+ msgid "User role"
3024
+ msgstr ""
3025
+
3026
+ #: v2/App/Helpers/Helper.php:155
3027
+ msgid "Days & Time"
3028
+ msgstr ""
3029
+
3030
+ #: v2/App/Helpers/Helper.php:157
3031
+ msgid "Payment Method"
3032
+ msgstr ""
3033
+
3034
+ #: v2/App/Helpers/Helper.php:163
3035
+ msgid "Shipping Address"
3036
+ msgstr ""
3037
+
3038
+ #: v2/App/Helpers/Helper.php:165
3039
+ msgid "Product Combination"
3040
+ msgstr ""
3041
+
3042
+ #: v2/App/Helpers/Helper.php:166
3043
+ msgid "Quantities/Line items"
3044
+ msgstr ""
3045
+
3046
+ #: v2/App/Helpers/Helper.php:179
3047
+ msgid ""
3048
+ "Individual Product : \n"
3049
+ " This counts the total quantity of each product / line item "
3050
+ "separately.\n"
3051
+ " Example:\n"
3052
+ " If a customer wanted to buy 2 quantities of Product A, 3 "
3053
+ "quantities of Product B, then count will be maintained at the product "
3054
+ "level.\n"
3055
+ " 2 - count of Product A\n"
3056
+ " 3 - Count of Product B\n"
3057
+ " In case of variable products, the count will be based on each "
3058
+ "variant because WooCommerce considers a variant as a product itself."
3059
+ msgstr ""
3060
+
3061
+ #: v2/App/Helpers/Helper.php:193
3062
+ msgid ""
3063
+ "Filter set above :\n"
3064
+ " This will count the quantities of products set in the 'Filter' "
3065
+ "section.\n"
3066
+ " Example: If you selected a few categories there, it will count "
3067
+ "the quantities of products in those categories added in cart. If you "
3068
+ "selected a few products in the filters section, then it will count the "
3069
+ "quantities together.\n"
3070
+ " Example: Let’s say, you wanted to offer a Bulk Quantity discount "
3071
+ "for Category A and chosen Category A in the filters. So when a customer adds "
3072
+ "1 quantity each of X, Y and Z from Category A, then the count here is 3."
3073
+ msgstr ""
3074
+
3075
+ #: v2/App/Helpers/Helper.php:204
3076
+ msgid ""
3077
+ "All variants in each product together :\n"
3078
+ " Useful when applying discounts based on variable products and "
3079
+ "you want the quantity to be counted based on the parent product.\n"
3080
+ " Example:\n"
3081
+ " Say, you have Product A - Small, Medium, Large.\n"
3082
+ " If a customer buys 2 of Product A - Small, 4 of Product A - "
3083
+ "Medium, 6 of Product A - Large, then the count will be: 6+4+2 = 12\n"
3084
+ msgstr ""
3085
+
3086
  #: v2/App/Helpers/Migration.php:133
3087
  #, php-format
3088
  msgid "%s Completed. Please wait.."
3254
  msgstr ""
3255
 
3256
  #: v2/App/Helpers/Rule.php:1246 v2/App/Helpers/Rule.php:1324
3257
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:84
3258
  msgid "Untitled Rule"
3259
  msgstr ""
3260
 
3261
+ #: v2/App/Helpers/Woocommerce.php:914
3262
  msgid "Sunday"
3263
  msgstr ""
3264
 
3265
+ #: v2/App/Helpers/Woocommerce.php:915
3266
  msgid "Monday"
3267
  msgstr ""
3268
 
3269
+ #: v2/App/Helpers/Woocommerce.php:916
3270
  msgid "Tuesday"
3271
  msgstr ""
3272
 
3273
+ #: v2/App/Helpers/Woocommerce.php:917
3274
  msgid "Wednesday"
3275
  msgstr ""
3276
 
3277
+ #: v2/App/Helpers/Woocommerce.php:918
3278
  msgid "Thursday"
3279
  msgstr ""
3280
 
3281
+ #: v2/App/Helpers/Woocommerce.php:919
3282
  msgid "Friday"
3283
  msgstr ""
3284
 
3285
+ #: v2/App/Helpers/Woocommerce.php:920
3286
  msgid "Saturday"
3287
  msgstr ""
3288
 
3289
+ #: v2/App/Helpers/Woocommerce.php:931
3290
  msgid ""
3291
  "Woocommerce before main content(Archive / Shop / Cat Pages / single product)"
3292
  msgstr ""
3293
 
3294
+ #: v2/App/Helpers/Woocommerce.php:932
3295
  msgid "Woocommerce archive description(Archive / Shop / Cat Pages)"
3296
  msgstr ""
3297
 
3298
+ #: v2/App/Helpers/Woocommerce.php:933
3299
  msgid "Woocommerce before shop loop(Archive / Shop / Cat Pages)"
3300
  msgstr ""
3301
 
3302
+ #: v2/App/Helpers/Woocommerce.php:934
3303
  msgid "Woocommerce after shop loop(Archive / Shop / Cat Pages)"
3304
  msgstr ""
3305
 
3306
+ #: v2/App/Helpers/Woocommerce.php:935
3307
  msgid ""
3308
  "Woocommerce after main content(Archive / Shop / Cat Pages / single product)"
3309
  msgstr ""
3310
 
3311
+ #: v2/App/Helpers/Woocommerce.php:936 v2/App/Views/Admin/Tabs/settings.php:194
3312
  #: v2/App/Views/Admin/Tabs/settings.php:212
3313
  msgid "Woocommerce before single product"
3314
  msgstr ""
3315
 
3316
+ #: v2/App/Helpers/Woocommerce.php:937 v2/App/Views/Admin/Tabs/settings.php:196
3317
  #: v2/App/Views/Admin/Tabs/settings.php:214
3318
  msgid "Woocommerce before single product summary"
3319
  msgstr ""
3320
 
3321
+ #: v2/App/Helpers/Woocommerce.php:938 v2/App/Views/Admin/Tabs/settings.php:195
3322
  #: v2/App/Views/Admin/Tabs/settings.php:213
3323
  msgid "Woocommerce after single product summary"
3324
  msgstr ""
3325
 
3326
+ #: v2/App/Helpers/Woocommerce.php:939 v2/App/Views/Admin/Tabs/settings.php:193
3327
  #: v2/App/Views/Admin/Tabs/settings.php:211
3328
  msgid "Woocommerce after single product"
3329
  msgstr ""
3330
 
3331
+ #: v2/App/Helpers/Woocommerce.php:940
3332
  msgid "Woocommerce before cart"
3333
  msgstr ""
3334
 
3335
+ #: v2/App/Helpers/Woocommerce.php:941
3336
  msgid "Woocommerce before cart table"
3337
  msgstr ""
3338
 
3339
+ #: v2/App/Helpers/Woocommerce.php:942
3340
  msgid "Woocommerce before cart contents"
3341
  msgstr ""
3342
 
3343
+ #: v2/App/Helpers/Woocommerce.php:943
3344
  msgid "Woocommerce cart contents"
3345
  msgstr ""
3346
 
3347
+ #: v2/App/Helpers/Woocommerce.php:944
3348
  msgid "Woocommerce after cart contents"
3349
  msgstr ""
3350
 
3351
+ #: v2/App/Helpers/Woocommerce.php:945
3352
  msgid "Woocommerce after cart table"
3353
  msgstr ""
3354
 
3355
+ #: v2/App/Helpers/Woocommerce.php:946
3356
  msgid "Woocommerce after cart"
3357
  msgstr ""
3358
 
3359
+ #: v2/App/Helpers/Woocommerce.php:947
3360
  msgid "Woocommerce before checkout form"
3361
  msgstr ""
3362
 
3363
+ #: v2/App/Helpers/Woocommerce.php:949
3364
  msgid "Woocommerce before checkout billing form"
3365
  msgstr ""
3366
 
3367
+ #: v2/App/Helpers/Woocommerce.php:950
3368
  msgid "Woocommerce after checkout billing form"
3369
  msgstr ""
3370
 
3371
+ #: v2/App/Helpers/Woocommerce.php:951
3372
  msgid "Woocommerce before checkout shipping form"
3373
  msgstr ""
3374
 
3375
+ #: v2/App/Helpers/Woocommerce.php:952
3376
  msgid "Woocommerce after checkout shipping form"
3377
  msgstr ""
3378
 
3379
+ #: v2/App/Helpers/Woocommerce.php:953
3380
  msgid "Woocommerce before order notes"
3381
  msgstr ""
3382
 
3383
+ #: v2/App/Helpers/Woocommerce.php:954
3384
  msgid "Woocommerce after order notes"
3385
  msgstr ""
3386
 
3451
  msgid "How to calculate the subtotal"
3452
  msgstr ""
3453
 
3454
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:10
3455
  msgid "Rules (Optional)"
3456
  msgstr ""
3457
 
3458
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:24
 
 
 
 
 
 
3459
  msgid "Conditions Relationship "
3460
  msgstr ""
3461
 
3462
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:27
3463
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:116
3464
  msgid "Match All"
3465
  msgstr ""
3466
 
3467
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:29
3468
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:118
3469
+ msgid "Match Any"
3470
  msgstr ""
3471
 
3472
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:77
3473
  #: v2/App/Views/Admin/Rules/Others/CommonTemplates.php:87
3474
  msgid "Condition Type"
3475
  msgstr ""
3476
 
3477
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:106
3478
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:126
3479
  msgid "Add condition"
3480
  msgstr ""
3481
 
3482
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:114
3483
  msgid "Conditions Relationship"
3484
  msgstr ""
3485
 
3486
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:138
3487
  msgid "Rule Limits"
3488
  msgstr ""
3489
 
3490
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:143
3491
  msgid "Rule Used: "
3492
  msgstr ""
3493
 
3494
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:153
3495
  msgid "Unlimited"
3496
  msgstr ""
3497
 
3498
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:160
3499
  msgid "Maximum usage limit"
3500
  msgstr ""
3501
 
3502
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:168
3503
  msgid "Rule Vaild From"
3504
  msgstr ""
3505
 
3506
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:173
3507
  msgid "Vaild from"
3508
  msgstr ""
3509
 
3510
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:180
3511
  msgid "Rule Valid To"
3512
  msgstr ""
3513
 
3514
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:184
3515
  msgid "Vaild to"
3516
  msgstr ""
3517
 
3518
+ #: v2/App/Views/Admin/Rules/Conditions/Main.php:195
3519
  msgid "Select values"
3520
  msgstr ""
3521
 
3522
  #: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:10
3523
+ msgid "Discount Bar (optional) - Display discount information"
3524
  msgstr ""
3525
 
3526
  #: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:17
3689
  msgstr ""
3690
 
3691
  #: v2/App/Views/Admin/Rules/Discounts/Main.php:17
3692
+ msgid "Count Quantities by:"
3693
  msgstr ""
3694
 
3695
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:17
3696
+ msgid ""
3697
+ "Filter set above : \n"
3698
+ "This will count the quantities of products set in the “Filter” section.\n"
3699
+ "Example: If you selected a few categories there, it will count the "
3700
+ "quantities of products in those categories added in cart. If you selected a "
3701
+ "few products in the filters section, then it will count the quantities "
3702
+ "together.\n"
3703
+ "\n"
3704
+ "Example: Let’s say, you wanted to offer a Bulk Quantity discount for "
3705
+ "Category A and chosen Category A in the filters.\n"
3706
+ "\n"
3707
+ "So when a customer adds 1 quantity each of X, Y and Z from Category A, then "
3708
+ "the count here is 3. \n"
3709
+ "\n"
3710
+ "Individual Product :\n"
3711
+ "\n"
3712
+ "This counts the total quantity of each product / line item separately.\n"
3713
+ "Example : If a customer wanted to buy 2 quantities of Product A, 3 "
3714
+ "quantities of Product B, then count will be maintained at the product "
3715
+ "level. \n"
3716
+ "2 - count of Product A\n"
3717
+ "3 - Count of Product B\n"
3718
+ "\n"
3719
+ "In case of variable products, the count will be based on each variant "
3720
+ "because WooCommerce considers a variant as a product itself. \n"
3721
+ "\n"
3722
+ "All variants in each product together :\n"
3723
+ "Useful when applying discounts based on variable products and you want the "
3724
+ "quantity to be counted based on the parent product.\n"
3725
+ "Example: \n"
3726
+ "Say, you have Product A - Small, Medium, Large.\n"
3727
+ "If a customer buys 2 of Product A - Small, 4 of Product A - Medium, 6 of "
3728
+ "Product A - Large, then the count will be: 6+4+2 = 12\n"
3729
+ msgstr ""
3730
+
3731
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:42
3732
+ msgid ""
3733
+ "This will count the quantities of products set in the “Filter” section.\n"
3734
+ "Example: If you selected a few categories there, it will count the "
3735
+ "quantities of products in those categories added in cart. If you selected a "
3736
+ "few products in the filters section, then it will count the quantities "
3737
+ "together.\n"
3738
+ "\n"
3739
+ "Example: Let’s say, you wanted to offer a Bulk Quantity discount for "
3740
+ "Category A and chosen Category A in the filters.\n"
3741
+ "\n"
3742
+ "So when a customer adds 1 quantity each of X, Y and Z from Category A, then "
3743
+ "the count here is 3."
3744
+ msgstr ""
3745
+
3746
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:49
3747
  msgid "Filters set above"
3748
  msgstr ""
3749
 
3750
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:50
3751
+ msgid ""
3752
+ "This counts the total quantity of each product / line item separately.\n"
3753
+ "Example : If a customer wanted to buy 2 quantities of Product A, 3 "
3754
+ "quantities of Product B, then count will be maintained at the product "
3755
+ "level. \n"
3756
+ "2 - count of Product A\n"
3757
+ "3 - Count of Product B\n"
3758
+ "\n"
3759
+ "In case of variable products, the count will be based on each variant "
3760
+ "because WooCommerce considers a variant as a product itself. \n"
3761
+ msgstr ""
3762
+
3763
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:58
3764
  msgid "Individual product"
3765
  msgstr ""
3766
 
3767
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:59
3768
+ msgid ""
3769
+ "Useful when applying discounts based on variable products and you want the "
3770
+ "quantity to be counted based on the parent product.\n"
3771
+ "Example: \n"
3772
+ "Say, you have Product A - Small, Medium, Large.\n"
3773
+ "If a customer buys 2 of Product A - Small, 4 of Product A - Medium, 6 of "
3774
+ "Product A - Large, then the count will be: 6+4+2 = 12"
3775
+ msgstr ""
3776
+
3777
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:64
3778
  msgid "All variants in each product together"
3779
  msgstr ""
3780
 
3781
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:86
3782
  msgid "Add Range"
3783
  msgstr ""
3784
 
3785
+ #: v2/App/Views/Admin/Rules/Discounts/Main.php:94
3786
  #: v2/App/Views/Admin/Rules/Discounts/simple.php:40
3787
  msgid "Show discount in cart as coupon instead of changing the product price ?"
3788
  msgstr ""
3911
  msgid "Select Discount Type"
3912
  msgstr ""
3913
 
3914
+ #: v2/App/Views/Admin/Rules/Manage.php:148
3915
  msgid ""
3916
  "Choose which <b>gets</b> discount (products/categories/attributes/SKU and so "
3917
  "on )"
3918
  msgstr ""
3919
 
3920
+ #: v2/App/Views/Admin/Rules/Manage.php:149
3921
  msgid "Note : You can also exclude products/categories."
3922
  msgstr ""
3923
 
3924
+ #: v2/App/Views/Admin/Rules/Manage.php:193
3925
  msgid "Select discount type and its value (percentage/price/fixed price)"
3926
  msgstr ""
3927
 
4078
  msgid "Go PRO"
4079
  msgstr ""
4080
 
4081
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:10
4082
  msgid "Export tool"
4083
  msgstr ""
4084
 
4085
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:15
4086
  msgid "Export"
4087
  msgstr ""
4088
 
4089
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:26
4090
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:142
4091
  msgid "Import Tool"
4092
  msgstr ""
4093
 
4094
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:119
4095
  msgid "<b style=\"color: green;\">Rules Imported successfully</b>"
4096
  msgstr ""
4097
 
4098
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:122
4099
  msgid "<b style=\"color: red;\">Problem in Importing CSV Data</b>"
4100
  msgstr ""
4101
 
4102
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:132
4103
  msgid "Import"
4104
  msgstr ""
4105
 
4106
+ #: v2/App/Views/Admin/Tabs/ImportExport.php:143
4107
+ msgid ""
4108
+ "Unlock this feature by <a href=\"https://www.flycart.org/products/wordpress/"
4109
+ "woocommerce-discount-rules\" target=\"_blank\">Upgrading to Pro</a>"
4110
+ msgstr ""
4111
+
4112
  #: v2/App/Views/Admin/Tabs/Statistics.php:39
4113
  msgid "This Week"
4114
  msgstr ""
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://flycart.org/
4
  Tags: woocommerce, coupons, discounts, dynamic pricing, Buy One Get One Free, pricing deals, bulk discount, discount
5
  Requires at least: 4.4.1
6
  Tested up to: 5.4
7
- Stable tag: 2.0.1
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -336,6 +336,12 @@ Discount - Enter minimum & Maximum quantity -> Adjustment Type -> Product Discou
336
 
337
  == Changelog ==
338
 
 
 
 
 
 
 
339
  = 2.0.1 - 14/07/20 =
340
  * Fix - Warning on install pack.
341
 
4
  Tags: woocommerce, coupons, discounts, dynamic pricing, Buy One Get One Free, pricing deals, bulk discount, discount
5
  Requires at least: 4.4.1
6
  Tested up to: 5.4
7
+ Stable tag: 2.0.2
8
  License: GPLv3 or later
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
336
 
337
  == Changelog ==
338
 
339
+ = 2.0.2 - 29/07/20 =
340
+ * Fix - Making conflict with YITH WooCommerce Wishlist
341
+ * Fix - Script error because of selectWoo
342
+ * Fix - BXGY cheapest individual option calculate wrong discounts
343
+ * Improvement - Text improvement
344
+
345
  = 2.0.1 - 14/07/20 =
346
  * Fix - Warning on install pack.
347
 
v2/App/Compatibility/CurrencySwitcherByRealmag777.php CHANGED
@@ -32,7 +32,9 @@ class CurrencySwitcherByRealmag777 extends Base
32
  }
33
  if($convert_to_current_currency === true){
34
  if(isset($currencies[$WOOCS->current_currency]) && isset($currencies[$WOOCS->current_currency]['rate'])){
35
- $price = $price / $currencies[$WOOCS->current_currency]['rate'];
 
 
36
  }
37
  }
38
  }
32
  }
33
  if($convert_to_current_currency === true){
34
  if(isset($currencies[$WOOCS->current_currency]) && isset($currencies[$WOOCS->current_currency]['rate'])){
35
+ if($currencies[$WOOCS->current_currency]['rate'] != 0){
36
+ $price = $price / $currencies[$WOOCS->current_currency]['rate'];
37
+ }
38
  }
39
  }
40
  }
v2/App/Controllers/Admin/Settings.php CHANGED
@@ -11,6 +11,7 @@ use Wdr\App\Controllers\Admin\Tabs\Statistics;
11
  use Wdr\App\Controllers\Base;
12
  use Wdr\App\Controllers\OnSaleShortCode;
13
  use Wdr\App\Helpers\Language;
 
14
  use Wdr\App\Helpers\Migration;
15
  use Wdr\App\Helpers\SurveyForm;
16
  use Wdr\App\Controllers\Configuration;
@@ -188,8 +189,12 @@ class Settings extends Base
188
  } else {
189
  wp_enqueue_script(WDR_SLUG . '-rulebuilder', WDR_PLUGIN_URL . 'Assets/Js/rulebuilder.js', array('jquery', WDR_SLUG . '-datetimepickerjs'));
190
  }
 
 
 
191
  wp_enqueue_style('wdr-select2-js', self::$woocommerce_helper->getWooPluginUrl() . '/assets/css/select2.css');
192
  wp_enqueue_script( 'woocommerce_admin' );
 
193
  //To load woocommerce product select
194
  wp_enqueue_style( 'woocommerce_admin_styles' );
195
 
@@ -435,18 +440,42 @@ class Settings extends Base
435
  'common_filter_description' => __('<p>Choose <b>what gets discount</b> (products/categories/attributes/SKU and so on )</p>
436
  <p>Note : You can also exclude products/categories.</p>', WDR_TEXT_DOMAIN),
437
  'common_discount_heading' => esc_html__('Discount', WDR_TEXT_DOMAIN),
 
 
 
 
438
  'common_discount_description' => __('<p>Select discount type and its value (percentage/price/fixed price)</p>', WDR_TEXT_DOMAIN),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
439
  'common_rules_heading' => esc_html__('Rules (optional)', WDR_TEXT_DOMAIN),
440
- 'common_rules_description' => __('<p>Include additional conditions (if necessary) to apply discount for product filters.</p>', WDR_TEXT_DOMAIN),
441
  'bogo_buyx_gety_filter_description' => __('<p>Choose Buy Products. (products/categories/attributes/tags/sku) Example : For Buy X get Y scenarios, choose X here.</p>', WDR_TEXT_DOMAIN),
442
  'bogo_buyx_getx_filter_description' => __('<p>Choose on which products the discount should be applied (This can be products/categories/SKU)</p>', WDR_TEXT_DOMAIN),
443
  'bogo_buyx_getx_discount_heading' => esc_html__('Get Discount', WDR_TEXT_DOMAIN),
444
  'bogo_buyx_getx_discount_content' => __('<p>Enter the min/max ranges and choose free item quantity.</p><p>Note : Enable recursive checkbox if the discounts should be applied in sequential ranges. </p><p>Example : Buy 1 get 1, Buy 2 get 2, Buy 3 get 3 and so on..</p>', WDR_TEXT_DOMAIN),
445
  'bogo_buyx_gety_discount_heading' => esc_html__('Get Discount', WDR_TEXT_DOMAIN),
446
  'bogo_buyx_gety_discount_content' => __('<p>Choose the adjustment type to which the discount should be applied. You can choose from products/categories/all products.</p><p>Note : Enable recursive checkbox if the discounts should be applied in sequential ranges. </p>', WDR_TEXT_DOMAIN),
447
- 'bogo_buyx_gety_discount_content_for_cat_and_all' => __('<p>Choose the adjustment type to which the discount should be applied. You can choose from products/categories/all products.</p><p>Note : Enable recursive checkbox if the discounts should be applied in sequential ranges. </p><p>Example ranges:</p><p>Buy 2, get 1 free (a.k.a: Buy 1 get 1 free)</p><table><tbody><tr><td>Min quantity</td><td>Max quantity</td><td>Free quantity</td></tr><tr><td>2</td><td>3</td><td>1</td></tr></tr><tr><td>4</td><td>5</td><td>2</td></tr></tbody></table>', WDR_TEXT_DOMAIN),
448
- 'bogo_buyx_getx_rules_description' => __('<p>Include additional conditions (if necessary)</p>', WDR_TEXT_DOMAIN),
449
- 'bogo_buyx_gety_rules_description' => __('<p>Include additional conditions (if necessary)</p>', WDR_TEXT_DOMAIN),
 
 
450
  'processing_migration_text' => __('<p>Processing migration, please wait...</p>', WDR_TEXT_DOMAIN),
451
  'processing_migration_success_message' => __('<p>Migration completed.</p>', WDR_TEXT_DOMAIN),
452
  'skip_migration_success_message' => __('<p>Migration skipped.</p>', WDR_TEXT_DOMAIN),
11
  use Wdr\App\Controllers\Base;
12
  use Wdr\App\Controllers\OnSaleShortCode;
13
  use Wdr\App\Helpers\Language;
14
+ use Wdr\App\Helpers\Helper;
15
  use Wdr\App\Helpers\Migration;
16
  use Wdr\App\Helpers\SurveyForm;
17
  use Wdr\App\Controllers\Configuration;
189
  } else {
190
  wp_enqueue_script(WDR_SLUG . '-rulebuilder', WDR_PLUGIN_URL . 'Assets/Js/rulebuilder.js', array('jquery', WDR_SLUG . '-datetimepickerjs'));
191
  }
192
+ if(version_compare(getAWDRWooVersion(), '3.2.0', '<')){
193
+ wp_enqueue_script('selectWoo', WDR_PLUGIN_URL . 'Assets/Js/selectWoo.full.min.js', array('jquery'));
194
+ }
195
  wp_enqueue_style('wdr-select2-js', self::$woocommerce_helper->getWooPluginUrl() . '/assets/css/select2.css');
196
  wp_enqueue_script( 'woocommerce_admin' );
197
+ wp_enqueue_script( 'wc-enhanced-select' );
198
  //To load woocommerce product select
199
  wp_enqueue_style( 'woocommerce_admin_styles' );
200
 
440
  'common_filter_description' => __('<p>Choose <b>what gets discount</b> (products/categories/attributes/SKU and so on )</p>
441
  <p>Note : You can also exclude products/categories.</p>', WDR_TEXT_DOMAIN),
442
  'common_discount_heading' => esc_html__('Discount', WDR_TEXT_DOMAIN),
443
+ 'two_column_bulk_discount_heading' => __('Discount - <a href="https://docs.flycart.org/en/articles/3914904-bulk-discounts-tiered-pricing-discounts-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=bulk_documentation" style="font-size: 12px;" target="_blank">Read Docs</a>', WDR_TEXT_DOMAIN),
444
+ 'two_column_set_discount_heading' => __('Discount - <a href="https://docs.flycart.org/en/articles/3809899-bundle-set-discount-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=bundle_set" style="font-size: 12px;" target="_blank">Read Docs</a>', WDR_TEXT_DOMAIN),
445
+ 'two_column_bxgy_discount_heading' => __('Discount - <a href="https://docs.flycart.org/en/articles/3810570-buy-x-get-y-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=bxgy" style="font-size: 12px;" target="_blank">Read Docs</a>', WDR_TEXT_DOMAIN),
446
+ 'two_column_bxgx_discount_heading' => __('Discount - <a href="https://docs.flycart.org/en/articles/3810071-buy-one-get-one-free-buy-x-get-x-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=bxgx" style="font-size: 12px;" target="_blank">Read Docs</a>', WDR_TEXT_DOMAIN),
447
  'common_discount_description' => __('<p>Select discount type and its value (percentage/price/fixed price)</p>', WDR_TEXT_DOMAIN),
448
+ 'bulk_filter_together_discount_description' => __('<p>Select discount type and its value (percentage/price/fixed price)</p> <div class="awdr-count-by-description"><b>Filter set above :</b><p> This will count the quantities of products set in the “Filter” section.</p>
449
+ <p><b>Example:</b> If you selected a few categories there, it will count the quantities of products in those categories added in cart. If you selected a few products in the filters section, then it will count the quantities together.</p>
450
+ <p><b>Example:</b> Let’s say, you wanted to offer a Bulk Quantity discount for Category A and chosen Category A in the filters. So when a customer adds 1 quantity each of X, Y and Z from Category A, then the count here is 3.</p></div>', WDR_TEXT_DOMAIN),
451
+
452
+ 'bulk_filter_together_discount_description_tool_tip' => Helper::bogoToolTipDescriptionForFilterTogether(),
453
+
454
+ 'bulk_individual_product_discount_description' => __('<p>Select discount type and its value (percentage/price/fixed price)</p> <div class="awdr-count-by-description"><b>Individual Product :</b><p>This counts the total quantity of each product / line item separately.</p>
455
+ <p><b>Example:</b> If a customer wanted to buy 2 quantities of Product A, 3 quantities of Product B, then count will be maintained at the product level. </p>
456
+ <span>2 - count of Product A</span></br>
457
+ <span>3 - Count of Product B</span>
458
+ <p>In case of variable products, the count will be based on each variant because WooCommerce considers a variant as a product itself. </p></div>', WDR_TEXT_DOMAIN),
459
+ 'bulk_individual_product_discount_description_tool_tip' => Helper::bogoToolTipDescriptionForIndividualProduct(),
460
+ 'bulk_variants_discount_description' => __('<p>Select discount type and its value (percentage/price/fixed price)</p><div class="awdr-count-by-description"><b>All variants in each product together :</b><p>Useful when applying discounts based on variable products and you want the quantity to be counted based on the parent product.</p>
461
+ <p><b>Example:</b>
462
+ Say, you have Product A - Small, Medium, Large.
463
+ If a customer buys 2 of Product A - Small, 4 of Product A - Medium, 6 of Product A - Large, then the count will be: 6+4+2 = 12
464
+ </p></div>', WDR_TEXT_DOMAIN),
465
+ 'bulk_variants_discount_description_tool_tip' => Helper::bogoToolTipDescriptionForvariants(),
466
  'common_rules_heading' => esc_html__('Rules (optional)', WDR_TEXT_DOMAIN),
467
+ 'common_rules_description' => Helper::ruleConditionDescription(),
468
  'bogo_buyx_gety_filter_description' => __('<p>Choose Buy Products. (products/categories/attributes/tags/sku) Example : For Buy X get Y scenarios, choose X here.</p>', WDR_TEXT_DOMAIN),
469
  'bogo_buyx_getx_filter_description' => __('<p>Choose on which products the discount should be applied (This can be products/categories/SKU)</p>', WDR_TEXT_DOMAIN),
470
  'bogo_buyx_getx_discount_heading' => esc_html__('Get Discount', WDR_TEXT_DOMAIN),
471
  'bogo_buyx_getx_discount_content' => __('<p>Enter the min/max ranges and choose free item quantity.</p><p>Note : Enable recursive checkbox if the discounts should be applied in sequential ranges. </p><p>Example : Buy 1 get 1, Buy 2 get 2, Buy 3 get 3 and so on..</p>', WDR_TEXT_DOMAIN),
472
  'bogo_buyx_gety_discount_heading' => esc_html__('Get Discount', WDR_TEXT_DOMAIN),
473
  'bogo_buyx_gety_discount_content' => __('<p>Choose the adjustment type to which the discount should be applied. You can choose from products/categories/all products.</p><p>Note : Enable recursive checkbox if the discounts should be applied in sequential ranges. </p>', WDR_TEXT_DOMAIN),
474
+ 'bogo_buyx_gety_discount_content_for_product' => __('<p>Discount will be applied <b>only the selected products (based on mode of apply)</b></p><p>Note : Enable recursive checkbox if the discounts should be applied in sequential ranges. </p>', WDR_TEXT_DOMAIN),
475
+ 'bogo_buyx_gety_discount_content_for_category' => __('<p>Discount will be applied <b>only the selected categories (based on mode of apply)</b></p><p>Note : Enable recursive checkbox if the discounts should be applied in sequential ranges. </p><p>Example ranges:</p><p>Buy 2, get 1 free (a.k.a: Buy 1 get 1 free)</p><table><tbody><tr><td>Min quantity</td><td>Max quantity</td><td>Free quantity</td></tr><tr><td>2</td><td>3</td><td>1</td></tr></tr><tr><td>4</td><td>5</td><td>2</td></tr></tbody></table>', WDR_TEXT_DOMAIN),
476
+ 'bogo_buyx_gety_discount_content_for_all' => __('<p>Discount applies on the cheapest/highest priced <b>product IN CART</b>.</p><p>Note : Enable recursive checkbox if the discounts should be applied in sequential ranges. </p><p>Example ranges:</p><p>Buy 2, get 1 free (a.k.a: Buy 1 get 1 free)</p><table><tbody><tr><td>Min quantity</td><td>Max quantity</td><td>Free quantity</td></tr><tr><td>2</td><td>3</td><td>1</td></tr></tr><tr><td>4</td><td>5</td><td>2</td></tr></tbody></table>', WDR_TEXT_DOMAIN),
477
+ /*'bogo_buyx_getx_rules_description' => Helper::ruleConditionDescription(),
478
+ 'bogo_buyx_gety_rules_description' => Helper::ruleConditionDescription(),*/
479
  'processing_migration_text' => __('<p>Processing migration, please wait...</p>', WDR_TEXT_DOMAIN),
480
  'processing_migration_success_message' => __('<p>Migration completed.</p>', WDR_TEXT_DOMAIN),
481
  'skip_migration_success_message' => __('<p>Migration skipped.</p>', WDR_TEXT_DOMAIN),
v2/App/Controllers/Admin/Tabs/ImportExport.php CHANGED
@@ -27,8 +27,10 @@ class ImportExport extends Base
27
  public function render($page = NULL)
28
  {
29
  $rule_helper = new Rule();
 
30
  $params = array(
31
  'rules' => $rule_helper->exportRuleByName('all'),
 
32
  );
33
  self::$template_helper->setPath(WDR_PLUGIN_PATH . 'App/Views/Admin/Tabs/ImportExport.php')->setData($params)->display();
34
  }
27
  public function render($page = NULL)
28
  {
29
  $rule_helper = new Rule();
30
+ $is_pro_installed = \Wdr\App\Helpers\Helper::hasPro();
31
  $params = array(
32
  'rules' => $rule_helper->exportRuleByName('all'),
33
+ 'is_pro_activated' => $is_pro_installed,
34
  );
35
  self::$template_helper->setPath(WDR_PLUGIN_PATH . 'App/Views/Admin/Tabs/ImportExport.php')->setData($params)->display();
36
  }
v2/App/Controllers/DiscountCalculator.php CHANGED
@@ -666,13 +666,13 @@ class DiscountCalculator extends Base
666
  }
667
  if($discounted_price > 0){
668
  if ($ajax_price) {
669
- self::$total_discounts['ajax_product'][$rule_id] = apply_filters('advanced_woo_discount_rules_calculated_discounts_of_each_rule_for_ajax_price', self::$total_discounts['ajax_product'][$rule_id], $product_id, $rule_id, $filter_passed, $cart_item, $is_cart);
670
  $ajax_discounts[] = $discounted_price;
671
  }else{
672
  if(!isset(self::$total_discounts[$matched_item_key][$rule_id])){
673
  self::$total_discounts[$matched_item_key][$rule_id] = array();
674
  }
675
- self::$total_discounts[$matched_item_key][$rule_id] = apply_filters('advanced_woo_discount_rules_calculated_discounts_of_each_rule', self::$total_discounts[$matched_item_key][$rule_id], $product_id, $rule_id, $filter_passed, $cart_item, $is_cart);
676
  if ($rule->isExclusive()) {
677
  array_push($exclusive_rules, $rule_id);
678
  }
666
  }
667
  if($discounted_price > 0){
668
  if ($ajax_price) {
669
+ self::$total_discounts['ajax_product'][$rule_id] = apply_filters('advanced_woo_discount_rules_calculated_discounts_of_each_rule_for_ajax_price', self::$total_discounts['ajax_product'][$rule_id], $product_id, $rule_id, $filter_passed, $cart_item, $is_cart, $rule);
670
  $ajax_discounts[] = $discounted_price;
671
  }else{
672
  if(!isset(self::$total_discounts[$matched_item_key][$rule_id])){
673
  self::$total_discounts[$matched_item_key][$rule_id] = array();
674
  }
675
+ self::$total_discounts[$matched_item_key][$rule_id] = apply_filters('advanced_woo_discount_rules_calculated_discounts_of_each_rule', self::$total_discounts[$matched_item_key][$rule_id], $product_id, $rule_id, $filter_passed, $cart_item, $is_cart, $rule);
676
  if ($rule->isExclusive()) {
677
  array_push($exclusive_rules, $rule_id);
678
  }
v2/App/Controllers/ManageDiscount.php CHANGED
@@ -175,6 +175,11 @@ class ManageDiscount extends Base
175
  }
176
  return $price_html;
177
  }
 
 
 
 
 
178
  // $initial_price_html = $price_html;
179
  $initial_price_html = $this->getCalculateDiscountPriceFrom($product, $price_html, $ajax_price);
180
 
@@ -276,6 +281,10 @@ class ManageDiscount extends Base
276
  $calculate_discount_from = self::$config->getConfig('calculate_discount_from', 'sale_price');
277
  if ($calculate_discount_from == 'regular_price') {
278
  $product_price = self::$woocommerce_helper->getProductRegularPrice($product);
 
 
 
 
279
  $price_html = self::$woocommerce_helper->formatPrice($product_price);
280
  return $price_html.Woocommerce::getProductPriceSuffix($product, $product_price);
281
  }
@@ -386,6 +395,12 @@ class ManageDiscount extends Base
386
  }
387
  $discount_prices_lists = array_unique($discount_prices_lists);
388
  $original_prices_list = array_unique($original_prices_list);
 
 
 
 
 
 
389
  $min_price = min($discount_prices_lists);
390
  $max_price = max($discount_prices_lists);
391
  $min_original_price = min($original_prices_list);
@@ -549,12 +564,13 @@ class ManageDiscount extends Base
549
  //calculate original price quantities discount.
550
 
551
  if (!empty($other_discounts)) {
552
- $discounted_price = $original_price - $other_discounts;
 
553
  //$discounted_price = $calculator->mayHaveTax($product_obj, $discounted_price);
554
  if ($discounted_price < 0) {
555
  $discounted_price = 0;
556
  }
557
- $calculate_product_price[] = $discounted_price * $not_applied;
558
  if(!empty($original_price)){
559
  $original_price_with_tax_call = $calculator->mayHaveTax($product_obj, $original_price);
560
  }
@@ -891,7 +907,7 @@ class ManageDiscount extends Base
891
  //get discount details per product
892
  $discount_details = (isset($total_discounts[$key])) ? $total_discounts[$key] : array();
893
  $item_price = $this->getSetDiscountItemPriceHtml($discount_details, $initial_price, $discounted_price, $product_obj, $price_html = false, $item_quantity);
894
- if ($item_price) {
895
  $price = $item_price;
896
  $saved_amount = (($initial_price-$item_price)*$item_quantity);
897
  self::$calculated_cart_item_discount[$key]['saved_amount'] = $saved_amount;
@@ -1427,8 +1443,9 @@ class ManageDiscount extends Base
1427
  function getSetDiscountItemPriceHtml($discount_details, $initial_price, $discounted_price, $product_obj, $price_html, $cart_item_qty=0, $ajax_price = false)
1428
  {
1429
  if (is_array($discount_details) && !empty($discount_details)) {
 
1430
  $calculator = self::$calculator;
1431
- $other_discounts = $total_discount_price = $total_quantity = $current_product_quantity = $discount_operator = 0;
1432
  $partially_qualified_set = array();
1433
  $partially_qualified_set_amount_duplicate = array();
1434
  $apply_full_set = false;
@@ -1441,7 +1458,35 @@ class ManageDiscount extends Base
1441
  $bogo_cheap_in_category = isset($detail['buy_x_get_y_cheapest_from_categories_discount']) ? $detail['buy_x_get_y_cheapest_from_categories_discount'] : '';
1442
  $bogo_auto_add = isset($detail['buy_x_get_y_discount']) ? $detail['buy_x_get_y_discount'] : '';
1443
  $bogo_getx = isset($detail['buy_x_get_x_discount']) ? $detail['buy_x_get_x_discount'] : '';
1444
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1445
  if(!empty($bogo_cheap_in_cart)){
1446
  $bogo_cheapest_discount = isset($bogo_cheap_in_cart['discount_price_per_quantity']) ? $bogo_cheap_in_cart['discount_price_per_quantity'] : 0;
1447
  $bogo_cheapest_quantity = isset($bogo_cheap_in_cart['discount_quantity']) ? $bogo_cheap_in_cart['discount_quantity'] : 0;
@@ -1519,7 +1564,7 @@ class ManageDiscount extends Base
1519
  }
1520
 
1521
  }
1522
- $other_discounts += $simple_discount + $bulk_discounts + $fully_qualified_set + $bogo_cheapest_full_matched_set;
1523
  }
1524
  $initial_price_with_tax_call = $discounted_price_with_tax_call = 0;
1525
  if (empty($partially_qualified_set) || $apply_full_set == true) {
@@ -1549,7 +1594,11 @@ class ManageDiscount extends Base
1549
 
1550
  return $item_price.Woocommerce::getProductPriceSuffix($product_obj, $discounted_price_with_tax_call);
1551
  } else {
1552
- return false;
 
 
 
 
1553
  }
1554
  } else {
1555
  $original_item_price_html = $this->getSetStrikeoutPrice($initial_price, $partially_qualified_set, $total_discount_price, $other_discounts, $total_quantity, $product_obj, $price_html, $current_product_quantity, $discount_operator, $partially_qualified_set_amount_duplicate, $multi_strikeout);
@@ -1560,6 +1609,54 @@ class ManageDiscount extends Base
1560
  }
1561
  }
1562
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1563
  /**
1564
  * Calculate discount for product or calculate discount from custom price
1565
  * @param $price
175
  }
176
  return $price_html;
177
  }
178
+ $disable_strikeout_for_product_types = apply_filters('advanced_woo_discount_rules_disable_strikeout_for_product_types', array('grouped'), $product, $ajax_price);
179
+ if (self::$woocommerce_helper->productTypeIs($product, $disable_strikeout_for_product_types)) {
180
+ return $price_html;
181
+ }
182
+
183
  // $initial_price_html = $price_html;
184
  $initial_price_html = $this->getCalculateDiscountPriceFrom($product, $price_html, $ajax_price);
185
 
281
  $calculate_discount_from = self::$config->getConfig('calculate_discount_from', 'sale_price');
282
  if ($calculate_discount_from == 'regular_price') {
283
  $product_price = self::$woocommerce_helper->getProductRegularPrice($product);
284
+ $calculator = self::$calculator;
285
+ if(!empty($product_price)){
286
+ $product_price = $calculator->mayHaveTax($product, $product_price);
287
+ }
288
  $price_html = self::$woocommerce_helper->formatPrice($product_price);
289
  return $price_html.Woocommerce::getProductPriceSuffix($product, $product_price);
290
  }
395
  }
396
  $discount_prices_lists = array_unique($discount_prices_lists);
397
  $original_prices_list = array_unique($original_prices_list);
398
+ if(empty($discount_prices_lists)){
399
+ return $price_html;
400
+ }
401
+ if(empty($original_prices_list)){
402
+ return $price_html;
403
+ }
404
  $min_price = min($discount_prices_lists);
405
  $max_price = max($discount_prices_lists);
406
  $min_original_price = min($original_prices_list);
564
  //calculate original price quantities discount.
565
 
566
  if (!empty($other_discounts)) {
567
+ $calculate_product_price_total = $original_price * $not_applied;
568
+ $discounted_price = $calculate_product_price_total - $other_discounts;
569
  //$discounted_price = $calculator->mayHaveTax($product_obj, $discounted_price);
570
  if ($discounted_price < 0) {
571
  $discounted_price = 0;
572
  }
573
+ $calculate_product_price[] = $discounted_price;
574
  if(!empty($original_price)){
575
  $original_price_with_tax_call = $calculator->mayHaveTax($product_obj, $original_price);
576
  }
907
  //get discount details per product
908
  $discount_details = (isset($total_discounts[$key])) ? $total_discounts[$key] : array();
909
  $item_price = $this->getSetDiscountItemPriceHtml($discount_details, $initial_price, $discounted_price, $product_obj, $price_html = false, $item_quantity);
910
+ if ($item_price !== false) {
911
  $price = $item_price;
912
  $saved_amount = (($initial_price-$item_price)*$item_quantity);
913
  self::$calculated_cart_item_discount[$key]['saved_amount'] = $saved_amount;
1443
  function getSetDiscountItemPriceHtml($discount_details, $initial_price, $discounted_price, $product_obj, $price_html, $cart_item_qty=0, $ajax_price = false)
1444
  {
1445
  if (is_array($discount_details) && !empty($discount_details)) {
1446
+ $bogo_cheapest_aditional = array();
1447
  $calculator = self::$calculator;
1448
+ $other_discounts = $total_discount_price = $total_quantity = $current_product_quantity = $discount_operator = $bogo_cheapest_aditional_sum = 0;
1449
  $partially_qualified_set = array();
1450
  $partially_qualified_set_amount_duplicate = array();
1451
  $apply_full_set = false;
1458
  $bogo_cheap_in_category = isset($detail['buy_x_get_y_cheapest_from_categories_discount']) ? $detail['buy_x_get_y_cheapest_from_categories_discount'] : '';
1459
  $bogo_auto_add = isset($detail['buy_x_get_y_discount']) ? $detail['buy_x_get_y_discount'] : '';
1460
  $bogo_getx = isset($detail['buy_x_get_x_discount']) ? $detail['buy_x_get_x_discount'] : '';
1461
+ $buy_x_get_y_cheapest_additional = isset($detail['buy_x_get_y_cheapest_in_cart_discount']['additional_discounts']) ? $detail['buy_x_get_y_cheapest_in_cart_discount']['additional_discounts'] : '';
1462
+ if(!empty($buy_x_get_y_cheapest_additional)){
1463
+ $all_matched_rule = self::$config->getConfig('apply_product_discount_to', 'biggest_discount');//all
1464
+ foreach ($buy_x_get_y_cheapest_additional as $aditional){
1465
+ if($all_matched_rule != 'all' && $price_html){
1466
+ $price_html = $this->buy_x_get_y_cheapest_additional_strike_out($product_obj, $bogo_cheap_in_cart, $initial_price, $cart_item_qty);
1467
+ if(!empty($price_html)){
1468
+ return $price_html;
1469
+ }
1470
+ }
1471
+ $bogo_cheapest_discount_aditional = isset($aditional['discount_price_per_quantity']) ? $aditional['discount_price_per_quantity'] : 0;
1472
+ $bogo_cheapest_quantity_aditional = isset($aditional['discount_quantity']) ? $aditional['discount_quantity'] : 0;
1473
+ $bogo_cheapest_aditional[] = $bogo_cheapest_discount_aditional*$bogo_cheapest_quantity_aditional;
1474
+ }
1475
+ if($all_matched_rule == 'all' && !empty($cart_item_qty)){
1476
+ $bogo_cheapest_discount_extra = isset($bogo_cheap_in_cart['discount_price_per_quantity']) ? $bogo_cheap_in_cart['discount_price_per_quantity'] : 0;
1477
+ $bogo_cheapest_quantity_extra = isset($bogo_cheap_in_cart['discount_quantity']) ? $bogo_cheap_in_cart['discount_quantity'] : 0;
1478
+ $bogo_cheapest_aditional_discount = array_sum($bogo_cheapest_aditional);
1479
+ if($bogo_cheapest_quantity_extra > 1){
1480
+ $bogo_cheapest_quantity_extra = (int)$bogo_cheapest_quantity_extra - 1;
1481
+ $bogo_cheapest_aditional_discount += $bogo_cheapest_discount_extra*$bogo_cheapest_quantity_extra;
1482
+ }
1483
+ $bogo_cheapest_aditional_discount = $bogo_cheapest_aditional_discount / $cart_item_qty;
1484
+ $discounted_price = $discounted_price-$bogo_cheapest_aditional_discount;
1485
+ $bogo_cheap_in_cart = array();
1486
+ }else{
1487
+ $bogo_cheapest_aditional_sum = array_sum($bogo_cheapest_aditional);
1488
+ }
1489
+ }
1490
  if(!empty($bogo_cheap_in_cart)){
1491
  $bogo_cheapest_discount = isset($bogo_cheap_in_cart['discount_price_per_quantity']) ? $bogo_cheap_in_cart['discount_price_per_quantity'] : 0;
1492
  $bogo_cheapest_quantity = isset($bogo_cheap_in_cart['discount_quantity']) ? $bogo_cheap_in_cart['discount_quantity'] : 0;
1564
  }
1565
 
1566
  }
1567
+ $other_discounts += $simple_discount + $bulk_discounts + $fully_qualified_set + $bogo_cheapest_full_matched_set + $bogo_cheapest_aditional_sum;
1568
  }
1569
  $initial_price_with_tax_call = $discounted_price_with_tax_call = 0;
1570
  if (empty($partially_qualified_set) || $apply_full_set == true) {
1594
 
1595
  return $item_price.Woocommerce::getProductPriceSuffix($product_obj, $discounted_price_with_tax_call);
1596
  } else {
1597
+ if($discounted_price < 0){
1598
+ $discounted_price = 0;
1599
+ }
1600
+ return $discounted_price;
1601
+ ///return false;
1602
  }
1603
  } else {
1604
  $original_item_price_html = $this->getSetStrikeoutPrice($initial_price, $partially_qualified_set, $total_discount_price, $other_discounts, $total_quantity, $product_obj, $price_html, $current_product_quantity, $discount_operator, $partially_qualified_set_amount_duplicate, $multi_strikeout);
1609
  }
1610
  }
1611
 
1612
+ /**
1613
+ * buy_x_get_y_cheapest_additional_strike_out
1614
+ * @param $product_obj
1615
+ * @param $bogo_cheap_in_cart
1616
+ * @param $initial_price
1617
+ * @param $cart_item_qty
1618
+ * @return string
1619
+ */
1620
+ public function buy_x_get_y_cheapest_additional_strike_out($product_obj, $bogo_cheap_in_cart, $initial_price, $cart_item_qty)
1621
+ {
1622
+ $price_html = $original_price_with_tax_call = $discounted_price_with_tax_call = '';
1623
+ $bogo_cheap_in_cart_first_discount = isset($bogo_cheap_in_cart['discount_price_per_quantity']) ? $bogo_cheap_in_cart['discount_price_per_quantity'] : 0;
1624
+ $bogo_cheap_in_cart_first_discount_qty = isset($bogo_cheap_in_cart['discount_quantity']) ? $bogo_cheap_in_cart['discount_quantity'] : 0;
1625
+ $discounted_price = $bogo_cheap_in_cart_first_discount * $bogo_cheap_in_cart_first_discount_qty;
1626
+ $discounted_price = $initial_price - $discounted_price;
1627
+ if(!empty($initial_price)){
1628
+ $original_price_with_tax_call = self::$calculator->mayHaveTax($product_obj, $initial_price);
1629
+ }
1630
+ if(!empty($discounted_price)){
1631
+ $discounted_price_with_tax_call = self::$calculator->mayHaveTax($product_obj, $discounted_price);
1632
+ }
1633
+ $price_suffix = Woocommerce::getProductPriceSuffix($product_obj, $discounted_price_with_tax_call);
1634
+ $price_html .= '<del>' . self::$woocommerce_helper->formatPrice($original_price_with_tax_call) . '</del>&nbsp;<ins>' . self::$woocommerce_helper->formatPrice($discounted_price_with_tax_call) .$price_suffix. '&nbsp;x&nbsp;' . $bogo_cheap_in_cart_first_discount_qty . '</ins><br/>';
1635
+ $bogo_cheap_in_cart_total_discount_qty[] = $bogo_cheap_in_cart_first_discount_qty;
1636
+ $bogo_cheap_in_cart_additional_discounts = $bogo_cheap_in_cart['additional_discounts'];
1637
+ foreach ($bogo_cheap_in_cart_additional_discounts as $additional_discount){
1638
+ $bogo_cheapest_discount_aditional = isset($additional_discount['discount_price_per_quantity']) ? $additional_discount['discount_price_per_quantity'] : 0;
1639
+ $bogo_cheapest_quantity_aditional = isset($additional_discount['discount_quantity']) ? $additional_discount['discount_quantity'] : 0;
1640
+
1641
+ $discounted_price = $bogo_cheapest_discount_aditional * $bogo_cheapest_quantity_aditional;
1642
+ $discounted_price = $initial_price - $discounted_price;
1643
+ if(!empty($discounted_price)){
1644
+ $discounted_price_with_tax_call = self::$calculator->mayHaveTax($product_obj, $discounted_price);
1645
+ }
1646
+ $price_suffix = Woocommerce::getProductPriceSuffix($product_obj, $discounted_price_with_tax_call);
1647
+ $price_html .= '<del>' . self::$woocommerce_helper->formatPrice($original_price_with_tax_call) . '</del>&nbsp;<ins>' . self::$woocommerce_helper->formatPrice($discounted_price_with_tax_call) .$price_suffix. '&nbsp;x&nbsp;' . $bogo_cheapest_quantity_aditional . '</ins><br/>';
1648
+
1649
+ $bogo_cheap_in_cart_total_discount_qty[] = $bogo_cheapest_quantity_aditional;
1650
+ }
1651
+ $discount_applied_qty = array_sum($bogo_cheap_in_cart_total_discount_qty);
1652
+ if($discount_applied_qty < $cart_item_qty){
1653
+ $not_applied = $cart_item_qty - $discount_applied_qty;
1654
+ $price_suffix = Woocommerce::getProductPriceSuffix($product_obj, $original_price_with_tax_call);
1655
+ $price_html .= '<ins>' . self::$woocommerce_helper->formatPrice($original_price_with_tax_call) .$price_suffix. '&nbsp;x&nbsp;' . $not_applied . '</ins>';
1656
+ }
1657
+ return $price_html;
1658
+ }
1659
+
1660
  /**
1661
  * Calculate discount for product or calculate discount from custom price
1662
  * @param $price
v2/App/Helpers/Helper.php CHANGED
@@ -140,4 +140,74 @@ class Helper
140
  public static function clearPromotionMessages(){
141
  Woocommerce::setSession('awdr_promotion_messages', array());
142
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
143
  }
140
  public static function clearPromotionMessages(){
141
  Woocommerce::setSession('awdr_promotion_messages', array());
142
  }
143
+
144
+ /**
145
+ * ruleConditionDescription
146
+ */
147
+ public static function ruleConditionDescription(){
148
+ return $content = "<p>". __('Include additional conditions (if necessary)', WDR_TEXT_DOMAIN)."</p>
149
+ <b>".__('Popular conditions:', WDR_TEXT_DOMAIN)."</b>
150
+ <span style='width: 100%; display: flex;'>
151
+ <span style='width: 45%; padding-right: 5px;'>
152
+ <ul class='awdr-bullet-style'>
153
+ <li ><a href=' https://docs.flycart.org/en/articles/3977542-subtotal-based-free-product-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=subtotal_documentation' target='_blank'>".__('Subtotal', WDR_TEXT_DOMAIN)."</a></li>
154
+ <li ><a href=' https://docs.flycart.org/en/articles/4203313-user-role-based-discount-rules-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=user_role_documentation' target='_blank'>".__('User role', WDR_TEXT_DOMAIN)."</a></li>
155
+ <li >".__('Days & Time', WDR_TEXT_DOMAIN)."</li>
156
+ <li >".__('Purchase History', WDR_TEXT_DOMAIN)."</li>
157
+ <li >".__('Payment Method', WDR_TEXT_DOMAIN)."</li>
158
+ </ul>
159
+ </span>
160
+ <span style='width: 45%;'>
161
+ <ul class='awdr-bullet-style'>
162
+ <li ><a href='https://docs.flycart.org/en/articles/4268595-activate-discount-rule-using-a-coupon-code-in-woocommerce-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=coupon_documentation' target='_blank'>". __('Coupon', WDR_TEXT_DOMAIN)."</a></li>
163
+ <li ><a href='https://docs.flycart.org/en/articles/4214869-customer-shipping-address-based-discount-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=shipping_address_documentation' target='_blank'>".__('Shipping Address', WDR_TEXT_DOMAIN)."</a></li>
164
+ <li>".__('Category Combination', WDR_TEXT_DOMAIN)."</li>
165
+ <li><a href='https://docs.flycart.org/en/articles/4164153-buy-product-a-b-and-get-discount-in-product-c-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=product_combination' target='_blank'>".__('Product Combination', WDR_TEXT_DOMAIN)."</a></li>
166
+ <li >".__('Quantities/Line items', WDR_TEXT_DOMAIN)."</li>
167
+
168
+
169
+ </ul>
170
+ </span>
171
+ </span>";
172
+ }
173
+
174
+ /**
175
+ * bogoToolTipDescriptionForIndividualProduct
176
+ * @return mixed
177
+ */
178
+ public static function bogoToolTipDescriptionForIndividualProduct(){
179
+ return $content = __("Individual Product :
180
+ This counts the total quantity of each product / line item separately.
181
+ Example:
182
+ If a customer wanted to buy 2 quantities of Product A, 3 quantities of Product B, then count will be maintained at the product level.
183
+ 2 - count of Product A
184
+ 3 - Count of Product B
185
+ In case of variable products, the count will be based on each variant because WooCommerce considers a variant as a product itself.", WDR_TEXT_DOMAIN);
186
+ }
187
+
188
+ /**
189
+ * bogoToolTipDescriptionForFilterTogether
190
+ * @return mixed
191
+ */
192
+ public static function bogoToolTipDescriptionForFilterTogether(){
193
+ return $content = __("Filter set above :
194
+ This will count the quantities of products set in the 'Filter' section.
195
+ Example: If you selected a few categories there, it will count the quantities of products in those categories added in cart. If you selected a few products in the filters section, then it will count the quantities together.
196
+ Example: Let’s say, you wanted to offer a Bulk Quantity discount for Category A and chosen Category A in the filters. So when a customer adds 1 quantity each of X, Y and Z from Category A, then the count here is 3.", WDR_TEXT_DOMAIN);
197
+ }
198
+
199
+ /**
200
+ * bogoToolTipDescriptionForvariants
201
+ * @return mixed
202
+ */
203
+ public static function bogoToolTipDescriptionForvariants(){
204
+ return $content = __('All variants in each product together :
205
+ Useful when applying discounts based on variable products and you want the quantity to be counted based on the parent product.
206
+ Example:
207
+ Say, you have Product A - Small, Medium, Large.
208
+ If a customer buys 2 of Product A - Small, 4 of Product A - Medium, 6 of Product A - Large, then the count will be: 6+4+2 = 12
209
+ ', WDR_TEXT_DOMAIN);
210
+ }
211
+
212
+
213
  }
v2/App/Helpers/Input.php CHANGED
@@ -175,7 +175,8 @@ class Input
175
  */
176
  protected function _clean_input_keys($str, $fatal = TRUE)
177
  {
178
- if (!preg_match('/^[a-z0-9:_\/|-]+$/i', $str)) {
 
179
  if ($fatal === TRUE) {
180
  return FALSE;
181
  } else {
@@ -183,7 +184,7 @@ class Input
183
  echo 'Disallowed Key Characters.';
184
  exit(7); // EXIT_USER_INPUT
185
  }
186
- }
187
  return $str;
188
  }
189
 
175
  */
176
  protected function _clean_input_keys($str, $fatal = TRUE)
177
  {
178
+ /* Commented this as it sanitize all request values which making conflict with other plugins */
179
+ /*if (!preg_match('/^[a-z0-9:_\/|-]+$/i', $str)) {
180
  if ($fatal === TRUE) {
181
  return FALSE;
182
  } else {
184
  echo 'Disallowed Key Characters.';
185
  exit(7); // EXIT_USER_INPUT
186
  }
187
+ }*/
188
  return $str;
189
  }
190
 
v2/App/Helpers/Rule.php CHANGED
@@ -197,7 +197,7 @@ class Rule
197
  $obj->product_adjustments = NULL;
198
  $obj->cart_adjustments = NULL;
199
  $obj->bogo_adjustments = NULL;
200
- $obj->bulk_adjustments = '{"operator":"product","type":"percentage","ranges":false,"table_message":""}';
201
  $obj->set_adjustments = '{"discount_type":"fixed_set_price","ranges":false,"table_message":""}';
202
  $obj->other_discounts = NULL;
203
  $obj->date_from = NULL;
197
  $obj->product_adjustments = NULL;
198
  $obj->cart_adjustments = NULL;
199
  $obj->bogo_adjustments = NULL;
200
+ $obj->bulk_adjustments = '{"operator":"product_cumulative","type":"percentage","ranges":false,"table_message":""}';
201
  $obj->set_adjustments = '{"discount_type":"fixed_set_price","ranges":false,"table_message":""}';
202
  $obj->other_discounts = NULL;
203
  $obj->date_from = NULL;
v2/App/Helpers/Woocommerce.php CHANGED
@@ -455,7 +455,9 @@ class Woocommerce
455
  static function getCart($recalculate_total = false)
456
  {
457
  if($recalculate_total){
458
- self::reCalculateCartTotal();
 
 
459
  }
460
  $cart = array();
461
  if (function_exists('WC')) {
455
  static function getCart($recalculate_total = false)
456
  {
457
  if($recalculate_total){
458
+ if(apply_filters('advanced_woo_discount_rules_do_recalculate_total', $recalculate_total)){
459
+ self::reCalculateCartTotal();
460
+ }
461
  }
462
  $cart = array();
463
  if (function_exists('WC')) {
v2/App/Models/DBTable.php CHANGED
@@ -458,7 +458,7 @@ class DBTable
458
  */
459
  public function updateTable(){
460
  //Version of currently activated plugin
461
- $current_version = '2.0.1';
462
  //Database version - this may need upgrading.
463
  $installed_version = get_option('awdr_activity_log_version');
464
  if( $installed_version != $current_version ){
458
  */
459
  public function updateTable(){
460
  //Version of currently activated plugin
461
+ $current_version = WDR_VERSION;
462
  //Database version - this may need upgrading.
463
  $installed_version = get_option('awdr_activity_log_version');
464
  if( $installed_version != $current_version ){
v2/App/Router.php CHANGED
@@ -51,6 +51,7 @@ class Router
51
  add_action('wp_ajax_wdr_admin_statistics', array( self::$chart_data_request, 'ajax' ));
52
  add_filter('woocommerce_screen_ids', function($screen_ids){
53
  $screen_ids[] = 'woocommerce_page_woo_discount_rules';
 
54
  return $screen_ids;
55
  });
56
  }
51
  add_action('wp_ajax_wdr_admin_statistics', array( self::$chart_data_request, 'ajax' ));
52
  add_filter('woocommerce_screen_ids', function($screen_ids){
53
  $screen_ids[] = 'woocommerce_page_woo_discount_rules';
54
+ $screen_ids[] = 'my-store_page_woo_discount_rules';
55
  return $screen_ids;
56
  });
57
  }
v2/App/Views/Admin/Rules/Conditions/Main.php CHANGED
@@ -1,12 +1,15 @@
1
  <?php
 
 
 
2
  if (!defined('ABSPATH')) {
3
  exit; // Exit if accessed directly
4
  }
5
  ?>
6
  <div class="wdr-rule-menu">
7
- <h2><?php _e('Rules (Optional)', WDR_TEXT_DOMAIN); ?></h2>
8
  <div class="awdr-rules-content">
9
- <p><?php _e('Include additional conditions (if necessary) to apply discount for product filters.', WDR_TEXT_DOMAIN); ?></p>
10
  </div>
11
  </div>
12
  <div class="wdr-rule-options-con"><?php
@@ -23,7 +26,7 @@ if (!defined('ABSPATH')) {
23
  value="and" <?php echo ($condition_relationship == 'and') ? 'checked' : '' ?>
24
  ><?php _e('Match All', WDR_TEXT_DOMAIN); ?></label>
25
  <label><input type="radio" name="additional[condition_relationship]"
26
- value="or" <?php echo ($condition_relationship == 'or') ? 'checked' : '' ?>><?php _e('Many Any', WDR_TEXT_DOMAIN); ?>
27
  </label>
28
  </div>
29
  <div class="wdr-condition-group-items">
@@ -112,7 +115,7 @@ if (!defined('ABSPATH')) {
112
  <label><input type="radio" name="additional[condition_relationship]"
113
  value="and" checked><?php _e('Match All', WDR_TEXT_DOMAIN); ?></label>
114
  <label><input type="radio" name="additional[condition_relationship]"
115
- value="or"><?php _e('Many Any', WDR_TEXT_DOMAIN); ?>
116
  </label>
117
  </div>
118
  <div class="wdr-condition-group-items">
1
  <?php
2
+
3
+ use Wdr\App\Helpers\Helper;
4
+
5
  if (!defined('ABSPATH')) {
6
  exit; // Exit if accessed directly
7
  }
8
  ?>
9
  <div class="wdr-rule-menu">
10
+ <h2><?php _e('Rules (Optional)', WDR_TEXT_DOMAIN); ?> - <span><a href="https://docs.flycart.org/en/articles/3834240-conditions-rules?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=rule_condition" target="_blank" style="font-size: 12px;"><?php _e('Read Docs', WDR_TEXT_DOMAIN); ?></a></span></h2>
11
  <div class="awdr-rules-content">
12
+ <?php echo Helper::ruleConditionDescription();?>
13
  </div>
14
  </div>
15
  <div class="wdr-rule-options-con"><?php
26
  value="and" <?php echo ($condition_relationship == 'and') ? 'checked' : '' ?>
27
  ><?php _e('Match All', WDR_TEXT_DOMAIN); ?></label>
28
  <label><input type="radio" name="additional[condition_relationship]"
29
+ value="or" <?php echo ($condition_relationship == 'or') ? 'checked' : '' ?>><?php _e('Match Any', WDR_TEXT_DOMAIN); ?>
30
  </label>
31
  </div>
32
  <div class="wdr-condition-group-items">
115
  <label><input type="radio" name="additional[condition_relationship]"
116
  value="and" checked><?php _e('Match All', WDR_TEXT_DOMAIN); ?></label>
117
  <label><input type="radio" name="additional[condition_relationship]"
118
+ value="or"><?php _e('Match Any', WDR_TEXT_DOMAIN); ?>
119
  </label>
120
  </div>
121
  <div class="wdr-condition-group-items">
v2/App/Views/Admin/Rules/DiscountBatch/Main.php CHANGED
@@ -7,14 +7,14 @@ if (!defined('ABSPATH')) {
7
  }
8
  $is_pro = Helper::hasPro();
9
  ?>
10
- <button class="awdr-accordion <?php echo ($badge_display) ? 'awdr-accordion-active' : ''; ?>"><?php _e("Discount Bar (Optional)", WDR_TEXT_DOMAIN); ?></button>
11
  <div class="awdr-discount-batch-container awdr-accordion-panel"
12
  style="<?php echo ($badge_display) ? 'display: block;' : ''; ?>">
13
  <div class="awdr-discount-batch-row">
14
  <div class="wdr-rule-filters-and-options-con">
15
  <div class="wdr-rule-menu">
16
  <div class="awdr-discount-bar-content">
17
- <p><?php _e("It helps to display discount information in product pages.", WDR_TEXT_DOMAIN); ?> <a href="https://docs.flycart.org/en/articles/3946529-discount-bar" target="_blank" ><?php _e("Read docs.", WDR_TEXT_DOMAIN); ?></a> </p>
18
  <b><?php _e('Preview', WDR_TEXT_DOMAIN); ?></b><br><br>
19
  <div class="awdr_admin_discount_bar awdr_row_0" style="background-color:<?php echo ($badge_bg_color) ? $badge_bg_color : '#ffffff' ?>;color:<?php echo ($badge_text_color) ? $badge_text_color : '#000000' ?>;">
20
  <?php echo ($badge_text) ? $badge_text : 'Discount Text'; ?>
7
  }
8
  $is_pro = Helper::hasPro();
9
  ?>
10
+ <button class="awdr-accordion <?php echo ($badge_display) ? 'awdr-accordion-active' : ''; ?>"><?php _e("Discount Bar (optional) - Display discount information", WDR_TEXT_DOMAIN); ?></button>
11
  <div class="awdr-discount-batch-container awdr-accordion-panel"
12
  style="<?php echo ($badge_display) ? 'display: block;' : ''; ?>">
13
  <div class="awdr-discount-batch-row">
14
  <div class="wdr-rule-filters-and-options-con">
15
  <div class="wdr-rule-menu">
16
  <div class="awdr-discount-bar-content">
17
+ <p><?php _e("It helps to display discount information in product pages.", WDR_TEXT_DOMAIN); ?> <a href="https://docs.flycart.org/en/articles/3946529-discount-bar?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=dicount_bar_inner" target="_blank" ><?php _e("Read docs.", WDR_TEXT_DOMAIN); ?></a> </p>
18
  <b><?php _e('Preview', WDR_TEXT_DOMAIN); ?></b><br><br>
19
  <div class="awdr_admin_discount_bar awdr_row_0" style="background-color:<?php echo ($badge_bg_color) ? $badge_bg_color : '#ffffff' ?>;color:<?php echo ($badge_text_color) ? $badge_text_color : '#000000' ?>;">
20
  <?php echo ($badge_text) ? $badge_text : 'Discount Text'; ?>
v2/App/Views/Admin/Rules/Discounts/Main.php CHANGED
@@ -14,16 +14,52 @@ if (!defined('ABSPATH')) {
14
  <div class="wdr-simple-discount-main wdr-bulk-discount-main">
15
  <div class="wdr-simple-discount-inner">
16
  <div class="bulk_general_adjustment wdr-select-filed-hight">
17
- <label class="label_font_weight"><?php _e('Count by:', WDR_TEXT_DOMAIN); ?></label>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  <select name="bulk_adjustments[operator]"
19
  class="wdr-bulk-type bulk_discount_select awdr_mode_of_operator">
20
- <option value="product_cumulative" <?php if ($bulk_adj_operator == 'product_cumulative') {
 
 
 
 
 
21
  echo 'selected';
22
  } ?>><?php _e('Filters set above', WDR_TEXT_DOMAIN) ?></option>
23
- <option value="product" <?php if ($bulk_adj_operator == 'product') {
 
 
 
 
 
 
24
  echo 'selected';
25
  } ?>><?php _e('Individual product', WDR_TEXT_DOMAIN) ?></option>
26
- <option value="variation" <?php if ($bulk_adj_operator == 'variation') {
 
 
 
27
  echo 'selected';
28
  } ?>><?php _e('All variants in each product together', WDR_TEXT_DOMAIN) ?></option>
29
  </select>
14
  <div class="wdr-simple-discount-main wdr-bulk-discount-main">
15
  <div class="wdr-simple-discount-inner">
16
  <div class="bulk_general_adjustment wdr-select-filed-hight">
17
+ <label class="label_font_weight"><?php _e('Count Quantities by:', WDR_TEXT_DOMAIN); ?> <span style="" class="woocommerce-help-tip" title="<?php _e("Filter set above :
18
+ This will count the quantities of products set in the “Filter” section.
19
+ Example: If you selected a few categories there, it will count the quantities of products in those categories added in cart. If you selected a few products in the filters section, then it will count the quantities together.
20
+
21
+ Example: Let’s say, you wanted to offer a Bulk Quantity discount for Category A and chosen Category A in the filters.
22
+
23
+ So when a customer adds 1 quantity each of X, Y and Z from Category A, then the count here is 3.
24
+
25
+ Individual Product :
26
+
27
+ This counts the total quantity of each product / line item separately.
28
+ Example : If a customer wanted to buy 2 quantities of Product A, 3 quantities of Product B, then count will be maintained at the product level.
29
+ 2 - count of Product A
30
+ 3 - Count of Product B
31
+
32
+ In case of variable products, the count will be based on each variant because WooCommerce considers a variant as a product itself.
33
+
34
+ All variants in each product together :
35
+ Useful when applying discounts based on variable products and you want the quantity to be counted based on the parent product.
36
+ Example:
37
+ Say, you have Product A - Small, Medium, Large.
38
+ If a customer buys 2 of Product A - Small, 4 of Product A - Medium, 6 of Product A - Large, then the count will be: 6+4+2 = 12
39
+ ", WDR_TEXT_DOMAIN); ?>"></span></label>
40
  <select name="bulk_adjustments[operator]"
41
  class="wdr-bulk-type bulk_discount_select awdr_mode_of_operator">
42
+ <option value="product_cumulative" title="<?php _e('This will count the quantities of products set in the “Filter” section.
43
+ Example: If you selected a few categories there, it will count the quantities of products in those categories added in cart. If you selected a few products in the filters section, then it will count the quantities together.
44
+
45
+ Example: Let’s say, you wanted to offer a Bulk Quantity discount for Category A and chosen Category A in the filters.
46
+
47
+ So when a customer adds 1 quantity each of X, Y and Z from Category A, then the count here is 3.', WDR_TEXT_DOMAIN) ?>" <?php if ($bulk_adj_operator == 'product_cumulative') {
48
  echo 'selected';
49
  } ?>><?php _e('Filters set above', WDR_TEXT_DOMAIN) ?></option>
50
+ <option title="<?php _e('This counts the total quantity of each product / line item separately.
51
+ Example : If a customer wanted to buy 2 quantities of Product A, 3 quantities of Product B, then count will be maintained at the product level.
52
+ 2 - count of Product A
53
+ 3 - Count of Product B
54
+
55
+ In case of variable products, the count will be based on each variant because WooCommerce considers a variant as a product itself.
56
+ ', WDR_TEXT_DOMAIN) ?>" value="product" <?php if ($bulk_adj_operator == 'product') {
57
  echo 'selected';
58
  } ?>><?php _e('Individual product', WDR_TEXT_DOMAIN) ?></option>
59
+ <option title="<?php _e('Useful when applying discounts based on variable products and you want the quantity to be counted based on the parent product.
60
+ Example:
61
+ Say, you have Product A - Small, Medium, Large.
62
+ If a customer buys 2 of Product A - Small, 4 of Product A - Medium, 6 of Product A - Large, then the count will be: 6+4+2 = 12', WDR_TEXT_DOMAIN) ?>" value="variation" <?php if ($bulk_adj_operator == 'variation') {
63
  echo 'selected';
64
  } ?>><?php _e('All variants in each product together', WDR_TEXT_DOMAIN) ?></option>
65
  </select>
v2/App/Views/Admin/Rules/Manage.php CHANGED
@@ -128,6 +128,13 @@
128
  }
129
  } ?>
130
  </select>
 
 
 
 
 
 
 
131
  </div>
132
  </div>
133
  </div>
128
  }
129
  } ?>
130
  </select>
131
+ <sub><a href="https://docs.flycart.org/en/articles/3788550-product-adjustment-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=product_adjustment_document" target="_blank" class="awdr_doc_wdr_simple_discount" style="<?php echo ($rule_discount_type != 'wdr_simple_discount') ? 'display: none' : '';?>"><?php _e("Read Docs", WDR_TEXT_DOMAIN); ?></a></sub>
132
+ <sub><a href="https://docs.flycart.org/en/articles/3806593-cart-adjustment-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=cart_adjustment_document" target="_blank" class="awdr_doc_wdr_cart_discount" style="<?php echo ($rule_discount_type != 'wdr_cart_discount') ? 'display: none' : '';?>"><?php _e("Read Docs", WDR_TEXT_DOMAIN); ?></a></sub>
133
+ <sub><a href="https://docs.flycart.org/en/articles/3807036-free-shipping-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=free_shipping_document" target="_blank" class="awdr_doc_wdr_free_shipping" style="<?php echo ($rule_discount_type != 'wdr_free_shipping') ? 'display: none' : '';?>"><?php _e("Read Docs", WDR_TEXT_DOMAIN); ?></a></sub>
134
+ <sub><a href="https://docs.flycart.org/en/articles/3807208-bulk-discounts-or-tiered-pricings-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=bulk_adjustment_document" target="_blank" class="awdr_doc_wdr_bulk_discount" style="<?php echo ($rule_discount_type != 'wdr_bulk_discount') ? 'display: none' : '';?>"><?php _e("Read Docs", WDR_TEXT_DOMAIN); ?></a></sub>
135
+ <sub><a href="https://docs.flycart.org/en/articles/3809899-bundle-set-discount-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=set_bundle_adjustment_document" target="_blank" class="awdr_doc_wdr_set_discount" style="<?php echo ($rule_discount_type != 'wdr_set_discount') ? 'display: none' : '';?>"><?php _e("Read Docs", WDR_TEXT_DOMAIN); ?></a></sub>
136
+ <sub><a href="https://docs.flycart.org/en/articles/3810071-buy-one-get-one-free-buy-x-get-x-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=bxgx_adjustment" target="_blank" class="awdr_doc_wdr_buy_x_get_x_discount" style="<?php echo ($rule_discount_type != 'wdr_buy_x_get_x_discount') ? 'display: none' : '';?>"><?php _e("Read Docs", WDR_TEXT_DOMAIN); ?></a></sub>
137
+ <sub><a href="https://docs.flycart.org/en/articles/3810570-buy-x-get-y-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=bxgy_adjustment_document" target="_blank" class="awdr_doc_wdr_buy_x_get_y_discount" style="<?php echo ($rule_discount_type != 'wdr_buy_x_get_y_discount') ? 'display: none' : '';?>"><?php _e("Read Docs", WDR_TEXT_DOMAIN); ?></a></sub>
138
  </div>
139
  </div>
140
  </div>
v2/App/Views/Admin/Tabs/DiscountRule.php CHANGED
@@ -52,7 +52,7 @@ $is_pro = \Wdr\App\Helpers\Helper::hasPro();
52
  </div>
53
  <?php
54
  }?>
55
- <a href="https://docs.flycart.org/en/collections/2195266-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=examples#commonly-asked-scenarios" target="_blank"
56
  class="btn btn-info text-right" style="float: right"><?php _e('View Examples', WDR_TEXT_DOMAIN); ?></a>
57
  <a href="https://docs.flycart.org/en/collections/2195266-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=documentation" target="_blank"
58
  class="btn btn-info text-right" style="float: right"><?php _e('Documentation', WDR_TEXT_DOMAIN); ?></a>
52
  </div>
53
  <?php
54
  }?>
55
+ <a href="https://www.flycart.org/woocommerce-discount-rules-examples?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=examples#commonly-asked-scenarios" target="_blank"
56
  class="btn btn-info text-right" style="float: right"><?php _e('View Examples', WDR_TEXT_DOMAIN); ?></a>
57
  <a href="https://docs.flycart.org/en/collections/2195266-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=documentation" target="_blank"
58
  class="btn btn-info text-right" style="float: right"><?php _e('Documentation', WDR_TEXT_DOMAIN); ?></a>
v2/App/Views/Admin/Tabs/ImportExport.php CHANGED
@@ -1,6 +1,7 @@
1
  <?php
2
  if (!defined('ABSPATH')) exit;
3
  use Wdr\App\Models\DBTable;
 
4
  ?>
5
  <br>
6
  <div class="wdr_settings ui-page-theme-a awdr-container">
@@ -19,7 +20,8 @@ use Wdr\App\Models\DBTable;
19
  </div>
20
  </div>
21
  </div>
22
- <div class="wdr_settings_container" >
 
23
  <div>
24
  <h3><?php _e('Import Tool', WDR_TEXT_DOMAIN);?></h3>
25
  <div><?php
@@ -132,5 +134,15 @@ use Wdr\App\Models\DBTable;
132
  </form>
133
  </div>
134
  </div>
135
- </div>
 
 
 
 
 
 
 
 
 
 
136
  </div>
1
  <?php
2
  if (!defined('ABSPATH')) exit;
3
  use Wdr\App\Models\DBTable;
4
+ $is_pro_activated = isset($is_pro_activated) ? $is_pro_activated : false;
5
  ?>
6
  <br>
7
  <div class="wdr_settings ui-page-theme-a awdr-container">
20
  </div>
21
  </div>
22
  </div>
23
+ <?php if($is_pro_activated){ ?>
24
+ <div class="wdr_settings_container" >
25
  <div>
26
  <h3><?php _e('Import Tool', WDR_TEXT_DOMAIN);?></h3>
27
  <div><?php
134
  </form>
135
  </div>
136
  </div>
137
+ </div><?php
138
+
139
+ }else{?>
140
+ <div class="wdr_settings_container" >
141
+ <div>
142
+ <h3><?php _e('Import Tool', WDR_TEXT_DOMAIN);?></h3>
143
+ <p><?php _e('Unlock this feature by <a href="https://www.flycart.org/products/wordpress/woocommerce-discount-rules" target="_blank">Upgrading to Pro</a>', WDR_TEXT_DOMAIN);?> </p>
144
+ </div>
145
+ </div><?php
146
+ }
147
+ ?>
148
  </div>
v2/App/Views/Admin/Tabs/settings.php CHANGED
@@ -21,7 +21,7 @@
21
  <tr>
22
  <td scope="row">
23
  <label for="calculate_discount_from" class="awdr-left-align"><?php _e('Calculate discount from', WDR_TEXT_DOMAIN) ?></label>
24
- <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('sale price or regular price', WDR_TEXT_DOMAIN); ?></span>
25
  </td>
26
  <td>
27
  <select name="calculate_discount_from">
@@ -61,7 +61,7 @@
61
  </tr>
62
  <tr>
63
  <td scope="row">
64
- <label for="disable_coupon_when_rule_applied" class="awdr-left-align"><?php _e('Choose how discount rules should work', WDR_TEXT_DOMAIN) ?></label>
65
  <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Choose how discount rules should work when WooCommerce coupons (or third party) coupons are used?', WDR_TEXT_DOMAIN); ?></span>
66
  </td>
67
  <td>
@@ -118,7 +118,7 @@
118
  <tr>
119
  <td scope="row">
120
  <label for="" class="awdr-left-align"><?php _e('On-sale badge', WDR_TEXT_DOMAIN) ?></label>
121
- <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('show on-sale badge', WDR_TEXT_DOMAIN); ?></span>
122
  </td>
123
  <td>
124
  <?php
@@ -165,7 +165,7 @@
165
  <tr>
166
  <td scope="row">
167
  <label for="" class="awdr-left-align"><?php _e('Show discount table ', WDR_TEXT_DOMAIN) ?></label>
168
- <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Show discount table on product page', WDR_TEXT_DOMAIN); ?></span>
169
  </td>
170
  <td>
171
  <input type="radio" name="show_bulk_table" id="show_bulk_table_layout" class="bulk_table_layout settings_option_show_hide"
@@ -236,7 +236,7 @@
236
  <tr>
237
  <td scope="row">
238
  <label for="" class="awdr-left-align"><?php _e('Show Strikeout when', WDR_TEXT_DOMAIN) ?></label>
239
- <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Show Strikeout when this option is matched', WDR_TEXT_DOMAIN); ?></span>
240
  </td>
241
  <td>
242
  <select name="show_strikeout_when">
@@ -347,7 +347,7 @@
347
  <tr>
348
  <td scope="row">
349
  <label for="display_saving_text" class="awdr-left-align"><?php _e('Display you saved text', WDR_TEXT_DOMAIN) ?></label>
350
- <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Display you saved text when rule applied', WDR_TEXT_DOMAIN); ?></span>
351
  </td>
352
  <td>
353
  <select name="display_saving_text" class="settings_option_show_hide_on_change">
@@ -410,7 +410,7 @@
410
  <span class="wdr_desc_text awdr-clear-both"><?php _e('A static banner you that you want to display in your storefront. <br><br> <b>NOTE:</b> It is a static banner. You can use any content or html here.', WDR_TEXT_DOMAIN); ?></span>
411
  </td>
412
  <td>
413
- <?php _e("Unlock this feature by <a href='https://www.flycart.org/products/wordpress/woocommerce-discount-rules' target='_blank'>Upgrading to Pro</a>", WDR_TEXT_DOMAIN); ?>
414
  </td>
415
  </tr>
416
  <tr class="" style="">
@@ -419,7 +419,7 @@
419
  class="awdr-left-align"><?php _e('Banner Content display position', WDR_TEXT_DOMAIN) ?></label>
420
  <span class="wdr_desc_text awdr-clear-both"><?php _e('Choose a display position for the banner in your storefront', WDR_TEXT_DOMAIN); ?></span>
421
  </td>
422
- <td><?php _e("Unlock this feature by <a href='https://www.flycart.org/products/wordpress/woocommerce-discount-rules' target='_blank'>Upgrading to Pro</a>", WDR_TEXT_DOMAIN); ?></td>
423
  </tr>
424
  <?php } ?>
425
 
@@ -428,7 +428,7 @@
428
  ?>
429
  </tbody>
430
  </table>
431
- <h1><?php _e('On-Sale page', WDR_TEXT_DOMAIN); ?></h1>
432
  <table class="wdr-general-setting form-table">
433
  <tbody style="background-color: #fff;">
434
  <tr>
@@ -482,7 +482,7 @@
482
  </div>
483
  <button type="button" class="btn btn-warning" id="awdr_rebuild_on_sale_list"><?php _e('Save and Build Index', WDR_TEXT_DOMAIN ); ?></button>
484
  <?php } else {
485
- _e("Unlock this feature by <a href='https://www.flycart.org/products/wordpress/woocommerce-discount-rules' target='_blank'>Upgrading to Pro</a>", WDR_TEXT_DOMAIN);
486
  }?>
487
  </td>
488
  </tr>
@@ -545,7 +545,7 @@
545
  <input type="checkbox" name="table_title_column" value="1" class="bulk_table_customizer_show_hide_column"
546
  data-colname="popup_table_title_column"
547
  <?php echo($configuration->getConfig('table_title_column', 1) ? 'checked' : '') ?>>
548
- <input type="text" class="awdr_popup_col_name_text_box awdr_popup_col_title_keyup" data-keyup="title_on_keyup" name="table_title_column_name" value="<?php echo $configuration->getConfig('table_title_column_name', 'Title');?>">
549
  </td>
550
  </tr>
551
  <tr class="">
@@ -557,7 +557,7 @@
557
  <input type="checkbox" name="table_discount_column" value="1" class="bulk_table_customizer_show_hide_column"
558
  data-colname="popup_table_discount_column"
559
  <?php echo($configuration->getConfig('table_discount_column', 1) ? 'checked' : '') ?>>
560
- <input type="text" class="awdr_popup_col_name_text_box" data-keyup="discount_on_keyup" name="table_discount_column_name" value="<?php echo $configuration->getConfig('table_discount_column_name', 'Discount');?>">
561
  </td>
562
  </tr>
563
  <tr class="">
@@ -569,7 +569,7 @@
569
  <input type="checkbox" name="table_range_column" value="1" class="bulk_table_customizer_show_hide_column"
570
  data-colname="popup_table_range_column"
571
  <?php echo($configuration->getConfig('table_range_column', 1) ? 'checked' : '') ?>>
572
- <input type="text" class="awdr_popup_col_name_text_box" data-keyup="range_on_keyup" name="table_range_column_name" value="<?php echo $configuration->getConfig('table_range_column_name', 'Range');?>">
573
  </td>
574
  </tr>
575
  <tr class="">
@@ -578,12 +578,12 @@
578
  <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Show Discount value/price in table', WDR_TEXT_DOMAIN); ?></span>
579
  </th>
580
  <td>
581
- <input type="radio" name="table_discount_column_value" id="show_table_discount_column_value" class="popup_table_discount_column_value"
582
  value="1" <?php echo($configuration->getConfig('table_discount_column_value', 1) ? 'checked' : '') ?>><label
583
- for="show_table_discount_column_value"><?php _e('Discount Value', WDR_TEXT_DOMAIN); ?></label>
584
- <input type="radio" name="table_discount_column_value" id="dont_show_table_discount_column_value" class="popup_table_discount_column_value"
585
  value="0" <?php echo(!$configuration->getConfig('table_discount_column_value', 1) ? 'checked' : '') ?>><label
586
- for="dont_show_table_discount_column_value"><?php _e("Discounted Price", WDR_TEXT_DOMAIN); ?></label>
587
  </td>
588
  </tr>
589
  <!-- <tr>
21
  <tr>
22
  <td scope="row">
23
  <label for="calculate_discount_from" class="awdr-left-align"><?php _e('Calculate discount from', WDR_TEXT_DOMAIN) ?></label>
24
+ <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('sale price or regular price', WDR_TEXT_DOMAIN); ?> - <a href="https://docs.flycart.org/en/articles/4167066-discount-based-on-regular-price-sale-price-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=sale_regular_price_settings" target="_blank"><?php esc_html_e('Read Docs', WDR_TEXT_DOMAIN); ?></a></span>
25
  </td>
26
  <td>
27
  <select name="calculate_discount_from">
61
  </tr>
62
  <tr>
63
  <td scope="row">
64
+ <label for="disable_coupon_when_rule_applied" class="awdr-left-align"><?php _e('Choose how discount rules should work', WDR_TEXT_DOMAIN) ?> - <a href=" https://docs.flycart.org/en/articles/4178875-choose-how-discount-rules-should-work-when-woocommerce-coupons-are-used-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=choose_how_discount_rules_works_setting" target="_blank"><?php esc_html_e('Read Docs', WDR_TEXT_DOMAIN); ?></a></label>
65
  <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Choose how discount rules should work when WooCommerce coupons (or third party) coupons are used?', WDR_TEXT_DOMAIN); ?></span>
66
  </td>
67
  <td>
118
  <tr>
119
  <td scope="row">
120
  <label for="" class="awdr-left-align"><?php _e('On-sale badge', WDR_TEXT_DOMAIN) ?></label>
121
+ <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('show on-sale badge', WDR_TEXT_DOMAIN); ?> - <a href="https://docs.flycart.org/en/articles/4098969-sale-page-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=show_on_sale_badge_setting" target="_blank"><?php esc_html_e('Read Docs', WDR_TEXT_DOMAIN); ?></a></span>
122
  </td>
123
  <td>
124
  <?php
165
  <tr>
166
  <td scope="row">
167
  <label for="" class="awdr-left-align"><?php _e('Show discount table ', WDR_TEXT_DOMAIN) ?></label>
168
+ <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Show discount table on product page', WDR_TEXT_DOMAIN); ?> - <a href="https://docs.flycart.org/en/articles/4230405-all-about-discount-table-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=show_discount_table_setting" target="_blank"><?php esc_html_e('Read Docs', WDR_TEXT_DOMAIN); ?></a></span>
169
  </td>
170
  <td>
171
  <input type="radio" name="show_bulk_table" id="show_bulk_table_layout" class="bulk_table_layout settings_option_show_hide"
236
  <tr>
237
  <td scope="row">
238
  <label for="" class="awdr-left-align"><?php _e('Show Strikeout when', WDR_TEXT_DOMAIN) ?></label>
239
+ <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Show Strikeout when this option is matched', WDR_TEXT_DOMAIN); ?> - <a href="https://docs.flycart.org/en/articles/4178894-display-discounted-price-with-strikethrough-on-default-prices-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=show_strike_out_setting" target="_blank"><?php esc_html_e('Read Docs', WDR_TEXT_DOMAIN); ?></a></span>
240
  </td>
241
  <td>
242
  <select name="show_strikeout_when">
347
  <tr>
348
  <td scope="row">
349
  <label for="display_saving_text" class="awdr-left-align"><?php _e('Display you saved text', WDR_TEXT_DOMAIN) ?></label>
350
+ <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Display you saved text when rule applied', WDR_TEXT_DOMAIN); ?> - <a href="https://docs.flycart.org/en/articles/4129525-display-you-saved-message-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=display_you_saved_text" target="_blank"><?php esc_html_e('Read Docs', WDR_TEXT_DOMAIN); ?></a></span>
351
  </td>
352
  <td>
353
  <select name="display_saving_text" class="settings_option_show_hide_on_change">
410
  <span class="wdr_desc_text awdr-clear-both"><?php _e('A static banner you that you want to display in your storefront. <br><br> <b>NOTE:</b> It is a static banner. You can use any content or html here.', WDR_TEXT_DOMAIN); ?></span>
411
  </td>
412
  <td>
413
+ <?php _e("Unlock this feature by <a href='https://www.flycart.org/products/wordpress/woocommerce-discount-rules?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=unlock_pro' target='_blank'>Upgrading to Pro</a>", WDR_TEXT_DOMAIN); ?>
414
  </td>
415
  </tr>
416
  <tr class="" style="">
419
  class="awdr-left-align"><?php _e('Banner Content display position', WDR_TEXT_DOMAIN) ?></label>
420
  <span class="wdr_desc_text awdr-clear-both"><?php _e('Choose a display position for the banner in your storefront', WDR_TEXT_DOMAIN); ?></span>
421
  </td>
422
+ <td><?php _e("Unlock this feature by <a href='https://www.flycart.org/products/wordpress/woocommerce-discount-rules?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=unlock_pro' target='_blank'>Upgrading to Pro</a>", WDR_TEXT_DOMAIN); ?></td>
423
  </tr>
424
  <?php } ?>
425
 
428
  ?>
429
  </tbody>
430
  </table>
431
+ <h1><?php _e('On-Sale page', WDR_TEXT_DOMAIN); ?> - <a href="https://docs.flycart.org/en/articles/4098969-sale-page-discount-rules-2-0?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=on_sale_page_settings" target="_blank"><?php esc_html_e('Read Docs', WDR_TEXT_DOMAIN); ?></a></h1>
432
  <table class="wdr-general-setting form-table">
433
  <tbody style="background-color: #fff;">
434
  <tr>
482
  </div>
483
  <button type="button" class="btn btn-warning" id="awdr_rebuild_on_sale_list"><?php _e('Save and Build Index', WDR_TEXT_DOMAIN ); ?></button>
484
  <?php } else {
485
+ _e("Unlock this feature by <a href='https://www.flycart.org/products/wordpress/woocommerce-discount-rules?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=unlock_pro' target='_blank'>Upgrading to Pro</a>", WDR_TEXT_DOMAIN);
486
  }?>
487
  </td>
488
  </tr>
545
  <input type="checkbox" name="table_title_column" value="1" class="bulk_table_customizer_show_hide_column"
546
  data-colname="popup_table_title_column"
547
  <?php echo($configuration->getConfig('table_title_column', 1) ? 'checked' : '') ?>>
548
+ <input type="text" style="width: 90% !important;" class="awdr_popup_col_name_text_box awdr_popup_col_title_keyup" data-keyup="title_on_keyup" name="table_title_column_name" value="<?php echo $configuration->getConfig('table_title_column_name', 'Title');?>">
549
  </td>
550
  </tr>
551
  <tr class="">
557
  <input type="checkbox" name="table_discount_column" value="1" class="bulk_table_customizer_show_hide_column"
558
  data-colname="popup_table_discount_column"
559
  <?php echo($configuration->getConfig('table_discount_column', 1) ? 'checked' : '') ?>>
560
+ <input type="text" style="width: 90% !important;" class="awdr_popup_col_name_text_box" data-keyup="discount_on_keyup" name="table_discount_column_name" value="<?php echo $configuration->getConfig('table_discount_column_name', 'Discount');?>">
561
  </td>
562
  </tr>
563
  <tr class="">
569
  <input type="checkbox" name="table_range_column" value="1" class="bulk_table_customizer_show_hide_column"
570
  data-colname="popup_table_range_column"
571
  <?php echo($configuration->getConfig('table_range_column', 1) ? 'checked' : '') ?>>
572
+ <input type="text" style="width: 90% !important;" class="awdr_popup_col_name_text_box" data-keyup="range_on_keyup" name="table_range_column_name" value="<?php echo $configuration->getConfig('table_range_column_name', 'Range');?>">
573
  </td>
574
  </tr>
575
  <tr class="">
578
  <span class="wdr_settings_desc_text awdr-clear-both"><?php esc_attr_e('Show Discount value/price in table', WDR_TEXT_DOMAIN); ?></span>
579
  </th>
580
  <td>
581
+ <p><input type="radio" name="table_discount_column_value" id="show_table_discount_column_value" class="popup_table_discount_column_value"
582
  value="1" <?php echo($configuration->getConfig('table_discount_column_value', 1) ? 'checked' : '') ?>><label
583
+ for="show_table_discount_column_value"><?php _e('Discount Value', WDR_TEXT_DOMAIN); ?></label></p>
584
+ <p><input type="radio" name="table_discount_column_value" id="dont_show_table_discount_column_value" class="popup_table_discount_column_value"
585
  value="0" <?php echo(!$configuration->getConfig('table_discount_column_value', 1) ? 'checked' : '') ?>><label
586
+ for="dont_show_table_discount_column_value"><?php _e("Discounted Price", WDR_TEXT_DOMAIN); ?></label></p>
587
  </td>
588
  </tr>
589
  <!-- <tr>
v2/Assets/Css/admin_style.css CHANGED
@@ -1400,4 +1400,23 @@ div.wdr {
1400
  }
1401
  .wdr_subtotal_promo_filed_name {
1402
  color: black;
1403
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1400
  }
1401
  .wdr_subtotal_promo_filed_name {
1402
  color: black;
1403
+ }
1404
+ .awdr-bullet-style {
1405
+ list-style-type: disc;
1406
+ }
1407
+ .awdr-bullet-style li a{
1408
+ color: #444444;
1409
+ }
1410
+ .awdr-bulk-three-column{
1411
+ display: grid !important;
1412
+ grid-template-columns: 10% 30% 50% !important;
1413
+ grid-gap: 10px;
1414
+ padding: 10px;
1415
+ }
1416
+ .awdr-count-by-description{
1417
+ /*border: 1px solid #f5de9c;*/
1418
+ background-color: #f5de9c;
1419
+ padding: 10px;
1420
+ }
1421
+
1422
+
v2/Assets/Js/admin_script.js CHANGED
@@ -766,9 +766,11 @@ jQuery(document).ready(function ($) {
766
  notify(wdr_data.localization_data.error, 'error', alert_counter);
767
  },
768
  success: function (data) {
769
- if(data.build_index.required_rebuild != undefined){
770
- if(data.build_index.required_rebuild == true){
771
- $(".awdr_rebuild_on_sale_rule_page_con").addClass("need_attention");
 
 
772
  }
773
  }
774
  if (data.redirect) {
@@ -2226,9 +2228,73 @@ jQuery(document).ready(function ($) {
2226
  }
2227
  });
2228
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2229
  $(document).on('change', '.awdr-product-discount-type', function () {
2230
  $('.awdr-example').html('');
2231
  var data_placement = $(this).data('placement');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2232
  if ($(this).val() != "not_selected" && $(this).val() != 'wdr_free_shipping') {
2233
  wdr_buildrule.wdr_clone_field({
2234
  addFilterMethod: '.' + $(this).val(),
@@ -2262,6 +2328,9 @@ jQuery(document).ready(function ($) {
2262
  $('.awdr-free-shipping-special-condition').addClass('wdr-hide');
2263
  }
2264
  awdrRemoveOnSaleCondition();
 
 
 
2265
  make_wdr_select2_search($('.' + data_placement ).find('[data-list="product_category"]'));
2266
  $('.adv-msg-min-qty, .adv-msg-max-qty, .adv-msg-discount, .adv-msg-discount-price').hide();
2267
  }
@@ -2277,12 +2346,16 @@ jQuery(document).ready(function ($) {
2277
  $('.awdr-free-shipping-special-condition').addClass('wdr-hide');
2278
  }
2279
  awdrRemoveOnSaleCondition();
 
 
2280
  $('.adv-msg-min-qty, .adv-msg-max-qty, .adv-msg-discount, .adv-msg-discount-price').show();
2281
  } else if ($(this).val() == 'wdr_set_discount') {
2282
  if(!$(".awdr-free-shipping-special-condition").hasClass("wdr-hide")){
2283
  $('.awdr-free-shipping-special-condition').addClass('wdr-hide');
2284
  }
2285
  awdrRemoveOnSaleCondition();
 
 
2286
  $('.adv-msg-min-qty, .adv-msg-discount, .adv-msg-discount-price').show();
2287
  $('.adv-msg-max-qty').hide();
2288
  }
@@ -2383,31 +2456,24 @@ jQuery(document).ready(function ($) {
2383
  $(document).on('change', '#badge_colorpicker', function () {
2384
  let background_color = $(this).val();
2385
  $('.awdr_admin_discount_bar').css('background-color',background_color);
2386
- })
2387
  $(document).on('change', '#badge_hexcolor', function () {
2388
  let background_color = $(this).val();
2389
  $('.awdr_admin_discount_bar').css('background-color',background_color);
2390
- })
2391
  $(document).on('change', '#text_colorpicker', function () {
2392
  let text_color = $(this).val();
2393
  $('.awdr_admin_discount_bar').css('color',text_color);
2394
- })
2395
  $(document).on('change', '#text_hexcolor', function () {
2396
  let text_color = $(this).val();
2397
  $('.awdr_admin_discount_bar').css('color',text_color);
2398
- })
2399
  $(document).on('change', '#awdr_discount_bar_content', function () {
2400
  let discount_bar_content = $(this).val();
2401
  $('.awdr_admin_discount_bar').html(discount_bar_content);
2402
- })
2403
- $(document).on('change', '.awdr_mode_of_operator', function () {
2404
- let mode_of_operator = $(this).val();
2405
- if(mode_of_operator == "variation"){
2406
- $('.awdr-example').html(wdr_data.localization_data.mode_variation_cumulative_example);
2407
- }else{
2408
- $('.awdr-example').html('');
2409
- }
2410
- })
2411
  $(document).on('click', '.awdr-hidden-search', function () {
2412
  let search_string = $('.awdr-hidden-name').val();
2413
  $('.wdr-rule-search-key').val(search_string);
766
  notify(wdr_data.localization_data.error, 'error', alert_counter);
767
  },
768
  success: function (data) {
769
+ if(data.build_index != undefined) {
770
+ if (data.build_index.required_rebuild != undefined) {
771
+ if (data.build_index.required_rebuild == true) {
772
+ $(".awdr_rebuild_on_sale_rule_page_con").addClass("need_attention");
773
+ }
774
  }
775
  }
776
  if (data.redirect) {
2228
  }
2229
  });
2230
 
2231
+ $(document).on('change', '.awdr_mode_of_operator', function () {
2232
+ let mode_of_operator = $(this).val();
2233
+ let discount_type = $('.awdr-product-discount-type').val();
2234
+ if(discount_type == 'wdr_buy_x_get_y_discount'){
2235
+ if(mode_of_operator == "variation"){
2236
+ $('.awdr-bxgy-dynamic-tip').attr("title", wdr_data.localization_data.bulk_variants_discount_description_tool_tip);
2237
+ $('.awdr-example').html(wdr_data.localization_data.mode_variation_cumulative_example);
2238
+ }else if(mode_of_operator == "product"){
2239
+ $('.awdr-bxgy-dynamic-tip').attr("title", wdr_data.localization_data.bulk_individual_product_discount_description_tool_tip);
2240
+ $('.awdr-example').html('');
2241
+ }else{
2242
+ $('.awdr-bxgy-dynamic-tip').attr("title", wdr_data.localization_data.bulk_filter_together_discount_description_tool_tip);
2243
+ $('.awdr-example').html('');
2244
+ }
2245
+ return;
2246
+ }
2247
+ if(mode_of_operator == "variation"){
2248
+ $('.awdr-discount-content').html(wdr_data.localization_data.bulk_variants_discount_description);
2249
+ $('.awdr-example').html(wdr_data.localization_data.mode_variation_cumulative_example);
2250
+ }else if(mode_of_operator == "product"){
2251
+ $('.awdr-discount-content').html(wdr_data.localization_data.bulk_individual_product_discount_description);
2252
+ $('.awdr-example').html('');
2253
+ }else{
2254
+ $('.awdr-discount-content').html(wdr_data.localization_data.bulk_filter_together_discount_description);
2255
+ $('.awdr-example').html('');
2256
+ }
2257
+ });
2258
+
2259
  $(document).on('change', '.awdr-product-discount-type', function () {
2260
  $('.awdr-example').html('');
2261
  var data_placement = $(this).data('placement');
2262
+ let discount_type = $(this).val();
2263
+ let read_doc_prefix = 'awdr_doc_';
2264
+ switch(discount_type){
2265
+ case 'wdr_simple_discount':
2266
+ $('.'+read_doc_prefix+discount_type).show();
2267
+ $('.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide();
2268
+ break;
2269
+ case 'wdr_cart_discount':
2270
+ $('.'+read_doc_prefix+discount_type).show();
2271
+ $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide();
2272
+ break;
2273
+ case 'wdr_free_shipping':
2274
+ $('.'+read_doc_prefix+discount_type).show();
2275
+ $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide();
2276
+ break;
2277
+ case 'wdr_bulk_discount':
2278
+ $('.'+read_doc_prefix+discount_type).show();
2279
+ $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide();
2280
+ break;
2281
+ case 'wdr_set_discount':
2282
+ $('.'+read_doc_prefix+discount_type).show();
2283
+ $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide();
2284
+ break;
2285
+ case 'wdr_buy_x_get_x_discount':
2286
+ $('.'+read_doc_prefix+discount_type).show();
2287
+ $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide();
2288
+ break;
2289
+ case 'wdr_buy_x_get_y_discount':
2290
+ $('.'+read_doc_prefix+discount_type).show();
2291
+ $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount').hide();
2292
+ break
2293
+ default:
2294
+ case 'not_selected':
2295
+ $('.awdr_doc_wdr_simple_discount,.awdr_doc_wdr_cart_discount,.awdr_doc_wdr_free_shipping,.awdr_doc_wdr_bulk_discount,.awdr_doc_wdr_set_discount,.awdr_doc_wdr_buy_x_get_x_discount,.awdr_doc_wdr_buy_x_get_y_discount').hide();
2296
+ break;
2297
+ }
2298
  if ($(this).val() != "not_selected" && $(this).val() != 'wdr_free_shipping') {
2299
  wdr_buildrule.wdr_clone_field({
2300
  addFilterMethod: '.' + $(this).val(),
2328
  $('.awdr-free-shipping-special-condition').addClass('wdr-hide');
2329
  }
2330
  awdrRemoveOnSaleCondition();
2331
+ //$('.awdr_mode_of_operator').trigger('change');
2332
+ console.log('yes');
2333
+ $('.awdr-discount-heading').html(wdr_data.localization_data.two_column_bxgy_discount_heading);
2334
  make_wdr_select2_search($('.' + data_placement ).find('[data-list="product_category"]'));
2335
  $('.adv-msg-min-qty, .adv-msg-max-qty, .adv-msg-discount, .adv-msg-discount-price').hide();
2336
  }
2346
  $('.awdr-free-shipping-special-condition').addClass('wdr-hide');
2347
  }
2348
  awdrRemoveOnSaleCondition();
2349
+ $('.awdr-discount-heading').html(wdr_data.localization_data.two_column_bulk_discount_heading);
2350
+ $('.awdr_mode_of_operator').trigger('change');
2351
  $('.adv-msg-min-qty, .adv-msg-max-qty, .adv-msg-discount, .adv-msg-discount-price').show();
2352
  } else if ($(this).val() == 'wdr_set_discount') {
2353
  if(!$(".awdr-free-shipping-special-condition").hasClass("wdr-hide")){
2354
  $('.awdr-free-shipping-special-condition').addClass('wdr-hide');
2355
  }
2356
  awdrRemoveOnSaleCondition();
2357
+ $('.awdr_mode_of_operator').trigger('change');
2358
+ $('.awdr-discount-heading').html(wdr_data.localization_data.two_column_set_discount_heading);
2359
  $('.adv-msg-min-qty, .adv-msg-discount, .adv-msg-discount-price').show();
2360
  $('.adv-msg-max-qty').hide();
2361
  }
2456
  $(document).on('change', '#badge_colorpicker', function () {
2457
  let background_color = $(this).val();
2458
  $('.awdr_admin_discount_bar').css('background-color',background_color);
2459
+ });
2460
  $(document).on('change', '#badge_hexcolor', function () {
2461
  let background_color = $(this).val();
2462
  $('.awdr_admin_discount_bar').css('background-color',background_color);
2463
+ });
2464
  $(document).on('change', '#text_colorpicker', function () {
2465
  let text_color = $(this).val();
2466
  $('.awdr_admin_discount_bar').css('color',text_color);
2467
+ });
2468
  $(document).on('change', '#text_hexcolor', function () {
2469
  let text_color = $(this).val();
2470
  $('.awdr_admin_discount_bar').css('color',text_color);
2471
+ });
2472
  $(document).on('change', '#awdr_discount_bar_content', function () {
2473
  let discount_bar_content = $(this).val();
2474
  $('.awdr_admin_discount_bar').html(discount_bar_content);
2475
+ });
2476
+
 
 
 
 
 
 
 
2477
  $(document).on('click', '.awdr-hidden-search', function () {
2478
  let search_string = $('.awdr-hidden-name').val();
2479
  $('.wdr-rule-search-key').val(search_string);
v2/Assets/Js/selectWoo.full.min.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * SelectWoo 1.0.6
3
+ * https://github.com/woocommerce/selectWoo
4
+ *
5
+ * Released under the MIT license
6
+ * https://github.com/woocommerce/selectWoo/blob/master/LICENSE.md
7
+ */
8
+ !function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof module&&module.exports?module.exports=function(e,t){return t===undefined&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e)),n(t),t}:n(jQuery)}(function(d){var e=function(){if(d&&d.fn&&d.fn.select2&&d.fn.select2.amd)var e=d.fn.select2.amd;var t,n,i,h,s,r,f,g,m,v,y,w,o,a,_,l;function b(e,t){return o.call(e,t)}function c(e,t){var n,i,o,s,r,a,l,c,u,d,p,h=t&&t.split("/"),f=y.map,g=f&&f["*"]||{};if(e){for(r=(e=e.split("/")).length-1,y.nodeIdCompat&&_.test(e[r])&&(e[r]=e[r].replace(_,"")),"."===e[0].charAt(0)&&h&&(e=h.slice(0,h.length-1).concat(e)),u=0;u<e.length;u++)if("."===(p=e[u]))e.splice(u,1),u-=1;else if(".."===p){if(0===u||1===u&&".."===e[2]||".."===e[u-1])continue;0<u&&(e.splice(u-1,2),u-=2)}e=e.join("/")}if((h||g)&&f){for(u=(n=e.split("/")).length;0<u;u-=1){if(i=n.slice(0,u).join("/"),h)for(d=h.length;0<d;d-=1)if((o=f[h.slice(0,d).join("/")])&&(o=o[i])){s=o,a=u;break}if(s)break;!l&&g&&g[i]&&(l=g[i],c=u)}!s&&l&&(s=l,a=c),s&&(n.splice(0,a,s),e=n.join("/"))}return e}function x(t,n){return function(){var e=a.call(arguments,0);return"string"!=typeof e[0]&&1===e.length&&e.push(null),r.apply(h,e.concat([t,n]))}}function A(t){return function(e){m[t]=e}}function C(e){if(b(v,e)){var t=v[e];delete v[e],w[e]=!0,s.apply(h,t)}if(!b(m,e)&&!b(w,e))throw new Error("No "+e);return m[e]}function u(e){var t,n=e?e.indexOf("!"):-1;return-1<n&&(t=e.substring(0,n),e=e.substring(n+1,e.length)),[t,e]}function S(e){return e?u(e):[]}return e&&e.requirejs||(e?n=e:e={},m={},v={},y={},w={},o=Object.prototype.hasOwnProperty,a=[].slice,_=/\.js$/,f=function(e,t){var n,i=u(e),o=i[0],s=t[1];return e=i[1],o&&(n=C(o=c(o,s))),o?e=n&&n.normalize?n.normalize(e,function r(t){return function(e){return c(e,t)}}(s)):c(e,s):(o=(i=u(e=c(e,s)))[0],e=i[1],o&&(n=C(o))),{f:o?o+"!"+e:e,n:e,pr:o,p:n}},g={require:function(e){return x(e)},exports:function(e){var t=m[e];return void 0!==t?t:m[e]={}},module:function(e){return{id:e,uri:"",exports:m[e],config:function t(e){return function(){return y&&y.config&&y.config[e]||{}}}(e)}}},s=function(e,t,n,i){var o,s,r,a,l,c,u,d=[],p=typeof n;if(c=S(i=i||e),"undefined"==p||"function"==p){for(t=!t.length&&n.length?["require","exports","module"]:t,l=0;l<t.length;l+=1)if("require"===(s=(a=f(t[l],c)).f))d[l]=g.require(e);else if("exports"===s)d[l]=g.exports(e),u=!0;else if("module"===s)o=d[l]=g.module(e);else if(b(m,s)||b(v,s)||b(w,s))d[l]=C(s);else{if(!a.p)throw new Error(e+" missing "+s);a.p.load(a.n,x(i,!0),A(s),{}),d[l]=m[s]}r=n?n.apply(m[e],d):undefined,e&&(o&&o.exports!==h&&o.exports!==m[e]?m[e]=o.exports:r===h&&u||(m[e]=r))}else e&&(m[e]=n)},t=n=r=function(e,t,n,i,o){if("string"==typeof e)return g[e]?g[e](t):C(f(e,S(t)).f);if(!e.splice){if((y=e).deps&&r(y.deps,y.callback),!t)return;t.splice?(e=t,t=n,n=null):e=h}return t=t||function(){},"function"==typeof n&&(n=i,i=o),i?s(h,e,t,n):setTimeout(function(){s(h,e,t,n)},4),r},r.config=function(e){return r(e)},t._defined=m,(i=function(e,t,n){if("string"!=typeof e)throw new Error("See almond README: incorrect module build, no module name");t.splice||(n=t,t=[]),b(m,e)||b(v,e)||(v[e]=[e,t,n])}).amd={jQuery:!0},e.requirejs=t,e.require=n,e.define=i),e.define("almond",function(){}),e.define("jquery",[],function(){var e=d||$;return null==e&&console&&console.error&&console.error("Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page."),e}),e.define("select2/utils",["jquery"],function(s){var e={};function d(e){var t=e.prototype,n=[];for(var i in t){"function"==typeof t[i]&&"constructor"!==i&&n.push(i)}return n}e.Extend=function(e,t){var n={}.hasOwnProperty;function i(){this.constructor=e}for(var o in t)n.call(t,o)&&(e[o]=t[o]);return i.prototype=t.prototype,e.prototype=new i,e.__super__=t.prototype,e},e.Decorate=function(i,o){var e=d(o),t=d(i);function s(){var e=Array.prototype.unshift,t=o.prototype.constructor.length,n=i.prototype.constructor;0<t&&(e.call(arguments,i.prototype.constructor),n=o.prototype.constructor),n.apply(this,arguments)}o.displayName=i.displayName,s.prototype=new function u(){this.constructor=s};for(var n=0;n<t.length;n++){var r=t[n];s.prototype[r]=i.prototype[r]}function a(e){var t=function(){};e in s.prototype&&(t=s.prototype[e]);var n=o.prototype[e];return function(){return Array.prototype.unshift.call(arguments,t),n.apply(this,arguments)}}for(var l=0;l<e.length;l++){var c=e[l];s.prototype[c]=a(c)}return s};function t(){this.listeners={}}return t.prototype.on=function(e,t){this.listeners=this.listeners||{},e in this.listeners?this.listeners[e].push(t):this.listeners[e]=[t]},t.prototype.trigger=function(e){var t=Array.prototype.slice,n=t.call(arguments,1);this.listeners=this.listeners||{},null==n&&(n=[]),0===n.length&&n.push({}),(n[0]._type=e)in this.listeners&&this.invoke(this.listeners[e],t.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},t.prototype.invoke=function(e,t){for(var n=0,i=e.length;n<i;n++)e[n].apply(this,t)},e.Observable=t,e.generateChars=function(e){for(var t="",n=0;n<e;n++){t+=Math.floor(36*Math.random()).toString(36)}return t},e.bind=function(e,t){return function(){e.apply(t,arguments)}},e._convertData=function(e){for(var t in e){var n=t.split("-"),i=e;if(1!==n.length){for(var o=0;o<n.length;o++){var s=n[o];(s=s.substring(0,1).toLowerCase()+s.substring(1))in i||(i[s]={}),o==n.length-1&&(i[s]=e[t]),i=i[s]}delete e[t]}}return e},e.hasScroll=function(e,t){var n=s(t),i=t.style.overflowX,o=t.style.overflowY;return(i!==o||"hidden"!==o&&"visible"!==o)&&("scroll"===i||"scroll"===o||(n.innerHeight()<t.scrollHeight||n.innerWidth()<t.scrollWidth))},e.escapeMarkup=function(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return"string"!=typeof e?e:String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})},e.entityDecode=function(e){var t=document.createElement("textarea");return t.innerHTML=e,t.value},e.appendMany=function(e,t){if("1.7"===s.fn.jquery.substr(0,3)){var n=s();s.map(t,function(e){n=n.add(e)}),t=n}e.append(t)},e.isTouchscreen=function(){return"undefined"==typeof e._isTouchscreenCache&&(e._isTouchscreenCache="ontouchstart"in document.documentElement),e._isTouchscreenCache},e}),e.define("select2/results",["jquery","./utils"],function(h,e){function i(e,t,n){this.$element=e,this.data=n,this.options=t,i.__super__.constructor.call(this)}return e.Extend(i,e.Observable),i.prototype.render=function(){var e=h('<ul class="select2-results__options" role="listbox" tabindex="-1"></ul>');return this.options.get("multiple")&&e.attr("aria-multiselectable","true"),this.$results=e},i.prototype.clear=function(){this.$results.empty()},i.prototype.displayMessage=function(e){var t=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var n=h('<li role="alert" aria-live="assertive" class="select2-results__option"></li>'),i=this.options.get("translations").get(e.message);n.append(t(i(e.args))),n[0].className+=" select2-results__message",this.$results.append(n)},i.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},i.prototype.append=function(e){this.hideLoading();var t=[];if(null!=e.results&&0!==e.results.length){e.results=this.sort(e.results);for(var n=0;n<e.results.length;n++){var i=e.results[n],o=this.option(i);t.push(o)}this.$results.append(t)}else 0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"})},i.prototype.position=function(e,t){t.find(".select2-results").append(e)},i.prototype.sort=function(e){return this.options.get("sorter")(e)},i.prototype.highlightFirstItem=function(){var e=this.$results.find(".select2-results__option[data-selected]"),t=e.filter("[data-selected=true]");0<t.length?t.first().trigger("mouseenter"):e.first().trigger("mouseenter"),this.ensureHighlightVisible()},i.prototype.setClasses=function(){var t=this;this.data.current(function(e){var i=h.map(e,function(e){return e.id.toString()});t.$results.find(".select2-results__option[data-selected]").each(function(){var e=h(this),t=h.data(this,"data"),n=""+t.id;null!=t.element&&t.element.selected||null==t.element&&-1<h.inArray(n,i)?e.attr("data-selected","true"):e.attr("data-selected","false")})})},i.prototype.showLoading=function(e){this.hideLoading();var t={disabled:!0,loading:!0,text:this.options.get("translations").get("searching")(e)},n=this.option(t);n.className+=" loading-results",this.$results.prepend(n)},i.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},i.prototype.option=function(e){var t=document.createElement("li");t.className="select2-results__option";var n={role:"option","data-selected":"false",tabindex:-1};for(var i in e.disabled&&(delete n["data-selected"],n["aria-disabled"]="true"),null==e.id&&delete n["data-selected"],null!=e._resultId&&(t.id=e._resultId),e.title&&(t.title=e.title),e.children&&(n["aria-label"]=e.text,delete n["data-selected"]),n){var o=n[i];t.setAttribute(i,o)}if(e.children){var s=h(t),r=document.createElement("strong");r.className="select2-results__group";var a=h(r);this.template(e,r),a.attr("role","presentation");for(var l=[],c=0;c<e.children.length;c++){var u=e.children[c],d=this.option(u);l.push(d)}var p=h("<ul></ul>",{"class":"select2-results__options select2-results__options--nested",role:"listbox"});p.append(l),s.attr("role","list"),s.append(r),s.append(p)}else this.template(e,t);return h.data(t,"data",e),t},i.prototype.bind=function(t,e){var l=this,n=t.id+"-results";this.$results.attr("id",n),t.on("results:all",function(e){l.clear(),l.append(e.data),t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("results:append",function(e){l.append(e.data),t.isOpen()&&l.setClasses()}),t.on("query",function(e){l.hideMessages(),l.showLoading(e)}),t.on("select",function(){t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("unselect",function(){t.isOpen()&&(l.setClasses(),l.highlightFirstItem())}),t.on("open",function(){l.$results.attr("aria-expanded","true"),l.$results.attr("aria-hidden","false"),l.setClasses(),l.ensureHighlightVisible()}),t.on("close",function(){l.$results.attr("aria-expanded","false"),l.$results.attr("aria-hidden","true"),l.$results.removeAttr("aria-activedescendant")}),t.on("results:toggle",function(){var e=l.getHighlightedResults();0!==e.length&&e.trigger("mouseup")}),t.on("results:select",function(){var e=l.getHighlightedResults();if(0!==e.length){var t=e.data("data");"true"==e.attr("data-selected")?l.trigger("close",{}):l.trigger("select",{data:t})}}),t.on("results:previous",function(){var e=l.getHighlightedResults(),t=l.$results.find("[data-selected]"),n=t.index(e);if(0!==n){var i=n-1;0===e.length&&(i=0);var o=t.eq(i);o.trigger("mouseenter");var s=l.$results.offset().top,r=o.offset().top,a=l.$results.scrollTop()+(r-s);0===i?l.$results.scrollTop(0):r-s<0&&l.$results.scrollTop(a)}}),t.on("results:next",function(){var e=l.getHighlightedResults(),t=l.$results.find("[data-selected]"),n=t.index(e)+1;if(!(n>=t.length)){var i=t.eq(n);i.trigger("mouseenter");var o=l.$results.offset().top+l.$results.outerHeight(!1),s=i.offset().top+i.outerHeight(!1),r=l.$results.scrollTop()+s-o;0===n?l.$results.scrollTop(0):o<s&&l.$results.scrollTop(r)}}),t.on("results:focus",function(e){e.element.addClass("select2-results__option--highlighted").attr("aria-selected","true"),l.$results.attr("aria-activedescendant",e.element.attr("id"))}),t.on("results:message",function(e){l.displayMessage(e)}),h.fn.mousewheel&&this.$results.on("mousewheel",function(e){var t=l.$results.scrollTop(),n=l.$results.get(0).scrollHeight-t+e.deltaY,i=0<e.deltaY&&t-e.deltaY<=0,o=e.deltaY<0&&n<=l.$results.height();i?(l.$results.scrollTop(0),e.preventDefault(),e.stopPropagation()):o&&(l.$results.scrollTop(l.$results.get(0).scrollHeight-l.$results.height()),e.preventDefault(),e.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[data-selected]",function(e){var t=h(this),n=t.data("data");"true"!==t.attr("data-selected")?l.trigger("select",{originalEvent:e,data:n}):l.options.get("multiple")?l.trigger("unselect",{originalEvent:e,data:n}):l.trigger("close",{})}),this.$results.on("mouseenter",".select2-results__option[data-selected]",function(e){var t=h(this).data("data");l.getHighlightedResults().removeClass("select2-results__option--highlighted").attr("aria-selected","false"),l.trigger("results:focus",{data:t,element:h(this)})})},i.prototype.getHighlightedResults=function(){return this.$results.find(".select2-results__option--highlighted")},i.prototype.destroy=function(){this.$results.remove()},i.prototype.ensureHighlightVisible=function(){var e=this.getHighlightedResults();if(0!==e.length){var t=this.$results.find("[data-selected]").index(e),n=this.$results.offset().top,i=e.offset().top,o=this.$results.scrollTop()+(i-n),s=i-n;o-=2*e.outerHeight(!1),t<=2?this.$results.scrollTop(0):(s>this.$results.outerHeight()||s<0)&&this.$results.scrollTop(o)}},i.prototype.template=function(e,t){var n=this.options.get("templateResult"),i=this.options.get("escapeMarkup"),o=n(e,t);null==o?t.style.display="none":"string"==typeof o?t.innerHTML=i(o):h(t).append(o)},i}),e.define("select2/keys",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define("select2/selection/base",["jquery","../utils","../keys"],function(i,e,o){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=i('<span class="select2-selection" aria-haspopup="true" aria-expanded="false"></span>');return this._tabindex=0,null!=this.$element.data("old-tabindex")?this._tabindex=this.$element.data("old-tabindex"):null!=this.$element.attr("tabindex")&&(this._tabindex=this.$element.attr("tabindex")),e.attr("title",this.$element.attr("title")),e.attr("tabindex",this._tabindex),this.$selection=e},n.prototype.bind=function(e,t){var n=this,i=(e.id,e.id+"-results");this.options.get("minimumResultsForSearch"),Infinity;this.container=e,this.$selection.on("focus",function(e){n.trigger("focus",e)}),this.$selection.on("blur",function(e){n._handleBlur(e)}),this.$selection.on("keydown",function(e){n.trigger("keypress",e),e.which===o.SPACE&&e.preventDefault()}),e.on("results:focus",function(e){n.$selection.attr("aria-activedescendant",e.data._resultId)}),e.on("selection:update",function(e){n.update(e.data)}),e.on("open",function(){n.$selection.attr("aria-expanded","true"),n.$selection.attr("aria-owns",i),n._attachCloseHandler(e)}),e.on("close",function(){n.$selection.attr("aria-expanded","false"),n.$selection.removeAttr("aria-activedescendant"),n.$selection.removeAttr("aria-owns"),window.setTimeout(function(){n.$selection.focus()},1),n._detachCloseHandler(e)}),e.on("enable",function(){n.$selection.attr("tabindex",n._tabindex)}),e.on("disable",function(){n.$selection.attr("tabindex","-1")})},n.prototype._handleBlur=function(e){var t=this;window.setTimeout(function(){document.activeElement==t.$selection[0]||i.contains(t.$selection[0],document.activeElement)||t.trigger("blur",e)},1)},n.prototype._attachCloseHandler=function(e){i(document.body).on("mousedown.select2."+e.id,function(e){var t=i(e.target),n=t.closest(".select2");i(".select2.select2-container--open").each(function(){var e=i(this);this!=n[0]&&(e.data("element").select2("close"),setTimeout(function(){e.find("*:focus").blur(),t.focus()},1))})})},n.prototype._detachCloseHandler=function(e){i(document.body).off("mousedown.select2."+e.id)},n.prototype.position=function(e,t){t.find(".selection").append(e)},n.prototype.destroy=function(){this._detachCloseHandler(this.container)},n.prototype.update=function(e){throw new Error("The `update` method must be defined in child classes.")},n}),e.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(e,t,o,n){function s(){s.__super__.constructor.apply(this,arguments)}return o.Extend(s,t),s.prototype.render=function(){var e=s.__super__.render.call(this);return e.addClass("select2-selection--single"),e.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),e},s.prototype.bind=function(t,e){var n=this;s.__super__.bind.apply(this,arguments);var i=t.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",i).attr("role","textbox").attr("aria-readonly","true"),this.$selection.attr("aria-labelledby",i),this.$selection.attr("role","combobox"),this.$selection.on("mousedown",function(e){1===e.which&&n.trigger("toggle",{originalEvent:e})}),this.$selection.on("focus",function(e){}),this.$selection.on("keydown",function(e){!t.isOpen()&&48<=e.which&&e.which<=90&&t.open()}),this.$selection.on("blur",function(e){}),t.on("focus",function(e){t.isOpen()||n.$selection.focus()}),t.on("selection:update",function(e){n.update(e.data)})},s.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},s.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},s.prototype.selectionContainer=function(){return e("<span></span>")},s.prototype.update=function(e){if(0!==e.length){var t=e[0],n=this.$selection.find(".select2-selection__rendered"),i=o.entityDecode(this.display(t,n));n.empty().text(i),n.prop("title",t.title||t.text)}else this.clear()},s}),e.define("select2/selection/multiple",["jquery","./base","../utils"],function(i,e,l){function o(e,t){o.__super__.constructor.apply(this,arguments)}return l.Extend(o,e),o.prototype.render=function(){var e=o.__super__.render.call(this);return e.addClass("select2-selection--multiple"),e.html('<ul class="select2-selection__rendered" aria-live="polite" aria-relevant="additions removals" aria-atomic="true"></ul>'),e},o.prototype.bind=function(t,e){var n=this;o.__super__.bind.apply(this,arguments),this.$selection.on("click",function(e){n.trigger("toggle",{originalEvent:e})}),this.$selection.on("click",".select2-selection__choice__remove",function(e){if(!n.options.get("disabled")){var t=i(this).parent().data("data");n.trigger("unselect",{originalEvent:e,data:t})}}),this.$selection.on("keydown",function(e){!t.isOpen()&&48<=e.which&&e.which<=90&&t.open()}),t.on("focus",function(){n.focusOnSearch()})},o.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},o.prototype.display=function(e,t){var n=this.options.get("templateSelection");return this.options.get("escapeMarkup")(n(e,t))},o.prototype.selectionContainer=function(){return i('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation" aria-hidden="true">&times;</span></li>')},o.prototype.focusOnSearch=function(){var e=this;"undefined"!=typeof e.$search&&setTimeout(function(){e._keyUpPrevented=!0,e.$search.focus()},1)},o.prototype.update=function(e){if(this.clear(),0!==e.length){for(var t=[],n=0;n<e.length;n++){var i=e[n],o=this.selectionContainer(),s=o.html(),r=this.display(i,o);"string"==typeof r&&(r=l.entityDecode(r.trim())),o.text(r),o.prepend(s),o.prop("title",i.title||i.text),o.data("data",i),t.push(o)}var a=this.$selection.find(".select2-selection__rendered");l.appendMany(a,t)}},o}),e.define("select2/selection/placeholder",["../utils"],function(i){function e(e,t,n){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n)}return e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.createPlaceholder=function(e,t){var n=this.selectionContainer();return n.text(i.entityDecode(this.display(t))),n.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),n},e.prototype.update=function(e,t){var n=1==t.length&&t[0].id!=this.placeholder.id;if(1<t.length||n)return e.call(this,t);this.clear();var i=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(i)},e}),e.define("select2/selection/allowClear",["jquery","../keys"],function(i,o){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),null==this.placeholder&&this.options.get("debug")&&window.console&&console.error&&console.error("Select2: The `allowClear` option should be used in combination with the `placeholder` option."),this.$selection.on("mousedown",".select2-selection__clear",function(e){i._handleClear(e)}),t.on("keypress",function(e){i._handleKeyboardClear(e,t)})},e.prototype._handleClear=function(e,t){if(!this.options.get("disabled")){var n=this.$selection.find(".select2-selection__clear");if(0!==n.length){t.stopPropagation();for(var i=n.data("data"),o=0;o<i.length;o++){var s={data:i[o]};if(this.trigger("unselect",s),s.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},e.prototype._handleKeyboardClear=function(e,t,n){n.isOpen()||t.which!=o.DELETE&&t.which!=o.BACKSPACE||this._handleClear(t)},e.prototype.update=function(e,t){if(e.call(this,t),!(0<this.$selection.find(".select2-selection__placeholder").length||0===t.length)){var n=i('<span class="select2-selection__clear">&times;</span>');n.data("data",t),this.$selection.find(".select2-selection__rendered").prepend(n)}},e}),e.define("select2/selection/search",["jquery","../utils","../keys"],function(i,e,a){function t(e,t,n){e.call(this,t,n)}return t.prototype.render=function(e){var t=i('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="text" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=t,this.$search=t.find("input");var n=e.call(this);return this._transferTabIndex(),n},t.prototype.bind=function(e,i,t){var o=this,n=i.id+"-results";e.call(this,i,t),i.on("open",function(){o.$search.attr("aria-owns",n),o.$search.trigger("focus")}),i.on("close",function(){o.$search.val(""),o.$search.removeAttr("aria-activedescendant"),o.$search.removeAttr("aria-owns"),o.$search.trigger("focus")}),i.on("enable",function(){o.$search.prop("disabled",!1),o._transferTabIndex()}),i.on("disable",function(){o.$search.prop("disabled",!0)}),i.on("focus",function(e){o.$search.trigger("focus")}),i.on("results:focus",function(e){o.$search.attr("aria-activedescendant",e.data._resultId)}),this.$selection.on("focusin",".select2-search--inline",function(e){o.trigger("focus",e)}),this.$selection.on("focusout",".select2-search--inline",function(e){o._handleBlur(e)}),this.$selection.on("keydown",".select2-search--inline",function(e){if(e.stopPropagation(),o.trigger("keypress",e),o._keyUpPrevented=e.isDefaultPrevented(),e.which===a.BACKSPACE&&""===o.$search.val()){var t=o.$searchContainer.prev(".select2-selection__choice");if(0<t.length){var n=t.data("data");o.searchRemoveChoice(n),e.preventDefault()}}else e.which===a.ENTER&&(i.open(),e.preventDefault())});var s=document.documentMode,r=s&&s<=11;this.$selection.on("input.searchcheck",".select2-search--inline",function(e){r?o.$selection.off("input.search input.searchcheck"):o.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(e){if(r&&"input"===e.type)o.$selection.off("input.search input.searchcheck");else{var t=e.which;t!=a.SHIFT&&t!=a.CTRL&&t!=a.ALT&&t!=a.TAB&&o.handleSearch(e)}})},t.prototype._transferTabIndex=function(e){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},t.prototype.createPlaceholder=function(e,t){this.$search.attr("placeholder",t.text)},t.prototype.update=function(e,t){var n=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),e.call(this,t),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),n&&this.$search.focus()},t.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var e=this.$search.val();this.trigger("query",{term:e})}this._keyUpPrevented=!1},t.prototype.searchRemoveChoice=function(e,t){this.trigger("unselect",{data:t}),this.$search.val(t.text),this.handleSearch()},t.prototype.resizeSearch=function(){this.$search.css("width","25px");var e="";""!==this.$search.attr("placeholder")?e=this.$selection.find(".select2-selection__rendered").innerWidth():e=.75*(this.$search.val().length+1)+"em";this.$search.css("width",e)},t}),e.define("select2/selection/eventRelay",["jquery"],function(r){function e(){}return e.prototype.bind=function(e,t,n){var i=this,o=["open","opening","close","closing","select","selecting","unselect","unselecting"],s=["opening","closing","selecting","unselecting"];e.call(this,t,n),t.on("*",function(e,t){if(-1!==r.inArray(e,o)){t=t||{};var n=r.Event("select2:"+e,{params:t});i.$element.trigger(n),-1!==r.inArray(e,s)&&(t.prevented=n.isDefaultPrevented())}})},e}),e.define("select2/translation",["jquery","require"],function(t,n){function i(e){this.dict=e||{}}return i.prototype.all=function(){return this.dict},i.prototype.get=function(e){return this.dict[e]},i.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},i._cache={},i.loadPath=function(e){if(!(e in i._cache)){var t=n(e);i._cache[e]=t}return new i(i._cache[e])},i}),e.define("select2/diacritics",[],function(){return{"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"}}),e.define("select2/data/base",["../utils"],function(i){function n(e,t){n.__super__.constructor.call(this)}return i.Extend(n,i.Observable),n.prototype.current=function(e){throw new Error("The `current` method must be defined in child classes.")},n.prototype.query=function(e,t){throw new Error("The `query` method must be defined in child classes.")},n.prototype.bind=function(e,t){},n.prototype.destroy=function(){},n.prototype.generateResultId=function(e,t){var n="";return n+=null!=e?e.id:i.generateChars(4),n+="-result-",n+=i.generateChars(4),null!=t.id?n+="-"+t.id.toString():n+="-"+i.generateChars(4),n},n}),e.define("select2/data/select",["./base","../utils","jquery"],function(e,t,a){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return t.Extend(n,e),n.prototype.current=function(e){var n=[],i=this;this.$element.find(":selected").each(function(){var e=a(this),t=i.item(e);n.push(t)}),e(n)},n.prototype.select=function(o){var s=this;if(o.selected=!0,a(o.element).is("option"))return o.element.selected=!0,void this.$element.trigger("change");if(this.$element.prop("multiple"))this.current(function(e){var t=[];(o=[o]).push.apply(o,e);for(var n=0;n<o.length;n++){var i=o[n].id;-1===a.inArray(i,t)&&t.push(i)}s.$element.val(t),s.$element.trigger("change")});else{var e=o.id;this.$element.val(e),this.$element.trigger("change")}},n.prototype.unselect=function(o){var s=this;if(this.$element.prop("multiple")){if(o.selected=!1,a(o.element).is("option"))return o.element.selected=!1,void this.$element.trigger("change");this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n].id;i!==o.id&&-1===a.inArray(i,t)&&t.push(i)}s.$element.val(t),s.$element.trigger("change")})}},n.prototype.bind=function(e,t){var n=this;(this.container=e).on("select",function(e){n.select(e.data)}),e.on("unselect",function(e){n.unselect(e.data)})},n.prototype.destroy=function(){this.$element.find("*").each(function(){a.removeData(this,"data")})},n.prototype.query=function(i,e){var o=[],s=this;this.$element.children().each(function(){var e=a(this);if(e.is("option")||e.is("optgroup")){var t=s.item(e),n=s.matches(i,t);null!==n&&o.push(n)}}),e({results:o})},n.prototype.addOptions=function(e){t.appendMany(this.$element,e)},n.prototype.option=function(e){var t;e.children?(t=document.createElement("optgroup")).label=e.text:(t=document.createElement("option")).textContent!==undefined?t.textContent=e.text:t.innerText=e.text,e.id!==undefined&&(t.value=e.id),e.disabled&&(t.disabled=!0),e.selected&&(t.selected=!0),e.title&&(t.title=e.title);var n=a(t),i=this._normalizeItem(e);return i.element=t,a.data(t,"data",i),n},n.prototype.item=function(e){var t={};if(null!=(t=a.data(e[0],"data")))return t;if(e.is("option"))t={id:e.val(),text:e.text(),disabled:e.prop("disabled"),selected:e.prop("selected"),title:e.prop("title")};else if(e.is("optgroup")){t={text:e.prop("label"),children:[],title:e.prop("title")};for(var n=e.children("option"),i=[],o=0;o<n.length;o++){var s=a(n[o]),r=this.item(s);i.push(r)}t.children=i}return(t=this._normalizeItem(t)).element=e[0],a.data(e[0],"data",t),t},n.prototype._normalizeItem=function(e){a.isPlainObject(e)||(e={id:e,text:e});return null!=(e=a.extend({},{text:""},e)).id&&(e.id=e.id.toString()),null!=e.text&&(e.text=e.text.toString()),null==e._resultId&&e.id&&(e._resultId=this.generateResultId(this.container,e)),a.extend({},{selected:!1,disabled:!1},e)},n.prototype.matches=function(e,t){return this.options.get("matcher")(e,t)},n}),e.define("select2/data/array",["./select","../utils","jquery"],function(e,f,g){function i(e,t){var n=t.get("data")||[];i.__super__.constructor.call(this,e,t),this.addOptions(this.convertToOptions(n))}return f.Extend(i,e),i.prototype.select=function(n){var e=this.$element.find("option").filter(function(e,t){return t.value==n.id.toString()});0===e.length&&(e=this.option(n),this.addOptions(e)),i.__super__.select.call(this,n)},i.prototype.convertToOptions=function(e){var t=this,n=this.$element.find("option"),i=n.map(function(){return t.item(g(this)).id}).get(),o=[];function s(e){return function(){return g(this).val()==e.id}}for(var r=0;r<e.length;r++){var a=this._normalizeItem(e[r]);if(0<=g.inArray(a.id,i)){var l=n.filter(s(a)),c=this.item(l),u=g.extend(!0,{},a,c),d=this.option(u);l.replaceWith(d)}else{var p=this.option(a);if(a.children){var h=this.convertToOptions(a.children);f.appendMany(p,h)}o.push(p)}}return o},i}),e.define("select2/data/ajax",["./array","../utils","jquery"],function(e,t,s){function n(e,t){this.ajaxOptions=this._applyDefaults(t.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,e,t)}return t.Extend(n,e),n.prototype._applyDefaults=function(e){var t={data:function(e){return s.extend({},e,{q:e.term})},transport:function(e,t,n){var i=s.ajax(e);return i.then(t),i.fail(n),i}};return s.extend({},t,e,!0)},n.prototype.processResults=function(e){return e},n.prototype.query=function(n,i){var o=this;null!=this._request&&(s.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var t=s.extend({type:"GET"},this.ajaxOptions);function e(){var e=t.transport(t,function(e){var t=o.processResults(e,n);o.options.get("debug")&&window.console&&console.error&&(t&&t.results&&s.isArray(t.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),i(t),o.container.focusOnActiveElement()},function(){e.status&&"0"===e.status||o.trigger("results:message",{message:"errorLoading"})});o._request=e}"function"==typeof t.url&&(t.url=t.url.call(this.$element,n)),"function"==typeof t.data&&(t.data=t.data.call(this.$element,n)),this.ajaxOptions.delay&&null!=n.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(e,this.ajaxOptions.delay)):e()},n}),e.define("select2/data/tags",["jquery"],function(u){function e(e,t,n){var i=n.get("tags"),o=n.get("createTag");o!==undefined&&(this.createTag=o);var s=n.get("insertTag");if(s!==undefined&&(this.insertTag=s),e.call(this,t,n),u.isArray(i))for(var r=0;r<i.length;r++){var a=i[r],l=this._normalizeItem(a),c=this.option(l);this.$element.append(c)}}return e.prototype.query=function(e,l,c){var u=this;this._removeOldTags(),null!=l.term&&null==l.page?e.call(this,l,function d(e,t){for(var n=e.results,i=0;i<n.length;i++){var o=n[i],s=null!=o.children&&!d({results:o.children},!0);if((o.text||"").toUpperCase()===(l.term||"").toUpperCase()||s)return!t&&(e.data=n,void c(e))}if(t)return!0;var r=u.createTag(l);if(null!=r){var a=u.option(r);a.attr("data-select2-tag",!0),u.addOptions([a]),u.insertTag(n,r)}e.results=n,c(e)}):e.call(this,l,c)},e.prototype.createTag=function(e,t){var n=u.trim(t.term);return""===n?null:{id:n,text:n}},e.prototype.insertTag=function(e,t,n){t.unshift(n)},e.prototype._removeOldTags=function(e){this._lastTag;this.$element.find("option[data-select2-tag]").each(function(){this.selected||u(this).remove()})},e}),e.define("select2/data/tokenizer",["jquery"],function(d){function e(e,t,n){var i=n.get("tokenizer");i!==undefined&&(this.tokenizer=i),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){e.call(this,t,n),this.$search=t.dropdown.$search||t.selection.$search||n.find(".select2-search__field")},e.prototype.query=function(e,t,n){var o=this;t.term=t.term||"";var i=this.tokenizer(t,this.options,function s(e){var t=o._normalizeItem(e);if(!o.$element.find("option").filter(function(){return d(this).val()===t.id}).length){var n=o.option(t);n.attr("data-select2-tag",!0),o._removeOldTags(),o.addOptions([n])}!function i(e){o.trigger("select",{data:e})}(t)});i.term!==t.term&&(this.$search.length&&(this.$search.val(i.term),this.$search.focus()),t.term=i.term),e.call(this,t,n)},e.prototype.tokenizer=function(e,t,n,i){for(var o=n.get("tokenSeparators")||[],s=t.term,r=0,a=this.createTag||function(e){return{id:e.term,text:e.term}};r<s.length;){var l=s[r];if(-1!==d.inArray(l,o)){var c=s.substr(0,r),u=a(d.extend({},t,{term:c}));null!=u?(i(u),s=s.substr(r+1)||"",r=0):r++}else r++}return{term:s}},e}),e.define("select2/data/minimumInputLength",[],function(){function e(e,t,n){this.minimumInputLength=n.get("minimumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",t.term.length<this.minimumInputLength?this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumInputLength",[],function(){function e(e,t,n){this.maximumInputLength=n.get("maximumInputLength"),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.term=t.term||"",0<this.maximumInputLength&&t.term.length>this.maximumInputLength?this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:t.term,params:t}}):e.call(this,t,n)},e}),e.define("select2/data/maximumSelectionLength",[],function(){function e(e,t,n){this.maximumSelectionLength=n.get("maximumSelectionLength"),e.call(this,t,n)}return e.prototype.query=function(n,i,o){var s=this;this.current(function(e){var t=null!=e?e.length:0;0<s.maximumSelectionLength&&t>=s.maximumSelectionLength?s.trigger("results:message",{message:"maximumSelected",args:{maximum:s.maximumSelectionLength}}):n.call(s,i,o)})},e}),e.define("select2/dropdown",["jquery","./utils"],function(t,e){function n(e,t){this.$element=e,this.options=t,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var e=t('<span class="select2-dropdown"><span class="select2-results"></span></span>');return e.attr("dir",this.options.get("dir")),this.$dropdown=e},n.prototype.bind=function(){},n.prototype.position=function(e,t){},n.prototype.destroy=function(){this.$dropdown.remove()},n}),e.define("select2/dropdown/search",["jquery","../utils"],function(s,e){function t(){}return t.prototype.render=function(e){var t=e.call(this),n=s('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="text" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="none" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" /></span>');return this.$searchContainer=n,this.$search=n.find("input"),t.prepend(n),t},t.prototype.bind=function(e,t,n){var i=this,o=t.id+"-results";e.call(this,t,n),this.$search.on("keydown",function(e){i.trigger("keypress",e),i._keyUpPrevented=e.isDefaultPrevented()}),this.$search.on("input",function(e){s(this).off("keyup")}),this.$search.on("keyup input",function(e){i.handleSearch(e)}),t.on("open",function(){i.$search.attr("tabindex",0),i.$search.attr("aria-owns",o),i.$search.focus(),window.setTimeout(function(){i.$search.focus()},0)}),t.on("close",function(){i.$search.attr("tabindex",-1),i.$search.removeAttr("aria-activedescendant"),i.$search.removeAttr("aria-owns"),i.$search.val("")}),t.on("focus",function(){t.isOpen()||i.$search.focus()}),t.on("results:all",function(e){null!=e.query.term&&""!==e.query.term||(i.showSearch(e)?i.$searchContainer.removeClass("select2-search--hide"):i.$searchContainer.addClass("select2-search--hide"))}),t.on("results:focus",function(e){i.$search.attr("aria-activedescendant",e.data._resultId)})},t.prototype.handleSearch=function(e){if(!this._keyUpPrevented){var t=this.$search.val();this.trigger("query",{term:t})}this._keyUpPrevented=!1},t.prototype.showSearch=function(e,t){return!0},t}),e.define("select2/dropdown/hidePlaceholder",[],function(){function e(e,t,n,i){this.placeholder=this.normalizePlaceholder(n.get("placeholder")),e.call(this,t,n,i)}return e.prototype.append=function(e,t){t.results=this.removePlaceholder(t.results),e.call(this,t)},e.prototype.normalizePlaceholder=function(e,t){return"string"==typeof t&&(t={id:"",text:t}),t},e.prototype.removePlaceholder=function(e,t){for(var n=t.slice(0),i=t.length-1;0<=i;i--){var o=t[i];this.placeholder.id===o.id&&n.splice(i,1)}return n},e}),e.define("select2/dropdown/infiniteScroll",["jquery"],function(o){function e(e,t,n,i){this.lastParams={},e.call(this,t,n,i),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(e,t){this.$loadingMore.remove(),this.loading=!1,e.call(this,t),this.showLoadingMore(t)&&this.$results.append(this.$loadingMore)},e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("query",function(e){i.lastParams=e,i.loading=!0}),t.on("query:append",function(e){i.lastParams=e,i.loading=!0}),this.$results.on("scroll",function(){var e=o.contains(document.documentElement,i.$loadingMore[0]);if(!i.loading&&e){var t=i.$results.offset().top+i.$results.outerHeight(!1);i.$loadingMore.offset().top+i.$loadingMore.outerHeight(!1)<=t+50&&i.loadMore()}})},e.prototype.loadMore=function(){this.loading=!0;var e=o.extend({},{page:1},this.lastParams);e.page++,this.trigger("query:append",e)},e.prototype.showLoadingMore=function(e,t){return t.pagination&&t.pagination.more},e.prototype.createLoadingMore=function(){var e=o('<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'),t=this.options.get("translations").get("loadingMore");return e.html(t(this.lastParams)),e},e}),e.define("select2/dropdown/attachBody",["jquery","../utils"],function(f,a){function e(e,t,n){this.$dropdownParent=n.get("dropdownParent")||f(document.body),e.call(this,t,n)}return e.prototype.bind=function(e,t,n){var i=this,o=!1;e.call(this,t,n),t.on("open",function(){i._showDropdown(),i._attachPositioningHandler(t),o||(o=!0,t.on("results:all",function(){i._positionDropdown(),i._resizeDropdown()}),t.on("results:append",function(){i._positionDropdown(),i._resizeDropdown()}))}),t.on("close",function(){i._hideDropdown(),i._detachPositioningHandler(t)}),this.$dropdownContainer.on("mousedown",function(e){e.stopPropagation()})},e.prototype.destroy=function(e){e.call(this),this.$dropdownContainer.remove()},e.prototype.position=function(e,t,n){t.attr("class",n.attr("class")),t.removeClass("select2"),t.addClass("select2-container--open"),t.css({position:"absolute",top:-999999}),this.$container=n},e.prototype.render=function(e){var t=f("<span></span>"),n=e.call(this);return t.append(n),this.$dropdownContainer=t},e.prototype._hideDropdown=function(e){this.$dropdownContainer.detach()},e.prototype._attachPositioningHandler=function(e,t){var n=this,i="scroll.select2."+t.id,o="resize.select2."+t.id,s="orientationchange.select2."+t.id,r=this.$container.parents().filter(a.hasScroll);r.each(function(){f(this).data("select2-scroll-position",{x:f(this).scrollLeft(),y:f(this).scrollTop()})}),r.on(i,function(e){var t=f(this).data("select2-scroll-position");f(this).scrollTop(t.y)}),f(window).on(i+" "+o+" "+s,function(e){n._positionDropdown(),n._resizeDropdown()})},e.prototype._detachPositioningHandler=function(e,t){var n="scroll.select2."+t.id,i="resize.select2."+t.id,o="orientationchange.select2."+t.id;this.$container.parents().filter(a.hasScroll).off(n),f(window).off(n+" "+i+" "+o)},e.prototype._positionDropdown=function(){var e=f(window),t=this.$dropdown.hasClass("select2-dropdown--above"),n=this.$dropdown.hasClass("select2-dropdown--below"),i=null,o=this.$container.offset();o.bottom=o.top+this.$container.outerHeight(!1);var s={height:this.$container.outerHeight(!1)};s.top=o.top,s.bottom=o.top+s.height;var r=this.$dropdown.outerHeight(!1),a=e.scrollTop(),l=e.scrollTop()+e.height(),c=a<o.top-r,u=l>o.bottom+r,d={left:o.left,top:s.bottom},p=this.$dropdownParent;"static"===p.css("position")&&(p=p.offsetParent());var h=p.offset();d.top-=h.top,d.left-=h.left,t||n||(i="below"),u||!c||t?!c&&u&&t&&(i="below"):i="above",("above"==i||t&&"below"!==i)&&(d.top=s.top-h.top-r),null!=i&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+i),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+i)),this.$dropdownContainer.css(d)},e.prototype._resizeDropdown=function(){var e={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(e.minWidth=e.width,e.position="relative",e.width="auto"),this.$dropdown.css(e)},e.prototype._showDropdown=function(e){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},e}),e.define("select2/dropdown/minimumResultsForSearch",[],function(){function e(e,t,n,i){this.minimumResultsForSearch=n.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=Infinity),e.call(this,t,n,i)}return e.prototype.showSearch=function(e,t){return!(function o(e){for(var t=0,n=0;n<e.length;n++){var i=e[n];i.children?t+=o(i.children):t++}return t}(t.data.results)<this.minimumResultsForSearch)&&e.call(this,t)},e}),e.define("select2/dropdown/selectOnClose",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("close",function(e){i._handleSelectOnClose(e)})},e.prototype._handleSelectOnClose=function(e,t){if(t&&null!=t.originalSelect2Event){var n=t.originalSelect2Event;if("select"===n._type||"unselect"===n._type)return}var i=this.getHighlightedResults();if(!(i.length<1)){var o=i.data("data");null!=o.element&&o.element.selected||null==o.element&&o.selected||this.trigger("select",{data:o})}},e}),e.define("select2/dropdown/closeOnSelect",[],function(){function e(){}return e.prototype.bind=function(e,t,n){var i=this;e.call(this,t,n),t.on("select",function(e){i._selectTriggered(e)}),t.on("unselect",function(e){i._selectTriggered(e)})},e.prototype._selectTriggered=function(e,t){var n=t.originalEvent;n&&n.ctrlKey||this.trigger("close",{originalEvent:n,originalSelect2Event:t})},e}),e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return 1!=t&&(n+="s"),n},inputTooShort:function(e){return"Please enter "+(e.minimum-e.input.length)+" or more characters"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return 1!=e.maximum&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),e.define("select2/defaults",["jquery","require","./results","./selection/single","./selection/multiple","./selection/placeholder","./selection/allowClear","./selection/search","./selection/eventRelay","./utils","./translation","./diacritics","./data/select","./data/array","./data/ajax","./data/tags","./data/tokenizer","./data/minimumInputLength","./data/maximumInputLength","./data/maximumSelectionLength","./dropdown","./dropdown/search","./dropdown/hidePlaceholder","./dropdown/infiniteScroll","./dropdown/attachBody","./dropdown/minimumResultsForSearch","./dropdown/selectOnClose","./dropdown/closeOnSelect","./i18n/en"],function(m,v,y,w,_,$,b,x,A,C,S,n,O,E,D,T,q,j,L,k,P,I,M,R,z,H,U,N,e){function t(){this.reset()}return t.prototype.apply=function(e){if(null==(e=m.extend(!0,{},this.defaults,e)).dataAdapter){if(null!=e.ajax?e.dataAdapter=D:null!=e.data?e.dataAdapter=E:e.dataAdapter=O,0<e.minimumInputLength&&(e.dataAdapter=C.Decorate(e.dataAdapter,j)),0<e.maximumInputLength&&(e.dataAdapter=C.Decorate(e.dataAdapter,L)),0<e.maximumSelectionLength&&(e.dataAdapter=C.Decorate(e.dataAdapter,k)),e.tags&&(e.dataAdapter=C.Decorate(e.dataAdapter,T)),null==e.tokenSeparators&&null==e.tokenizer||(e.dataAdapter=C.Decorate(e.dataAdapter,q)),null!=e.query){var t=v(e.amdBase+"compat/query");e.dataAdapter=C.Decorate(e.dataAdapter,t)}if(null!=e.initSelection){var n=v(e.amdBase+"compat/initSelection");e.dataAdapter=C.Decorate(e.dataAdapter,n)}}if(null==e.resultsAdapter&&(e.resultsAdapter=y,null!=e.ajax&&(e.resultsAdapter=C.Decorate(e.resultsAdapter,R)),null!=e.placeholder&&(e.resultsAdapter=C.Decorate(e.resultsAdapter,M)),e.selectOnClose&&(e.resultsAdapter=C.Decorate(e.resultsAdapter,U))),null==e.dropdownAdapter){if(e.multiple)e.dropdownAdapter=P;else{var i=C.Decorate(P,I);e.dropdownAdapter=i}if(0!==e.minimumResultsForSearch&&(e.dropdownAdapter=C.Decorate(e.dropdownAdapter,H)),e.closeOnSelect&&(e.dropdownAdapter=C.Decorate(e.dropdownAdapter,N)),null!=e.dropdownCssClass||null!=e.dropdownCss||null!=e.adaptDropdownCssClass){var o=v(e.amdBase+"compat/dropdownCss");e.dropdownAdapter=C.Decorate(e.dropdownAdapter,o)}e.dropdownAdapter=C.Decorate(e.dropdownAdapter,z)}if(null==e.selectionAdapter){if(e.multiple?e.selectionAdapter=_:e.selectionAdapter=w,null!=e.placeholder&&(e.selectionAdapter=C.Decorate(e.selectionAdapter,$)),e.allowClear&&(e.selectionAdapter=C.Decorate(e.selectionAdapter,b)),e.multiple&&(e.selectionAdapter=C.Decorate(e.selectionAdapter,x)),null!=e.containerCssClass||null!=e.containerCss||null!=e.adaptContainerCssClass){var s=v(e.amdBase+"compat/containerCss");e.selectionAdapter=C.Decorate(e.selectionAdapter,s)}e.selectionAdapter=C.Decorate(e.selectionAdapter,A)}if("string"==typeof e.language)if(0<e.language.indexOf("-")){var r=e.language.split("-")[0];e.language=[e.language,r]}else e.language=[e.language];if(m.isArray(e.language)){var a=new S;e.language.push("en");for(var l=e.language,c=0;c<l.length;c++){var u=l[c],d={};try{d=S.loadPath(u)}catch(f){try{u=this.defaults.amdLanguageBase+u,d=S.loadPath(u)}catch(g){e.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+u+'" could not be automatically loaded. A fallback will be used instead.');continue}}a.extend(d)}e.translations=a}else{var p=S.loadPath(this.defaults.amdLanguageBase+"en"),h=new S(e.language);h.extend(p),e.translations=h}return e},t.prototype.reset=function(){function r(e){return e.replace(/[^\u0000-\u007E]/g,function t(e){return n[e]||e})}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:C.escapeMarkup,language:e,matcher:function a(e,t){if(""===m.trim(e.term))return t;if(t.children&&0<t.children.length){for(var n=m.extend(!0,{},t),i=t.children.length-1;0<=i;i--)null==a(e,t.children[i])&&n.children.splice(i,1);return 0<n.children.length?n:a(e,n)}var o=r(t.text).toUpperCase(),s=r(e.term).toUpperCase();return-1<o.indexOf(s)?t:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(e){return e},templateResult:function(e){return e.text},templateSelection:function(e){return e.text},theme:"default",width:"resolve"}},t.prototype.set=function(e,t){var n={};n[m.camelCase(e)]=t;var i=C._convertData(n);m.extend(this.defaults,i)},new t}),e.define("select2/options",["require","jquery","./defaults","./utils"],function(i,s,o,r){function e(e,t){if(this.options=e,null!=t&&this.fromElement(t),this.options=o.apply(this.options),t&&t.is("input")){var n=i(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=r.Decorate(this.options.dataAdapter,n)}}return e.prototype.fromElement=function(e){var t=["select2"];null==this.options.multiple&&(this.options.multiple=e.prop("multiple")),null==this.options.disabled&&(this.options.disabled=e.prop("disabled")),null==this.options.language&&(e.prop("lang")?this.options.language=e.prop("lang").toLowerCase():e.closest("[lang]").prop("lang")&&(this.options.language=e.closest("[lang]").prop("lang"))),null==this.options.dir&&(e.prop("dir")?this.options.dir=e.prop("dir"):e.closest("[dir]").prop("dir")?this.options.dir=e.closest("[dir]").prop("dir"):this.options.dir="ltr"),e.prop("disabled",this.options.disabled),e.prop("multiple",this.options.multiple),e.data("select2Tags")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'),e.data("data",e.data("select2Tags")),e.data("tags",!0)),e.data("ajaxUrl")&&(this.options.debug&&window.console&&console.warn&&console.warn("Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2."),e.attr("ajax--url",e.data("ajaxUrl")),e.data("ajax--url",e.data("ajaxUrl")));var n={};n=s.fn.jquery&&"1."==s.fn.jquery.substr(0,2)&&e[0].dataset?s.extend(!0,{},e[0].dataset,e.data()):e.data();var i=s.extend(!0,{},n);for(var o in i=r._convertData(i))-1<s.inArray(o,t)||(s.isPlainObject(this.options[o])?s.extend(this.options[o],i[o]):this.options[o]=i[o]);return this},e.prototype.get=function(e){return this.options[e]},e.prototype.set=function(e,t){this.options[e]=t},e}),e.define("select2/core",["jquery","./options","./utils","./keys"],function(o,c,n,s){var u=function(e,t){null!=e.data("select2")&&e.data("select2").destroy(),this.$element=e,this.id=this._generateId(e),t=t||{},this.options=new c(t,e),u.__super__.constructor.call(this);var n=e.attr("tabindex")||0;e.data("old-tabindex",n),e.attr("tabindex","-1");var i=this.options.get("dataAdapter");this.dataAdapter=new i(e,this.options);var o=this.render();this._placeContainer(o);var s=this.options.get("selectionAdapter");this.selection=new s(e,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,o);var r=this.options.get("dropdownAdapter");this.dropdown=new r(e,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,o);var a=this.options.get("resultsAdapter");this.results=new a(e,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var l=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(e){l.trigger("selection:update",{data:e})}),e.addClass("select2-hidden-accessible"),e.attr("aria-hidden","true"),this._syncAttributes(),e.data("select2",this)};return n.Extend(u,n.Observable),u.prototype._generateId=function(e){return"select2-"+(null!=e.attr("id")?e.attr("id"):null!=e.attr("name")?e.attr("name")+"-"+n.generateChars(2):n.generateChars(4)).replace(/(:|\.|\[|\]|,)/g,"")},u.prototype._placeContainer=function(e){e.insertAfter(this.$element);var t=this._resolveWidth(this.$element,this.options.get("width"));null!=t&&e.css("width",t)},u.prototype._resolveWidth=function(e,t){var n=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==t){var i=this._resolveWidth(e,"style");return null!=i?i:this._resolveWidth(e,"element")}if("element"==t){var o=e.outerWidth(!1);return o<=0?"auto":o+"px"}if("style"!=t)return t;var s=e.attr("style");if("string"!=typeof s)return null;for(var r=s.split(";"),a=0,l=r.length;a<l;a+=1){var c=r[a].replace(/\s/g,"").match(n);if(null!==c&&1<=c.length)return c[1]}return null},u.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},u.prototype._registerDomEvents=function(){var t=this;this.$element.on("change.select2",function(){t.dataAdapter.current(function(e){t.trigger("selection:update",{data:e})})}),this.$element.on("focus.select2",function(e){t.trigger("focus",e)}),this._syncA=n.bind(this._syncAttributes,this),this._syncS=n.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var e=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=e?(this._observer=new e(function(e){o.each(e,t._syncA),o.each(e,t._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",t._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",t._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",t._syncS,!1))},u.prototype._registerDataEvents=function(){var n=this;this.dataAdapter.on("*",function(e,t){n.trigger(e,t)})},u.prototype._registerSelectionEvents=function(){var n=this,i=["toggle","focus"];this.selection.on("toggle",function(){n.toggleDropdown()}),this.selection.on("focus",function(e){n.focus(e)}),this.selection.on("*",function(e,t){-1===o.inArray(e,i)&&n.trigger(e,t)})},u.prototype._registerDropdownEvents=function(){var n=this;this.dropdown.on("*",function(e,t){n.trigger(e,t)})},u.prototype._registerResultsEvents=function(){var n=this;this.results.on("*",function(e,t){n.trigger(e,t)})},u.prototype._registerEvents=function(){var i=this;this.on("open",function(){i.$container.addClass("select2-container--open")}),this.on("close",function(){i.$container.removeClass("select2-container--open")}),this.on("enable",function(){i.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){i.$container.addClass("select2-container--disabled")}),this.on("blur",function(){i.$container.removeClass("select2-container--focus")}),this.on("query",function(t){i.isOpen()||i.trigger("open",{}),this.dataAdapter.query(t,function(e){i.trigger("results:all",{data:e,query:t})})}),this.on("query:append",function(t){this.dataAdapter.query(t,function(e){i.trigger("results:append",{data:e,query:t})})}),this.on("open",function(){setTimeout(function(){i.focusOnActiveElement()},1)}),o(document).on("keydown",function(e){var t=e.which;if(i.isOpen()){t===s.ESC||t===s.UP&&e.altKey?(i.close(),e.preventDefault()):t===s.ENTER||t===s.TAB?(i.trigger("results:select",{}),e.preventDefault()):t===s.SPACE&&e.ctrlKey?(i.trigger("results:toggle",{}),e.preventDefault()):t===s.UP?(i.trigger("results:previous",{}),e.preventDefault()):t===s.DOWN&&(i.trigger("results:next",{}),e.preventDefault());var n=i.$dropdown.find(".select2-search__field");n.length||(n=i.$container.find(".select2-search__field")),t===s.DOWN||t===s.UP?i.focusOnActiveElement():(n.focus(),setTimeout(function(){i.focusOnActiveElement()},1e3))}else i.hasFocus()&&(t!==s.ENTER&&t!==s.SPACE&&t!==s.DOWN||(i.open(),e.preventDefault()))})},u.prototype.focusOnActiveElement=function(){this.isOpen()&&!n.isTouchscreen()&&this.$results.find("li.select2-results__option--highlighted").focus()},u.prototype._syncAttributes=function(){this.options.set("disabled",this.$element.prop("disabled")),this.options.get("disabled")?(this.isOpen()&&this.close(),this.trigger("disable",{})):this.trigger("enable",{})},u.prototype._syncSubtree=function(e,t){var n=!1,i=this;if(!e||!e.target||"OPTION"===e.target.nodeName||"OPTGROUP"===e.target.nodeName){if(t)if(t.addedNodes&&0<t.addedNodes.length)for(var o=0;o<t.addedNodes.length;o++){t.addedNodes[o].selected&&(n=!0)}else t.removedNodes&&0<t.removedNodes.length&&(n=!0);else n=!0;n&&this.dataAdapter.current(function(e){i.trigger("selection:update",{data:e})})}},u.prototype.trigger=function(e,t){var n=u.__super__.trigger,i={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(t===undefined&&(t={}),e in i){var o=i[e],s={prevented:!1,name:e,args:t};if(n.call(this,o,s),s.prevented)return void(t.prevented=!0)}n.call(this,e,t)},u.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},u.prototype.open=function(){this.isOpen()||this.trigger("query",{})},u.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},u.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},u.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},u.prototype.focus=function(e){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},u.prototype.enable=function(e){this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'),null!=e&&0!==e.length||(e=[!0]);var t=!e[0];this.$element.prop("disabled",t)},u.prototype.data=function(){this.options.get("debug")&&0<arguments.length&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},u.prototype.val=function(e){if(this.options.get("debug")&&window.console&&console.warn&&console.warn('Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var t=e[0];o.isArray(t)&&(t=o.map(t,function(e){return e.toString()})),this.$element.val(t).trigger("change")},u.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent("onpropertychange",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener("DOMAttrModified",this._syncA,!1),this.$element[0].removeEventListener("DOMNodeInserted",this._syncS,!1),this.$element[0].removeEventListener("DOMNodeRemoved",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(".select2"),this.$element.attr("tabindex",this.$element.data("old-tabindex")),this.$element.removeClass("select2-hidden-accessible"),this.$element.attr("aria-hidden","false"),this.$element.removeData("select2"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},u.prototype.render=function(){var e=o('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return e.attr("dir",this.options.get("dir")),this.$container=e,this.$container.addClass("select2-container--"+this.options.get("theme")),e.data("element",this.$element),e},u}),e.define("select2/compat/utils",["jquery"],function(r){return{syncCssClasses:function a(e,t,n){var i,o,s=[];(i=r.trim(e.attr("class")))&&r((i=""+i).split(/\s+/)).each(function(){0===this.indexOf("select2-")&&s.push(this)}),(i=r.trim(t.attr("class")))&&r((i=""+i).split(/\s+/)).each(function(){0!==this.indexOf("select2-")&&null!=(o=n(this))&&s.push(o)}),e.attr("class",s.join(" "))}}}),e.define("select2/compat/containerCss",["jquery","./utils"],function(r,a){function l(e){return null}function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("containerCssClass")||"";r.isFunction(n)&&(n=n(this.$element));var i=this.options.get("adaptContainerCssClass");if(i=i||l,-1!==n.indexOf(":all:")){n=n.replace(":all:","");var o=i;i=function(e){var t=o(e);return null!=t?t+" "+e:e}}var s=this.options.get("containerCss")||{};return r.isFunction(s)&&(s=s(this.$element)),a.syncCssClasses(t,this.$element,i),t.css(s),t.addClass(n),t},e}),e.define("select2/compat/dropdownCss",["jquery","./utils"],function(r,a){function l(e){return null}function e(){}return e.prototype.render=function(e){var t=e.call(this),n=this.options.get("dropdownCssClass")||"";r.isFunction(n)&&(n=n(this.$element));var i=this.options.get("adaptDropdownCssClass");if(i=i||l,-1!==n.indexOf(":all:")){n=n.replace(":all:","");var o=i;i=function(e){var t=o(e);return null!=t?t+" "+e:e}}var s=this.options.get("dropdownCss")||{};return r.isFunction(s)&&(s=s(this.$element)),a.syncCssClasses(t,this.$element,i),t.css(s),t.addClass(n),t},e}),e.define("select2/compat/initSelection",["jquery"],function(i){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `initSelection` option has been deprecated in favor of a custom data adapter that overrides the `current` method. This method is now called multiple times instead of a single time when the instance is initialized. Support will be removed for the `initSelection` option in future versions of Select2"),this.initSelection=n.get("initSelection"),this._isInitialized=!1,e.call(this,t,n)}return e.prototype.current=function(e,t){var n=this;this._isInitialized?e.call(this,t):this.initSelection.call(null,this.$element,function(e){n._isInitialized=!0,i.isArray(e)||(e=[e]),t(e)})},e}),e.define("select2/compat/inputData",["jquery"],function(r){function e(e,t,n){this._currentData=[],this._valueSeparator=n.get("valueSeparator")||",","hidden"===t.prop("type")&&n.get("debug")&&console&&console.warn&&console.warn("Select2: Using a hidden input with Select2 is no longer supported and may stop working in the future. It is recommended to use a `<select>` element instead."),e.call(this,t,n)}return e.prototype.current=function(e,t){function i(e,t){var n=[];return e.selected||-1!==r.inArray(e.id,t)?(e.selected=!0,n.push(e)):e.selected=!1,e.children&&n.push.apply(n,i(e.children,t)),n}for(var n=[],o=0;o<this._currentData.length;o++){var s=this._currentData[o];n.push.apply(n,i(s,this.$element.val().split(this._valueSeparator)))}t(n)},e.prototype.select=function(e,t){if(this.options.get("multiple")){var n=this.$element.val();n+=this._valueSeparator+t.id,this.$element.val(n),this.$element.trigger("change")}else this.current(function(e){r.map(e,function(e){e.selected=!1})}),this.$element.val(t.id),this.$element.trigger("change")},e.prototype.unselect=function(e,o){var s=this;o.selected=!1,this.current(function(e){for(var t=[],n=0;n<e.length;n++){var i=e[n];o.id!=i.id&&t.push(i.id)}s.$element.val(t.join(s._valueSeparator)),s.$element.trigger("change")})},e.prototype.query=function(e,t,n){for(var i=[],o=0;o<this._currentData.length;o++){var s=this._currentData[o],r=this.matches(t,s);null!==r&&i.push(r)}n({results:i})},e.prototype.addOptions=function(e,t){var n=r.map(t,function(e){return r.data(e[0],"data")});this._currentData.push.apply(this._currentData,n)},e}),e.define("select2/compat/matcher",["jquery"],function(a){return function e(s){return function r(e,t){var n=a.extend(!0,{},t);if(null==e.term||""===a.trim(e.term))return n;if(t.children){for(var i=t.children.length-1;0<=i;i--){var o=t.children[i];s(e.term,o.text,o)||n.children.splice(i,1)}if(0<n.children.length)return n}return s(e.term,t.text,t)?n:null}}}),e.define("select2/compat/query",[],function(){function e(e,t,n){n.get("debug")&&window.console&&console.warn&&console.warn("Select2: The `query` option has been deprecated in favor of a custom data adapter that overrides the `query` method. Support will be removed for the `query` option in future versions of Select2."),e.call(this,t,n)}return e.prototype.query=function(e,t,n){t.callback=n,this.options.get("query").call(null,t)},e}),e.define("select2/dropdown/attachContainer",[],function(){function e(e,t,n){e.call(this,t,n)}return e.prototype.position=function(e,t,n){n.find(".dropdown-wrapper").append(t),t.addClass("select2-dropdown--below"),n.addClass("select2-container--below")},e}),e.define("select2/dropdown/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$dropdown.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),e.define("select2/selection/stopPropagation",[],function(){function e(){}return e.prototype.bind=function(e,t,n){e.call(this,t,n);this.$selection.on(["blur","change","click","dblclick","focus","focusin","focusout","input","keydown","keyup","keypress","mousedown","mouseenter","mouseleave","mousemove","mouseover","mouseup","search","touchend","touchstart"].join(" "),function(e){e.stopPropagation()})},e}),
9
+ /*!
10
+ * jQuery Mousewheel 3.1.13
11
+ *
12
+ * Copyright jQuery Foundation and other contributors
13
+ * Released under the MIT license
14
+ * http://jquery.org/license
15
+ */
16
+ l=function(p){var h,f,e=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],t="onwheel"in document||9<=document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],g=Array.prototype.slice;if(p.event.fixHooks)for(var n=e.length;n;)p.event.fixHooks[e[--n]]=p.event.mouseHooks;var m=p.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var e=t.length;e;)this.addEventListener(t[--e],i,!1);else this.onmousewheel=i;p.data(this,"mousewheel-line-height",m.getLineHeight(this)),p.data(this,"mousewheel-page-height",m.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var e=t.length;e;)this.removeEventListener(t[--e],i,!1);else this.onmousewheel=null;p.removeData(this,"mousewheel-line-height"),p.removeData(this,"mousewheel-page-height")},getLineHeight:function(e){var t=p(e),n=t["offsetParent"in p.fn?"offsetParent":"parent"]();return n.length||(n=p("body")),parseInt(n.css("fontSize"),10)||parseInt(t.css("fontSize"),10)||16},getPageHeight:function(e){return p(e).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};function i(e){var t,n=e||window.event,i=g.call(arguments,1),o=0,s=0,r=0,a=0,l=0;if((e=p.event.fix(n)).type="mousewheel","detail"in n&&(r=-1*n.detail),"wheelDelta"in n&&(r=n.wheelDelta),"wheelDeltaY"in n&&(r=n.wheelDeltaY),"wheelDeltaX"in n&&(s=-1*n.wheelDeltaX),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(s=-1*r,r=0),o=0===r?s:r,"deltaY"in n&&(o=r=-1*n.deltaY),"deltaX"in n&&(s=n.deltaX,0===r&&(o=-1*s)),0!==r||0!==s){if(1===n.deltaMode){var c=p.data(this,"mousewheel-line-height");o*=c,r*=c,s*=c}else if(2===n.deltaMode){var u=p.data(this,"mousewheel-page-height");o*=u,r*=u,s*=u}if(t=Math.max(Math.abs(r),Math.abs(s)),(!f||t<f)&&y(n,f=t)&&(f/=40),y(n,t)&&(o/=40,s/=40,r/=40),o=Math[1<=o?"floor":"ceil"](o/f),s=Math[1<=s?"floor":"ceil"](s/f),r=Math[1<=r?"floor":"ceil"](r/f),m.settings.normalizeOffset&&this.getBoundingClientRect){var d=this.getBoundingClientRect();a=e.clientX-d.left,l=e.clientY-d.top}return e.deltaX=s,e.deltaY=r,e.deltaFactor=f,e.offsetX=a,e.offsetY=l,e.deltaMode=0,i.unshift(e,o,s,r),h&&clearTimeout(h),h=setTimeout(v,200),(p.event.dispatch||p.event.handle).apply(this,i)}}function v(){f=null}function y(e,t){return m.settings.adjustOldDeltas&&"mousewheel"===e.type&&t%120==0}p.fn.extend({mousewheel:function(e){return e?this.bind("mousewheel",e):this.trigger("mousewheel")},unmousewheel:function(e){return this.unbind("mousewheel",e)}})},"function"==typeof e.define&&e.define.amd?e.define("jquery-mousewheel",["jquery"],l):"object"==typeof exports?module.exports=l:l(d),e.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(o,e,s,t){if(null==o.fn.selectWoo){var r=["open","close","destroy"];o.fn.selectWoo=function(t){if("object"==typeof(t=t||{}))return this.each(function(){var e=o.extend(!0,{},t);new s(o(this),e)}),this;if("string"!=typeof t)throw new Error("Invalid arguments for Select2: "+t);var n,i=Array.prototype.slice.call(arguments,1);return this.each(function(){var e=o(this).data("select2");null==e&&window.console&&console.error&&console.error("The select2('"+t+"') method was called on an element that is not using Select2."),n=e[t].apply(e,i)}),-1<o.inArray(t,r)?this:n}}return null!=o.fn.select2&&null!=o.fn.select2.defaults&&(o.fn.selectWoo.defaults=o.fn.select2.defaults),null==o.fn.selectWoo.defaults&&(o.fn.selectWoo.defaults=t),o.fn.select2=o.fn.select2||o.fn.selectWoo,s}),{define:e.define,require:e.require}}(),t=e.require("jquery.select2");return d.fn.select2.amd=e,d.fn.selectWoo.amd=e,t});
woo-discount-rules.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Simple to complex discount rules for your WooCommerce store. Core package.
6
  * Author: Flycart Technologies LLP
7
  * Author URI: https://www.flycart.org
8
- * Version: 2.0.1
9
  * Slug: woo-discount-rules
10
  * Text Domain: woo-discount-rules
11
  * Domain Path: /i18n/languages/
@@ -17,6 +17,13 @@ if (!defined('ABSPATH')) {
17
  exit;
18
  }
19
 
 
 
 
 
 
 
 
20
  global $awdr_load_version, $awdr_switched_to_version;
21
  /**
22
  * Save the load version of the plugin
@@ -78,12 +85,6 @@ if (!defined('WDR_PLUGIN_URL')) {
78
  if (!defined('WDR_PLUGIN_BASENAME')) {
79
  define('WDR_PLUGIN_BASENAME', plugin_basename(__FILE__));
80
  }
81
- /**
82
- * Current version of our app
83
- */
84
- if (!defined('WDR_VERSION')) {
85
- define('WDR_VERSION', '2.0.1');
86
- }
87
 
88
  /**
89
  * The plugin Text Domain
5
  * Description: Simple to complex discount rules for your WooCommerce store. Core package.
6
  * Author: Flycart Technologies LLP
7
  * Author URI: https://www.flycart.org
8
+ * Version: 2.0.2
9
  * Slug: woo-discount-rules
10
  * Text Domain: woo-discount-rules
11
  * Domain Path: /i18n/languages/
17
  exit;
18
  }
19
 
20
+ /**
21
+ * Current version of our app
22
+ */
23
+ if (!defined('WDR_VERSION')) {
24
+ define('WDR_VERSION', '2.0.2');
25
+ }
26
+
27
  global $awdr_load_version, $awdr_switched_to_version;
28
  /**
29
  * Save the load version of the plugin
85
  if (!defined('WDR_PLUGIN_BASENAME')) {
86
  define('WDR_PLUGIN_BASENAME', plugin_basename(__FILE__));
87
  }
 
 
 
 
 
 
88
 
89
  /**
90
  * The plugin Text Domain