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 | 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 +404 -166
- readme.txt +7 -1
- v2/App/Compatibility/CurrencySwitcherByRealmag777.php +3 -1
- v2/App/Controllers/Admin/Settings.php +33 -4
- v2/App/Controllers/Admin/Tabs/ImportExport.php +2 -0
- v2/App/Controllers/DiscountCalculator.php +2 -2
- v2/App/Controllers/ManageDiscount.php +104 -7
- v2/App/Helpers/Helper.php +70 -0
- v2/App/Helpers/Input.php +3 -2
- v2/App/Helpers/Rule.php +1 -1
- v2/App/Helpers/Woocommerce.php +3 -1
- v2/App/Models/DBTable.php +1 -1
- v2/App/Router.php +1 -0
- v2/App/Views/Admin/Rules/Conditions/Main.php +7 -4
- v2/App/Views/Admin/Rules/DiscountBatch/Main.php +2 -2
- v2/App/Views/Admin/Rules/Discounts/Main.php +40 -4
- v2/App/Views/Admin/Rules/Manage.php +7 -0
- v2/App/Views/Admin/Tabs/DiscountRule.php +1 -1
- v2/App/Views/Admin/Tabs/ImportExport.php +14 -2
- v2/App/Views/Admin/Tabs/settings.php +17 -17
- v2/Assets/Css/admin_style.css +20 -1
- v2/Assets/Js/admin_script.js +82 -16
- v2/Assets/Js/selectWoo.full.min.js +16 -0
- woo-discount-rules.php +8 -7
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-
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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/
|
664 |
-
#: v2/App/Helpers/ProOptions.php:
|
665 |
-
#: v2/App/Helpers/ProOptions.php:
|
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:
|
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:
|
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:
|
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:
|
1415 |
#: v2/App/Views/Admin/Rules/Discounts/Bulk.php:59
|
1416 |
-
#: v2/App/Views/Admin/Rules/Manage.php:
|
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:
|
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:
|
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:
|
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:
|
2571 |
msgid "no results"
|
2572 |
msgstr ""
|
2573 |
|
2574 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2575 |
msgid "Select Values"
|
2576 |
msgstr ""
|
2577 |
|
2578 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2579 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:292
|
2580 |
msgid " - (Running)"
|
2581 |
msgstr ""
|
2582 |
|
2583 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2584 |
msgid "Oops!! something went wrong!"
|
2585 |
msgstr ""
|
2586 |
|
2587 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2588 |
msgid "Rule duplicated successfully!"
|
2589 |
msgstr ""
|
2590 |
|
2591 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2592 |
msgid "Rule deleted successfully!"
|
2593 |
msgstr ""
|
2594 |
|
2595 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2596 |
msgid "Are you sure want to delete this rule!"
|
2597 |
msgstr ""
|
2598 |
|
2599 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2600 |
msgid "Rule disabled successfully!"
|
2601 |
msgstr ""
|
2602 |
|
2603 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2604 |
msgid "Rule enabled successfully!"
|
2605 |
msgstr ""
|
2606 |
|
2607 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2608 |
msgid "Rule saved successfully!"
|
2609 |
msgstr ""
|
2610 |
|
2611 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2612 |
msgid "Settings saved successfully!"
|
2613 |
msgstr ""
|
2614 |
|
2615 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2616 |
msgid "Rule priority changed successfully!"
|
2617 |
msgstr ""
|
2618 |
|
2619 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2620 |
msgid "Rule priority not changed !"
|
2621 |
msgstr ""
|
2622 |
|
2623 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2624 |
msgid "No data for this period"
|
2625 |
msgstr ""
|
2626 |
|
2627 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2628 |
msgid "Oops! Coupon already exists in Woocommerce"
|
2629 |
msgstr ""
|
2630 |
|
2631 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2632 |
msgid "Copied!"
|
2633 |
msgstr ""
|
2634 |
|
2635 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2636 |
#: v2/App/Views/Admin/Tabs/settings.php:496
|
2637 |
msgid "Copy ShortCode"
|
2638 |
msgstr ""
|
2639 |
|
2640 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2641 |
msgid "If you make this recursive other row(s) will be removed!"
|
2642 |
msgstr ""
|
2643 |
|
2644 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2645 |
msgid "Minimum Quantity"
|
2646 |
msgstr ""
|
2647 |
|
2648 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2649 |
msgid "Discount value"
|
2650 |
msgstr ""
|
2651 |
|
2652 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2653 |
msgid "Filter (Buy)"
|
2654 |
msgstr ""
|
2655 |
|
2656 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2657 |
-
#: v2/App/Views/Admin/Rules/Manage.php:
|
2658 |
msgid "Filter"
|
2659 |
msgstr ""
|
2660 |
|
2661 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
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:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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:
|
2674 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2675 |
msgstr ""
|
2676 |
|
2677 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2678 |
msgid ""
|
2679 |
-
"<p>
|
2680 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2681 |
msgstr ""
|
2682 |
|
2683 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
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:
|
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:
|
2696 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2697 |
msgid "Get Discount"
|
2698 |
msgstr ""
|
2699 |
|
2700 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
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:
|
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:
|
2717 |
msgid ""
|
2718 |
-
"<p>
|
2719 |
-
"
|
2720 |
-
"
|
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:
|
2728 |
-
|
2729 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2730 |
msgstr ""
|
2731 |
|
2732 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2733 |
msgid "<p>Processing migration, please wait...</p>"
|
2734 |
msgstr ""
|
2735 |
|
2736 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2737 |
msgid "<p>Migration completed.</p>"
|
2738 |
msgstr ""
|
2739 |
|
2740 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2741 |
msgid "<p>Migration skipped.</p>"
|
2742 |
msgstr ""
|
2743 |
|
2744 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2745 |
msgid "<p>Skipping migration, please wait...</p>"
|
2746 |
msgstr ""
|
2747 |
|
2748 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
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:
|
2755 |
msgid "<span>Discount applies to all eligible products in the store</span>"
|
2756 |
msgstr ""
|
2757 |
|
2758 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
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:
|
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:
|
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:
|
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:
|
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:
|
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:
|
2802 |
msgid "<span>Discount applies to custom taxonomy</span>"
|
2803 |
msgstr ""
|
2804 |
|
2805 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2806 |
msgid "Processing please wait.."
|
2807 |
msgstr ""
|
2808 |
|
2809 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2810 |
msgid "Rebuild index processed"
|
2811 |
msgstr ""
|
2812 |
|
2813 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2814 |
msgid "Please select the rules to build index"
|
2815 |
msgstr ""
|
2816 |
|
2817 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
2818 |
msgid "Invalid File. Upload : <b style='color:red;'>.csv</b> File. </br>"
|
2819 |
msgstr ""
|
2820 |
|
2821 |
-
#: v2/App/Controllers/Admin/Settings.php:
|
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:
|
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:
|
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:
|
2912 |
msgid "cart discount"
|
2913 |
msgstr ""
|
2914 |
|
2915 |
-
#: v2/App/Controllers/ManageDiscount.php:
|
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:
|
3095 |
msgid "Untitled Rule"
|
3096 |
msgstr ""
|
3097 |
|
3098 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3099 |
msgid "Sunday"
|
3100 |
msgstr ""
|
3101 |
|
3102 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3103 |
msgid "Monday"
|
3104 |
msgstr ""
|
3105 |
|
3106 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3107 |
msgid "Tuesday"
|
3108 |
msgstr ""
|
3109 |
|
3110 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3111 |
msgid "Wednesday"
|
3112 |
msgstr ""
|
3113 |
|
3114 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3115 |
msgid "Thursday"
|
3116 |
msgstr ""
|
3117 |
|
3118 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3119 |
msgid "Friday"
|
3120 |
msgstr ""
|
3121 |
|
3122 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3123 |
msgid "Saturday"
|
3124 |
msgstr ""
|
3125 |
|
3126 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3127 |
msgid ""
|
3128 |
"Woocommerce before main content(Archive / Shop / Cat Pages / single product)"
|
3129 |
msgstr ""
|
3130 |
|
3131 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3132 |
msgid "Woocommerce archive description(Archive / Shop / Cat Pages)"
|
3133 |
msgstr ""
|
3134 |
|
3135 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3136 |
msgid "Woocommerce before shop loop(Archive / Shop / Cat Pages)"
|
3137 |
msgstr ""
|
3138 |
|
3139 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3140 |
msgid "Woocommerce after shop loop(Archive / Shop / Cat Pages)"
|
3141 |
msgstr ""
|
3142 |
|
3143 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3144 |
msgid ""
|
3145 |
"Woocommerce after main content(Archive / Shop / Cat Pages / single product)"
|
3146 |
msgstr ""
|
3147 |
|
3148 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3149 |
#: v2/App/Views/Admin/Tabs/settings.php:212
|
3150 |
msgid "Woocommerce before single product"
|
3151 |
msgstr ""
|
3152 |
|
3153 |
-
#: v2/App/Helpers/Woocommerce.php:
|
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:
|
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:
|
3164 |
#: v2/App/Views/Admin/Tabs/settings.php:211
|
3165 |
msgid "Woocommerce after single product"
|
3166 |
msgstr ""
|
3167 |
|
3168 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3169 |
msgid "Woocommerce before cart"
|
3170 |
msgstr ""
|
3171 |
|
3172 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3173 |
msgid "Woocommerce before cart table"
|
3174 |
msgstr ""
|
3175 |
|
3176 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3177 |
msgid "Woocommerce before cart contents"
|
3178 |
msgstr ""
|
3179 |
|
3180 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3181 |
msgid "Woocommerce cart contents"
|
3182 |
msgstr ""
|
3183 |
|
3184 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3185 |
msgid "Woocommerce after cart contents"
|
3186 |
msgstr ""
|
3187 |
|
3188 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3189 |
msgid "Woocommerce after cart table"
|
3190 |
msgstr ""
|
3191 |
|
3192 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3193 |
msgid "Woocommerce after cart"
|
3194 |
msgstr ""
|
3195 |
|
3196 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3197 |
msgid "Woocommerce before checkout form"
|
3198 |
msgstr ""
|
3199 |
|
3200 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3201 |
msgid "Woocommerce before checkout billing form"
|
3202 |
msgstr ""
|
3203 |
|
3204 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3205 |
msgid "Woocommerce after checkout billing form"
|
3206 |
msgstr ""
|
3207 |
|
3208 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3209 |
msgid "Woocommerce before checkout shipping form"
|
3210 |
msgstr ""
|
3211 |
|
3212 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3213 |
msgid "Woocommerce after checkout shipping form"
|
3214 |
msgstr ""
|
3215 |
|
3216 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3217 |
msgid "Woocommerce before order notes"
|
3218 |
msgstr ""
|
3219 |
|
3220 |
-
#: v2/App/Helpers/Woocommerce.php:
|
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:
|
3292 |
msgid "Rules (Optional)"
|
3293 |
msgstr ""
|
3294 |
|
3295 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
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:
|
3306 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3307 |
msgid "Match All"
|
3308 |
msgstr ""
|
3309 |
|
3310 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3311 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3312 |
-
msgid "
|
3313 |
msgstr ""
|
3314 |
|
3315 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
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:
|
3321 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3322 |
msgid "Add condition"
|
3323 |
msgstr ""
|
3324 |
|
3325 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3326 |
msgid "Conditions Relationship"
|
3327 |
msgstr ""
|
3328 |
|
3329 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3330 |
msgid "Rule Limits"
|
3331 |
msgstr ""
|
3332 |
|
3333 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3334 |
msgid "Rule Used: "
|
3335 |
msgstr ""
|
3336 |
|
3337 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3338 |
msgid "Unlimited"
|
3339 |
msgstr ""
|
3340 |
|
3341 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3342 |
msgid "Maximum usage limit"
|
3343 |
msgstr ""
|
3344 |
|
3345 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3346 |
msgid "Rule Vaild From"
|
3347 |
msgstr ""
|
3348 |
|
3349 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3350 |
msgid "Vaild from"
|
3351 |
msgstr ""
|
3352 |
|
3353 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3354 |
msgid "Rule Valid To"
|
3355 |
msgstr ""
|
3356 |
|
3357 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3358 |
msgid "Vaild to"
|
3359 |
msgstr ""
|
3360 |
|
3361 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:
|
3362 |
msgid "Select values"
|
3363 |
msgstr ""
|
3364 |
|
3365 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:10
|
3366 |
-
msgid "Discount Bar (
|
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:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3539 |
msgid "Filters set above"
|
3540 |
msgstr ""
|
3541 |
|
3542 |
-
#: v2/App/Views/Admin/Rules/Discounts/Main.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3543 |
msgid "Individual product"
|
3544 |
msgstr ""
|
3545 |
|
3546 |
-
#: v2/App/Views/Admin/Rules/Discounts/Main.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3547 |
msgid "All variants in each product together"
|
3548 |
msgstr ""
|
3549 |
|
3550 |
-
#: v2/App/Views/Admin/Rules/Discounts/Main.php:
|
3551 |
msgid "Add Range"
|
3552 |
msgstr ""
|
3553 |
|
3554 |
-
#: v2/App/Views/Admin/Rules/Discounts/Main.php:
|
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:
|
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:
|
3690 |
msgid "Note : You can also exclude products/categories."
|
3691 |
msgstr ""
|
3692 |
|
3693 |
-
#: v2/App/Views/Admin/Rules/Manage.php:
|
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:
|
3851 |
msgid "Export tool"
|
3852 |
msgstr ""
|
3853 |
|
3854 |
-
#: v2/App/Views/Admin/Tabs/ImportExport.php:
|
3855 |
msgid "Export"
|
3856 |
msgstr ""
|
3857 |
|
3858 |
-
#: v2/App/Views/Admin/Tabs/ImportExport.php:
|
|
|
3859 |
msgid "Import Tool"
|
3860 |
msgstr ""
|
3861 |
|
3862 |
-
#: v2/App/Views/Admin/Tabs/ImportExport.php:
|
3863 |
msgid "<b style=\"color: green;\">Rules Imported successfully</b>"
|
3864 |
msgstr ""
|
3865 |
|
3866 |
-
#: v2/App/Views/Admin/Tabs/ImportExport.php:
|
3867 |
msgid "<b style=\"color: red;\">Problem in Importing CSV Data</b>"
|
3868 |
msgstr ""
|
3869 |
|
3870 |
-
#: v2/App/Views/Admin/Tabs/ImportExport.php:
|
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.
|
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 |
-
$
|
|
|
|
|
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' =>
|
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 |
-
'
|
448 |
-
'
|
449 |
-
'
|
|
|
|
|
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 |
-
$
|
|
|
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
|
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 |
-
|
|
|
|
|
|
|
|
|
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> <ins>' . self::$woocommerce_helper->formatPrice($discounted_price_with_tax_call) .$price_suffix. ' x ' . $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> <ins>' . self::$woocommerce_helper->formatPrice($discounted_price_with_tax_call) .$price_suffix. ' x ' . $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. ' x ' . $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 |
-
|
|
|
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":"
|
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 |
-
|
|
|
|
|
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 =
|
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 |
-
|
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('
|
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('
|
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 (
|
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);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
<select name="bulk_adjustments[operator]"
|
19 |
class="wdr-bulk-type bulk_discount_select awdr_mode_of_operator">
|
20 |
-
<option value="product_cumulative" <?php
|
|
|
|
|
|
|
|
|
|
|
21 |
echo 'selected';
|
22 |
} ?>><?php _e('Filters set above', WDR_TEXT_DOMAIN) ?></option>
|
23 |
-
<option
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
echo 'selected';
|
25 |
} ?>><?php _e('Individual product', WDR_TEXT_DOMAIN) ?></option>
|
26 |
-
<option
|
|
|
|
|
|
|
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://
|
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 |
-
|
|
|
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
|
770 |
-
if(data.build_index.required_rebuild
|
771 |
-
|
|
|
|
|
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 |
-
|
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={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};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">×</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">×</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.
|
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
|