Version Description
- 06/04/22 =
- Deprecated: V1 layout.
- Fix: Calculating discount for out of stock product variant.
- Fix: Custom taxonomy query while process on-sale page.
- Fix: Multiple messages on having BXGY cheapest rules.
- Improvement - Event advanced_woo_discount_rules_cart_strikeout_quantity_html.
Download this release
Release Info
Developer | flycart |
Plugin | Discount Rules for WooCommerce |
Version | 2.4.0 |
Comparing to | |
See all releases |
Code changes from version 2.3.13 to 2.4.0
- common.php +10 -47
- i18n/languages/woo-discount-rules.pot +657 -2573
- readme.txt +8 -1
- v1/assets/css/bootstrap-datetimepicker.min.css +0 -9
- v1/assets/css/bootstrap.min.css +0 -6
- v1/assets/css/bootstrap.select.min.css +0 -6
- v1/assets/css/custom.css +0 -0
- v1/assets/css/jquery-ui.css +0 -1311
- v1/assets/css/select2.min.css +0 -1
- v1/assets/css/style.css +0 -351
- v1/assets/css/tabbablePanel.css +0 -75
- v1/assets/css/woo_discount_rules.css +0 -32
- v1/assets/fonts/glyphicons-halflings-regular.eot +0 -0
- v1/assets/fonts/glyphicons-halflings-regular.svg +0 -288
- v1/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
- v1/assets/fonts/glyphicons-halflings-regular.woff +0 -0
- v1/assets/fonts/glyphicons-halflings-regular.woff2 +0 -0
- v1/assets/js/app.js +0 -1656
- v1/assets/js/bootstrap-datetimepicker.min.js +0 -1
- v1/assets/js/bootstrap.min.js +0 -6
- v1/assets/js/bootstrap.select.min.js +0 -8
- v1/assets/js/select2.min.js +0 -3
- v1/assets/js/woo_discount_rules.js +0 -84
- v1/helper/activation-helper.php +0 -173
- v1/helper/general-helper.php +0 -1281
- v1/helper/purchase.php +0 -323
- v1/helper/woo-function.php +0 -923
- v1/includes/cart-rules.php +0 -2945
- v1/includes/compatibility.php +0 -125
- v1/includes/discount-base.php +0 -1469
- v1/includes/pricing-productbased.php +0 -38
common.php
CHANGED
@@ -1,14 +1,6 @@
|
|
1 |
<?php
|
2 |
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
|
4 |
-
add_action('wp_ajax_awdr_auto_install_pro_plugin', function (){
|
5 |
-
if (current_user_can( 'manage_woocommerce' )) {
|
6 |
-
FlycartWooDiscountRulesExistingPROUpdater::installProPlugin();
|
7 |
-
exit;
|
8 |
-
} else {
|
9 |
-
die(__('Authentication required', 'woo-discount-rules'));
|
10 |
-
}
|
11 |
-
});
|
12 |
add_action('wp_ajax_awdr_switch_version', function (){
|
13 |
$version = isset($_REQUEST['version'])? $_REQUEST['version']: '';
|
14 |
$page = isset($_REQUEST['page'])? $_REQUEST['page']: '';
|
@@ -18,7 +10,7 @@ add_action('wp_ajax_awdr_switch_version', function (){
|
|
18 |
if($version == "v1"){
|
19 |
\Wdr\App\Helpers\Helper::validateRequest('wdr_ajax_switch_version', $wdr_nonce);
|
20 |
} else {
|
21 |
-
|
22 |
}
|
23 |
if (current_user_can( 'manage_woocommerce' )) {
|
24 |
if($version !== '' && $page !== ''){
|
@@ -49,26 +41,8 @@ add_action('wp_ajax_awdr_switch_version', function (){
|
|
49 |
$return['message'] = '';
|
50 |
$return['url'] = $url;
|
51 |
} else {
|
52 |
-
$
|
53 |
-
|
54 |
-
if(class_exists('FlycartWooDiscountRulesExistingPROUpdater')){
|
55 |
-
if(FlycartWooDiscountRulesExistingPROUpdater::availableAutoInstall()){
|
56 |
-
$has_auto_update = true;
|
57 |
-
}
|
58 |
-
}
|
59 |
-
}
|
60 |
-
if($has_auto_update){
|
61 |
-
$return['type'] = 'auto_install';
|
62 |
-
$message = __('<p>Since 2.0, you need BOTH Core and Pro (2.0) packages installed and activated.</p>', 'woo-discount-rules');
|
63 |
-
$message .= __('<p><b>Why we made this change?</b></p>', 'woo-discount-rules');
|
64 |
-
$message .= __('<p>This arrangement is to avoid the confusion in the installation and upgrade process. Many users first install the core free version. Then purchase the PRO version and try to install it over the free version. Since both free and pro packages have same names, wordpress asks them to uninstall free and then install pro. As you can see, this is quite confusing for the end users.</p>', 'woo-discount-rules');
|
65 |
-
$message .= __('<p>As a result, starting from 2.0, we now have two packs: 1. Core 2. PRO.</p>', 'woo-discount-rules');
|
66 |
-
$message .= '<p><button type="button" class="awdr_auto_install_pro_plugin btn btn-info">'.__('Download and Install', 'woo-discount-rules').'</button></p>';
|
67 |
-
$return['message'] = $message;
|
68 |
-
} else {
|
69 |
-
$return['message'] = __('Since 2.0, you need BOTH Core and Pro (2.0) packages installed and activated. Please download the Pro 2.0 pack from My Downloads page in our site, install and activate it. <a href="https://docs.flycart.org/en/articles/4006520-switching-to-2-0-from-v1-x-versions?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=switch_to_v2" target="_blank">Here is a guide and video tutorial</a>', 'woo-discount-rules');
|
70 |
-
$return['type'] = 'manual_install';
|
71 |
-
}
|
72 |
}
|
73 |
}
|
74 |
}
|
@@ -90,7 +64,7 @@ add_action('advanced_woo_discount_rules_on_settings_head', function () {
|
|
90 |
$version = ($awdr_load_version == "v1") ? "v2" : "v1";
|
91 |
$url = admin_url('admin.php?page=' . $page . '&awdr_switch_plugin_to=' . $version);
|
92 |
$message = __('Discount Rules V2 comes with a better UI and advanced options.', 'woo-discount-rules');
|
93 |
-
$button_text = __("Switch to
|
94 |
if($version == "v1"){
|
95 |
$has_switch = \Wdr\App\Helpers\Migration::hasSwitchBackOption();
|
96 |
$message = __('Would you like to switch to older Woo Discount Rules?', 'woo-discount-rules');
|
@@ -100,30 +74,19 @@ add_action('advanced_woo_discount_rules_on_settings_head', function () {
|
|
100 |
if($version == "v1"){
|
101 |
$nounce = \Wdr\App\Helpers\Helper::create_nonce('wdr_ajax_switch_version');
|
102 |
} else {
|
103 |
-
$nounce =
|
104 |
}
|
105 |
echo '<div class="notice notice-danger" style="background: red; color:#fff; padding: 20px;font-size: 13px;font-weight: bold;">
|
106 |
-
<p><b>Important: </b>This UI
|
|
|
107 |
</div>';
|
108 |
|
109 |
echo '<div style="background: #fff;padding: 20px;font-size: 13px;font-weight: bold;">' . $message . ' <button class="btn btn-info awdr-switch-version-button" data-version="' . $version . '" data-page="'.$page.'" data-nonce="'.$nounce.'">' . $button_text . '</button></div>';
|
110 |
echo "<div class='wdr_switch_message' style='color:#a00;font-weight: bold;'></div>";
|
111 |
-
echo '<div class="modal" id="wdr_switch_popup">
|
112 |
-
<div class="modal-sandbox"></div>
|
113 |
-
<div class="modal-box">
|
114 |
-
<div class="modal-header">
|
115 |
-
<div class="close-modal"><span class="wdr-close-modal-box">✖</span></div>
|
116 |
-
<h1 class="wdr-modal-header-title">'.__("Install 2.0 Pro package", 'woo-discount-rules').'</h1>
|
117 |
-
</div>
|
118 |
-
<div class="modal-body">
|
119 |
-
<div class=\'wdr_pro_install_message\'></div>
|
120 |
-
</div>
|
121 |
-
</div>
|
122 |
-
</div>';
|
123 |
}
|
124 |
});
|
125 |
|
126 |
-
add_action('advanced_woo_discount_rules_content_next_to_tabs', function () {
|
127 |
$has_switch = true;
|
128 |
$page = NULL;
|
129 |
if (isset($_GET['page'])) {
|
@@ -137,13 +100,13 @@ add_action('advanced_woo_discount_rules_content_next_to_tabs', function () {
|
|
137 |
if($version == "v1"){
|
138 |
$nounce = \Wdr\App\Helpers\Helper::create_nonce('wdr_ajax_switch_version');
|
139 |
} else {
|
140 |
-
$nounce =
|
141 |
}
|
142 |
if($has_switch){
|
143 |
$button_text = __("Switch back to Discount Rules 1.x", 'woo-discount-rules');
|
144 |
echo '<button class="btn btn-info awdr-switch-version-button awdr-switch-version-button-on-tab" data-version="' . $version . '" data-page="'.$page.'" data-nonce="'.$nounce.'">' . $button_text . '</button>';
|
145 |
}
|
146 |
-
})
|
147 |
|
148 |
/**
|
149 |
* Determines if the server environment is compatible with this plugin.
|
1 |
<?php
|
2 |
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
add_action('wp_ajax_awdr_switch_version', function (){
|
5 |
$version = isset($_REQUEST['version'])? $_REQUEST['version']: '';
|
6 |
$page = isset($_REQUEST['page'])? $_REQUEST['page']: '';
|
10 |
if($version == "v1"){
|
11 |
\Wdr\App\Helpers\Helper::validateRequest('wdr_ajax_switch_version', $wdr_nonce);
|
12 |
} else {
|
13 |
+
WDRV1Deprecated::validateRequest('wdr_ajax_switch_version', $wdr_nonce);
|
14 |
}
|
15 |
if (current_user_can( 'manage_woocommerce' )) {
|
16 |
if($version !== '' && $page !== ''){
|
41 |
$return['message'] = '';
|
42 |
$return['url'] = $url;
|
43 |
} else {
|
44 |
+
$return['message'] = __('Since 2.0, you need BOTH Core and Pro (2.0) packages installed and activated. Please download the Pro 2.0 pack from My Downloads page in our site, install and activate it. <a href="https://docs.flycart.org/en/articles/4006520-switching-to-2-0-from-v1-x-versions?utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=switch_to_v2" target="_blank">Here is a guide and video tutorial</a>', 'woo-discount-rules');
|
45 |
+
$return['type'] = 'manual_install';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
}
|
48 |
}
|
64 |
$version = ($awdr_load_version == "v1") ? "v2" : "v1";
|
65 |
$url = admin_url('admin.php?page=' . $page . '&awdr_switch_plugin_to=' . $version);
|
66 |
$message = __('Discount Rules V2 comes with a better UI and advanced options.', 'woo-discount-rules');
|
67 |
+
$button_text = __("Switch to New User Interface", 'woo-discount-rules');
|
68 |
if($version == "v1"){
|
69 |
$has_switch = \Wdr\App\Helpers\Migration::hasSwitchBackOption();
|
70 |
$message = __('Would you like to switch to older Woo Discount Rules?', 'woo-discount-rules');
|
74 |
if($version == "v1"){
|
75 |
$nounce = \Wdr\App\Helpers\Helper::create_nonce('wdr_ajax_switch_version');
|
76 |
} else {
|
77 |
+
$nounce = WDRV1Deprecated::createNonce('wdr_ajax_switch_version');
|
78 |
}
|
79 |
echo '<div class="notice notice-danger" style="background: red; color:#fff; padding: 20px;font-size: 13px;font-weight: bold;">
|
80 |
+
<p><b>Important: </b>It seems you are using the V1 User Interface. This UI was deprecated since March 2020. We have now removed it as it is no longer supported. Please switch to the new User Interface to create and manage your discount rules.
|
81 |
+
Click the "Switch" button to start using the new interface.</p>
|
82 |
</div>';
|
83 |
|
84 |
echo '<div style="background: #fff;padding: 20px;font-size: 13px;font-weight: bold;">' . $message . ' <button class="btn btn-info awdr-switch-version-button" data-version="' . $version . '" data-page="'.$page.'" data-nonce="'.$nounce.'">' . $button_text . '</button></div>';
|
85 |
echo "<div class='wdr_switch_message' style='color:#a00;font-weight: bold;'></div>";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
}
|
87 |
});
|
88 |
|
89 |
+
/*add_action('advanced_woo_discount_rules_content_next_to_tabs', function () {
|
90 |
$has_switch = true;
|
91 |
$page = NULL;
|
92 |
if (isset($_GET['page'])) {
|
100 |
if($version == "v1"){
|
101 |
$nounce = \Wdr\App\Helpers\Helper::create_nonce('wdr_ajax_switch_version');
|
102 |
} else {
|
103 |
+
$nounce = WDRV1Deprecated::createNonce('wdr_ajax_switch_version');
|
104 |
}
|
105 |
if($has_switch){
|
106 |
$button_text = __("Switch back to Discount Rules 1.x", 'woo-discount-rules');
|
107 |
echo '<button class="btn btn-info awdr-switch-version-button awdr-switch-version-button-on-tab" data-version="' . $version . '" data-page="'.$page.'" data-nonce="'.$nounce.'">' . $button_text . '</button>';
|
108 |
}
|
109 |
+
});*/
|
110 |
|
111 |
/**
|
112 |
* Determines if the server environment is compatible with this plugin.
|
i18n/languages/woo-discount-rules.pot
CHANGED
@@ -4,2575 +4,75 @@ msgstr ""
|
|
4 |
"Content-Type: text/plain; charset=UTF-8\n"
|
5 |
"Content-Transfer-Encoding: 8bit\n"
|
6 |
"Project-Id-Version: Woo Discount Rules\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
-
"PO-Revision-Date:
|
9 |
"Language-Team: Flycart\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Language: \n"
|
12 |
"X-Generator: Loco https://localise.biz/\n"
|
13 |
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;"
|
14 |
|
15 |
-
#: common.php:9 v2/App/Controllers/Admin/
|
16 |
-
|
17 |
-
#: v2/App/Controllers/Admin/WDRAjax.php:72
|
18 |
-
msgid "Authentication required"
|
19 |
-
msgstr ""
|
20 |
-
|
21 |
-
#: common.php:17 v2/App/Controllers/Admin/WDRAjax.php:782
|
22 |
-
msgid "Invalid request"
|
23 |
-
msgstr ""
|
24 |
-
|
25 |
-
#: common.php:28
|
26 |
-
msgid "Discount Rules 2.0 requires minimum PHP version of "
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: common.php:32
|
30 |
-
msgid "Discount Rules 2.0 requires at least Woocommerce"
|
31 |
-
msgstr ""
|
32 |
-
|
33 |
-
#: common.php:62
|
34 |
-
msgid ""
|
35 |
-
"<p>Since 2.0, you need BOTH Core and Pro (2.0) packages installed and "
|
36 |
-
"activated.</p>"
|
37 |
-
msgstr ""
|
38 |
-
|
39 |
-
#: common.php:63
|
40 |
-
msgid "<p><b>Why we made this change?</b></p>"
|
41 |
-
msgstr ""
|
42 |
-
|
43 |
-
#: common.php:64
|
44 |
-
msgid ""
|
45 |
-
"<p>This arrangement is to avoid the confusion in the installation and "
|
46 |
-
"upgrade process. Many users first install the core free version. Then "
|
47 |
-
"purchase the PRO version and try to install it over the free version. Since "
|
48 |
-
"both free and pro packages have same names, wordpress asks them to uninstall "
|
49 |
-
"free and then install pro. As you can see, this is quite confusing for the "
|
50 |
-
"end users.</p>"
|
51 |
-
msgstr ""
|
52 |
-
|
53 |
-
#: common.php:65
|
54 |
-
msgid ""
|
55 |
-
"<p>As a result, starting from 2.0, we now have two packs: 1. Core 2. PRO.</p>"
|
56 |
-
msgstr ""
|
57 |
-
|
58 |
-
#: common.php:66
|
59 |
-
msgid "Download and Install"
|
60 |
-
msgstr ""
|
61 |
-
|
62 |
-
#: common.php:69
|
63 |
-
msgid ""
|
64 |
-
"Since 2.0, you need BOTH Core and Pro (2.0) packages installed and "
|
65 |
-
"activated. Please download the Pro 2.0 pack from My Downloads page in our "
|
66 |
-
"site, install and activate it. <a href=\"https://docs.flycart.org/en/"
|
67 |
-
"articles/4006520-switching-to-2-0-from-v1-x-versions?utm_source=woo-discount-"
|
68 |
-
"rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=switch_to_v2\" "
|
69 |
-
"target=\"_blank\">Here is a guide and video tutorial</a>"
|
70 |
-
msgstr ""
|
71 |
-
|
72 |
-
#: common.php:92
|
73 |
-
msgid "Discount Rules V2 comes with a better UI and advanced options."
|
74 |
-
msgstr ""
|
75 |
-
|
76 |
-
#: common.php:93
|
77 |
-
msgid "Switch to v2"
|
78 |
-
msgstr ""
|
79 |
-
|
80 |
-
#: common.php:96
|
81 |
-
msgid "Would you like to switch to older Woo Discount Rules?"
|
82 |
-
msgstr ""
|
83 |
-
|
84 |
-
#: common.php:97
|
85 |
-
msgid "Click here to Switch back"
|
86 |
-
msgstr ""
|
87 |
-
|
88 |
-
#: common.php:116
|
89 |
-
msgid "Install 2.0 Pro package"
|
90 |
-
msgstr ""
|
91 |
-
|
92 |
-
#: common.php:143
|
93 |
-
msgid "Switch back to Discount Rules 1.x"
|
94 |
-
msgstr ""
|
95 |
-
|
96 |
-
#: common.php:230
|
97 |
-
msgid ""
|
98 |
-
"This plugin can not be activated because it requires minimum PHP version of "
|
99 |
-
msgstr ""
|
100 |
-
|
101 |
-
#: common.php:233
|
102 |
-
msgid ""
|
103 |
-
"Woocommerce must installed and activated in-order to use Advanced woo "
|
104 |
-
"discount rules!"
|
105 |
-
msgstr ""
|
106 |
-
|
107 |
-
#: common.php:236
|
108 |
-
msgid " Advanced woo discount rules requires at least Woocommerce"
|
109 |
-
msgstr ""
|
110 |
-
|
111 |
-
#: updater.php:52
|
112 |
-
msgid ""
|
113 |
-
"Please download the Pro 2.0 pack from My Downloads page in our site, install "
|
114 |
-
"and activate it. <a href=\"https://docs.flycart.org/en/collections/2195266?"
|
115 |
-
"utm_source=woo-discount-rules-v2&utm_campaign=doc&utm_medium=text-"
|
116 |
-
"click&utm_content=documentation\" target=\"_blank\">Here is a guide and "
|
117 |
-
"video tutorial</a>"
|
118 |
-
msgstr ""
|
119 |
-
|
120 |
-
#: updater.php:55
|
121 |
-
msgid "Redirecting to v2 please wait.."
|
122 |
-
msgstr ""
|
123 |
-
|
124 |
-
#: updater.php:143 updater.php:308 v1/helper/purchase.php:62
|
125 |
-
#: v1/helper/purchase.php:66 v1/helper/purchase.php:134
|
126 |
-
#: v1/helper/purchase.php:137 v1/helper/purchase.php:175
|
127 |
-
msgid "Please enter a valid license key"
|
128 |
-
msgstr ""
|
129 |
-
|
130 |
-
#: updater.php:146 v1/helper/purchase.php:184
|
131 |
-
msgid "License key check : Passed."
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#: updater.php:148 v1/helper/purchase.php:188 v1/view/settings_general.php:32
|
135 |
-
msgid "License key seems to be Invalid. Please enter a valid license key"
|
136 |
-
msgstr ""
|
137 |
-
|
138 |
-
#: updater.php:309 v1/helper/purchase.php:62 v1/helper/purchase.php:66
|
139 |
-
#: v1/helper/purchase.php:134 v1/helper/purchase.php:137
|
140 |
-
msgid "our website"
|
141 |
-
msgstr ""
|
142 |
-
|
143 |
-
#: updater.php:313
|
144 |
-
#, php-format
|
145 |
-
msgid "License key for the %s seems invalid. %s, you can get it from %s"
|
146 |
-
msgstr ""
|
147 |
-
|
148 |
-
#: updater.php:317
|
149 |
-
#, php-format
|
150 |
-
msgid "License key for the %s is not entered. %s, you can get it from %s"
|
151 |
-
msgstr ""
|
152 |
-
|
153 |
-
#: v1/helper/general-helper.php:48 v2/App/Controllers/Admin/Settings.php:329
|
154 |
-
msgid "Guest"
|
155 |
-
msgstr ""
|
156 |
-
|
157 |
-
#: v1/helper/general-helper.php:617
|
158 |
-
msgid "Start date and time is set in the future date"
|
159 |
-
msgstr ""
|
160 |
-
|
161 |
-
#: v1/helper/general-helper.php:620
|
162 |
-
msgid "Validity expired"
|
163 |
-
msgstr ""
|
164 |
-
|
165 |
-
#: v1/helper/general-helper.php:637
|
166 |
-
msgid "Will run in future"
|
167 |
-
msgstr ""
|
168 |
-
|
169 |
-
#: v1/helper/general-helper.php:640
|
170 |
-
msgid "Not running - validity expired"
|
171 |
-
msgstr ""
|
172 |
-
|
173 |
-
#: v1/helper/general-helper.php:657
|
174 |
-
msgid "Running"
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: v1/helper/general-helper.php:662
|
178 |
-
msgid "Your server current date and time: "
|
179 |
-
msgstr ""
|
180 |
-
|
181 |
-
#: v1/helper/general-helper.php:797
|
182 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:11
|
183 |
-
#: v2/App/Views/Admin/Rules/Manage.php:181
|
184 |
-
#: v2/App/Views/Admin/Rules/Manage.php:182
|
185 |
-
#: v2/App/Views/Admin/Rules/Manage.php:183
|
186 |
-
#: v2/App/Views/Admin/Rules/Manage.php:184
|
187 |
-
#: v2/App/Views/Admin/Rules/Manage.php:185
|
188 |
-
#: v2/App/Views/Admin/Rules/Manage.php:186
|
189 |
-
#: v2/App/Views/Admin/Rules/Manage.php:187
|
190 |
-
#: v2/App/Views/Admin/Tabs/settings.php:24
|
191 |
-
#: v2/App/Views/Admin/Tabs/settings.php:65
|
192 |
-
#: v2/App/Views/Admin/Tabs/settings.php:138
|
193 |
-
#: v2/App/Views/Admin/Tabs/settings.php:204
|
194 |
-
#: v2/App/Views/Admin/Tabs/settings.php:275
|
195 |
-
#: v2/App/Views/Admin/Tabs/settings.php:394
|
196 |
-
#: v2/App/Views/Admin/Tabs/settings.php:478
|
197 |
-
msgid "Read Docs"
|
198 |
-
msgstr ""
|
199 |
-
|
200 |
-
#: v1/helper/general-helper.php:1034 v1/view/view-cart-rules.php:697
|
201 |
-
#: v1/view/view-pricing-rules.php:433 v2/App/Helpers/Woocommerce.php:1558
|
202 |
-
msgid "Coupon already exists in WooCommerce. Please select another name"
|
203 |
-
msgstr ""
|
204 |
-
|
205 |
-
#: v1/helper/general-helper.php:1266 v2/App/Helpers/Helper.php:325
|
206 |
-
msgid "Invalid token"
|
207 |
-
msgstr ""
|
208 |
-
|
209 |
-
#: v1/helper/purchase.php:25 v1/view/includes/cart-menu.php:5
|
210 |
-
#: v1/view/includes/menu.php:6 v1/view/includes/sub-menu.php:5
|
211 |
-
#: v2/App/Controllers/Admin/Settings.php:41
|
212 |
-
#: v2/App/Controllers/Admin/Settings.php:42
|
213 |
-
msgid "Woo Discount Rules"
|
214 |
-
msgstr ""
|
215 |
-
|
216 |
-
#: v1/helper/purchase.php:62 v1/helper/purchase.php:134
|
217 |
-
msgid "The license key for "
|
218 |
-
msgstr ""
|
219 |
-
|
220 |
-
#: v1/helper/purchase.php:62 v1/helper/purchase.php:134
|
221 |
-
msgid "seems invalid."
|
222 |
-
msgstr ""
|
223 |
-
|
224 |
-
#: v1/helper/purchase.php:62 v1/helper/purchase.php:66
|
225 |
-
#: v1/helper/purchase.php:134 v1/helper/purchase.php:137
|
226 |
-
msgid "You can get it from"
|
227 |
-
msgstr ""
|
228 |
-
|
229 |
-
#: v1/helper/purchase.php:66 v1/helper/purchase.php:137
|
230 |
-
msgid "License key for the "
|
231 |
-
msgstr ""
|
232 |
-
|
233 |
-
#: v1/helper/purchase.php:66 v1/helper/purchase.php:137
|
234 |
-
msgid "is not entered."
|
235 |
-
msgstr ""
|
236 |
-
|
237 |
-
#: v1/helper/purchase.php:73
|
238 |
-
msgid ": You are using CORE version. Please Update to PRO version."
|
239 |
-
msgstr ""
|
240 |
-
|
241 |
-
#: v1/helper/purchase.php:97
|
242 |
-
msgid "-PRO-"
|
243 |
-
msgstr ""
|
244 |
-
|
245 |
-
#: v1/helper/purchase.php:106
|
246 |
-
msgid "Pro"
|
247 |
-
msgstr ""
|
248 |
-
|
249 |
-
#: v1/helper/purchase.php:108
|
250 |
-
msgid "Core"
|
251 |
-
msgstr ""
|
252 |
-
|
253 |
-
#: v1/helper/woo-function.php:485 v1/helper/woo-function.php:495
|
254 |
-
msgid "Search for a product…"
|
255 |
-
msgstr ""
|
256 |
-
|
257 |
-
#: v1/helper/woo-function.php:528 v1/helper/woo-function.php:540
|
258 |
-
msgid "Search for a user…"
|
259 |
-
msgstr ""
|
260 |
-
|
261 |
-
#: v1/includes/advanced/free_shipping_method.php:16
|
262 |
-
msgid "WooDiscount Free Shipping"
|
263 |
-
msgstr ""
|
264 |
-
|
265 |
-
#: v1/includes/advanced/free_shipping_method.php:17
|
266 |
-
msgid "Custom Shipping Method for Woocommerce Discount Rules"
|
267 |
-
msgstr ""
|
268 |
-
|
269 |
-
#: v1/includes/advanced/free_shipping_method.php:68
|
270 |
-
#: v1/view/documentation.php:63 v1/view/settings_cart_rules.php:126
|
271 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:197
|
272 |
-
#: v2/App/Views/Admin/Tabs/help.php:112
|
273 |
-
msgid "Free Shipping"
|
274 |
-
msgstr ""
|
275 |
-
|
276 |
-
#: v1/includes/advanced/free_shipping_method.php:73
|
277 |
-
#: v1/includes/discount-base.php:1128 v1/view/cart-rules.php:135
|
278 |
-
#: v1/view/pricing-rules.php:165 v1/view/settings_promotion.php:65
|
279 |
-
#: v1/view/settings_promotion.php:100 v2/App/Controllers/Admin/Settings.php:439
|
280 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:77
|
281 |
-
msgid "Enable"
|
282 |
-
msgstr ""
|
283 |
-
|
284 |
-
#: v1/includes/advanced/free_shipping_method.php:75
|
285 |
-
msgid "Enable this shipping."
|
286 |
-
msgstr ""
|
287 |
-
|
288 |
-
#: v1/includes/advanced/free_shipping_method.php:80
|
289 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:105
|
290 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:331
|
291 |
-
msgid "Title"
|
292 |
-
msgstr ""
|
293 |
-
|
294 |
-
#: v1/includes/advanced/free_shipping_method.php:82
|
295 |
-
msgid "Title to be display on site"
|
296 |
-
msgstr ""
|
297 |
-
|
298 |
-
#: v1/includes/cart-rules.php:116 v1/includes/pricing-rules.php:120
|
299 |
-
msgid "Saved successfully"
|
300 |
-
msgstr ""
|
301 |
-
|
302 |
-
#: v1/includes/cart-rules.php:187 v1/includes/pricing-rules.php:153
|
303 |
-
msgid "Failed to save"
|
304 |
-
msgstr ""
|
305 |
-
|
306 |
-
#: v1/includes/discount-base.php:207 v1/view/cart-rules.php:164
|
307 |
-
#: v1/view/pricing-rules.php:194 v2/App/Controllers/Admin/Settings.php:438
|
308 |
-
msgid "Active"
|
309 |
-
msgstr ""
|
310 |
-
|
311 |
-
#: v1/includes/discount-base.php:209 v1/view/cart-rules.php:166
|
312 |
-
#: v1/view/pricing-rules.php:196 v1/view/settings_cart_rules.php:95
|
313 |
-
#: v1/view/settings_cart_rules.php:102 v1/view/settings_price_rules.php:169
|
314 |
-
#: v1/view/settings_promotion.php:22 v1/view/settings_promotion.php:62
|
315 |
-
#: v1/view/settings_promotion.php:97 v1/view/settings_promotion.php:132
|
316 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:252
|
317 |
-
#: v2/App/Views/Admin/Tabs/settings.php:398
|
318 |
-
msgid "Disabled"
|
319 |
-
msgstr ""
|
320 |
-
|
321 |
-
#: v1/includes/discount-base.php:572
|
322 |
-
msgid "Cache cleared successfully"
|
323 |
-
msgstr ""
|
324 |
-
|
325 |
-
#: v1/includes/discount-base.php:574
|
326 |
-
msgid "Failed to clear cache"
|
327 |
-
msgstr ""
|
328 |
-
|
329 |
-
#: v1/includes/discount-base.php:691 v1/includes/discount-base.php:726
|
330 |
-
msgid "Failed to do action"
|
331 |
-
msgstr ""
|
332 |
-
|
333 |
-
#: v1/includes/discount-base.php:730
|
334 |
-
msgid "Disabled successfully"
|
335 |
-
msgstr ""
|
336 |
-
|
337 |
-
#: v1/includes/discount-base.php:733
|
338 |
-
msgid "Deleted successfully"
|
339 |
-
msgstr ""
|
340 |
-
|
341 |
-
#: v1/includes/discount-base.php:736
|
342 |
-
msgid "Enabled successfully"
|
343 |
-
msgstr ""
|
344 |
-
|
345 |
-
#: v1/includes/discount-base.php:762 v1/includes/discount-base.php:763
|
346 |
-
#: v1/includes/discount-base.php:780
|
347 |
-
msgid "copy"
|
348 |
-
msgstr ""
|
349 |
-
|
350 |
-
#: v1/includes/discount-base.php:788
|
351 |
-
msgid "Duplicate rule created successfully"
|
352 |
-
msgstr ""
|
353 |
-
|
354 |
-
#: v1/includes/discount-base.php:795
|
355 |
-
msgid "Failed to create duplicate rule"
|
356 |
-
msgstr ""
|
357 |
-
|
358 |
-
#: v1/includes/discount-base.php:1082
|
359 |
-
msgid "Please fill this field"
|
360 |
-
msgstr ""
|
361 |
-
|
362 |
-
#: v1/includes/discount-base.php:1083
|
363 |
-
msgid "Please Enter the Rule Name to Create / Save."
|
364 |
-
msgstr ""
|
365 |
-
|
366 |
-
#: v1/includes/discount-base.php:1084
|
367 |
-
msgid "Saving..."
|
368 |
-
msgstr ""
|
369 |
-
|
370 |
-
#: v1/includes/discount-base.php:1085 v1/view/view-cart-rules.php:55
|
371 |
-
#: v1/view/view-pricing-rules.php:37
|
372 |
-
msgid "Save Rule"
|
373 |
-
msgstr ""
|
374 |
-
|
375 |
-
#: v1/includes/discount-base.php:1086
|
376 |
-
msgid "Please enter a Key"
|
377 |
-
msgstr ""
|
378 |
-
|
379 |
-
#: v1/includes/discount-base.php:1087 v1/view/view-pricing-rules.php:739
|
380 |
-
msgid "Min Quantity"
|
381 |
-
msgstr ""
|
382 |
-
|
383 |
-
#: v1/includes/discount-base.php:1088 v1/view/view-pricing-rules.php:746
|
384 |
-
msgid "Max Quantity"
|
385 |
-
msgstr ""
|
386 |
-
|
387 |
-
#: v1/includes/discount-base.php:1089 v1/view/view-pricing-rules.php:654
|
388 |
-
#: v1/view/view-pricing-rules.php:657 v1/view/view-pricing-rules.php:677
|
389 |
-
#: v2/App/Controllers/Admin/Settings.php:456
|
390 |
-
msgid "Quantity"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: v1/includes/discount-base.php:1090 v1/view/view-cart-rules.php:92
|
394 |
-
#: v1/view/view-pricing-rules.php:74 v1/view/view-pricing-rules.php:744
|
395 |
-
#: v1/view/view-pricing-rules.php:897 v1/view/view-pricing-rules.php:920
|
396 |
-
#: v1/view/view-pricing-rules.php:927
|
397 |
-
msgid "ex. 1"
|
398 |
-
msgstr ""
|
399 |
-
|
400 |
-
#: v1/includes/discount-base.php:1091 v1/view/view-pricing-rules.php:965
|
401 |
-
msgid "ex. 10"
|
402 |
-
msgstr ""
|
403 |
-
|
404 |
-
#: v1/includes/discount-base.php:1092 v1/view/view-pricing-rules.php:751
|
405 |
-
#: v1/view/view-pricing-rules.php:879
|
406 |
-
msgid "ex. 50"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: v1/includes/discount-base.php:1093
|
410 |
-
msgid "Search for a user"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: v1/includes/discount-base.php:1094 v1/view/view-pricing-rules.php:752
|
414 |
-
msgid "Adjustment Type"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: v1/includes/discount-base.php:1095 v1/view/view-pricing-rules.php:954
|
418 |
-
#: v2/App/Controllers/Admin/Settings.php:459
|
419 |
-
msgid "Discount percentage"
|
420 |
-
msgstr ""
|
421 |
-
|
422 |
-
#: v1/includes/discount-base.php:1096 v1/view/view-cart-rules.php:776
|
423 |
-
#: v1/view/view-pricing-rules.php:786
|
424 |
-
msgid "Percentage Discount"
|
425 |
-
msgstr ""
|
426 |
-
|
427 |
-
#: v1/includes/discount-base.php:1097 v1/view/view-cart-rules.php:782
|
428 |
-
#: v1/view/view-cart-rules.php:784 v1/view/view-pricing-rules.php:794
|
429 |
-
#: v1/view/view-pricing-rules.php:796
|
430 |
-
msgid "Price Discount"
|
431 |
-
msgstr ""
|
432 |
-
|
433 |
-
#: v1/includes/discount-base.php:1098
|
434 |
-
msgid "BOGO Product Discount"
|
435 |
-
msgstr ""
|
436 |
-
|
437 |
-
#: v1/includes/discount-base.php:1099
|
438 |
-
msgid "Product Discount - Not support for subtotal based rule"
|
439 |
-
msgstr ""
|
440 |
-
|
441 |
-
#: v1/includes/discount-base.php:1100 v1/view/view-cart-rules.php:462
|
442 |
-
#: v1/view/view-pricing-rules.php:874 v1/view/view-pricing-rules.php:1014
|
443 |
-
#: v2/App/Views/Admin/Rules/Discounts/Cart.php:33
|
444 |
-
#: v2/App/Views/Admin/Rules/Discounts/simple.php:31
|
445 |
-
msgid "Value"
|
446 |
-
msgstr ""
|
447 |
-
|
448 |
-
#: v1/includes/discount-base.php:1101 v1/view/view-pricing-rules.php:882
|
449 |
-
msgid "receive discount for"
|
450 |
-
msgstr ""
|
451 |
-
|
452 |
-
#: v1/includes/discount-base.php:1102 v1/view/view-pricing-rules.php:884
|
453 |
-
msgid "Auto add all selected products"
|
454 |
-
msgstr ""
|
455 |
-
|
456 |
-
#: v1/includes/discount-base.php:1103 v1/view/view-pricing-rules.php:885
|
457 |
-
msgid "Same product"
|
458 |
-
msgstr ""
|
459 |
-
|
460 |
-
#: v1/includes/discount-base.php:1104
|
461 |
-
msgid "Any one cheapest from selected"
|
462 |
-
msgstr ""
|
463 |
-
|
464 |
-
#: v1/includes/discount-base.php:1105
|
465 |
-
msgid "Any one cheapest from all products"
|
466 |
-
msgstr ""
|
467 |
-
|
468 |
-
#: v1/includes/discount-base.php:1106 v1/view/view-pricing-rules.php:854
|
469 |
-
#: v1/view/view-pricing-rules.php:856
|
470 |
-
msgid "Buy X Get Y - Selected Categories (Cheapest in cart)"
|
471 |
-
msgstr ""
|
472 |
-
|
473 |
-
#: v1/includes/discount-base.php:1107 v1/view/view-pricing-rules.php:844
|
474 |
-
#: v1/view/view-pricing-rules.php:846
|
475 |
-
msgid "Buy X Get Y - Selected item(s) (Cheapest in cart)"
|
476 |
-
msgstr ""
|
477 |
-
|
478 |
-
#: v1/includes/discount-base.php:1108 v1/view/view-pricing-rules.php:864
|
479 |
-
#: v1/view/view-pricing-rules.php:866
|
480 |
-
msgid "Buy X get Y - Cheapest among all items in cart"
|
481 |
-
msgstr ""
|
482 |
-
|
483 |
-
#: v1/includes/discount-base.php:1109 v1/view/view-pricing-rules.php:892
|
484 |
-
msgid "Free quantity"
|
485 |
-
msgstr ""
|
486 |
-
|
487 |
-
#: v1/includes/discount-base.php:1110 v1/view/view-pricing-rules.php:892
|
488 |
-
msgid "Number of quantity(ies) in each selected product(s)"
|
489 |
-
msgstr ""
|
490 |
-
|
491 |
-
#: v1/includes/discount-base.php:1111 v1/view/view-pricing-rules.php:912
|
492 |
-
msgid "Fixed item count (not recommended)"
|
493 |
-
msgstr ""
|
494 |
-
|
495 |
-
#: v1/includes/discount-base.php:1112 v1/view/view-pricing-rules.php:911
|
496 |
-
msgid "Dynamic item count"
|
497 |
-
msgstr ""
|
498 |
-
|
499 |
-
#: v1/includes/discount-base.php:1113 v1/view/view-pricing-rules.php:914
|
500 |
-
msgid ""
|
501 |
-
"Fixed item count - You need to provide item count manually. Dynamic item "
|
502 |
-
"count - System will choose dynamically based on cart"
|
503 |
-
msgstr ""
|
504 |
-
|
505 |
-
#: v1/includes/discount-base.php:1114 v1/view/view-pricing-rules.php:915
|
506 |
-
msgid "Item count"
|
507 |
-
msgstr ""
|
508 |
-
|
509 |
-
#: v1/includes/discount-base.php:1115 v1/view/view-pricing-rules.php:915
|
510 |
-
msgid "Discount for number of item(s) in cart"
|
511 |
-
msgstr ""
|
512 |
-
|
513 |
-
#: v1/includes/discount-base.php:1116 v1/view/view-pricing-rules.php:922
|
514 |
-
msgid "Discount for number of quantity(ies)"
|
515 |
-
msgstr ""
|
516 |
-
|
517 |
-
#: v1/includes/discount-base.php:1117 v1/view/view-pricing-rules.php:922
|
518 |
-
msgid "Item quantity"
|
519 |
-
msgstr ""
|
520 |
-
|
521 |
-
#: v1/includes/discount-base.php:1118
|
522 |
-
msgid "Search for a products"
|
523 |
-
msgstr ""
|
524 |
-
|
525 |
-
#: v1/includes/discount-base.php:1119
|
526 |
-
msgid "and"
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: v1/includes/discount-base.php:1120 v1/view/view-pricing-rules.php:956
|
530 |
-
msgid "100% percent"
|
531 |
-
msgstr ""
|
532 |
-
|
533 |
-
#: v1/includes/discount-base.php:1121 v1/view/view-pricing-rules.php:957
|
534 |
-
msgid "Limited percent"
|
535 |
-
msgstr ""
|
536 |
-
|
537 |
-
#: v1/includes/discount-base.php:1122
|
538 |
-
msgid "Percentage"
|
539 |
-
msgstr ""
|
540 |
-
|
541 |
-
#: v1/includes/discount-base.php:1123
|
542 |
-
msgid "as discount"
|
543 |
-
msgstr ""
|
544 |
-
|
545 |
-
#: v1/includes/discount-base.php:1124 v1/view/view-cart-rules.php:701
|
546 |
-
#: v1/view/view-pricing-rules.php:974
|
547 |
-
msgid "Remove"
|
548 |
-
msgstr ""
|
549 |
-
|
550 |
-
#: v1/includes/discount-base.php:1125 v1/view/cart-rules.php:187
|
551 |
-
#: v1/view/pricing-rules.php:217 v1/view/view-pricing-rules.php:971
|
552 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:304
|
553 |
-
msgid "Duplicate"
|
554 |
-
msgstr ""
|
555 |
-
|
556 |
-
#: v1/includes/discount-base.php:1126
|
557 |
-
msgid "none"
|
558 |
-
msgstr ""
|
559 |
-
|
560 |
-
#: v1/includes/discount-base.php:1127
|
561 |
-
msgid "Are you sure to remove this ?"
|
562 |
-
msgstr ""
|
563 |
-
|
564 |
-
#: v1/includes/discount-base.php:1129 v1/view/cart-rules.php:132
|
565 |
-
#: v1/view/pricing-rules.php:162 v2/App/Controllers/Admin/Settings.php:437
|
566 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:78
|
567 |
-
msgid "Disable"
|
568 |
-
msgstr ""
|
569 |
-
|
570 |
-
#: v1/includes/discount-base.php:1130
|
571 |
-
msgid "Are you sure to remove ?"
|
572 |
-
msgstr ""
|
573 |
-
|
574 |
-
#: v1/includes/discount-base.php:1131 v1/view/view-cart-rules.php:172
|
575 |
-
msgid "Type"
|
576 |
-
msgstr ""
|
577 |
-
|
578 |
-
#: v1/includes/discount-base.php:1132 v1/view/view-cart-rules.php:176
|
579 |
-
msgid "Cart Subtotal"
|
580 |
-
msgstr ""
|
581 |
-
|
582 |
-
#: v1/includes/discount-base.php:1133 v1/view/view-cart-rules.php:179
|
583 |
-
msgid "Subtotal at least"
|
584 |
-
msgstr ""
|
585 |
-
|
586 |
-
#: v1/includes/discount-base.php:1134 v1/view/view-cart-rules.php:183
|
587 |
-
msgid "Subtotal less than"
|
588 |
-
msgstr ""
|
589 |
-
|
590 |
-
#: v1/includes/discount-base.php:1135 v1/view/view-cart-rules.php:186
|
591 |
-
msgid "Cart Item Count"
|
592 |
-
msgstr ""
|
593 |
-
|
594 |
-
#: v1/includes/discount-base.php:1136 v1/view/view-cart-rules.php:189
|
595 |
-
msgid "Number of line items in the cart (not quantity) at least"
|
596 |
-
msgstr ""
|
597 |
-
|
598 |
-
#: v1/includes/discount-base.php:1137 v1/view/view-cart-rules.php:193
|
599 |
-
msgid "Number of line items in the cart (not quantity) less than"
|
600 |
-
msgstr ""
|
601 |
-
|
602 |
-
#: v1/includes/discount-base.php:1138 v1/view/view-cart-rules.php:196
|
603 |
-
msgid "Quantity Sum"
|
604 |
-
msgstr ""
|
605 |
-
|
606 |
-
#: v1/includes/discount-base.php:1139 v1/view/view-cart-rules.php:202
|
607 |
-
#: v1/view/view-cart-rules.php:205
|
608 |
-
msgid "Total number of quantities in the cart at least"
|
609 |
-
msgstr ""
|
610 |
-
|
611 |
-
#: v1/includes/discount-base.php:1140 v1/view/view-cart-rules.php:214
|
612 |
-
#: v1/view/view-cart-rules.php:217
|
613 |
-
msgid "Total number of quantities in the cart less than"
|
614 |
-
msgstr ""
|
615 |
-
|
616 |
-
#: v1/includes/discount-base.php:1141 v1/view/view-cart-rules.php:246
|
617 |
-
msgid "Categories in cart"
|
618 |
-
msgstr ""
|
619 |
-
|
620 |
-
#: v1/includes/discount-base.php:1142 v1/view/view-cart-rules.php:252
|
621 |
-
msgid "Including sub-categories in cart"
|
622 |
-
msgstr ""
|
623 |
-
|
624 |
-
#: v1/includes/discount-base.php:1143 v1/view/view-cart-rules.php:267
|
625 |
-
msgid "Customer Details (must be logged in)"
|
626 |
-
msgstr ""
|
627 |
-
|
628 |
-
#: v1/includes/discount-base.php:1144 v1/view/view-cart-rules.php:273
|
629 |
-
#: v1/view/view-cart-rules.php:275
|
630 |
-
msgid "User in list"
|
631 |
-
msgstr ""
|
632 |
-
|
633 |
-
#: v1/includes/discount-base.php:1145 v1/view/view-cart-rules.php:283
|
634 |
-
#: v1/view/view-cart-rules.php:285
|
635 |
-
msgid "User role in list"
|
636 |
-
msgstr ""
|
637 |
-
|
638 |
-
#: v1/includes/discount-base.php:1146 v1/view/view-cart-rules.php:349
|
639 |
-
#: v1/view/view-cart-rules.php:351
|
640 |
-
msgid "Shipping country in list"
|
641 |
-
msgstr ""
|
642 |
-
|
643 |
-
#: v1/includes/discount-base.php:1147 v1/view/view-cart-rules.php:289
|
644 |
-
msgid "Customer Email"
|
645 |
-
msgstr ""
|
646 |
-
|
647 |
-
#: v1/includes/discount-base.php:1148
|
648 |
-
msgid "Email with TLD (Ege: edu)"
|
649 |
-
msgstr ""
|
650 |
-
|
651 |
-
#: v1/includes/discount-base.php:1149 v1/view/view-cart-rules.php:305
|
652 |
-
#: v1/view/view-cart-rules.php:307
|
653 |
-
msgid "Email with Domain (Eg: gmail.com)"
|
654 |
-
msgstr ""
|
655 |
-
|
656 |
-
#: v1/includes/discount-base.php:1150 v1/view/view-cart-rules.php:311
|
657 |
-
msgid "Customer Billing Details"
|
658 |
-
msgstr ""
|
659 |
-
|
660 |
-
#: v1/includes/discount-base.php:1151 v1/view/view-cart-rules.php:317
|
661 |
-
#: v1/view/view-cart-rules.php:319
|
662 |
-
msgid "Billing city"
|
663 |
-
msgstr ""
|
664 |
-
|
665 |
-
#: v1/includes/discount-base.php:1152 v1/view/view-cart-rules.php:323
|
666 |
-
msgid "Customer Shipping Details"
|
667 |
-
msgstr ""
|
668 |
-
|
669 |
-
#: v1/includes/discount-base.php:1153 v1/view/view-cart-rules.php:339
|
670 |
-
#: v1/view/view-cart-rules.php:341
|
671 |
-
msgid "Shipping state"
|
672 |
-
msgstr ""
|
673 |
-
|
674 |
-
#: v1/includes/discount-base.php:1154 v1/view/view-cart-rules.php:329
|
675 |
-
#: v1/view/view-cart-rules.php:331
|
676 |
-
msgid "Shipping city"
|
677 |
-
msgstr ""
|
678 |
-
|
679 |
-
#: v1/includes/discount-base.php:1155 v1/view/view-cart-rules.php:359
|
680 |
-
#: v1/view/view-cart-rules.php:361
|
681 |
-
msgid "Shipping zip code"
|
682 |
-
msgstr ""
|
683 |
-
|
684 |
-
#: v1/includes/discount-base.php:1156 v1/view/view-cart-rules.php:365
|
685 |
-
#: v1/view/view-pricing-rules.php:536 v2/App/Helpers/Helper.php:165
|
686 |
-
#: v2/App/Helpers/ProOptions.php:192 v2/App/Helpers/ProOptions.php:200
|
687 |
-
#: v2/App/Helpers/ProOptions.php:208 v2/App/Helpers/ProOptions.php:216
|
688 |
-
#: v2/App/Helpers/ProOptions.php:224 v2/App/Helpers/ProOptions.php:232
|
689 |
-
msgid "Purchase History"
|
690 |
-
msgstr ""
|
691 |
-
|
692 |
-
#: v1/includes/discount-base.php:1157 v1/view/view-cart-rules.php:381
|
693 |
-
#: v1/view/view-cart-rules.php:383 v1/view/view-pricing-rules.php:551
|
694 |
-
msgid "Purchased amount"
|
695 |
-
msgstr ""
|
696 |
-
|
697 |
-
#: v1/includes/discount-base.php:1158 v1/view/view-cart-rules.php:391
|
698 |
-
#: v1/view/view-cart-rules.php:393 v1/view/view-pricing-rules.php:552
|
699 |
-
msgid "Number of previous orders made"
|
700 |
-
msgstr ""
|
701 |
-
|
702 |
-
#: v1/includes/discount-base.php:1159 v1/view/view-cart-rules.php:401
|
703 |
-
#: v1/view/view-cart-rules.php:403 v1/view/view-pricing-rules.php:553
|
704 |
-
msgid "Number of previous orders made with following products"
|
705 |
-
msgstr ""
|
706 |
-
|
707 |
-
#: v1/includes/discount-base.php:1160 v1/view/view-cart-rules.php:411
|
708 |
-
#: v1/view/view-cart-rules.php:413 v1/view/view-pricing-rules.php:554
|
709 |
-
msgid "Number of quantity(s) in previous orders made with following products"
|
710 |
-
msgstr ""
|
711 |
-
|
712 |
-
#: v1/includes/discount-base.php:1161 v1/view/view-cart-rules.php:417
|
713 |
-
msgid "Coupon applied"
|
714 |
-
msgstr ""
|
715 |
-
|
716 |
-
#: v1/includes/discount-base.php:1162 v1/view/view-cart-rules.php:423
|
717 |
-
#: v1/view/view-cart-rules.php:425 v1/view/view-pricing-rules.php:410
|
718 |
-
msgid "Create your own coupon"
|
719 |
-
msgstr ""
|
720 |
-
|
721 |
-
#: v1/includes/discount-base.php:1163 v1/view/view-cart-rules.php:433
|
722 |
-
#: v1/view/view-cart-rules.php:435
|
723 |
-
msgid "Atleast any one (Select from WooCommerce)"
|
724 |
-
msgstr ""
|
725 |
-
|
726 |
-
#: v1/includes/discount-base.php:1164 v1/view/view-cart-rules.php:443
|
727 |
-
#: v1/view/view-cart-rules.php:445
|
728 |
-
msgid "All selected (Select from WooCommerce)"
|
729 |
-
msgstr ""
|
730 |
-
|
731 |
-
#: v1/includes/discount-base.php:1165 v1/view/view-cart-rules.php:647
|
732 |
-
#: v1/view/view-pricing-rules.php:590
|
733 |
-
msgid "Greater than or equal to"
|
734 |
-
msgstr ""
|
735 |
-
|
736 |
-
#: v1/includes/discount-base.php:1166 v1/view/view-cart-rules.php:648
|
737 |
-
#: v1/view/view-pricing-rules.php:591 v1/view/view-pricing-rules.php:650
|
738 |
-
msgid "Less than or equal to"
|
739 |
-
msgstr ""
|
740 |
-
|
741 |
-
#: v1/includes/discount-base.php:1167 v1/view/view-cart-rules.php:650
|
742 |
-
#: v1/view/view-pricing-rules.php:594
|
743 |
-
msgid "and the order status should be"
|
744 |
-
msgstr ""
|
745 |
-
|
746 |
-
#: v1/includes/discount-base.php:1168 v1/view/cart-rules.php:116
|
747 |
-
#: v1/view/cart-rules.php:226 v1/view/pricing-rules.php:146
|
748 |
-
#: v1/view/pricing-rules.php:256 v1/view/view-cart-rules.php:700
|
749 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:129
|
750 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:355
|
751 |
-
msgid "Action"
|
752 |
-
msgstr ""
|
753 |
-
|
754 |
-
#: v1/includes/discount-base.php:1169 v1/view/settings.php:33
|
755 |
-
#: v1/view/settings_taxonomy.php:21 v2/App/Views/Admin/Rules/Manage.php:134
|
756 |
-
msgid "Save"
|
757 |
-
msgstr ""
|
758 |
-
|
759 |
-
#: v1/includes/discount-base.php:1170
|
760 |
-
msgid "Saved Successfully!"
|
761 |
-
msgstr ""
|
762 |
-
|
763 |
-
#: v1/includes/discount-base.php:1171 v1/view/view-cart-rules.php:491
|
764 |
-
#: v1/view/view-cart-rules.php:559 v1/view/view-cart-rules.php:579
|
765 |
-
#: v1/view/view-cart-rules.php:600 v1/view/view-cart-rules.php:655
|
766 |
-
#: v1/view/view-pricing-rules.php:238 v1/view/view-pricing-rules.php:254
|
767 |
-
#: v1/view/view-pricing-rules.php:602 v1/view/view-pricing-rules.php:686
|
768 |
-
#: v1/view/view-pricing-rules.php:942
|
769 |
-
msgid "None selected"
|
770 |
-
msgstr ""
|
771 |
-
|
772 |
-
#: v1/includes/discount-base.php:1172 v1/view/view-cart-rules.php:258
|
773 |
-
msgid "In each category"
|
774 |
-
msgstr ""
|
775 |
-
|
776 |
-
#: v1/includes/discount-base.php:1173 v1/view/settings_price_rules.php:208
|
777 |
-
#: v1/view/settings_price_rules.php:226 v1/view/settings_price_rules.php:244
|
778 |
-
#: v1/view/settings_price_rules.php:262
|
779 |
-
#: v2/App/Views/Admin/Tabs/settings.php:639
|
780 |
-
msgid "Show"
|
781 |
-
msgstr ""
|
782 |
-
|
783 |
-
#: v1/includes/discount-base.php:1174 v1/view/template/sidebar.php:12
|
784 |
-
msgid "Hide"
|
785 |
-
msgstr ""
|
786 |
-
|
787 |
-
#: v1/includes/discount-base.php:1175
|
788 |
-
msgid "Please select at least one rule"
|
789 |
-
msgstr ""
|
790 |
-
|
791 |
-
#: v1/includes/discount-base.php:1176
|
792 |
-
msgid "Please select an action to apply"
|
793 |
-
msgstr ""
|
794 |
-
|
795 |
-
#: v1/includes/discount-base.php:1177
|
796 |
-
msgid "Are you sure to remove the selected rules"
|
797 |
-
msgstr ""
|
798 |
-
|
799 |
-
#: v1/includes/discount-base.php:1178 v1/view/view-pricing-rules.php:931
|
800 |
-
msgid "Choose product(s)"
|
801 |
-
msgstr ""
|
802 |
-
|
803 |
-
#: v1/includes/discount-base.php:1179 v1/view/view-pricing-rules.php:941
|
804 |
-
msgid "Choose category(ies)"
|
805 |
-
msgstr ""
|
806 |
-
|
807 |
-
#: v1/includes/discount-base.php:1180
|
808 |
-
msgid "Search for a coupon"
|
809 |
-
msgstr ""
|
810 |
-
|
811 |
-
#: v1/includes/discount-base.php:1181 v1/view/view-pricing-rules.php:965
|
812 |
-
#, php-format
|
813 |
-
msgid "Enter only numeric values. Eg: <b>50</b> for 50% discount"
|
814 |
-
msgstr ""
|
815 |
-
|
816 |
-
#: v1/includes/discount-base.php:1182
|
817 |
-
#, php-format
|
818 |
-
msgid "Enter the discount price. Eg: <b>10</b> for %s discount"
|
819 |
-
msgstr ""
|
820 |
-
|
821 |
-
#: v1/includes/discount-base.php:1183
|
822 |
-
#, php-format
|
823 |
-
msgid "Enter the discounted price per unit. Eg: <b>10</b> for %s as unit price"
|
824 |
-
msgstr ""
|
825 |
-
|
826 |
-
#: v1/includes/discount-base.php:1184
|
827 |
-
#, php-format
|
828 |
-
msgid ""
|
829 |
-
"Enter the price for selected quantity. Eg: <b>10</b> then %s as total price "
|
830 |
-
"for selected quantity"
|
831 |
-
msgstr ""
|
832 |
-
|
833 |
-
#: v1/includes/discount-base.php:1185 v1/view/view-pricing-rules.php:890
|
834 |
-
msgid ""
|
835 |
-
"Auto add all selected products - Automatically added to the cart <br> Same "
|
836 |
-
"product - get discount in same product <br> Any one cheapest from selected - "
|
837 |
-
"Get discount in one selected product <br> Any one cheapest from all products "
|
838 |
-
"- Get discount in one cheapest product in cart <br> Cheapest in cart - "
|
839 |
-
"selected category(ies) - cheapest product from the selected category will be "
|
840 |
-
"discounted <br> Cheapest in cart - selected item(s) - get discount in chosen "
|
841 |
-
"no.of quantities"
|
842 |
-
msgstr ""
|
843 |
-
|
844 |
-
#: v1/includes/discount-base.php:1186 v1/view/view-cart-rules.php:221
|
845 |
-
#: v2/App/Controllers/Base.php:47 v2/App/Views/Admin/Rules/Filters/Main.php:68
|
846 |
-
msgid "Products"
|
847 |
-
msgstr ""
|
848 |
-
|
849 |
-
#: v1/includes/discount-base.php:1187 v1/view/view-cart-rules.php:226
|
850 |
-
msgid "Products in cart"
|
851 |
-
msgstr ""
|
852 |
-
|
853 |
-
#: v1/includes/discount-base.php:1188 v1/view/view-cart-rules.php:232
|
854 |
-
#: v1/view/view-pricing-rules.php:273
|
855 |
-
msgid "Exclude products"
|
856 |
-
msgstr ""
|
857 |
-
|
858 |
-
#: v1/includes/discount-base.php:1189 v1/view/view-cart-rules.php:238
|
859 |
-
msgid "Exclude on sale products"
|
860 |
-
msgstr ""
|
861 |
-
|
862 |
-
#: v1/includes/discount-base.php:1190 v1/view/view-cart-rules.php:529
|
863 |
-
msgid "This will exclude the on sale products from discount"
|
864 |
-
msgstr ""
|
865 |
-
|
866 |
-
#: v1/includes/discount-base.php:1191 v1/view/view-cart-rules.php:663
|
867 |
-
#: v1/view/view-pricing-rules.php:609
|
868 |
-
msgid "From all previous orders"
|
869 |
-
msgstr ""
|
870 |
-
|
871 |
-
#: v1/includes/discount-base.php:1192 v1/view/view-cart-rules.php:664
|
872 |
-
#: v1/view/view-pricing-rules.php:610
|
873 |
-
msgid "Last 7 days"
|
874 |
-
msgstr ""
|
875 |
-
|
876 |
-
#: v1/includes/discount-base.php:1193 v1/view/view-cart-rules.php:665
|
877 |
-
#: v1/view/view-pricing-rules.php:611
|
878 |
-
msgid "Last 14 days"
|
879 |
-
msgstr ""
|
880 |
-
|
881 |
-
#: v1/includes/discount-base.php:1194 v1/view/view-cart-rules.php:666
|
882 |
-
#: v1/view/view-pricing-rules.php:612
|
883 |
-
msgid "Last 30 days"
|
884 |
-
msgstr ""
|
885 |
-
|
886 |
-
#: v1/includes/discount-base.php:1195 v1/view/view-cart-rules.php:667
|
887 |
-
#: v1/view/view-pricing-rules.php:613
|
888 |
-
msgid "Last 60 days"
|
889 |
-
msgstr ""
|
890 |
-
|
891 |
-
#: v1/includes/discount-base.php:1196 v1/view/view-cart-rules.php:668
|
892 |
-
#: v1/view/view-pricing-rules.php:614
|
893 |
-
msgid "Last 90 days"
|
894 |
-
msgstr ""
|
895 |
-
|
896 |
-
#: v1/includes/discount-base.php:1197 v1/view/view-cart-rules.php:669
|
897 |
-
#: v1/view/view-pricing-rules.php:615
|
898 |
-
msgid "Last 180 days"
|
899 |
-
msgstr ""
|
900 |
-
|
901 |
-
#: v1/includes/discount-base.php:1198 v1/view/view-cart-rules.php:670
|
902 |
-
#: v1/view/view-pricing-rules.php:616
|
903 |
-
msgid "Last 1 year"
|
904 |
-
msgstr ""
|
905 |
-
|
906 |
-
#: v1/includes/discount-base.php:1199 v1/view/view-cart-rules.php:671
|
907 |
-
#: v1/view/view-pricing-rules.php:617
|
908 |
-
msgid "Custom"
|
909 |
-
msgstr ""
|
910 |
-
|
911 |
-
#: v1/includes/discount-base.php:1200 v1/view/view-cart-rules.php:674
|
912 |
-
#: v1/view/view-pricing-rules.php:621
|
913 |
-
msgid "in days"
|
914 |
-
msgstr ""
|
915 |
-
|
916 |
-
#: v1/includes/discount-base.php:1201 v1/view/view-pricing-rules.php:804
|
917 |
-
#: v1/view/view-pricing-rules.php:806
|
918 |
-
msgid "Fixed Price Per Unit"
|
919 |
-
msgstr ""
|
920 |
-
|
921 |
-
#: v1/includes/discount-base.php:1202 v1/view/view-pricing-rules.php:814
|
922 |
-
#: v1/view/view-pricing-rules.php:816
|
923 |
-
msgid "Bundle (Set) Discount"
|
924 |
-
msgstr ""
|
925 |
-
|
926 |
-
#: v1/includes/discount-base.php:1203 v1/view/view-cart-rules.php:371
|
927 |
-
#: v1/view/view-cart-rules.php:373 v1/view/view-pricing-rules.php:550
|
928 |
-
msgid "First Order discount"
|
929 |
-
msgstr ""
|
930 |
-
|
931 |
-
#: v1/includes/discount-base.php:1204 v1/view/view-cart-rules.php:264
|
932 |
-
msgid "Exclude categories in cart"
|
933 |
-
msgstr ""
|
934 |
-
|
935 |
-
#: v1/includes/discount-base.php:1206 v1/view/view-pricing-rules.php:824
|
936 |
-
#: v1/view/view-pricing-rules.php:826
|
937 |
-
msgid "Buy X get X (Same product)"
|
938 |
-
msgstr ""
|
939 |
-
|
940 |
-
#: v1/includes/discount-base.php:1207 v1/view/view-pricing-rules.php:834
|
941 |
-
#: v1/view/view-pricing-rules.php:836
|
942 |
-
msgid "Buy X get Y (Auto add all selected products)"
|
943 |
-
msgstr ""
|
944 |
-
|
945 |
-
#: v1/includes/discount-base.php:1208
|
946 |
-
#, php-format
|
947 |
-
msgid ""
|
948 |
-
"The customer gets the same product free (Buy 2 get 1 free) or a limited "
|
949 |
-
"percentage (Buy 2 and get 1 at 50% discount)"
|
950 |
-
msgstr ""
|
951 |
-
|
952 |
-
#: v1/includes/discount-base.php:1209
|
953 |
-
msgid ""
|
954 |
-
"Provide a specific product free when purchasing another product."
|
955 |
-
"<br><br>Example: Buy Product A and get Product B free. Product B will be "
|
956 |
-
"automatically added to cart."
|
957 |
-
msgstr ""
|
958 |
-
|
959 |
-
#: v1/includes/discount-base.php:1210
|
960 |
-
msgid ""
|
961 |
-
"Provide a specific product free when purchasing another product."
|
962 |
-
"<br><br>Instead of automatically adding, if you wish to choose the free "
|
963 |
-
"product, you can select this option.<br><br>Note : Product will be "
|
964 |
-
"discounted only when the user manually adds the product to cart."
|
965 |
-
msgstr ""
|
966 |
-
|
967 |
-
#: v1/includes/discount-base.php:1211
|
968 |
-
msgid ""
|
969 |
-
"Used to provide BOGO discount within categories.<br><br>Example 1: Buy 2 "
|
970 |
-
"from Category A and get 1 free from the same Category A.<br>Example 2: Buy "
|
971 |
-
"any items from Category A and get 20% (limited percent) discount on Category "
|
972 |
-
"B."
|
973 |
-
msgstr ""
|
974 |
-
|
975 |
-
#: v1/includes/discount-base.php:1212
|
976 |
-
msgid ""
|
977 |
-
"This allows you to offer the cheapest product in cart for free (or at a "
|
978 |
-
"limited percentage like 50%)"
|
979 |
-
msgstr ""
|
980 |
-
|
981 |
-
#: v1/includes/discount-base.php:1213
|
982 |
-
#, php-format
|
983 |
-
msgid ""
|
984 |
-
"<span class=\"wdr_desc_text\">Useful for providing a discount on store wide "
|
985 |
-
"or on all products.</span> <span class=\"wdr_desc_text\"> <a href=\"%s"
|
986 |
-
"\">Read docs</a>.</span>"
|
987 |
-
msgstr ""
|
988 |
-
|
989 |
-
#: v1/includes/discount-base.php:1214
|
990 |
-
#, php-format
|
991 |
-
msgid ""
|
992 |
-
"<span class=\"wdr_desc_text\">Useful for providing a discount on selected "
|
993 |
-
"products. Check the box to count quantities together across products.</"
|
994 |
-
"span><br><span class=\"wdr_desc_text\"><b>Note:</b> For variable products, "
|
995 |
-
"you can auto include variants by enabling it in the settings. <a href=\"%s"
|
996 |
-
"\">Read docs</a>.</span>"
|
997 |
-
msgstr ""
|
998 |
-
|
999 |
-
#: v1/includes/discount-base.php:1215
|
1000 |
-
#, php-format
|
1001 |
-
msgid ""
|
1002 |
-
"<span class=\"wdr_desc_text\">Useful for providing a discount on a specific "
|
1003 |
-
"category or multiple categories.</span><br><span class=\"wdr_desc_text"
|
1004 |
-
"\"><b>Example:</b> 10%% discount for products from category A or category B. "
|
1005 |
-
"<a href=\"%s\">Read docs</a>.</span>"
|
1006 |
-
msgstr ""
|
1007 |
-
|
1008 |
-
#: v1/includes/discount-base.php:1216
|
1009 |
-
#, php-format
|
1010 |
-
msgid ""
|
1011 |
-
"<span class=\"wdr_desc_text\">Useful to offer discount based on attributes. "
|
1012 |
-
"<b>Example:</b> 10%% discount on Small Size T-shirts.</span><br><span class="
|
1013 |
-
"\"wdr_desc_text\"><b>Note:</b> Please make sure that the attributes are pre-"
|
1014 |
-
"defined in WooCommerce -> Attributes. <a href=\"%s\">Read docs</a>.</span>"
|
1015 |
-
msgstr ""
|
1016 |
-
|
1017 |
-
#: v1/includes/discount-base.php:1302
|
1018 |
-
#: v2/App/Controllers/ManageDiscount.php:1270
|
1019 |
-
#, php-format
|
1020 |
-
msgid ""
|
1021 |
-
"Sorry, it is not possible to apply coupon <b>\"%s\"</b> as you already have "
|
1022 |
-
"a discount applied in cart."
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: v1/includes/discount-base.php:1357 v1/view/includes/menu.php:18
|
1026 |
-
#: v2/App/Controllers/Admin/Settings.php:66
|
1027 |
-
#: v2/App/Controllers/Admin/Tabs/GeneralSettings.php:23
|
1028 |
-
msgid "Settings"
|
1029 |
-
msgstr ""
|
1030 |
-
|
1031 |
-
#: v1/includes/pricing-rules.php:3209 v1/view/view-pricing-rules.php:642
|
1032 |
-
msgid "Buy"
|
1033 |
-
msgstr ""
|
1034 |
-
|
1035 |
-
#: v1/includes/pricing-rules.php:3213
|
1036 |
-
msgid " less than or equal to "
|
1037 |
-
msgstr ""
|
1038 |
-
|
1039 |
-
#: v1/includes/pricing-rules.php:3213 v1/includes/pricing-rules.php:3219
|
1040 |
-
msgid " Quantity"
|
1041 |
-
msgstr ""
|
1042 |
-
|
1043 |
-
#: v1/includes/pricing-rules.php:3216
|
1044 |
-
msgid " Quantity "
|
1045 |
-
msgstr ""
|
1046 |
-
|
1047 |
-
#: v1/includes/pricing-rules.php:3223
|
1048 |
-
msgid " or more Quantity"
|
1049 |
-
msgstr ""
|
1050 |
-
|
1051 |
-
#: v1/includes/pricing-rules.php:3232
|
1052 |
-
msgid " any "
|
1053 |
-
msgstr ""
|
1054 |
-
|
1055 |
-
#: v1/includes/pricing-rules.php:3232
|
1056 |
-
msgid " products from "
|
1057 |
-
msgstr ""
|
1058 |
-
|
1059 |
-
#: v1/includes/pricing-rules.php:3239
|
1060 |
-
msgid " in each products"
|
1061 |
-
msgstr ""
|
1062 |
-
|
1063 |
-
#: v1/includes/pricing-rules.php:3251
|
1064 |
-
msgid " and get discount on "
|
1065 |
-
msgstr ""
|
1066 |
-
|
1067 |
-
#: v1/includes/pricing-rules.php:3254
|
1068 |
-
msgid " first "
|
1069 |
-
msgstr ""
|
1070 |
-
|
1071 |
-
#: v1/includes/pricing-rules.php:3256 v1/includes/pricing-rules.php:3260
|
1072 |
-
msgid " quantity of product(s) - "
|
1073 |
-
msgstr ""
|
1074 |
-
|
1075 |
-
#: v1/includes/pricing-rules.php:3258
|
1076 |
-
msgid " after first "
|
1077 |
-
msgstr ""
|
1078 |
-
|
1079 |
-
#: v1/includes/pricing-rules.php:3276
|
1080 |
-
msgid "Category(ies) "
|
1081 |
-
msgstr ""
|
1082 |
-
|
1083 |
-
#: v1/includes/pricing-rules.php:3347
|
1084 |
-
msgid "Get "
|
1085 |
-
msgstr ""
|
1086 |
-
|
1087 |
-
#: v1/includes/pricing-rules.php:3349
|
1088 |
-
#, php-format
|
1089 |
-
msgid "% discount in "
|
1090 |
-
msgstr ""
|
1091 |
-
|
1092 |
-
#: v1/includes/pricing-rules.php:3352
|
1093 |
-
msgid "same product"
|
1094 |
-
msgstr ""
|
1095 |
-
|
1096 |
-
#: v1/includes/pricing-rules.php:3354
|
1097 |
-
msgid "any cheapest one from cart"
|
1098 |
-
msgstr ""
|
1099 |
-
|
1100 |
-
#: v1/includes/pricing-rules.php:3357
|
1101 |
-
msgid "any cheapest one of "
|
1102 |
-
msgstr ""
|
1103 |
-
|
1104 |
-
#: v1/includes/pricing-rules.php:3362
|
1105 |
-
msgid " quantity of any "
|
1106 |
-
msgstr ""
|
1107 |
-
|
1108 |
-
#: v1/includes/pricing-rules.php:3364
|
1109 |
-
msgid " cheapest item "
|
1110 |
-
msgstr ""
|
1111 |
-
|
1112 |
-
#: v1/includes/pricing-rules.php:3367
|
1113 |
-
msgid " quantity of cheapest item "
|
1114 |
-
msgstr ""
|
1115 |
-
|
1116 |
-
#: v1/includes/pricing-rules.php:3371
|
1117 |
-
msgid "from the category "
|
1118 |
-
msgstr ""
|
1119 |
-
|
1120 |
-
#: v1/includes/pricing-rules.php:3393
|
1121 |
-
#, php-format
|
1122 |
-
msgid "%s for %s Quantity(s)"
|
1123 |
-
msgstr ""
|
1124 |
-
|
1125 |
-
#: v1/includes/pricing-rules.php:3395
|
1126 |
-
#, php-format
|
1127 |
-
msgid "%s as price per unit"
|
1128 |
-
msgstr ""
|
1129 |
-
|
1130 |
-
#: v1/includes/survey.php:82 v2/App/Helpers/SurveyForm.php:84
|
1131 |
-
msgid "Please select an option"
|
1132 |
-
msgstr ""
|
1133 |
-
|
1134 |
-
#: v1/includes/survey.php:85 v2/App/Helpers/SurveyForm.php:87
|
1135 |
-
msgid "Sending Feedback"
|
1136 |
-
msgstr ""
|
1137 |
-
|
1138 |
-
#: v1/includes/survey.php:239 v2/App/Helpers/SurveyForm.php:241
|
1139 |
-
msgid "Upgrading to PRO."
|
1140 |
-
msgstr ""
|
1141 |
-
|
1142 |
-
#: v1/includes/survey.php:243 v2/App/Helpers/SurveyForm.php:245
|
1143 |
-
msgid "I am switching to a different discount plugin."
|
1144 |
-
msgstr ""
|
1145 |
-
|
1146 |
-
#: v1/includes/survey.php:247 v2/App/Helpers/SurveyForm.php:249
|
1147 |
-
msgid "I could not get my discount rule to work."
|
1148 |
-
msgstr ""
|
1149 |
-
|
1150 |
-
#: v1/includes/survey.php:251 v2/App/Helpers/SurveyForm.php:253
|
1151 |
-
msgid "It does not meet my discount requirements."
|
1152 |
-
msgstr ""
|
1153 |
-
|
1154 |
-
#: v1/includes/survey.php:255 v2/App/Helpers/SurveyForm.php:257
|
1155 |
-
msgid "Plugin is complex."
|
1156 |
-
msgstr ""
|
1157 |
-
|
1158 |
-
#: v1/includes/survey.php:259 v2/App/Helpers/SurveyForm.php:261
|
1159 |
-
msgid "I'm trying to troubleshoot the plugin."
|
1160 |
-
msgstr ""
|
1161 |
-
|
1162 |
-
#: v1/includes/survey.php:263 v2/App/Helpers/SurveyForm.php:265
|
1163 |
-
msgid "I was instructed to deactivate by Flycart Support."
|
1164 |
-
msgstr ""
|
1165 |
-
|
1166 |
-
#: v1/includes/survey.php:267 v2/App/Helpers/SurveyForm.php:269
|
1167 |
-
msgid "I no longer use this plugin."
|
1168 |
-
msgstr ""
|
1169 |
-
|
1170 |
-
#: v1/includes/survey.php:271 v2/App/Helpers/SurveyForm.php:273
|
1171 |
-
msgid "It's a temporary deactivation."
|
1172 |
-
msgstr ""
|
1173 |
-
|
1174 |
-
#: v1/includes/survey.php:275 v2/App/Helpers/SurveyForm.php:277
|
1175 |
-
msgid "Other"
|
1176 |
-
msgstr ""
|
1177 |
-
|
1178 |
-
#: v1/includes/survey.php:277 v2/App/Helpers/SurveyForm.php:279
|
1179 |
-
msgid "Please share the reason"
|
1180 |
-
msgstr ""
|
1181 |
-
|
1182 |
-
#: v1/includes/survey.php:287 v2/App/Helpers/SurveyForm.php:289
|
1183 |
-
msgid "Quick Feedback"
|
1184 |
-
msgstr ""
|
1185 |
-
|
1186 |
-
#: v1/includes/survey.php:288 v2/App/Helpers/SurveyForm.php:290
|
1187 |
-
msgid "Close"
|
1188 |
-
msgstr ""
|
1189 |
-
|
1190 |
-
#: v1/includes/survey.php:296 v2/App/Helpers/SurveyForm.php:298
|
1191 |
-
#, php-format
|
1192 |
-
msgid "If you have a moment, please share why you are deactivating %s:"
|
1193 |
-
msgstr ""
|
1194 |
-
|
1195 |
-
#: v1/includes/survey.php:297 v2/App/Helpers/SurveyForm.php:299
|
1196 |
-
msgid "Discount Rules for WooCommerce"
|
1197 |
-
msgstr ""
|
1198 |
-
|
1199 |
-
#: v1/includes/survey.php:325 v2/App/Helpers/SurveyForm.php:327
|
1200 |
-
msgid "Submit & Deactivate"
|
1201 |
-
msgstr ""
|
1202 |
-
|
1203 |
-
#: v1/includes/survey.php:327 v2/App/Helpers/SurveyForm.php:329
|
1204 |
-
msgid "Skip & Deactivate"
|
1205 |
-
msgstr ""
|
1206 |
-
|
1207 |
-
#: v1/view/cart-rules.php:48
|
1208 |
-
msgid "Cart Rules"
|
1209 |
-
msgstr ""
|
1210 |
-
|
1211 |
-
#: v1/view/cart-rules.php:53 v1/view/pricing-rules.php:85
|
1212 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:56
|
1213 |
-
msgid "View Examples"
|
1214 |
-
msgstr ""
|
1215 |
-
|
1216 |
-
#: v1/view/cart-rules.php:54 v1/view/documentation.php:21
|
1217 |
-
#: v1/view/pricing-rules.php:86 v2/App/Controllers/Admin/Tabs/Help.php:17
|
1218 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:58
|
1219 |
-
#: v2/App/Views/Admin/Tabs/help.php:8
|
1220 |
-
msgid "Documentation"
|
1221 |
-
msgstr ""
|
1222 |
-
|
1223 |
-
#: v1/view/cart-rules.php:65 v1/view/pricing-rules.php:97
|
1224 |
-
msgid "You Reach Max. Rule Limit"
|
1225 |
-
msgstr ""
|
1226 |
-
|
1227 |
-
#: v1/view/cart-rules.php:70 v1/view/pricing-rules.php:101
|
1228 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:13
|
1229 |
-
msgid "Add New Rule"
|
1230 |
-
msgstr ""
|
1231 |
-
|
1232 |
-
#: v1/view/cart-rules.php:81 v1/view/pricing-rules.php:111
|
1233 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:76
|
1234 |
-
msgid "Bulk Actions"
|
1235 |
-
msgstr ""
|
1236 |
-
|
1237 |
-
#: v1/view/cart-rules.php:82 v1/view/pricing-rules.php:112
|
1238 |
-
msgid "Enable rules"
|
1239 |
-
msgstr ""
|
1240 |
-
|
1241 |
-
#: v1/view/cart-rules.php:83 v1/view/pricing-rules.php:113
|
1242 |
-
msgid "Disable rules"
|
1243 |
-
msgstr ""
|
1244 |
-
|
1245 |
-
#: v1/view/cart-rules.php:84 v1/view/pricing-rules.php:114
|
1246 |
-
msgid "Delete rules"
|
1247 |
-
msgstr ""
|
1248 |
-
|
1249 |
-
#: v1/view/cart-rules.php:86 v1/view/pricing-rules.php:116
|
1250 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:81
|
1251 |
-
msgid "Apply"
|
1252 |
-
msgstr ""
|
1253 |
-
|
1254 |
-
#: v1/view/cart-rules.php:100 v1/view/cart-rules.php:210
|
1255 |
-
#: v1/view/pricing-rules.php:130 v1/view/pricing-rules.php:240
|
1256 |
-
#: v1/view/template/discount-table.php:36
|
1257 |
-
msgid "Name"
|
1258 |
-
msgstr ""
|
1259 |
-
|
1260 |
-
#: v1/view/cart-rules.php:101 v1/view/cart-rules.php:211
|
1261 |
-
#: v1/view/pricing-rules.php:131 v1/view/pricing-rules.php:241
|
1262 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:112
|
1263 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:338
|
1264 |
-
msgid "Start Date"
|
1265 |
-
msgstr ""
|
1266 |
-
|
1267 |
-
#: v1/view/cart-rules.php:102 v1/view/cart-rules.php:212
|
1268 |
-
#: v1/view/pricing-rules.php:132 v1/view/pricing-rules.php:242
|
1269 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:114
|
1270 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:340
|
1271 |
-
msgid "Expired On"
|
1272 |
-
msgstr ""
|
1273 |
-
|
1274 |
-
#: v1/view/cart-rules.php:103 v1/view/cart-rules.php:213
|
1275 |
-
#: v1/view/pricing-rules.php:133 v1/view/pricing-rules.php:243
|
1276 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:127
|
1277 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:353
|
1278 |
-
msgid "Status"
|
1279 |
-
msgstr ""
|
1280 |
-
|
1281 |
-
#: v1/view/cart-rules.php:106 v1/view/cart-rules.php:216
|
1282 |
-
#: v1/view/pricing-rules.php:136 v1/view/pricing-rules.php:246
|
1283 |
-
#: v2/App/Views/Admin/Rules/Conditions/Main.php:213
|
1284 |
-
msgid "Language"
|
1285 |
-
msgstr ""
|
1286 |
-
|
1287 |
-
#: v1/view/cart-rules.php:111 v1/view/cart-rules.php:221
|
1288 |
-
#: v1/view/pricing-rules.php:141 v1/view/pricing-rules.php:251
|
1289 |
-
msgid "Order"
|
1290 |
-
msgstr ""
|
1291 |
-
|
1292 |
-
#: v1/view/cart-rules.php:183 v1/view/pricing-rules.php:213
|
1293 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:302
|
1294 |
-
msgid "Edit"
|
1295 |
-
msgstr ""
|
1296 |
-
|
1297 |
-
#: v1/view/cart-rules.php:194 v1/view/pricing-rules.php:224
|
1298 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:79
|
1299 |
-
#: v2/App/Views/Admin/Tabs/DiscountRule.php:307
|
1300 |
-
msgid "Delete"
|
1301 |
-
msgstr ""
|
1302 |
-
|
1303 |
-
#: v1/view/documentation.php:28
|
1304 |
-
msgid "Installation and Intro:"
|
1305 |
-
msgstr ""
|
1306 |
-
|
1307 |
-
#: v1/view/documentation.php:30
|
1308 |
-
msgid "Getting started"
|
1309 |
-
msgstr ""
|
1310 |
-
|
1311 |
-
#: v1/view/documentation.php:30
|
1312 |
-
msgid "Welcome onboard"
|
1313 |
-
msgstr ""
|
1314 |
-
|
1315 |
-
#: v1/view/documentation.php:33 v2/App/Views/Admin/Tabs/help.php:31
|
1316 |
-
msgid "License Key activation"
|
1317 |
-
msgstr ""
|
1318 |
-
|
1319 |
-
#: v1/view/documentation.php:33 v2/App/Views/Admin/Tabs/help.php:32
|
1320 |
-
msgid "Learn how to obtain the license key and activate it"
|
1321 |
-
msgstr ""
|
1322 |
-
|
1323 |
-
#: v1/view/documentation.php:36 v2/App/Views/Admin/Tabs/help.php:39
|
1324 |
-
msgid "Version Updates!"
|
1325 |
-
msgstr ""
|
1326 |
-
|
1327 |
-
#: v1/view/documentation.php:36 v2/App/Views/Admin/Tabs/help.php:40
|
1328 |
-
msgid "Learn how to update to latest versions"
|
1329 |
-
msgstr ""
|
1330 |
-
|
1331 |
-
#: v1/view/documentation.php:39
|
1332 |
-
msgid "Popular Discount Rules"
|
1333 |
-
msgstr ""
|
1334 |
-
|
1335 |
-
#: v1/view/documentation.php:39
|
1336 |
-
msgid "What type of discount scenarios are most commonly used"
|
1337 |
-
msgstr ""
|
1338 |
-
|
1339 |
-
#: v1/view/documentation.php:43
|
1340 |
-
msgid "Price rules/BOGO discounts:"
|
1341 |
-
msgstr ""
|
1342 |
-
|
1343 |
-
#: v1/view/documentation.php:45 v2/App/Views/Admin/Tabs/help.php:64
|
1344 |
-
msgid "Bulk/Tiered pricing discounts"
|
1345 |
-
msgstr ""
|
1346 |
-
|
1347 |
-
#: v1/view/documentation.php:45 v2/App/Views/Admin/Tabs/help.php:65
|
1348 |
-
msgid "Learn how to create bulk/tiered quantity discounts in WooCommerce"
|
1349 |
-
msgstr ""
|
1350 |
-
|
1351 |
-
#: v1/view/documentation.php:48 v2/App/Views/Admin/Tabs/help.php:75
|
1352 |
-
msgid "How to create a perfect BOGO discount rule in WooCommerce"
|
1353 |
-
msgstr ""
|
1354 |
-
|
1355 |
-
#: v1/view/documentation.php:48 v2/App/Views/Admin/Tabs/help.php:76
|
1356 |
-
msgid ""
|
1357 |
-
"Buy One Get One deals can be simple to complex. Learn how to get them "
|
1358 |
-
"working correct in your online store"
|
1359 |
-
msgstr ""
|
1360 |
-
|
1361 |
-
#: v1/view/documentation.php:51
|
1362 |
-
msgid "User Role based discount rules"
|
1363 |
-
msgstr ""
|
1364 |
-
|
1365 |
-
#: v1/view/documentation.php:51
|
1366 |
-
msgid ""
|
1367 |
-
"Learn how to create user role based / customer group based discount in "
|
1368 |
-
"WooCommerce"
|
1369 |
-
msgstr ""
|
1370 |
-
|
1371 |
-
#: v1/view/documentation.php:54
|
1372 |
-
msgid "Purchase History Based Discount"
|
1373 |
-
msgstr ""
|
1374 |
-
|
1375 |
-
#: v1/view/documentation.php:54
|
1376 |
-
msgid ""
|
1377 |
-
"Price Rule and Cart Rule which gives discount based on the purchase history"
|
1378 |
-
msgstr ""
|
1379 |
-
|
1380 |
-
#: v1/view/documentation.php:57 v2/App/Views/Admin/Tabs/help.php:85
|
1381 |
-
msgid "Coupon code based discounts"
|
1382 |
-
msgstr ""
|
1383 |
-
|
1384 |
-
#: v1/view/documentation.php:57 v2/App/Views/Admin/Tabs/help.php:86
|
1385 |
-
msgid ""
|
1386 |
-
"Apply the dynamic discount rules after the customer enters a valid coupon "
|
1387 |
-
"code"
|
1388 |
-
msgstr ""
|
1389 |
-
|
1390 |
-
#: v1/view/documentation.php:61
|
1391 |
-
msgid "Cart Based Rules:"
|
1392 |
-
msgstr ""
|
1393 |
-
|
1394 |
-
#: v1/view/documentation.php:63 v2/App/Views/Admin/Tabs/help.php:113
|
1395 |
-
msgid "Learn how to create a free shipping cart based rule"
|
1396 |
-
msgstr ""
|
1397 |
-
|
1398 |
-
#: v1/view/documentation.php:66 v2/App/Views/Admin/Tabs/help.php:123
|
1399 |
-
msgid "Subtotal based - Tiered discounts"
|
1400 |
-
msgstr ""
|
1401 |
-
|
1402 |
-
#: v1/view/documentation.php:66 v2/App/Views/Admin/Tabs/help.php:124
|
1403 |
-
msgid "Learn how to create tiered discount based on the subtotal value"
|
1404 |
-
msgstr ""
|
1405 |
-
|
1406 |
-
#: v1/view/documentation.php:69
|
1407 |
-
msgid "Free product discount"
|
1408 |
-
msgstr ""
|
1409 |
-
|
1410 |
-
#: v1/view/documentation.php:69 v2/App/Views/Admin/Tabs/help.php:136
|
1411 |
-
msgid ""
|
1412 |
-
"How to provide a automatic adding free product in cart under certain "
|
1413 |
-
"conditions"
|
1414 |
-
msgstr ""
|
1415 |
-
|
1416 |
-
#: v1/view/documentation.php:72 v2/App/Helpers/Helper.php:173
|
1417 |
-
#: v2/App/Views/Admin/Tabs/help.php:145
|
1418 |
-
msgid "Category Combination"
|
1419 |
-
msgstr ""
|
1420 |
-
|
1421 |
-
#: v1/view/documentation.php:72 v2/App/Views/Admin/Tabs/help.php:146
|
1422 |
-
msgid ""
|
1423 |
-
"Category Combination (get discount only when Category A+ B + C are in the "
|
1424 |
-
"cart)"
|
1425 |
-
msgstr ""
|
1426 |
-
|
1427 |
-
#: v1/view/includes/cart-menu.php:9 v1/view/includes/sub-menu.php:9
|
1428 |
-
#: v1/view/settings.php:38 v1/view/view-cart-rules.php:65
|
1429 |
-
#: v1/view/view-pricing-rules.php:47 v2/App/Views/Admin/Tabs/settings.php:15
|
1430 |
-
msgid "General"
|
1431 |
-
msgstr ""
|
1432 |
-
|
1433 |
-
#: v1/view/includes/cart-menu.php:11
|
1434 |
-
msgid "Conditions"
|
1435 |
-
msgstr ""
|
1436 |
-
|
1437 |
-
#: v1/view/includes/cart-menu.php:13 v1/view/includes/sub-menu.php:13
|
1438 |
-
#: v1/view/template/discount-table.php:42 v1/view/view-cart-rules.php:756
|
1439 |
-
#: v1/view/view-pricing-rules.php:708 v2/App/Controllers/Admin/Settings.php:464
|
1440 |
-
#: v2/App/Helpers/Rule.php:1237 v2/App/Views/Admin/Rules/Discounts/Bulk.php:59
|
1441 |
-
#: v2/App/Views/Admin/Rules/Manage.php:242
|
1442 |
-
msgid "Discount"
|
1443 |
-
msgstr ""
|
1444 |
-
|
1445 |
-
#: v1/view/includes/footer.php:7
|
1446 |
-
msgid ""
|
1447 |
-
"Having trouble in setting up the discount? Let us set up the rules for you "
|
1448 |
-
"(for free)!"
|
1449 |
-
msgstr ""
|
1450 |
-
|
1451 |
-
#: v1/view/includes/footer.php:7
|
1452 |
-
msgid "Please contact our support team"
|
1453 |
-
msgstr ""
|
1454 |
-
|
1455 |
-
#: v1/view/includes/header.php:14
|
1456 |
-
#, php-format
|
1457 |
-
msgid ""
|
1458 |
-
"An another discount plugin %s is active. Please disable this plugin, Woo "
|
1459 |
-
"Discount Rules might get conflict."
|
1460 |
-
msgstr ""
|
1461 |
-
|
1462 |
-
#: v1/view/includes/menu.php:14
|
1463 |
-
msgid "Price Discount Rules"
|
1464 |
-
msgstr ""
|
1465 |
-
|
1466 |
-
#: v1/view/includes/menu.php:16
|
1467 |
-
msgid "Cart Discount Rules"
|
1468 |
-
msgstr ""
|
1469 |
-
|
1470 |
-
#: v1/view/includes/menu.php:22
|
1471 |
-
msgid "Taxonomy Settings"
|
1472 |
-
msgstr ""
|
1473 |
-
|
1474 |
-
#: v1/view/includes/menu.php:25
|
1475 |
-
msgid "Read documentation"
|
1476 |
-
msgstr ""
|
1477 |
-
|
1478 |
-
#: v1/view/includes/sub-menu.php:11
|
1479 |
-
msgid "Condition"
|
1480 |
-
msgstr ""
|
1481 |
-
|
1482 |
-
#: v1/view/pricing-rules.php:80
|
1483 |
-
msgid "Price Rules"
|
1484 |
-
msgstr ""
|
1485 |
-
|
1486 |
-
#: v1/view/settings.php:39
|
1487 |
-
msgid "Price rules"
|
1488 |
-
msgstr ""
|
1489 |
-
|
1490 |
-
#: v1/view/settings.php:40
|
1491 |
-
msgid "Cart rules"
|
1492 |
-
msgstr ""
|
1493 |
-
|
1494 |
-
#: v1/view/settings.php:41
|
1495 |
-
msgid "Performance"
|
1496 |
-
msgstr ""
|
1497 |
-
|
1498 |
-
#: v1/view/settings.php:42 v2/App/Views/Admin/Tabs/settings.php:358
|
1499 |
-
msgid "Promotion"
|
1500 |
-
msgstr ""
|
1501 |
-
|
1502 |
-
#: v1/view/settings_cart_rules.php:8
|
1503 |
-
msgid "Cart rules settings"
|
1504 |
-
msgstr ""
|
1505 |
-
|
1506 |
-
#: v1/view/settings_cart_rules.php:15
|
1507 |
-
msgid "Discount identifier in the backend"
|
1508 |
-
msgstr ""
|
1509 |
-
|
1510 |
-
#: v1/view/settings_cart_rules.php:21
|
1511 |
-
msgid "Discount Coupon Name"
|
1512 |
-
msgstr ""
|
1513 |
-
|
1514 |
-
#: v1/view/settings_cart_rules.php:31
|
1515 |
-
msgid "Coupon name to be used in the cart/checkout in the storefront"
|
1516 |
-
msgstr ""
|
1517 |
-
|
1518 |
-
#: v1/view/settings_cart_rules.php:35
|
1519 |
-
msgid "Discounts applied: {rule_name}"
|
1520 |
-
msgstr ""
|
1521 |
-
|
1522 |
-
#: v1/view/settings_cart_rules.php:38
|
1523 |
-
msgid ""
|
1524 |
-
"- Rule name. If more than one rule applies in cart, then the rule names will "
|
1525 |
-
"be shown separated by comma(,)"
|
1526 |
-
msgstr ""
|
1527 |
-
|
1528 |
-
#: v1/view/settings_cart_rules.php:42
|
1529 |
-
msgid "Eg: "
|
1530 |
-
msgstr ""
|
1531 |
-
|
1532 |
-
#: v1/view/settings_cart_rules.php:53
|
1533 |
-
msgid "Rule Setup for Cart:"
|
1534 |
-
msgstr ""
|
1535 |
-
|
1536 |
-
#: v1/view/settings_cart_rules.php:59 v1/view/settings_price_rules.php:32
|
1537 |
-
msgid "Apply first matched rule"
|
1538 |
-
msgstr ""
|
1539 |
-
|
1540 |
-
#: v1/view/settings_cart_rules.php:65 v1/view/settings_cart_rules.php:67
|
1541 |
-
#: v1/view/settings_price_rules.php:38 v1/view/settings_price_rules.php:40
|
1542 |
-
msgid "Apply all matched rules"
|
1543 |
-
msgstr ""
|
1544 |
-
|
1545 |
-
#: v1/view/settings_cart_rules.php:74 v1/view/settings_cart_rules.php:76
|
1546 |
-
#: v1/view/settings_price_rules.php:47 v1/view/settings_price_rules.php:49
|
1547 |
-
msgid "Apply biggest discount"
|
1548 |
-
msgstr ""
|
1549 |
-
|
1550 |
-
#: v1/view/settings_cart_rules.php:85
|
1551 |
-
msgid "Enable free shipping option"
|
1552 |
-
msgstr ""
|
1553 |
-
|
1554 |
-
#: v1/view/settings_cart_rules.php:92 v1/view/settings_price_rules.php:313
|
1555 |
-
#: v1/view/view-pricing-rules.php:315 v1/view/view-pricing-rules.php:383
|
1556 |
-
#: v1/view/view-pricing-rules.php:473 v1/view/view-pricing-rules.php:525
|
1557 |
-
#: v1/view/view-pricing-rules.php:561
|
1558 |
-
msgid "Supported in PRO version"
|
1559 |
-
msgstr ""
|
1560 |
-
|
1561 |
-
#: v1/view/settings_cart_rules.php:105
|
1562 |
-
msgid "Use Woocommerce free shipping"
|
1563 |
-
msgstr ""
|
1564 |
-
|
1565 |
-
#: v1/view/settings_cart_rules.php:108
|
1566 |
-
msgid "Use Woo-Discount free shipping"
|
1567 |
-
msgstr ""
|
1568 |
-
|
1569 |
-
#: v1/view/settings_cart_rules.php:122
|
1570 |
-
msgid "Free shipping text to be displayed"
|
1571 |
-
msgstr ""
|
1572 |
-
|
1573 |
-
#: v1/view/settings_cart_rules.php:129
|
1574 |
-
msgid "Free Shipping title"
|
1575 |
-
msgstr ""
|
1576 |
-
|
1577 |
-
#: v1/view/settings_cart_rules.php:136
|
1578 |
-
msgid "Draft"
|
1579 |
-
msgstr ""
|
1580 |
-
|
1581 |
-
#: v1/view/settings_cart_rules.php:146
|
1582 |
-
msgid "Exclude Draft products in product select box."
|
1583 |
-
msgstr ""
|
1584 |
-
|
1585 |
-
#: v1/view/settings_general.php:6
|
1586 |
-
msgid "General Settings"
|
1587 |
-
msgstr ""
|
1588 |
-
|
1589 |
-
#: v1/view/settings_general.php:13
|
1590 |
-
msgid "License Key :"
|
1591 |
-
msgstr ""
|
1592 |
-
|
1593 |
-
#: v1/view/settings_general.php:20
|
1594 |
-
msgid "Your Unique License Key"
|
1595 |
-
msgstr ""
|
1596 |
-
|
1597 |
-
#: v1/view/settings_general.php:21
|
1598 |
-
msgid "Validate Key"
|
1599 |
-
msgstr ""
|
1600 |
-
|
1601 |
-
#: v1/view/settings_general.php:45
|
1602 |
-
msgid "Tip: Install pro package before validating the licence"
|
1603 |
-
msgstr ""
|
1604 |
-
|
1605 |
-
#: v1/view/settings_general.php:49
|
1606 |
-
msgid "Install pro package for validating the licence"
|
1607 |
-
msgstr ""
|
1608 |
-
|
1609 |
-
#: v1/view/settings_general.php:57
|
1610 |
-
msgid "Enable dropdowns (applies only for the rule engine in the backend.)"
|
1611 |
-
msgstr ""
|
1612 |
-
|
1613 |
-
#: v1/view/settings_general.php:62 v1/view/settings_general.php:79
|
1614 |
-
#: v1/view/settings_general.php:113 v1/view/settings_performance.php:21
|
1615 |
-
#: v1/view/settings_price_rules.php:86 v1/view/settings_price_rules.php:98
|
1616 |
-
#: v1/view/settings_price_rules.php:110 v1/view/settings_price_rules.php:151
|
1617 |
-
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:43
|
1618 |
-
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:22
|
1619 |
-
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:37
|
1620 |
-
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:52
|
1621 |
-
#: v2/App/Views/Admin/Tabs/settings.php:56
|
1622 |
-
#: v2/App/Views/Admin/Tabs/settings.php:87
|
1623 |
-
#: v2/App/Views/Admin/Tabs/settings.php:103
|
1624 |
-
#: v2/App/Views/Admin/Tabs/settings.php:118
|
1625 |
-
#: v2/App/Views/Admin/Tabs/settings.php:209
|
1626 |
-
#: v2/App/Views/Admin/Tabs/settings.php:304
|
1627 |
-
#: v2/App/Views/Admin/Tabs/settings.php:333
|
1628 |
-
#: v2/App/Views/Admin/Tabs/settings.php:425
|
1629 |
-
#: v2/App/Views/Admin/Tabs/settings.php:563
|
1630 |
-
#: v2/App/Views/Admin/Tabs/settings.php:580
|
1631 |
-
#: v2/App/Views/Admin/Tabs/settings.php:597
|
1632 |
-
msgid "Yes"
|
1633 |
-
msgstr ""
|
1634 |
-
|
1635 |
-
#: v1/view/settings_general.php:63 v1/view/settings_general.php:80
|
1636 |
-
#: v1/view/settings_general.php:114 v1/view/settings_performance.php:22
|
1637 |
-
#: v1/view/settings_price_rules.php:87 v1/view/settings_price_rules.php:99
|
1638 |
-
#: v1/view/settings_price_rules.php:111 v1/view/settings_price_rules.php:152
|
1639 |
-
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:48
|
1640 |
-
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:26
|
1641 |
-
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:41
|
1642 |
-
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:56
|
1643 |
-
#: v2/App/Views/Admin/Tabs/settings.php:60
|
1644 |
-
#: v2/App/Views/Admin/Tabs/settings.php:91
|
1645 |
-
#: v2/App/Views/Admin/Tabs/settings.php:107
|
1646 |
-
#: v2/App/Views/Admin/Tabs/settings.php:122
|
1647 |
-
#: v2/App/Views/Admin/Tabs/settings.php:212
|
1648 |
-
#: v2/App/Views/Admin/Tabs/settings.php:308
|
1649 |
-
#: v2/App/Views/Admin/Tabs/settings.php:339
|
1650 |
-
#: v2/App/Views/Admin/Tabs/settings.php:430
|
1651 |
-
#: v2/App/Views/Admin/Tabs/settings.php:568
|
1652 |
-
#: v2/App/Views/Admin/Tabs/settings.php:585
|
1653 |
-
#: v2/App/Views/Admin/Tabs/settings.php:602
|
1654 |
-
msgid "No"
|
1655 |
-
msgstr ""
|
1656 |
-
|
1657 |
-
#: v1/view/settings_general.php:66
|
1658 |
-
msgid ""
|
1659 |
-
"Disabling this setting may affect dropdowns in rule engine (Disabling this "
|
1660 |
-
"setting is not recommended). Change this only if you know what you are doing."
|
1661 |
-
msgstr ""
|
1662 |
-
|
1663 |
-
#: v1/view/settings_general.php:74
|
1664 |
-
msgid "Force refresh the cart widget while add and remove item to cart"
|
1665 |
-
msgstr ""
|
1666 |
-
|
1667 |
-
#: v1/view/settings_general.php:86 v2/App/Views/Admin/Tabs/settings.php:66
|
1668 |
-
msgid ""
|
1669 |
-
"Choose how discount rules should work when WooCommerce coupons (or third "
|
1670 |
-
"party) coupons are used?"
|
1671 |
-
msgstr ""
|
1672 |
-
|
1673 |
-
#: v1/view/settings_general.php:93 v2/App/Views/Admin/Tabs/settings.php:73
|
1674 |
-
msgid "Let both coupons and discount rules run together"
|
1675 |
-
msgstr ""
|
1676 |
-
|
1677 |
-
#: v1/view/settings_general.php:96 v2/App/Views/Admin/Tabs/settings.php:75
|
1678 |
-
msgid "Disable the discount rules (coupons will work)"
|
1679 |
-
msgstr ""
|
1680 |
-
|
1681 |
-
#: v1/view/settings_general.php:99 v2/App/Views/Admin/Tabs/settings.php:74
|
1682 |
-
msgid "Disable the coupons (discount rules will work)"
|
1683 |
-
msgstr ""
|
1684 |
-
|
1685 |
-
#: v1/view/settings_general.php:108
|
1686 |
-
msgid ""
|
1687 |
-
"Hide $0.00 (zero value) of coupon codes in the totals column. Useful when a "
|
1688 |
-
"coupon used with discount rule conditions"
|
1689 |
-
msgstr ""
|
1690 |
-
|
1691 |
-
#: v1/view/settings_performance.php:8
|
1692 |
-
msgid "Performance settings"
|
1693 |
-
msgstr ""
|
1694 |
-
|
1695 |
-
#: v1/view/settings_performance.php:16
|
1696 |
-
msgid "Enable cache for variable products table content"
|
1697 |
-
msgstr ""
|
1698 |
-
|
1699 |
-
#: v1/view/settings_performance.php:28 v1/view/settings_performance.php:32
|
1700 |
-
msgid "Clear cache"
|
1701 |
-
msgstr ""
|
1702 |
-
|
1703 |
-
#: v1/view/settings_price_rules.php:8
|
1704 |
-
msgid "Price rules settings"
|
1705 |
-
msgstr ""
|
1706 |
-
|
1707 |
-
#: v1/view/settings_price_rules.php:14
|
1708 |
-
msgid "Rule setup"
|
1709 |
-
msgstr ""
|
1710 |
-
|
1711 |
-
#: v1/view/settings_price_rules.php:15
|
1712 |
-
msgid "Display"
|
1713 |
-
msgstr ""
|
1714 |
-
|
1715 |
-
#: v1/view/settings_price_rules.php:16
|
1716 |
-
msgid "Offer table"
|
1717 |
-
msgstr ""
|
1718 |
-
|
1719 |
-
#: v1/view/settings_price_rules.php:17
|
1720 |
-
msgid "Sale badge"
|
1721 |
-
msgstr ""
|
1722 |
-
|
1723 |
-
#: v1/view/settings_price_rules.php:26
|
1724 |
-
msgid "Rule Setup"
|
1725 |
-
msgstr ""
|
1726 |
-
|
1727 |
-
#: v1/view/settings_price_rules.php:58
|
1728 |
-
msgid "Apply discount based on"
|
1729 |
-
msgstr ""
|
1730 |
-
|
1731 |
-
#: v1/view/settings_price_rules.php:65 v2/App/Views/Admin/Tabs/settings.php:28
|
1732 |
-
msgid "Sale price"
|
1733 |
-
msgstr ""
|
1734 |
-
|
1735 |
-
#: v1/view/settings_price_rules.php:68 v2/App/Views/Admin/Tabs/settings.php:29
|
1736 |
-
msgid "Regular price"
|
1737 |
-
msgstr ""
|
1738 |
-
|
1739 |
-
#: v1/view/settings_price_rules.php:73
|
1740 |
-
msgid ""
|
1741 |
-
"If sale price is not entered in your products, the regular price will be "
|
1742 |
-
"taken"
|
1743 |
-
msgstr ""
|
1744 |
-
|
1745 |
-
#: v1/view/settings_price_rules.php:81
|
1746 |
-
msgid ""
|
1747 |
-
"Auto add free product when coupon is applied (For coupon-activated rules)"
|
1748 |
-
msgstr ""
|
1749 |
-
|
1750 |
-
#: v1/view/settings_price_rules.php:93
|
1751 |
-
msgid ""
|
1752 |
-
"Auto add free product when checkout fields changed (For purchase history "
|
1753 |
-
"rules)"
|
1754 |
-
msgstr ""
|
1755 |
-
|
1756 |
-
#: v1/view/settings_price_rules.php:105
|
1757 |
-
msgid "Include variants when just parent products are chosen in the rules"
|
1758 |
-
msgstr ""
|
1759 |
-
|
1760 |
-
#: v1/view/settings_price_rules.php:122
|
1761 |
-
msgid "Show Price discount on product pages :"
|
1762 |
-
msgstr ""
|
1763 |
-
|
1764 |
-
#: v1/view/settings_price_rules.php:128
|
1765 |
-
#: v2/App/Views/Admin/Tabs/settings.php:279
|
1766 |
-
msgid "Show when a rule condition is matched"
|
1767 |
-
msgstr ""
|
1768 |
-
|
1769 |
-
#: v1/view/settings_price_rules.php:131
|
1770 |
-
#: v2/App/Views/Admin/Tabs/settings.php:280
|
1771 |
-
msgid "Show after a rule condition is matched"
|
1772 |
-
msgstr ""
|
1773 |
-
|
1774 |
-
#: v1/view/settings_price_rules.php:134
|
1775 |
-
#: v2/App/Views/Admin/Tabs/settings.php:281
|
1776 |
-
msgid "Shown on quantity update (dynamic)"
|
1777 |
-
msgstr ""
|
1778 |
-
|
1779 |
-
#: v1/view/settings_price_rules.php:137 v1/view/settings_price_rules.php:211
|
1780 |
-
#: v1/view/settings_price_rules.php:229 v1/view/settings_price_rules.php:247
|
1781 |
-
#: v1/view/settings_price_rules.php:265
|
1782 |
-
#: v2/App/Views/Admin/Tabs/settings.php:642
|
1783 |
-
msgid "Don't Show"
|
1784 |
-
msgstr ""
|
1785 |
-
|
1786 |
-
#: v1/view/settings_price_rules.php:146
|
1787 |
-
msgid ""
|
1788 |
-
"Show a crossed-out original price along with discounted price at line items "
|
1789 |
-
"in cart"
|
1790 |
-
msgstr ""
|
1791 |
-
|
1792 |
-
#: v1/view/settings_price_rules.php:163
|
1793 |
-
msgid "Discount Table :"
|
1794 |
-
msgstr ""
|
1795 |
-
|
1796 |
-
#: v1/view/settings_price_rules.php:172
|
1797 |
-
msgid "Default layout"
|
1798 |
-
msgstr ""
|
1799 |
-
|
1800 |
-
#: v1/view/settings_price_rules.php:175
|
1801 |
-
msgid "Advance layout"
|
1802 |
-
msgstr ""
|
1803 |
-
|
1804 |
-
#: v1/view/settings_price_rules.php:184
|
1805 |
-
msgid "Table placement:"
|
1806 |
-
msgstr ""
|
1807 |
-
|
1808 |
-
#: v1/view/settings_price_rules.php:190
|
1809 |
-
msgid "Before cart form"
|
1810 |
-
msgstr ""
|
1811 |
-
|
1812 |
-
#: v1/view/settings_price_rules.php:193
|
1813 |
-
msgid "After cart form"
|
1814 |
-
msgstr ""
|
1815 |
-
|
1816 |
-
#: v1/view/settings_price_rules.php:202
|
1817 |
-
msgid "Table header :"
|
1818 |
-
msgstr ""
|
1819 |
-
|
1820 |
-
#: v1/view/settings_price_rules.php:220
|
1821 |
-
msgid "Title column on table :"
|
1822 |
-
msgstr ""
|
1823 |
-
|
1824 |
-
#: v1/view/settings_price_rules.php:238
|
1825 |
-
msgid "Range column on table :"
|
1826 |
-
msgstr ""
|
1827 |
-
|
1828 |
-
#: v1/view/settings_price_rules.php:256
|
1829 |
-
msgid "Discount column on table :"
|
1830 |
-
msgstr ""
|
1831 |
-
|
1832 |
-
#: v1/view/settings_price_rules.php:278
|
1833 |
-
msgid "Show a Sale badge on product pages :"
|
1834 |
-
msgstr ""
|
1835 |
-
|
1836 |
-
#: v1/view/settings_price_rules.php:284
|
1837 |
-
#: v2/App/Views/Admin/Tabs/settings.php:147
|
1838 |
-
msgid "Do not show"
|
1839 |
-
msgstr ""
|
1840 |
-
|
1841 |
-
#: v1/view/settings_price_rules.php:287
|
1842 |
-
#: v2/App/Views/Admin/Tabs/settings.php:145
|
1843 |
-
msgid "Show only after a rule condition is matched exactly"
|
1844 |
-
msgstr ""
|
1845 |
-
|
1846 |
-
#: v1/view/settings_price_rules.php:290
|
1847 |
-
msgid ""
|
1848 |
-
"Show on products that are covered under any price based discount rule in the "
|
1849 |
-
"plugin"
|
1850 |
-
msgstr ""
|
1851 |
-
|
1852 |
-
#: v1/view/settings_price_rules.php:301
|
1853 |
-
#: v2/App/Views/Admin/Tabs/settings.php:153
|
1854 |
-
msgid "Do you want to customize the sale badge?"
|
1855 |
-
msgstr ""
|
1856 |
-
|
1857 |
-
#: v1/view/settings_price_rules.php:308
|
1858 |
-
#: v2/App/Views/Admin/Tabs/settings.php:164
|
1859 |
-
msgid "Yes, I would like to customize the sale badge"
|
1860 |
-
msgstr ""
|
1861 |
-
|
1862 |
-
#: v1/view/settings_price_rules.php:310
|
1863 |
-
#: v2/App/Views/Admin/Tabs/settings.php:168
|
1864 |
-
msgid ""
|
1865 |
-
"Force override the label for sale badge (useful when your theme has override "
|
1866 |
-
"for sale badge)."
|
1867 |
-
msgstr ""
|
1868 |
-
|
1869 |
-
#: v1/view/settings_price_rules.php:325
|
1870 |
-
msgid "Sale badge content (TIP: You can use HTML inside)"
|
1871 |
-
msgstr ""
|
1872 |
-
|
1873 |
-
#: v1/view/settings_price_rules.php:332
|
1874 |
-
msgid ""
|
1875 |
-
"IMPORTANT NOTE: This customized sale badge will be applicable only for "
|
1876 |
-
"products that are part of the discount rules configured in this plugin"
|
1877 |
-
msgstr ""
|
1878 |
-
|
1879 |
-
#: v1/view/settings_price_rules.php:336
|
1880 |
-
msgid "Eg:"
|
1881 |
-
msgstr ""
|
1882 |
-
|
1883 |
-
#: v1/view/settings_promotion.php:8
|
1884 |
-
msgid "Promotion settings"
|
1885 |
-
msgstr ""
|
1886 |
-
|
1887 |
-
#: v1/view/settings_promotion.php:16
|
1888 |
-
msgid "Display savings text (for price rules)"
|
1889 |
-
msgstr ""
|
1890 |
-
|
1891 |
-
#: v1/view/settings_promotion.php:25 v2/App/Views/Admin/Tabs/settings.php:399
|
1892 |
-
msgid "On each line item"
|
1893 |
-
msgstr ""
|
1894 |
-
|
1895 |
-
#: v1/view/settings_promotion.php:28 v2/App/Views/Admin/Tabs/settings.php:400
|
1896 |
-
msgid "On after total"
|
1897 |
-
msgstr ""
|
1898 |
-
|
1899 |
-
#: v1/view/settings_promotion.php:31 v2/App/Views/Admin/Tabs/settings.php:401
|
1900 |
-
msgid "Both in line item and after total"
|
1901 |
-
msgstr ""
|
1902 |
-
|
1903 |
-
#: v1/view/settings_promotion.php:39 v2/App/Views/Admin/Tabs/settings.php:408
|
1904 |
-
msgid "Savings text to show"
|
1905 |
-
msgstr ""
|
1906 |
-
|
1907 |
-
#: v1/view/settings_promotion.php:47
|
1908 |
-
msgid "{{total_discount_price}} -> Total discount applied"
|
1909 |
-
msgstr ""
|
1910 |
-
|
1911 |
-
#: v1/view/settings_promotion.php:55
|
1912 |
-
msgid "Show a message on applying price rules in cart"
|
1913 |
-
msgstr ""
|
1914 |
-
|
1915 |
-
#: v1/view/settings_promotion.php:73 v1/view/settings_promotion.php:108
|
1916 |
-
#: v1/view/view-cart-rules.php:730
|
1917 |
-
#: v2/App/Views/Admin/Rules/Others/QuantityPromotion.php:28
|
1918 |
-
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:29
|
1919 |
-
msgid "Message"
|
1920 |
-
msgstr ""
|
1921 |
-
|
1922 |
-
#: v1/view/settings_promotion.php:81 v1/view/settings_promotion.php:116
|
1923 |
-
msgid "{{title}} -> Rule title"
|
1924 |
-
msgstr ""
|
1925 |
-
|
1926 |
-
#: v1/view/settings_promotion.php:82 v1/view/settings_promotion.php:117
|
1927 |
-
msgid "{{description}} -> Rule description"
|
1928 |
-
msgstr ""
|
1929 |
-
|
1930 |
-
#: v1/view/settings_promotion.php:90
|
1931 |
-
msgid "Show a message on applying cart rules in cart"
|
1932 |
-
msgstr ""
|
1933 |
-
|
1934 |
-
#: v1/view/settings_promotion.php:125
|
1935 |
-
msgid ""
|
1936 |
-
"Subtotal based promo text (available only in cart rules -> subtotal based "
|
1937 |
-
"discounts)"
|
1938 |
-
msgstr ""
|
1939 |
-
|
1940 |
-
#: v1/view/settings_promotion.php:134 v2/App/Views/Admin/Tabs/settings.php:384
|
1941 |
-
msgid "Shop page"
|
1942 |
-
msgstr ""
|
1943 |
-
|
1944 |
-
#: v1/view/settings_promotion.php:137 v2/App/Views/Admin/Tabs/settings.php:385
|
1945 |
-
msgid "Product page"
|
1946 |
-
msgstr ""
|
1947 |
-
|
1948 |
-
#: v1/view/settings_promotion.php:140 v2/App/Views/Admin/Tabs/settings.php:386
|
1949 |
-
msgid "Cart page"
|
1950 |
-
msgstr ""
|
1951 |
-
|
1952 |
-
#: v1/view/settings_promotion.php:143 v2/App/Views/Admin/Tabs/settings.php:387
|
1953 |
-
msgid "Checkout page"
|
1954 |
-
msgstr ""
|
1955 |
-
|
1956 |
-
#: v1/view/settings_taxonomy.php:32
|
1957 |
-
msgid ""
|
1958 |
-
"Choose taxonomies that can be supported in the discount rules (as categories)"
|
1959 |
-
msgstr ""
|
1960 |
-
|
1961 |
-
#: v1/view/settings_taxonomy.php:36
|
1962 |
-
msgid ""
|
1963 |
-
"Useful when you want to provide a taxonomy based discount. The selected "
|
1964 |
-
"taxonomies here will be available as categories. So you can use the category "
|
1965 |
-
"specific discount condition to create discounts based on taxonomies.\n"
|
1966 |
-
"More examples can be found in the documentation"
|
1967 |
-
msgstr ""
|
1968 |
-
|
1969 |
-
#: v1/view/template/discount-table.php:23
|
1970 |
-
msgid "Hide table"
|
1971 |
-
msgstr ""
|
1972 |
-
|
1973 |
-
#: v1/view/template/discount-table.php:25
|
1974 |
-
msgid "This effect displays only for you (Admin)"
|
1975 |
-
msgstr ""
|
1976 |
-
|
1977 |
-
#: v1/view/template/discount-table.php:39
|
1978 |
-
msgid "Range"
|
1979 |
-
msgstr ""
|
1980 |
-
|
1981 |
-
#: v1/view/template/discount-table.php:74
|
1982 |
-
msgid "No Active Discounts."
|
1983 |
-
msgstr ""
|
1984 |
-
|
1985 |
-
#: v1/view/template/loop/sale-flash.php:23
|
1986 |
-
#: v1/view/template/single-product/sale-flash.php:23
|
1987 |
-
#: v2/App/Views/Admin/Tabs/settings.php:184
|
1988 |
-
#: v2/App/Views/Templates/loop/sale-flash.php:23
|
1989 |
-
#: v2/App/Views/Templates/single-product/sale-flash.php:23
|
1990 |
-
msgid "Sale!"
|
1991 |
-
msgstr ""
|
1992 |
-
|
1993 |
-
#: v1/view/template/sidebar.php:7 v2/App/Views/Admin/Tabs/DiscountRule.php:389
|
1994 |
-
#: v2/App/Views/Admin/Tabs/help.php:160
|
1995 |
-
msgid "Looking for more features? Upgrade to PRO"
|
1996 |
-
msgstr ""
|
1997 |
-
|
1998 |
-
#: v1/view/template/sidebar.php:19 v2/App/Views/Admin/Tabs/DiscountRule.php:394
|
1999 |
-
#: v2/App/Views/Admin/Tabs/help.php:165
|
2000 |
-
msgid "With PRO version, you can create:"
|
2001 |
-
msgstr ""
|
2002 |
-
|
2003 |
-
#: v1/view/template/sidebar.php:20 v2/App/Views/Admin/Tabs/DiscountRule.php:395
|
2004 |
-
#: v2/App/Views/Admin/Tabs/help.php:166
|
2005 |
-
msgid "- Categories based discounts"
|
2006 |
-
msgstr ""
|
2007 |
-
|
2008 |
-
#: v1/view/template/sidebar.php:21 v2/App/Views/Admin/Tabs/DiscountRule.php:396
|
2009 |
-
#: v2/App/Views/Admin/Tabs/help.php:167
|
2010 |
-
msgid "- User roles based discounts"
|
2011 |
-
msgstr ""
|
2012 |
-
|
2013 |
-
#: v1/view/template/sidebar.php:22 v2/App/Views/Admin/Tabs/DiscountRule.php:397
|
2014 |
-
#: v2/App/Views/Admin/Tabs/help.php:168
|
2015 |
-
msgid "- Buy One Get One Free deals"
|
2016 |
-
msgstr ""
|
2017 |
-
|
2018 |
-
#: v1/view/template/sidebar.php:23 v2/App/Views/Admin/Tabs/DiscountRule.php:398
|
2019 |
-
#: v2/App/Views/Admin/Tabs/help.php:169
|
2020 |
-
msgid "- Buy X Get Y deals"
|
2021 |
-
msgstr ""
|
2022 |
-
|
2023 |
-
#: v1/view/template/sidebar.php:24 v2/App/Views/Admin/Tabs/DiscountRule.php:399
|
2024 |
-
#: v2/App/Views/Admin/Tabs/help.php:170
|
2025 |
-
#, php-format
|
2026 |
-
msgid "- Buy 2, get 1 at 50% discount"
|
2027 |
-
msgstr ""
|
2028 |
-
|
2029 |
-
#: v1/view/template/sidebar.php:25 v2/App/Views/Admin/Tabs/DiscountRule.php:400
|
2030 |
-
#: v2/App/Views/Admin/Tabs/help.php:171
|
2031 |
-
msgid "- Buy 3 for $10 (Package / Bundle [Set] Discount)"
|
2032 |
-
msgstr ""
|
2033 |
-
|
2034 |
-
#: v1/view/template/sidebar.php:26 v2/App/Views/Admin/Tabs/DiscountRule.php:401
|
2035 |
-
#: v2/App/Views/Admin/Tabs/help.php:172
|
2036 |
-
msgid "- Different discounts with one coupon code"
|
2037 |
-
msgstr ""
|
2038 |
-
|
2039 |
-
#: v1/view/template/sidebar.php:27 v2/App/Views/Admin/Tabs/DiscountRule.php:402
|
2040 |
-
#: v2/App/Views/Admin/Tabs/help.php:173
|
2041 |
-
msgid "- Purchase history based discounts"
|
2042 |
-
msgstr ""
|
2043 |
-
|
2044 |
-
#: v1/view/template/sidebar.php:28 v2/App/Views/Admin/Tabs/DiscountRule.php:403
|
2045 |
-
#: v2/App/Views/Admin/Tabs/help.php:174
|
2046 |
-
msgid "- Free product / gift"
|
2047 |
-
msgstr ""
|
2048 |
-
|
2049 |
-
#: v1/view/template/sidebar.php:29 v2/App/Views/Admin/Tabs/DiscountRule.php:404
|
2050 |
-
#: v2/App/Views/Admin/Tabs/help.php:175
|
2051 |
-
msgid "- Discount for variants"
|
2052 |
-
msgstr ""
|
2053 |
-
|
2054 |
-
#: v1/view/template/sidebar.php:30 v2/App/Views/Admin/Tabs/DiscountRule.php:405
|
2055 |
-
#: v2/App/Views/Admin/Tabs/help.php:176
|
2056 |
-
msgid "- Conditional discounts"
|
2057 |
-
msgstr ""
|
2058 |
-
|
2059 |
-
#: v1/view/template/sidebar.php:31 v2/App/Views/Admin/Tabs/DiscountRule.php:406
|
2060 |
-
#: v2/App/Views/Admin/Tabs/help.php:177
|
2061 |
-
msgid "- Fixed cost discounts"
|
2062 |
-
msgstr ""
|
2063 |
-
|
2064 |
-
#: v1/view/template/sidebar.php:32 v2/App/Views/Admin/Tabs/DiscountRule.php:407
|
2065 |
-
#: v2/App/Views/Admin/Tabs/help.php:178
|
2066 |
-
msgid "- Offer fixed price on certain conditions"
|
2067 |
-
msgstr ""
|
2068 |
-
|
2069 |
-
#: v1/view/view-cart-rules.php:56 v1/view/view-pricing-rules.php:38
|
2070 |
-
msgid "Close and go back to list"
|
2071 |
-
msgstr ""
|
2072 |
-
|
2073 |
-
#: v1/view/view-cart-rules.php:60
|
2074 |
-
msgid "New Cart Rule"
|
2075 |
-
msgstr ""
|
2076 |
-
|
2077 |
-
#: v1/view/view-cart-rules.php:62
|
2078 |
-
msgid "Edit Cart Rule"
|
2079 |
-
msgstr ""
|
2080 |
-
|
2081 |
-
#: v1/view/view-cart-rules.php:75 v1/view/view-pricing-rules.php:57
|
2082 |
-
#: v2/App/Views/Admin/Rules/Manage.php:20
|
2083 |
-
#: v2/App/Views/Admin/Rules/Manage.php:24
|
2084 |
-
#: v2/App/Views/Admin/Rules/Manage.php:32
|
2085 |
-
#: v2/App/Views/Admin/Rules/Manage.php:36
|
2086 |
-
#: v2/App/Views/Admin/Rules/Manage.php:44
|
2087 |
-
msgid "This rule is not running currently: "
|
2088 |
-
msgstr ""
|
2089 |
-
|
2090 |
-
#: v1/view/view-cart-rules.php:84 v1/view/view-pricing-rules.php:66
|
2091 |
-
msgid "Priority :"
|
2092 |
-
msgstr ""
|
2093 |
-
|
2094 |
-
#: v1/view/view-cart-rules.php:86
|
2095 |
-
msgid ""
|
2096 |
-
"The Simple Ranking concept to said, which one is going to execute first and "
|
2097 |
-
"so on."
|
2098 |
-
msgstr ""
|
2099 |
-
|
2100 |
-
#: v1/view/view-cart-rules.php:98 v1/view/view-pricing-rules.php:81
|
2101 |
-
#: v2/App/Controllers/Admin/Tabs/Statistics.php:39
|
2102 |
-
msgid "Rule Name"
|
2103 |
-
msgstr ""
|
2104 |
-
|
2105 |
-
#: v1/view/view-cart-rules.php:100 v1/view/view-cart-rules.php:112
|
2106 |
-
#: v1/view/view-pricing-rules.php:95
|
2107 |
-
msgid "Rule Descriptions."
|
2108 |
-
msgstr ""
|
2109 |
-
|
2110 |
-
#: v1/view/view-cart-rules.php:105 v1/view/view-pricing-rules.php:89
|
2111 |
-
msgid "ex. Standard Rule."
|
2112 |
-
msgstr ""
|
2113 |
-
|
2114 |
-
#: v1/view/view-cart-rules.php:110 v1/view/view-pricing-rules.php:94
|
2115 |
-
msgid "Rule Description"
|
2116 |
-
msgstr ""
|
2117 |
-
|
2118 |
-
#: v1/view/view-cart-rules.php:121 v1/view/view-pricing-rules.php:130
|
2119 |
-
msgid "Validity"
|
2120 |
-
msgstr ""
|
2121 |
-
|
2122 |
-
#: v1/view/view-cart-rules.php:122 v1/view/view-pricing-rules.php:131
|
2123 |
-
msgid "Period of Rule Active. Format: month/day/Year Hour:Min"
|
2124 |
-
msgstr ""
|
2125 |
-
|
2126 |
-
#: v1/view/view-cart-rules.php:135 v1/view/view-pricing-rules.php:144
|
2127 |
-
#: v1/view/view-pricing-rules.php:652
|
2128 |
-
msgid "From"
|
2129 |
-
msgstr ""
|
2130 |
-
|
2131 |
-
#: v1/view/view-cart-rules.php:139
|
2132 |
-
msgid "To"
|
2133 |
-
msgstr ""
|
2134 |
-
|
2135 |
-
#: v1/view/view-cart-rules.php:140 v1/view/view-pricing-rules.php:149
|
2136 |
-
#, php-format
|
2137 |
-
msgid "Current date and time: %s"
|
2138 |
-
msgstr ""
|
2139 |
-
|
2140 |
-
#: v1/view/view-cart-rules.php:145 v1/view/view-cart-rules.php:750
|
2141 |
-
#: v1/view/view-pricing-rules.php:183 v1/view/view-pricing-rules.php:701
|
2142 |
-
msgid "Next"
|
2143 |
-
msgstr ""
|
2144 |
-
|
2145 |
-
#: v1/view/view-cart-rules.php:149
|
2146 |
-
msgid "Cart Conditions"
|
2147 |
-
msgstr ""
|
2148 |
-
|
2149 |
-
#: v1/view/view-cart-rules.php:152
|
2150 |
-
msgid "Add Condition"
|
2151 |
-
msgstr ""
|
2152 |
-
|
2153 |
-
#: v1/view/view-cart-rules.php:241
|
2154 |
-
msgid "Categories In Cart"
|
2155 |
-
msgstr ""
|
2156 |
-
|
2157 |
-
#: v1/view/view-cart-rules.php:295 v1/view/view-cart-rules.php:297
|
2158 |
-
msgid "Email with TLD (Eg: edu)"
|
2159 |
-
msgstr ""
|
2160 |
-
|
2161 |
-
#: v1/view/view-cart-rules.php:713
|
2162 |
-
msgid "Promotion message"
|
2163 |
-
msgstr ""
|
2164 |
-
|
2165 |
-
#: v1/view/view-cart-rules.php:718
|
2166 |
-
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:19
|
2167 |
-
msgid "Subtotal from"
|
2168 |
-
msgstr ""
|
2169 |
-
|
2170 |
-
#: v1/view/view-cart-rules.php:724
|
2171 |
-
#, php-format
|
2172 |
-
msgid ""
|
2173 |
-
"Set a threshold from which you want to start showing the promotion "
|
2174 |
-
"message<br>Example: Let's say, you offer a 10% discount for $1000 and "
|
2175 |
-
"above. You may want to set 900 here. So that the customer can see the promo "
|
2176 |
-
"text when his cart subtotal reaches 900"
|
2177 |
-
msgstr ""
|
2178 |
-
|
2179 |
-
#: v1/view/view-cart-rules.php:735
|
2180 |
-
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:33
|
2181 |
-
#, php-format
|
2182 |
-
msgid "Spend {{difference_amount}} more and get 10% discount"
|
2183 |
-
msgstr ""
|
2184 |
-
|
2185 |
-
#: v1/view/view-cart-rules.php:737
|
2186 |
-
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:34
|
2187 |
-
msgid "{{difference_amount}} -> Difference amount to get discount"
|
2188 |
-
msgstr ""
|
2189 |
-
|
2190 |
-
#: v1/view/view-cart-rules.php:738
|
2191 |
-
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:35
|
2192 |
-
#, php-format
|
2193 |
-
msgid "<b>Eg:</b> Spend {{difference_amount}} more and get 10% discount"
|
2194 |
-
msgstr ""
|
2195 |
-
|
2196 |
-
#: v1/view/view-cart-rules.php:749 v1/view/view-cart-rules.php:846
|
2197 |
-
#: v1/view/view-pricing-rules.php:700 v1/view/view-pricing-rules.php:1019
|
2198 |
-
msgid "Previous"
|
2199 |
-
msgstr ""
|
2200 |
-
|
2201 |
-
#: v1/view/view-cart-rules.php:752
|
2202 |
-
msgid "Guide to create cart rules"
|
2203 |
-
msgstr ""
|
2204 |
-
|
2205 |
-
#: v1/view/view-cart-rules.php:772
|
2206 |
-
msgid "Discount Type :"
|
2207 |
-
msgstr ""
|
2208 |
-
|
2209 |
-
#: v1/view/view-cart-rules.php:791 v1/view/view-cart-rules.php:793
|
2210 |
-
msgid "Product Discount"
|
2211 |
-
msgstr ""
|
2212 |
-
|
2213 |
-
#: v1/view/view-cart-rules.php:800 v1/view/view-cart-rules.php:802
|
2214 |
-
msgid "Free shipping"
|
2215 |
-
msgstr ""
|
2216 |
-
|
2217 |
-
#: v1/view/view-cart-rules.php:811
|
2218 |
-
msgid "value :"
|
2219 |
-
msgstr ""
|
2220 |
-
|
2221 |
-
#: v1/view/view-cart-rules.php:819
|
2222 |
-
msgid "Select products :"
|
2223 |
-
msgstr ""
|
2224 |
-
|
2225 |
-
#: v1/view/view-cart-rules.php:833
|
2226 |
-
msgid "Quantity :"
|
2227 |
-
msgstr ""
|
2228 |
-
|
2229 |
-
#: v1/view/view-pricing-rules.php:42
|
2230 |
-
msgid "New Price Rule"
|
2231 |
-
msgstr ""
|
2232 |
-
|
2233 |
-
#: v1/view/view-pricing-rules.php:44
|
2234 |
-
msgid "Edit Price Rule"
|
2235 |
-
msgstr ""
|
2236 |
-
|
2237 |
-
#: v1/view/view-pricing-rules.php:67
|
2238 |
-
msgid ""
|
2239 |
-
"The Simple Ranking concept, which one is going to execute first and so on."
|
2240 |
-
msgstr ""
|
2241 |
-
|
2242 |
-
#: v1/view/view-pricing-rules.php:82
|
2243 |
-
msgid "Rule name / title."
|
2244 |
-
msgstr ""
|
2245 |
-
|
2246 |
-
#: v1/view/view-pricing-rules.php:105
|
2247 |
-
msgid "Method"
|
2248 |
-
msgstr ""
|
2249 |
-
|
2250 |
-
#: v1/view/view-pricing-rules.php:106
|
2251 |
-
msgid "Method to Apply."
|
2252 |
-
msgstr ""
|
2253 |
-
|
2254 |
-
#: v1/view/view-pricing-rules.php:113
|
2255 |
-
msgid ""
|
2256 |
-
"Quantity / category / product / user role based discounts and BOGO deals "
|
2257 |
-
msgstr ""
|
2258 |
-
|
2259 |
-
#: v1/view/view-pricing-rules.php:120 v1/view/view-pricing-rules.php:122
|
2260 |
-
msgid "Dependent / conditional based discount (by individual product)"
|
2261 |
-
msgstr ""
|
2262 |
-
|
2263 |
-
#: v1/view/view-pricing-rules.php:148
|
2264 |
-
msgid "To - Leave Empty if No Expiry"
|
2265 |
-
msgstr ""
|
2266 |
-
|
2267 |
-
#: v1/view/view-pricing-rules.php:159
|
2268 |
-
msgid "Format for advanced table display option (see plugin settings)"
|
2269 |
-
msgstr ""
|
2270 |
-
|
2271 |
-
#: v1/view/view-pricing-rules.php:161
|
2272 |
-
msgid "Used when advanced table display option is set in the plugin settings"
|
2273 |
-
msgstr ""
|
2274 |
-
|
2275 |
-
#: v1/view/view-pricing-rules.php:164
|
2276 |
-
msgid "Buy {{min_quantity}} or more quantity and get {{discount}} as discount"
|
2277 |
-
msgstr ""
|
2278 |
-
|
2279 |
-
#: v1/view/view-pricing-rules.php:167
|
2280 |
-
msgid "{{title}} -> Title"
|
2281 |
-
msgstr ""
|
2282 |
-
|
2283 |
-
#: v1/view/view-pricing-rules.php:168
|
2284 |
-
msgid "{{description}} -> Description"
|
2285 |
-
msgstr ""
|
2286 |
-
|
2287 |
-
#: v1/view/view-pricing-rules.php:169
|
2288 |
-
msgid "{{min_quantity}} -> Minimum quantity"
|
2289 |
-
msgstr ""
|
2290 |
-
|
2291 |
-
#: v1/view/view-pricing-rules.php:170
|
2292 |
-
msgid "{{max_quantity}} -> Maximum quantity"
|
2293 |
-
msgstr ""
|
2294 |
-
|
2295 |
-
#: v1/view/view-pricing-rules.php:171
|
2296 |
-
msgid "{{discount}} -> Discount"
|
2297 |
-
msgstr ""
|
2298 |
-
|
2299 |
-
#: v1/view/view-pricing-rules.php:172
|
2300 |
-
msgid "{{discounted_price}} -> Discounted price"
|
2301 |
-
msgstr ""
|
2302 |
-
|
2303 |
-
#: v1/view/view-pricing-rules.php:173
|
2304 |
-
msgid "{{condition}} -> Rule condition text"
|
2305 |
-
msgstr ""
|
2306 |
-
|
2307 |
-
#: v1/view/view-pricing-rules.php:188
|
2308 |
-
msgid "Discount Conditions"
|
2309 |
-
msgstr ""
|
2310 |
-
|
2311 |
-
#: v1/view/view-pricing-rules.php:193
|
2312 |
-
msgid "Apply To"
|
2313 |
-
msgstr ""
|
2314 |
-
|
2315 |
-
#: v1/view/view-pricing-rules.php:202
|
2316 |
-
msgid "All products"
|
2317 |
-
msgstr ""
|
2318 |
-
|
2319 |
-
#: v1/view/view-pricing-rules.php:206
|
2320 |
-
msgid "Specific products"
|
2321 |
-
msgstr ""
|
2322 |
-
|
2323 |
-
#: v1/view/view-pricing-rules.php:212 v1/view/view-pricing-rules.php:214
|
2324 |
-
msgid "Specific categories"
|
2325 |
-
msgstr ""
|
2326 |
-
|
2327 |
-
#: v1/view/view-pricing-rules.php:221 v1/view/view-pricing-rules.php:223
|
2328 |
-
msgid "Specific attributes"
|
2329 |
-
msgstr ""
|
2330 |
-
|
2331 |
-
#: v1/view/view-pricing-rules.php:234
|
2332 |
-
msgid ""
|
2333 |
-
"Check this box to count item quantities in cart cumulatively across products"
|
2334 |
-
msgstr ""
|
2335 |
-
|
2336 |
-
#: v1/view/view-pricing-rules.php:246
|
2337 |
-
msgid "Check this box to count quantities cumulatively across category(ies)"
|
2338 |
-
msgstr ""
|
2339 |
-
|
2340 |
-
#: v1/view/view-pricing-rules.php:249
|
2341 |
-
msgid "Check this box to apply child category(ies)"
|
2342 |
-
msgstr ""
|
2343 |
-
|
2344 |
-
#: v1/view/view-pricing-rules.php:263
|
2345 |
-
msgid "Check this box to count quantities cumulatively across attribute"
|
2346 |
-
msgstr ""
|
2347 |
-
|
2348 |
-
#: v1/view/view-pricing-rules.php:276
|
2349 |
-
#, php-format
|
2350 |
-
msgid ""
|
2351 |
-
"Use this option to exclude selected products from getting a discount. <a "
|
2352 |
-
"href=\"%s\">Read docs</a>."
|
2353 |
-
msgstr ""
|
2354 |
-
|
2355 |
-
#: v1/view/view-pricing-rules.php:298
|
2356 |
-
msgid "Exclude sale items"
|
2357 |
-
msgstr ""
|
2358 |
-
|
2359 |
-
#: v1/view/view-pricing-rules.php:301
|
2360 |
-
msgid ""
|
2361 |
-
"Tick this checkbox if you wish to exclude products that already have a sale "
|
2362 |
-
"price set via WooCommerce."
|
2363 |
-
msgstr ""
|
2364 |
-
|
2365 |
-
#: v1/view/view-pricing-rules.php:309
|
2366 |
-
msgid "Check this box if the rule should not apply to items on sale."
|
2367 |
-
msgstr ""
|
2368 |
-
|
2369 |
-
#: v1/view/view-pricing-rules.php:328
|
2370 |
-
msgid "Customers"
|
2371 |
-
msgstr ""
|
2372 |
-
|
2373 |
-
#: v1/view/view-pricing-rules.php:331
|
2374 |
-
#, php-format
|
2375 |
-
msgid ""
|
2376 |
-
"Use this option to apply the rule for specific customers. <a href=\"%s"
|
2377 |
-
"\">Read docs</a>."
|
2378 |
-
msgstr ""
|
2379 |
-
|
2380 |
-
#: v1/view/view-pricing-rules.php:339 v1/view/view-pricing-rules.php:673
|
2381 |
-
msgid "All"
|
2382 |
-
msgstr ""
|
2383 |
-
|
2384 |
-
#: v1/view/view-pricing-rules.php:346 v1/view/view-pricing-rules.php:348
|
2385 |
-
msgid "Only Given"
|
2386 |
-
msgstr ""
|
2387 |
-
|
2388 |
-
#: v1/view/view-pricing-rules.php:362
|
2389 |
-
msgid "User roles"
|
2390 |
-
msgstr ""
|
2391 |
-
|
2392 |
-
#: v1/view/view-pricing-rules.php:365
|
2393 |
-
#, php-format
|
2394 |
-
msgid ""
|
2395 |
-
"Use this option to set a discount based on user roles. <a href=\"%s\">Read "
|
2396 |
-
"docs</a>."
|
2397 |
-
msgstr ""
|
2398 |
-
|
2399 |
-
#: v1/view/view-pricing-rules.php:373 v1/view/view-pricing-rules.php:409
|
2400 |
-
#: v1/view/view-pricing-rules.php:500 v1/view/view-pricing-rules.php:549
|
2401 |
-
msgid "Do not use"
|
2402 |
-
msgstr ""
|
2403 |
-
|
2404 |
-
#: v1/view/view-pricing-rules.php:394 v2/App/Helpers/Helper.php:171
|
2405 |
-
#: v2/App/Views/Admin/Tabs/settings.php:319
|
2406 |
-
msgid "Coupon"
|
2407 |
-
msgstr ""
|
2408 |
-
|
2409 |
-
#: v1/view/view-pricing-rules.php:397
|
2410 |
-
#, php-format
|
2411 |
-
msgid ""
|
2412 |
-
"Useful if you wish to activate this discount rule via coupon code.<br>You "
|
2413 |
-
"can create your own coupon code here or select coupons created from "
|
2414 |
-
"WooCommerce -> Coupons. <a href=\"%s\">Read docs</a>."
|
2415 |
-
msgstr ""
|
2416 |
-
|
2417 |
-
#: v1/view/view-pricing-rules.php:411
|
2418 |
-
msgid "Apply if any one coupon applied (Select from WooCommerce)"
|
2419 |
-
msgstr ""
|
2420 |
-
|
2421 |
-
#: v1/view/view-pricing-rules.php:412
|
2422 |
-
msgid "Apply if all coupon applied (Select from WooCommerce)"
|
2423 |
-
msgstr ""
|
2424 |
-
|
2425 |
-
#: v1/view/view-pricing-rules.php:463
|
2426 |
-
msgid "Make sure you have created the coupon already"
|
2427 |
-
msgstr ""
|
2428 |
-
|
2429 |
-
#: v1/view/view-pricing-rules.php:484 v2/App/Conditions/CartSubTotal.php:18
|
2430 |
-
#: v2/App/Helpers/Helper.php:162
|
2431 |
-
msgid "Subtotal"
|
2432 |
-
msgstr ""
|
2433 |
-
|
2434 |
-
#: v1/view/view-pricing-rules.php:487
|
2435 |
-
#, php-format
|
2436 |
-
msgid ""
|
2437 |
-
"Useful when you want to limit the rule based on subtotal. (Use this only "
|
2438 |
-
"when absolutely necessary.)<br>See cart based discount rule tab (<a href=\"%s"
|
2439 |
-
"\" target=\"_blank\">cart based rule</a>) for effective subtotal based "
|
2440 |
-
"discount rules."
|
2441 |
-
msgstr ""
|
2442 |
-
|
2443 |
-
#: v1/view/view-pricing-rules.php:501
|
2444 |
-
msgid "Subtotal atleast"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
-
#:
|
2448 |
-
msgid "
|
2449 |
msgstr ""
|
2450 |
|
2451 |
-
#:
|
2452 |
-
msgid "
|
2453 |
msgstr ""
|
2454 |
|
2455 |
-
#:
|
2456 |
-
#, php-format
|
2457 |
msgid ""
|
2458 |
-
"
|
2459 |
-
"
|
2460 |
-
"
|
2461 |
-
|
2462 |
-
|
2463 |
-
|
2464 |
-
msgid "Any"
|
2465 |
-
msgstr ""
|
2466 |
-
|
2467 |
-
#: v1/view/view-pricing-rules.php:645
|
2468 |
-
msgid "Each"
|
2469 |
-
msgstr ""
|
2470 |
-
|
2471 |
-
#: v1/view/view-pricing-rules.php:646
|
2472 |
-
msgid "Combine"
|
2473 |
-
msgstr ""
|
2474 |
-
|
2475 |
-
#: v1/view/view-pricing-rules.php:649
|
2476 |
-
msgid "More than or equal to"
|
2477 |
-
msgstr ""
|
2478 |
-
|
2479 |
-
#: v1/view/view-pricing-rules.php:651
|
2480 |
-
msgid "Equal"
|
2481 |
-
msgstr ""
|
2482 |
-
|
2483 |
-
#: v1/view/view-pricing-rules.php:656
|
2484 |
-
msgid "to"
|
2485 |
-
msgstr ""
|
2486 |
-
|
2487 |
-
#: v1/view/view-pricing-rules.php:660
|
2488 |
-
msgid "Product(s) from"
|
2489 |
-
msgstr ""
|
2490 |
-
|
2491 |
-
#: v1/view/view-pricing-rules.php:666
|
2492 |
-
msgid "Apply discount in product(s)"
|
2493 |
-
msgstr ""
|
2494 |
-
|
2495 |
-
#: v1/view/view-pricing-rules.php:667
|
2496 |
-
msgid "Apply discount in category(ies)"
|
2497 |
-
msgstr ""
|
2498 |
-
|
2499 |
-
#: v1/view/view-pricing-rules.php:671
|
2500 |
-
msgid "and get discount on "
|
2501 |
-
msgstr ""
|
2502 |
-
|
2503 |
-
#: v1/view/view-pricing-rules.php:674
|
2504 |
-
msgid "First quantity(s)"
|
2505 |
-
msgstr ""
|
2506 |
-
|
2507 |
-
#: v1/view/view-pricing-rules.php:675
|
2508 |
-
msgid "Skip first quantity(s)"
|
2509 |
-
msgstr ""
|
2510 |
-
|
2511 |
-
#: v1/view/view-pricing-rules.php:680
|
2512 |
-
msgid " Product(s) "
|
2513 |
-
msgstr ""
|
2514 |
-
|
2515 |
-
#: v1/view/view-pricing-rules.php:684
|
2516 |
-
msgid "Category(ies)"
|
2517 |
-
msgstr ""
|
2518 |
-
|
2519 |
-
#: v1/view/view-pricing-rules.php:695
|
2520 |
-
msgid "Guide for product dependent rules"
|
2521 |
-
msgstr ""
|
2522 |
-
|
2523 |
-
#: v1/view/view-pricing-rules.php:711
|
2524 |
-
msgid "Add quantity ranges"
|
2525 |
msgstr ""
|
2526 |
|
2527 |
-
#:
|
2528 |
-
msgid ""
|
2529 |
-
"Bundle (Set) Discount should NOT be mixed with any other adjustment types "
|
2530 |
-
"when adding ranges. Example: If your first range's adjustment type is Bundle "
|
2531 |
-
"(Set) Discount, other ranges should also be same type."
|
2532 |
msgstr ""
|
2533 |
|
2534 |
-
#:
|
2535 |
-
msgid "
|
2536 |
msgstr ""
|
2537 |
|
2538 |
-
#:
|
2539 |
-
msgid "
|
2540 |
msgstr ""
|
2541 |
|
2542 |
-
#:
|
2543 |
-
msgid "
|
2544 |
msgstr ""
|
2545 |
|
2546 |
-
#:
|
2547 |
msgid ""
|
2548 |
-
"
|
2549 |
-
"customer can add 3 products / quantities and get them for $10<br><b>NOTE:</"
|
2550 |
-
"b> You will need to enter the entire package / bundle cost. Example: 10 (for "
|
2551 |
-
"the 3 for $10 deal)"
|
2552 |
-
msgstr ""
|
2553 |
-
|
2554 |
-
#: v1/view/view-pricing-rules.php:987 v1/view/view-pricing-rules.php:997
|
2555 |
-
msgid "Read docs"
|
2556 |
msgstr ""
|
2557 |
|
2558 |
-
#:
|
2559 |
msgid ""
|
2560 |
-
"
|
2561 |
-
"
|
2562 |
-
"quantities of Product A. The price per unit will reduce to $15<br><b>NOTE:</"
|
2563 |
-
"b> Enter the Unit price like 15"
|
2564 |
msgstr ""
|
2565 |
|
2566 |
-
#:
|
2567 |
-
msgid "
|
2568 |
msgstr ""
|
2569 |
|
2570 |
-
#: v1/
|
2571 |
-
|
|
|
|
|
2572 |
msgstr ""
|
2573 |
|
2574 |
-
#: v1/
|
2575 |
-
msgid "
|
2576 |
msgstr ""
|
2577 |
|
2578 |
#: v2/App/Compatibility/AeliaCurrencySwitcherByAelia.php:49
|
@@ -2644,6 +144,15 @@ msgstr ""
|
|
2644 |
msgid "Cart"
|
2645 |
msgstr ""
|
2646 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2647 |
#: v2/App/Controllers/Admin/Settings.php:165
|
2648 |
msgid ""
|
2649 |
"We found that your were using our old \"Woo discount rules\" plugin, Please "
|
@@ -2662,6 +171,24 @@ msgstr ""
|
|
2662 |
msgid "Searching…"
|
2663 |
msgstr ""
|
2664 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2665 |
#: v2/App/Controllers/Admin/Settings.php:440
|
2666 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:294
|
2667 |
msgid " - (Running)"
|
@@ -2729,6 +256,10 @@ msgstr ""
|
|
2729 |
msgid "If you make this recursive other row(s) will be removed!"
|
2730 |
msgstr ""
|
2731 |
|
|
|
|
|
|
|
|
|
2732 |
#: v2/App/Controllers/Admin/Settings.php:457
|
2733 |
msgid "Minimum Quantity"
|
2734 |
msgstr ""
|
@@ -2737,6 +268,10 @@ msgstr ""
|
|
2737 |
msgid "Discount value"
|
2738 |
msgstr ""
|
2739 |
|
|
|
|
|
|
|
|
|
2740 |
#: v2/App/Controllers/Admin/Settings.php:460
|
2741 |
msgid "Filter (Buy)"
|
2742 |
msgstr ""
|
@@ -2753,6 +288,12 @@ msgid ""
|
|
2753 |
"<p>Note : You can also exclude products/categories.</p>"
|
2754 |
msgstr ""
|
2755 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2756 |
#: v2/App/Controllers/Admin/Settings.php:465
|
2757 |
msgid ""
|
2758 |
"Discount - <a href=\"https://docs.flycart.org/en/articles/3914904-bulk-"
|
@@ -3027,6 +568,12 @@ msgstr ""
|
|
3027 |
msgid "Discount Rules"
|
3028 |
msgstr ""
|
3029 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3030 |
#: v2/App/Controllers/Admin/Tabs/ImportExport.php:19
|
3031 |
msgid "Import/Export"
|
3032 |
msgstr ""
|
@@ -3050,6 +597,10 @@ msgstr ""
|
|
3050 |
msgid "Reports"
|
3051 |
msgstr ""
|
3052 |
|
|
|
|
|
|
|
|
|
3053 |
#: v2/App/Controllers/Admin/Tabs/Statistics.php:47
|
3054 |
msgid "All Rules"
|
3055 |
msgstr ""
|
@@ -3063,6 +614,12 @@ msgstr ""
|
|
3063 |
msgid "All Rules (except cart adjustment type)"
|
3064 |
msgstr ""
|
3065 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3066 |
#: v2/App/Controllers/Admin/WDRAjax.php:743
|
3067 |
msgid "Search State"
|
3068 |
msgstr ""
|
@@ -3078,6 +635,10 @@ msgstr ""
|
|
3078 |
msgid "Product"
|
3079 |
msgstr ""
|
3080 |
|
|
|
|
|
|
|
|
|
3081 |
#: v2/App/Controllers/Base.php:194 v2/App/Views/Admin/Tabs/DiscountRule.php:191
|
3082 |
msgid "Product Adjustment"
|
3083 |
msgstr ""
|
@@ -3105,28 +666,35 @@ msgstr ""
|
|
3105 |
msgid "<span class=\"onsale\">Sale!</span>"
|
3106 |
msgstr ""
|
3107 |
|
3108 |
-
#: v2/App/Controllers/ManageDiscount.php:
|
3109 |
-
#: v2/App/Controllers/ManageDiscount.php:
|
3110 |
-
#: v2/App/Controllers/ManageDiscount.php:
|
3111 |
#: v2/App/Helpers/Helper.php:272
|
3112 |
msgid "Cart discount"
|
3113 |
msgstr ""
|
3114 |
|
3115 |
-
#: v2/App/Controllers/ManageDiscount.php:
|
3116 |
#, php-format
|
3117 |
msgid "Coupon \"%s\" is currently not available!"
|
3118 |
msgstr ""
|
3119 |
|
3120 |
-
#: v2/App/Controllers/ManageDiscount.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3121 |
msgid "Coupon code applied successfully."
|
3122 |
msgstr ""
|
3123 |
|
3124 |
-
#: v2/App/Controllers/ManageDiscount.php:
|
3125 |
#: v2/App/Views/Admin/Tabs/settings.php:441
|
3126 |
msgid "Discount <strong>{{title}}</strong> has been applied to your cart."
|
3127 |
msgstr ""
|
3128 |
|
3129 |
-
#: v2/App/Controllers/ManageDiscount.php:
|
3130 |
msgid "You saved {{total_discount}}"
|
3131 |
msgstr ""
|
3132 |
|
@@ -3146,14 +714,29 @@ msgstr ""
|
|
3146 |
msgid "Days & Time"
|
3147 |
msgstr ""
|
3148 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3149 |
#: v2/App/Helpers/Helper.php:166
|
3150 |
msgid "Payment Method"
|
3151 |
msgstr ""
|
3152 |
|
|
|
|
|
|
|
|
|
3153 |
#: v2/App/Helpers/Helper.php:172
|
3154 |
msgid "Shipping Address"
|
3155 |
msgstr ""
|
3156 |
|
|
|
|
|
|
|
|
|
3157 |
#: v2/App/Helpers/Helper.php:174
|
3158 |
msgid "Product Combination"
|
3159 |
msgstr ""
|
@@ -3384,6 +967,83 @@ msgstr ""
|
|
3384 |
msgid "Untitled Rule"
|
3385 |
msgstr ""
|
3386 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3387 |
#: v2/App/Helpers/Validation.php:146 v2/App/Helpers/Validation.php:151
|
3388 |
#: v2/App/Helpers/Validation.php:348 v2/App/Helpers/Validation.php:544
|
3389 |
msgid "Invalid characters"
|
@@ -3426,132 +1086,136 @@ msgstr ""
|
|
3426 |
msgid "Validation error"
|
3427 |
msgstr ""
|
3428 |
|
3429 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3430 |
msgid "Sunday"
|
3431 |
msgstr ""
|
3432 |
|
3433 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3434 |
msgid "Monday"
|
3435 |
msgstr ""
|
3436 |
|
3437 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3438 |
msgid "Tuesday"
|
3439 |
msgstr ""
|
3440 |
|
3441 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3442 |
msgid "Wednesday"
|
3443 |
msgstr ""
|
3444 |
|
3445 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3446 |
msgid "Thursday"
|
3447 |
msgstr ""
|
3448 |
|
3449 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3450 |
msgid "Friday"
|
3451 |
msgstr ""
|
3452 |
|
3453 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3454 |
msgid "Saturday"
|
3455 |
msgstr ""
|
3456 |
|
3457 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3458 |
msgid ""
|
3459 |
"Woocommerce before main content(Archive / Shop / Cat Pages / single product)"
|
3460 |
msgstr ""
|
3461 |
|
3462 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3463 |
msgid "Woocommerce archive description(Archive / Shop / Cat Pages)"
|
3464 |
msgstr ""
|
3465 |
|
3466 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3467 |
msgid "Woocommerce before shop loop(Archive / Shop / Cat Pages)"
|
3468 |
msgstr ""
|
3469 |
|
3470 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3471 |
msgid "Woocommerce after shop loop(Archive / Shop / Cat Pages)"
|
3472 |
msgstr ""
|
3473 |
|
3474 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3475 |
msgid ""
|
3476 |
"Woocommerce after main content(Archive / Shop / Cat Pages / single product)"
|
3477 |
msgstr ""
|
3478 |
|
3479 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3480 |
#: v2/App/Views/Admin/Tabs/settings.php:248
|
3481 |
msgid "Woocommerce before single product"
|
3482 |
msgstr ""
|
3483 |
|
3484 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3485 |
#: v2/App/Views/Admin/Tabs/settings.php:250
|
3486 |
msgid "Woocommerce before single product summary"
|
3487 |
msgstr ""
|
3488 |
|
3489 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3490 |
#: v2/App/Views/Admin/Tabs/settings.php:249
|
3491 |
msgid "Woocommerce after single product summary"
|
3492 |
msgstr ""
|
3493 |
|
3494 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3495 |
#: v2/App/Views/Admin/Tabs/settings.php:247
|
3496 |
msgid "Woocommerce after single product"
|
3497 |
msgstr ""
|
3498 |
|
3499 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3500 |
msgid "Woocommerce before cart"
|
3501 |
msgstr ""
|
3502 |
|
3503 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3504 |
msgid "Woocommerce before cart table"
|
3505 |
msgstr ""
|
3506 |
|
3507 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3508 |
msgid "Woocommerce before cart contents"
|
3509 |
msgstr ""
|
3510 |
|
3511 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3512 |
msgid "Woocommerce cart contents"
|
3513 |
msgstr ""
|
3514 |
|
3515 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3516 |
msgid "Woocommerce after cart contents"
|
3517 |
msgstr ""
|
3518 |
|
3519 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3520 |
msgid "Woocommerce after cart table"
|
3521 |
msgstr ""
|
3522 |
|
3523 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3524 |
msgid "Woocommerce after cart"
|
3525 |
msgstr ""
|
3526 |
|
3527 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3528 |
msgid "Woocommerce before checkout form"
|
3529 |
msgstr ""
|
3530 |
|
3531 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3532 |
msgid "Woocommerce before checkout billing form"
|
3533 |
msgstr ""
|
3534 |
|
3535 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3536 |
msgid "Woocommerce after checkout billing form"
|
3537 |
msgstr ""
|
3538 |
|
3539 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3540 |
msgid "Woocommerce before checkout shipping form"
|
3541 |
msgstr ""
|
3542 |
|
3543 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3544 |
msgid "Woocommerce after checkout shipping form"
|
3545 |
msgstr ""
|
3546 |
|
3547 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3548 |
msgid "Woocommerce before order notes"
|
3549 |
msgstr ""
|
3550 |
|
3551 |
-
#: v2/App/Helpers/Woocommerce.php:
|
3552 |
msgid "Woocommerce after order notes"
|
3553 |
msgstr ""
|
3554 |
|
|
|
|
|
|
|
|
|
3555 |
#: v2/App/Views/Admin/Menu.php:33
|
3556 |
msgid "Rebuild index"
|
3557 |
msgstr ""
|
@@ -3623,6 +1287,24 @@ msgstr ""
|
|
3623 |
msgid "Rules (Optional)"
|
3624 |
msgstr ""
|
3625 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3626 |
#: v2/App/Views/Admin/Rules/Conditions/Main.php:25
|
3627 |
msgid "Conditions Relationship "
|
3628 |
msgstr ""
|
@@ -3688,6 +1370,10 @@ msgstr ""
|
|
3688 |
msgid "Select values"
|
3689 |
msgstr ""
|
3690 |
|
|
|
|
|
|
|
|
|
3691 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:10
|
3692 |
msgid "Discount Bar (optional) - Display discount information"
|
3693 |
msgstr ""
|
@@ -3721,6 +1407,42 @@ msgstr ""
|
|
3721 |
msgid "Show/hide discount bar on product pages"
|
3722 |
msgstr ""
|
3723 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3724 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:50
|
3725 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:71
|
3726 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:92
|
@@ -3846,6 +1568,11 @@ msgstr ""
|
|
3846 |
msgid "Fixed discount per product -PRO-"
|
3847 |
msgstr ""
|
3848 |
|
|
|
|
|
|
|
|
|
|
|
3849 |
#: v2/App/Views/Admin/Rules/Discounts/Cart.php:40
|
3850 |
msgid "Discount label"
|
3851 |
msgstr ""
|
@@ -4035,6 +1762,14 @@ msgstr ""
|
|
4035 |
msgid "Select Products"
|
4036 |
msgstr ""
|
4037 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4038 |
#: v2/App/Views/Admin/Rules/Manage.php:20
|
4039 |
msgid " Start date and time is set in the future date"
|
4040 |
msgstr ""
|
@@ -4063,6 +1798,10 @@ msgstr ""
|
|
4063 |
msgid "#Rule ID: "
|
4064 |
msgstr ""
|
4065 |
|
|
|
|
|
|
|
|
|
4066 |
#: v2/App/Views/Admin/Rules/Manage.php:136
|
4067 |
msgid "Save & Close"
|
4068 |
msgstr ""
|
@@ -4119,6 +1858,11 @@ msgid ""
|
|
4119 |
"text when his cart quantities reaches 3"
|
4120 |
msgstr ""
|
4121 |
|
|
|
|
|
|
|
|
|
|
|
4122 |
#: v2/App/Views/Admin/Rules/Others/QuantityPromotion.php:32
|
4123 |
#, php-format
|
4124 |
msgid "Buy {{difference_quantity}} more products and get 10% discount"
|
@@ -4134,6 +1878,10 @@ msgid ""
|
|
4134 |
"<b>Eg:</b> Buy {{difference_quantity}} more products and get 10% discount"
|
4135 |
msgstr ""
|
4136 |
|
|
|
|
|
|
|
|
|
4137 |
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:26
|
4138 |
#, php-format
|
4139 |
msgid ""
|
@@ -4142,6 +1890,20 @@ msgid ""
|
|
4142 |
"his cart subtotal reaches 900"
|
4143 |
msgstr ""
|
4144 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4145 |
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:11
|
4146 |
msgid ""
|
4147 |
"Discount Rules Advanced Options <span style=\"color:tomato; font-weight: "
|
@@ -4167,6 +1929,10 @@ msgstr ""
|
|
4167 |
msgid "Disable recalculate when coupon apply"
|
4168 |
msgstr ""
|
4169 |
|
|
|
|
|
|
|
|
|
4170 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:16
|
4171 |
msgid "Migrate rules from v1"
|
4172 |
msgstr ""
|
@@ -4207,12 +1973,29 @@ msgstr ""
|
|
4207 |
msgid "Skip"
|
4208 |
msgstr ""
|
4209 |
|
|
|
|
|
|
|
|
|
4210 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:68
|
4211 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:74
|
4212 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:85
|
4213 |
msgid "Search Rules"
|
4214 |
msgstr ""
|
4215 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4216 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:89
|
4217 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:374
|
4218 |
msgid "item"
|
@@ -4223,11 +2006,36 @@ msgstr ""
|
|
4223 |
msgid "items"
|
4224 |
msgstr ""
|
4225 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4226 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:119
|
4227 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:345
|
4228 |
msgid "Language(s)"
|
4229 |
msgstr ""
|
4230 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4231 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:151
|
4232 |
msgid "Exclusive"
|
4233 |
msgstr ""
|
@@ -4245,6 +2053,11 @@ msgstr ""
|
|
4245 |
msgid "Modified by: "
|
4246 |
msgstr ""
|
4247 |
|
|
|
|
|
|
|
|
|
|
|
4248 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:203
|
4249 |
msgid "Set Discount"
|
4250 |
msgstr ""
|
@@ -4261,6 +2074,11 @@ msgstr ""
|
|
4261 |
msgid "Enabled"
|
4262 |
msgstr ""
|
4263 |
|
|
|
|
|
|
|
|
|
|
|
4264 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:263
|
4265 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:277
|
4266 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:290
|
@@ -4286,10 +2104,94 @@ msgstr ""
|
|
4286 |
msgid " - ( Not running - validity expired)"
|
4287 |
msgstr ""
|
4288 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4289 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:318
|
4290 |
msgid "No rules found."
|
4291 |
msgstr ""
|
4292 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4293 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:408
|
4294 |
#: v2/App/Views/Admin/Tabs/help.php:179
|
4295 |
msgid "Go PRO"
|
@@ -4455,6 +2357,22 @@ msgstr ""
|
|
4455 |
msgid "Installation of Advanced discount rules"
|
4456 |
msgstr ""
|
4457 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4458 |
#: v2/App/Views/Admin/Tabs/help.php:46
|
4459 |
msgid "Setting up Discount Rules"
|
4460 |
msgstr ""
|
@@ -4468,6 +2386,34 @@ msgstr ""
|
|
4468 |
msgid "Price rules/BOGO discounts"
|
4469 |
msgstr ""
|
4470 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4471 |
#: v2/App/Views/Admin/Tabs/help.php:93
|
4472 |
msgid "Buy One Get One Discount for Products from Same Category"
|
4473 |
msgstr ""
|
@@ -4482,10 +2428,38 @@ msgstr ""
|
|
4482 |
msgid "Cart Based Rules"
|
4483 |
msgstr ""
|
4484 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4485 |
#: v2/App/Views/Admin/Tabs/help.php:135
|
4486 |
msgid " Shipping address based discount"
|
4487 |
msgstr ""
|
4488 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4489 |
#: v2/App/Views/Admin/Tabs/settings.php:23
|
4490 |
msgid "Calculate discount from"
|
4491 |
msgstr ""
|
@@ -4494,6 +2468,14 @@ msgstr ""
|
|
4494 |
msgid "sale price or regular price"
|
4495 |
msgstr ""
|
4496 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4497 |
#: v2/App/Views/Admin/Tabs/settings.php:35
|
4498 |
msgid "Apply discount"
|
4499 |
msgstr ""
|
@@ -4536,6 +2518,24 @@ msgstr ""
|
|
4536 |
msgid "Choose how discount rules should work"
|
4537 |
msgstr ""
|
4538 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4539 |
#: v2/App/Views/Admin/Tabs/settings.php:81
|
4540 |
msgid "Refresh order review in checkout"
|
4541 |
msgstr ""
|
@@ -4570,14 +2570,36 @@ msgstr ""
|
|
4570 |
msgid "show on-sale badge"
|
4571 |
msgstr ""
|
4572 |
|
|
|
|
|
|
|
|
|
4573 |
#: v2/App/Views/Admin/Tabs/settings.php:146
|
4574 |
msgid "Show on products that are covered under any discount rule in the plugin"
|
4575 |
msgstr ""
|
4576 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4577 |
#: v2/App/Views/Admin/Tabs/settings.php:154
|
4578 |
msgid "Customize the sale badge"
|
4579 |
msgstr ""
|
4580 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4581 |
#: v2/App/Views/Admin/Tabs/settings.php:173
|
4582 |
msgid ""
|
4583 |
"I would like to display percentage in sale badge (Displays only when rule "
|
@@ -4596,6 +2618,12 @@ msgid ""
|
|
4596 |
"rules configured in this plugin <b>Eg:</b><span class=\"onsale\">Sale!</span>"
|
4597 |
msgstr ""
|
4598 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4599 |
#: v2/App/Views/Admin/Tabs/settings.php:191
|
4600 |
msgid "Sale badge percentage content"
|
4601 |
msgstr ""
|
@@ -4681,6 +2709,18 @@ msgstr ""
|
|
4681 |
msgid "Show Strikeout when this option is matched"
|
4682 |
msgstr ""
|
4683 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4684 |
#: v2/App/Views/Admin/Tabs/settings.php:298
|
4685 |
msgid "Show strikeout on cart"
|
4686 |
msgstr ""
|
@@ -4714,6 +2754,10 @@ msgstr ""
|
|
4714 |
msgid "Discount label for combined discounts"
|
4715 |
msgstr ""
|
4716 |
|
|
|
|
|
|
|
|
|
4717 |
#: v2/App/Views/Admin/Tabs/settings.php:363
|
4718 |
msgid "Condition based promotion"
|
4719 |
msgstr ""
|
@@ -4746,6 +2790,22 @@ msgstr ""
|
|
4746 |
msgid "Select the page to display promotion message"
|
4747 |
msgstr ""
|
4748 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4749 |
#: v2/App/Views/Admin/Tabs/settings.php:393
|
4750 |
msgid "Display you saved text"
|
4751 |
msgstr ""
|
@@ -4754,6 +2814,22 @@ msgstr ""
|
|
4754 |
msgid "Display you saved text when rule applied"
|
4755 |
msgstr ""
|
4756 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4757 |
#: v2/App/Views/Admin/Tabs/settings.php:409
|
4758 |
msgid "You save text to show when rule applied"
|
4759 |
msgstr ""
|
@@ -4869,6 +2945,14 @@ msgstr ""
|
|
4869 |
msgid "Show/Hide table header column names"
|
4870 |
msgstr ""
|
4871 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4872 |
#: v2/App/Views/Admin/Tabs/settings.php:647
|
4873 |
msgid "Title column Name on table"
|
4874 |
msgstr ""
|
4 |
"Content-Type: text/plain; charset=UTF-8\n"
|
5 |
"Content-Transfer-Encoding: 8bit\n"
|
6 |
"Project-Id-Version: Woo Discount Rules\n"
|
7 |
+
"POT-Creation-Date: 2022-04-05\n"
|
8 |
+
"PO-Revision-Date: 2022-04-05"
|
9 |
"Language-Team: Flycart\n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
"Language: \n"
|
12 |
"X-Generator: Loco https://localise.biz/\n"
|
13 |
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;"
|
14 |
|
15 |
+
#: common.php:9 v2/App/Controllers/Admin/WDRAjax.php:782
|
16 |
+
msgid "Invalid request"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
msgstr ""
|
18 |
|
19 |
+
#: common.php:20
|
20 |
+
msgid "Discount Rules 2.0 requires minimum PHP version of "
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: common.php:24
|
24 |
+
msgid "Discount Rules 2.0 requires at least Woocommerce"
|
25 |
msgstr ""
|
26 |
|
27 |
+
#: common.php:44
|
|
|
28 |
msgid ""
|
29 |
+
"Since 2.0, you need BOTH Core and Pro (2.0) packages installed and "
|
30 |
+
"activated. Please download the Pro 2.0 pack from My Downloads page in our "
|
31 |
+
"site, install and activate it. <a href=\"https://docs.flycart.org/en/"
|
32 |
+
"articles/4006520-switching-to-2-0-from-v1-x-versions?utm_source=woo-discount-"
|
33 |
+
"rules-v2&utm_campaign=doc&utm_medium=text-click&utm_content=switch_to_v2\" "
|
34 |
+
"target=\"_blank\">Here is a guide and video tutorial</a>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
msgstr ""
|
36 |
|
37 |
+
#: common.php:66
|
38 |
+
msgid "Discount Rules V2 comes with a better UI and advanced options."
|
|
|
|
|
|
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: common.php:67
|
42 |
+
msgid "Switch to New User Interface"
|
43 |
msgstr ""
|
44 |
|
45 |
+
#: common.php:70
|
46 |
+
msgid "Would you like to switch to older Woo Discount Rules?"
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: common.php:71
|
50 |
+
msgid "Click here to Switch back"
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: common.php:193
|
54 |
msgid ""
|
55 |
+
"This plugin can not be activated because it requires minimum PHP version of "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
msgstr ""
|
57 |
|
58 |
+
#: common.php:196
|
59 |
msgid ""
|
60 |
+
"Woocommerce must installed and activated in-order to use Advanced woo "
|
61 |
+
"discount rules!"
|
|
|
|
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: common.php:199
|
65 |
+
msgid " Advanced woo discount rules requires at least Woocommerce"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#: v1/index.php:27 v1/index.php:28 v1/menu-html.php:97
|
69 |
+
#: v2/App/Controllers/Admin/Settings.php:41
|
70 |
+
#: v2/App/Controllers/Admin/Settings.php:42
|
71 |
+
msgid "Woo Discount Rules"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: v1/index.php:84 v2/App/Helpers/Helper.php:325
|
75 |
+
msgid "Invalid token"
|
76 |
msgstr ""
|
77 |
|
78 |
#: v2/App/Compatibility/AeliaCurrencySwitcherByAelia.php:49
|
144 |
msgid "Cart"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: v2/App/Conditions/CartSubTotal.php:18 v2/App/Helpers/Helper.php:162
|
148 |
+
msgid "Subtotal"
|
149 |
+
msgstr ""
|
150 |
+
|
151 |
+
#: v2/App/Controllers/Admin/Settings.php:66
|
152 |
+
#: v2/App/Controllers/Admin/Tabs/GeneralSettings.php:23
|
153 |
+
msgid "Settings"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
#: v2/App/Controllers/Admin/Settings.php:165
|
157 |
msgid ""
|
158 |
"We found that your were using our old \"Woo discount rules\" plugin, Please "
|
171 |
msgid "Searching…"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: v2/App/Controllers/Admin/Settings.php:329
|
175 |
+
msgid "Guest"
|
176 |
+
msgstr ""
|
177 |
+
|
178 |
+
#: v2/App/Controllers/Admin/Settings.php:437
|
179 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:78
|
180 |
+
msgid "Disable"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
#: v2/App/Controllers/Admin/Settings.php:438
|
184 |
+
msgid "Active"
|
185 |
+
msgstr ""
|
186 |
+
|
187 |
+
#: v2/App/Controllers/Admin/Settings.php:439
|
188 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:77
|
189 |
+
msgid "Enable"
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
#: v2/App/Controllers/Admin/Settings.php:440
|
193 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:294
|
194 |
msgid " - (Running)"
|
256 |
msgid "If you make this recursive other row(s) will be removed!"
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: v2/App/Controllers/Admin/Settings.php:456
|
260 |
+
msgid "Quantity"
|
261 |
+
msgstr ""
|
262 |
+
|
263 |
#: v2/App/Controllers/Admin/Settings.php:457
|
264 |
msgid "Minimum Quantity"
|
265 |
msgstr ""
|
268 |
msgid "Discount value"
|
269 |
msgstr ""
|
270 |
|
271 |
+
#: v2/App/Controllers/Admin/Settings.php:459
|
272 |
+
msgid "Discount percentage"
|
273 |
+
msgstr ""
|
274 |
+
|
275 |
#: v2/App/Controllers/Admin/Settings.php:460
|
276 |
msgid "Filter (Buy)"
|
277 |
msgstr ""
|
288 |
"<p>Note : You can also exclude products/categories.</p>"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: v2/App/Controllers/Admin/Settings.php:464 v2/App/Helpers/Rule.php:1237
|
292 |
+
#: v2/App/Views/Admin/Rules/Discounts/Bulk.php:59
|
293 |
+
#: v2/App/Views/Admin/Rules/Manage.php:242
|
294 |
+
msgid "Discount"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
#: v2/App/Controllers/Admin/Settings.php:465
|
298 |
msgid ""
|
299 |
"Discount - <a href=\"https://docs.flycart.org/en/articles/3914904-bulk-"
|
568 |
msgid "Discount Rules"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: v2/App/Controllers/Admin/Tabs/Help.php:17
|
572 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:58
|
573 |
+
#: v2/App/Views/Admin/Tabs/help.php:8
|
574 |
+
msgid "Documentation"
|
575 |
+
msgstr ""
|
576 |
+
|
577 |
#: v2/App/Controllers/Admin/Tabs/ImportExport.php:19
|
578 |
msgid "Import/Export"
|
579 |
msgstr ""
|
597 |
msgid "Reports"
|
598 |
msgstr ""
|
599 |
|
600 |
+
#: v2/App/Controllers/Admin/Tabs/Statistics.php:39
|
601 |
+
msgid "Rule Name"
|
602 |
+
msgstr ""
|
603 |
+
|
604 |
#: v2/App/Controllers/Admin/Tabs/Statistics.php:47
|
605 |
msgid "All Rules"
|
606 |
msgstr ""
|
614 |
msgid "All Rules (except cart adjustment type)"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: v2/App/Controllers/Admin/Tabs/Statistics.php:121
|
618 |
+
#: v2/App/Controllers/Admin/WDRAjax.php:69
|
619 |
+
#: v2/App/Controllers/Admin/WDRAjax.php:72
|
620 |
+
msgid "Authentication required"
|
621 |
+
msgstr ""
|
622 |
+
|
623 |
#: v2/App/Controllers/Admin/WDRAjax.php:743
|
624 |
msgid "Search State"
|
625 |
msgstr ""
|
635 |
msgid "Product"
|
636 |
msgstr ""
|
637 |
|
638 |
+
#: v2/App/Controllers/Base.php:47 v2/App/Views/Admin/Rules/Filters/Main.php:68
|
639 |
+
msgid "Products"
|
640 |
+
msgstr ""
|
641 |
+
|
642 |
#: v2/App/Controllers/Base.php:194 v2/App/Views/Admin/Tabs/DiscountRule.php:191
|
643 |
msgid "Product Adjustment"
|
644 |
msgstr ""
|
666 |
msgid "<span class=\"onsale\">Sale!</span>"
|
667 |
msgstr ""
|
668 |
|
669 |
+
#: v2/App/Controllers/ManageDiscount.php:774
|
670 |
+
#: v2/App/Controllers/ManageDiscount.php:994
|
671 |
+
#: v2/App/Controllers/ManageDiscount.php:997 v2/App/Helpers/Helper.php:271
|
672 |
#: v2/App/Helpers/Helper.php:272
|
673 |
msgid "Cart discount"
|
674 |
msgstr ""
|
675 |
|
676 |
+
#: v2/App/Controllers/ManageDiscount.php:1058
|
677 |
#, php-format
|
678 |
msgid "Coupon \"%s\" is currently not available!"
|
679 |
msgstr ""
|
680 |
|
681 |
+
#: v2/App/Controllers/ManageDiscount.php:1273
|
682 |
+
#, php-format
|
683 |
+
msgid ""
|
684 |
+
"Sorry, it is not possible to apply coupon <b>\"%s\"</b> as you already have "
|
685 |
+
"a discount applied in cart."
|
686 |
+
msgstr ""
|
687 |
+
|
688 |
+
#: v2/App/Controllers/ManageDiscount.php:1287
|
689 |
msgid "Coupon code applied successfully."
|
690 |
msgstr ""
|
691 |
|
692 |
+
#: v2/App/Controllers/ManageDiscount.php:1711
|
693 |
#: v2/App/Views/Admin/Tabs/settings.php:441
|
694 |
msgid "Discount <strong>{{title}}</strong> has been applied to your cart."
|
695 |
msgstr ""
|
696 |
|
697 |
+
#: v2/App/Controllers/ManageDiscount.php:1841
|
698 |
msgid "You saved {{total_discount}}"
|
699 |
msgstr ""
|
700 |
|
714 |
msgid "Days & Time"
|
715 |
msgstr ""
|
716 |
|
717 |
+
#: v2/App/Helpers/Helper.php:165 v2/App/Helpers/ProOptions.php:192
|
718 |
+
#: v2/App/Helpers/ProOptions.php:200 v2/App/Helpers/ProOptions.php:208
|
719 |
+
#: v2/App/Helpers/ProOptions.php:216 v2/App/Helpers/ProOptions.php:224
|
720 |
+
#: v2/App/Helpers/ProOptions.php:232
|
721 |
+
msgid "Purchase History"
|
722 |
+
msgstr ""
|
723 |
+
|
724 |
#: v2/App/Helpers/Helper.php:166
|
725 |
msgid "Payment Method"
|
726 |
msgstr ""
|
727 |
|
728 |
+
#: v2/App/Helpers/Helper.php:171 v2/App/Views/Admin/Tabs/settings.php:319
|
729 |
+
msgid "Coupon"
|
730 |
+
msgstr ""
|
731 |
+
|
732 |
#: v2/App/Helpers/Helper.php:172
|
733 |
msgid "Shipping Address"
|
734 |
msgstr ""
|
735 |
|
736 |
+
#: v2/App/Helpers/Helper.php:173 v2/App/Views/Admin/Tabs/help.php:145
|
737 |
+
msgid "Category Combination"
|
738 |
+
msgstr ""
|
739 |
+
|
740 |
#: v2/App/Helpers/Helper.php:174
|
741 |
msgid "Product Combination"
|
742 |
msgstr ""
|
967 |
msgid "Untitled Rule"
|
968 |
msgstr ""
|
969 |
|
970 |
+
#: v2/App/Helpers/SurveyForm.php:84
|
971 |
+
msgid "Please select an option"
|
972 |
+
msgstr ""
|
973 |
+
|
974 |
+
#: v2/App/Helpers/SurveyForm.php:87
|
975 |
+
msgid "Sending Feedback"
|
976 |
+
msgstr ""
|
977 |
+
|
978 |
+
#: v2/App/Helpers/SurveyForm.php:241
|
979 |
+
msgid "Upgrading to PRO."
|
980 |
+
msgstr ""
|
981 |
+
|
982 |
+
#: v2/App/Helpers/SurveyForm.php:245
|
983 |
+
msgid "I am switching to a different discount plugin."
|
984 |
+
msgstr ""
|
985 |
+
|
986 |
+
#: v2/App/Helpers/SurveyForm.php:249
|
987 |
+
msgid "I could not get my discount rule to work."
|
988 |
+
msgstr ""
|
989 |
+
|
990 |
+
#: v2/App/Helpers/SurveyForm.php:253
|
991 |
+
msgid "It does not meet my discount requirements."
|
992 |
+
msgstr ""
|
993 |
+
|
994 |
+
#: v2/App/Helpers/SurveyForm.php:257
|
995 |
+
msgid "Plugin is complex."
|
996 |
+
msgstr ""
|
997 |
+
|
998 |
+
#: v2/App/Helpers/SurveyForm.php:261
|
999 |
+
msgid "I'm trying to troubleshoot the plugin."
|
1000 |
+
msgstr ""
|
1001 |
+
|
1002 |
+
#: v2/App/Helpers/SurveyForm.php:265
|
1003 |
+
msgid "I was instructed to deactivate by Flycart Support."
|
1004 |
+
msgstr ""
|
1005 |
+
|
1006 |
+
#: v2/App/Helpers/SurveyForm.php:269
|
1007 |
+
msgid "I no longer use this plugin."
|
1008 |
+
msgstr ""
|
1009 |
+
|
1010 |
+
#: v2/App/Helpers/SurveyForm.php:273
|
1011 |
+
msgid "It's a temporary deactivation."
|
1012 |
+
msgstr ""
|
1013 |
+
|
1014 |
+
#: v2/App/Helpers/SurveyForm.php:277
|
1015 |
+
msgid "Other"
|
1016 |
+
msgstr ""
|
1017 |
+
|
1018 |
+
#: v2/App/Helpers/SurveyForm.php:279
|
1019 |
+
msgid "Please share the reason"
|
1020 |
+
msgstr ""
|
1021 |
+
|
1022 |
+
#: v2/App/Helpers/SurveyForm.php:289
|
1023 |
+
msgid "Quick Feedback"
|
1024 |
+
msgstr ""
|
1025 |
+
|
1026 |
+
#: v2/App/Helpers/SurveyForm.php:290
|
1027 |
+
msgid "Close"
|
1028 |
+
msgstr ""
|
1029 |
+
|
1030 |
+
#: v2/App/Helpers/SurveyForm.php:298
|
1031 |
+
#, php-format
|
1032 |
+
msgid "If you have a moment, please share why you are deactivating %s:"
|
1033 |
+
msgstr ""
|
1034 |
+
|
1035 |
+
#: v2/App/Helpers/SurveyForm.php:299
|
1036 |
+
msgid "Discount Rules for WooCommerce"
|
1037 |
+
msgstr ""
|
1038 |
+
|
1039 |
+
#: v2/App/Helpers/SurveyForm.php:327
|
1040 |
+
msgid "Submit & Deactivate"
|
1041 |
+
msgstr ""
|
1042 |
+
|
1043 |
+
#: v2/App/Helpers/SurveyForm.php:329
|
1044 |
+
msgid "Skip & Deactivate"
|
1045 |
+
msgstr ""
|
1046 |
+
|
1047 |
#: v2/App/Helpers/Validation.php:146 v2/App/Helpers/Validation.php:151
|
1048 |
#: v2/App/Helpers/Validation.php:348 v2/App/Helpers/Validation.php:544
|
1049 |
msgid "Invalid characters"
|
1086 |
msgid "Validation error"
|
1087 |
msgstr ""
|
1088 |
|
1089 |
+
#: v2/App/Helpers/Woocommerce.php:985
|
1090 |
msgid "Sunday"
|
1091 |
msgstr ""
|
1092 |
|
1093 |
+
#: v2/App/Helpers/Woocommerce.php:986
|
1094 |
msgid "Monday"
|
1095 |
msgstr ""
|
1096 |
|
1097 |
+
#: v2/App/Helpers/Woocommerce.php:987
|
1098 |
msgid "Tuesday"
|
1099 |
msgstr ""
|
1100 |
|
1101 |
+
#: v2/App/Helpers/Woocommerce.php:988
|
1102 |
msgid "Wednesday"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
+
#: v2/App/Helpers/Woocommerce.php:989
|
1106 |
msgid "Thursday"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
+
#: v2/App/Helpers/Woocommerce.php:990
|
1110 |
msgid "Friday"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
+
#: v2/App/Helpers/Woocommerce.php:991
|
1114 |
msgid "Saturday"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
+
#: v2/App/Helpers/Woocommerce.php:1002
|
1118 |
msgid ""
|
1119 |
"Woocommerce before main content(Archive / Shop / Cat Pages / single product)"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: v2/App/Helpers/Woocommerce.php:1003
|
1123 |
msgid "Woocommerce archive description(Archive / Shop / Cat Pages)"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: v2/App/Helpers/Woocommerce.php:1004
|
1127 |
msgid "Woocommerce before shop loop(Archive / Shop / Cat Pages)"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: v2/App/Helpers/Woocommerce.php:1005
|
1131 |
msgid "Woocommerce after shop loop(Archive / Shop / Cat Pages)"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: v2/App/Helpers/Woocommerce.php:1006
|
1135 |
msgid ""
|
1136 |
"Woocommerce after main content(Archive / Shop / Cat Pages / single product)"
|
1137 |
msgstr ""
|
1138 |
|
1139 |
+
#: v2/App/Helpers/Woocommerce.php:1007 v2/App/Views/Admin/Tabs/settings.php:230
|
1140 |
#: v2/App/Views/Admin/Tabs/settings.php:248
|
1141 |
msgid "Woocommerce before single product"
|
1142 |
msgstr ""
|
1143 |
|
1144 |
+
#: v2/App/Helpers/Woocommerce.php:1008 v2/App/Views/Admin/Tabs/settings.php:232
|
1145 |
#: v2/App/Views/Admin/Tabs/settings.php:250
|
1146 |
msgid "Woocommerce before single product summary"
|
1147 |
msgstr ""
|
1148 |
|
1149 |
+
#: v2/App/Helpers/Woocommerce.php:1009 v2/App/Views/Admin/Tabs/settings.php:231
|
1150 |
#: v2/App/Views/Admin/Tabs/settings.php:249
|
1151 |
msgid "Woocommerce after single product summary"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: v2/App/Helpers/Woocommerce.php:1010 v2/App/Views/Admin/Tabs/settings.php:229
|
1155 |
#: v2/App/Views/Admin/Tabs/settings.php:247
|
1156 |
msgid "Woocommerce after single product"
|
1157 |
msgstr ""
|
1158 |
|
1159 |
+
#: v2/App/Helpers/Woocommerce.php:1011
|
1160 |
msgid "Woocommerce before cart"
|
1161 |
msgstr ""
|
1162 |
|
1163 |
+
#: v2/App/Helpers/Woocommerce.php:1012
|
1164 |
msgid "Woocommerce before cart table"
|
1165 |
msgstr ""
|
1166 |
|
1167 |
+
#: v2/App/Helpers/Woocommerce.php:1013
|
1168 |
msgid "Woocommerce before cart contents"
|
1169 |
msgstr ""
|
1170 |
|
1171 |
+
#: v2/App/Helpers/Woocommerce.php:1014
|
1172 |
msgid "Woocommerce cart contents"
|
1173 |
msgstr ""
|
1174 |
|
1175 |
+
#: v2/App/Helpers/Woocommerce.php:1015
|
1176 |
msgid "Woocommerce after cart contents"
|
1177 |
msgstr ""
|
1178 |
|
1179 |
+
#: v2/App/Helpers/Woocommerce.php:1016
|
1180 |
msgid "Woocommerce after cart table"
|
1181 |
msgstr ""
|
1182 |
|
1183 |
+
#: v2/App/Helpers/Woocommerce.php:1017
|
1184 |
msgid "Woocommerce after cart"
|
1185 |
msgstr ""
|
1186 |
|
1187 |
+
#: v2/App/Helpers/Woocommerce.php:1018
|
1188 |
msgid "Woocommerce before checkout form"
|
1189 |
msgstr ""
|
1190 |
|
1191 |
+
#: v2/App/Helpers/Woocommerce.php:1020
|
1192 |
msgid "Woocommerce before checkout billing form"
|
1193 |
msgstr ""
|
1194 |
|
1195 |
+
#: v2/App/Helpers/Woocommerce.php:1021
|
1196 |
msgid "Woocommerce after checkout billing form"
|
1197 |
msgstr ""
|
1198 |
|
1199 |
+
#: v2/App/Helpers/Woocommerce.php:1022
|
1200 |
msgid "Woocommerce before checkout shipping form"
|
1201 |
msgstr ""
|
1202 |
|
1203 |
+
#: v2/App/Helpers/Woocommerce.php:1023
|
1204 |
msgid "Woocommerce after checkout shipping form"
|
1205 |
msgstr ""
|
1206 |
|
1207 |
+
#: v2/App/Helpers/Woocommerce.php:1024
|
1208 |
msgid "Woocommerce before order notes"
|
1209 |
msgstr ""
|
1210 |
|
1211 |
+
#: v2/App/Helpers/Woocommerce.php:1025
|
1212 |
msgid "Woocommerce after order notes"
|
1213 |
msgstr ""
|
1214 |
|
1215 |
+
#: v2/App/Helpers/Woocommerce.php:1559
|
1216 |
+
msgid "Coupon already exists in WooCommerce. Please select another name"
|
1217 |
+
msgstr ""
|
1218 |
+
|
1219 |
#: v2/App/Views/Admin/Menu.php:33
|
1220 |
msgid "Rebuild index"
|
1221 |
msgstr ""
|
1287 |
msgid "Rules (Optional)"
|
1288 |
msgstr ""
|
1289 |
|
1290 |
+
#: v2/App/Views/Admin/Rules/Conditions/Main.php:11
|
1291 |
+
#: v2/App/Views/Admin/Rules/Manage.php:181
|
1292 |
+
#: v2/App/Views/Admin/Rules/Manage.php:182
|
1293 |
+
#: v2/App/Views/Admin/Rules/Manage.php:183
|
1294 |
+
#: v2/App/Views/Admin/Rules/Manage.php:184
|
1295 |
+
#: v2/App/Views/Admin/Rules/Manage.php:185
|
1296 |
+
#: v2/App/Views/Admin/Rules/Manage.php:186
|
1297 |
+
#: v2/App/Views/Admin/Rules/Manage.php:187
|
1298 |
+
#: v2/App/Views/Admin/Tabs/settings.php:24
|
1299 |
+
#: v2/App/Views/Admin/Tabs/settings.php:65
|
1300 |
+
#: v2/App/Views/Admin/Tabs/settings.php:138
|
1301 |
+
#: v2/App/Views/Admin/Tabs/settings.php:204
|
1302 |
+
#: v2/App/Views/Admin/Tabs/settings.php:275
|
1303 |
+
#: v2/App/Views/Admin/Tabs/settings.php:394
|
1304 |
+
#: v2/App/Views/Admin/Tabs/settings.php:478
|
1305 |
+
msgid "Read Docs"
|
1306 |
+
msgstr ""
|
1307 |
+
|
1308 |
#: v2/App/Views/Admin/Rules/Conditions/Main.php:25
|
1309 |
msgid "Conditions Relationship "
|
1310 |
msgstr ""
|
1370 |
msgid "Select values"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
+
#: v2/App/Views/Admin/Rules/Conditions/Main.php:213
|
1374 |
+
msgid "Language"
|
1375 |
+
msgstr ""
|
1376 |
+
|
1377 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:10
|
1378 |
msgid "Discount Bar (optional) - Display discount information"
|
1379 |
msgstr ""
|
1407 |
msgid "Show/hide discount bar on product pages"
|
1408 |
msgstr ""
|
1409 |
|
1410 |
+
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:43
|
1411 |
+
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:22
|
1412 |
+
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:37
|
1413 |
+
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:52
|
1414 |
+
#: v2/App/Views/Admin/Tabs/settings.php:56
|
1415 |
+
#: v2/App/Views/Admin/Tabs/settings.php:87
|
1416 |
+
#: v2/App/Views/Admin/Tabs/settings.php:103
|
1417 |
+
#: v2/App/Views/Admin/Tabs/settings.php:118
|
1418 |
+
#: v2/App/Views/Admin/Tabs/settings.php:209
|
1419 |
+
#: v2/App/Views/Admin/Tabs/settings.php:304
|
1420 |
+
#: v2/App/Views/Admin/Tabs/settings.php:333
|
1421 |
+
#: v2/App/Views/Admin/Tabs/settings.php:425
|
1422 |
+
#: v2/App/Views/Admin/Tabs/settings.php:563
|
1423 |
+
#: v2/App/Views/Admin/Tabs/settings.php:580
|
1424 |
+
#: v2/App/Views/Admin/Tabs/settings.php:597
|
1425 |
+
msgid "Yes"
|
1426 |
+
msgstr ""
|
1427 |
+
|
1428 |
+
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:48
|
1429 |
+
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:26
|
1430 |
+
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:41
|
1431 |
+
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:56
|
1432 |
+
#: v2/App/Views/Admin/Tabs/settings.php:60
|
1433 |
+
#: v2/App/Views/Admin/Tabs/settings.php:91
|
1434 |
+
#: v2/App/Views/Admin/Tabs/settings.php:107
|
1435 |
+
#: v2/App/Views/Admin/Tabs/settings.php:122
|
1436 |
+
#: v2/App/Views/Admin/Tabs/settings.php:212
|
1437 |
+
#: v2/App/Views/Admin/Tabs/settings.php:308
|
1438 |
+
#: v2/App/Views/Admin/Tabs/settings.php:339
|
1439 |
+
#: v2/App/Views/Admin/Tabs/settings.php:430
|
1440 |
+
#: v2/App/Views/Admin/Tabs/settings.php:568
|
1441 |
+
#: v2/App/Views/Admin/Tabs/settings.php:585
|
1442 |
+
#: v2/App/Views/Admin/Tabs/settings.php:602
|
1443 |
+
msgid "No"
|
1444 |
+
msgstr ""
|
1445 |
+
|
1446 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:50
|
1447 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:71
|
1448 |
#: v2/App/Views/Admin/Rules/DiscountBatch/Main.php:92
|
1568 |
msgid "Fixed discount per product -PRO-"
|
1569 |
msgstr ""
|
1570 |
|
1571 |
+
#: v2/App/Views/Admin/Rules/Discounts/Cart.php:33
|
1572 |
+
#: v2/App/Views/Admin/Rules/Discounts/simple.php:31
|
1573 |
+
msgid "Value"
|
1574 |
+
msgstr ""
|
1575 |
+
|
1576 |
#: v2/App/Views/Admin/Rules/Discounts/Cart.php:40
|
1577 |
msgid "Discount label"
|
1578 |
msgstr ""
|
1762 |
msgid "Select Products"
|
1763 |
msgstr ""
|
1764 |
|
1765 |
+
#: v2/App/Views/Admin/Rules/Manage.php:20
|
1766 |
+
#: v2/App/Views/Admin/Rules/Manage.php:24
|
1767 |
+
#: v2/App/Views/Admin/Rules/Manage.php:32
|
1768 |
+
#: v2/App/Views/Admin/Rules/Manage.php:36
|
1769 |
+
#: v2/App/Views/Admin/Rules/Manage.php:44
|
1770 |
+
msgid "This rule is not running currently: "
|
1771 |
+
msgstr ""
|
1772 |
+
|
1773 |
#: v2/App/Views/Admin/Rules/Manage.php:20
|
1774 |
msgid " Start date and time is set in the future date"
|
1775 |
msgstr ""
|
1798 |
msgid "#Rule ID: "
|
1799 |
msgstr ""
|
1800 |
|
1801 |
+
#: v2/App/Views/Admin/Rules/Manage.php:134
|
1802 |
+
msgid "Save"
|
1803 |
+
msgstr ""
|
1804 |
+
|
1805 |
#: v2/App/Views/Admin/Rules/Manage.php:136
|
1806 |
msgid "Save & Close"
|
1807 |
msgstr ""
|
1858 |
"text when his cart quantities reaches 3"
|
1859 |
msgstr ""
|
1860 |
|
1861 |
+
#: v2/App/Views/Admin/Rules/Others/QuantityPromotion.php:28
|
1862 |
+
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:29
|
1863 |
+
msgid "Message"
|
1864 |
+
msgstr ""
|
1865 |
+
|
1866 |
#: v2/App/Views/Admin/Rules/Others/QuantityPromotion.php:32
|
1867 |
#, php-format
|
1868 |
msgid "Buy {{difference_quantity}} more products and get 10% discount"
|
1878 |
"<b>Eg:</b> Buy {{difference_quantity}} more products and get 10% discount"
|
1879 |
msgstr ""
|
1880 |
|
1881 |
+
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:19
|
1882 |
+
msgid "Subtotal from"
|
1883 |
+
msgstr ""
|
1884 |
+
|
1885 |
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:26
|
1886 |
#, php-format
|
1887 |
msgid ""
|
1890 |
"his cart subtotal reaches 900"
|
1891 |
msgstr ""
|
1892 |
|
1893 |
+
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:33
|
1894 |
+
#, php-format
|
1895 |
+
msgid "Spend {{difference_amount}} more and get 10% discount"
|
1896 |
+
msgstr ""
|
1897 |
+
|
1898 |
+
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:34
|
1899 |
+
msgid "{{difference_amount}} -> Difference amount to get discount"
|
1900 |
+
msgstr ""
|
1901 |
+
|
1902 |
+
#: v2/App/Views/Admin/Rules/Others/SubtotalPromotion.php:35
|
1903 |
+
#, php-format
|
1904 |
+
msgid "<b>Eg:</b> Spend {{difference_amount}} more and get 10% discount"
|
1905 |
+
msgstr ""
|
1906 |
+
|
1907 |
#: v2/App/Views/Admin/Tabs/AdvancedOptions.php:11
|
1908 |
msgid ""
|
1909 |
"Discount Rules Advanced Options <span style=\"color:tomato; font-weight: "
|
1929 |
msgid "Disable recalculate when coupon apply"
|
1930 |
msgstr ""
|
1931 |
|
1932 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:13
|
1933 |
+
msgid "Add New Rule"
|
1934 |
+
msgstr ""
|
1935 |
+
|
1936 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:16
|
1937 |
msgid "Migrate rules from v1"
|
1938 |
msgstr ""
|
1973 |
msgid "Skip"
|
1974 |
msgstr ""
|
1975 |
|
1976 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:56
|
1977 |
+
msgid "View Examples"
|
1978 |
+
msgstr ""
|
1979 |
+
|
1980 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:68
|
1981 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:74
|
1982 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:85
|
1983 |
msgid "Search Rules"
|
1984 |
msgstr ""
|
1985 |
|
1986 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:76
|
1987 |
+
msgid "Bulk Actions"
|
1988 |
+
msgstr ""
|
1989 |
+
|
1990 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:79
|
1991 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:307
|
1992 |
+
msgid "Delete"
|
1993 |
+
msgstr ""
|
1994 |
+
|
1995 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:81
|
1996 |
+
msgid "Apply"
|
1997 |
+
msgstr ""
|
1998 |
+
|
1999 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:89
|
2000 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:374
|
2001 |
msgid "item"
|
2006 |
msgid "items"
|
2007 |
msgstr ""
|
2008 |
|
2009 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:105
|
2010 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:331
|
2011 |
+
msgid "Title"
|
2012 |
+
msgstr ""
|
2013 |
+
|
2014 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:112
|
2015 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:338
|
2016 |
+
msgid "Start Date"
|
2017 |
+
msgstr ""
|
2018 |
+
|
2019 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:114
|
2020 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:340
|
2021 |
+
msgid "Expired On"
|
2022 |
+
msgstr ""
|
2023 |
+
|
2024 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:119
|
2025 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:345
|
2026 |
msgid "Language(s)"
|
2027 |
msgstr ""
|
2028 |
|
2029 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:127
|
2030 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:353
|
2031 |
+
msgid "Status"
|
2032 |
+
msgstr ""
|
2033 |
+
|
2034 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:129
|
2035 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:355
|
2036 |
+
msgid "Action"
|
2037 |
+
msgstr ""
|
2038 |
+
|
2039 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:151
|
2040 |
msgid "Exclusive"
|
2041 |
msgstr ""
|
2053 |
msgid "Modified by: "
|
2054 |
msgstr ""
|
2055 |
|
2056 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:197
|
2057 |
+
#: v2/App/Views/Admin/Tabs/help.php:112
|
2058 |
+
msgid "Free Shipping"
|
2059 |
+
msgstr ""
|
2060 |
+
|
2061 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:203
|
2062 |
msgid "Set Discount"
|
2063 |
msgstr ""
|
2074 |
msgid "Enabled"
|
2075 |
msgstr ""
|
2076 |
|
2077 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:252
|
2078 |
+
#: v2/App/Views/Admin/Tabs/settings.php:398
|
2079 |
+
msgid "Disabled"
|
2080 |
+
msgstr ""
|
2081 |
+
|
2082 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:263
|
2083 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:277
|
2084 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:290
|
2104 |
msgid " - ( Not running - validity expired)"
|
2105 |
msgstr ""
|
2106 |
|
2107 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:302
|
2108 |
+
msgid "Edit"
|
2109 |
+
msgstr ""
|
2110 |
+
|
2111 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:304
|
2112 |
+
msgid "Duplicate"
|
2113 |
+
msgstr ""
|
2114 |
+
|
2115 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:318
|
2116 |
msgid "No rules found."
|
2117 |
msgstr ""
|
2118 |
|
2119 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:389
|
2120 |
+
#: v2/App/Views/Admin/Tabs/help.php:160
|
2121 |
+
msgid "Looking for more features? Upgrade to PRO"
|
2122 |
+
msgstr ""
|
2123 |
+
|
2124 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:394
|
2125 |
+
#: v2/App/Views/Admin/Tabs/help.php:165
|
2126 |
+
msgid "With PRO version, you can create:"
|
2127 |
+
msgstr ""
|
2128 |
+
|
2129 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:395
|
2130 |
+
#: v2/App/Views/Admin/Tabs/help.php:166
|
2131 |
+
msgid "- Categories based discounts"
|
2132 |
+
msgstr ""
|
2133 |
+
|
2134 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:396
|
2135 |
+
#: v2/App/Views/Admin/Tabs/help.php:167
|
2136 |
+
msgid "- User roles based discounts"
|
2137 |
+
msgstr ""
|
2138 |
+
|
2139 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:397
|
2140 |
+
#: v2/App/Views/Admin/Tabs/help.php:168
|
2141 |
+
msgid "- Buy One Get One Free deals"
|
2142 |
+
msgstr ""
|
2143 |
+
|
2144 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:398
|
2145 |
+
#: v2/App/Views/Admin/Tabs/help.php:169
|
2146 |
+
msgid "- Buy X Get Y deals"
|
2147 |
+
msgstr ""
|
2148 |
+
|
2149 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:399
|
2150 |
+
#: v2/App/Views/Admin/Tabs/help.php:170
|
2151 |
+
#, php-format
|
2152 |
+
msgid "- Buy 2, get 1 at 50% discount"
|
2153 |
+
msgstr ""
|
2154 |
+
|
2155 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:400
|
2156 |
+
#: v2/App/Views/Admin/Tabs/help.php:171
|
2157 |
+
msgid "- Buy 3 for $10 (Package / Bundle [Set] Discount)"
|
2158 |
+
msgstr ""
|
2159 |
+
|
2160 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:401
|
2161 |
+
#: v2/App/Views/Admin/Tabs/help.php:172
|
2162 |
+
msgid "- Different discounts with one coupon code"
|
2163 |
+
msgstr ""
|
2164 |
+
|
2165 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:402
|
2166 |
+
#: v2/App/Views/Admin/Tabs/help.php:173
|
2167 |
+
msgid "- Purchase history based discounts"
|
2168 |
+
msgstr ""
|
2169 |
+
|
2170 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:403
|
2171 |
+
#: v2/App/Views/Admin/Tabs/help.php:174
|
2172 |
+
msgid "- Free product / gift"
|
2173 |
+
msgstr ""
|
2174 |
+
|
2175 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:404
|
2176 |
+
#: v2/App/Views/Admin/Tabs/help.php:175
|
2177 |
+
msgid "- Discount for variants"
|
2178 |
+
msgstr ""
|
2179 |
+
|
2180 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:405
|
2181 |
+
#: v2/App/Views/Admin/Tabs/help.php:176
|
2182 |
+
msgid "- Conditional discounts"
|
2183 |
+
msgstr ""
|
2184 |
+
|
2185 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:406
|
2186 |
+
#: v2/App/Views/Admin/Tabs/help.php:177
|
2187 |
+
msgid "- Fixed cost discounts"
|
2188 |
+
msgstr ""
|
2189 |
+
|
2190 |
+
#: v2/App/Views/Admin/Tabs/DiscountRule.php:407
|
2191 |
+
#: v2/App/Views/Admin/Tabs/help.php:178
|
2192 |
+
msgid "- Offer fixed price on certain conditions"
|
2193 |
+
msgstr ""
|
2194 |
+
|
2195 |
#: v2/App/Views/Admin/Tabs/DiscountRule.php:408
|
2196 |
#: v2/App/Views/Admin/Tabs/help.php:179
|
2197 |
msgid "Go PRO"
|
2357 |
msgid "Installation of Advanced discount rules"
|
2358 |
msgstr ""
|
2359 |
|
2360 |
+
#: v2/App/Views/Admin/Tabs/help.php:31
|
2361 |
+
msgid "License Key activation"
|
2362 |
+
msgstr ""
|
2363 |
+
|
2364 |
+
#: v2/App/Views/Admin/Tabs/help.php:32
|
2365 |
+
msgid "Learn how to obtain the license key and activate it"
|
2366 |
+
msgstr ""
|
2367 |
+
|
2368 |
+
#: v2/App/Views/Admin/Tabs/help.php:39
|
2369 |
+
msgid "Version Updates!"
|
2370 |
+
msgstr ""
|
2371 |
+
|
2372 |
+
#: v2/App/Views/Admin/Tabs/help.php:40
|
2373 |
+
msgid "Learn how to update to latest versions"
|
2374 |
+
msgstr ""
|
2375 |
+
|
2376 |
#: v2/App/Views/Admin/Tabs/help.php:46
|
2377 |
msgid "Setting up Discount Rules"
|
2378 |
msgstr ""
|
2386 |
msgid "Price rules/BOGO discounts"
|
2387 |
msgstr ""
|
2388 |
|
2389 |
+
#: v2/App/Views/Admin/Tabs/help.php:64
|
2390 |
+
msgid "Bulk/Tiered pricing discounts"
|
2391 |
+
msgstr ""
|
2392 |
+
|
2393 |
+
#: v2/App/Views/Admin/Tabs/help.php:65
|
2394 |
+
msgid "Learn how to create bulk/tiered quantity discounts in WooCommerce"
|
2395 |
+
msgstr ""
|
2396 |
+
|
2397 |
+
#: v2/App/Views/Admin/Tabs/help.php:75
|
2398 |
+
msgid "How to create a perfect BOGO discount rule in WooCommerce"
|
2399 |
+
msgstr ""
|
2400 |
+
|
2401 |
+
#: v2/App/Views/Admin/Tabs/help.php:76
|
2402 |
+
msgid ""
|
2403 |
+
"Buy One Get One deals can be simple to complex. Learn how to get them "
|
2404 |
+
"working correct in your online store"
|
2405 |
+
msgstr ""
|
2406 |
+
|
2407 |
+
#: v2/App/Views/Admin/Tabs/help.php:85
|
2408 |
+
msgid "Coupon code based discounts"
|
2409 |
+
msgstr ""
|
2410 |
+
|
2411 |
+
#: v2/App/Views/Admin/Tabs/help.php:86
|
2412 |
+
msgid ""
|
2413 |
+
"Apply the dynamic discount rules after the customer enters a valid coupon "
|
2414 |
+
"code"
|
2415 |
+
msgstr ""
|
2416 |
+
|
2417 |
#: v2/App/Views/Admin/Tabs/help.php:93
|
2418 |
msgid "Buy One Get One Discount for Products from Same Category"
|
2419 |
msgstr ""
|
2428 |
msgid "Cart Based Rules"
|
2429 |
msgstr ""
|
2430 |
|
2431 |
+
#: v2/App/Views/Admin/Tabs/help.php:113
|
2432 |
+
msgid "Learn how to create a free shipping cart based rule"
|
2433 |
+
msgstr ""
|
2434 |
+
|
2435 |
+
#: v2/App/Views/Admin/Tabs/help.php:123
|
2436 |
+
msgid "Subtotal based - Tiered discounts"
|
2437 |
+
msgstr ""
|
2438 |
+
|
2439 |
+
#: v2/App/Views/Admin/Tabs/help.php:124
|
2440 |
+
msgid "Learn how to create tiered discount based on the subtotal value"
|
2441 |
+
msgstr ""
|
2442 |
+
|
2443 |
#: v2/App/Views/Admin/Tabs/help.php:135
|
2444 |
msgid " Shipping address based discount"
|
2445 |
msgstr ""
|
2446 |
|
2447 |
+
#: v2/App/Views/Admin/Tabs/help.php:136
|
2448 |
+
msgid ""
|
2449 |
+
"How to provide a automatic adding free product in cart under certain "
|
2450 |
+
"conditions"
|
2451 |
+
msgstr ""
|
2452 |
+
|
2453 |
+
#: v2/App/Views/Admin/Tabs/help.php:146
|
2454 |
+
msgid ""
|
2455 |
+
"Category Combination (get discount only when Category A+ B + C are in the "
|
2456 |
+
"cart)"
|
2457 |
+
msgstr ""
|
2458 |
+
|
2459 |
+
#: v2/App/Views/Admin/Tabs/settings.php:15
|
2460 |
+
msgid "General"
|
2461 |
+
msgstr ""
|
2462 |
+
|
2463 |
#: v2/App/Views/Admin/Tabs/settings.php:23
|
2464 |
msgid "Calculate discount from"
|
2465 |
msgstr ""
|
2468 |
msgid "sale price or regular price"
|
2469 |
msgstr ""
|
2470 |
|
2471 |
+
#: v2/App/Views/Admin/Tabs/settings.php:28
|
2472 |
+
msgid "Sale price"
|
2473 |
+
msgstr ""
|
2474 |
+
|
2475 |
+
#: v2/App/Views/Admin/Tabs/settings.php:29
|
2476 |
+
msgid "Regular price"
|
2477 |
+
msgstr ""
|
2478 |
+
|
2479 |
#: v2/App/Views/Admin/Tabs/settings.php:35
|
2480 |
msgid "Apply discount"
|
2481 |
msgstr ""
|
2518 |
msgid "Choose how discount rules should work"
|
2519 |
msgstr ""
|
2520 |
|
2521 |
+
#: v2/App/Views/Admin/Tabs/settings.php:66
|
2522 |
+
msgid ""
|
2523 |
+
"Choose how discount rules should work when WooCommerce coupons (or third "
|
2524 |
+
"party) coupons are used?"
|
2525 |
+
msgstr ""
|
2526 |
+
|
2527 |
+
#: v2/App/Views/Admin/Tabs/settings.php:73
|
2528 |
+
msgid "Let both coupons and discount rules run together"
|
2529 |
+
msgstr ""
|
2530 |
+
|
2531 |
+
#: v2/App/Views/Admin/Tabs/settings.php:74
|
2532 |
+
msgid "Disable the coupons (discount rules will work)"
|
2533 |
+
msgstr ""
|
2534 |
+
|
2535 |
+
#: v2/App/Views/Admin/Tabs/settings.php:75
|
2536 |
+
msgid "Disable the discount rules (coupons will work)"
|
2537 |
+
msgstr ""
|
2538 |
+
|
2539 |
#: v2/App/Views/Admin/Tabs/settings.php:81
|
2540 |
msgid "Refresh order review in checkout"
|
2541 |
msgstr ""
|
2570 |
msgid "show on-sale badge"
|
2571 |
msgstr ""
|
2572 |
|
2573 |
+
#: v2/App/Views/Admin/Tabs/settings.php:145
|
2574 |
+
msgid "Show only after a rule condition is matched exactly"
|
2575 |
+
msgstr ""
|
2576 |
+
|
2577 |
#: v2/App/Views/Admin/Tabs/settings.php:146
|
2578 |
msgid "Show on products that are covered under any discount rule in the plugin"
|
2579 |
msgstr ""
|
2580 |
|
2581 |
+
#: v2/App/Views/Admin/Tabs/settings.php:147
|
2582 |
+
msgid "Do not show"
|
2583 |
+
msgstr ""
|
2584 |
+
|
2585 |
+
#: v2/App/Views/Admin/Tabs/settings.php:153
|
2586 |
+
msgid "Do you want to customize the sale badge?"
|
2587 |
+
msgstr ""
|
2588 |
+
|
2589 |
#: v2/App/Views/Admin/Tabs/settings.php:154
|
2590 |
msgid "Customize the sale badge"
|
2591 |
msgstr ""
|
2592 |
|
2593 |
+
#: v2/App/Views/Admin/Tabs/settings.php:164
|
2594 |
+
msgid "Yes, I would like to customize the sale badge"
|
2595 |
+
msgstr ""
|
2596 |
+
|
2597 |
+
#: v2/App/Views/Admin/Tabs/settings.php:168
|
2598 |
+
msgid ""
|
2599 |
+
"Force override the label for sale badge (useful when your theme has override "
|
2600 |
+
"for sale badge)."
|
2601 |
+
msgstr ""
|
2602 |
+
|
2603 |
#: v2/App/Views/Admin/Tabs/settings.php:173
|
2604 |
msgid ""
|
2605 |
"I would like to display percentage in sale badge (Displays only when rule "
|
2618 |
"rules configured in this plugin <b>Eg:</b><span class=\"onsale\">Sale!</span>"
|
2619 |
msgstr ""
|
2620 |
|
2621 |
+
#: v2/App/Views/Admin/Tabs/settings.php:184
|
2622 |
+
#: v2/App/Views/Templates/loop/sale-flash.php:23
|
2623 |
+
#: v2/App/Views/Templates/single-product/sale-flash.php:23
|
2624 |
+
msgid "Sale!"
|
2625 |
+
msgstr ""
|
2626 |
+
|
2627 |
#: v2/App/Views/Admin/Tabs/settings.php:191
|
2628 |
msgid "Sale badge percentage content"
|
2629 |
msgstr ""
|
2709 |
msgid "Show Strikeout when this option is matched"
|
2710 |
msgstr ""
|
2711 |
|
2712 |
+
#: v2/App/Views/Admin/Tabs/settings.php:279
|
2713 |
+
msgid "Show when a rule condition is matched"
|
2714 |
+
msgstr ""
|
2715 |
+
|
2716 |
+
#: v2/App/Views/Admin/Tabs/settings.php:280
|
2717 |
+
msgid "Show after a rule condition is matched"
|
2718 |
+
msgstr ""
|
2719 |
+
|
2720 |
+
#: v2/App/Views/Admin/Tabs/settings.php:281
|
2721 |
+
msgid "Shown on quantity update (dynamic)"
|
2722 |
+
msgstr ""
|
2723 |
+
|
2724 |
#: v2/App/Views/Admin/Tabs/settings.php:298
|
2725 |
msgid "Show strikeout on cart"
|
2726 |
msgstr ""
|
2754 |
msgid "Discount label for combined discounts"
|
2755 |
msgstr ""
|
2756 |
|
2757 |
+
#: v2/App/Views/Admin/Tabs/settings.php:358
|
2758 |
+
msgid "Promotion"
|
2759 |
+
msgstr ""
|
2760 |
+
|
2761 |
#: v2/App/Views/Admin/Tabs/settings.php:363
|
2762 |
msgid "Condition based promotion"
|
2763 |
msgstr ""
|
2790 |
msgid "Select the page to display promotion message"
|
2791 |
msgstr ""
|
2792 |
|
2793 |
+
#: v2/App/Views/Admin/Tabs/settings.php:384
|
2794 |
+
msgid "Shop page"
|
2795 |
+
msgstr ""
|
2796 |
+
|
2797 |
+
#: v2/App/Views/Admin/Tabs/settings.php:385
|
2798 |
+
msgid "Product page"
|
2799 |
+
msgstr ""
|
2800 |
+
|
2801 |
+
#: v2/App/Views/Admin/Tabs/settings.php:386
|
2802 |
+
msgid "Cart page"
|
2803 |
+
msgstr ""
|
2804 |
+
|
2805 |
+
#: v2/App/Views/Admin/Tabs/settings.php:387
|
2806 |
+
msgid "Checkout page"
|
2807 |
+
msgstr ""
|
2808 |
+
|
2809 |
#: v2/App/Views/Admin/Tabs/settings.php:393
|
2810 |
msgid "Display you saved text"
|
2811 |
msgstr ""
|
2814 |
msgid "Display you saved text when rule applied"
|
2815 |
msgstr ""
|
2816 |
|
2817 |
+
#: v2/App/Views/Admin/Tabs/settings.php:399
|
2818 |
+
msgid "On each line item"
|
2819 |
+
msgstr ""
|
2820 |
+
|
2821 |
+
#: v2/App/Views/Admin/Tabs/settings.php:400
|
2822 |
+
msgid "On after total"
|
2823 |
+
msgstr ""
|
2824 |
+
|
2825 |
+
#: v2/App/Views/Admin/Tabs/settings.php:401
|
2826 |
+
msgid "Both in line item and after total"
|
2827 |
+
msgstr ""
|
2828 |
+
|
2829 |
+
#: v2/App/Views/Admin/Tabs/settings.php:408
|
2830 |
+
msgid "Savings text to show"
|
2831 |
+
msgstr ""
|
2832 |
+
|
2833 |
#: v2/App/Views/Admin/Tabs/settings.php:409
|
2834 |
msgid "You save text to show when rule applied"
|
2835 |
msgstr ""
|
2945 |
msgid "Show/Hide table header column names"
|
2946 |
msgstr ""
|
2947 |
|
2948 |
+
#: v2/App/Views/Admin/Tabs/settings.php:639
|
2949 |
+
msgid "Show"
|
2950 |
+
msgstr ""
|
2951 |
+
|
2952 |
+
#: v2/App/Views/Admin/Tabs/settings.php:642
|
2953 |
+
msgid "Don't Show"
|
2954 |
+
msgstr ""
|
2955 |
+
|
2956 |
#: v2/App/Views/Admin/Tabs/settings.php:647
|
2957 |
msgid "Title column Name on table"
|
2958 |
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.9
|
7 |
-
Stable tag: 2.
|
8 |
License: GPLv3 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -336,6 +336,13 @@ Note : Enable recursive checkbox if the discounts should be applied in sequentia
|
|
336 |
|
337 |
== Changelog ==
|
338 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
339 |
= 2.3.13 - 09/02/22 =
|
340 |
* Feature - Apply coupon through URL option.
|
341 |
* Improvement - Compatible option for Multi-Currency by WPML.
|
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.9
|
7 |
+
Stable tag: 2.4.0
|
8 |
License: GPLv3 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
336 |
|
337 |
== Changelog ==
|
338 |
|
339 |
+
= 2.4.0 - 06/04/22 =
|
340 |
+
* Deprecated: V1 layout.
|
341 |
+
* Fix: Calculating discount for out of stock product variant.
|
342 |
+
* Fix: Custom taxonomy query while process on-sale page.
|
343 |
+
* Fix: Multiple messages on having BXGY cheapest rules.
|
344 |
+
* Improvement - Event advanced_woo_discount_rules_cart_strikeout_quantity_html.
|
345 |
+
|
346 |
= 2.3.13 - 09/02/22 =
|
347 |
* Feature - Apply coupon through URL option.
|
348 |
* Improvement - Compatible option for Multi-Currency by WPML.
|
v1/assets/css/bootstrap-datetimepicker.min.css
DELETED
@@ -1,9 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Datetimepicker for Bootstrap
|
3 |
-
*
|
4 |
-
* Copyright 2012 Stefan Petre
|
5 |
-
* Improvements by Andrew Rowls
|
6 |
-
* Licensed under the Apache License v2.0
|
7 |
-
* http://www.apache.org/licenses/LICENSE-2.0
|
8 |
-
*
|
9 |
-
*/.datetimepicker{padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datetimepicker-inline{width:220px}.datetimepicker.datetimepicker-rtl{direction:rtl}.datetimepicker.datetimepicker-rtl table tr td span{float:right}.datetimepicker-dropdown,.datetimepicker-dropdown-left{top:0;left:0}[class*=" datetimepicker-dropdown"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute}[class*=" datetimepicker-dropdown"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute}[class*=" datetimepicker-dropdown-top"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0}[class*=" datetimepicker-dropdown-top"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;border-bottom:0}.datetimepicker-dropdown-bottom-left:before{top:-7px;right:6px}.datetimepicker-dropdown-bottom-left:after{top:-6px;right:7px}.datetimepicker-dropdown-bottom-right:before{top:-7px;left:6px}.datetimepicker-dropdown-bottom-right:after{top:-6px;left:7px}.datetimepicker-dropdown-top-left:before{bottom:-7px;right:6px}.datetimepicker-dropdown-top-left:after{bottom:-6px;right:7px}.datetimepicker-dropdown-top-right:before{bottom:-7px;left:6px}.datetimepicker-dropdown-top-right:after{bottom:-6px;left:7px}.datetimepicker>div{display:none}.datetimepicker.minutes div.datetimepicker-minutes{display:block}.datetimepicker.hours div.datetimepicker-hours{display:block}.datetimepicker.days div.datetimepicker-days{display:block}.datetimepicker.months div.datetimepicker-months{display:block}.datetimepicker.years div.datetimepicker-years{display:block}.datetimepicker table{margin:0}.datetimepicker td,.datetimepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datetimepicker table tr td,.table-striped .datetimepicker table tr th{background-color:transparent}.datetimepicker table tr td.minute:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.hour:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.day:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.old,.datetimepicker table tr td.new{color:#999}.datetimepicker table tr td.disabled,.datetimepicker table tr td.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td.today,.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(to bottom,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today:hover:hover,.datetimepicker table tr td.today.disabled:hover,.datetimepicker table tr td.today.disabled:hover:hover,.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today:hover.disabled,.datetimepicker table tr td.today.disabled.disabled,.datetimepicker table tr td.today.disabled:hover.disabled,.datetimepicker table tr td.today[disabled],.datetimepicker table tr td.today:hover[disabled],.datetimepicker table tr td.today.disabled[disabled],.datetimepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active{background-color:#fbf069}.datetimepicker table tr td.active,.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active:hover:hover,.datetimepicker table tr td.active.disabled:hover,.datetimepicker table tr td.active.disabled:hover:hover,.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active:hover.disabled,.datetimepicker table tr td.active.disabled.disabled,.datetimepicker table tr td.active.disabled:hover.disabled,.datetimepicker table tr td.active[disabled],.datetimepicker table tr td.active:hover[disabled],.datetimepicker table tr td.active.disabled[disabled],.datetimepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datetimepicker .datetimepicker-hours span{height:26px;line-height:26px}.datetimepicker .datetimepicker-hours table tr td span.hour_am,.datetimepicker .datetimepicker-hours table tr td span.hour_pm{width:14.6%}.datetimepicker .datetimepicker-hours fieldset legend,.datetimepicker .datetimepicker-minutes fieldset legend{margin-bottom:inherit;line-height:30px}.datetimepicker .datetimepicker-minutes span{height:26px;line-height:26px}.datetimepicker table tr td span:hover{background:#eee}.datetimepicker table tr td span.disabled,.datetimepicker table tr td span.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td span.active,.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(to bottom,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active:hover:hover,.datetimepicker table tr td span.active.disabled:hover,.datetimepicker table tr td span.active.disabled:hover:hover,.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active:hover.disabled,.datetimepicker table tr td span.active.disabled.disabled,.datetimepicker table tr td span.active.disabled:hover.disabled,.datetimepicker table tr td span.active[disabled],.datetimepicker table tr td span.active:hover[disabled],.datetimepicker table tr td span.active.disabled[disabled],.datetimepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span.old{color:#999}.datetimepicker th.switch{width:145px}.datetimepicker th span.glyphicon{pointer-events:none}.datetimepicker thead tr:first-child th,.datetimepicker tfoot th{cursor:pointer}.datetimepicker thead tr:first-child th:hover,.datetimepicker tfoot th:hover{background:#eee}.input-append.date .add-on i,.input-prepend.date .add-on i,.input-group.date .input-group-addon span{cursor:pointer;width:14px;height:14px}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/css/bootstrap.min.css
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap v3.4.1 (https://getbootstrap.com/)
|
3 |
-
* Copyright 2011-2019 Twitter, Inc.
|
4 |
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
-
*//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
|
6 |
-
/*# sourceMappingURL=bootstrap.min.css.map */
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/css/bootstrap.select.min.css
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select)
|
3 |
-
*
|
4 |
-
* Copyright 2013-2016 bootstrap-select
|
5 |
-
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
6 |
-
*/select.bs-select-hidden,select.selectpicker{display:none!important}.bootstrap-select{width:220px\9}.bootstrap-select>.dropdown-toggle{width:100%;padding-right:25px;z-index:1}.bootstrap-select>select{position:absolute!important;bottom:0;left:50%;display:block!important;width:.5px!important;height:50%!important;padding:0!important;opacity:0!important;border:none}.bootstrap-select>select.mobile-device{top:0;left:0;display:block!important;width:100%!important;z-index:2}.error .bootstrap-select .dropdown-toggle,.has-error .bootstrap-select .dropdown-toggle{border-color:#b94a48}.bootstrap-select.fit-width{width:auto!important}.bootstrap-select:not([class*=col-]):not([class*=form-control]):not(.input-group-btn){width:220px}.bootstrap-select .dropdown-toggle:focus{outline:thin dotted #333!important;outline:5px auto -webkit-focus-ring-color!important;outline-offset:-2px}.bootstrap-select.form-control{margin-bottom:0;padding:0;border:none}.bootstrap-select.form-control:not([class*=col-]){width:100%}.bootstrap-select.form-control.input-group-btn{z-index:auto}.bootstrap-select.btn-group:not(.input-group-btn),.bootstrap-select.btn-group[class*=col-]{float:none;display:inline-block;margin-left:0}.bootstrap-select.btn-group.dropdown-menu-right,.bootstrap-select.btn-group[class*=col-].dropdown-menu-right,.row .bootstrap-select.btn-group[class*=col-].dropdown-menu-right{float:right}.form-group .bootstrap-select.btn-group,.form-horizontal .bootstrap-select.btn-group,.form-inline .bootstrap-select.btn-group{margin-bottom:0}.form-group-lg .bootstrap-select.btn-group.form-control,.form-group-sm .bootstrap-select.btn-group.form-control{padding:0}.form-inline .bootstrap-select.btn-group .form-control{width:100%}.bootstrap-select.btn-group.disabled,.bootstrap-select.btn-group>.disabled{cursor:not-allowed}.bootstrap-select.btn-group.disabled:focus,.bootstrap-select.btn-group>.disabled:focus{outline:0!important}.bootstrap-select.btn-group.bs-container{position:absolute}.bootstrap-select.btn-group.bs-container .dropdown-menu{z-index:1060}.bootstrap-select.btn-group .dropdown-toggle .filter-option{display:inline-block;overflow:hidden;width:100%;text-align:left}.bootstrap-select.btn-group .dropdown-toggle .caret{position:absolute;top:50%;right:12px;margin-top:-2px;vertical-align:middle}.bootstrap-select.btn-group[class*=col-] .dropdown-toggle{width:100%}.bootstrap-select.btn-group .dropdown-menu{min-width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .dropdown-menu.inner{position:static;float:none;border:0;padding:0;margin:0;border-radius:0;-webkit-box-shadow:none;box-shadow:none}.bootstrap-select.btn-group .dropdown-menu li{position:relative}.bootstrap-select.btn-group .dropdown-menu li.active small{color:#fff}.bootstrap-select.btn-group .dropdown-menu li.disabled a{cursor:not-allowed}.bootstrap-select.btn-group .dropdown-menu li a{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.bootstrap-select.btn-group .dropdown-menu li a.opt{position:relative;padding-left:2.25em}.bootstrap-select.btn-group .dropdown-menu li a span.check-mark{display:none}.bootstrap-select.btn-group .dropdown-menu li a span.text{display:inline-block}.bootstrap-select.btn-group .dropdown-menu li small{padding-left:.5em}.bootstrap-select.btn-group .dropdown-menu .notify{position:absolute;bottom:5px;width:96%;margin:0 2%;min-height:26px;padding:3px 5px;background:#f5f5f5;border:1px solid #e3e3e3;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05);pointer-events:none;opacity:.9;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-select.btn-group .no-results{padding:3px;background:#f5f5f5;margin:0 5px;white-space:nowrap}.bootstrap-select.btn-group.fit-width .dropdown-toggle .filter-option{position:static}.bootstrap-select.btn-group.fit-width .dropdown-toggle .caret{position:static;top:auto;margin-top:-1px}.bootstrap-select.btn-group.show-tick .dropdown-menu li.selected a span.check-mark{position:absolute;display:inline-block;right:15px;margin-top:5px}.bootstrap-select.btn-group.show-tick .dropdown-menu li a span.text{margin-right:34px}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle{z-index:1061}.bootstrap-select.show-menu-arrow .dropdown-toggle:before{content:'';border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(204,204,204,.2);position:absolute;bottom:-4px;left:9px;display:none}.bootstrap-select.show-menu-arrow .dropdown-toggle:after{content:'';border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute;bottom:-4px;left:10px;display:none}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:before{bottom:auto;top:-3px;border-top:7px solid rgba(204,204,204,.2);border-bottom:0}.bootstrap-select.show-menu-arrow.dropup .dropdown-toggle:after{bottom:auto;top:-3px;border-top:6px solid #fff;border-bottom:0}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:before{right:12px;left:auto}.bootstrap-select.show-menu-arrow.pull-right .dropdown-toggle:after{right:13px;left:auto}.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:after,.bootstrap-select.show-menu-arrow.open>.dropdown-toggle:before{display:block}.bs-actionsbox,.bs-donebutton,.bs-searchbox{padding:4px 8px}.bs-actionsbox{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-actionsbox .btn-group button{width:50%}.bs-donebutton{float:left;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bs-donebutton .btn-group button{width:100%}.bs-searchbox+.bs-actionsbox{padding:0 8px 4px}.bs-searchbox .form-control{margin-bottom:0;width:100%;float:none}
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/css/custom.css
DELETED
File without changes
|
v1/assets/css/jquery-ui.css
DELETED
@@ -1,1311 +0,0 @@
|
|
1 |
-
/*! jQuery UI - v1.12.1 - 2016-09-14
|
2 |
-
* http://jqueryui.com
|
3 |
-
* Includes: core.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, draggable.css, resizable.css, progressbar.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css
|
4 |
-
* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Arial%2CHelvetica%2Csans-serif&fsDefault=1em&fwDefault=normal&cornerRadius=3px&bgColorHeader=e9e9e9&bgTextureHeader=flat&borderColorHeader=dddddd&fcHeader=333333&iconColorHeader=444444&bgColorContent=ffffff&bgTextureContent=flat&borderColorContent=dddddd&fcContent=333333&iconColorContent=444444&bgColorDefault=f6f6f6&bgTextureDefault=flat&borderColorDefault=c5c5c5&fcDefault=454545&iconColorDefault=777777&bgColorHover=ededed&bgTextureHover=flat&borderColorHover=cccccc&fcHover=2b2b2b&iconColorHover=555555&bgColorActive=007fff&bgTextureActive=flat&borderColorActive=003eff&fcActive=ffffff&iconColorActive=ffffff&bgColorHighlight=fffa90&bgTextureHighlight=flat&borderColorHighlight=dad55e&fcHighlight=777620&iconColorHighlight=777620&bgColorError=fddfdf&bgTextureError=flat&borderColorError=f1a899&fcError=5f3f3f&iconColorError=cc0000&bgColorOverlay=aaaaaa&bgTextureOverlay=flat&bgImgOpacityOverlay=0&opacityOverlay=30&bgColorShadow=666666&bgTextureShadow=flat&bgImgOpacityShadow=0&opacityShadow=30&thicknessShadow=5px&offsetTopShadow=0px&offsetLeftShadow=0px&cornerRadiusShadow=8px
|
5 |
-
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
6 |
-
|
7 |
-
/* Layout helpers
|
8 |
-
----------------------------------*/
|
9 |
-
.ui-helper-hidden {
|
10 |
-
display: none;
|
11 |
-
}
|
12 |
-
.ui-helper-hidden-accessible {
|
13 |
-
border: 0;
|
14 |
-
clip: rect(0 0 0 0);
|
15 |
-
height: 1px;
|
16 |
-
margin: -1px;
|
17 |
-
overflow: hidden;
|
18 |
-
padding: 0;
|
19 |
-
position: absolute;
|
20 |
-
width: 1px;
|
21 |
-
}
|
22 |
-
.ui-helper-reset {
|
23 |
-
margin: 0;
|
24 |
-
padding: 0;
|
25 |
-
border: 0;
|
26 |
-
outline: 0;
|
27 |
-
line-height: 1.3;
|
28 |
-
text-decoration: none;
|
29 |
-
font-size: 100%;
|
30 |
-
list-style: none;
|
31 |
-
}
|
32 |
-
.ui-helper-clearfix:before,
|
33 |
-
.ui-helper-clearfix:after {
|
34 |
-
content: "";
|
35 |
-
display: table;
|
36 |
-
border-collapse: collapse;
|
37 |
-
}
|
38 |
-
.ui-helper-clearfix:after {
|
39 |
-
clear: both;
|
40 |
-
}
|
41 |
-
.ui-helper-zfix {
|
42 |
-
width: 100%;
|
43 |
-
height: 100%;
|
44 |
-
top: 0;
|
45 |
-
left: 0;
|
46 |
-
position: absolute;
|
47 |
-
opacity: 0;
|
48 |
-
filter:Alpha(Opacity=0); /* support: IE8 */
|
49 |
-
}
|
50 |
-
|
51 |
-
.ui-front {
|
52 |
-
z-index: 100;
|
53 |
-
}
|
54 |
-
|
55 |
-
|
56 |
-
/* Interaction Cues
|
57 |
-
----------------------------------*/
|
58 |
-
.ui-state-disabled {
|
59 |
-
cursor: default !important;
|
60 |
-
pointer-events: none;
|
61 |
-
}
|
62 |
-
|
63 |
-
|
64 |
-
/* Icons
|
65 |
-
----------------------------------*/
|
66 |
-
.ui-icon {
|
67 |
-
display: inline-block;
|
68 |
-
vertical-align: middle;
|
69 |
-
margin-top: -.25em;
|
70 |
-
position: relative;
|
71 |
-
text-indent: -99999px;
|
72 |
-
overflow: hidden;
|
73 |
-
background-repeat: no-repeat;
|
74 |
-
}
|
75 |
-
|
76 |
-
.ui-widget-icon-block {
|
77 |
-
left: 50%;
|
78 |
-
margin-left: -8px;
|
79 |
-
display: block;
|
80 |
-
}
|
81 |
-
|
82 |
-
/* Misc visuals
|
83 |
-
----------------------------------*/
|
84 |
-
|
85 |
-
/* Overlays */
|
86 |
-
.ui-widget-overlay {
|
87 |
-
position: fixed;
|
88 |
-
top: 0;
|
89 |
-
left: 0;
|
90 |
-
width: 100%;
|
91 |
-
height: 100%;
|
92 |
-
}
|
93 |
-
.ui-accordion .ui-accordion-header {
|
94 |
-
display: block;
|
95 |
-
cursor: pointer;
|
96 |
-
position: relative;
|
97 |
-
margin: 2px 0 0 0;
|
98 |
-
padding: .5em .5em .5em .7em;
|
99 |
-
font-size: 100%;
|
100 |
-
}
|
101 |
-
.ui-accordion .ui-accordion-content {
|
102 |
-
padding: 1em 2.2em;
|
103 |
-
border-top: 0;
|
104 |
-
overflow: auto;
|
105 |
-
}
|
106 |
-
.ui-autocomplete {
|
107 |
-
position: absolute;
|
108 |
-
top: 0;
|
109 |
-
left: 0;
|
110 |
-
cursor: default;
|
111 |
-
}
|
112 |
-
.ui-menu {
|
113 |
-
list-style: none;
|
114 |
-
padding: 0;
|
115 |
-
margin: 0;
|
116 |
-
display: block;
|
117 |
-
outline: 0;
|
118 |
-
}
|
119 |
-
.ui-menu .ui-menu {
|
120 |
-
position: absolute;
|
121 |
-
}
|
122 |
-
.ui-menu .ui-menu-item {
|
123 |
-
margin: 0;
|
124 |
-
cursor: pointer;
|
125 |
-
/* support: IE10, see #8844 */
|
126 |
-
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
|
127 |
-
}
|
128 |
-
.ui-menu .ui-menu-item-wrapper {
|
129 |
-
position: relative;
|
130 |
-
padding: 3px 1em 3px .4em;
|
131 |
-
}
|
132 |
-
.ui-menu .ui-menu-divider {
|
133 |
-
margin: 5px 0;
|
134 |
-
height: 0;
|
135 |
-
font-size: 0;
|
136 |
-
line-height: 0;
|
137 |
-
border-width: 1px 0 0 0;
|
138 |
-
}
|
139 |
-
.ui-menu .ui-state-focus,
|
140 |
-
.ui-menu .ui-state-active {
|
141 |
-
margin: -1px;
|
142 |
-
}
|
143 |
-
|
144 |
-
/* icon support */
|
145 |
-
.ui-menu-icons {
|
146 |
-
position: relative;
|
147 |
-
}
|
148 |
-
.ui-menu-icons .ui-menu-item-wrapper {
|
149 |
-
padding-left: 2em;
|
150 |
-
}
|
151 |
-
|
152 |
-
/* left-aligned */
|
153 |
-
.ui-menu .ui-icon {
|
154 |
-
position: absolute;
|
155 |
-
top: 0;
|
156 |
-
bottom: 0;
|
157 |
-
left: .2em;
|
158 |
-
margin: auto 0;
|
159 |
-
}
|
160 |
-
|
161 |
-
/* right-aligned */
|
162 |
-
.ui-menu .ui-menu-icon {
|
163 |
-
left: auto;
|
164 |
-
right: 0;
|
165 |
-
}
|
166 |
-
.ui-button {
|
167 |
-
padding: .4em 1em;
|
168 |
-
display: inline-block;
|
169 |
-
position: relative;
|
170 |
-
line-height: normal;
|
171 |
-
margin-right: .1em;
|
172 |
-
cursor: pointer;
|
173 |
-
vertical-align: middle;
|
174 |
-
text-align: center;
|
175 |
-
-webkit-user-select: none;
|
176 |
-
-moz-user-select: none;
|
177 |
-
-ms-user-select: none;
|
178 |
-
user-select: none;
|
179 |
-
|
180 |
-
/* Support: IE <= 11 */
|
181 |
-
overflow: visible;
|
182 |
-
}
|
183 |
-
|
184 |
-
.ui-button,
|
185 |
-
.ui-button:link,
|
186 |
-
.ui-button:visited,
|
187 |
-
.ui-button:hover,
|
188 |
-
.ui-button:active {
|
189 |
-
text-decoration: none;
|
190 |
-
}
|
191 |
-
|
192 |
-
/* to make room for the icon, a width needs to be set here */
|
193 |
-
.ui-button-icon-only {
|
194 |
-
width: 2em;
|
195 |
-
box-sizing: border-box;
|
196 |
-
text-indent: -9999px;
|
197 |
-
white-space: nowrap;
|
198 |
-
}
|
199 |
-
|
200 |
-
/* no icon support for input elements */
|
201 |
-
input.ui-button.ui-button-icon-only {
|
202 |
-
text-indent: 0;
|
203 |
-
}
|
204 |
-
|
205 |
-
/* button icon element(s) */
|
206 |
-
.ui-button-icon-only .ui-icon {
|
207 |
-
position: absolute;
|
208 |
-
top: 50%;
|
209 |
-
left: 50%;
|
210 |
-
margin-top: -8px;
|
211 |
-
margin-left: -8px;
|
212 |
-
}
|
213 |
-
|
214 |
-
.ui-button.ui-icon-notext .ui-icon {
|
215 |
-
padding: 0;
|
216 |
-
width: 2.1em;
|
217 |
-
height: 2.1em;
|
218 |
-
text-indent: -9999px;
|
219 |
-
white-space: nowrap;
|
220 |
-
|
221 |
-
}
|
222 |
-
|
223 |
-
input.ui-button.ui-icon-notext .ui-icon {
|
224 |
-
width: auto;
|
225 |
-
height: auto;
|
226 |
-
text-indent: 0;
|
227 |
-
white-space: normal;
|
228 |
-
padding: .4em 1em;
|
229 |
-
}
|
230 |
-
|
231 |
-
/* workarounds */
|
232 |
-
/* Support: Firefox 5 - 40 */
|
233 |
-
input.ui-button::-moz-focus-inner,
|
234 |
-
button.ui-button::-moz-focus-inner {
|
235 |
-
border: 0;
|
236 |
-
padding: 0;
|
237 |
-
}
|
238 |
-
.ui-controlgroup {
|
239 |
-
vertical-align: middle;
|
240 |
-
display: inline-block;
|
241 |
-
}
|
242 |
-
.ui-controlgroup > .ui-controlgroup-item {
|
243 |
-
float: left;
|
244 |
-
margin-left: 0;
|
245 |
-
margin-right: 0;
|
246 |
-
}
|
247 |
-
.ui-controlgroup > .ui-controlgroup-item:focus,
|
248 |
-
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
|
249 |
-
z-index: 9999;
|
250 |
-
}
|
251 |
-
.ui-controlgroup-vertical > .ui-controlgroup-item {
|
252 |
-
display: block;
|
253 |
-
float: none;
|
254 |
-
width: 100%;
|
255 |
-
margin-top: 0;
|
256 |
-
margin-bottom: 0;
|
257 |
-
text-align: left;
|
258 |
-
}
|
259 |
-
.ui-controlgroup-vertical .ui-controlgroup-item {
|
260 |
-
box-sizing: border-box;
|
261 |
-
}
|
262 |
-
.ui-controlgroup .ui-controlgroup-label {
|
263 |
-
padding: .4em 1em;
|
264 |
-
}
|
265 |
-
.ui-controlgroup .ui-controlgroup-label span {
|
266 |
-
font-size: 80%;
|
267 |
-
}
|
268 |
-
.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
|
269 |
-
border-left: none;
|
270 |
-
}
|
271 |
-
.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
|
272 |
-
border-top: none;
|
273 |
-
}
|
274 |
-
.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
|
275 |
-
border-right: none;
|
276 |
-
}
|
277 |
-
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
|
278 |
-
border-bottom: none;
|
279 |
-
}
|
280 |
-
|
281 |
-
/* Spinner specific style fixes */
|
282 |
-
.ui-controlgroup-vertical .ui-spinner-input {
|
283 |
-
|
284 |
-
/* Support: IE8 only, Android < 4.4 only */
|
285 |
-
width: 75%;
|
286 |
-
width: calc( 100% - 2.4em );
|
287 |
-
}
|
288 |
-
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
|
289 |
-
border-top-style: solid;
|
290 |
-
}
|
291 |
-
|
292 |
-
.ui-checkboxradio-label .ui-icon-background {
|
293 |
-
box-shadow: inset 1px 1px 1px #ccc;
|
294 |
-
border-radius: .12em;
|
295 |
-
border: none;
|
296 |
-
}
|
297 |
-
.ui-checkboxradio-radio-label .ui-icon-background {
|
298 |
-
width: 16px;
|
299 |
-
height: 16px;
|
300 |
-
border-radius: 1em;
|
301 |
-
overflow: visible;
|
302 |
-
border: none;
|
303 |
-
}
|
304 |
-
.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
|
305 |
-
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
|
306 |
-
background-image: none;
|
307 |
-
width: 8px;
|
308 |
-
height: 8px;
|
309 |
-
border-width: 4px;
|
310 |
-
border-style: solid;
|
311 |
-
}
|
312 |
-
.ui-checkboxradio-disabled {
|
313 |
-
pointer-events: none;
|
314 |
-
}
|
315 |
-
.ui-datepicker {
|
316 |
-
width: 17em;
|
317 |
-
padding: .2em .2em 0;
|
318 |
-
display: none;
|
319 |
-
}
|
320 |
-
.ui-datepicker .ui-datepicker-header {
|
321 |
-
position: relative;
|
322 |
-
padding: .2em 0;
|
323 |
-
}
|
324 |
-
.ui-datepicker .ui-datepicker-prev,
|
325 |
-
.ui-datepicker .ui-datepicker-next {
|
326 |
-
position: absolute;
|
327 |
-
top: 2px;
|
328 |
-
width: 1.8em;
|
329 |
-
height: 1.8em;
|
330 |
-
}
|
331 |
-
.ui-datepicker .ui-datepicker-prev-hover,
|
332 |
-
.ui-datepicker .ui-datepicker-next-hover {
|
333 |
-
top: 1px;
|
334 |
-
}
|
335 |
-
.ui-datepicker .ui-datepicker-prev {
|
336 |
-
left: 2px;
|
337 |
-
}
|
338 |
-
.ui-datepicker .ui-datepicker-next {
|
339 |
-
right: 2px;
|
340 |
-
}
|
341 |
-
.ui-datepicker .ui-datepicker-prev-hover {
|
342 |
-
left: 1px;
|
343 |
-
}
|
344 |
-
.ui-datepicker .ui-datepicker-next-hover {
|
345 |
-
right: 1px;
|
346 |
-
}
|
347 |
-
.ui-datepicker .ui-datepicker-prev span,
|
348 |
-
.ui-datepicker .ui-datepicker-next span {
|
349 |
-
display: block;
|
350 |
-
position: absolute;
|
351 |
-
left: 50%;
|
352 |
-
margin-left: -8px;
|
353 |
-
top: 50%;
|
354 |
-
margin-top: -8px;
|
355 |
-
}
|
356 |
-
.ui-datepicker .ui-datepicker-title {
|
357 |
-
margin: 0 2.3em;
|
358 |
-
line-height: 1.8em;
|
359 |
-
text-align: center;
|
360 |
-
}
|
361 |
-
.ui-datepicker .ui-datepicker-title select {
|
362 |
-
font-size: 1em;
|
363 |
-
margin: 1px 0;
|
364 |
-
}
|
365 |
-
.ui-datepicker select.ui-datepicker-month,
|
366 |
-
.ui-datepicker select.ui-datepicker-year {
|
367 |
-
width: 45%;
|
368 |
-
}
|
369 |
-
.ui-datepicker table {
|
370 |
-
width: 100%;
|
371 |
-
font-size: .9em;
|
372 |
-
border-collapse: collapse;
|
373 |
-
margin: 0 0 .4em;
|
374 |
-
}
|
375 |
-
.ui-datepicker th {
|
376 |
-
padding: .7em .3em;
|
377 |
-
text-align: center;
|
378 |
-
font-weight: bold;
|
379 |
-
border: 0;
|
380 |
-
}
|
381 |
-
.ui-datepicker td {
|
382 |
-
border: 0;
|
383 |
-
padding: 1px;
|
384 |
-
}
|
385 |
-
.ui-datepicker td span,
|
386 |
-
.ui-datepicker td a {
|
387 |
-
display: block;
|
388 |
-
padding: .2em;
|
389 |
-
text-align: right;
|
390 |
-
text-decoration: none;
|
391 |
-
}
|
392 |
-
.ui-datepicker .ui-datepicker-buttonpane {
|
393 |
-
background-image: none;
|
394 |
-
margin: .7em 0 0 0;
|
395 |
-
padding: 0 .2em;
|
396 |
-
border-left: 0;
|
397 |
-
border-right: 0;
|
398 |
-
border-bottom: 0;
|
399 |
-
}
|
400 |
-
.ui-datepicker .ui-datepicker-buttonpane button {
|
401 |
-
float: right;
|
402 |
-
margin: .5em .2em .4em;
|
403 |
-
cursor: pointer;
|
404 |
-
padding: .2em .6em .3em .6em;
|
405 |
-
width: auto;
|
406 |
-
overflow: visible;
|
407 |
-
}
|
408 |
-
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
|
409 |
-
float: left;
|
410 |
-
}
|
411 |
-
|
412 |
-
/* with multiple calendars */
|
413 |
-
.ui-datepicker.ui-datepicker-multi {
|
414 |
-
width: auto;
|
415 |
-
}
|
416 |
-
.ui-datepicker-multi .ui-datepicker-group {
|
417 |
-
float: left;
|
418 |
-
}
|
419 |
-
.ui-datepicker-multi .ui-datepicker-group table {
|
420 |
-
width: 95%;
|
421 |
-
margin: 0 auto .4em;
|
422 |
-
}
|
423 |
-
.ui-datepicker-multi-2 .ui-datepicker-group {
|
424 |
-
width: 50%;
|
425 |
-
}
|
426 |
-
.ui-datepicker-multi-3 .ui-datepicker-group {
|
427 |
-
width: 33.3%;
|
428 |
-
}
|
429 |
-
.ui-datepicker-multi-4 .ui-datepicker-group {
|
430 |
-
width: 25%;
|
431 |
-
}
|
432 |
-
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
|
433 |
-
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
|
434 |
-
border-left-width: 0;
|
435 |
-
}
|
436 |
-
.ui-datepicker-multi .ui-datepicker-buttonpane {
|
437 |
-
clear: left;
|
438 |
-
}
|
439 |
-
.ui-datepicker-row-break {
|
440 |
-
clear: both;
|
441 |
-
width: 100%;
|
442 |
-
font-size: 0;
|
443 |
-
}
|
444 |
-
|
445 |
-
/* RTL support */
|
446 |
-
.ui-datepicker-rtl {
|
447 |
-
direction: rtl;
|
448 |
-
}
|
449 |
-
.ui-datepicker-rtl .ui-datepicker-prev {
|
450 |
-
right: 2px;
|
451 |
-
left: auto;
|
452 |
-
}
|
453 |
-
.ui-datepicker-rtl .ui-datepicker-next {
|
454 |
-
left: 2px;
|
455 |
-
right: auto;
|
456 |
-
}
|
457 |
-
.ui-datepicker-rtl .ui-datepicker-prev:hover {
|
458 |
-
right: 1px;
|
459 |
-
left: auto;
|
460 |
-
}
|
461 |
-
.ui-datepicker-rtl .ui-datepicker-next:hover {
|
462 |
-
left: 1px;
|
463 |
-
right: auto;
|
464 |
-
}
|
465 |
-
.ui-datepicker-rtl .ui-datepicker-buttonpane {
|
466 |
-
clear: right;
|
467 |
-
}
|
468 |
-
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
|
469 |
-
float: left;
|
470 |
-
}
|
471 |
-
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
|
472 |
-
.ui-datepicker-rtl .ui-datepicker-group {
|
473 |
-
float: right;
|
474 |
-
}
|
475 |
-
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
|
476 |
-
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
|
477 |
-
border-right-width: 0;
|
478 |
-
border-left-width: 1px;
|
479 |
-
}
|
480 |
-
|
481 |
-
/* Icons */
|
482 |
-
.ui-datepicker .ui-icon {
|
483 |
-
display: block;
|
484 |
-
text-indent: -99999px;
|
485 |
-
overflow: hidden;
|
486 |
-
background-repeat: no-repeat;
|
487 |
-
left: .5em;
|
488 |
-
top: .3em;
|
489 |
-
}
|
490 |
-
.ui-dialog {
|
491 |
-
position: absolute;
|
492 |
-
top: 0;
|
493 |
-
left: 0;
|
494 |
-
padding: .2em;
|
495 |
-
outline: 0;
|
496 |
-
}
|
497 |
-
.ui-dialog .ui-dialog-titlebar {
|
498 |
-
padding: .4em 1em;
|
499 |
-
position: relative;
|
500 |
-
}
|
501 |
-
.ui-dialog .ui-dialog-title {
|
502 |
-
float: left;
|
503 |
-
margin: .1em 0;
|
504 |
-
white-space: nowrap;
|
505 |
-
width: 90%;
|
506 |
-
overflow: hidden;
|
507 |
-
text-overflow: ellipsis;
|
508 |
-
}
|
509 |
-
.ui-dialog .ui-dialog-titlebar-close {
|
510 |
-
position: absolute;
|
511 |
-
right: .3em;
|
512 |
-
top: 50%;
|
513 |
-
width: 20px;
|
514 |
-
margin: -10px 0 0 0;
|
515 |
-
padding: 1px;
|
516 |
-
height: 20px;
|
517 |
-
}
|
518 |
-
.ui-dialog .ui-dialog-content {
|
519 |
-
position: relative;
|
520 |
-
border: 0;
|
521 |
-
padding: .5em 1em;
|
522 |
-
background: none;
|
523 |
-
overflow: auto;
|
524 |
-
}
|
525 |
-
.ui-dialog .ui-dialog-buttonpane {
|
526 |
-
text-align: left;
|
527 |
-
border-width: 1px 0 0 0;
|
528 |
-
background-image: none;
|
529 |
-
margin-top: .5em;
|
530 |
-
padding: .3em 1em .5em .4em;
|
531 |
-
}
|
532 |
-
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
|
533 |
-
float: right;
|
534 |
-
}
|
535 |
-
.ui-dialog .ui-dialog-buttonpane button {
|
536 |
-
margin: .5em .4em .5em 0;
|
537 |
-
cursor: pointer;
|
538 |
-
}
|
539 |
-
.ui-dialog .ui-resizable-n {
|
540 |
-
height: 2px;
|
541 |
-
top: 0;
|
542 |
-
}
|
543 |
-
.ui-dialog .ui-resizable-e {
|
544 |
-
width: 2px;
|
545 |
-
right: 0;
|
546 |
-
}
|
547 |
-
.ui-dialog .ui-resizable-s {
|
548 |
-
height: 2px;
|
549 |
-
bottom: 0;
|
550 |
-
}
|
551 |
-
.ui-dialog .ui-resizable-w {
|
552 |
-
width: 2px;
|
553 |
-
left: 0;
|
554 |
-
}
|
555 |
-
.ui-dialog .ui-resizable-se,
|
556 |
-
.ui-dialog .ui-resizable-sw,
|
557 |
-
.ui-dialog .ui-resizable-ne,
|
558 |
-
.ui-dialog .ui-resizable-nw {
|
559 |
-
width: 7px;
|
560 |
-
height: 7px;
|
561 |
-
}
|
562 |
-
.ui-dialog .ui-resizable-se {
|
563 |
-
right: 0;
|
564 |
-
bottom: 0;
|
565 |
-
}
|
566 |
-
.ui-dialog .ui-resizable-sw {
|
567 |
-
left: 0;
|
568 |
-
bottom: 0;
|
569 |
-
}
|
570 |
-
.ui-dialog .ui-resizable-ne {
|
571 |
-
right: 0;
|
572 |
-
top: 0;
|
573 |
-
}
|
574 |
-
.ui-dialog .ui-resizable-nw {
|
575 |
-
left: 0;
|
576 |
-
top: 0;
|
577 |
-
}
|
578 |
-
.ui-draggable .ui-dialog-titlebar {
|
579 |
-
cursor: move;
|
580 |
-
}
|
581 |
-
.ui-draggable-handle {
|
582 |
-
-ms-touch-action: none;
|
583 |
-
touch-action: none;
|
584 |
-
}
|
585 |
-
.ui-resizable {
|
586 |
-
position: relative;
|
587 |
-
}
|
588 |
-
.ui-resizable-handle {
|
589 |
-
position: absolute;
|
590 |
-
font-size: 0.1px;
|
591 |
-
display: block;
|
592 |
-
-ms-touch-action: none;
|
593 |
-
touch-action: none;
|
594 |
-
}
|
595 |
-
.ui-resizable-disabled .ui-resizable-handle,
|
596 |
-
.ui-resizable-autohide .ui-resizable-handle {
|
597 |
-
display: none;
|
598 |
-
}
|
599 |
-
.ui-resizable-n {
|
600 |
-
cursor: n-resize;
|
601 |
-
height: 7px;
|
602 |
-
width: 100%;
|
603 |
-
top: -5px;
|
604 |
-
left: 0;
|
605 |
-
}
|
606 |
-
.ui-resizable-s {
|
607 |
-
cursor: s-resize;
|
608 |
-
height: 7px;
|
609 |
-
width: 100%;
|
610 |
-
bottom: -5px;
|
611 |
-
left: 0;
|
612 |
-
}
|
613 |
-
.ui-resizable-e {
|
614 |
-
cursor: e-resize;
|
615 |
-
width: 7px;
|
616 |
-
right: -5px;
|
617 |
-
top: 0;
|
618 |
-
height: 100%;
|
619 |
-
}
|
620 |
-
.ui-resizable-w {
|
621 |
-
cursor: w-resize;
|
622 |
-
width: 7px;
|
623 |
-
left: -5px;
|
624 |
-
top: 0;
|
625 |
-
height: 100%;
|
626 |
-
}
|
627 |
-
.ui-resizable-se {
|
628 |
-
cursor: se-resize;
|
629 |
-
width: 12px;
|
630 |
-
height: 12px;
|
631 |
-
right: 1px;
|
632 |
-
bottom: 1px;
|
633 |
-
}
|
634 |
-
.ui-resizable-sw {
|
635 |
-
cursor: sw-resize;
|
636 |
-
width: 9px;
|
637 |
-
height: 9px;
|
638 |
-
left: -5px;
|
639 |
-
bottom: -5px;
|
640 |
-
}
|
641 |
-
.ui-resizable-nw {
|
642 |
-
cursor: nw-resize;
|
643 |
-
width: 9px;
|
644 |
-
height: 9px;
|
645 |
-
left: -5px;
|
646 |
-
top: -5px;
|
647 |
-
}
|
648 |
-
.ui-resizable-ne {
|
649 |
-
cursor: ne-resize;
|
650 |
-
width: 9px;
|
651 |
-
height: 9px;
|
652 |
-
right: -5px;
|
653 |
-
top: -5px;
|
654 |
-
}
|
655 |
-
.ui-progressbar {
|
656 |
-
height: 2em;
|
657 |
-
text-align: left;
|
658 |
-
overflow: hidden;
|
659 |
-
}
|
660 |
-
.ui-progressbar .ui-progressbar-value {
|
661 |
-
margin: -1px;
|
662 |
-
height: 100%;
|
663 |
-
}
|
664 |
-
.ui-progressbar .ui-progressbar-overlay {
|
665 |
-
background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
|
666 |
-
height: 100%;
|
667 |
-
filter: alpha(opacity=25); /* support: IE8 */
|
668 |
-
opacity: 0.25;
|
669 |
-
}
|
670 |
-
.ui-progressbar-indeterminate .ui-progressbar-value {
|
671 |
-
background-image: none;
|
672 |
-
}
|
673 |
-
.ui-selectable {
|
674 |
-
-ms-touch-action: none;
|
675 |
-
touch-action: none;
|
676 |
-
}
|
677 |
-
.ui-selectable-helper {
|
678 |
-
position: absolute;
|
679 |
-
z-index: 100;
|
680 |
-
border: 1px dotted black;
|
681 |
-
}
|
682 |
-
.ui-selectmenu-menu {
|
683 |
-
padding: 0;
|
684 |
-
margin: 0;
|
685 |
-
position: absolute;
|
686 |
-
top: 0;
|
687 |
-
left: 0;
|
688 |
-
display: none;
|
689 |
-
}
|
690 |
-
.ui-selectmenu-menu .ui-menu {
|
691 |
-
overflow: auto;
|
692 |
-
overflow-x: hidden;
|
693 |
-
padding-bottom: 1px;
|
694 |
-
}
|
695 |
-
.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
|
696 |
-
font-size: 1em;
|
697 |
-
font-weight: bold;
|
698 |
-
line-height: 1.5;
|
699 |
-
padding: 2px 0.4em;
|
700 |
-
margin: 0.5em 0 0 0;
|
701 |
-
height: auto;
|
702 |
-
border: 0;
|
703 |
-
}
|
704 |
-
.ui-selectmenu-open {
|
705 |
-
display: block;
|
706 |
-
}
|
707 |
-
.ui-selectmenu-text {
|
708 |
-
display: block;
|
709 |
-
margin-right: 20px;
|
710 |
-
overflow: hidden;
|
711 |
-
text-overflow: ellipsis;
|
712 |
-
}
|
713 |
-
.ui-selectmenu-button.ui-button {
|
714 |
-
text-align: left;
|
715 |
-
white-space: nowrap;
|
716 |
-
width: 14em;
|
717 |
-
}
|
718 |
-
.ui-selectmenu-icon.ui-icon {
|
719 |
-
float: right;
|
720 |
-
margin-top: 0;
|
721 |
-
}
|
722 |
-
.ui-slider {
|
723 |
-
position: relative;
|
724 |
-
text-align: left;
|
725 |
-
}
|
726 |
-
.ui-slider .ui-slider-handle {
|
727 |
-
position: absolute;
|
728 |
-
z-index: 2;
|
729 |
-
width: 1.2em;
|
730 |
-
height: 1.2em;
|
731 |
-
cursor: default;
|
732 |
-
-ms-touch-action: none;
|
733 |
-
touch-action: none;
|
734 |
-
}
|
735 |
-
.ui-slider .ui-slider-range {
|
736 |
-
position: absolute;
|
737 |
-
z-index: 1;
|
738 |
-
font-size: .7em;
|
739 |
-
display: block;
|
740 |
-
border: 0;
|
741 |
-
background-position: 0 0;
|
742 |
-
}
|
743 |
-
|
744 |
-
/* support: IE8 - See #6727 */
|
745 |
-
.ui-slider.ui-state-disabled .ui-slider-handle,
|
746 |
-
.ui-slider.ui-state-disabled .ui-slider-range {
|
747 |
-
filter: inherit;
|
748 |
-
}
|
749 |
-
|
750 |
-
.ui-slider-horizontal {
|
751 |
-
height: .8em;
|
752 |
-
}
|
753 |
-
.ui-slider-horizontal .ui-slider-handle {
|
754 |
-
top: -.3em;
|
755 |
-
margin-left: -.6em;
|
756 |
-
}
|
757 |
-
.ui-slider-horizontal .ui-slider-range {
|
758 |
-
top: 0;
|
759 |
-
height: 100%;
|
760 |
-
}
|
761 |
-
.ui-slider-horizontal .ui-slider-range-min {
|
762 |
-
left: 0;
|
763 |
-
}
|
764 |
-
.ui-slider-horizontal .ui-slider-range-max {
|
765 |
-
right: 0;
|
766 |
-
}
|
767 |
-
|
768 |
-
.ui-slider-vertical {
|
769 |
-
width: .8em;
|
770 |
-
height: 100px;
|
771 |
-
}
|
772 |
-
.ui-slider-vertical .ui-slider-handle {
|
773 |
-
left: -.3em;
|
774 |
-
margin-left: 0;
|
775 |
-
margin-bottom: -.6em;
|
776 |
-
}
|
777 |
-
.ui-slider-vertical .ui-slider-range {
|
778 |
-
left: 0;
|
779 |
-
width: 100%;
|
780 |
-
}
|
781 |
-
.ui-slider-vertical .ui-slider-range-min {
|
782 |
-
bottom: 0;
|
783 |
-
}
|
784 |
-
.ui-slider-vertical .ui-slider-range-max {
|
785 |
-
top: 0;
|
786 |
-
}
|
787 |
-
.ui-sortable-handle {
|
788 |
-
-ms-touch-action: none;
|
789 |
-
touch-action: none;
|
790 |
-
}
|
791 |
-
.ui-spinner {
|
792 |
-
position: relative;
|
793 |
-
display: inline-block;
|
794 |
-
overflow: hidden;
|
795 |
-
padding: 0;
|
796 |
-
vertical-align: middle;
|
797 |
-
}
|
798 |
-
.ui-spinner-input {
|
799 |
-
border: none;
|
800 |
-
background: none;
|
801 |
-
color: inherit;
|
802 |
-
padding: .222em 0;
|
803 |
-
margin: .2em 0;
|
804 |
-
vertical-align: middle;
|
805 |
-
margin-left: .4em;
|
806 |
-
margin-right: 2em;
|
807 |
-
}
|
808 |
-
.ui-spinner-button {
|
809 |
-
width: 1.6em;
|
810 |
-
height: 50%;
|
811 |
-
font-size: .5em;
|
812 |
-
padding: 0;
|
813 |
-
margin: 0;
|
814 |
-
text-align: center;
|
815 |
-
position: absolute;
|
816 |
-
cursor: default;
|
817 |
-
display: block;
|
818 |
-
overflow: hidden;
|
819 |
-
right: 0;
|
820 |
-
}
|
821 |
-
/* more specificity required here to override default borders */
|
822 |
-
.ui-spinner a.ui-spinner-button {
|
823 |
-
border-top-style: none;
|
824 |
-
border-bottom-style: none;
|
825 |
-
border-right-style: none;
|
826 |
-
}
|
827 |
-
.ui-spinner-up {
|
828 |
-
top: 0;
|
829 |
-
}
|
830 |
-
.ui-spinner-down {
|
831 |
-
bottom: 0;
|
832 |
-
}
|
833 |
-
.ui-tabs {
|
834 |
-
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
835 |
-
padding: .2em;
|
836 |
-
}
|
837 |
-
.ui-tabs .ui-tabs-nav {
|
838 |
-
margin: 0;
|
839 |
-
padding: .2em .2em 0;
|
840 |
-
}
|
841 |
-
.ui-tabs .ui-tabs-nav li {
|
842 |
-
list-style: none;
|
843 |
-
float: left;
|
844 |
-
position: relative;
|
845 |
-
top: 0;
|
846 |
-
margin: 1px .2em 0 0;
|
847 |
-
border-bottom-width: 0;
|
848 |
-
padding: 0;
|
849 |
-
white-space: nowrap;
|
850 |
-
}
|
851 |
-
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
|
852 |
-
float: left;
|
853 |
-
padding: .5em 1em;
|
854 |
-
text-decoration: none;
|
855 |
-
}
|
856 |
-
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
|
857 |
-
margin-bottom: -1px;
|
858 |
-
padding-bottom: 1px;
|
859 |
-
}
|
860 |
-
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
|
861 |
-
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
|
862 |
-
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
|
863 |
-
cursor: text;
|
864 |
-
}
|
865 |
-
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
|
866 |
-
cursor: pointer;
|
867 |
-
}
|
868 |
-
.ui-tabs .ui-tabs-panel {
|
869 |
-
display: block;
|
870 |
-
border-width: 0;
|
871 |
-
padding: 1em 1.4em;
|
872 |
-
background: none;
|
873 |
-
}
|
874 |
-
.ui-tooltip {
|
875 |
-
padding: 8px;
|
876 |
-
position: absolute;
|
877 |
-
z-index: 9999;
|
878 |
-
max-width: 300px;
|
879 |
-
}
|
880 |
-
body .ui-tooltip {
|
881 |
-
border-width: 2px;
|
882 |
-
}
|
883 |
-
/* Component containers
|
884 |
-
----------------------------------*/
|
885 |
-
.ui-widget {
|
886 |
-
font-family: Arial,Helvetica,sans-serif;
|
887 |
-
font-size: 1em;
|
888 |
-
}
|
889 |
-
.ui-widget .ui-widget {
|
890 |
-
font-size: 1em;
|
891 |
-
}
|
892 |
-
.ui-widget input,
|
893 |
-
.ui-widget select,
|
894 |
-
.ui-widget textarea,
|
895 |
-
.ui-widget button {
|
896 |
-
font-family: Arial,Helvetica,sans-serif;
|
897 |
-
font-size: 1em;
|
898 |
-
}
|
899 |
-
.ui-widget.ui-widget-content {
|
900 |
-
border: 1px solid #c5c5c5;
|
901 |
-
}
|
902 |
-
.ui-widget-content {
|
903 |
-
border: 1px solid #dddddd;
|
904 |
-
background: #ffffff;
|
905 |
-
color: #333333;
|
906 |
-
}
|
907 |
-
.ui-widget-content a {
|
908 |
-
color: #333333;
|
909 |
-
}
|
910 |
-
.ui-widget-header {
|
911 |
-
border: 1px solid #dddddd;
|
912 |
-
background: #e9e9e9;
|
913 |
-
color: #333333;
|
914 |
-
font-weight: bold;
|
915 |
-
}
|
916 |
-
.ui-widget-header a {
|
917 |
-
color: #333333;
|
918 |
-
}
|
919 |
-
|
920 |
-
/* Interaction states
|
921 |
-
----------------------------------*/
|
922 |
-
.ui-state-default,
|
923 |
-
.ui-widget-content .ui-state-default,
|
924 |
-
.ui-widget-header .ui-state-default,
|
925 |
-
.ui-button,
|
926 |
-
|
927 |
-
/* We use html here because we need a greater specificity to make sure disabled
|
928 |
-
works properly when clicked or hovered */
|
929 |
-
html .ui-button.ui-state-disabled:hover,
|
930 |
-
html .ui-button.ui-state-disabled:active {
|
931 |
-
border: 1px solid #c5c5c5;
|
932 |
-
background: #f6f6f6;
|
933 |
-
font-weight: normal;
|
934 |
-
color: #454545;
|
935 |
-
}
|
936 |
-
.ui-state-default a,
|
937 |
-
.ui-state-default a:link,
|
938 |
-
.ui-state-default a:visited,
|
939 |
-
a.ui-button,
|
940 |
-
a:link.ui-button,
|
941 |
-
a:visited.ui-button,
|
942 |
-
.ui-button {
|
943 |
-
color: #454545;
|
944 |
-
text-decoration: none;
|
945 |
-
}
|
946 |
-
.ui-state-hover,
|
947 |
-
.ui-widget-content .ui-state-hover,
|
948 |
-
.ui-widget-header .ui-state-hover,
|
949 |
-
.ui-state-focus,
|
950 |
-
.ui-widget-content .ui-state-focus,
|
951 |
-
.ui-widget-header .ui-state-focus,
|
952 |
-
.ui-button:hover,
|
953 |
-
.ui-button:focus {
|
954 |
-
border: 1px solid #cccccc;
|
955 |
-
background: #ededed;
|
956 |
-
font-weight: normal;
|
957 |
-
color: #2b2b2b;
|
958 |
-
}
|
959 |
-
.ui-state-hover a,
|
960 |
-
.ui-state-hover a:hover,
|
961 |
-
.ui-state-hover a:link,
|
962 |
-
.ui-state-hover a:visited,
|
963 |
-
.ui-state-focus a,
|
964 |
-
.ui-state-focus a:hover,
|
965 |
-
.ui-state-focus a:link,
|
966 |
-
.ui-state-focus a:visited,
|
967 |
-
a.ui-button:hover,
|
968 |
-
a.ui-button:focus {
|
969 |
-
color: #2b2b2b;
|
970 |
-
text-decoration: none;
|
971 |
-
}
|
972 |
-
|
973 |
-
.ui-visual-focus {
|
974 |
-
box-shadow: 0 0 3px 1px rgb(94, 158, 214);
|
975 |
-
}
|
976 |
-
.ui-state-active,
|
977 |
-
.ui-widget-content .ui-state-active,
|
978 |
-
.ui-widget-header .ui-state-active,
|
979 |
-
a.ui-button:active,
|
980 |
-
.ui-button:active,
|
981 |
-
.ui-button.ui-state-active:hover {
|
982 |
-
border: 1px solid #003eff;
|
983 |
-
background: #007fff;
|
984 |
-
font-weight: normal;
|
985 |
-
color: #ffffff;
|
986 |
-
}
|
987 |
-
.ui-icon-background,
|
988 |
-
.ui-state-active .ui-icon-background {
|
989 |
-
border: #003eff;
|
990 |
-
background-color: #ffffff;
|
991 |
-
}
|
992 |
-
.ui-state-active a,
|
993 |
-
.ui-state-active a:link,
|
994 |
-
.ui-state-active a:visited {
|
995 |
-
color: #ffffff;
|
996 |
-
text-decoration: none;
|
997 |
-
}
|
998 |
-
|
999 |
-
/* Interaction Cues
|
1000 |
-
----------------------------------*/
|
1001 |
-
.ui-state-highlight,
|
1002 |
-
.ui-widget-content .ui-state-highlight,
|
1003 |
-
.ui-widget-header .ui-state-highlight {
|
1004 |
-
border: 1px solid #dad55e;
|
1005 |
-
background: #fffa90;
|
1006 |
-
color: #777620;
|
1007 |
-
}
|
1008 |
-
.ui-state-checked {
|
1009 |
-
border: 1px solid #dad55e;
|
1010 |
-
background: #fffa90;
|
1011 |
-
}
|
1012 |
-
.ui-state-highlight a,
|
1013 |
-
.ui-widget-content .ui-state-highlight a,
|
1014 |
-
.ui-widget-header .ui-state-highlight a {
|
1015 |
-
color: #777620;
|
1016 |
-
}
|
1017 |
-
.ui-state-error,
|
1018 |
-
.ui-widget-content .ui-state-error,
|
1019 |
-
.ui-widget-header .ui-state-error {
|
1020 |
-
border: 1px solid #f1a899;
|
1021 |
-
background: #fddfdf;
|
1022 |
-
color: #5f3f3f;
|
1023 |
-
}
|
1024 |
-
.ui-state-error a,
|
1025 |
-
.ui-widget-content .ui-state-error a,
|
1026 |
-
.ui-widget-header .ui-state-error a {
|
1027 |
-
color: #5f3f3f;
|
1028 |
-
}
|
1029 |
-
.ui-state-error-text,
|
1030 |
-
.ui-widget-content .ui-state-error-text,
|
1031 |
-
.ui-widget-header .ui-state-error-text {
|
1032 |
-
color: #5f3f3f;
|
1033 |
-
}
|
1034 |
-
.ui-priority-primary,
|
1035 |
-
.ui-widget-content .ui-priority-primary,
|
1036 |
-
.ui-widget-header .ui-priority-primary {
|
1037 |
-
font-weight: bold;
|
1038 |
-
}
|
1039 |
-
.ui-priority-secondary,
|
1040 |
-
.ui-widget-content .ui-priority-secondary,
|
1041 |
-
.ui-widget-header .ui-priority-secondary {
|
1042 |
-
opacity: .7;
|
1043 |
-
filter:Alpha(Opacity=70); /* support: IE8 */
|
1044 |
-
font-weight: normal;
|
1045 |
-
}
|
1046 |
-
.ui-state-disabled,
|
1047 |
-
.ui-widget-content .ui-state-disabled,
|
1048 |
-
.ui-widget-header .ui-state-disabled {
|
1049 |
-
opacity: .35;
|
1050 |
-
filter:Alpha(Opacity=35); /* support: IE8 */
|
1051 |
-
background-image: none;
|
1052 |
-
}
|
1053 |
-
.ui-state-disabled .ui-icon {
|
1054 |
-
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
|
1055 |
-
}
|
1056 |
-
|
1057 |
-
/* Icons
|
1058 |
-
----------------------------------*/
|
1059 |
-
|
1060 |
-
/* states and images */
|
1061 |
-
.ui-icon {
|
1062 |
-
width: 16px;
|
1063 |
-
height: 16px;
|
1064 |
-
}
|
1065 |
-
.ui-icon,
|
1066 |
-
.ui-widget-content .ui-icon {
|
1067 |
-
background-image: url("images/ui-icons_444444_256x240.png");
|
1068 |
-
}
|
1069 |
-
.ui-widget-header .ui-icon {
|
1070 |
-
background-image: url("images/ui-icons_444444_256x240.png");
|
1071 |
-
}
|
1072 |
-
.ui-state-hover .ui-icon,
|
1073 |
-
.ui-state-focus .ui-icon,
|
1074 |
-
.ui-button:hover .ui-icon,
|
1075 |
-
.ui-button:focus .ui-icon {
|
1076 |
-
background-image: url("images/ui-icons_555555_256x240.png");
|
1077 |
-
}
|
1078 |
-
.ui-state-active .ui-icon,
|
1079 |
-
.ui-button:active .ui-icon {
|
1080 |
-
background-image: url("images/ui-icons_ffffff_256x240.png");
|
1081 |
-
}
|
1082 |
-
.ui-state-highlight .ui-icon,
|
1083 |
-
.ui-button .ui-state-highlight.ui-icon {
|
1084 |
-
background-image: url("images/ui-icons_777620_256x240.png");
|
1085 |
-
}
|
1086 |
-
.ui-state-error .ui-icon,
|
1087 |
-
.ui-state-error-text .ui-icon {
|
1088 |
-
background-image: url("images/ui-icons_cc0000_256x240.png");
|
1089 |
-
}
|
1090 |
-
.ui-button .ui-icon {
|
1091 |
-
background-image: url("images/ui-icons_777777_256x240.png");
|
1092 |
-
}
|
1093 |
-
|
1094 |
-
/* positioning */
|
1095 |
-
.ui-icon-blank { background-position: 16px 16px; }
|
1096 |
-
.ui-icon-caret-1-n { background-position: 0 0; }
|
1097 |
-
.ui-icon-caret-1-ne { background-position: -16px 0; }
|
1098 |
-
.ui-icon-caret-1-e { background-position: -32px 0; }
|
1099 |
-
.ui-icon-caret-1-se { background-position: -48px 0; }
|
1100 |
-
.ui-icon-caret-1-s { background-position: -65px 0; }
|
1101 |
-
.ui-icon-caret-1-sw { background-position: -80px 0; }
|
1102 |
-
.ui-icon-caret-1-w { background-position: -96px 0; }
|
1103 |
-
.ui-icon-caret-1-nw { background-position: -112px 0; }
|
1104 |
-
.ui-icon-caret-2-n-s { background-position: -128px 0; }
|
1105 |
-
.ui-icon-caret-2-e-w { background-position: -144px 0; }
|
1106 |
-
.ui-icon-triangle-1-n { background-position: 0 -16px; }
|
1107 |
-
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
|
1108 |
-
.ui-icon-triangle-1-e { background-position: -32px -16px; }
|
1109 |
-
.ui-icon-triangle-1-se { background-position: -48px -16px; }
|
1110 |
-
.ui-icon-triangle-1-s { background-position: -65px -16px; }
|
1111 |
-
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
|
1112 |
-
.ui-icon-triangle-1-w { background-position: -96px -16px; }
|
1113 |
-
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
|
1114 |
-
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
|
1115 |
-
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
|
1116 |
-
.ui-icon-arrow-1-n { background-position: 0 -32px; }
|
1117 |
-
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
|
1118 |
-
.ui-icon-arrow-1-e { background-position: -32px -32px; }
|
1119 |
-
.ui-icon-arrow-1-se { background-position: -48px -32px; }
|
1120 |
-
.ui-icon-arrow-1-s { background-position: -65px -32px; }
|
1121 |
-
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
|
1122 |
-
.ui-icon-arrow-1-w { background-position: -96px -32px; }
|
1123 |
-
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
|
1124 |
-
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
|
1125 |
-
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
|
1126 |
-
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
|
1127 |
-
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
|
1128 |
-
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
|
1129 |
-
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
|
1130 |
-
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
|
1131 |
-
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
|
1132 |
-
.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
|
1133 |
-
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
|
1134 |
-
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
|
1135 |
-
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
|
1136 |
-
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
|
1137 |
-
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
|
1138 |
-
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
|
1139 |
-
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
|
1140 |
-
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
|
1141 |
-
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
|
1142 |
-
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
|
1143 |
-
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
|
1144 |
-
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
|
1145 |
-
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
|
1146 |
-
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
|
1147 |
-
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
|
1148 |
-
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
|
1149 |
-
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
|
1150 |
-
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
|
1151 |
-
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
|
1152 |
-
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
|
1153 |
-
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
|
1154 |
-
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
|
1155 |
-
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
|
1156 |
-
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
|
1157 |
-
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
|
1158 |
-
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
|
1159 |
-
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
|
1160 |
-
.ui-icon-arrow-4 { background-position: 0 -80px; }
|
1161 |
-
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
|
1162 |
-
.ui-icon-extlink { background-position: -32px -80px; }
|
1163 |
-
.ui-icon-newwin { background-position: -48px -80px; }
|
1164 |
-
.ui-icon-refresh { background-position: -64px -80px; }
|
1165 |
-
.ui-icon-shuffle { background-position: -80px -80px; }
|
1166 |
-
.ui-icon-transfer-e-w { background-position: -96px -80px; }
|
1167 |
-
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
|
1168 |
-
.ui-icon-folder-collapsed { background-position: 0 -96px; }
|
1169 |
-
.ui-icon-folder-open { background-position: -16px -96px; }
|
1170 |
-
.ui-icon-document { background-position: -32px -96px; }
|
1171 |
-
.ui-icon-document-b { background-position: -48px -96px; }
|
1172 |
-
.ui-icon-note { background-position: -64px -96px; }
|
1173 |
-
.ui-icon-mail-closed { background-position: -80px -96px; }
|
1174 |
-
.ui-icon-mail-open { background-position: -96px -96px; }
|
1175 |
-
.ui-icon-suitcase { background-position: -112px -96px; }
|
1176 |
-
.ui-icon-comment { background-position: -128px -96px; }
|
1177 |
-
.ui-icon-person { background-position: -144px -96px; }
|
1178 |
-
.ui-icon-print { background-position: -160px -96px; }
|
1179 |
-
.ui-icon-trash { background-position: -176px -96px; }
|
1180 |
-
.ui-icon-locked { background-position: -192px -96px; }
|
1181 |
-
.ui-icon-unlocked { background-position: -208px -96px; }
|
1182 |
-
.ui-icon-bookmark { background-position: -224px -96px; }
|
1183 |
-
.ui-icon-tag { background-position: -240px -96px; }
|
1184 |
-
.ui-icon-home { background-position: 0 -112px; }
|
1185 |
-
.ui-icon-flag { background-position: -16px -112px; }
|
1186 |
-
.ui-icon-calendar { background-position: -32px -112px; }
|
1187 |
-
.ui-icon-cart { background-position: -48px -112px; }
|
1188 |
-
.ui-icon-pencil { background-position: -64px -112px; }
|
1189 |
-
.ui-icon-clock { background-position: -80px -112px; }
|
1190 |
-
.ui-icon-disk { background-position: -96px -112px; }
|
1191 |
-
.ui-icon-calculator { background-position: -112px -112px; }
|
1192 |
-
.ui-icon-zoomin { background-position: -128px -112px; }
|
1193 |
-
.ui-icon-zoomout { background-position: -144px -112px; }
|
1194 |
-
.ui-icon-search { background-position: -160px -112px; }
|
1195 |
-
.ui-icon-wrench { background-position: -176px -112px; }
|
1196 |
-
.ui-icon-gear { background-position: -192px -112px; }
|
1197 |
-
.ui-icon-heart { background-position: -208px -112px; }
|
1198 |
-
.ui-icon-star { background-position: -224px -112px; }
|
1199 |
-
.ui-icon-link { background-position: -240px -112px; }
|
1200 |
-
.ui-icon-cancel { background-position: 0 -128px; }
|
1201 |
-
.ui-icon-plus { background-position: -16px -128px; }
|
1202 |
-
.ui-icon-plusthick { background-position: -32px -128px; }
|
1203 |
-
.ui-icon-minus { background-position: -48px -128px; }
|
1204 |
-
.ui-icon-minusthick { background-position: -64px -128px; }
|
1205 |
-
.ui-icon-close { background-position: -80px -128px; }
|
1206 |
-
.ui-icon-closethick { background-position: -96px -128px; }
|
1207 |
-
.ui-icon-key { background-position: -112px -128px; }
|
1208 |
-
.ui-icon-lightbulb { background-position: -128px -128px; }
|
1209 |
-
.ui-icon-scissors { background-position: -144px -128px; }
|
1210 |
-
.ui-icon-clipboard { background-position: -160px -128px; }
|
1211 |
-
.ui-icon-copy { background-position: -176px -128px; }
|
1212 |
-
.ui-icon-contact { background-position: -192px -128px; }
|
1213 |
-
.ui-icon-image { background-position: -208px -128px; }
|
1214 |
-
.ui-icon-video { background-position: -224px -128px; }
|
1215 |
-
.ui-icon-script { background-position: -240px -128px; }
|
1216 |
-
.ui-icon-alert { background-position: 0 -144px; }
|
1217 |
-
.ui-icon-info { background-position: -16px -144px; }
|
1218 |
-
.ui-icon-notice { background-position: -32px -144px; }
|
1219 |
-
.ui-icon-help { background-position: -48px -144px; }
|
1220 |
-
.ui-icon-check { background-position: -64px -144px; }
|
1221 |
-
.ui-icon-bullet { background-position: -80px -144px; }
|
1222 |
-
.ui-icon-radio-on { background-position: -96px -144px; }
|
1223 |
-
.ui-icon-radio-off { background-position: -112px -144px; }
|
1224 |
-
.ui-icon-pin-w { background-position: -128px -144px; }
|
1225 |
-
.ui-icon-pin-s { background-position: -144px -144px; }
|
1226 |
-
.ui-icon-play { background-position: 0 -160px; }
|
1227 |
-
.ui-icon-pause { background-position: -16px -160px; }
|
1228 |
-
.ui-icon-seek-next { background-position: -32px -160px; }
|
1229 |
-
.ui-icon-seek-prev { background-position: -48px -160px; }
|
1230 |
-
.ui-icon-seek-end { background-position: -64px -160px; }
|
1231 |
-
.ui-icon-seek-start { background-position: -80px -160px; }
|
1232 |
-
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
1233 |
-
.ui-icon-seek-first { background-position: -80px -160px; }
|
1234 |
-
.ui-icon-stop { background-position: -96px -160px; }
|
1235 |
-
.ui-icon-eject { background-position: -112px -160px; }
|
1236 |
-
.ui-icon-volume-off { background-position: -128px -160px; }
|
1237 |
-
.ui-icon-volume-on { background-position: -144px -160px; }
|
1238 |
-
.ui-icon-power { background-position: 0 -176px; }
|
1239 |
-
.ui-icon-signal-diag { background-position: -16px -176px; }
|
1240 |
-
.ui-icon-signal { background-position: -32px -176px; }
|
1241 |
-
.ui-icon-battery-0 { background-position: -48px -176px; }
|
1242 |
-
.ui-icon-battery-1 { background-position: -64px -176px; }
|
1243 |
-
.ui-icon-battery-2 { background-position: -80px -176px; }
|
1244 |
-
.ui-icon-battery-3 { background-position: -96px -176px; }
|
1245 |
-
.ui-icon-circle-plus { background-position: 0 -192px; }
|
1246 |
-
.ui-icon-circle-minus { background-position: -16px -192px; }
|
1247 |
-
.ui-icon-circle-close { background-position: -32px -192px; }
|
1248 |
-
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
|
1249 |
-
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
|
1250 |
-
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
|
1251 |
-
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
|
1252 |
-
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
|
1253 |
-
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
|
1254 |
-
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
|
1255 |
-
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
|
1256 |
-
.ui-icon-circle-zoomin { background-position: -176px -192px; }
|
1257 |
-
.ui-icon-circle-zoomout { background-position: -192px -192px; }
|
1258 |
-
.ui-icon-circle-check { background-position: -208px -192px; }
|
1259 |
-
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
|
1260 |
-
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
|
1261 |
-
.ui-icon-circlesmall-close { background-position: -32px -208px; }
|
1262 |
-
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
|
1263 |
-
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
|
1264 |
-
.ui-icon-squaresmall-close { background-position: -80px -208px; }
|
1265 |
-
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
|
1266 |
-
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
|
1267 |
-
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
1268 |
-
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
1269 |
-
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
1270 |
-
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
1271 |
-
|
1272 |
-
|
1273 |
-
/* Misc visuals
|
1274 |
-
----------------------------------*/
|
1275 |
-
|
1276 |
-
/* Corner radius */
|
1277 |
-
.ui-corner-all,
|
1278 |
-
.ui-corner-top,
|
1279 |
-
.ui-corner-left,
|
1280 |
-
.ui-corner-tl {
|
1281 |
-
border-top-left-radius: 3px;
|
1282 |
-
}
|
1283 |
-
.ui-corner-all,
|
1284 |
-
.ui-corner-top,
|
1285 |
-
.ui-corner-right,
|
1286 |
-
.ui-corner-tr {
|
1287 |
-
border-top-right-radius: 3px;
|
1288 |
-
}
|
1289 |
-
.ui-corner-all,
|
1290 |
-
.ui-corner-bottom,
|
1291 |
-
.ui-corner-left,
|
1292 |
-
.ui-corner-bl {
|
1293 |
-
border-bottom-left-radius: 3px;
|
1294 |
-
}
|
1295 |
-
.ui-corner-all,
|
1296 |
-
.ui-corner-bottom,
|
1297 |
-
.ui-corner-right,
|
1298 |
-
.ui-corner-br {
|
1299 |
-
border-bottom-right-radius: 3px;
|
1300 |
-
}
|
1301 |
-
|
1302 |
-
/* Overlays */
|
1303 |
-
.ui-widget-overlay {
|
1304 |
-
background: #aaaaaa;
|
1305 |
-
opacity: .3;
|
1306 |
-
filter: Alpha(Opacity=30); /* support: IE8 */
|
1307 |
-
}
|
1308 |
-
.ui-widget-shadow {
|
1309 |
-
-webkit-box-shadow: 0px 0px 5px #666666;
|
1310 |
-
box-shadow: 0px 0px 5px #666666;
|
1311 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/css/select2.min.css
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;height:1px !important;margin:-1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
|
|
v1/assets/css/style.css
DELETED
@@ -1,351 +0,0 @@
|
|
1 |
-
.row > div{
|
2 |
-
display: block !important;
|
3 |
-
}
|
4 |
-
.hide {
|
5 |
-
display: none !important;
|
6 |
-
}
|
7 |
-
|
8 |
-
.show {
|
9 |
-
display: block !important;
|
10 |
-
}
|
11 |
-
.checkbox_label{
|
12 |
-
margin-bottom: 0;
|
13 |
-
}
|
14 |
-
#category_list,
|
15 |
-
.apply_child_categories{
|
16 |
-
margin-top: 10px;
|
17 |
-
}
|
18 |
-
#form_cart_rule .invalid-field,
|
19 |
-
#form_price_rule .invalid-field{
|
20 |
-
border: 1px solid red;
|
21 |
-
}
|
22 |
-
#form_cart_rule .error,
|
23 |
-
#form_price_rule .error{
|
24 |
-
color: red;
|
25 |
-
display: inline-block;
|
26 |
-
padding: 0 5px;
|
27 |
-
}
|
28 |
-
.woo-discount-version {
|
29 |
-
font-size: 16px;
|
30 |
-
}
|
31 |
-
.license-success{
|
32 |
-
color: green;
|
33 |
-
}
|
34 |
-
#based_on_purchase_history_fields{
|
35 |
-
margin-top: 10px;
|
36 |
-
display: none;
|
37 |
-
}
|
38 |
-
.product_based_condition_cont button,
|
39 |
-
.product_based_condition_cont select,
|
40 |
-
.product_based_condition_cont input,
|
41 |
-
.product_based_condition_cont label{
|
42 |
-
margin: 10px 0;
|
43 |
-
}
|
44 |
-
.woo-support-in_pro{
|
45 |
-
font-style: italic;
|
46 |
-
color: #999;
|
47 |
-
}
|
48 |
-
.discount_product_option_list_con, .discount_product_option_more_cheapest_con, .discount_product_percent_con, .discount_category_option_list_con, .discount_product_option_bogo_con{
|
49 |
-
display: inline-block;
|
50 |
-
}
|
51 |
-
.rule_buttons_con{
|
52 |
-
margin-top: 15px;
|
53 |
-
}
|
54 |
-
.discount_rule_list, .cart_rules_list {
|
55 |
-
border-bottom: 1px solid #ddd;
|
56 |
-
margin-bottom: 20px;
|
57 |
-
}
|
58 |
-
.product_based_condition_product_from,
|
59 |
-
.product_based_condition_get_product_discount{
|
60 |
-
margin: 15px 0;
|
61 |
-
}
|
62 |
-
#product_list span.select2-container,
|
63 |
-
#product_exclude_list span.select2-container{
|
64 |
-
min-width: 250px ;
|
65 |
-
width: auto !important;
|
66 |
-
}
|
67 |
-
.coupons_to_apply_price_rule_con,
|
68 |
-
.dynamic_coupons_to_apply_price_rule_con{
|
69 |
-
margin: 10px 0;
|
70 |
-
}
|
71 |
-
.dynamic_coupons_to_apply_price_rule_con input{
|
72 |
-
max-width: 215px;
|
73 |
-
}
|
74 |
-
.woo-discount-hint{
|
75 |
-
font-size: 13px;
|
76 |
-
font-style: italic;
|
77 |
-
}
|
78 |
-
.coupons_to_apply, .subtotal_to_apply{
|
79 |
-
max-width: 250px;
|
80 |
-
}
|
81 |
-
.discount_product_option {
|
82 |
-
min-width: 350px;
|
83 |
-
}
|
84 |
-
.discount_rule_list input{
|
85 |
-
width: 95px;
|
86 |
-
}
|
87 |
-
.bootstrap-select > select.discount_product_option{
|
88 |
-
z-index: -1;
|
89 |
-
}
|
90 |
-
.discount_product_percent_con, .price_discount_product_list_con{
|
91 |
-
margin: 10px 0;
|
92 |
-
}
|
93 |
-
#product_attributes_list, #product_list, #cumulative_for_products_cont{
|
94 |
-
margin-top: 10px;
|
95 |
-
}
|
96 |
-
.discount_product_item_count_type {
|
97 |
-
width: 170px !important;
|
98 |
-
}
|
99 |
-
.wdr_hide{
|
100 |
-
display: none;
|
101 |
-
}
|
102 |
-
.woo_discount_rules_bulk_action_con{
|
103 |
-
margin-top: 10px;
|
104 |
-
}
|
105 |
-
.woo_discount_loader_outer{
|
106 |
-
position: relative;
|
107 |
-
}
|
108 |
-
.woo_discount_loader_outer .woo_discount_loader{
|
109 |
-
display: none;
|
110 |
-
position: absolute;
|
111 |
-
background-color: rgba(255,255,255,0.5);
|
112 |
-
top: 0;
|
113 |
-
left: 0;
|
114 |
-
width: 100%;
|
115 |
-
height: 100%;
|
116 |
-
text-align: center;
|
117 |
-
}
|
118 |
-
.woo_discount_loader .lds-ripple {
|
119 |
-
display: inline-block;
|
120 |
-
position: relative;
|
121 |
-
top: 50%;
|
122 |
-
width: 64px;
|
123 |
-
height: 64px;
|
124 |
-
}
|
125 |
-
.woo_discount_loader .lds-ripple div {
|
126 |
-
position: absolute;
|
127 |
-
border: 4px solid #257AF0;
|
128 |
-
opacity: 1;
|
129 |
-
border-radius: 50%;
|
130 |
-
animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
|
131 |
-
}
|
132 |
-
.woo_discount_loader .lds-ripple div:nth-child(2) {
|
133 |
-
animation-delay: -0.5s;
|
134 |
-
}
|
135 |
-
@keyframes lds-ripple {
|
136 |
-
0% {
|
137 |
-
top: 28px;
|
138 |
-
left: 28px;
|
139 |
-
width: 0;
|
140 |
-
height: 0;
|
141 |
-
opacity: 1;
|
142 |
-
}
|
143 |
-
100% {
|
144 |
-
top: -1px;
|
145 |
-
left: -1px;
|
146 |
-
width: 58px;
|
147 |
-
height: 58px;
|
148 |
-
opacity: 0;
|
149 |
-
}
|
150 |
-
}
|
151 |
-
.wdr_read_doc{
|
152 |
-
font-size: 12px;
|
153 |
-
}
|
154 |
-
.wdr_read_documentation_con{
|
155 |
-
border-bottom: 1px solid #eee;
|
156 |
-
margin-bottom: 10px;
|
157 |
-
}
|
158 |
-
.wdr_read_documentation_con p{
|
159 |
-
color: #aaa;
|
160 |
-
font-size: medium;
|
161 |
-
}
|
162 |
-
.wdr_current_date_and_time_string{
|
163 |
-
color: darkgray;
|
164 |
-
display: inline-block;
|
165 |
-
margin-top: 10px;
|
166 |
-
}
|
167 |
-
.message_on_apply_discount_textarea,.display_you_saved_text_value{
|
168 |
-
min-width: 500px;
|
169 |
-
max-width: 100%;
|
170 |
-
}
|
171 |
-
.wdr_desc_text{
|
172 |
-
color: darkgray;
|
173 |
-
display: inline-block;
|
174 |
-
font-size: 12px;
|
175 |
-
}
|
176 |
-
div.wdr_hide_important{
|
177 |
-
display: none !important;
|
178 |
-
}
|
179 |
-
.price_rule_display_format{
|
180 |
-
width: 100%;
|
181 |
-
min-height: 60px;
|
182 |
-
}
|
183 |
-
.cart_rules_guide_btn{
|
184 |
-
margin-bottom: 10px !important;
|
185 |
-
}
|
186 |
-
span.wdr_block_span{
|
187 |
-
display: block;
|
188 |
-
}
|
189 |
-
.wdr_status_active_text,.wdr_status_disabled_text {
|
190 |
-
display: inline-block;
|
191 |
-
padding: 5px !important;
|
192 |
-
margin-bottom: 0 !important;
|
193 |
-
}
|
194 |
-
.wdr_invalid{
|
195 |
-
border-color: red !important;
|
196 |
-
}
|
197 |
-
.small-text{
|
198 |
-
width: unset !important;
|
199 |
-
}
|
200 |
-
.customize_sale_tag_html_textarea,.customize_coupon_name_html_textarea{
|
201 |
-
width: 100%;
|
202 |
-
}
|
203 |
-
.coupons_selectbox_multi_select{
|
204 |
-
width: 500px;
|
205 |
-
}
|
206 |
-
.coupons_selectbox_multi_select_wdr{
|
207 |
-
min-width: 200px;
|
208 |
-
}
|
209 |
-
.select2-container{
|
210 |
-
min-width: 150px;
|
211 |
-
}
|
212 |
-
.price_rules_s_block_c{
|
213 |
-
margin-top: 25px;
|
214 |
-
}
|
215 |
-
form#discount_config .fade.show{
|
216 |
-
opacity: 1;
|
217 |
-
}
|
218 |
-
form#discount_config .tab-content {
|
219 |
-
display: block;
|
220 |
-
}
|
221 |
-
span.price_discount_amount_tool_tip{
|
222 |
-
display: inline-block;
|
223 |
-
}
|
224 |
-
.woo-side-button{
|
225 |
-
cursor: pointer;
|
226 |
-
}
|
227 |
-
.woo-side-panel p {
|
228 |
-
margin: 0 0 10px;
|
229 |
-
padding: 0;
|
230 |
-
}
|
231 |
-
.wdr_validation_notice{
|
232 |
-
display: none;
|
233 |
-
}
|
234 |
-
.show_promotion_message_fields_con{
|
235 |
-
margin-top: 15px;
|
236 |
-
}
|
237 |
-
#promotion_qty_from, #promotion_subtotal_from{
|
238 |
-
max-width: 100px;
|
239 |
-
}
|
240 |
-
.woo_discount_loader_outer input[type=checkbox]{
|
241 |
-
width: 1.5rem;
|
242 |
-
height: 1.5rem;
|
243 |
-
}
|
244 |
-
.woo_discount_loader_outerinput[type=checkbox]::before,
|
245 |
-
.woo_discount_loader_outer input[type=checkbox]:checked::before{
|
246 |
-
width: 1.7rem;
|
247 |
-
height: 1.7rem;
|
248 |
-
}
|
249 |
-
.woo_discount_loader_outer input[type=radio]{
|
250 |
-
width: 1.5rem;
|
251 |
-
height: 1.5rem;
|
252 |
-
}
|
253 |
-
.woo_discount_loader_outer input[type=radio]::before,
|
254 |
-
.woo_discount_loader_outer input[type=radio]:checked::before{
|
255 |
-
width: .9rem;
|
256 |
-
height: .9rem;
|
257 |
-
margin: .2rem;
|
258 |
-
}
|
259 |
-
select#price_rule_method{
|
260 |
-
max-width: 100%;
|
261 |
-
}
|
262 |
-
.discount_product_option_hint,
|
263 |
-
select.discount_product_option,
|
264 |
-
.bogo_receive_discount_for_text,
|
265 |
-
.hide_discount_product_item_count_type{
|
266 |
-
display: none;
|
267 |
-
}
|
268 |
-
.wdr_price_rule_listing_table_con{
|
269 |
-
padding: 0 15px;
|
270 |
-
}
|
271 |
-
.wdr_woo_discount_header_con.woocommerce-message {
|
272 |
-
display: block !important;
|
273 |
-
opacity: 1 !important;
|
274 |
-
}
|
275 |
-
|
276 |
-
/*Model Popup*/
|
277 |
-
.wdr_woo_discount_header_con .modal,
|
278 |
-
.wdr_woo_discount_header_con .modal-box {
|
279 |
-
z-index: 9999;
|
280 |
-
}
|
281 |
-
|
282 |
-
.wdr_woo_discount_header_con .modal-sandbox {
|
283 |
-
position: fixed;
|
284 |
-
width: 100%;
|
285 |
-
height: 100%;
|
286 |
-
top: 0;
|
287 |
-
left: 0;
|
288 |
-
background: transparent;
|
289 |
-
}
|
290 |
-
|
291 |
-
.wdr_woo_discount_header_con .modal {
|
292 |
-
display: none;
|
293 |
-
position: fixed;
|
294 |
-
width: 100%;
|
295 |
-
height: 100%;
|
296 |
-
left: 0;
|
297 |
-
top: 0;
|
298 |
-
background: rgb(0,0,0);
|
299 |
-
background: rgba(0,0,0,.8);
|
300 |
-
overflow: auto;
|
301 |
-
}
|
302 |
-
|
303 |
-
.wdr_woo_discount_header_con .modal-box {
|
304 |
-
position: relative;
|
305 |
-
width: 80%;
|
306 |
-
max-width: 920px;
|
307 |
-
margin: 100px auto;
|
308 |
-
animation-name: modalbox;
|
309 |
-
animation-duration: .4s;
|
310 |
-
animation-timing-function: cubic-bezier(0,0,.3,1.6);
|
311 |
-
}
|
312 |
-
|
313 |
-
.wdr_woo_discount_header_con .modal-header {
|
314 |
-
padding: 20px 40px;
|
315 |
-
background: #6495ed;
|
316 |
-
color: #ffffff;
|
317 |
-
}
|
318 |
-
|
319 |
-
.wdr_woo_discount_header_con .modal-body {
|
320 |
-
background: #ECEFF1;
|
321 |
-
padding: 50px 15px;
|
322 |
-
}
|
323 |
-
|
324 |
-
/* Close Button */
|
325 |
-
.wdr_woo_discount_header_con .close-modal {
|
326 |
-
text-align: right;
|
327 |
-
cursor: pointer;
|
328 |
-
}
|
329 |
-
|
330 |
-
/* Animation */
|
331 |
-
@-webkit-keyframes modalbox {
|
332 |
-
0% {
|
333 |
-
top: -250px;
|
334 |
-
opacity: 0;
|
335 |
-
}
|
336 |
-
100% {
|
337 |
-
top: 0;
|
338 |
-
opacity: 1;
|
339 |
-
}
|
340 |
-
}
|
341 |
-
|
342 |
-
@keyframes modalbox {
|
343 |
-
0% {
|
344 |
-
top: -250px;
|
345 |
-
opacity: 0;
|
346 |
-
}
|
347 |
-
100% {
|
348 |
-
top: 0;
|
349 |
-
opacity: 1;
|
350 |
-
}
|
351 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/css/tabbablePanel.css
DELETED
@@ -1,75 +0,0 @@
|
|
1 |
-
/* bhoechie tab */
|
2 |
-
div.bhoechie-tab-container {
|
3 |
-
z-index: 10;
|
4 |
-
background-color: #ffffff;
|
5 |
-
padding: 0 !important;
|
6 |
-
border-radius: 4px;
|
7 |
-
-moz-border-radius: 4px;
|
8 |
-
border: 1px solid #ddd;
|
9 |
-
-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
|
10 |
-
box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
|
11 |
-
-moz-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
|
12 |
-
background-clip: padding-box;
|
13 |
-
opacity: 0.97;
|
14 |
-
filter: alpha(opacity=97);
|
15 |
-
}
|
16 |
-
|
17 |
-
div.bhoechie-tab-menu {
|
18 |
-
padding-right: 0;
|
19 |
-
padding-left: 0;
|
20 |
-
padding-bottom: 0;
|
21 |
-
}
|
22 |
-
|
23 |
-
div.bhoechie-tab-menu div.list-group {
|
24 |
-
margin-bottom: 0;
|
25 |
-
}
|
26 |
-
|
27 |
-
div.bhoechie-tab-menu div.list-group > a {
|
28 |
-
margin-bottom: 0;
|
29 |
-
}
|
30 |
-
|
31 |
-
div.bhoechie-tab-menu div.list-group > a .glyphicon,
|
32 |
-
div.bhoechie-tab-menu div.list-group > a .fa {
|
33 |
-
color: #5A55A3;
|
34 |
-
}
|
35 |
-
|
36 |
-
div.bhoechie-tab-menu div.list-group > a:first-child {
|
37 |
-
border-top-right-radius: 0;
|
38 |
-
-moz-border-top-right-radius: 0;
|
39 |
-
}
|
40 |
-
|
41 |
-
div.bhoechie-tab-menu div.list-group > a:last-child {
|
42 |
-
border-bottom-right-radius: 0;
|
43 |
-
-moz-border-bottom-right-radius: 0;
|
44 |
-
}
|
45 |
-
|
46 |
-
div.bhoechie-tab-menu div.list-group > a.active,
|
47 |
-
div.bhoechie-tab-menu div.list-group > a.active .glyphicon,
|
48 |
-
div.bhoechie-tab-menu div.list-group > a.active .fa {
|
49 |
-
background-color: #5A55A3;
|
50 |
-
background-image: #5A55A3;
|
51 |
-
color: #ffffff;
|
52 |
-
}
|
53 |
-
|
54 |
-
div.bhoechie-tab-menu div.list-group > a.active:after {
|
55 |
-
content: '';
|
56 |
-
position: absolute;
|
57 |
-
left: 100%;
|
58 |
-
top: 50%;
|
59 |
-
margin-top: -13px;
|
60 |
-
border-left: 0;
|
61 |
-
border-bottom: 13px solid transparent;
|
62 |
-
border-top: 13px solid transparent;
|
63 |
-
border-left: 10px solid #5A55A3;
|
64 |
-
}
|
65 |
-
|
66 |
-
div.bhoechie-tab-content {
|
67 |
-
background-color: #ffffff;
|
68 |
-
/* border: 1px solid #eeeeee; */
|
69 |
-
padding-left: 20px;
|
70 |
-
padding-top: 10px;
|
71 |
-
}
|
72 |
-
|
73 |
-
div.bhoechie-tab div.bhoechie-tab-content:not(.active) {
|
74 |
-
display: none;
|
75 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/css/woo_discount_rules.css
DELETED
@@ -1,32 +0,0 @@
|
|
1 |
-
.wdr_you_saved_con {
|
2 |
-
color: green;
|
3 |
-
}
|
4 |
-
.wdr_order_discount-total{
|
5 |
-
margin: 10px 0;
|
6 |
-
}
|
7 |
-
.wdr_table_content_advance_item{
|
8 |
-
margin: 5px 0;
|
9 |
-
}
|
10 |
-
.wdr_table_container_for_admin{
|
11 |
-
position: relative;
|
12 |
-
}
|
13 |
-
.wdr_table_cbr:hover{
|
14 |
-
border: 1px solid #ddd;
|
15 |
-
}
|
16 |
-
.wdr_table_off_settings_link_con{
|
17 |
-
position: absolute;
|
18 |
-
top: 0;
|
19 |
-
right: 0;
|
20 |
-
display: none;
|
21 |
-
background-color: #ddd;
|
22 |
-
padding: 0 5px;
|
23 |
-
}
|
24 |
-
.wdr_table_off_settings_hint{
|
25 |
-
font-size: 12px;
|
26 |
-
}
|
27 |
-
.wdr_table_off_settings_hint{
|
28 |
-
display: block;
|
29 |
-
}
|
30 |
-
.wdr_checkout_promotion_messages_data{
|
31 |
-
display: none;
|
32 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/fonts/glyphicons-halflings-regular.eot
DELETED
Binary file
|
v1/assets/fonts/glyphicons-halflings-regular.svg
DELETED
@@ -1,288 +0,0 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
-
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
-
<metadata></metadata>
|
5 |
-
<defs>
|
6 |
-
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
7 |
-
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
8 |
-
<missing-glyph horiz-adv-x="500" />
|
9 |
-
<glyph horiz-adv-x="0" />
|
10 |
-
<glyph horiz-adv-x="400" />
|
11 |
-
<glyph unicode=" " />
|
12 |
-
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
|
13 |
-
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
|
14 |
-
<glyph unicode=" " />
|
15 |
-
<glyph unicode="¥" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
|
16 |
-
<glyph unicode=" " horiz-adv-x="650" />
|
17 |
-
<glyph unicode=" " horiz-adv-x="1300" />
|
18 |
-
<glyph unicode=" " horiz-adv-x="650" />
|
19 |
-
<glyph unicode=" " horiz-adv-x="1300" />
|
20 |
-
<glyph unicode=" " horiz-adv-x="433" />
|
21 |
-
<glyph unicode=" " horiz-adv-x="325" />
|
22 |
-
<glyph unicode=" " horiz-adv-x="216" />
|
23 |
-
<glyph unicode=" " horiz-adv-x="216" />
|
24 |
-
<glyph unicode=" " horiz-adv-x="162" />
|
25 |
-
<glyph unicode=" " horiz-adv-x="260" />
|
26 |
-
<glyph unicode=" " horiz-adv-x="72" />
|
27 |
-
<glyph unicode=" " horiz-adv-x="260" />
|
28 |
-
<glyph unicode=" " horiz-adv-x="325" />
|
29 |
-
<glyph unicode="€" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
|
30 |
-
<glyph unicode="₽" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
|
31 |
-
<glyph unicode="−" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
32 |
-
<glyph unicode="⌛" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
|
33 |
-
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
34 |
-
<glyph unicode="☁" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
|
35 |
-
<glyph unicode="⛺" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
|
36 |
-
<glyph unicode="✉" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
|
37 |
-
<glyph unicode="✏" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
|
38 |
-
<glyph unicode="" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
|
39 |
-
<glyph unicode="" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
|
40 |
-
<glyph unicode="" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
|
41 |
-
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
|
42 |
-
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
|
43 |
-
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
|
44 |
-
<glyph unicode="" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
|
45 |
-
<glyph unicode="" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
|
46 |
-
<glyph unicode="" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
47 |
-
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
|
48 |
-
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
49 |
-
<glyph unicode="" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
|
50 |
-
<glyph unicode="" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
|
51 |
-
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
|
52 |
-
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
53 |
-
<glyph unicode="" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
|
54 |
-
<glyph unicode="" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
|
55 |
-
<glyph unicode="" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
|
56 |
-
<glyph unicode="" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
|
57 |
-
<glyph unicode="" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
|
58 |
-
<glyph unicode="" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
|
59 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
|
60 |
-
<glyph unicode="" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
|
61 |
-
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
|
62 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
|
63 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
|
64 |
-
<glyph unicode="" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
|
65 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
66 |
-
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
|
67 |
-
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
|
68 |
-
<glyph unicode="" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
|
69 |
-
<glyph unicode="" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
|
70 |
-
<glyph unicode="" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
|
71 |
-
<glyph unicode="" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
|
72 |
-
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
|
73 |
-
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
|
74 |
-
<glyph unicode="" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
|
75 |
-
<glyph unicode="" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
|
76 |
-
<glyph unicode="" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
|
77 |
-
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
78 |
-
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
79 |
-
<glyph unicode="" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
|
80 |
-
<glyph unicode="" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
|
81 |
-
<glyph unicode="" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
|
82 |
-
<glyph unicode="" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
|
83 |
-
<glyph unicode="" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
|
84 |
-
<glyph unicode="" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
|
85 |
-
<glyph unicode="" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
|
86 |
-
<glyph unicode="" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
|
87 |
-
<glyph unicode="" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
|
88 |
-
<glyph unicode="" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
89 |
-
<glyph unicode="" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
90 |
-
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
91 |
-
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
92 |
-
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
93 |
-
<glyph unicode="" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
94 |
-
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
95 |
-
<glyph unicode="" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
|
96 |
-
<glyph unicode="" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
|
97 |
-
<glyph unicode="" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
|
98 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
|
99 |
-
<glyph unicode="" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
|
100 |
-
<glyph unicode="" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
|
101 |
-
<glyph unicode="" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
|
102 |
-
<glyph unicode="" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
|
103 |
-
<glyph unicode="" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
|
104 |
-
<glyph unicode="" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
105 |
-
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
106 |
-
<glyph unicode="" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
|
107 |
-
<glyph unicode="" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
|
108 |
-
<glyph unicode="" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
|
109 |
-
<glyph unicode="" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
|
110 |
-
<glyph unicode="" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
|
111 |
-
<glyph unicode="" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
|
112 |
-
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
|
113 |
-
<glyph unicode="" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
114 |
-
<glyph unicode="" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
|
115 |
-
<glyph unicode="" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
|
116 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
|
117 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
|
118 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
|
119 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
|
120 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
121 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
122 |
-
<glyph unicode="" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
|
123 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
|
124 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
|
125 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
|
126 |
-
<glyph unicode="" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
|
127 |
-
<glyph unicode="" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
|
128 |
-
<glyph unicode="" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
|
129 |
-
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
|
130 |
-
<glyph unicode="" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
|
131 |
-
<glyph unicode="" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
|
132 |
-
<glyph unicode="" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
|
133 |
-
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
134 |
-
<glyph unicode="" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
|
135 |
-
<glyph unicode="" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
|
136 |
-
<glyph unicode="" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
|
137 |
-
<glyph unicode="" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
138 |
-
<glyph unicode="" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
139 |
-
<glyph unicode="" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
|
140 |
-
<glyph unicode="" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
|
141 |
-
<glyph unicode="" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
|
142 |
-
<glyph unicode="" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
|
143 |
-
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
|
144 |
-
<glyph unicode="" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
|
145 |
-
<glyph unicode="" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
|
146 |
-
<glyph unicode="" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
|
147 |
-
<glyph unicode="" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
148 |
-
<glyph unicode="" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
|
149 |
-
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
|
150 |
-
<glyph unicode="" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
|
151 |
-
<glyph unicode="" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
152 |
-
<glyph unicode="" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
|
153 |
-
<glyph unicode="" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
|
154 |
-
<glyph unicode="" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
|
155 |
-
<glyph unicode="" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
|
156 |
-
<glyph unicode="" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
|
157 |
-
<glyph unicode="" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
|
158 |
-
<glyph unicode="" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
|
159 |
-
<glyph unicode="" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
|
160 |
-
<glyph unicode="" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
|
161 |
-
<glyph unicode="" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
162 |
-
<glyph unicode="" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
|
163 |
-
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
|
164 |
-
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
|
165 |
-
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
|
166 |
-
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
167 |
-
<glyph unicode="" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
|
168 |
-
<glyph unicode="" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
|
169 |
-
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
|
170 |
-
<glyph unicode="" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
|
171 |
-
<glyph unicode="" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
|
172 |
-
<glyph unicode="" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
|
173 |
-
<glyph unicode="" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
|
174 |
-
<glyph unicode="" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
|
175 |
-
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
|
176 |
-
<glyph unicode="" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
|
177 |
-
<glyph unicode="" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
|
178 |
-
<glyph unicode="" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
|
179 |
-
<glyph unicode="" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
|
180 |
-
<glyph unicode="" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
|
181 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
182 |
-
<glyph unicode="" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
|
183 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
|
184 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
|
185 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
|
186 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
|
187 |
-
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
|
188 |
-
<glyph unicode="" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
|
189 |
-
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
190 |
-
<glyph unicode="" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
|
191 |
-
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
|
192 |
-
<glyph unicode="" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
193 |
-
<glyph unicode="" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
|
194 |
-
<glyph unicode="" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
195 |
-
<glyph unicode="" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
|
196 |
-
<glyph unicode="" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
|
197 |
-
<glyph unicode="" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
198 |
-
<glyph unicode="" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
199 |
-
<glyph unicode="" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
|
200 |
-
<glyph unicode="" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
201 |
-
<glyph unicode="" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
202 |
-
<glyph unicode="" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
|
203 |
-
<glyph unicode="" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
|
204 |
-
<glyph unicode="" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
|
205 |
-
<glyph unicode="" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
|
206 |
-
<glyph unicode="" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
|
207 |
-
<glyph unicode="" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
|
208 |
-
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
|
209 |
-
<glyph unicode="" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
|
210 |
-
<glyph unicode="" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
|
211 |
-
<glyph unicode="" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
|
212 |
-
<glyph unicode="" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
|
213 |
-
<glyph unicode="" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
|
214 |
-
<glyph unicode="" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
|
215 |
-
<glyph unicode="" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
216 |
-
<glyph unicode="" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
|
217 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
218 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
219 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
|
220 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
|
221 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
|
222 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
|
223 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
|
224 |
-
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
|
225 |
-
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
|
226 |
-
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
|
227 |
-
<glyph unicode="" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
|
228 |
-
<glyph unicode="" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
|
229 |
-
<glyph unicode="" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
|
230 |
-
<glyph unicode="" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
|
231 |
-
<glyph unicode="" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
|
232 |
-
<glyph unicode="" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
|
233 |
-
<glyph unicode="" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
|
234 |
-
<glyph unicode="" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
|
235 |
-
<glyph unicode="" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
|
236 |
-
<glyph unicode="" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
|
237 |
-
<glyph unicode="" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
|
238 |
-
<glyph unicode="" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
239 |
-
<glyph unicode="" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
240 |
-
<glyph unicode="" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
241 |
-
<glyph unicode="" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
242 |
-
<glyph unicode="" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
243 |
-
<glyph unicode="" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
244 |
-
<glyph unicode="" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
|
245 |
-
<glyph unicode="" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
|
246 |
-
<glyph unicode="" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
|
247 |
-
<glyph unicode="" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
|
248 |
-
<glyph unicode="" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
|
249 |
-
<glyph unicode="" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
|
250 |
-
<glyph unicode="" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
|
251 |
-
<glyph unicode="" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
|
252 |
-
<glyph unicode="" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
|
253 |
-
<glyph unicode="" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
|
254 |
-
<glyph unicode="" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
255 |
-
<glyph unicode="" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
256 |
-
<glyph unicode="" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
|
257 |
-
<glyph unicode="" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
258 |
-
<glyph unicode="" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
259 |
-
<glyph unicode="" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
260 |
-
<glyph unicode="" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
|
261 |
-
<glyph unicode="" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
|
262 |
-
<glyph unicode="" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
|
263 |
-
<glyph unicode="" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
|
264 |
-
<glyph unicode="" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
|
265 |
-
<glyph unicode="" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
|
266 |
-
<glyph unicode="" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
|
267 |
-
<glyph unicode="" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
|
268 |
-
<glyph unicode="" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
|
269 |
-
<glyph unicode="" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
|
270 |
-
<glyph unicode="" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
271 |
-
<glyph unicode="" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
|
272 |
-
<glyph unicode="" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
273 |
-
<glyph unicode="" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
|
274 |
-
<glyph unicode="" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
|
275 |
-
<glyph unicode="" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
|
276 |
-
<glyph unicode="" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
|
277 |
-
<glyph unicode="" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
|
278 |
-
<glyph unicode="" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
|
279 |
-
<glyph unicode="" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
|
280 |
-
<glyph unicode="" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
|
281 |
-
<glyph unicode="" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
|
282 |
-
<glyph unicode="" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
|
283 |
-
<glyph unicode="" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
|
284 |
-
<glyph unicode="" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
|
285 |
-
<glyph unicode="🔑" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
|
286 |
-
<glyph unicode="🚪" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
|
287 |
-
</font>
|
288 |
-
</defs></svg>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/fonts/glyphicons-halflings-regular.ttf
DELETED
Binary file
|
v1/assets/fonts/glyphicons-halflings-regular.woff
DELETED
Binary file
|
v1/assets/fonts/glyphicons-halflings-regular.woff2
DELETED
Binary file
|
v1/assets/js/app.js
DELETED
@@ -1,1656 +0,0 @@
|
|
1 |
-
//jQuery.noConflict();
|
2 |
-
function validateFields(){
|
3 |
-
var returnValue = false;
|
4 |
-
(function ($) {
|
5 |
-
var rule_order = $('#rule_order');
|
6 |
-
if(rule_order.val() != ''){
|
7 |
-
rule_order.removeClass('invalid-field');
|
8 |
-
rule_order.next('.error').remove();
|
9 |
-
returnValue = true;
|
10 |
-
} else {
|
11 |
-
$('a.general_tab').trigger('click');
|
12 |
-
rule_order.addClass('invalid-field');
|
13 |
-
rule_order.next('.error').remove();
|
14 |
-
rule_order.after('<span class="error">'+woo_discount_localization.please_fill_this_field+'</span>');
|
15 |
-
returnValue = false;
|
16 |
-
}
|
17 |
-
|
18 |
-
})(jQuery);
|
19 |
-
return returnValue;
|
20 |
-
}
|
21 |
-
|
22 |
-
function validateWDRBOGOFields(){
|
23 |
-
var returnValue = true;
|
24 |
-
var discount_rule_range = jQuery('#discount_rule_list .discount_rule_list');
|
25 |
-
var wdr_invalid_tags = discount_rule_range.find('.wdr_invalid');
|
26 |
-
jQuery.each( wdr_invalid_tags, function( key, container ) {
|
27 |
-
jQuery(container).removeClass('wdr_invalid');
|
28 |
-
});
|
29 |
-
|
30 |
-
var price_rule_method = jQuery('select#price_rule_method').val();
|
31 |
-
if(price_rule_method == 'qty_based'){
|
32 |
-
jQuery.each( discount_rule_range, function( key, container ) {
|
33 |
-
var price_discount_type = jQuery(container).find('select.price_discount_type');
|
34 |
-
if(jQuery.inArray(price_discount_type.val(), ['product_discount', 'buy_x_get_x', 'buy_x_get_y', 'more_than_one_cheapest', 'more_than_one_cheapest_from_cat', 'more_than_one_cheapest_from_all']) !== -1){
|
35 |
-
var discount_product_option = jQuery(container).find('select.discount_product_option');
|
36 |
-
if(jQuery.inArray(discount_product_option.val(), ['all', 'same_product']) !== -1){
|
37 |
-
var discount_bogo_qty = jQuery(container).find('input.discount_bogo_qty');
|
38 |
-
if(discount_bogo_qty.val() == '' || discount_bogo_qty.val() == null){
|
39 |
-
discount_bogo_qty.addClass('wdr_invalid');
|
40 |
-
returnValue = false;
|
41 |
-
} else {
|
42 |
-
discount_bogo_qty.removeClass('wdr_invalid');
|
43 |
-
}
|
44 |
-
}
|
45 |
-
if(jQuery.inArray(discount_product_option.val(), ['more_than_one_cheapest_from_all', 'more_than_one_cheapest', 'more_than_one_cheapest_from_cat']) !== -1){
|
46 |
-
var discount_product_qty = jQuery(container).find('input.discount_product_qty');
|
47 |
-
if(discount_product_qty.val() == '' || discount_product_qty.val() == null){
|
48 |
-
discount_product_qty.addClass('wdr_invalid');
|
49 |
-
returnValue = false;
|
50 |
-
} else {
|
51 |
-
discount_product_qty.removeClass('wdr_invalid');
|
52 |
-
}
|
53 |
-
var discount_product_item_count_type = jQuery(container).find('select.discount_product_item_count_type');
|
54 |
-
if(discount_product_item_count_type.val() == 'static'){
|
55 |
-
var discount_product_items_count_field = jQuery(container).find('input.discount_product_items_count_field');
|
56 |
-
if(discount_product_items_count_field.val() == '' || discount_product_items_count_field.val() == null){
|
57 |
-
discount_product_items_count_field.addClass('wdr_invalid');
|
58 |
-
returnValue = false;
|
59 |
-
} else {
|
60 |
-
discount_product_items_count_field.removeClass('wdr_invalid');
|
61 |
-
}
|
62 |
-
}
|
63 |
-
}
|
64 |
-
if(jQuery.inArray(discount_product_option.val(), ['more_than_one_cheapest_from_cat']) !== -1){
|
65 |
-
var category_list = jQuery(container).find('select.category_list');
|
66 |
-
if(category_list.val() == '' || category_list.val() == null){
|
67 |
-
jQuery(container).find('.bootstrap-select.category_list > button').addClass('wdr_invalid');
|
68 |
-
returnValue = false;
|
69 |
-
} else {
|
70 |
-
jQuery(container).find('.bootstrap-select.category_list > button').removeClass('wdr_invalid');
|
71 |
-
}
|
72 |
-
}
|
73 |
-
//discount_category_option_list_con
|
74 |
-
if(parseInt(jQuery('#flycart_wdr_woocommerce_version').val()) > 2){
|
75 |
-
if(jQuery.inArray(discount_product_option.val(), ['all', 'any_cheapest', 'more_than_one_cheapest']) !== -1){
|
76 |
-
var product_field = jQuery(container).find('select.wc-product-search');
|
77 |
-
if(product_field.val() == '' || product_field.val() == null){
|
78 |
-
jQuery(container).find('.select2-selection').addClass('wdr_invalid');
|
79 |
-
returnValue = false;
|
80 |
-
} else {
|
81 |
-
jQuery(container).find('.select2-selection').removeClass('wdr_invalid');
|
82 |
-
}
|
83 |
-
}
|
84 |
-
}
|
85 |
-
|
86 |
-
var discount_product_discount_type = jQuery(container).find('select.discount_product_discount_type');
|
87 |
-
if(discount_product_discount_type.val() == 'limited_percent'){
|
88 |
-
var discount_product_percent_field = jQuery(container).find('input.discount_product_percent_field');
|
89 |
-
if(discount_product_percent_field.val() == '' || discount_product_percent_field.val() == null){
|
90 |
-
discount_product_percent_field.addClass('wdr_invalid');
|
91 |
-
returnValue = false;
|
92 |
-
} else {
|
93 |
-
discount_product_percent_field.removeClass('wdr_invalid');
|
94 |
-
}
|
95 |
-
}
|
96 |
-
} else if(jQuery.inArray(price_discount_type.val(), ['percentage_discount', 'price_discount', 'fixed_price', 'set_discount']) !== -1){
|
97 |
-
var price_discount_amount = jQuery(container).find('input.price_discount_amount');
|
98 |
-
if(price_discount_amount.val() == '' || price_discount_amount.val() == null){
|
99 |
-
price_discount_amount.addClass('wdr_invalid');
|
100 |
-
returnValue = false;
|
101 |
-
} else {
|
102 |
-
price_discount_amount.removeClass('wdr_invalid');
|
103 |
-
}
|
104 |
-
}
|
105 |
-
var discount_range_min_qty = jQuery(container).find('input.discount_range_min_qty');
|
106 |
-
if(discount_range_min_qty.val() == '' || discount_range_min_qty.val() == null){
|
107 |
-
discount_range_min_qty.addClass('wdr_invalid');
|
108 |
-
returnValue = false;
|
109 |
-
} else {
|
110 |
-
discount_range_min_qty.removeClass('wdr_invalid');
|
111 |
-
}
|
112 |
-
if(price_discount_type.val() != 'set_discount'){
|
113 |
-
var discount_range_max_qty = jQuery(container).find('input.discount_range_max_qty');
|
114 |
-
if(discount_range_max_qty.val() == '' || discount_range_max_qty.val() == null){
|
115 |
-
discount_range_max_qty.addClass('wdr_invalid');
|
116 |
-
returnValue = false;
|
117 |
-
} else {
|
118 |
-
discount_range_max_qty.removeClass('wdr_invalid');
|
119 |
-
}
|
120 |
-
}
|
121 |
-
});
|
122 |
-
}
|
123 |
-
if(returnValue == false){
|
124 |
-
discount_rule_range.find('.wdr_invalid').first().focus();
|
125 |
-
jQuery('a.discount_tab').trigger('click');
|
126 |
-
}
|
127 |
-
|
128 |
-
return returnValue;
|
129 |
-
}
|
130 |
-
|
131 |
-
function trigger_woocommerce_tooltip(){
|
132 |
-
jQuery( '.tips, .help_tip, .woocommerce-help-tip' ).tipTip( {
|
133 |
-
'attribute': 'data-tip',
|
134 |
-
'fadeIn': 50,
|
135 |
-
'fadeOut': 50,
|
136 |
-
'delay': 200
|
137 |
-
} );
|
138 |
-
}
|
139 |
-
|
140 |
-
function wooo_discount_range_altered() {
|
141 |
-
var result = { 'has_set_discount': false, 'has_range_discount': false, 'has_fixed_price': false };
|
142 |
-
var discount_types = jQuery('#discount_rule_list').find("select.price_discount_type");
|
143 |
-
jQuery.each(discount_types, function( key, current_val ) {
|
144 |
-
var adjustment_type = jQuery(current_val).val();
|
145 |
-
if(adjustment_type == 'set_discount'){
|
146 |
-
result.has_set_discount = true;
|
147 |
-
} else if(adjustment_type == 'fixed_price'){
|
148 |
-
result.has_fixed_price = true;
|
149 |
-
result.has_range_discount = true;
|
150 |
-
} else {
|
151 |
-
result.has_range_discount = true;
|
152 |
-
}
|
153 |
-
});
|
154 |
-
return result;
|
155 |
-
}
|
156 |
-
(function ($) {
|
157 |
-
jQuery(document).ready(function () {
|
158 |
-
// Tooltips
|
159 |
-
trigger_woocommerce_tooltip();
|
160 |
-
|
161 |
-
var ajax_url = $('#ajax_path').val();
|
162 |
-
var admin_url = $('#admin_path').val();
|
163 |
-
var pro_suffix = $('#pro_suffix').val();
|
164 |
-
var is_pro = $('#is_pro').val();
|
165 |
-
// $(".datepicker").datepicker();
|
166 |
-
$(".wdr_datepicker").datetimepicker({
|
167 |
-
//format: "dd MM yyyy - hh:ii",
|
168 |
-
format: "mm/dd/yyyy hh:ii",
|
169 |
-
autoclose: true,
|
170 |
-
todayBtn: true,
|
171 |
-
pickerPosition: "top-right"
|
172 |
-
});
|
173 |
-
|
174 |
-
//--------------------------------------------------------------------------------------------------------------
|
175 |
-
//--------------------------------------------PRICING RULES-----------------------------------------------------
|
176 |
-
//--------------------------------------------------------------------------------------------------------------
|
177 |
-
|
178 |
-
// Manage Customer Selection ON-LOAD
|
179 |
-
var user_selection = $('#apply_customer').val();
|
180 |
-
if (user_selection == 'only_given') {
|
181 |
-
$('#user_list').css('display', 'block');
|
182 |
-
} else {
|
183 |
-
$('#user_list').css('display', 'none');
|
184 |
-
}
|
185 |
-
|
186 |
-
// Saving Rule.
|
187 |
-
$('#savePriceRule').on('click', function (event) {
|
188 |
-
$(".form-control").removeClass('wdr_invalid');
|
189 |
-
var validate = validateFields();
|
190 |
-
$(".wdr_validation_notice").hide();
|
191 |
-
if ($('#rule_name').val() == '') {
|
192 |
-
jQuery('a.general_tab').trigger('click');
|
193 |
-
alert(woo_discount_localization.please_enter_the_rule_name);
|
194 |
-
return false;
|
195 |
-
}
|
196 |
-
|
197 |
-
var validate_bogo = validateWDRBOGOFields();
|
198 |
-
|
199 |
-
if(validate == false || validate_bogo == false){
|
200 |
-
return false;
|
201 |
-
}
|
202 |
-
var form = $('#form_price_rule').serialize();
|
203 |
-
var current = $(this);
|
204 |
-
var rule_id = $('#rule_id').val();
|
205 |
-
var loader = $('.woo_discount_loader_outer > .woo_discount_loader');
|
206 |
-
event.preventDefault();
|
207 |
-
if ($('#rule_name').val() == '') {
|
208 |
-
jQuery('a.general_tab').trigger('click');
|
209 |
-
alert(woo_discount_localization.please_enter_the_rule_name);
|
210 |
-
} else {
|
211 |
-
current.val(woo_discount_localization.saving);
|
212 |
-
$.ajax({
|
213 |
-
url: ajax_url,
|
214 |
-
type: 'POST',
|
215 |
-
data: {action: 'savePriceRule', data: form},
|
216 |
-
beforeSend: function() {
|
217 |
-
loader.show();
|
218 |
-
},
|
219 |
-
complete: function() {
|
220 |
-
loader.hide();
|
221 |
-
},
|
222 |
-
success: function (result) {
|
223 |
-
var result = jQuery.parseJSON( result );
|
224 |
-
// After Status Changed.
|
225 |
-
resizeChart = setTimeout(function () {
|
226 |
-
current.val(woo_discount_localization.save_rule);
|
227 |
-
}, 300);
|
228 |
-
if(result.status == 1){
|
229 |
-
// Reset, if its New Form.
|
230 |
-
if (rule_id == 0) {
|
231 |
-
$('#form_price_rule')[0].reset();
|
232 |
-
window.location.replace(admin_url);
|
233 |
-
}
|
234 |
-
adminNotice();
|
235 |
-
} else {
|
236 |
-
//woo_discount_rule_error_notice(result.message);
|
237 |
-
if(result.invalid_field != undefined){
|
238 |
-
if(result.invalid_field == "dynamic_coupons_to_apply"){
|
239 |
-
$("input[name='dynamic_coupons_to_apply']").addClass('wdr_invalid');
|
240 |
-
$("a.restriction_tab").trigger('click');
|
241 |
-
$("div.dynamic_coupons_to_apply_validation").html("<p>"+result.error_message+"</p>").show();
|
242 |
-
}
|
243 |
-
}
|
244 |
-
}
|
245 |
-
if(result.dynamic_coupons_to_apply != undefined){
|
246 |
-
$("input[name='dynamic_coupons_to_apply']").val(result.dynamic_coupons_to_apply);
|
247 |
-
}
|
248 |
-
}
|
249 |
-
|
250 |
-
});
|
251 |
-
}
|
252 |
-
});
|
253 |
-
|
254 |
-
// License key check
|
255 |
-
$('#woo-disc-license-check').on('click', function (event) {
|
256 |
-
var license_key = $('#woo-disc-license-key');
|
257 |
-
var resp_msg = $('#woo-disc-license-check-msg');
|
258 |
-
if(license_key.val() == ''){
|
259 |
-
license_key.addClass('invalid-field');
|
260 |
-
resp_msg.html('<div class="notice-message error inline notice-error notice-alt">'+woo_discount_localization.please_enter_a_key+'</div>');
|
261 |
-
return false;
|
262 |
-
}else{
|
263 |
-
license_key.removeClass('invalid-field');
|
264 |
-
resp_msg.html('');
|
265 |
-
}
|
266 |
-
|
267 |
-
var form = $('#discount_config').serialize();
|
268 |
-
var current = $(this);
|
269 |
-
|
270 |
-
event.preventDefault();
|
271 |
-
|
272 |
-
current.removeClass('button-primary');
|
273 |
-
current.addClass('button-secondary');
|
274 |
-
current.val(woo_discount_localization.saving);
|
275 |
-
$('.license-success, .license-failed').hide();
|
276 |
-
var license_chk_req = $.ajax({
|
277 |
-
url: ajax_url,
|
278 |
-
type: 'POST',
|
279 |
-
data: {action: 'forceValidateLicenseKey', data: form},
|
280 |
-
success: function () {
|
281 |
-
resizeChart = setTimeout(function () {
|
282 |
-
current.addClass('button-primary');
|
283 |
-
current.removeClass('button-secondary');
|
284 |
-
current.val('Validate');
|
285 |
-
}, 300);
|
286 |
-
|
287 |
-
//adminNotice();
|
288 |
-
// display a success message
|
289 |
-
}
|
290 |
-
});
|
291 |
-
license_chk_req.done(function( resp ) {
|
292 |
-
|
293 |
-
response = JSON.parse(resp);
|
294 |
-
if (response['error']) {
|
295 |
-
resp_msg.html('<div class="notice-message error inline notice-error notice-alt">'+response['error']+'</div>');
|
296 |
-
} else if( response['success']){
|
297 |
-
resp_msg.html('<div class="notice-message success inline notice-success notice-alt">'+response['success']+'</div>');
|
298 |
-
}
|
299 |
-
|
300 |
-
});
|
301 |
-
});
|
302 |
-
|
303 |
-
//To add an duplicate range fields
|
304 |
-
$(document).on('click', '.create_duplicate_discount_range', function () {
|
305 |
-
//$(".create_duplicate_discount_range").on('click', function () {
|
306 |
-
var data_id = $(this).attr('data-id');
|
307 |
-
$('#addNewDiscountRange').trigger('click');
|
308 |
-
var new_inputs = $("#discount_rule_list .discount_rule_list:last-child").find('input,select');
|
309 |
-
$.each( new_inputs, function( key, new_input ) {
|
310 |
-
var field_name = $(new_input).attr('name');
|
311 |
-
if(field_name != undefined){
|
312 |
-
var field_name_second_part = field_name.replace("discount_range[", "");
|
313 |
-
var field_name_second_part_split = field_name_second_part.split(']');
|
314 |
-
var field_name_id = field_name_second_part_split['0'];
|
315 |
-
var field_name_to_duplicate = field_name.replace("discount_range["+field_name_id+"]", "discount_range["+data_id+"]");
|
316 |
-
$("input[name='"+field_name+"']").val($("input[name='"+field_name_to_duplicate+"']").val());
|
317 |
-
if($("select[name='"+field_name+"']").hasClass('wc-product-search')){
|
318 |
-
$("select[name='"+field_name+"']").html($("select[name='"+field_name_to_duplicate+"']").html())
|
319 |
-
}
|
320 |
-
$("select[name='"+field_name+"']").val($("select[name='"+field_name_to_duplicate+"']").val());
|
321 |
-
}
|
322 |
-
});
|
323 |
-
$("#discount_rule_list .discount_rule_list:last-child select").trigger('change');
|
324 |
-
$('.product_list,.selectpicker').selectpicker('refresh');
|
325 |
-
$('.wc-product-search').trigger( 'wc-enhanced-select-init' );
|
326 |
-
$('select.discount_product_discount_type').trigger('change');
|
327 |
-
// Tooltips
|
328 |
-
trigger_woocommerce_tooltip();
|
329 |
-
});
|
330 |
-
|
331 |
-
// Adding New Discount Range.
|
332 |
-
$('#addNewDiscountRange').on('click', function () {
|
333 |
-
var count = $('.discount_rule_list').length + 1;
|
334 |
-
if (is_pro) {
|
335 |
-
var discount_types = wooo_discount_range_altered();
|
336 |
-
var discount_type_set_discount_selected = ''
|
337 |
-
if(discount_types.has_set_discount == true){
|
338 |
-
discount_type_set_discount_selected = ' selected="selected" '
|
339 |
-
}
|
340 |
-
var form = '<div class="discount_rule_list"> <div class="form-group"><label><span class="discount_for_min_quantity_text">'+woo_discount_localization.min_quantity+'</span> <input type="text" name="discount_range[' + count + '][min_qty]" class="form-control discount_range_min_qty" value="" placeholder="'+woo_discount_localization.place_holder_ex_1+'"></label>' +
|
341 |
-
'<label class="discount_for_max_quantity_label">'+woo_discount_localization.max_quantity+' <input type="text" name="discount_range[' + count + '][max_qty]" class="form-control discount_range_max_qty" value="" placeholder="'+woo_discount_localization.place_holder_ex_50+'"> </label> <label>'+woo_discount_localization.adjustment_type+'<select class="form-control price_discount_type" name="discount_range[' + count + '][discount_type]"> ' +
|
342 |
-
'<option value="percentage_discount"> '+woo_discount_localization.percentage_discount_in_adjustment_type+' </option> <option value="price_discount">'+woo_discount_localization.price_discount+' </option> <option value="fixed_price">'+woo_discount_localization.fixed_price+' </option> <option value="set_discount" '+discount_type_set_discount_selected+'>'+woo_discount_localization.set_discount+' </option> ' +
|
343 |
-
'<option value="buy_x_get_x">'+woo_discount_localization.buy_x_get_x+' </option> ' +
|
344 |
-
'<option value="buy_x_get_y">'+woo_discount_localization.buy_x_get_y+' </option> ' +
|
345 |
-
'<option value="more_than_one_cheapest">'+woo_discount_localization.more_than_one_cheapest_from_selected+' </option> ' +
|
346 |
-
'<option value="more_than_one_cheapest_from_cat">'+woo_discount_localization.more_than_one_cheapest_from_selected_category+' </option> ' +
|
347 |
-
'<option value="more_than_one_cheapest_from_all">'+woo_discount_localization.more_than_one_cheapest_from_all+' </option> ' +
|
348 |
-
'</select></label> ' +
|
349 |
-
'<label><span class="price_discount_amount price_discount_amount_tool_tip_con">\n' +
|
350 |
-
'</span></label>' +
|
351 |
-
'<label><span class="hide-for-product-discount">'+woo_discount_localization.value_text+'</span>' +
|
352 |
-
'<input type="text" name="discount_range[' + count + '][to_discount]" class="form-control price_discount_amount" value="" placeholder="'+woo_discount_localization.place_holder_ex_50+'"> ';
|
353 |
-
form += '<div class="price_discount_product_list_con hide">' +
|
354 |
-
'<span class="bogo_receive_discount_for_text"> '+woo_discount_localization.apply_for+' </span><select class="discount_product_option" name="discount_range['+count+'][discount_product_option]"><option value="all">'+woo_discount_localization.all_selected+'</option><option value="same_product">'+woo_discount_localization.same_product+'</option>' +
|
355 |
-
'<option value="more_than_one_cheapest_from_cat">'+woo_discount_localization.more_than_one_cheapest_from_selected_category+'</option><option value="more_than_one_cheapest">'+woo_discount_localization.more_than_one_cheapest_from_selected+'</option><option value="more_than_one_cheapest_from_all">'+woo_discount_localization.more_than_one_cheapest_from_all+'</option>' +
|
356 |
-
'</select>';
|
357 |
-
form += ' <span class="woocommerce-help-tip discount_product_option_hint" data-tip="'+woo_discount_localization.discount_product_option_tooltip+'"></span>';
|
358 |
-
form += '<div class="discount_product_option_bogo_con">';
|
359 |
-
form += ' <label> '+woo_discount_localization.free_quantity+' <span class="woocommerce-help-tip" data-tip="'+woo_discount_localization.number_of_quantities_in_each_products+'"></span> <input type="text" name="discount_range['+count+'][discount_bogo_qty]" class="form-control discount_bogo_qty" value="" placeholder="'+woo_discount_localization.place_holder_ex_1+'" /></label>';
|
360 |
-
form += '</div>';
|
361 |
-
form += '<div class="discount_product_option_more_cheapest_con hide">';
|
362 |
-
var discount_product_item_count_type_class = ' selectpicker';
|
363 |
-
var discount_product_item_count_type_hint_class = '';
|
364 |
-
if(woo_discount_localization.enable_fixed_item_count_in_bogo == false){
|
365 |
-
discount_product_item_count_type_hint_class = discount_product_item_count_type_class = ' hide_discount_product_item_count_type';
|
366 |
-
}
|
367 |
-
form += ' <select class="discount_product_item_count_type'+discount_product_item_count_type_class+'" name="discount_range['+count+'][discount_product_item_type]">';
|
368 |
-
form += '<option value="dynamic">'+woo_discount_localization.dynamic_item_count+'</option>';
|
369 |
-
form += '<option value="static">'+woo_discount_localization.fixed_item_count+'</option>';
|
370 |
-
form += '</select>';
|
371 |
-
form += ' <span class="woocommerce-help-tip'+discount_product_item_count_type_hint_class+'" data-tip="'+woo_discount_localization.fixed_item_count_tooltip+'"></span>';
|
372 |
-
form += ' <label class="discount_product_items_count_field hide"> '+woo_discount_localization.item_count+' <span class="woocommerce-help-tip" data-tip="'+woo_discount_localization.discount_number_of_item_tooltip+'"></span><input type="text" name="discount_range['+count+'][discount_product_items]" class="form-control discount_product_items_count_field hide" value="" placeholder="'+woo_discount_localization.place_holder_ex_1+'" /></label>';
|
373 |
-
form += ' <label> '+woo_discount_localization.item_quantity+' <span class="woocommerce-help-tip" data-tip="'+woo_discount_localization.discount_number_of_each_item_tooltip+'"></span><input type="text" name="discount_range['+count+'][discount_product_qty]" class="form-control discount_product_qty" value="" placeholder="'+woo_discount_localization.place_holder_ex_1+'" /></label>';
|
374 |
-
form += '</div>';
|
375 |
-
form += '<div class="discount_product_option_list_con">';
|
376 |
-
form += '<label> <span class="wdr_block_span">'+woo_discount_localization.choose_products+'</span>';
|
377 |
-
if($('#flycart_wdr_woocommerce_version').val() == 2){
|
378 |
-
form += ' <input type="hidden" class="wc-product-search" style="min-width: 250px" data-multiple="true" name="discount_range[' + count + '][discount_product][]" data-placeholder="'+woo_discount_localization.place_holder_search_for_products+'" data-action="woocommerce_json_search_products_and_variations" data-selected=""/>';
|
379 |
-
} else {
|
380 |
-
form += ' <select class="wc-product-search" multiple="multiple" style="min-width: 250px" name="discount_range[' + count + '][discount_product][]" data-placeholder="'+woo_discount_localization.place_holder_search_for_products+'" data-action="woocommerce_json_search_products_and_variations"></select>'
|
381 |
-
}
|
382 |
-
form += '</label>';
|
383 |
-
form += '</div>';
|
384 |
-
form += '<div class="discount_category_option_list_con hide">';
|
385 |
-
form += '<label> <span class="wdr_block_span">'+woo_discount_localization.choose_categories+'</span>';
|
386 |
-
form += ' <select class="category_list selectpicker" multiple title="'+woo_discount_localization.none_selected+'" name="discount_range[' + count + '][discount_category][]">';
|
387 |
-
$("#category_list select.category_list option").each(function()
|
388 |
-
{
|
389 |
-
form += '<option value="'+$(this).val()+'">'+$(this).html()+'</option>';
|
390 |
-
});
|
391 |
-
form += '</select>';
|
392 |
-
form += '</label>';
|
393 |
-
form += '</div>';
|
394 |
-
form += '<div class="discount_product_percent_con">';
|
395 |
-
form += ' <label> <span class="wdr_block_span">'+woo_discount_localization.percentage_discount+'</span> <select class="selectpicker discount_product_discount_type" name="discount_range['+ count +'][discount_product_discount_type]"><option value="">'+woo_discount_localization.percent_100+'</option><option value="limited_percent">'+woo_discount_localization.limited_percent+'</option></select></label>';
|
396 |
-
form += '<span class="discount_product_percent_field"> <input type="text" name="discount_range['+count+'][discount_product_percent]" class="discount_product_percent_field" value="" placeholder="'+woo_discount_localization.place_holder_ex_10+'" /> <span class="woocommerce-help-tip" data-tip="'+woo_discount_localization.percentage_tooltip+'"></span></span> ';
|
397 |
-
form += '</div>';
|
398 |
-
form += '</div>';
|
399 |
-
form += '</label> ';
|
400 |
-
form += '<label><a href="javascript:void(0)" data-id="'+count+'" class="btn btn-primary form-control create_duplicate_discount_range">'+woo_discount_localization.duplicate_text+'</a></label> ' +
|
401 |
-
'<label><a href=javascript:void(0) class="btn btn-danger form-control remove_discount_range">'+woo_discount_localization.remove_text+'</a></label> </div> </div>';
|
402 |
-
} else {
|
403 |
-
var form = '<div class="discount_rule_list"> <div class="form-group"><label><span class="discount_for_min_quantity_text">'+woo_discount_localization.min_quantity+'</span> <input type="text" name="discount_range[' + count + '][min_qty]" class="form-control discount_range_min_qty" value="" placeholder="'+woo_discount_localization.place_holder_ex_1+'"></label>' +
|
404 |
-
'<label class="discount_for_max_quantity_label">'+woo_discount_localization.max_quantity+' <input type="text" name="discount_range[' + count + '][max_qty]" class="form-control discount_range_max_qty" value="" placeholder="'+woo_discount_localization.place_holder_ex_50+'"> </label> <label>'+woo_discount_localization.adjustment_type+'<select class="form-control price_discount_type" name="discount_range[' + count + '][discount_type]"> ' +
|
405 |
-
'<option value="percentage_discount"> '+woo_discount_localization.percentage_discount_in_adjustment_type+' </option> <option disabled>'+woo_discount_localization.price_discount+' <b>' + pro_suffix + '</b> </option> <option disabled>'+woo_discount_localization.fixed_price+' <b>' + pro_suffix + '</b> </option> <option disabled>'+woo_discount_localization.set_discount+' <b>' + pro_suffix + '</b> </option> ' +
|
406 |
-
'<option disabled>'+woo_discount_localization.buy_x_get_x+' <b>' + pro_suffix + '</b> </option> ' +
|
407 |
-
'<option disabled>'+woo_discount_localization.buy_x_get_y+' <b>' + pro_suffix + '</b> </option> ' +
|
408 |
-
'<option disabled>'+woo_discount_localization.more_than_one_cheapest_from_selected+' <b>' + pro_suffix + '</b> </option> ' +
|
409 |
-
'<option disabled>'+woo_discount_localization.more_than_one_cheapest_from_selected_category+' <b>' + pro_suffix + '</b> </option> ' +
|
410 |
-
'<option disabled>'+woo_discount_localization.more_than_one_cheapest_from_all+' <b>' + pro_suffix + '</b> </option> ' +
|
411 |
-
'</select></label>' +
|
412 |
-
'<label><span class="price_discount_amount price_discount_amount_tool_tip_con">\n' +
|
413 |
-
'</span></label>' +
|
414 |
-
'<label>'+woo_discount_localization.value_text+' ' +
|
415 |
-
'<input type="text" name="discount_range[' + count + '][to_discount]" class="form-control price_discount_amount" value="" placeholder="'+woo_discount_localization.place_holder_ex_50+'"> ';
|
416 |
-
form += '<div class="price_discount_product_list_con hide"><select class="product_list selectpicker price_discount_product_list" multiple title="'+woo_discount_localization.none_selected+'" name="discount_range[' + count + '][discount_product][]">';
|
417 |
-
form += '<option>'+woo_discount_localization.none_text+'</option>';
|
418 |
-
form += '</select></div>';
|
419 |
-
form += '</label> ';
|
420 |
-
form += ' <label><a href=javascript:void(0) data-id="'+count+'" class="btn btn-primary form-control create_duplicate_discount_range">'+woo_discount_localization.duplicate_text+'</a> </label> ' +
|
421 |
-
'<label><a href=javascript:void(0) class="btn btn-danger form-control remove_discount_range">'+woo_discount_localization.remove_text+'</a> </label></div> </div>';
|
422 |
-
}
|
423 |
-
$('#discount_rule_list').append(form);
|
424 |
-
$('.product_list,.selectpicker').selectpicker('refresh');
|
425 |
-
$('.wc-product-search').trigger( 'wc-enhanced-select-init' );
|
426 |
-
$('select.discount_product_discount_type').trigger('change');
|
427 |
-
$('select.price_discount_type').trigger('change');
|
428 |
-
// Tooltips
|
429 |
-
trigger_woocommerce_tooltip();
|
430 |
-
});
|
431 |
-
|
432 |
-
// Removing Discount Rule.
|
433 |
-
$(document).on('click', '.remove_discount_range', function () {
|
434 |
-
var confirm_delete = confirm(woo_discount_localization.are_you_sure_to_remove_this);
|
435 |
-
if (confirm_delete) {
|
436 |
-
$(this).closest('.discount_rule_list').remove();
|
437 |
-
}
|
438 |
-
});
|
439 |
-
|
440 |
-
// Enabling and Disabling the Status of the Rule.
|
441 |
-
$('.manage_status').on('click', function (event) {
|
442 |
-
event.preventDefault();
|
443 |
-
var current = $(this);
|
444 |
-
var id = $(this).attr('id');
|
445 |
-
var wdr_nonce = $('input[name="wdr_nonce"]').val();
|
446 |
-
id = id.replace('state_', '');
|
447 |
-
$.ajax({
|
448 |
-
url: ajax_url,
|
449 |
-
type: 'POST',
|
450 |
-
dataType: "json",
|
451 |
-
data: {action: 'UpdateStatus', id: id, from: 'pricing-rules', wdr_nonce: wdr_nonce},
|
452 |
-
success: function (response) {
|
453 |
-
// After Status Changed.
|
454 |
-
if (response.status == 'Disable') {
|
455 |
-
current.removeClass('btn-success');
|
456 |
-
current.addClass('btn-warning');
|
457 |
-
current.html(woo_discount_localization.enable_text);
|
458 |
-
} else if (response.status == 'Publish') {
|
459 |
-
current.addClass('btn-success');
|
460 |
-
current.removeClass('btn-warning');
|
461 |
-
current.html(woo_discount_localization.disable_text);
|
462 |
-
}
|
463 |
-
if (response.status_html != '') {
|
464 |
-
$("#status_in_text_"+id).html(response.status_html);
|
465 |
-
}
|
466 |
-
}
|
467 |
-
|
468 |
-
});
|
469 |
-
});
|
470 |
-
|
471 |
-
// Remove Rule.
|
472 |
-
$('.delete_rule').on('click', function (event) {
|
473 |
-
event.preventDefault();
|
474 |
-
var current = $(this);
|
475 |
-
var id = $(this).attr('id');
|
476 |
-
var wdr_nonce = $('input[name="wdr_nonce"]').val();
|
477 |
-
id = id.replace('delete_', '');
|
478 |
-
var confirm_delete = confirm(woo_discount_localization.are_you_sure_to_remove);
|
479 |
-
if (confirm_delete) {
|
480 |
-
$.ajax({
|
481 |
-
url: ajax_url,
|
482 |
-
type: 'POST',
|
483 |
-
data: {action: 'RemoveRule', id: id, from: 'pricing-rules', wdr_nonce: wdr_nonce},
|
484 |
-
success: function () {
|
485 |
-
// After Removed.
|
486 |
-
current.closest('tr').remove();
|
487 |
-
location.reload(true);
|
488 |
-
}
|
489 |
-
});
|
490 |
-
}
|
491 |
-
});
|
492 |
-
|
493 |
-
$('#restriction_block').hide();
|
494 |
-
$('#discount_block').hide();
|
495 |
-
|
496 |
-
$('.general_tab').on('click', function () {
|
497 |
-
$('#general_block').show();
|
498 |
-
$('#restriction_block').hide();
|
499 |
-
$('#discount_block').hide();
|
500 |
-
makeActiveForSelectedTab($("a.general_tab"));
|
501 |
-
});
|
502 |
-
$('.restriction_tab').on('click', function () {
|
503 |
-
if(validateFields() == true){
|
504 |
-
$('#general_block').hide();
|
505 |
-
$('#restriction_block').show();
|
506 |
-
$('#discount_block').hide();
|
507 |
-
makeActiveForSelectedTab($(".restriction_tab"));
|
508 |
-
}
|
509 |
-
});
|
510 |
-
$('.discount_tab').on('click', function () {
|
511 |
-
$('#general_block').hide();
|
512 |
-
$('#restriction_block').hide();
|
513 |
-
$('#discount_block').show();
|
514 |
-
makeActiveForSelectedTab($(".discount_tab"));
|
515 |
-
});
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
// Manage the Type of Apply.
|
520 |
-
$('#apply_to').on('change', function () {
|
521 |
-
var option = $(this).val();
|
522 |
-
var hint_text = '';
|
523 |
-
$('#cumulative_for_products_cont').hide();
|
524 |
-
if (option == 'specific_products') {
|
525 |
-
hint_text = woo_discount_localization.apply_to_hint_specific_products;
|
526 |
-
$('#product_list').css('display', 'block');
|
527 |
-
$('#category_list').css('display', 'none');
|
528 |
-
$('#product_attributes_list').css('display', 'none');
|
529 |
-
$('#product_exclude_list').hide();
|
530 |
-
$('#cumulative_for_products_cont').show();
|
531 |
-
} else if (option == 'specific_category') {
|
532 |
-
hint_text = woo_discount_localization.apply_to_hint_specific_category;
|
533 |
-
$('#product_list').css('display', 'none');
|
534 |
-
$('#product_attributes_list').css('display', 'none');
|
535 |
-
$('#category_list').css('display', 'block');
|
536 |
-
$('#product_exclude_list').show();
|
537 |
-
} else if (option == 'specific_attribute') {
|
538 |
-
hint_text = woo_discount_localization.apply_to_hint_specific_attribute;
|
539 |
-
$('#product_list').css('display', 'none');
|
540 |
-
$('#category_list').css('display', 'none');
|
541 |
-
$('#product_attributes_list').css('display', 'block');
|
542 |
-
$('#product_exclude_list').show();
|
543 |
-
} else {
|
544 |
-
hint_text = woo_discount_localization.apply_to_hint_all_products;
|
545 |
-
$('#product_list').css('display', 'none');
|
546 |
-
$('#category_list').css('display', 'none');
|
547 |
-
$('#product_attributes_list').css('display', 'none');
|
548 |
-
$('#product_exclude_list').show();
|
549 |
-
$('#cumulative_for_products_cont').show();
|
550 |
-
}
|
551 |
-
$('.apply_to_hint').html(hint_text);
|
552 |
-
});
|
553 |
-
$('#apply_to').trigger('change');
|
554 |
-
|
555 |
-
// Manage the Customer.
|
556 |
-
$('#apply_customer').on('change', function () {
|
557 |
-
var option = $(this).val();
|
558 |
-
if (option == 'only_given') {
|
559 |
-
$('#user_list').show();
|
560 |
-
} else {
|
561 |
-
$('#user_list').hide();
|
562 |
-
}
|
563 |
-
});
|
564 |
-
$('#coupon_option_price_rule').on('change', function () {
|
565 |
-
var option = $(this).val();
|
566 |
-
if (option == 'none') {
|
567 |
-
$('.coupons_to_apply_price_rule_con').hide();
|
568 |
-
$('.dynamic_coupons_to_apply_price_rule_con').hide();
|
569 |
-
} else if (option == 'create_dynamic_coupon') {
|
570 |
-
$('.coupons_to_apply_price_rule_con').hide();
|
571 |
-
$('.dynamic_coupons_to_apply_price_rule_con').show();
|
572 |
-
} else {
|
573 |
-
$('.dynamic_coupons_to_apply_price_rule_con').hide();
|
574 |
-
$('.coupons_to_apply_price_rule_con').show();
|
575 |
-
}
|
576 |
-
});
|
577 |
-
$('#coupon_option_price_rule').trigger('change');
|
578 |
-
|
579 |
-
$('#subtotal_option_price_rule').on('change', function () {
|
580 |
-
var option = $(this).val();
|
581 |
-
if (option == 'none') {
|
582 |
-
$('.subtotal_to_apply_price_rule_con').hide();
|
583 |
-
} else {
|
584 |
-
$('.subtotal_to_apply_price_rule_con').show();
|
585 |
-
}
|
586 |
-
});
|
587 |
-
$('#subtotal_option_price_rule').trigger('change');
|
588 |
-
|
589 |
-
$('#show_discount_table').on('change', function () {
|
590 |
-
var option = $(this).val();
|
591 |
-
if (option == 'show') {
|
592 |
-
$('.discount_table_options').show();
|
593 |
-
} else if (option == 'advance') {
|
594 |
-
$('.discount_table_options').hide();
|
595 |
-
$('.discount_table_option_advance').show();
|
596 |
-
} else {
|
597 |
-
$('.discount_table_options').hide();
|
598 |
-
}
|
599 |
-
});
|
600 |
-
$('#show_discount_table').trigger('change');
|
601 |
-
|
602 |
-
$('#message_on_apply_cart_discount').on('change', function () {
|
603 |
-
var option = $(this).val();
|
604 |
-
if (option == 'yes') {
|
605 |
-
$('.message_on_apply_cart_discount_options').show();
|
606 |
-
} else {
|
607 |
-
$('.message_on_apply_cart_discount_options').hide();
|
608 |
-
}
|
609 |
-
});
|
610 |
-
$('#message_on_apply_cart_discount').trigger('change');
|
611 |
-
|
612 |
-
$('#message_on_apply_price_discount').on('change', function () {
|
613 |
-
var option = $(this).val();
|
614 |
-
if (option == 'yes') {
|
615 |
-
$('.message_on_apply_price_discount_options').show();
|
616 |
-
} else {
|
617 |
-
$('.message_on_apply_price_discount_options').hide();
|
618 |
-
}
|
619 |
-
});
|
620 |
-
$('#message_on_apply_price_discount').trigger('change');
|
621 |
-
|
622 |
-
$('select[name="show_sale_tag_on_product_page"]').on('change', function () {
|
623 |
-
var option = $(this).val();
|
624 |
-
if (option == 'show' || option == 'show_on_any_rules_matches') {
|
625 |
-
$('#customize_sale_tag').prop('checked', true).trigger('change');
|
626 |
-
} else {
|
627 |
-
$('#customize_sale_tag').prop('checked', false).trigger('change');
|
628 |
-
}
|
629 |
-
});
|
630 |
-
|
631 |
-
$('#display_you_saved_text').on('change', function () {
|
632 |
-
var option = $(this).val();
|
633 |
-
if (option == 'no') {
|
634 |
-
$('.display_you_saved_text_options').hide();
|
635 |
-
} else {
|
636 |
-
$('.display_you_saved_text_options').show();
|
637 |
-
}
|
638 |
-
});
|
639 |
-
$('#display_you_saved_text').trigger('change');
|
640 |
-
|
641 |
-
$('#customize_sale_tag').on('change', function () {
|
642 |
-
if ($("#customize_sale_tag").is(":checked")) {
|
643 |
-
$('.customize_sale_tag_option').show();
|
644 |
-
} else {
|
645 |
-
$('.customize_sale_tag_option').hide();
|
646 |
-
}
|
647 |
-
});
|
648 |
-
$('#customize_sale_tag').trigger('change');
|
649 |
-
|
650 |
-
$(document).on('keyup', '.rule_descr', function () {
|
651 |
-
var value = $(this).val();
|
652 |
-
value = '| ' + value;
|
653 |
-
var id = $(this).attr('id');
|
654 |
-
id = id.replace('rule_descr_', '');
|
655 |
-
$('#rule_label_' + id).html(value);
|
656 |
-
});
|
657 |
-
|
658 |
-
//--------------------------------------------------------------------------------------------------------------
|
659 |
-
//-----------------------------------------------CART RULES-----------------------------------------------------
|
660 |
-
//--------------------------------------------------------------------------------------------------------------
|
661 |
-
|
662 |
-
$(document).on('click', '#add_cart_rule', function () {
|
663 |
-
var count = $('.cart_rules_list').length;
|
664 |
-
var product_list = '';
|
665 |
-
var products_list = '';
|
666 |
-
var loader = $('.woo_discount_loader_outer > .woo_discount_loader');
|
667 |
-
var wdr_nonce = $('input[name="wdr_search_nonce"]').val();
|
668 |
-
$.ajax({
|
669 |
-
url: ajax_url,
|
670 |
-
type: 'POST',
|
671 |
-
data: {action: 'loadProductSelectBox', name: 'discount_rule['+count+'][purchase_history_products]', wdr_nonce: wdr_nonce},
|
672 |
-
beforeSend: function() {
|
673 |
-
loader.show();
|
674 |
-
},
|
675 |
-
complete: function() {
|
676 |
-
loader.hide();
|
677 |
-
},
|
678 |
-
success: function (response) {
|
679 |
-
product_list = response;
|
680 |
-
$('#purchase_history_products_list_'+count).html(product_list);
|
681 |
-
$('.wc-product-search').trigger( 'wc-enhanced-select-init' );
|
682 |
-
}
|
683 |
-
});
|
684 |
-
$.ajax({
|
685 |
-
url: ajax_url,
|
686 |
-
type: 'POST',
|
687 |
-
data: {action: 'loadProductSelectBox', name: 'discount_rule['+count+'][products]', wdr_nonce: wdr_nonce},
|
688 |
-
beforeSend: function() {
|
689 |
-
loader.show();
|
690 |
-
},
|
691 |
-
complete: function() {
|
692 |
-
loader.hide();
|
693 |
-
},
|
694 |
-
success: function (response) {
|
695 |
-
products_list = response;
|
696 |
-
$('#products_list_'+count).html(products_list);
|
697 |
-
$('.wc-product-search').trigger( 'wc-enhanced-select-init' );
|
698 |
-
}
|
699 |
-
});
|
700 |
-
|
701 |
-
// Cloning the List.
|
702 |
-
var user_list = $('#cart_user_list_0 > option').clone();
|
703 |
-
var category_list = $('#cart_category_list_0 > option').clone();
|
704 |
-
var coupon_list = $('#cart_coupon_list_0 > option').clone();
|
705 |
-
var roles_list = $('#cart_roles_list_0 > option').clone();
|
706 |
-
var country_list = $('#cart_countries_list_0 > option').clone();
|
707 |
-
var order_status_list = $('#order_status_list_0 > option').clone();
|
708 |
-
if (is_pro) {
|
709 |
-
var form = '<div class="cart_rules_list row"> <div class="col-md-3 form-group"> <label>'+woo_discount_localization.type_text+' <select class="form-control cart_rule_type" id="cart_condition_type_' + count + '" name="discount_rule[' + count + '][type]"> <optgroup label="'+woo_discount_localization.cart_subtotal+'"><option value="subtotal_least" selected="selected">'+woo_discount_localization.subtotal_at_least+'</option><option value="subtotal_less">'+woo_discount_localization.subtotal_less_than+'</option></optgroup>' +
|
710 |
-
'<optgroup label="'+woo_discount_localization.cart_item_count+'"><option value="item_count_least">'+woo_discount_localization.number_of_line_items_in_cart_at_least+'</option><option value="item_count_less">'+woo_discount_localization.number_of_line_items_in_cart_less_than+'</option></optgroup>' +
|
711 |
-
'<optgroup label="'+woo_discount_localization.quantity_sum+'"><option value="quantity_least">'+woo_discount_localization.total_number_of_quantities_in_cart_at_least+'</option><option value="quantity_less">'+woo_discount_localization.total_number_of_quantities_in_cart_less_than+'</option></optgroup>' +
|
712 |
-
'<optgroup label="'+woo_discount_localization.products_in_cart+'">' +
|
713 |
-
'<option value="products_in_list">'+woo_discount_localization.products_in_list+'</option>' +
|
714 |
-
'<option value="products_not_in_list">'+woo_discount_localization.products_not_in_list+'</option>' +
|
715 |
-
'<option value="exclude_sale_products">'+woo_discount_localization.exclude_sale_products+'</option>' +
|
716 |
-
'</optgroup>' +
|
717 |
-
'<optgroup label="'+woo_discount_localization.categories_in_cart+'">' +
|
718 |
-
'<option value="categories_in">'+woo_discount_localization.categories_in_cart+'</option>' +
|
719 |
-
'<option value="atleast_one_including_sub_categories">'+woo_discount_localization.atleast_one_including_sub_categories+'</option>' +
|
720 |
-
'<option value="in_each_category">'+woo_discount_localization.in_each_category_cart+'</option>' +
|
721 |
-
'<option value="exclude_categories">'+woo_discount_localization.exclude_categories_in_cart+'</option>' +
|
722 |
-
'</optgroup>' +
|
723 |
-
'<optgroup label="'+woo_discount_localization.customer_details_must_be_logged_in+'"><option value="users_in">'+woo_discount_localization.user_in_list+'</option><option value="roles_in">'+woo_discount_localization.user_role_in_list+'</option></optgroup>' +
|
724 |
-
'<optgroup label="'+woo_discount_localization.customer_email+'"><option value="customer_email_tld">'+woo_discount_localization.customer_email_tld+'</option><option value="customer_email_domain">'+woo_discount_localization.customer_email_domain+'</option></optgroup>' +
|
725 |
-
'<optgroup label="'+woo_discount_localization.customer_billing_details+'"><option value="customer_billing_city">'+woo_discount_localization.customer_billing_city+'</option></optgroup>' +
|
726 |
-
'<optgroup label="'+woo_discount_localization.customer_shipping_details+'">' +
|
727 |
-
'<option value="customer_shipping_city">'+woo_discount_localization.customer_shipping_city+'</option>' +
|
728 |
-
'<option value="customer_shipping_state">'+woo_discount_localization.customer_shipping_state+'</option>' +
|
729 |
-
'<option value="shipping_countries_in">'+woo_discount_localization.shipping_country_list+'</option>' +
|
730 |
-
'<option value="customer_shipping_zip_code">'+woo_discount_localization.customer_shipping_zip_code+'</option></optgroup>' +
|
731 |
-
'<optgroup label="'+woo_discount_localization.purchase_history+'">' +
|
732 |
-
'<option value="customer_based_on_first_order">'+woo_discount_localization.first_order_discount+'</option>'+
|
733 |
-
'<option value="customer_based_on_purchase_history">'+woo_discount_localization.purchased_amount+'</option>'+
|
734 |
-
'<option value="customer_based_on_purchase_history_order_count">'+woo_discount_localization.number_of_order_purchased+'</option>'+
|
735 |
-
'<option value="customer_based_on_purchase_history_product_order_count">'+woo_discount_localization.number_of_order_purchased_in_product+'</option>'+
|
736 |
-
'<option value="customer_based_on_purchase_history_product_quantity_count">'+woo_discount_localization.number_of_order_quantity_purchased_in_product+'</option>'+
|
737 |
-
'</optgroup>' +
|
738 |
-
'<optgroup label="'+woo_discount_localization.coupon_applied+'"><option value="create_dynamic_coupon">'+woo_discount_localization.create_a_coupon+'</option><option value="coupon_applied_any_one">'+woo_discount_localization.atleast_any_one+'</option><option value="coupon_applied_all_selected">'+woo_discount_localization.all_selected_coupon+'</option></optgroup>' +
|
739 |
-
'</select></label><div class="wdr_cart_rule_doc_con"></div></div>' +
|
740 |
-
'<div class="col-md-3 form-group"><label> <span class="value_text_' +count+ '">'+woo_discount_localization.value_text+'</span><div id="general_' + count + '"><input type="text" class="form-control" name="discount_rule[' + count + '][option_value]"></div>' +
|
741 |
-
'<div id="user_div_' + count + '">';
|
742 |
-
if($('#flycart_wdr_woocommerce_version').val() == 2){
|
743 |
-
form += '<input class="wc-customer-search" style="width: 250px" name="discount_rule[' + count + '][users_to_apply][]" data-placeholder="'+woo_discount_localization.place_holder_search_for_a_user+'"/>';
|
744 |
-
} else {
|
745 |
-
form += '<select class="wc-customer-search" style="width: 250px" multiple="multiple" name="discount_rule[' + count + '][users_to_apply][]" data-placeholder="'+woo_discount_localization.place_holder_search_for_a_user+'"></select>';
|
746 |
-
}
|
747 |
-
form += '</div>' +
|
748 |
-
'<div id="product_div_' + count + '"><select id="cart_product_list_' + count + '" class="product_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][product_to_apply][]"></select></div>' +
|
749 |
-
'<div id="products_div_' + count + '"><div class="form-group" id="products_list_'+ count +'"></div></div>' +
|
750 |
-
'<div id="exclude_on_sale_products_div_' + count + '">'+woo_discount_localization.exclude_sale_products_desc+'</div>' +
|
751 |
-
'<div id="category_div_' + count + '"><select id="cart_category_list_' + count + '" class="category_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][category_to_apply][]"></select></div>';
|
752 |
-
if($('#has_large_number_of_coupon').val() == 1){
|
753 |
-
form += '<div id="coupon_div_' + count + '"><select id="cart_coupon_list_' + count + '" class="coupons_selectbox_multi_select_wdr" multiple name="discount_rule[' + count + '][coupon_to_apply][]"></select></div>';
|
754 |
-
} else {
|
755 |
-
form += '<div id="coupon_div_' + count + '"><select id="cart_coupon_list_' + count + '" class="coupon_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][coupon_to_apply][]"></select></div>';
|
756 |
-
}
|
757 |
-
form += '<div id="roles_div_' + count + '"><select id="cart_roles_list_' + count + '" class="roles_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][user_roles_to_apply][]"></select></div>' +
|
758 |
-
'<div id="countries_div_' + count + '"><select id="cart_countries_list_' + count + '" class="country_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][countries_to_apply][]"></select></div>' +
|
759 |
-
'<div id="purchase_history_div_' + count + '">' +
|
760 |
-
'<div class="form-group wdr_hide" id="purchase_history_products_list_'+ count +'">'+
|
761 |
-
'</div>'+
|
762 |
-
'<select class="selectpicker purchased_history_type" data-live-search="true" name="discount_rule['+count+'][purchased_history_type]">' +
|
763 |
-
'<option value="atleast">'+woo_discount_localization.greater_than_or_equal_to+'</option>' +
|
764 |
-
'<option value="less_than_or_equal">'+woo_discount_localization.less_than_or_equal_to+'</option>' +
|
765 |
-
'</select>' +
|
766 |
-
' <input name="discount_rule[' + count + '][purchased_history_amount]" value="" type="text"/> '+woo_discount_localization.in_order_status+' <select id="order_status_list_' + count + '" class="order_status_list selectpicker" data-live-search="true" multiple name="discount_rule[' + count + '][purchase_history_order_status][]"></select>' +
|
767 |
-
' <select class="selectpicker purchased_history_duration" data-index="'+count+'" name="discount_rule['+count+'][purchased_history_duration]">' +
|
768 |
-
'<option value="all_time">'+woo_discount_localization.from_all_previous_orders+'</option>' +
|
769 |
-
'<option value="7_days">'+woo_discount_localization.last_7_days+'</option>' +
|
770 |
-
'<option value="14_days">'+woo_discount_localization.last_14_days+'</option>' +
|
771 |
-
'<option value="30_days">'+woo_discount_localization.last_30_days+'</option>' +
|
772 |
-
'<option value="60_days">'+woo_discount_localization.last_60_days+'</option>' +
|
773 |
-
'<option value="90_days">'+woo_discount_localization.last_90_days+'</option>' +
|
774 |
-
'<option value="180_days">'+woo_discount_localization.last_180_days+'</option>' +
|
775 |
-
'<option value="1_year">'+woo_discount_localization.last_1_year+'</option>' +
|
776 |
-
'<option value="custom_days">'+woo_discount_localization.custom_days+'</option>' +
|
777 |
-
'</select>' +
|
778 |
-
'<span class="purchased_history_duration_days_con" id="purchased_history_duration_days_con_'+count+'">' +
|
779 |
-
'<input name="discount_rule['+count+'][purchased_history_duration_days]" value="" placeholder="30" type="text"/> '+woo_discount_localization.in_days+
|
780 |
-
'</span>' +
|
781 |
-
'</div><div class="notice inline notice-alt notice-warning cart_rule_validation_error wdr_validation_notice"></div>' +
|
782 |
-
'</div><div class="col-md-1"> <label> '+woo_discount_localization.action_text+'</label> <br> <a href=javascript:void(0) class="btn btn-danger remove_cart_rule">'+woo_discount_localization.remove_text+'</a> </div>' +
|
783 |
-
'</label></div>';
|
784 |
-
} else {
|
785 |
-
var form = '<div class="cart_rules_list row"> <div class="col-md-3 form-group"> <label>'+woo_discount_localization.type_text+' <select class="form-control cart_rule_type" id="cart_condition_type_' + count + '" name="discount_rule[' + count + '][type]"> <optgroup label="'+woo_discount_localization.cart_subtotal+'"><option value="subtotal_least" selected="selected">'+woo_discount_localization.subtotal_at_least+'</option><option value="subtotal_less">'+woo_discount_localization.subtotal_less_than+'</option></optgroup>' +
|
786 |
-
'<optgroup label="'+woo_discount_localization.cart_item_count+'"><option value="item_count_least">'+woo_discount_localization.number_of_line_items_in_cart_at_least+'</option><option value="item_count_less">'+woo_discount_localization.number_of_line_items_in_cart_less_than+'</option></optgroup>' +
|
787 |
-
'<optgroup label="'+woo_discount_localization.quantity_sum+'"><option disabled>'+woo_discount_localization.total_number_of_quantities_in_cart_at_least+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.total_number_of_quantities_in_cart_less_than+' <b>' + pro_suffix + '</b></option></optgroup>' +
|
788 |
-
'<optgroup label="'+woo_discount_localization.products_in_cart+'">' +
|
789 |
-
'<option disabled>'+woo_discount_localization.products_in_list+' <b>' + pro_suffix + '</b></option>' +
|
790 |
-
'<option disabled>'+woo_discount_localization.products_not_in_list+' <b>' + pro_suffix + '</b></option>' +
|
791 |
-
'<option disabled>'+woo_discount_localization.exclude_sale_products+' <b>' + pro_suffix + '</b></option>' +
|
792 |
-
'</optgroup>' +
|
793 |
-
'<optgroup label="'+woo_discount_localization.categories_in_cart+'">' +
|
794 |
-
'<option disabled>'+woo_discount_localization.categories_in_cart+' <b>' + pro_suffix + '</b></option>' +
|
795 |
-
'<option disabled>'+woo_discount_localization.atleast_one_including_sub_categories+' <b>' + pro_suffix + '</b></option>' +
|
796 |
-
'<option disabled>'+woo_discount_localization.in_each_category_cart+' <b>' + pro_suffix + '</b></option>' +
|
797 |
-
'<option disabled>'+woo_discount_localization.exclude_categories_in_cart+' <b>' + pro_suffix + '</b></option>' +
|
798 |
-
'</optgroup>' +
|
799 |
-
'<optgroup label="'+woo_discount_localization.customer_details_must_be_logged_in+'"><option disabled>'+woo_discount_localization.user_in_list+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.user_role_in_list+' <b>' + pro_suffix + '</b></option></optgroup>' +
|
800 |
-
'<optgroup label="'+woo_discount_localization.customer_email+'"><option disabled>'+woo_discount_localization.customer_email_tld+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.customer_email_domain+'<b>' + pro_suffix + '</b></option></optgroup>' +
|
801 |
-
'<optgroup label="'+woo_discount_localization.customer_billing_details+'"><option disabled>'+woo_discount_localization.customer_billing_city+' <b>' + pro_suffix + '</b></option></optgroup>' +
|
802 |
-
'<optgroup label="'+woo_discount_localization.customer_shipping_details+'">' +
|
803 |
-
'<option disabled>'+woo_discount_localization.customer_shipping_city+' <b>' + pro_suffix + '</b></option>' +
|
804 |
-
'<option disabled>'+woo_discount_localization.customer_shipping_state+' <b>' + pro_suffix + '</b></option>' +
|
805 |
-
'<option disabled>'+woo_discount_localization.shipping_country_list+' <b>' + pro_suffix + '</b></option>' +
|
806 |
-
'<option disabled>'+woo_discount_localization.customer_shipping_zip_code+' <b>' + pro_suffix + '</b></option></optgroup>' +
|
807 |
-
'<optgroup label="'+woo_discount_localization.purchase_history+'"><option disabled>'+woo_discount_localization.purchased_amount+' <b>' + pro_suffix + '</b></option>' +
|
808 |
-
'<option disabled>'+woo_discount_localization.number_of_order_purchased+' <b>' + pro_suffix + '</b></option>' +
|
809 |
-
'<option disabled>'+woo_discount_localization.number_of_order_purchased_in_product+' <b>' + pro_suffix + '</b></option>' +
|
810 |
-
'</optgroup>' +
|
811 |
-
'<optgroup label="'+woo_discount_localization.coupon_applied+'"><option disabled>'+woo_discount_localization.atleast_any_one+' <b>' + pro_suffix + '</b></option><option disabled>'+woo_discount_localization.all_selected+' <b>' + pro_suffix + '</b></option></optgroup>' +
|
812 |
-
'</select></label><div class="wdr_cart_rule_doc_con"></div></div>' +
|
813 |
-
'<div class="col-md-3 form-group"><label> <span class="value_text_'+count+'">'+woo_discount_localization.value_text+'</span><div id="general_' + count + '"><input type="text" class="form-control" name="discount_rule[' + count + '][option_value]"></div>' +
|
814 |
-
'<div id="user_div_' + count + '"><select id="cart_user_list_' + count + '" class="user_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][users_to_apply][]"></select></div>' +
|
815 |
-
'<div id="product_div_' + count + '"><select id="cart_product_list_' + count + '" class="product_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][product_to_apply][]"></select></div>' +
|
816 |
-
'<div id="category_div_' + count + '"><select id="cart_category_list_' + count + '" class="category_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][category_to_apply][]"></select></div>' +
|
817 |
-
'<div id="roles_div_' + count + '"><select id="cart_roles_list_' + count + '" class="roles_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][user_roles_to_apply][]"></select></div>' +
|
818 |
-
'<div id="countries_div_' + count + '"><select id="cart_countries_list_' + count + '" class="country_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][countries_to_apply][]"></select></div>' +
|
819 |
-
'<div id="purchase_history_div_' + count + '"><select id="order_status_list_' + count + '" class="order_status_list selectpicker" title="'+woo_discount_localization.none_selected+'" data-live-search="true" multiple name="discount_rule[' + count + '][purchase_history_order_status][]"></select></div>' +
|
820 |
-
'</div><div class="col-md-1"> <label> '+woo_discount_localization.action_text+' </label><br><a href=javascript:void(0) class="btn btn-danger remove_cart_rule">'+woo_discount_localization.remove_text+'</a> </div>' +
|
821 |
-
'</label></div>';
|
822 |
-
}
|
823 |
-
|
824 |
-
// Append to Cart rules list.
|
825 |
-
$('#cart_rules_list').append(form);
|
826 |
-
if(product_list != ''){
|
827 |
-
$('#purchase_history_products_list_'+count).html(product_list);
|
828 |
-
$('.wc-product-search').trigger( 'wc-enhanced-select-init' );
|
829 |
-
}
|
830 |
-
if(products_list != ''){
|
831 |
-
$('#products_list_'+count).html(products_list);
|
832 |
-
$('.wc-product-search').trigger( 'wc-enhanced-select-init' );
|
833 |
-
}
|
834 |
-
|
835 |
-
$('.wc-customer-search').trigger( 'wc-enhanced-select-init' );
|
836 |
-
$('.coupons_selectbox_multi_select_wdr').trigger('trigger_ajax_select_wdr');
|
837 |
-
|
838 |
-
// Append the List of Values.
|
839 |
-
$('#cart_user_list_' + count).append(user_list);
|
840 |
-
$('#cart_product_list_' + count).append(product_list);
|
841 |
-
$('#products_list_' + count).append(products_list);
|
842 |
-
$('#cart_category_list_' + count).append(category_list);
|
843 |
-
$('#cart_coupon_list_' + count).append(coupon_list);
|
844 |
-
$('#cart_roles_list_' + count).append(roles_list);
|
845 |
-
$('#cart_countries_list_' + count).append(country_list);
|
846 |
-
$('#order_status_list_' + count).append(order_status_list);
|
847 |
-
|
848 |
-
$('select.purchased_history_duration').trigger('change');
|
849 |
-
// Refresh the SelectPicker.
|
850 |
-
$('.product_list,.category_list,.coupon_list,.roles_list,.country_list,.order_status_list,.purchased_history_type,.purchased_history_duration').selectpicker('refresh');
|
851 |
-
|
852 |
-
// Default Hide List.
|
853 |
-
$('#user_div_' + count).css('display', 'none');
|
854 |
-
$('#product_div_' + count).css('display', 'none');
|
855 |
-
$('#products_div_' + count).css('display', 'none');
|
856 |
-
$('#exclude_on_sale_products_div_' + count).css('display', 'none');
|
857 |
-
$('#category_div_' + count).css('display', 'none');
|
858 |
-
$('#coupon_div_' + count).css('display', 'none');
|
859 |
-
$('#roles_div_' + count).css('display', 'none');
|
860 |
-
$('#countries_div_' + count).css('display', 'none');
|
861 |
-
$('#purchase_history_div_' + count).css('display', 'none');
|
862 |
-
$("#cart_rules_list").trigger('cart_rule_condition_updated');
|
863 |
-
});
|
864 |
-
|
865 |
-
$(document).on('change', '.cart_rule_type', function () {
|
866 |
-
var id = $(this).attr('id');
|
867 |
-
id = id.replace('cart_condition_type_', '');
|
868 |
-
var active = $(this).val();
|
869 |
-
showOnly(active, id);
|
870 |
-
$("#cart_rules_list").trigger('cart_rule_condition_updated');
|
871 |
-
});
|
872 |
-
|
873 |
-
$('#cart_rule_discount_type').on('change', function () {
|
874 |
-
var option = $(this).val();
|
875 |
-
switch (option) {
|
876 |
-
case 'shipping_price':
|
877 |
-
$('#cart_rule_discount_value_con').addClass('wdr_hide_important');
|
878 |
-
$('#cart_rule_product_discount_field').addClass('wdr_hide_important');
|
879 |
-
break;
|
880 |
-
case 'product_discount':
|
881 |
-
$('#cart_rule_discount_value_con').addClass('wdr_hide_important');
|
882 |
-
$('#cart_rule_product_discount_field').removeClass('wdr_hide_important');
|
883 |
-
break;
|
884 |
-
default:
|
885 |
-
$('#cart_rule_product_discount_field').addClass('wdr_hide_important');
|
886 |
-
$('#cart_rule_discount_value_con').removeClass('wdr_hide_important');
|
887 |
-
break;
|
888 |
-
}
|
889 |
-
});
|
890 |
-
$('#cart_rule_discount_type').trigger('change');
|
891 |
-
|
892 |
-
//on change discount type in price discount
|
893 |
-
$(document).on('change', '.price_discount_type', function () {
|
894 |
-
var discount_amount = $(this).closest('.discount_rule_list').find('.price_discount_amount');
|
895 |
-
var price_discount_amount = $(this).closest('.discount_rule_list').find('.price_discount_product_list_con');
|
896 |
-
var discount_product_percent_con = $(this).closest('.discount_rule_list').find('.discount_product_percent_con');
|
897 |
-
var discount_for_min_quantity_text = $(this).closest('.discount_rule_list').find('.discount_for_min_quantity_text');
|
898 |
-
var discount_for_max_quantity_label = $(this).closest('.discount_rule_list').find('.discount_for_max_quantity_label');
|
899 |
-
discount_for_max_quantity_label.show();
|
900 |
-
discount_for_min_quantity_text.html(woo_discount_localization.min_quantity);
|
901 |
-
if(jQuery.inArray($(this).val(), ['product_discount', 'buy_x_get_x', 'buy_x_get_y', 'more_than_one_cheapest', 'more_than_one_cheapest_from_cat', 'more_than_one_cheapest_from_all']) !== -1){
|
902 |
-
if(jQuery.inArray($(this).val(), ['buy_x_get_x', 'buy_x_get_y', 'more_than_one_cheapest', 'more_than_one_cheapest_from_cat', 'more_than_one_cheapest_from_all']) !== -1){
|
903 |
-
var discount_product_option_field = $(this).closest('.discount_rule_list').find('.discount_product_option');
|
904 |
-
if($(this).val() == 'buy_x_get_x'){
|
905 |
-
$(discount_product_option_field).val('same_product');
|
906 |
-
} else if($(this).val() == 'buy_x_get_y'){
|
907 |
-
$(discount_product_option_field).val('all');
|
908 |
-
} else {
|
909 |
-
$(discount_product_option_field).val($(this).val());
|
910 |
-
if(woo_discount_localization.enable_fixed_item_count_in_bogo == false){
|
911 |
-
var discount_product_item_count_type_field = $(this).closest('.discount_rule_list').find('.discount_product_item_count_type');
|
912 |
-
$(discount_product_item_count_type_field).val('dynamic');
|
913 |
-
$(discount_product_item_count_type_field).trigger('change');
|
914 |
-
}
|
915 |
-
}
|
916 |
-
$(discount_product_option_field).trigger('change');
|
917 |
-
discount_amount.hide();
|
918 |
-
var discount_type_tool_tip_con = $(this).closest('.discount_rule_list').find('.price_discount_amount_tool_tip_con');
|
919 |
-
var adjustment_tool_tip_text = '';
|
920 |
-
if($(this).val() == 'buy_x_get_x'){
|
921 |
-
adjustment_tool_tip_text = woo_discount_localization.buy_x_get_x_tool_tip_text;
|
922 |
-
} else if($(this).val() == 'buy_x_get_y'){
|
923 |
-
adjustment_tool_tip_text = woo_discount_localization.buy_x_get_y_tool_tip_text;
|
924 |
-
} else if($(this).val() == 'more_than_one_cheapest'){
|
925 |
-
adjustment_tool_tip_text = woo_discount_localization.more_than_one_cheapest_tool_tip_text;
|
926 |
-
} else if($(this).val() == 'more_than_one_cheapest_from_cat'){
|
927 |
-
adjustment_tool_tip_text = woo_discount_localization.more_than_one_cheapest_from_cat_tool_tip_text;
|
928 |
-
} else if($(this).val() == 'more_than_one_cheapest_from_all'){
|
929 |
-
adjustment_tool_tip_text = woo_discount_localization.more_than_one_cheapest_from_all_tool_tip_text;
|
930 |
-
}
|
931 |
-
discount_type_tool_tip_con.html('<span class="woocommerce-help-tip percentage_discount_amount_tool_tip" data-tip="'+adjustment_tool_tip_text+'"></span>').show();
|
932 |
-
trigger_woocommerce_tooltip();
|
933 |
-
}
|
934 |
-
price_discount_amount.removeClass('hide').show();
|
935 |
-
discount_product_percent_con.removeClass('hide').show();
|
936 |
-
$(this).closest('.discount_rule_list').find('.hide-for-product-discount').hide();
|
937 |
-
} else {
|
938 |
-
discount_amount.show();
|
939 |
-
price_discount_amount.hide();
|
940 |
-
discount_product_percent_con.hide();
|
941 |
-
$(this).closest('.discount_rule_list').find('.hide-for-product-discount').show();
|
942 |
-
var discount_type_tool_tip_con = $(this).closest('.discount_rule_list').find('.price_discount_amount_tool_tip_con');
|
943 |
-
if($(this).val() == 'percentage_discount'){
|
944 |
-
discount_type_tool_tip_con.html('<span class="woocommerce-help-tip percentage_discount_amount_tool_tip" data-tip="'+woo_discount_localization.percentage_discount_amount_tool_tip_text+'"></span>');
|
945 |
-
} else if($(this).val() == 'fixed_price'){
|
946 |
-
discount_type_tool_tip_con.html('<span class="woocommerce-help-tip percentage_discount_amount_tool_tip" data-tip="'+woo_discount_localization.fixed_price_discount_amount_tool_tip_text+'"></span>');
|
947 |
-
} else if($(this).val() == 'set_discount'){
|
948 |
-
discount_type_tool_tip_con.html('<span class="woocommerce-help-tip percentage_discount_amount_tool_tip" data-tip="'+woo_discount_localization.set_discount_amount_tool_tip_text+'"></span>');
|
949 |
-
} else {
|
950 |
-
discount_type_tool_tip_con.html('<span class="woocommerce-help-tip percentage_discount_amount_tool_tip" data-tip="'+woo_discount_localization.price_discount_amount_tool_tip_text+'"></span>');
|
951 |
-
}
|
952 |
-
trigger_woocommerce_tooltip();
|
953 |
-
|
954 |
-
}
|
955 |
-
if($(this).val() == 'set_discount'){
|
956 |
-
discount_for_max_quantity_label.hide();
|
957 |
-
discount_for_min_quantity_text.html(woo_discount_localization.set_quantity);
|
958 |
-
}
|
959 |
-
var discount_types = wooo_discount_range_altered();
|
960 |
-
$('.set_discount_info_text, .fixed_price_discount_info_text').hide();
|
961 |
-
if(discount_types.has_set_discount == true){
|
962 |
-
$('.set_discount_info_text').show();
|
963 |
-
}
|
964 |
-
if(discount_types.has_fixed_price == true){
|
965 |
-
$('.fixed_price_discount_info_text').show();
|
966 |
-
}
|
967 |
-
if(discount_types.has_set_discount == true && discount_types.has_range_discount == true ){
|
968 |
-
$('.set_discount_with_range_warning').show();
|
969 |
-
} else {
|
970 |
-
$('.set_discount_with_range_warning').hide();
|
971 |
-
}
|
972 |
-
});
|
973 |
-
$('.price_discount_type').trigger('change');
|
974 |
-
|
975 |
-
//on change discount_product_option in product discount
|
976 |
-
$(document).on('change', 'select.discount_product_option', function () {
|
977 |
-
var discount_product = $(this).closest('.price_discount_product_list_con').find('.discount_product_option_list_con');
|
978 |
-
var discount_category = $(this).closest('.price_discount_product_list_con').find('.discount_category_option_list_con');
|
979 |
-
var discount_product_more_cheapest = $(this).closest('.price_discount_product_list_con').find('.discount_product_option_more_cheapest_con');
|
980 |
-
var discount_product_option_bogo_con = $(this).closest('.price_discount_product_list_con').find('.discount_product_option_bogo_con');
|
981 |
-
discount_category.addClass('hide');
|
982 |
-
discount_product_option_bogo_con.addClass('hide');
|
983 |
-
if($(this).val() == 'all' || $(this).val() == 'same_product'){
|
984 |
-
discount_product_option_bogo_con.removeClass('hide');
|
985 |
-
}
|
986 |
-
if($(this).val() == 'any_cheapest_from_all' || $(this).val() == 'more_than_one_cheapest_from_all'){
|
987 |
-
discount_product.addClass('hide');
|
988 |
-
} else {
|
989 |
-
discount_product.removeClass('hide');
|
990 |
-
}
|
991 |
-
if($(this).val() == 'more_than_one_cheapest' || $(this).val() == 'more_than_one_cheapest_from_all' || $(this).val() == 'more_than_one_cheapest_from_cat'){
|
992 |
-
discount_product_more_cheapest.removeClass('hide');
|
993 |
-
} else {
|
994 |
-
discount_product_more_cheapest.addClass('hide');
|
995 |
-
}
|
996 |
-
if($(this).val() == 'more_than_one_cheapest_from_cat'){
|
997 |
-
discount_product.addClass('hide');
|
998 |
-
discount_category.removeClass('hide');
|
999 |
-
}
|
1000 |
-
if($(this).val() == 'same_product'){
|
1001 |
-
discount_product.addClass('hide');
|
1002 |
-
}
|
1003 |
-
|
1004 |
-
});
|
1005 |
-
$('select.discount_product_option').trigger('change');
|
1006 |
-
|
1007 |
-
$(document).on('change', 'select.discount_product_item_count_type', function () {
|
1008 |
-
var optionVal = $(this).val();
|
1009 |
-
var target = $(this).closest('.discount_product_option_more_cheapest_con').find('.discount_product_items_count_field');
|
1010 |
-
if (optionVal == 'static') {
|
1011 |
-
target.removeClass('hide');
|
1012 |
-
} else {
|
1013 |
-
target.addClass('hide');
|
1014 |
-
}
|
1015 |
-
});
|
1016 |
-
$('select.discount_product_item_count_type').trigger('change');
|
1017 |
-
|
1018 |
-
//on change discount_product_discount_type in product discount
|
1019 |
-
$(document).on('change', 'select.discount_product_discount_type', function () {
|
1020 |
-
var discount_product_percent_field = $(this).closest('.discount_product_percent_con').find('.discount_product_percent_field');
|
1021 |
-
if($(this).val() == 'limited_percent'){
|
1022 |
-
discount_product_percent_field.removeClass('hide');
|
1023 |
-
} else {
|
1024 |
-
discount_product_percent_field.addClass('hide');
|
1025 |
-
}
|
1026 |
-
});
|
1027 |
-
$('select.discount_product_discount_type').trigger('change');
|
1028 |
-
|
1029 |
-
|
1030 |
-
// Saving Cart Rule.
|
1031 |
-
$('#saveCartRule').on('click', function (event) {
|
1032 |
-
$(".form-control").removeClass('wdr_invalid');
|
1033 |
-
$("div.cart_rule_validation_error").hide();
|
1034 |
-
var form = $('#form_cart_rule').serialize();
|
1035 |
-
var current = $(this);
|
1036 |
-
var rule_id = $('#rule_id').val();
|
1037 |
-
var loader = $('.woo_discount_loader_outer > .woo_discount_loader');
|
1038 |
-
event.preventDefault();
|
1039 |
-
if ($('#rule_name').val() == '') {
|
1040 |
-
alert(woo_discount_localization.please_enter_the_rule_name);
|
1041 |
-
} else {
|
1042 |
-
current.val(woo_discount_localization.saving);
|
1043 |
-
$.ajax({
|
1044 |
-
url: ajax_url,
|
1045 |
-
type: 'POST',
|
1046 |
-
data: {action: 'saveCartRule', data: form},
|
1047 |
-
beforeSend: function() {
|
1048 |
-
loader.show();
|
1049 |
-
},
|
1050 |
-
complete: function() {
|
1051 |
-
loader.hide();
|
1052 |
-
},
|
1053 |
-
success: function (result) {
|
1054 |
-
var result = jQuery.parseJSON( result );
|
1055 |
-
// After Status Changed.
|
1056 |
-
resizeChart = setTimeout(function () {
|
1057 |
-
current.val(woo_discount_localization.save_rule);
|
1058 |
-
}, 300);
|
1059 |
-
if(result.create_dynamic_coupon != undefined){
|
1060 |
-
var error_row_con = $('select.cart_rule_type option[value="create_dynamic_coupon"]:selected');
|
1061 |
-
error_row_con.closest('.cart_rules_list').find('input.form-control').val(result.create_dynamic_coupon);
|
1062 |
-
$("input[name='dynamic_coupons_to_apply']").val(result.create_dynamic_coupon);
|
1063 |
-
}
|
1064 |
-
if(result.status == 1){
|
1065 |
-
// Reset, if its New Form.
|
1066 |
-
if (rule_id == 0) {
|
1067 |
-
window.location.replace(admin_url + '&tab=cart-rules');
|
1068 |
-
}
|
1069 |
-
adminNotice();
|
1070 |
-
} else {
|
1071 |
-
//woo_discount_rule_error_notice(result.message);
|
1072 |
-
if(result.invalid_field != undefined){
|
1073 |
-
if(result.invalid_field == "create_dynamic_coupon"){
|
1074 |
-
error_row_con.closest('.cart_rules_list').find('input.form-control').addClass('wdr_invalid');
|
1075 |
-
$("a.restriction_tab").trigger('click');
|
1076 |
-
error_row_con.closest('.cart_rules_list').find("div.cart_rule_validation_error").html("<p>"+result.error_message+"</p>").show();
|
1077 |
-
}
|
1078 |
-
}
|
1079 |
-
}
|
1080 |
-
}
|
1081 |
-
});
|
1082 |
-
}
|
1083 |
-
});
|
1084 |
-
|
1085 |
-
// Change the List to Show, on change of Rule Type.
|
1086 |
-
$('.cart_rule_type').on('change', function () {
|
1087 |
-
var id = $(this).attr('id');
|
1088 |
-
id = id.replace('cart_condition_type_', '');
|
1089 |
-
|
1090 |
-
$('#cart_user_list_' + id).selectpicker('val', []);
|
1091 |
-
$('#cart_product_list_' + id).selectpicker('val', []);
|
1092 |
-
$('#cart_category_list_' + id).selectpicker('val', []);
|
1093 |
-
$('#cart_coupon_list_' + id).selectpicker('val', []);
|
1094 |
-
$('#cart_roles_list_' + id).selectpicker('val', []);
|
1095 |
-
$('#cart_countries_list_' + id).selectpicker('val', []);
|
1096 |
-
$('#order_status_list_' + id).selectpicker('val', []);
|
1097 |
-
|
1098 |
-
});
|
1099 |
-
|
1100 |
-
// Enabling and Disabling the Status of the Rule.
|
1101 |
-
$('.cart_manage_status').on('click', function (event) {
|
1102 |
-
event.preventDefault();
|
1103 |
-
var current = $(this);
|
1104 |
-
var id = $(this).attr('id');
|
1105 |
-
var wdr_nonce = $('input[name="wdr_nonce"]').val();
|
1106 |
-
id = id.replace('state_', '');
|
1107 |
-
$.ajax({
|
1108 |
-
url: ajax_url,
|
1109 |
-
type: 'POST',
|
1110 |
-
dataType: "json",
|
1111 |
-
data: {action: 'UpdateStatus', id: id, from: 'cart-rules', wdr_nonce: wdr_nonce},
|
1112 |
-
success: function (response) {
|
1113 |
-
// After Status Changed.
|
1114 |
-
if (response.status == 'Disable') {
|
1115 |
-
current.addClass('btn-warning');
|
1116 |
-
current.removeClass('btn-success');
|
1117 |
-
current.html(woo_discount_localization.enable_text);
|
1118 |
-
} else if (response.status == 'Publish') {
|
1119 |
-
current.removeClass('btn-warning');
|
1120 |
-
current.addClass('btn-success');
|
1121 |
-
current.html(woo_discount_localization.disable_text);
|
1122 |
-
}
|
1123 |
-
if (response.status_html != '') {
|
1124 |
-
$("#status_in_text_"+id).html(response.status_html);
|
1125 |
-
}
|
1126 |
-
}
|
1127 |
-
|
1128 |
-
});
|
1129 |
-
});
|
1130 |
-
|
1131 |
-
// Removing Cart Rule.
|
1132 |
-
$('.cart_delete_rule').on('click', function (event) {
|
1133 |
-
event.preventDefault();
|
1134 |
-
var current = $(this);
|
1135 |
-
var id = $(this).attr('id');
|
1136 |
-
var wdr_nonce = $('input[name="wdr_nonce"]').val();
|
1137 |
-
id = id.replace('delete_', '');
|
1138 |
-
var confirm_delete = confirm(woo_discount_localization.are_you_sure_to_remove);
|
1139 |
-
if (confirm_delete) {
|
1140 |
-
$.ajax({
|
1141 |
-
url: ajax_url,
|
1142 |
-
type: 'POST',
|
1143 |
-
data: {action: 'RemoveRule', id: id, from: 'cart-rules', wdr_nonce: wdr_nonce},
|
1144 |
-
success: function () {
|
1145 |
-
// After Removed.
|
1146 |
-
current.closest('tr').remove();
|
1147 |
-
location.reload(true);
|
1148 |
-
}
|
1149 |
-
});
|
1150 |
-
}
|
1151 |
-
});
|
1152 |
-
|
1153 |
-
|
1154 |
-
$('.awdr-switch-version-button').on('click', function (event) {
|
1155 |
-
event.preventDefault();
|
1156 |
-
var version = $(this).attr('data-version');
|
1157 |
-
var page = $(this).attr('data-page');
|
1158 |
-
var nonce = $(this).attr('data-nonce');
|
1159 |
-
$.ajax({
|
1160 |
-
url: ajax_url,
|
1161 |
-
type: 'POST',
|
1162 |
-
data: {action: 'awdr_switch_version', version: version, page: page, wdr_nonce: nonce},
|
1163 |
-
success: function (data) {
|
1164 |
-
if(data.data.status == true){
|
1165 |
-
window.location.replace(data.data.url);
|
1166 |
-
}
|
1167 |
-
if(data.data.type !== undefined){
|
1168 |
-
if(data.data.type == 'auto_install'){
|
1169 |
-
$("#wdr_switch_popup").modal("show");
|
1170 |
-
$(".wdr_pro_install_message").html(data.data.message);
|
1171 |
-
} else {
|
1172 |
-
$(".wdr_switch_message").html(data.data.message);
|
1173 |
-
}
|
1174 |
-
} else {
|
1175 |
-
$(".wdr_switch_message").html(data.data.message);
|
1176 |
-
}
|
1177 |
-
}
|
1178 |
-
});
|
1179 |
-
});
|
1180 |
-
$(document).on('click', '#wdr_switch_popup .wdr-close-modal-box, #wdr_switch_popup .modal-sandbox', function (event) {
|
1181 |
-
$('#wdr_switch_popup').modal('hide');
|
1182 |
-
});
|
1183 |
-
$(document).on('click', '.awdr_auto_install_pro_plugin', function (event) {
|
1184 |
-
event.preventDefault();
|
1185 |
-
$(".awdr_auto_install_pro_plugin").html("Proccessing please wait..")
|
1186 |
-
$.ajax({
|
1187 |
-
url: ajax_url,
|
1188 |
-
type: 'POST',
|
1189 |
-
data: {action: 'awdr_auto_install_pro_plugin'},
|
1190 |
-
success: function (data) {
|
1191 |
-
$(".wdr_switch_message").html('');
|
1192 |
-
$(".wdr_pro_install_message").html(data);
|
1193 |
-
if($("#wdr_pro_install_status").val() == "1"){
|
1194 |
-
$('.awdr-switch-version-button').trigger('click');
|
1195 |
-
}
|
1196 |
-
}
|
1197 |
-
});
|
1198 |
-
});
|
1199 |
-
|
1200 |
-
// Removing Cart Condition.
|
1201 |
-
$(document).on('click', '.remove_cart_rule', function () {
|
1202 |
-
var confirm_remove = confirm(woo_discount_localization.are_you_sure_to_remove);
|
1203 |
-
if (confirm_remove) {
|
1204 |
-
$(this).closest('.cart_rules_list').remove();
|
1205 |
-
$("#cart_rules_list").trigger('cart_rule_condition_updated');
|
1206 |
-
}
|
1207 |
-
});
|
1208 |
-
|
1209 |
-
$('#based_on_purchase_history').on('change', function () {
|
1210 |
-
var checked = $( this ).val();
|
1211 |
-
if(checked == "0" || checked == "" || checked == "first_order"){
|
1212 |
-
$('#based_on_purchase_history_fields').hide();
|
1213 |
-
} else {
|
1214 |
-
$('#based_on_purchase_history_fields').show();
|
1215 |
-
}
|
1216 |
-
if(checked == "3" || checked == "4"){
|
1217 |
-
$("#purchase_history_products").show();
|
1218 |
-
} else {
|
1219 |
-
$("#purchase_history_products").hide();
|
1220 |
-
}
|
1221 |
-
});
|
1222 |
-
$('#based_on_purchase_history').trigger('change');
|
1223 |
-
|
1224 |
-
$('#purchased_history_duration').on('change', function () {
|
1225 |
-
var duration_value = $( this ).val();
|
1226 |
-
if(duration_value == "custom_days"){
|
1227 |
-
$('#purchased_history_duration_days_con').show();
|
1228 |
-
} else {
|
1229 |
-
$('#purchased_history_duration_days_con').hide();
|
1230 |
-
}
|
1231 |
-
});
|
1232 |
-
$('#purchased_history_duration').trigger('change');
|
1233 |
-
|
1234 |
-
$('#price_rule_method').on('change', function () {
|
1235 |
-
var rule_method = $(this).val();
|
1236 |
-
$('.price_discounts_con, .price_discount_condition_con').hide();
|
1237 |
-
$('.'+rule_method+'_discount_cont, .'+rule_method+'_condition_cont').show();
|
1238 |
-
});
|
1239 |
-
$('#price_rule_method').trigger('change');
|
1240 |
-
|
1241 |
-
$('#product_based_condition_quantity_rule').on('change', function () {
|
1242 |
-
var quantity_values = $(this).val();
|
1243 |
-
if(quantity_values == 'from'){
|
1244 |
-
$('.product_based_condition_to').css({"display": "inline-block"})
|
1245 |
-
} else {
|
1246 |
-
$('.product_based_condition_to').css({"display": "none"})
|
1247 |
-
}
|
1248 |
-
});
|
1249 |
-
$('#product_based_condition_quantity_rule').trigger('change');
|
1250 |
-
|
1251 |
-
$('#product_based_condition_get_discount_type').on('change', function () {
|
1252 |
-
var discount_type_value = $(this).val();
|
1253 |
-
$('.get_discount_type_product_tag, .get_discount_type_category_tag').hide();
|
1254 |
-
if(discount_type_value == 'product'){
|
1255 |
-
$('.get_discount_type_product_tag').show();
|
1256 |
-
} else {
|
1257 |
-
$('.get_discount_type_category_tag').show();
|
1258 |
-
}
|
1259 |
-
});
|
1260 |
-
$('#product_based_condition_get_discount_type').trigger('change');
|
1261 |
-
|
1262 |
-
// product_based_condition_product_to_apply_count_option
|
1263 |
-
$('#product_based_condition_product_to_apply_count_option').on('change', function () {
|
1264 |
-
var value = $(this).val();
|
1265 |
-
if(value == 'all'){
|
1266 |
-
$('#product_based_condition_product_to_apply_count').css({"display": "none"})
|
1267 |
-
} else {
|
1268 |
-
$('#product_based_condition_product_to_apply_count').css({"display": "inline-block"})
|
1269 |
-
}
|
1270 |
-
});
|
1271 |
-
$('#product_based_condition_product_to_apply_count_option').trigger('change');
|
1272 |
-
|
1273 |
-
$('#wdr_do_bulk_action').on('click', function (event) {
|
1274 |
-
event.preventDefault();
|
1275 |
-
var formData = $('#woo_discount_list_form').serializeArray();
|
1276 |
-
var loader = $('.woo_discount_loader_outer > .woo_discount_loader');
|
1277 |
-
if($('#bulk-action-selector-top').val() != ''){
|
1278 |
-
if($('#bulk-action-selector-top').val() == 'delete'){
|
1279 |
-
if(!confirm(woo_discount_localization.are_you_sure_to_delete)){
|
1280 |
-
return false;
|
1281 |
-
}
|
1282 |
-
}
|
1283 |
-
|
1284 |
-
if ($("#woo_discount_list_form input:checkbox:checked").length > 0) {
|
1285 |
-
formData.push({'name': 'action', 'value': 'doBulkAction'});
|
1286 |
-
$.ajax({
|
1287 |
-
url: ajax_url,
|
1288 |
-
type: 'POST',
|
1289 |
-
data: formData,
|
1290 |
-
beforeSend: function() {
|
1291 |
-
loader.show();
|
1292 |
-
},
|
1293 |
-
complete: function() {
|
1294 |
-
loader.hide();
|
1295 |
-
},
|
1296 |
-
success: function (response) {
|
1297 |
-
jQuery('#woo-admin-message').html(' <div class="notice notice-success is-dismissable"><p>'+response+'</p></div>');
|
1298 |
-
location.reload();
|
1299 |
-
}
|
1300 |
-
});
|
1301 |
-
} else {
|
1302 |
-
alert(woo_discount_localization.please_select_at_least_one_checkbox);
|
1303 |
-
return false;
|
1304 |
-
}
|
1305 |
-
} else {
|
1306 |
-
alert(woo_discount_localization.please_select_bulk_action);
|
1307 |
-
return false;
|
1308 |
-
}
|
1309 |
-
});
|
1310 |
-
|
1311 |
-
function createDuplicateRule(id, type) {
|
1312 |
-
if(id != undefined && type != undefined){
|
1313 |
-
var loader = $('.woo_discount_loader_outer > .woo_discount_loader');
|
1314 |
-
var wdr_nonce = $('input[name="wdr_nonce"]').val();
|
1315 |
-
$.ajax({
|
1316 |
-
url: ajax_url,
|
1317 |
-
type: 'POST',
|
1318 |
-
data: {'action': 'createDuplicateRule', 'id': id, 'type': type, 'wdr_nonce': wdr_nonce},
|
1319 |
-
beforeSend: function() {
|
1320 |
-
loader.show();
|
1321 |
-
},
|
1322 |
-
complete: function() {
|
1323 |
-
loader.hide();
|
1324 |
-
},
|
1325 |
-
success: function (response) {
|
1326 |
-
jQuery('#woo-admin-message').html(' <div class="notice notice-success is-dismissable"><p>'+response+'</p></div>');
|
1327 |
-
location.reload();
|
1328 |
-
}
|
1329 |
-
});
|
1330 |
-
}
|
1331 |
-
}
|
1332 |
-
|
1333 |
-
$('.duplicate_price_rule_btn').on('click', function (event) {
|
1334 |
-
event.preventDefault();
|
1335 |
-
; createDuplicateRule($(this).attr('data-id'), 'price_rule');
|
1336 |
-
});
|
1337 |
-
$('.duplicate_cart_rule_btn').on('click', function (event) {
|
1338 |
-
event.preventDefault();
|
1339 |
-
createDuplicateRule($(this).attr('data-id'), 'cart_rule');
|
1340 |
-
});
|
1341 |
-
//--------------------------------------------------------------------------------------------------------------
|
1342 |
-
//-----------------------------------------------SETTINGS-------------------------------------------------------
|
1343 |
-
//--------------------------------------------------------------------------------------------------------------
|
1344 |
-
|
1345 |
-
function woo_email_customizer_save_settings(type, current){
|
1346 |
-
var form = $('#discount_config').serialize();
|
1347 |
-
var loader = $('.woo_discount_loader_outer > .woo_discount_loader');
|
1348 |
-
current.val(woo_discount_localization.saving);
|
1349 |
-
if(type == 'settings'){
|
1350 |
-
var enable_bootstrap_pre_val = $('#enable_bootstrap_id').attr('data-val');
|
1351 |
-
var enable_bootstrap_current_val = $('input[name="enable_bootstrap"]:checked').val();
|
1352 |
-
}
|
1353 |
-
|
1354 |
-
$.ajax({
|
1355 |
-
url: ajax_url,
|
1356 |
-
type: 'POST',
|
1357 |
-
data: {action: 'saveConfig', from: type, data: form},
|
1358 |
-
beforeSend: function() {
|
1359 |
-
loader.show();
|
1360 |
-
},
|
1361 |
-
complete: function() {
|
1362 |
-
loader.hide();
|
1363 |
-
},
|
1364 |
-
success: function () {
|
1365 |
-
// After Removed.
|
1366 |
-
resizeChart = setTimeout(function () {
|
1367 |
-
current.val(woo_discount_localization.save_text);
|
1368 |
-
if(type == 'settings'){
|
1369 |
-
if(enable_bootstrap_pre_val != enable_bootstrap_current_val){
|
1370 |
-
location.reload();
|
1371 |
-
}
|
1372 |
-
}
|
1373 |
-
}, 300);
|
1374 |
-
adminNotice();
|
1375 |
-
}
|
1376 |
-
});
|
1377 |
-
}
|
1378 |
-
|
1379 |
-
$('#saveConfig').on('click', function (event) {
|
1380 |
-
event.preventDefault();
|
1381 |
-
woo_email_customizer_save_settings('settings', $(this))
|
1382 |
-
/*var form = $('#discount_config').serialize();
|
1383 |
-
var current = $(this);
|
1384 |
-
var loader = $('.woo_discount_loader_outer > .woo_discount_loader');
|
1385 |
-
current.val(woo_discount_localization.saving);
|
1386 |
-
$.ajax({
|
1387 |
-
url: ajax_url,
|
1388 |
-
type: 'POST',
|
1389 |
-
data: {action: 'saveConfig', from: 'settings', data: form},
|
1390 |
-
beforeSend: function() {
|
1391 |
-
loader.show();
|
1392 |
-
},
|
1393 |
-
complete: function() {
|
1394 |
-
loader.hide();
|
1395 |
-
},
|
1396 |
-
success: function () {
|
1397 |
-
// After Removed.
|
1398 |
-
resizeChart = setTimeout(function () {
|
1399 |
-
current.val(woo_discount_localization.save_text);
|
1400 |
-
}, 300);
|
1401 |
-
adminNotice();
|
1402 |
-
}
|
1403 |
-
});*/
|
1404 |
-
});
|
1405 |
-
$('#save_taxonomy_config').on('click', function (event) {
|
1406 |
-
event.preventDefault();
|
1407 |
-
woo_email_customizer_save_settings('taxonomy', $(this))
|
1408 |
-
});
|
1409 |
-
|
1410 |
-
$('#refresh_wdr_cache').on('click', function (event) {
|
1411 |
-
event.preventDefault();
|
1412 |
-
var loader = $('.woo_discount_loader_outer > .woo_discount_loader');
|
1413 |
-
var wdr_nonce = $('input[name="wdr_nonce"]').val();
|
1414 |
-
$.ajax({
|
1415 |
-
url: ajax_url,
|
1416 |
-
type: 'POST',
|
1417 |
-
data: {action: 'resetWDRCache', wdr_nonce: wdr_nonce},
|
1418 |
-
beforeSend: function() {
|
1419 |
-
loader.show();
|
1420 |
-
},
|
1421 |
-
complete: function() {
|
1422 |
-
loader.hide();
|
1423 |
-
},
|
1424 |
-
success: function (response) {
|
1425 |
-
//adminNotice();
|
1426 |
-
jQuery('#woo-admin-message').html(' <div class="notice notice-success is-dismissable"><p>'+response+'</p></div>');
|
1427 |
-
}
|
1428 |
-
});
|
1429 |
-
});
|
1430 |
-
|
1431 |
-
$('input[type=radio][name=enable_variable_product_cache]').change(function() {
|
1432 |
-
if (this.value == '1') {
|
1433 |
-
$('.enable_variable_product_cache_con').show();
|
1434 |
-
} else {
|
1435 |
-
$('.enable_variable_product_cache_con').hide();
|
1436 |
-
}
|
1437 |
-
});
|
1438 |
-
$('input[type=radio][name=enable_variable_product_cache]:checked').trigger('change');
|
1439 |
-
|
1440 |
-
$('select#enable_free_shipping').on('change', function () {
|
1441 |
-
var option = $(this).val();
|
1442 |
-
if (option == 'woodiscountfree') {
|
1443 |
-
$('#woodiscount_settings_free_shipping_con').show();
|
1444 |
-
} else {
|
1445 |
-
$('#woodiscount_settings_free_shipping_con').hide();
|
1446 |
-
}
|
1447 |
-
});
|
1448 |
-
$('select#enable_free_shipping').trigger('change');
|
1449 |
-
|
1450 |
-
$(document).on('change', 'select.purchased_history_duration', function () {
|
1451 |
-
//$('select.purchased_history_duration').on('change', function () {
|
1452 |
-
var option_val = $(this).val();
|
1453 |
-
var option_index = $(this).attr('data-index');
|
1454 |
-
if(option_index != undefined && option_index != null && option_index != ''){
|
1455 |
-
if (option_val == 'custom_days') {
|
1456 |
-
$('#purchased_history_duration_days_con_'+option_index).show();
|
1457 |
-
} else {
|
1458 |
-
$('#purchased_history_duration_days_con_'+option_index).hide();
|
1459 |
-
}
|
1460 |
-
}
|
1461 |
-
});
|
1462 |
-
$('select.purchased_history_duration').trigger('change');
|
1463 |
-
|
1464 |
-
function woo_discount_disable_cart_condition_options(field, disable_values) {
|
1465 |
-
var selected_value = $(field).val();
|
1466 |
-
$(field).find("option[wdr_altered='1']").removeAttr("disabled");
|
1467 |
-
if(disable_values.length){
|
1468 |
-
$.each( disable_values, function( key, value ) {
|
1469 |
-
$(field).find("option[value='"+value+"']").attr("disabled", "disabled").attr("wdr_altered", "1");
|
1470 |
-
});
|
1471 |
-
if(jQuery.inArray(selected_value, disable_values) !== -1){
|
1472 |
-
$(field).find('option:enabled').eq(0).prop('selected',true).trigger("change");
|
1473 |
-
}
|
1474 |
-
}
|
1475 |
-
}
|
1476 |
-
|
1477 |
-
$("#cart_rules_list").on('cart_rule_condition_updated', function () {
|
1478 |
-
var cart_condition_type = $(this).find('select.cart_rule_type');
|
1479 |
-
var allow_promotion_message, has_subtotal_least, has_quantity_least;
|
1480 |
-
allow_promotion_message = has_subtotal_least = has_quantity_least = false;
|
1481 |
-
$(".promotion_subtotal_from_con").hide();
|
1482 |
-
var used_conditions = [];
|
1483 |
-
$.each( cart_condition_type, function( key, container ) {
|
1484 |
-
woo_discount_disable_cart_condition_options(container, used_conditions);
|
1485 |
-
var option_value = $(container).val();
|
1486 |
-
used_conditions.push(option_value);
|
1487 |
-
if(option_value == 'subtotal_least'){
|
1488 |
-
allow_promotion_message = true;
|
1489 |
-
if(option_value == 'subtotal_least'){
|
1490 |
-
has_subtotal_least = true;
|
1491 |
-
$(".promotion_subtotal_from_con").show();
|
1492 |
-
}
|
1493 |
-
}
|
1494 |
-
});
|
1495 |
-
if(allow_promotion_message === true){
|
1496 |
-
$(".show_promotion_message_cart_block").show();
|
1497 |
-
} else {
|
1498 |
-
$(".show_promotion_message_cart_block").hide();
|
1499 |
-
}
|
1500 |
-
});
|
1501 |
-
$("#cart_rules_list").trigger('cart_rule_condition_updated');
|
1502 |
-
|
1503 |
-
//--------------------------------------------------------------------------------------------------------------
|
1504 |
-
//-----------------------------------------------SIDE PANEL-----------------------------------------------------
|
1505 |
-
//--------------------------------------------------------------------------------------------------------------
|
1506 |
-
|
1507 |
-
$('.woo-side-button').on('click', function () {
|
1508 |
-
//$('#woo-side-panel').toggle();
|
1509 |
-
if ($('#sidebar_text').html() == woo_discount_localization.show_text) {
|
1510 |
-
$('#sidebar_text').html(woo_discount_localization.hide_text);
|
1511 |
-
$('.woo-side-panel').show();
|
1512 |
-
$('#sidebar_icon').addClass('dashicons-arrow-left');
|
1513 |
-
$('#sidebar_icon').removeClass('dashicons-arrow-down');
|
1514 |
-
} else {
|
1515 |
-
$('#sidebar_text').html(woo_discount_localization.show_text);
|
1516 |
-
$('.woo-side-panel').hide();
|
1517 |
-
$('#sidebar_icon').removeClass('dashicons-arrow-left');
|
1518 |
-
$('#sidebar_icon').addClass('dashicons-arrow-down');
|
1519 |
-
}
|
1520 |
-
});
|
1521 |
-
|
1522 |
-
$('.coupons_selectbox_multi_select_wdr').on('trigger_ajax_select_wdr', function (event) {
|
1523 |
-
var wdr_nonce = $('input[name="wdr_search_nonce"]').val();
|
1524 |
-
$('.coupons_selectbox_multi_select_wdr').selectWoo({
|
1525 |
-
ajax: {
|
1526 |
-
url: ajax_url,
|
1527 |
-
type: 'GET',
|
1528 |
-
// url: "https://api.github.com/search/repositories",
|
1529 |
-
dataType: 'json',
|
1530 |
-
delay: 250,
|
1531 |
-
data: function (params) {
|
1532 |
-
return {
|
1533 |
-
q: params.term, // search term
|
1534 |
-
page: params.page,
|
1535 |
-
wdr_nonce: wdr_nonce,
|
1536 |
-
action: 'loadCoupons'
|
1537 |
-
};
|
1538 |
-
},
|
1539 |
-
processResults: function (data, params) {
|
1540 |
-
// parse the results into the format expected by Select2
|
1541 |
-
// since we are using custom formatting functions we do not need to
|
1542 |
-
// alter the remote JSON data, except to indicate that infinite
|
1543 |
-
// scrolling can be used
|
1544 |
-
params.page = params.page || 1;
|
1545 |
-
if(data.length >= 1){
|
1546 |
-
$.each(data, function( index, value ) {
|
1547 |
-
value.id = value.post_name;
|
1548 |
-
});
|
1549 |
-
}
|
1550 |
-
return {
|
1551 |
-
results: data,
|
1552 |
-
pagination: {
|
1553 |
-
more: (params.page * 30) < data.length
|
1554 |
-
}
|
1555 |
-
};
|
1556 |
-
},
|
1557 |
-
cache: true
|
1558 |
-
},
|
1559 |
-
placeholder: woo_discount_localization.coupon_select_box_placeholder,
|
1560 |
-
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
|
1561 |
-
minimumInputLength: 3,
|
1562 |
-
templateResult: formatCouponSelectBoxWDR,
|
1563 |
-
templateSelection: formatCouponSelectionWDR
|
1564 |
-
});
|
1565 |
-
});
|
1566 |
-
$('.coupons_selectbox_multi_select_wdr').trigger('trigger_ajax_select_wdr');
|
1567 |
-
|
1568 |
-
|
1569 |
-
function formatCouponSelectBoxWDR (repo) {
|
1570 |
-
if (repo.loading) {
|
1571 |
-
return repo.text;
|
1572 |
-
}
|
1573 |
-
var markup = "<div class='select2-result-repository clearfix'>" +
|
1574 |
-
"<div class='select2-result-repository__meta'>" +
|
1575 |
-
"<div class='select2-result-repository__title'>" + repo.post_title + "</div>";
|
1576 |
-
|
1577 |
-
markup += "</div></div>";
|
1578 |
-
|
1579 |
-
return markup;
|
1580 |
-
}
|
1581 |
-
|
1582 |
-
function formatCouponSelectionWDR (repo) {
|
1583 |
-
return repo.post_title || repo.post_name || repo.text;
|
1584 |
-
}
|
1585 |
-
|
1586 |
-
});
|
1587 |
-
|
1588 |
-
//------------------------------------------------------------------------------------------------------------------
|
1589 |
-
function processShowOnlyTags(id_prefix, id){
|
1590 |
-
var availableTags = ["user_div_", "product_div_", "category_div_", "coupon_div_", "general_", "roles_div_", "countries_div_", "purchase_history_div_", "products_div_", "exclude_on_sale_products_div_"];
|
1591 |
-
$.each(availableTags, function( index, value ) {
|
1592 |
-
if(value == id_prefix)
|
1593 |
-
$('#'+value+id).css('display', 'block');
|
1594 |
-
else
|
1595 |
-
$('#'+value+id).css('display', 'none');
|
1596 |
-
});
|
1597 |
-
}
|
1598 |
-
function showOnly(option, id) {
|
1599 |
-
$('.value_text_'+id).css('display', 'block');
|
1600 |
-
if (option == 'products_atleast_one' || option == 'products_not_in') {
|
1601 |
-
processShowOnlyTags('product_div_', id);
|
1602 |
-
} else if (option == 'categories_atleast_one' || option == 'categories_in' || option == 'in_each_category' || option == 'exclude_categories' || option == 'atleast_one_including_sub_categories') {
|
1603 |
-
processShowOnlyTags('category_div_', id);
|
1604 |
-
} else if (option == 'coupon_applied_any_one' || option == 'coupon_applied_all_selected') {
|
1605 |
-
processShowOnlyTags('coupon_div_', id);
|
1606 |
-
} else if (option == 'users_in') {
|
1607 |
-
processShowOnlyTags('user_div_', id);
|
1608 |
-
} else if (option == 'roles_in') {
|
1609 |
-
processShowOnlyTags('roles_div_', id);
|
1610 |
-
} else if (option == 'shipping_countries_in') {
|
1611 |
-
processShowOnlyTags('countries_div_', id);
|
1612 |
-
} else if (option == 'products_in_list' || option == 'products_not_in_list') {
|
1613 |
-
processShowOnlyTags('products_div_', id);
|
1614 |
-
} else if (option == 'exclude_sale_products') {
|
1615 |
-
$('.value_text_'+id).css('display', 'none');
|
1616 |
-
processShowOnlyTags('exclude_on_sale_products_div_', id);
|
1617 |
-
} else if (option == 'customer_based_on_first_order') {
|
1618 |
-
processShowOnlyTags('general_', id);
|
1619 |
-
$('.value_text_'+id).css('display', 'none');
|
1620 |
-
$('#general_'+id).css('display', 'none');
|
1621 |
-
} else if (option == 'customer_based_on_purchase_history' || option == 'customer_based_on_purchase_history_product_order_count' || option == 'customer_based_on_purchase_history_order_count' || option == 'customer_based_on_purchase_history_product_quantity_count') {
|
1622 |
-
processShowOnlyTags('purchase_history_div_', id);
|
1623 |
-
if(option == 'customer_based_on_purchase_history_product_order_count' || option == 'customer_based_on_purchase_history_product_quantity_count'){
|
1624 |
-
$('#purchase_history_div_'+id+' #purchase_history_products_list_'+id).show();
|
1625 |
-
} else {
|
1626 |
-
$('#purchase_history_div_'+id+' #purchase_history_products_list_'+id).hide();
|
1627 |
-
}
|
1628 |
-
} else {
|
1629 |
-
processShowOnlyTags('general_', id);
|
1630 |
-
}
|
1631 |
-
|
1632 |
-
}
|
1633 |
-
|
1634 |
-
function adminNotice() {
|
1635 |
-
jQuery('#woo-admin-message').html(' <div class="notice notice-success is-dismissable"><p>'+woo_discount_localization.saved_successfully+'</p></div>');
|
1636 |
-
|
1637 |
-
setTimeout(function () {
|
1638 |
-
jQuery('#woo-admin-message').html('');
|
1639 |
-
}, 2000);
|
1640 |
-
}
|
1641 |
-
|
1642 |
-
function woo_discount_rule_error_notice(message) {
|
1643 |
-
jQuery('#woo-admin-message').html(' <div class="notice notice-error is-dismissable"><p>'+message+'</p></div>');
|
1644 |
-
|
1645 |
-
setTimeout(function () {
|
1646 |
-
jQuery('#woo-admin-message').html('');
|
1647 |
-
}, 2000);
|
1648 |
-
}
|
1649 |
-
|
1650 |
-
function makeActiveForSelectedTab(selected){
|
1651 |
-
var container = selected.closest('.nav-tab-wrapper');
|
1652 |
-
container.find('.nav-tab').removeClass('nav-tab-active');
|
1653 |
-
selected.addClass('nav-tab-active');
|
1654 |
-
}
|
1655 |
-
|
1656 |
-
})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/js/bootstrap-datetimepicker.min.js
DELETED
@@ -1 +0,0 @@
|
|
1 |
-
(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof exports==="object"){a(require("jquery"))}else{a(jQuery)}}}(function(d,f){if(!("indexOf" in Array.prototype)){Array.prototype.indexOf=function(k,j){if(j===f){j=0}if(j<0){j+=this.length}if(j<0){j=0}for(var l=this.length;j<l;j++){if(j in this&&this[j]===k){return j}}return -1}}function a(){var q,k,p,l,j,n,m,o;k=(new Date()).toString();p=((m=k.split("(")[1])!=null?m.slice(0,-1):0)||k.split(" ");if(p instanceof Array){n=[];for(var l=0,j=p.length;l<j;l++){o=p[l];if((q=(m=o.match(/\b[A-Z]+\b/))!==null)?m[0]:0){n.push(q)}}p=n.pop()}return p}function h(){return new Date(Date.UTC.apply(Date,arguments))}var g=function(k,j){var m=this;this.element=d(k);this.container=j.container||"body";this.language=j.language||this.element.data("date-language")||"en";this.language=this.language in e?this.language:this.language.split("-")[0];this.language=this.language in e?this.language:"en";this.isRTL=e[this.language].rtl||false;this.formatType=j.formatType||this.element.data("format-type")||"standard";this.format=c.parseFormat(j.format||this.element.data("date-format")||e[this.language].format||c.getDefaultFormat(this.formatType,"input"),this.formatType);this.isInline=false;this.isVisible=false;this.isInput=this.element.is("input");this.fontAwesome=j.fontAwesome||this.element.data("font-awesome")||false;this.bootcssVer=j.bootcssVer||(this.isInput?(this.element.is(".form-control")?3:2):(this.bootcssVer=this.element.is(".input-group")?3:2));this.component=this.element.is(".date")?(this.bootcssVer===3?this.element.find(".input-group-addon .glyphicon-th, .input-group-addon .glyphicon-time, .input-group-addon .glyphicon-remove, .input-group-addon .glyphicon-calendar, .input-group-addon .fa-calendar, .input-group-addon .fa-clock-o").parent():this.element.find(".add-on .icon-th, .add-on .icon-time, .add-on .icon-calendar, .add-on .fa-calendar, .add-on .fa-clock-o").parent()):false;this.componentReset=this.element.is(".date")?(this.bootcssVer===3?this.element.find(".input-group-addon .glyphicon-remove, .input-group-addon .fa-times").parent():this.element.find(".add-on .icon-remove, .add-on .fa-times").parent()):false;this.hasInput=this.component&&this.element.find("input").length;if(this.component&&this.component.length===0){this.component=false}this.linkField=j.linkField||this.element.data("link-field")||false;this.linkFormat=c.parseFormat(j.linkFormat||this.element.data("link-format")||c.getDefaultFormat(this.formatType,"link"),this.formatType);this.minuteStep=j.minuteStep||this.element.data("minute-step")||5;this.pickerPosition=j.pickerPosition||this.element.data("picker-position")||"bottom-right";this.showMeridian=j.showMeridian||this.element.data("show-meridian")||false;this.initialDate=j.initialDate||new Date();this.zIndex=j.zIndex||this.element.data("z-index")||f;this.title=typeof j.title==="undefined"?false:j.title;this.timezone=j.timezone||a();this.icons={leftArrow:this.fontAwesome?"fa-arrow-left":(this.bootcssVer===3?"glyphicon-arrow-left":"icon-arrow-left"),rightArrow:this.fontAwesome?"fa-arrow-right":(this.bootcssVer===3?"glyphicon-arrow-right":"icon-arrow-right")};this.icontype=this.fontAwesome?"fa":"glyphicon";this._attachEvents();this.clickedOutside=function(n){if(d(n.target).closest(".datetimepicker").length===0){m.hide()}};this.formatViewType="datetime";if("formatViewType" in j){this.formatViewType=j.formatViewType}else{if("formatViewType" in this.element.data()){this.formatViewType=this.element.data("formatViewType")}}this.minView=0;if("minView" in j){this.minView=j.minView}else{if("minView" in this.element.data()){this.minView=this.element.data("min-view")}}this.minView=c.convertViewMode(this.minView);this.maxView=c.modes.length-1;if("maxView" in j){this.maxView=j.maxView}else{if("maxView" in this.element.data()){this.maxView=this.element.data("max-view")}}this.maxView=c.convertViewMode(this.maxView);this.wheelViewModeNavigation=false;if("wheelViewModeNavigation" in j){this.wheelViewModeNavigation=j.wheelViewModeNavigation}else{if("wheelViewModeNavigation" in this.element.data()){this.wheelViewModeNavigation=this.element.data("view-mode-wheel-navigation")}}this.wheelViewModeNavigationInverseDirection=false;if("wheelViewModeNavigationInverseDirection" in j){this.wheelViewModeNavigationInverseDirection=j.wheelViewModeNavigationInverseDirection}else{if("wheelViewModeNavigationInverseDirection" in this.element.data()){this.wheelViewModeNavigationInverseDirection=this.element.data("view-mode-wheel-navigation-inverse-dir")}}this.wheelViewModeNavigationDelay=100;if("wheelViewModeNavigationDelay" in j){this.wheelViewModeNavigationDelay=j.wheelViewModeNavigationDelay}else{if("wheelViewModeNavigationDelay" in this.element.data()){this.wheelViewModeNavigationDelay=this.element.data("view-mode-wheel-navigation-delay")}}this.startViewMode=2;if("startView" in j){this.startViewMode=j.startView}else{if("startView" in this.element.data()){this.startViewMode=this.element.data("start-view")}}this.startViewMode=c.convertViewMode(this.startViewMode);this.viewMode=this.startViewMode;this.viewSelect=this.minView;if("viewSelect" in j){this.viewSelect=j.viewSelect}else{if("viewSelect" in this.element.data()){this.viewSelect=this.element.data("view-select")}}this.viewSelect=c.convertViewMode(this.viewSelect);this.forceParse=true;if("forceParse" in j){this.forceParse=j.forceParse}else{if("dateForceParse" in this.element.data()){this.forceParse=this.element.data("date-force-parse")}}var l=this.bootcssVer===3?c.templateV3:c.template;while(l.indexOf("{iconType}")!==-1){l=l.replace("{iconType}",this.icontype)}while(l.indexOf("{leftArrow}")!==-1){l=l.replace("{leftArrow}",this.icons.leftArrow)}while(l.indexOf("{rightArrow}")!==-1){l=l.replace("{rightArrow}",this.icons.rightArrow)}this.picker=d(l).appendTo(this.isInline?this.element:this.container).on({click:d.proxy(this.click,this),mousedown:d.proxy(this.mousedown,this)});if(this.wheelViewModeNavigation){if(d.fn.mousewheel){this.picker.on({mousewheel:d.proxy(this.mousewheel,this)})}else{console.log("Mouse Wheel event is not supported. Please include the jQuery Mouse Wheel plugin before enabling this option")}}if(this.isInline){this.picker.addClass("datetimepicker-inline")}else{this.picker.addClass("datetimepicker-dropdown-"+this.pickerPosition+" dropdown-menu")}if(this.isRTL){this.picker.addClass("datetimepicker-rtl");var i=this.bootcssVer===3?".prev span, .next span":".prev i, .next i";this.picker.find(i).toggleClass(this.icons.leftArrow+" "+this.icons.rightArrow)}d(document).on("mousedown touchend",this.clickedOutside);this.autoclose=false;if("autoclose" in j){this.autoclose=j.autoclose}else{if("dateAutoclose" in this.element.data()){this.autoclose=this.element.data("date-autoclose")}}this.keyboardNavigation=true;if("keyboardNavigation" in j){this.keyboardNavigation=j.keyboardNavigation}else{if("dateKeyboardNavigation" in this.element.data()){this.keyboardNavigation=this.element.data("date-keyboard-navigation")}}this.todayBtn=(j.todayBtn||this.element.data("date-today-btn")||false);this.clearBtn=(j.clearBtn||this.element.data("date-clear-btn")||false);this.todayHighlight=(j.todayHighlight||this.element.data("date-today-highlight")||false);this.weekStart=0;if(typeof j.weekStart!=="undefined"){this.weekStart=j.weekStart}else{if(typeof this.element.data("date-weekstart")!=="undefined"){this.weekStart=this.element.data("date-weekstart")}else{if(typeof e[this.language].weekStart!=="undefined"){this.weekStart=e[this.language].weekStart}}}this.weekStart=this.weekStart%7;this.weekEnd=((this.weekStart+6)%7);this.onRenderDay=function(n){var p=(j.onRenderDay||function(){return[]})(n);if(typeof p==="string"){p=[p]}var o=["day"];return o.concat((p?p:[]))};this.onRenderHour=function(n){var p=(j.onRenderHour||function(){return[]})(n);var o=["hour"];if(typeof p==="string"){p=[p]}return o.concat((p?p:[]))};this.onRenderMinute=function(n){var p=(j.onRenderMinute||function(){return[]})(n);var o=["minute"];if(typeof p==="string"){p=[p]}if(n<this.startDate||n>this.endDate){o.push("disabled")}else{if(Math.floor(this.date.getUTCMinutes()/this.minuteStep)===Math.floor(n.getUTCMinutes()/this.minuteStep)){o.push("active")}}return o.concat((p?p:[]))};this.onRenderYear=function(o){var q=(j.onRenderYear||function(){return[]})(o);var p=["year"];if(typeof q==="string"){q=[q]}if(this.date.getUTCFullYear()===o.getUTCFullYear()){p.push("active")}var n=o.getUTCFullYear();var r=this.endDate.getUTCFullYear();if(o<this.startDate||n>r){p.push("disabled")}return p.concat((q?q:[]))};this.onRenderMonth=function(n){var p=(j.onRenderMonth||function(){return[]})(n);var o=["month"];if(typeof p==="string"){p=[p]}return o.concat((p?p:[]))};this.startDate=new Date(-8639968443048000);this.endDate=new Date(8639968443048000);this.datesDisabled=[];this.daysOfWeekDisabled=[];this.setStartDate(j.startDate||this.element.data("date-startdate"));this.setEndDate(j.endDate||this.element.data("date-enddate"));this.setDatesDisabled(j.datesDisabled||this.element.data("date-dates-disabled"));this.setDaysOfWeekDisabled(j.daysOfWeekDisabled||this.element.data("date-days-of-week-disabled"));this.setMinutesDisabled(j.minutesDisabled||this.element.data("date-minute-disabled"));this.setHoursDisabled(j.hoursDisabled||this.element.data("date-hour-disabled"));this.fillDow();this.fillMonths();this.update();this.showMode();if(this.isInline){this.show()}};g.prototype={constructor:g,_events:[],_attachEvents:function(){this._detachEvents();if(this.isInput){this._events=[[this.element,{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}]]}else{if(this.component&&this.hasInput){this._events=[[this.element.find("input"),{focus:d.proxy(this.show,this),keyup:d.proxy(this.update,this),keydown:d.proxy(this.keydown,this)}],[this.component,{click:d.proxy(this.show,this)}]];if(this.componentReset){this._events.push([this.componentReset,{click:d.proxy(this.reset,this)}])}}else{if(this.element.is("div")){this.isInline=true}else{this._events=[[this.element,{click:d.proxy(this.show,this)}]]}}}for(var j=0,k,l;j<this._events.length;j++){k=this._events[j][0];l=this._events[j][1];k.on(l)}},_detachEvents:function(){for(var j=0,k,l;j<this._events.length;j++){k=this._events[j][0];l=this._events[j][1];k.off(l)}this._events=[]},show:function(i){this.picker.show();this.height=this.component?this.component.outerHeight():this.element.outerHeight();if(this.forceParse){this.update()}this.place();d(window).on("resize",d.proxy(this.place,this));if(i){i.stopPropagation();i.preventDefault()}this.isVisible=true;this.element.trigger({type:"show",date:this.date})},hide:function(){if(!this.isVisible){return}if(this.isInline){return}this.picker.hide();d(window).off("resize",this.place);this.viewMode=this.startViewMode;this.showMode();if(!this.isInput){d(document).off("mousedown",this.hide)}if(this.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())){this.setValue()}this.isVisible=false;this.element.trigger({type:"hide",date:this.date})},remove:function(){this._detachEvents();d(document).off("mousedown",this.clickedOutside);this.picker.remove();delete this.picker;delete this.element.data().datetimepicker},getDate:function(){var i=this.getUTCDate();if(i===null){return null}return new Date(i.getTime()+(i.getTimezoneOffset()*60000))},getUTCDate:function(){return this.date},getInitialDate:function(){return this.initialDate},setInitialDate:function(i){this.initialDate=i},setDate:function(i){this.setUTCDate(new Date(i.getTime()-(i.getTimezoneOffset()*60000)))},setUTCDate:function(i){if(i>=this.startDate&&i<=this.endDate){this.date=i;this.setValue();this.viewDate=this.date;this.fill()}else{this.element.trigger({type:"outOfRange",date:i,startDate:this.startDate,endDate:this.endDate})}},setFormat:function(j){this.format=c.parseFormat(j,this.formatType);var i;if(this.isInput){i=this.element}else{if(this.component){i=this.element.find("input")}}if(i&&i.val()){this.setValue()}},setValue:function(){var i=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find("input").val(i)}this.element.data("date",i)}else{this.element.val(i)}if(this.linkField){d("#"+this.linkField).val(this.getFormattedDate(this.linkFormat))}},getFormattedDate:function(i){i=i||this.format;return c.formatDate(this.date,i,this.language,this.formatType,this.timezone)},setStartDate:function(i){this.startDate=i||this.startDate;if(this.startDate.valueOf()!==8639968443048000){this.startDate=c.parseDate(this.startDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setEndDate:function(i){this.endDate=i||this.endDate;if(this.endDate.valueOf()!==8639968443048000){this.endDate=c.parseDate(this.endDate,this.format,this.language,this.formatType,this.timezone)}this.update();this.updateNavArrows()},setDatesDisabled:function(j){this.datesDisabled=j||[];if(!d.isArray(this.datesDisabled)){this.datesDisabled=this.datesDisabled.split(/,\s*/)}var i=this;this.datesDisabled=d.map(this.datesDisabled,function(k){return c.parseDate(k,i.format,i.language,i.formatType,i.timezone).toDateString()});this.update();this.updateNavArrows()},setTitle:function(i,j){return this.picker.find(i).find("th:eq(1)").text(this.title===false?j:this.title)},setDaysOfWeekDisabled:function(i){this.daysOfWeekDisabled=i||[];if(!d.isArray(this.daysOfWeekDisabled)){this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\s*/)}this.daysOfWeekDisabled=d.map(this.daysOfWeekDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setMinutesDisabled:function(i){this.minutesDisabled=i||[];if(!d.isArray(this.minutesDisabled)){this.minutesDisabled=this.minutesDisabled.split(/,\s*/)}this.minutesDisabled=d.map(this.minutesDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},setHoursDisabled:function(i){this.hoursDisabled=i||[];if(!d.isArray(this.hoursDisabled)){this.hoursDisabled=this.hoursDisabled.split(/,\s*/)}this.hoursDisabled=d.map(this.hoursDisabled,function(j){return parseInt(j,10)});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}if(!this.zIndex){var j=0;d("div").each(function(){var o=parseInt(d(this).css("zIndex"),10);if(o>j){j=o}});this.zIndex=j+10}var n,m,l,k;if(this.container instanceof d){k=this.container.offset()}else{k=d(this.container).offset()}if(this.component){n=this.component.offset();l=n.left;if(this.pickerPosition==="bottom-left"||this.pickerPosition==="top-left"){l+=this.component.outerWidth()-this.picker.outerWidth()}}else{n=this.element.offset();l=n.left;if(this.pickerPosition==="bottom-left"||this.pickerPosition==="top-left"){l+=this.element.outerWidth()-this.picker.outerWidth()}}var i=document.body.clientWidth||window.innerWidth;if(l+220>i){l=i-220}if(this.pickerPosition==="top-left"||this.pickerPosition==="top-right"){m=n.top-this.picker.outerHeight()}else{m=n.top+this.height}m=m-k.top;l=l-k.left;this.picker.css({top:m,left:l,zIndex:this.zIndex})},hour_minute:"^([0-9]|0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]",update:function(){var i,j=false;if(arguments&&arguments.length&&(typeof arguments[0]==="string"||arguments[0] instanceof Date)){i=arguments[0];j=true}else{i=(this.isInput?this.element.val():this.element.find("input").val())||this.element.data("date")||this.initialDate;if(typeof i==="string"){i=i.replace(/^\s+|\s+$/g,"")}}if(!i){i=new Date();j=false}if(typeof i==="string"){if(new RegExp(this.hour_minute).test(i)||new RegExp(this.hour_minute+":[0-5][0-9]").test(i)){i=this.getDate()}}this.date=c.parseDate(i,this.format,this.language,this.formatType,this.timezone);if(j){this.setValue()}if(this.date<this.startDate){this.viewDate=new Date(this.startDate)}else{if(this.date>this.endDate){this.viewDate=new Date(this.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var i=this.weekStart,j="<tr>";while(i<this.weekStart+7){j+='<th class="dow">'+e[this.language].daysMin[(i++)%7]+"</th>"}j+="</tr>";this.picker.find(".datetimepicker-days thead").append(j)},fillMonths:function(){var l="";var m=new Date(this.viewDate);for(var k=0;k<12;k++){m.setUTCMonth(k);var j=this.onRenderMonth(m);l+='<span class="'+j.join(" ")+'">'+e[this.language].monthsShort[k]+"</span>"}this.picker.find(".datetimepicker-months td").html(l)},fill:function(){if(!this.date||!this.viewDate){return}var E=new Date(this.viewDate),t=E.getUTCFullYear(),G=E.getUTCMonth(),n=E.getUTCDate(),A=E.getUTCHours(),w=this.startDate.getUTCFullYear(),B=this.startDate.getUTCMonth(),p=this.endDate.getUTCFullYear(),x=this.endDate.getUTCMonth()+1,q=(new h(this.date.getUTCFullYear(),this.date.getUTCMonth(),this.date.getUTCDate())).valueOf(),D=new Date();this.setTitle(".datetimepicker-days",e[this.language].months[G]+" "+t);if(this.formatViewType==="time"){var k=this.getFormattedDate();this.setTitle(".datetimepicker-hours",k);this.setTitle(".datetimepicker-minutes",k)}else{this.setTitle(".datetimepicker-hours",n+" "+e[this.language].months[G]+" "+t);this.setTitle(".datetimepicker-minutes",n+" "+e[this.language].months[G]+" "+t)}this.picker.find("tfoot th.today").text(e[this.language].today||e.en.today).toggle(this.todayBtn!==false);this.picker.find("tfoot th.clear").text(e[this.language].clear||e.en.clear).toggle(this.clearBtn!==false);this.updateNavArrows();this.fillMonths();var I=h(t,G-1,28,0,0,0,0),z=c.getDaysInMonth(I.getUTCFullYear(),I.getUTCMonth());I.setUTCDate(z);I.setUTCDate(z-(I.getUTCDay()-this.weekStart+7)%7);var j=new Date(I);j.setUTCDate(j.getUTCDate()+42);j=j.valueOf();var r=[];var F;while(I.valueOf()<j){if(I.getUTCDay()===this.weekStart){r.push("<tr>")}F=this.onRenderDay(I);if(I.getUTCFullYear()<t||(I.getUTCFullYear()===t&&I.getUTCMonth()<G)){F.push("old")}else{if(I.getUTCFullYear()>t||(I.getUTCFullYear()===t&&I.getUTCMonth()>G)){F.push("new")}}if(this.todayHighlight&&I.getUTCFullYear()===D.getFullYear()&&I.getUTCMonth()===D.getMonth()&&I.getUTCDate()===D.getDate()){F.push("today")}if(I.valueOf()===q){F.push("active")}if((I.valueOf()+86400000)<=this.startDate||I.valueOf()>this.endDate||d.inArray(I.getUTCDay(),this.daysOfWeekDisabled)!==-1||d.inArray(I.toDateString(),this.datesDisabled)!==-1){F.push("disabled")}r.push('<td class="'+F.join(" ")+'">'+I.getUTCDate()+"</td>");if(I.getUTCDay()===this.weekEnd){r.push("</tr>")}I.setUTCDate(I.getUTCDate()+1)}this.picker.find(".datetimepicker-days tbody").empty().append(r.join(""));r=[];var u="",C="",s="";var l=this.hoursDisabled||[];E=new Date(this.viewDate);for(var y=0;y<24;y++){E.setUTCHours(y);F=this.onRenderHour(E);if(l.indexOf(y)!==-1){F.push("disabled")}var v=h(t,G,n,y);if((v.valueOf()+3600000)<=this.startDate||v.valueOf()>this.endDate){F.push("disabled")}else{if(A===y){F.push("active")}}if(this.showMeridian&&e[this.language].meridiem.length===2){C=(y<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==""){r.push("</fieldset>")}r.push('<fieldset class="hour"><legend>'+C.toUpperCase()+"</legend>")}s=C;u=(y%12?y%12:12);if(y<12){F.push("hour_am")}else{F.push("hour_pm")}r.push('<span class="'+F.join(" ")+'">'+u+"</span>");if(y===23){r.push("</fieldset>")}}else{u=y+":00";r.push('<span class="'+F.join(" ")+'">'+u+"</span>")}}this.picker.find(".datetimepicker-hours td").html(r.join(""));r=[];u="";C="";s="";var m=this.minutesDisabled||[];E=new Date(this.viewDate);for(var y=0;y<60;y+=this.minuteStep){if(m.indexOf(y)!==-1){continue}E.setUTCMinutes(y);E.setUTCSeconds(0);F=this.onRenderMinute(E);if(this.showMeridian&&e[this.language].meridiem.length===2){C=(A<12?e[this.language].meridiem[0]:e[this.language].meridiem[1]);if(C!==s){if(s!==""){r.push("</fieldset>")}r.push('<fieldset class="minute"><legend>'+C.toUpperCase()+"</legend>")}s=C;u=(A%12?A%12:12);r.push('<span class="'+F.join(" ")+'">'+u+":"+(y<10?"0"+y:y)+"</span>");if(y===59){r.push("</fieldset>")}}else{u=y+":00";r.push('<span class="'+F.join(" ")+'">'+A+":"+(y<10?"0"+y:y)+"</span>")}}this.picker.find(".datetimepicker-minutes td").html(r.join(""));var J=this.date.getUTCFullYear();var o=this.setTitle(".datetimepicker-months",t).end().find(".month").removeClass("active");if(J===t){o.eq(this.date.getUTCMonth()).addClass("active")}if(t<w||t>p){o.addClass("disabled")}if(t===w){o.slice(0,B).addClass("disabled")}if(t===p){o.slice(x).addClass("disabled")}r="";t=parseInt(t/10,10)*10;var H=this.setTitle(".datetimepicker-years",t+"-"+(t+9)).end().find("td");t-=1;E=new Date(this.viewDate);for(var y=-1;y<11;y++){E.setUTCFullYear(t);F=this.onRenderYear(E);if(y===-1||y===10){F.push(b)}r+='<span class="'+F.join(" ")+'">'+t+"</span>";t+=1}H.html(r);this.place()},updateNavArrows:function(){var m=new Date(this.viewDate),k=m.getUTCFullYear(),l=m.getUTCMonth(),j=m.getUTCDate(),i=m.getUTCHours();switch(this.viewMode){case 0:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()&&i<=this.startDate.getUTCHours()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()&&i>=this.endDate.getUTCHours()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 1:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()&&j<=this.startDate.getUTCDate()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()&&j>=this.endDate.getUTCDate()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 2:if(k<=this.startDate.getUTCFullYear()&&l<=this.startDate.getUTCMonth()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()&&l>=this.endDate.getUTCMonth()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 3:case 4:if(k<=this.startDate.getUTCFullYear()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(k>=this.endDate.getUTCFullYear()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break}},mousewheel:function(j){j.preventDefault();j.stopPropagation();if(this.wheelPause){return}this.wheelPause=true;var i=j.originalEvent;var l=i.wheelDelta;var k=l>0?1:(l===0)?0:-1;if(this.wheelViewModeNavigationInverseDirection){k=-k}this.showMode(k);setTimeout(d.proxy(function(){this.wheelPause=false},this),this.wheelViewModeNavigationDelay)},click:function(m){m.stopPropagation();m.preventDefault();var n=d(m.target).closest("span, td, th, legend");if(n.is("."+this.icontype)){n=d(n).parent().closest("span, td, th, legend")}if(n.length===1){if(n.is(".disabled")){this.element.trigger({type:"outOfRange",date:this.viewDate,startDate:this.startDate,endDate:this.endDate});return}switch(n[0].nodeName.toLowerCase()){case"th":switch(n[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var i=c.modes[this.viewMode].navStep*(n[0].className==="prev"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveHour(this.viewDate,i);break;case 1:this.viewDate=this.moveDate(this.viewDate,i);break;case 2:this.viewDate=this.moveMonth(this.viewDate,i);break;case 3:case 4:this.viewDate=this.moveYear(this.viewDate,i);break}this.fill();this.element.trigger({type:n[0].className+":"+this.convertViewModeText(this.viewMode),date:this.viewDate,startDate:this.startDate,endDate:this.endDate});break;case"clear":this.reset();if(this.autoclose){this.hide()}break;case"today":var j=new Date();j=h(j.getFullYear(),j.getMonth(),j.getDate(),j.getHours(),j.getMinutes(),j.getSeconds(),0);if(j<this.startDate){j=this.startDate}else{if(j>this.endDate){j=this.endDate}}this.viewMode=this.startViewMode;this.showMode(0);this._setDate(j);this.fill();if(this.autoclose){this.hide()}break}break;case"span":if(!n.is(".disabled")){var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),q=this.viewDate.getUTCDate(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(".month")){this.viewDate.setUTCDate(1);o=n.parent().find("span").index(n);q=this.viewDate.getUTCDate();this.viewDate.setUTCMonth(o);this.element.trigger({type:"changeMonth",date:this.viewDate});if(this.viewSelect>=3){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".year")){this.viewDate.setUTCDate(1);p=parseInt(n.text(),10)||0;this.viewDate.setUTCFullYear(p);this.element.trigger({type:"changeYear",date:this.viewDate});if(this.viewSelect>=4){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".hour")){r=parseInt(n.text(),10)||0;if(n.hasClass("hour_am")||n.hasClass("hour_pm")){if(r===12&&n.hasClass("hour_am")){r=0}else{if(r!==12&&n.hasClass("hour_pm")){r+=12}}}this.viewDate.setUTCHours(r);this.element.trigger({type:"changeHour",date:this.viewDate});if(this.viewSelect>=1){this._setDate(h(p,o,q,r,k,s,0))}}else{if(n.is(".minute")){k=parseInt(n.text().substr(n.text().indexOf(":")+1),10)||0;this.viewDate.setUTCMinutes(k);this.element.trigger({type:"changeMinute",date:this.viewDate});if(this.viewSelect>=0){this._setDate(h(p,o,q,r,k,s,0))}}}}}if(this.viewMode!==0){var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}}break;case"td":if(n.is(".day")&&!n.is(".disabled")){var q=parseInt(n.text(),10)||1;var p=this.viewDate.getUTCFullYear(),o=this.viewDate.getUTCMonth(),r=this.viewDate.getUTCHours(),k=this.viewDate.getUTCMinutes(),s=this.viewDate.getUTCSeconds();if(n.is(".old")){if(o===0){o=11;p-=1}else{o-=1}}else{if(n.is(".new")){if(o===11){o=0;p+=1}else{o+=1}}}this.viewDate.setUTCFullYear(p);this.viewDate.setUTCMonth(o,q);this.element.trigger({type:"changeDay",date:this.viewDate});if(this.viewSelect>=2){this._setDate(h(p,o,q,r,k,s,0))}}var l=this.viewMode;this.showMode(-1);this.fill();if(l===this.viewMode&&this.autoclose){this.hide()}break}}},_setDate:function(i,k){if(!k||k==="date"){this.date=i}if(!k||k==="view"){this.viewDate=i}this.fill();this.setValue();var j;if(this.isInput){j=this.element}else{if(this.component){j=this.element.find("input")}}if(j){j.change()}this.element.trigger({type:"changeDate",date:this.getDate()});if(i===null){this.date=this.viewDate}},moveMinute:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCMinutes(k.getUTCMinutes()+(i*this.minuteStep));return k},moveHour:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCHours(k.getUTCHours()+i);return k},moveDate:function(j,i){if(!i){return j}var k=new Date(j.valueOf());k.setUTCDate(k.getUTCDate()+i);return k},moveMonth:function(j,k){if(!k){return j}var n=new Date(j.valueOf()),r=n.getUTCDate(),o=n.getUTCMonth(),m=Math.abs(k),q,p;k=k>0?1:-1;if(m===1){p=k===-1?function(){return n.getUTCMonth()===o}:function(){return n.getUTCMonth()!==q};q=o+k;n.setUTCMonth(q);if(q<0||q>11){q=(q+12)%12}}else{for(var l=0;l<m;l++){n=this.moveMonth(n,k)}q=n.getUTCMonth();n.setUTCDate(r);p=function(){return q!==n.getUTCMonth()}}while(p()){n.setUTCDate(--r);n.setUTCMonth(q)}return n},moveYear:function(j,i){return this.moveMonth(j,i*12)},dateWithinRange:function(i){return i>=this.startDate&&i<=this.endDate},keydown:function(o){if(this.picker.is(":not(:visible)")){if(o.keyCode===27){this.show()}return}var k=false,j,i,n;switch(o.keyCode){case 27:this.hide();o.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation){break}j=o.keyCode===37?-1:1;var m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j);n=this.moveDate(this.viewDate,j)}else{if(m===1){i=this.moveHour(this.date,j);n=this.moveHour(this.viewDate,j)}else{if(m===0){i=this.moveMinute(this.date,j);n=this.moveMinute(this.viewDate,j)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 38:case 40:if(!this.keyboardNavigation){break}j=o.keyCode===38?-1:1;m=this.viewMode;if(o.ctrlKey){m+=2}else{if(o.shiftKey){m+=1}}if(m===4){i=this.moveYear(this.date,j);n=this.moveYear(this.viewDate,j)}else{if(m===3){i=this.moveMonth(this.date,j);n=this.moveMonth(this.viewDate,j)}else{if(m===2){i=this.moveDate(this.date,j*7);n=this.moveDate(this.viewDate,j*7)}else{if(m===1){if(this.showMeridian){i=this.moveHour(this.date,j*6);n=this.moveHour(this.viewDate,j*6)}else{i=this.moveHour(this.date,j*4);n=this.moveHour(this.viewDate,j*4)}}else{if(m===0){i=this.moveMinute(this.date,j*4);n=this.moveMinute(this.viewDate,j*4)}}}}}if(this.dateWithinRange(i)){this.date=i;this.viewDate=n;this.setValue();this.update();o.preventDefault();k=true}break;case 13:if(this.viewMode!==0){var p=this.viewMode;this.showMode(-1);this.fill();if(p===this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}o.preventDefault();break;case 9:this.hide();break}if(k){var l;if(this.isInput){l=this.element}else{if(this.component){l=this.element.find("input")}}if(l){l.change()}this.element.trigger({type:"changeDate",date:this.getDate()})}},showMode:function(i){if(i){var j=Math.max(0,Math.min(c.modes.length-1,this.viewMode+i));if(j>=this.minView&&j<=this.maxView){this.element.trigger({type:"changeMode",date:this.viewDate,oldViewMode:this.viewMode,newViewMode:j});this.viewMode=j}}this.picker.find(">div").hide().filter(".datetimepicker-"+c.modes[this.viewMode].clsName).css("display","block");this.updateNavArrows()},reset:function(){this._setDate(null,"date")},convertViewModeText:function(i){switch(i){case 4:return"decade";case 3:return"year";case 2:return"month";case 1:return"day";case 0:return"hour"}}};var b=d.fn.datetimepicker;d.fn.datetimepicker=function(k){var i=Array.apply(null,arguments);i.shift();var j;this.each(function(){var n=d(this),m=n.data("datetimepicker"),l=typeof k==="object"&&k;if(!m){n.data("datetimepicker",(m=new g(this,d.extend({},d.fn.datetimepicker.defaults,l))))}if(typeof k==="string"&&typeof m[k]==="function"){j=m[k].apply(m,i);if(j!==f){return false}}});if(j!==f){return j}else{return this}};d.fn.datetimepicker.defaults={};d.fn.datetimepicker.Constructor=g;var e=d.fn.datetimepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["am","pm"],suffix:["st","nd","rd","th"],today:"Today",clear:"Clear"}};var c={modes:[{clsName:"minutes",navFnc:"Hours",navStep:1},{clsName:"hours",navFnc:"Date",navStep:1},{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(i){return(((i%4===0)&&(i%100!==0))||(i%400===0))},getDaysInMonth:function(i,j){return[31,(c.isLeapYear(i)?29:28),31,30,31,30,31,31,30,31,30,31][j]},getDefaultFormat:function(i,j){if(i==="standard"){if(j==="input"){return"yyyy-mm-dd hh:ii"}else{return"yyyy-mm-dd hh:ii:ss"}}else{if(i==="php"){if(j==="input"){return"Y-m-d H:i"}else{return"Y-m-d H:i:s"}}else{throw new Error("Invalid format type.")}}},validParts:function(i){if(i==="standard"){return/t|hh?|HH?|p|P|z|Z|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g}else{if(i==="php"){return/[dDjlNwzFmMnStyYaABgGhHis]/g}else{throw new Error("Invalid format type.")}}},nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,parseFormat:function(l,j){var i=l.replace(this.validParts(j),"\0").split("\0"),k=l.match(this.validParts(j));if(!i||!i.length||!k||k.length===0){throw new Error("Invalid date format.")}return{separators:i,parts:k}},parseDate:function(A,y,v,j,r){if(A instanceof Date){var u=new Date(A.valueOf()-A.getTimezoneOffset()*60000);u.setMilliseconds(0);return u}if(/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(A)){y=this.parseFormat("yyyy-mm-dd",j)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(A)){y=this.parseFormat("yyyy-mm-dd hh:ii",j)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(A)){y=this.parseFormat("yyyy-mm-dd hh:ii:ss",j)}if(/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(A)){var l=/([-+]\d+)([dmwy])/,q=A.match(/([-+]\d+)([dmwy])/g),t,p;A=new Date();for(var x=0;x<q.length;x++){t=l.exec(q[x]);p=parseInt(t[1]);switch(t[2]){case"d":A.setUTCDate(A.getUTCDate()+p);break;case"m":A=g.prototype.moveMonth.call(g.prototype,A,p);break;case"w":A.setUTCDate(A.getUTCDate()+p*7);break;case"y":A=g.prototype.moveYear.call(g.prototype,A,p);break}}return h(A.getUTCFullYear(),A.getUTCMonth(),A.getUTCDate(),A.getUTCHours(),A.getUTCMinutes(),A.getUTCSeconds(),0)}var q=A&&A.toString().match(this.nonpunctuation)||[],A=new Date(0,0,0,0,0,0,0),m={},z=["hh","h","ii","i","ss","s","yyyy","yy","M","MM","m","mm","D","DD","d","dd","H","HH","p","P","z","Z"],o={hh:function(s,i){return s.setUTCHours(i)},h:function(s,i){return s.setUTCHours(i)},HH:function(s,i){return s.setUTCHours(i===12?0:i)},H:function(s,i){return s.setUTCHours(i===12?0:i)},ii:function(s,i){return s.setUTCMinutes(i)},i:function(s,i){return s.setUTCMinutes(i)},ss:function(s,i){return s.setUTCSeconds(i)},s:function(s,i){return s.setUTCSeconds(i)},yyyy:function(s,i){return s.setUTCFullYear(i)},yy:function(s,i){return s.setUTCFullYear(2000+i)},m:function(s,i){i-=1;while(i<0){i+=12}i%=12;s.setUTCMonth(i);while(s.getUTCMonth()!==i){if(isNaN(s.getUTCMonth())){return s}else{s.setUTCDate(s.getUTCDate()-1)}}return s},d:function(s,i){return s.setUTCDate(i)},p:function(s,i){return s.setUTCHours(i===1?s.getUTCHours()+12:s.getUTCHours())},z:function(){return r}},B,k,t;o.M=o.MM=o.mm=o.m;o.dd=o.d;o.P=o.p;o.Z=o.z;A=h(A.getFullYear(),A.getMonth(),A.getDate(),A.getHours(),A.getMinutes(),A.getSeconds());if(q.length===y.parts.length){for(var x=0,w=y.parts.length;x<w;x++){B=parseInt(q[x],10);t=y.parts[x];if(isNaN(B)){switch(t){case"MM":k=d(e[v].months).filter(function(){var i=this.slice(0,q[x].length),s=q[x].slice(0,i.length);return i===s});B=d.inArray(k[0],e[v].months)+1;break;case"M":k=d(e[v].monthsShort).filter(function(){var i=this.slice(0,q[x].length),s=q[x].slice(0,i.length);return i.toLowerCase()===s.toLowerCase()});B=d.inArray(k[0],e[v].monthsShort)+1;break;case"p":case"P":B=d.inArray(q[x].toLowerCase(),e[v].meridiem);break;case"z":case"Z":r;break}}m[t]=B}for(var x=0,n;x<z.length;x++){n=z[x];if(n in m&&!isNaN(m[n])){o[n](A,m[n])}}}return A},formatDate:function(l,q,m,p,o){if(l===null){return""}var k;if(p==="standard"){k={t:l.getTime(),yy:l.getUTCFullYear().toString().substring(2),yyyy:l.getUTCFullYear(),m:l.getUTCMonth()+1,M:e[m].monthsShort[l.getUTCMonth()],MM:e[m].months[l.getUTCMonth()],d:l.getUTCDate(),D:e[m].daysShort[l.getUTCDay()],DD:e[m].days[l.getUTCDay()],p:(e[m].meridiem.length===2?e[m].meridiem[l.getUTCHours()<12?0:1]:""),h:l.getUTCHours(),i:l.getUTCMinutes(),s:l.getUTCSeconds(),z:o};if(e[m].meridiem.length===2){k.H=(k.h%12===0?12:k.h%12)}else{k.H=k.h}k.HH=(k.H<10?"0":"")+k.H;k.P=k.p.toUpperCase();k.Z=k.z;k.hh=(k.h<10?"0":"")+k.h;k.ii=(k.i<10?"0":"")+k.i;k.ss=(k.s<10?"0":"")+k.s;k.dd=(k.d<10?"0":"")+k.d;k.mm=(k.m<10?"0":"")+k.m}else{if(p==="php"){k={y:l.getUTCFullYear().toString().substring(2),Y:l.getUTCFullYear(),F:e[m].months[l.getUTCMonth()],M:e[m].monthsShort[l.getUTCMonth()],n:l.getUTCMonth()+1,t:c.getDaysInMonth(l.getUTCFullYear(),l.getUTCMonth()),j:l.getUTCDate(),l:e[m].days[l.getUTCDay()],D:e[m].daysShort[l.getUTCDay()],w:l.getUTCDay(),N:(l.getUTCDay()===0?7:l.getUTCDay()),S:(l.getUTCDate()%10<=e[m].suffix.length?e[m].suffix[l.getUTCDate()%10-1]:""),a:(e[m].meridiem.length===2?e[m].meridiem[l.getUTCHours()<12?0:1]:""),g:(l.getUTCHours()%12===0?12:l.getUTCHours()%12),G:l.getUTCHours(),i:l.getUTCMinutes(),s:l.getUTCSeconds()};k.m=(k.n<10?"0":"")+k.n;k.d=(k.j<10?"0":"")+k.j;k.A=k.a.toString().toUpperCase();k.h=(k.g<10?"0":"")+k.g;k.H=(k.G<10?"0":"")+k.G;k.i=(k.i<10?"0":"")+k.i;k.s=(k.s<10?"0":"")+k.s}else{throw new Error("Invalid format type.")}}var l=[],r=d.extend([],q.separators);for(var n=0,j=q.parts.length;n<j;n++){if(r.length){l.push(r.shift())}l.push(k[q.parts[n]])}if(r.length){l.push(r.shift())}return l.join("")},convertViewMode:function(i){switch(i){case 4:case"decade":i=4;break;case 3:case"year":i=3;break;case 2:case"month":i=2;break;case 1:case"day":i=1;break;case 0:case"hour":i=0;break}return i},headTemplate:'<thead><tr><th class="prev"><i class="{iconType} {leftArrow}"/></th><th colspan="5" class="switch"></th><th class="next"><i class="{iconType} {rightArrow}"/></th></tr></thead>',headTemplateV3:'<thead><tr><th class="prev"><span class="{iconType} {leftArrow}"></span> </th><th colspan="5" class="switch"></th><th class="next"><span class="{iconType} {rightArrow}"></span> </th></tr></thead>',contTemplate:'<tbody><tr><td colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th colspan="7" class="today"></th></tr><tr><th colspan="7" class="clear"></th></tr></tfoot>'};c.template='<div class="datetimepicker"><div class="datetimepicker-minutes"><table class=" table-condensed">'+c.headTemplate+c.contTemplate+c.footTemplate+'</table></div><div class="datetimepicker-hours"><table class=" table-condensed">'+c.headTemplate+c.contTemplate+c.footTemplate+'</table></div><div class="datetimepicker-days"><table class=" table-condensed">'+c.headTemplate+"<tbody></tbody>"+c.footTemplate+'</table></div><div class="datetimepicker-months"><table class="table-condensed">'+c.headTemplate+c.contTemplate+c.footTemplate+'</table></div><div class="datetimepicker-years"><table class="table-condensed">'+c.headTemplate+c.contTemplate+c.footTemplate+"</table></div></div>";c.templateV3='<div class="datetimepicker"><div class="datetimepicker-minutes"><table class=" table-condensed">'+c.headTemplateV3+c.contTemplate+c.footTemplate+'</table></div><div class="datetimepicker-hours"><table class=" table-condensed">'+c.headTemplateV3+c.contTemplate+c.footTemplate+'</table></div><div class="datetimepicker-days"><table class=" table-condensed">'+c.headTemplateV3+"<tbody></tbody>"+c.footTemplate+'</table></div><div class="datetimepicker-months"><table class="table-condensed">'+c.headTemplateV3+c.contTemplate+c.footTemplate+'</table></div><div class="datetimepicker-years"><table class="table-condensed">'+c.headTemplateV3+c.contTemplate+c.footTemplate+"</table></div></div>";d.fn.datetimepicker.DPGlobal=c;d.fn.datetimepicker.noConflict=function(){d.fn.datetimepicker=b;return this};d(document).on("focus.datetimepicker.data-api click.datetimepicker.data-api",'[data-provide="datetimepicker"]',function(j){var i=d(this);if(i.data("datetimepicker")){return}j.preventDefault();i.datetimepicker("show")});d(function(){d('[data-provide="datetimepicker-inline"]').datetimepicker()})}));
|
|
v1/assets/js/bootstrap.min.js
DELETED
@@ -1,6 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap v3.4.1 (https://getbootstrap.com/)
|
3 |
-
* Copyright 2011-2019 Twitter, Inc.
|
4 |
-
* Licensed under the MIT license
|
5 |
-
*/
|
6 |
-
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function(n){"use strict";n.fn.emulateTransitionEnd=function(t){var e=!1,i=this;n(this).one("bsTransitionEnd",function(){e=!0});return setTimeout(function(){e||n(i).trigger(n.support.transition.end)},t),this},n(function(){n.support.transition=function o(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(t.style[i]!==undefined)return{end:e[i]};return!1}(),n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){"use strict";var e='[data-dismiss="alert"]',a=function(t){s(t).on("click",e,this.close)};a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr("data-target");i||(i=(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),i="#"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger("closed.bs.alert").remove()}t&&t.preventDefault(),o.length||(o=e.closest(".alert")),o.trigger(t=s.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),s.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function o(i){return this.each(function(){var t=s(this),e=t.data("bs.alert");e||t.data("bs.alert",e=new a(this)),"string"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on("click.bs.alert.data-api",e,a.prototype.close)}(jQuery),function(s){"use strict";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data("bs.button"),i="object"==typeof o&&o;e||t.data("bs.button",e=new n(this,i)),"toggle"==o?e.toggle():o&&e.setState(o)})}n.VERSION="3.4.1",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var e="disabled",i=this.$element,o=i.is("input")?"val":"html",n=i.data();t+="Text",null==n.resetText&&i.data("resetText",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var e=s(t.target).closest(".btn");i.call(e,"toggle"),s(t.target).is('input[type="radio"], input[type="checkbox"]')||(t.preventDefault(),e.is("input,button")?e.trigger("focus"):e.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){s(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){"use strict";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",p.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",p.proxy(this.pause,this)).on("mouseleave.bs.carousel",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data("bs.carousel"),i=p.extend({},c.DEFAULTS,t.data(),"object"==typeof n&&n),o="string"==typeof n?n:i.slide;e||t.data("bs.carousel",e=new c(this,i)),"number"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION="3.4.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if(("prev"==t&&0===i||"next"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+("prev"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?"next":"prev",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(t,e){var i=this.$element.find(".item.active"),o=e||this.getItemForDirection(t,i),n=this.interval,s="next"==t?"left":"right",a=this;if(o.hasClass("active"))return this.sliding=!1;var r=o[0],l=p.Event("slide.bs.carousel",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass("active")}var d=p.Event("slid.bs.carousel",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass("slide")?(o.addClass(t),"object"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one("bsTransitionEnd",function(){o.removeClass([t,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr("href");i&&(i=i.replace(/.*(?=#[^\s]+$)/,""));var o=e.attr("data-target")||i,n=p(document).find(o);if(n.hasClass("carousel")){var s=p.extend({},n.data(),e.data()),a=e.attr("data-slide-to");a&&(s.interval=!1),r.call(n,s),a&&n.data("bs.carousel").to(a),t.preventDefault()}};p(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),p(window).on("load",function(){p('[data-ride="carousel"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){"use strict";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr("data-target")||(e=t.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data("bs.collapse"),i=a.extend({},r.DEFAULTS,t.data(),"object"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data("bs.collapse",e=new r(this,i)),"string"==typeof o&&e[o]()})}r.VERSION="3.4.1",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(t=e.data("bs.collapse"))&&t.transitioning)){var i=a.Event("show.bs.collapse");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,"hide"),t||e.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var n=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return n.call(this);var s=a.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=a.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!a.support.transition)return i.call(this);this.$element[e](0).one("bsTransitionEnd",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return a(document).find(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var e=a(this);e.attr("data-target")||t.preventDefault();var i=n(e),o=i.data("bs.collapse")?"toggle":e.data();l.call(i,o)})}(jQuery),function(a){"use strict";var r='[data-toggle="dropdown"]',o=function(t){a(t).on("click.bs.dropdown",this.toggle)};function l(t){var e=t.attr("data-target");e||(e=(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""));var i="#"!==e?a(document).find(e):null;return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(".dropdown-backdrop").remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass("open")&&(o&&"click"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event("hide.bs.dropdown",i)),o.isDefaultPrevented()||(t.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",i)))))}))}o.VERSION="3.4.1",o.prototype.toggle=function(t){var e=a(this);if(!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(s(),!o){"ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",s);var n={relatedTarget:this};if(i.trigger(t=a.Event("show.bs.dropdown",n)),t.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),i.toggleClass("open").trigger(a.Event("shown.bs.dropdown",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger("focus"),e.trigger("click");var n=i.find(".dropdown-menu li:not(.disabled):visible a");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger("focus")}}}};var t=a.fn.dropdown;a.fn.dropdown=function e(i){return this.each(function(){var t=a(this),e=t.data("bs.dropdown");e||t.data("bs.dropdown",e=new o(this)),"string"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=t,this},a(document).on("click.bs.dropdown.data-api",s).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",r,o.prototype.toggle).on("keydown.bs.dropdown.data-api",r,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery),function(a){"use strict";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=".navbar-fixed-top, .navbar-fixed-bottom",this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data("bs.modal"),i=a.extend({},s.DEFAULTS,t.data(),"object"==typeof o&&o);e||t.data("bs.modal",e=new s(this,i)),"string"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION="3.4.1",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event("show.bs.modal",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:i});t?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger("focus").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},s.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;o?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";var n=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css("padding-right",t+n),a(this.fixedContent).each(function(t,e){var i=e.style.paddingRight,o=a(e).css("padding-right");a(e).data("padding-right",i).css("padding-right",parseFloat(o)+n+"px")}))},s.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad),a(this.fixedContent).each(function(t,e){var i=a(e).data("padding-right");a(e).removeData("padding-right"),e.style.paddingRight=i||""})},s.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var e=a(this),i=e.attr("href"),o=e.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,""),n=a(document).find(o),s=n.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is("a")&&t.preventDefault(),n.one("show.bs.modal",function(t){t.isDefaultPrevented()||n.one("hidden.bs.modal",function(){e.is(":visible")&&e.trigger("focus")})}),r.call(n,s,this)})}(jQuery),function(g){"use strict";var o=["sanitize","whiteList","sanitizeFn"],a=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],t={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,l=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function u(t,e){var i=t.nodeName.toLowerCase();if(-1!==g.inArray(i,e))return-1===g.inArray(i,a)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(l));for(var o=g(e).filter(function(t,e){return e instanceof RegExp}),n=0,s=o.length;n<s;n++)if(i.match(o[n]))return!0;return!1}function n(t,e,i){if(0===t.length)return t;if(i&&"function"==typeof i)return i(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var o=document.implementation.createHTMLDocument("sanitization");o.body.innerHTML=t;for(var n=g.map(e,function(t,e){return e}),s=g(o.body).find("*"),a=0,r=s.length;a<r;a++){var l=s[a],h=l.nodeName.toLowerCase();if(-1!==g.inArray(h,n))for(var d=g.map(l.attributes,function(t){return t}),p=[].concat(e["*"]||[],e[h]||[]),c=0,f=d.length;c<f;c++)u(d[c],p)||l.removeAttribute(d[c].nodeName);else l.parentNode.removeChild(l)}return o.body.innerHTML}var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};m.VERSION="3.4.1",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-d<c.top?"bottom":"right"==s&&l.right+h>c.width?"left":"left"==s&&l.left-h<c.left?"right":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass("fade")?o.one("bsTransitionEnd",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass("in");var r=i[0].offsetWidth,l=i[0].offsetHeight;"top"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?"offsetWidth":"offsetHeight";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=n(e,this.options.whiteList,this.options.sanitizeFn)),t.find(".tooltip-inner").html(e)):t.find(".tooltip-inner").text(e),t.removeClass("fade in top bottom left right")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event("hide.bs."+this.type);function n(){"in"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass("in"),g.support.transition&&i.hasClass("fade")?i.one("bsTransitionEnd",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i="BODY"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(n[t+1]===undefined||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=s(e).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on("load.bs.scrollspy.data-api",function(){s('[data-spy="scroll"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){"use strict";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data("bs.tab");e||t.data("bs.tab",e=new a(this)),"string"==typeof i&&e[i]()})}a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest("ul:not(.dropdown-menu)"),i=t.data("target");if(i||(i=(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var o=e.find(".active:last a"),n=r.Event("hide.bs.tab",{relatedTarget:t[0]}),s=r.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(document).find(i);this.activate(t.closest("li"),e),this.activate(a,a.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find("> .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?"top":null!=o&&t-o<=l+(r?a:e)&&"bottom"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());"object"!=typeof e&&(o=i=e),"function"==typeof i&&(i=e.top(this.$element)),"function"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var a="affix"+(s?"-"+s:""),r=l.Event(a+".bs.affix");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on("load",function(){l('[data-spy="affix"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/js/bootstrap.select.min.js
DELETED
@@ -1,8 +0,0 @@
|
|
1 |
-
/*!
|
2 |
-
* Bootstrap-select v1.10.0 (http://silviomoreto.github.io/bootstrap-select)
|
3 |
-
*
|
4 |
-
* Copyright 2013-2016 bootstrap-select
|
5 |
-
* Licensed under MIT (https://github.com/silviomoreto/bootstrap-select/blob/master/LICENSE)
|
6 |
-
*/
|
7 |
-
!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){!function(a){"use strict";function b(b){var c=[{re:/[\xC0-\xC6]/g,ch:"A"},{re:/[\xE0-\xE6]/g,ch:"a"},{re:/[\xC8-\xCB]/g,ch:"E"},{re:/[\xE8-\xEB]/g,ch:"e"},{re:/[\xCC-\xCF]/g,ch:"I"},{re:/[\xEC-\xEF]/g,ch:"i"},{re:/[\xD2-\xD6]/g,ch:"O"},{re:/[\xF2-\xF6]/g,ch:"o"},{re:/[\xD9-\xDC]/g,ch:"U"},{re:/[\xF9-\xFC]/g,ch:"u"},{re:/[\xC7-\xE7]/g,ch:"c"},{re:/[\xD1]/g,ch:"N"},{re:/[\xF1]/g,ch:"n"}];return a.each(c,function(){b=b.replace(this.re,this.ch)}),b}function c(a){var b={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},c="(?:"+Object.keys(b).join("|")+")",d=new RegExp(c),e=new RegExp(c,"g"),f=null==a?"":""+a;return d.test(f)?f.replace(e,function(a){return b[a]}):f}function d(b,c){var d=arguments,f=b,g=c;[].shift.apply(d);var h,i=this.each(function(){var b=a(this);if(b.is("select")){var c=b.data("selectpicker"),i="object"==typeof f&&f;if(c){if(i)for(var j in i)i.hasOwnProperty(j)&&(c.options[j]=i[j])}else{var k=a.extend({},e.DEFAULTS,a.fn.selectpicker.defaults||{},b.data(),i);k.template=a.extend({},e.DEFAULTS.template,a.fn.selectpicker.defaults?a.fn.selectpicker.defaults.template:{},b.data().template,i.template),b.data("selectpicker",c=new e(this,k,g))}"string"==typeof f&&(h=c[f]instanceof Function?c[f].apply(c,d):c.options[f])}});return"undefined"!=typeof h?h:i}String.prototype.includes||!function(){var a={}.toString,b=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),c="".indexOf,d=function(b){if(null==this)throw new TypeError;var d=String(this);if(b&&"[object RegExp]"==a.call(b))throw new TypeError;var e=d.length,f=String(b),g=f.length,h=arguments.length>1?arguments[1]:void 0,i=h?Number(h):0;i!=i&&(i=0);var j=Math.min(Math.max(i,0),e);return g+j>e?!1:-1!=c.call(d,f,i)};b?b(String.prototype,"includes",{value:d,configurable:!0,writable:!0}):String.prototype.includes=d}(),String.prototype.startsWith||!function(){var a=function(){try{var a={},b=Object.defineProperty,c=b(a,a,a)&&b}catch(d){}return c}(),b={}.toString,c=function(a){if(null==this)throw new TypeError;var c=String(this);if(a&&"[object RegExp]"==b.call(a))throw new TypeError;var d=c.length,e=String(a),f=e.length,g=arguments.length>1?arguments[1]:void 0,h=g?Number(g):0;h!=h&&(h=0);var i=Math.min(Math.max(h,0),d);if(f+i>d)return!1;for(var j=-1;++j<f;)if(c.charCodeAt(i+j)!=e.charCodeAt(j))return!1;return!0};a?a(String.prototype,"startsWith",{value:c,configurable:!0,writable:!0}):String.prototype.startsWith=c}(),Object.keys||(Object.keys=function(a,b,c){c=[];for(b in a)c.hasOwnProperty.call(a,b)&&c.push(b);return c}),a.fn.triggerNative=function(a){var b,c=this[0];c.dispatchEvent?("function"==typeof Event?b=new Event(a,{bubbles:!0}):(b=document.createEvent("Event"),b.initEvent(a,!0,!1)),c.dispatchEvent(b)):(c.fireEvent&&(b=document.createEventObject(),b.eventType=a,c.fireEvent("on"+a,b)),this.trigger(a))},a.expr[":"].icontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toUpperCase();return f.includes(d[3].toUpperCase())},a.expr[":"].ibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.text()).toUpperCase();return f.startsWith(d[3].toUpperCase())},a.expr[":"].aicontains=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toUpperCase();return f.includes(d[3].toUpperCase())},a.expr[":"].aibegins=function(b,c,d){var e=a(b),f=(e.data("tokens")||e.data("normalizedText")||e.text()).toUpperCase();return f.startsWith(d[3].toUpperCase())};var e=function(b,c,d){d&&(d.stopPropagation(),d.preventDefault()),this.$element=a(b),this.$newElement=null,this.$button=null,this.$menu=null,this.$lis=null,this.options=c,null===this.options.title&&(this.options.title=this.$element.attr("title")),this.val=e.prototype.val,this.render=e.prototype.render,this.refresh=e.prototype.refresh,this.setStyle=e.prototype.setStyle,this.selectAll=e.prototype.selectAll,this.deselectAll=e.prototype.deselectAll,this.destroy=e.prototype.destroy,this.remove=e.prototype.remove,this.show=e.prototype.show,this.hide=e.prototype.hide,this.init()};e.VERSION="1.10.0",e.DEFAULTS={noneSelectedText:"None selected",noneResultsText:"No results matched {0}",countSelectedText:function(a,b){return 1==a?"{0} item selected":"{0} items selected"},maxOptionsText:function(a,b){return[1==a?"Limit reached ({n} item max)":"Limit reached ({n} items max)",1==b?"Group limit reached ({n} item max)":"Group limit reached ({n} items max)"]},selectAllText:"Select All",deselectAllText:"Deselect All",doneButton:!1,doneButtonText:"Close",multipleSeparator:", ",styleBase:"btn",style:"btn-default",size:"auto",title:null,selectedTextFormat:"values",width:!1,container:!1,hideDisabled:!1,showSubtext:!1,showIcon:!0,showContent:!0,dropupAuto:!0,header:!1,liveSearch:!1,liveSearchPlaceholder:null,liveSearchNormalize:!1,liveSearchStyle:"contains",actionsBox:!1,iconBase:"glyphicon",tickIcon:"glyphicon-ok",showTick:!1,template:{caret:'<span class="caret"></span>'},maxOptions:!1,mobile:!1,selectOnTab:!1,dropdownAlignRight:!1},e.prototype={constructor:e,init:function(){var b=this,c=this.$element.attr("id");this.$element.addClass("bs-select-hidden"),this.liObj={},this.multiple=this.$element.prop("multiple"),this.autofocus=this.$element.prop("autofocus"),this.$newElement=this.createView(),this.$element.after(this.$newElement).appendTo(this.$newElement),this.$button=this.$newElement.children("button"),this.$menu=this.$newElement.children(".dropdown-menu"),this.$menuInner=this.$menu.children(".inner"),this.$searchbox=this.$menu.find("input"),this.$element.removeClass("bs-select-hidden"),this.options.dropdownAlignRight&&this.$menu.addClass("dropdown-menu-right"),"undefined"!=typeof c&&(this.$button.attr("data-id",c),a('label[for="'+c+'"]').click(function(a){a.preventDefault(),b.$button.focus()})),this.checkDisabled(),this.clickListener(),this.options.liveSearch&&this.liveSearchListener(),this.render(),this.setStyle(),this.setWidth(),this.options.container&&this.selectPosition(),this.$menu.data("this",this),this.$newElement.data("this",this),this.options.mobile&&this.mobile(),this.$newElement.on({"hide.bs.dropdown":function(a){b.$element.trigger("hide.bs.select",a)},"hidden.bs.dropdown":function(a){b.$element.trigger("hidden.bs.select",a)},"show.bs.dropdown":function(a){b.$element.trigger("show.bs.select",a)},"shown.bs.dropdown":function(a){b.$element.trigger("shown.bs.select",a)}}),b.$element[0].hasAttribute("required")&&this.$element.on("invalid",function(){b.$button.addClass("bs-invalid").focus(),b.$element.on({"focus.bs.select":function(){b.$button.focus(),b.$element.off("focus.bs.select")},"shown.bs.select":function(){b.$element.val(b.$element.val()).off("shown.bs.select")},"rendered.bs.select":function(){this.validity.valid&&b.$button.removeClass("bs-invalid"),b.$element.off("rendered.bs.select")}})}),setTimeout(function(){b.$element.trigger("loaded.bs.select")})},createDropdown:function(){var b=this.multiple||this.options.showTick?" show-tick":"",d=this.$element.parent().hasClass("input-group")?" input-group-btn":"",e=this.autofocus?" autofocus":"",f=this.options.header?'<div class="popover-title"><button type="button" class="close" aria-hidden="true">×</button>'+this.options.header+"</div>":"",g=this.options.liveSearch?'<div class="bs-searchbox"><input type="text" class="form-control" autocomplete="off"'+(null===this.options.liveSearchPlaceholder?"":' placeholder="'+c(this.options.liveSearchPlaceholder)+'"')+"></div>":"",h=this.multiple&&this.options.actionsBox?'<div class="bs-actionsbox"><div class="btn-group btn-group-sm btn-block"><button type="button" class="actions-btn bs-select-all btn btn-default">'+this.options.selectAllText+'</button><button type="button" class="actions-btn bs-deselect-all btn btn-default">'+this.options.deselectAllText+"</button></div></div>":"",i=this.multiple&&this.options.doneButton?'<div class="bs-donebutton"><div class="btn-group btn-block"><button type="button" class="btn btn-sm btn-default">'+this.options.doneButtonText+"</button></div></div>":"",j='<div class="btn-group bootstrap-select'+b+d+'"><button type="button" class="'+this.options.styleBase+' dropdown-toggle" data-toggle="dropdown"'+e+'><span class="filter-option pull-left"></span> <span class="bs-caret">'+this.options.template.caret+'</span></button><div class="dropdown-menu open">'+f+g+h+'<ul class="dropdown-menu inner" role="menu"></ul>'+i+"</div></div>";return a(j)},createView:function(){var a=this.createDropdown(),b=this.createLi();return a.find("ul")[0].innerHTML=b,a},reloadLi:function(){this.destroyLi();var a=this.createLi();this.$menuInner[0].innerHTML=a},destroyLi:function(){this.$menu.find("li").remove()},createLi:function(){var d=this,e=[],f=0,g=document.createElement("option"),h=-1,i=function(a,b,c,d){return"<li"+("undefined"!=typeof c&""!==c?' class="'+c+'"':"")+("undefined"!=typeof b&null!==b?' data-original-index="'+b+'"':"")+("undefined"!=typeof d&null!==d?'data-optgroup="'+d+'"':"")+">"+a+"</li>"},j=function(a,e,f,g){return'<a tabindex="0"'+("undefined"!=typeof e?' class="'+e+'"':"")+("undefined"!=typeof f?' style="'+f+'"':"")+(d.options.liveSearchNormalize?' data-normalized-text="'+b(c(a))+'"':"")+("undefined"!=typeof g||null!==g?' data-tokens="'+g+'"':"")+">"+a+'<span class="'+d.options.iconBase+" "+d.options.tickIcon+' check-mark"></span></a>'};if(this.options.title&&!this.multiple&&(h--,!this.$element.find(".bs-title-option").length)){var k=this.$element[0];g.className="bs-title-option",g.appendChild(document.createTextNode(this.options.title)),g.value="",k.insertBefore(g,k.firstChild),void 0===a(k.options[k.selectedIndex]).attr("selected")&&(g.selected=!0)}return this.$element.find("option").each(function(b){var c=a(this);if(h++,!c.hasClass("bs-title-option")){var g=this.className||"",k=this.style.cssText,l=c.data("content")?c.data("content"):c.html(),m=c.data("tokens")?c.data("tokens"):null,n="undefined"!=typeof c.data("subtext")?'<small class="text-muted">'+c.data("subtext")+"</small>":"",o="undefined"!=typeof c.data("icon")?'<span class="'+d.options.iconBase+" "+c.data("icon")+'"></span> ':"",p="OPTGROUP"===this.parentNode.tagName,q=this.disabled||p&&this.parentNode.disabled;if(""!==o&&q&&(o="<span>"+o+"</span>"),d.options.hideDisabled&&q&&!p)return void h--;if(c.data("content")||(l=o+'<span class="text">'+l+n+"</span>"),p&&c.data("divider")!==!0){var r=" "+this.parentNode.className||"";if(0===c.index()){f+=1;var s=this.parentNode.label,t="undefined"!=typeof c.parent().data("subtext")?'<small class="text-muted">'+c.parent().data("subtext")+"</small>":"",u=c.parent().data("icon")?'<span class="'+d.options.iconBase+" "+c.parent().data("icon")+'"></span> ':"";s=u+'<span class="text">'+s+t+"</span>",0!==b&&e.length>0&&(h++,e.push(i("",null,"divider",f+"div"))),h++,e.push(i(s,null,"dropdown-header"+r,f))}if(d.options.hideDisabled&&q)return void h--;e.push(i(j(l,"opt "+g+r,k,m),b,"",f))}else c.data("divider")===!0?e.push(i("",b,"divider")):c.data("hidden")===!0?e.push(i(j(l,g,k,m),b,"hidden is-hidden")):(this.previousElementSibling&&"OPTGROUP"===this.previousElementSibling.tagName&&(h++,e.push(i("",null,"divider",f+"div"))),e.push(i(j(l,g,k,m),b)));d.liObj[b]=h}}),this.multiple||0!==this.$element.find("option:selected").length||this.options.title||this.$element.find("option").eq(0).prop("selected",!0).attr("selected","selected"),e.join("")},findLis:function(){return null==this.$lis&&(this.$lis=this.$menu.find("li")),this.$lis},render:function(b){var c,d=this;b!==!1&&this.$element.find("option").each(function(a){var b=d.findLis().eq(d.liObj[a]);d.setDisabled(a,this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled,b),d.setSelected(a,this.selected,b)}),this.tabIndex();var e=this.$element.find("option").map(function(){if(this.selected){if(d.options.hideDisabled&&(this.disabled||"OPTGROUP"===this.parentNode.tagName&&this.parentNode.disabled))return;var b,c=a(this),e=c.data("icon")&&d.options.showIcon?'<i class="'+d.options.iconBase+" "+c.data("icon")+'"></i> ':"";return b=d.options.showSubtext&&c.data("subtext")&&!d.multiple?' <small class="text-muted">'+c.data("subtext")+"</small>":"","undefined"!=typeof c.attr("title")?c.attr("title"):c.data("content")&&d.options.showContent?c.data("content"):e+c.html()+b}}).toArray(),f=this.multiple?e.join(this.options.multipleSeparator):e[0];if(this.multiple&&this.options.selectedTextFormat.indexOf("count")>-1){var g=this.options.selectedTextFormat.split(">");if(g.length>1&&e.length>g[1]||1==g.length&&e.length>=2){c=this.options.hideDisabled?", [disabled]":"";var h=this.$element.find("option").not('[data-divider="true"], [data-hidden="true"]'+c).length,i="function"==typeof this.options.countSelectedText?this.options.countSelectedText(e.length,h):this.options.countSelectedText;f=i.replace("{0}",e.length.toString()).replace("{1}",h.toString())}}void 0==this.options.title&&(this.options.title=this.$element.attr("title")),"static"==this.options.selectedTextFormat&&(f=this.options.title),f||(f="undefined"!=typeof this.options.title?this.options.title:this.options.noneSelectedText),this.$button.attr("title",a.trim(f.replace(/<[^>]*>?/g,""))),this.$button.children(".filter-option").html(f),this.$element.trigger("rendered.bs.select")},setStyle:function(a,b){this.$element.attr("class")&&this.$newElement.addClass(this.$element.attr("class").replace(/selectpicker|mobile-device|bs-select-hidden|validate\[.*\]/gi,""));var c=a?a:this.options.style;"add"==b?this.$button.addClass(c):"remove"==b?this.$button.removeClass(c):(this.$button.removeClass(this.options.style),this.$button.addClass(c))},liHeight:function(b){if(b||this.options.size!==!1&&!this.sizeInfo){var c=document.createElement("div"),d=document.createElement("div"),e=document.createElement("ul"),f=document.createElement("li"),g=document.createElement("li"),h=document.createElement("a"),i=document.createElement("span"),j=this.options.header&&this.$menu.find(".popover-title").length>0?this.$menu.find(".popover-title")[0].cloneNode(!0):null,k=this.options.liveSearch?document.createElement("div"):null,l=this.options.actionsBox&&this.multiple&&this.$menu.find(".bs-actionsbox").length>0?this.$menu.find(".bs-actionsbox")[0].cloneNode(!0):null,m=this.options.doneButton&&this.multiple&&this.$menu.find(".bs-donebutton").length>0?this.$menu.find(".bs-donebutton")[0].cloneNode(!0):null;if(i.className="text",c.className=this.$menu[0].parentNode.className+" open",d.className="dropdown-menu open",e.className="dropdown-menu inner",f.className="divider",i.appendChild(document.createTextNode("Inner text")),h.appendChild(i),g.appendChild(h),e.appendChild(g),e.appendChild(f),j&&d.appendChild(j),k){var n=document.createElement("span");k.className="bs-searchbox",n.className="form-control",k.appendChild(n),d.appendChild(k)}l&&d.appendChild(l),d.appendChild(e),m&&d.appendChild(m),c.appendChild(d),document.body.appendChild(c);var o=h.offsetHeight,p=j?j.offsetHeight:0,q=k?k.offsetHeight:0,r=l?l.offsetHeight:0,s=m?m.offsetHeight:0,t=a(f).outerHeight(!0),u="function"==typeof getComputedStyle?getComputedStyle(d):!1,v=u?null:a(d),w=parseInt(u?u.paddingTop:v.css("paddingTop"))+parseInt(u?u.paddingBottom:v.css("paddingBottom"))+parseInt(u?u.borderTopWidth:v.css("borderTopWidth"))+parseInt(u?u.borderBottomWidth:v.css("borderBottomWidth")),x=w+parseInt(u?u.marginTop:v.css("marginTop"))+parseInt(u?u.marginBottom:v.css("marginBottom"))+2;document.body.removeChild(c),this.sizeInfo={liHeight:o,headerHeight:p,searchHeight:q,actionsHeight:r,doneButtonHeight:s,dividerHeight:t,menuPadding:w,menuExtras:x}}},setSize:function(){if(this.findLis(),this.liHeight(),this.options.header&&this.$menu.css("padding-top",0),this.options.size!==!1){var b,c,d,e,f=this,g=this.$menu,h=this.$menuInner,i=a(window),j=this.$newElement[0].offsetHeight,k=this.sizeInfo.liHeight,l=this.sizeInfo.headerHeight,m=this.sizeInfo.searchHeight,n=this.sizeInfo.actionsHeight,o=this.sizeInfo.doneButtonHeight,p=this.sizeInfo.dividerHeight,q=this.sizeInfo.menuPadding,r=this.sizeInfo.menuExtras,s=this.options.hideDisabled?".disabled":"",t=function(){d=f.$newElement.offset().top-i.scrollTop(),e=i.height()-d-j};if(t(),"auto"===this.options.size){var u=function(){var i,j=function(b,c){return function(d){return c?d.classList?d.classList.contains(b):a(d).hasClass(b):!(d.classList?d.classList.contains(b):a(d).hasClass(b))}},p=f.$menuInner[0].getElementsByTagName("li"),s=Array.prototype.filter?Array.prototype.filter.call(p,j("hidden",!1)):f.$lis.not(".hidden"),u=Array.prototype.filter?Array.prototype.filter.call(s,j("dropdown-header",!0)):s.filter(".dropdown-header");t(),b=e-r,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&f.$newElement.toggleClass("dropup",d>e&&c>b-r),f.$newElement.hasClass("dropup")&&(b=d-r),i=s.length+u.length>3?3*k+r-2:0,g.css({"max-height":b+"px",overflow:"hidden","min-height":i+l+m+n+o+"px"}),h.css({"max-height":b-l-m-n-o-q+"px","overflow-y":"auto","min-height":Math.max(i-q,0)+"px"})};u(),this.$searchbox.off("input.getSize propertychange.getSize").on("input.getSize propertychange.getSize",u),i.off("resize.getSize scroll.getSize").on("resize.getSize scroll.getSize",u)}else if(this.options.size&&"auto"!=this.options.size&&this.$lis.not(s).length>this.options.size){var v=this.$lis.not(".divider").not(s).children().slice(0,this.options.size).last().parent().index(),w=this.$lis.slice(0,v+1).filter(".divider").length;b=k*this.options.size+w*p+q,f.options.container?(g.data("height")||g.data("height",g.height()),c=g.data("height")):c=g.height(),f.options.dropupAuto&&this.$newElement.toggleClass("dropup",d>e&&c>b-r),g.css({"max-height":b+l+m+n+o+"px",overflow:"hidden","min-height":""}),h.css({"max-height":b-q+"px","overflow-y":"auto","min-height":""})}}},setWidth:function(){if("auto"===this.options.width){this.$menu.css("min-width","0");var a=this.$menu.parent().clone().appendTo("body"),b=this.options.container?this.$newElement.clone().appendTo("body"):a,c=a.children(".dropdown-menu").outerWidth(),d=b.css("width","auto").children("button").outerWidth();a.remove(),b.remove(),this.$newElement.css("width",Math.max(c,d)+"px")}else"fit"===this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width","").addClass("fit-width")):this.options.width?(this.$menu.css("min-width",""),this.$newElement.css("width",this.options.width)):(this.$menu.css("min-width",""),this.$newElement.css("width",""));this.$newElement.hasClass("fit-width")&&"fit"!==this.options.width&&this.$newElement.removeClass("fit-width")},selectPosition:function(){this.$bsContainer=a('<div class="bs-container" />');var b,c,d=this,e=function(a){d.$bsContainer.addClass(a.attr("class").replace(/form-control|fit-width/gi,"")).toggleClass("dropup",a.hasClass("dropup")),b=a.offset(),c=a.hasClass("dropup")?0:a[0].offsetHeight,d.$bsContainer.css({top:b.top+c,left:b.left,width:a[0].offsetWidth})};this.$button.on("click",function(){var b=a(this);d.isDisabled()||(e(d.$newElement),d.$bsContainer.appendTo(d.options.container).toggleClass("open",!b.hasClass("open")).append(d.$menu))}),a(window).on("resize scroll",function(){e(d.$newElement)}),this.$element.on("hide.bs.select",function(){d.$menu.data("height",d.$menu.height()),d.$bsContainer.detach()})},setSelected:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),c.toggleClass("selected",b)},setDisabled:function(a,b,c){c||(c=this.findLis().eq(this.liObj[a])),b?c.addClass("disabled").children("a").attr("href","#").attr("tabindex",-1):c.removeClass("disabled").children("a").removeAttr("href").attr("tabindex",0)},isDisabled:function(){return this.$element[0].disabled},checkDisabled:function(){var a=this;this.isDisabled()?(this.$newElement.addClass("disabled"),this.$button.addClass("disabled").attr("tabindex",-1)):(this.$button.hasClass("disabled")&&(this.$newElement.removeClass("disabled"),this.$button.removeClass("disabled")),-1!=this.$button.attr("tabindex")||this.$element.data("tabindex")||this.$button.removeAttr("tabindex")),this.$button.click(function(){return!a.isDisabled()})},tabIndex:function(){this.$element.data("tabindex")!==this.$element.attr("tabindex")&&-98!==this.$element.attr("tabindex")&&"-98"!==this.$element.attr("tabindex")&&(this.$element.data("tabindex",this.$element.attr("tabindex")),this.$button.attr("tabindex",this.$element.data("tabindex"))),this.$element.attr("tabindex",-98)},clickListener:function(){var b=this,c=a(document);this.$newElement.on("touchstart.dropdown",".dropdown-menu",function(a){a.stopPropagation()}),c.data("spaceSelect",!1),this.$button.on("keyup",function(a){/(32)/.test(a.keyCode.toString(10))&&c.data("spaceSelect")&&(a.preventDefault(),c.data("spaceSelect",!1))}),this.$button.on("click",function(){b.setSize()}),this.$element.on("shown.bs.select",function(){if(b.options.liveSearch||b.multiple){if(!b.multiple){var a=b.liObj[b.$element[0].selectedIndex];if("number"!=typeof a||b.options.size===!1)return;var c=b.$lis.eq(a)[0].offsetTop-b.$menuInner[0].offsetTop;c=c-b.$menuInner[0].offsetHeight/2+b.sizeInfo.liHeight/2,b.$menuInner[0].scrollTop=c}}else b.$menuInner.find(".selected a").focus()}),this.$menuInner.on("click","li a",function(c){var d=a(this),e=d.parent().data("originalIndex"),f=b.$element.val(),g=b.$element.prop("selectedIndex");if(b.multiple&&c.stopPropagation(),c.preventDefault(),!b.isDisabled()&&!d.parent().hasClass("disabled")){var h=b.$element.find("option"),i=h.eq(e),j=i.prop("selected"),k=i.parent("optgroup"),l=b.options.maxOptions,m=k.data("maxOptions")||!1;if(b.multiple){if(i.prop("selected",!j),b.setSelected(e,!j),d.blur(),l!==!1||m!==!1){var n=l<h.filter(":selected").length,o=m<k.find("option:selected").length;if(l&&n||m&&o)if(l&&1==l)h.prop("selected",!1),i.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);else if(m&&1==m){k.find("option:selected").prop("selected",!1),i.prop("selected",!0);var p=d.parent().data("optgroup");b.$menuInner.find('[data-optgroup="'+p+'"]').removeClass("selected"),b.setSelected(e,!0)}else{var q="function"==typeof b.options.maxOptionsText?b.options.maxOptionsText(l,m):b.options.maxOptionsText,r=q[0].replace("{n}",l),s=q[1].replace("{n}",m),t=a('<div class="notify"></div>');q[2]&&(r=r.replace("{var}",q[2][l>1?0:1]),s=s.replace("{var}",q[2][m>1?0:1])),i.prop("selected",!1),b.$menu.append(t),l&&n&&(t.append(a("<div>"+r+"</div>")),b.$element.trigger("maxReached.bs.select")),m&&o&&(t.append(a("<div>"+s+"</div>")),b.$element.trigger("maxReachedGrp.bs.select")),setTimeout(function(){b.setSelected(e,!1)},10),t.delay(750).fadeOut(300,function(){a(this).remove()})}}}else h.prop("selected",!1),i.prop("selected",!0),b.$menuInner.find(".selected").removeClass("selected"),b.setSelected(e,!0);b.multiple?b.options.liveSearch&&b.$searchbox.focus():b.$button.focus(),(f!=b.$element.val()&&b.multiple||g!=b.$element.prop("selectedIndex")&&!b.multiple)&&b.$element.trigger("changed.bs.select",[e,i.prop("selected"),j]).triggerNative("change")}}),this.$menu.on("click","li.disabled a, .popover-title, .popover-title :not(.close)",function(c){c.currentTarget==this&&(c.preventDefault(),c.stopPropagation(),b.options.liveSearch&&!a(c.target).hasClass("close")?b.$searchbox.focus():b.$button.focus())}),this.$menuInner.on("click",".divider, .dropdown-header",function(a){a.preventDefault(),a.stopPropagation(),b.options.liveSearch?b.$searchbox.focus():b.$button.focus()}),this.$menu.on("click",".popover-title .close",function(){b.$button.click()}),this.$searchbox.on("click",function(a){a.stopPropagation()}),this.$menu.on("click",".actions-btn",function(c){b.options.liveSearch?b.$searchbox.focus():b.$button.focus(),c.preventDefault(),c.stopPropagation(),a(this).hasClass("bs-select-all")?b.selectAll():b.deselectAll()}),this.$element.change(function(){b.render(!1)})},liveSearchListener:function(){var d=this,e=a('<li class="no-results"></li>');this.$button.on("click.dropdown.data-api touchstart.dropdown.data-api",function(){d.$menuInner.find(".active").removeClass("active"),d.$searchbox.val()&&(d.$searchbox.val(""),d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove()),d.multiple||d.$menuInner.find(".selected").addClass("active"),setTimeout(function(){d.$searchbox.focus()},10)}),this.$searchbox.on("click.dropdown.data-api focus.dropdown.data-api touchend.dropdown.data-api",function(a){a.stopPropagation()}),this.$searchbox.on("input propertychange",function(){if(d.$searchbox.val()){var f=d.$lis.not(".is-hidden").removeClass("hidden").children("a");f=d.options.liveSearchNormalize?f.not(":a"+d._searchStyle()+'("'+b(d.$searchbox.val())+'")'):f.not(":"+d._searchStyle()+'("'+d.$searchbox.val()+'")'),f.parent().addClass("hidden"),d.$lis.filter(".dropdown-header").each(function(){var b=a(this),c=b.data("optgroup");0===d.$lis.filter("[data-optgroup="+c+"]").not(b).not(".hidden").length&&(b.addClass("hidden"),d.$lis.filter("[data-optgroup="+c+"div]").addClass("hidden"))});var g=d.$lis.not(".hidden");g.each(function(b){var c=a(this);c.hasClass("divider")&&(c.index()===g.first().index()||c.index()===g.last().index()||g.eq(b+1).hasClass("divider"))&&c.addClass("hidden")}),d.$lis.not(".hidden, .no-results").length?e.parent().length&&e.remove():(e.parent().length&&e.remove(),e.html(d.options.noneResultsText.replace("{0}",'"'+c(d.$searchbox.val())+'"')).show(),d.$menuInner.append(e))}else d.$lis.not(".is-hidden").removeClass("hidden"),e.parent().length&&e.remove();d.$lis.filter(".active").removeClass("active"),d.$searchbox.val()&&d.$lis.not(".hidden, .divider, .dropdown-header").eq(0).addClass("active").children("a").focus(),a(this).focus()})},_searchStyle:function(){var a={begins:"ibegins",startsWith:"ibegins"};return a[this.options.liveSearchStyle]||"icontains"},val:function(a){return"undefined"!=typeof a?(this.$element.val(a),this.render(),this.$element):this.$element.val()},changeAll:function(b){"undefined"==typeof b&&(b=!0),this.findLis();for(var c=this.$element.find("option"),d=this.$lis.not(".divider, .dropdown-header, .disabled, .hidden").toggleClass("selected",b),e=d.length,f=[],g=0;e>g;g++){var h=d[g].getAttribute("data-original-index");f[f.length]=c.eq(h)[0]}a(f).prop("selected",b),this.render(!1),this.$element.trigger("changed.bs.select").triggerNative("change")},selectAll:function(){return this.changeAll(!0)},deselectAll:function(){return this.changeAll(!1)},toggle:function(a){a=a||window.event,a&&a.stopPropagation(),this.$button.trigger("click")},keydown:function(c){var d,e,f,g,h,i,j,k,l,m=a(this),n=m.is("input")?m.parent().parent():m.parent(),o=n.data("this"),p=":not(.disabled, .hidden, .dropdown-header, .divider)",q={32:" ",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9"};if(o.options.liveSearch&&(n=m.parent().parent()),o.options.container&&(n=o.$menu),d=a("[role=menu] li",n),l=o.$newElement.hasClass("open"),!l&&(c.keyCode>=48&&c.keyCode<=57||c.keyCode>=96&&c.keyCode<=105||c.keyCode>=65&&c.keyCode<=90)&&(o.options.container?o.$button.trigger("click"):(o.setSize(),o.$menu.parent().addClass("open"),l=!0),o.$searchbox.focus()),o.options.liveSearch&&(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&0===o.$menu.find(".active").length&&(c.preventDefault(),o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus()),d=a("[role=menu] li"+p,n),m.val()||/(38|40)/.test(c.keyCode.toString(10))||0===d.filter(".active").length&&(d=o.$menuInner.find("li"),d=o.options.liveSearchNormalize?d.filter(":a"+o._searchStyle()+"("+b(q[c.keyCode])+")"):d.filter(":"+o._searchStyle()+"("+q[c.keyCode]+")"))),d.length){if(/(38|40)/.test(c.keyCode.toString(10)))e=d.index(d.find("a").filter(":focus").parent()),g=d.filter(p).first().index(),h=d.filter(p).last().index(),f=d.eq(e).nextAll(p).eq(0).index(),i=d.eq(e).prevAll(p).eq(0).index(),j=d.eq(f).prevAll(p).eq(0).index(),o.options.liveSearch&&(d.each(function(b){a(this).hasClass("disabled")||a(this).data("index",b)}),e=d.index(d.filter(".active")),g=d.first().data("index"),h=d.last().data("index"),f=d.eq(e).nextAll().eq(0).data("index"),i=d.eq(e).prevAll().eq(0).data("index"),j=d.eq(f).prevAll().eq(0).data("index")),k=m.data("prevIndex"),38==c.keyCode?(o.options.liveSearch&&e--,e!=j&&e>i&&(e=i),g>e&&(e=g),e==k&&(e=h)):40==c.keyCode&&(o.options.liveSearch&&e++,-1==e&&(e=0),e!=j&&f>e&&(e=f),e>h&&(e=h),e==k&&(e=g)),m.data("prevIndex",e),o.options.liveSearch?(c.preventDefault(),m.hasClass("dropdown-toggle")||(d.removeClass("active").eq(e).addClass("active").children("a").focus(),m.focus())):d.eq(e).children("a").focus();else if(!m.is("input")){var r,s,t=[];d.each(function(){a(this).hasClass("disabled")||a.trim(a(this).children("a").text().toLowerCase()).substring(0,1)==q[c.keyCode]&&t.push(a(this).index())}),r=a(document).data("keycount"),r++,a(document).data("keycount",r),s=a.trim(a(":focus").text().toLowerCase()).substring(0,1),s!=q[c.keyCode]?(r=1,a(document).data("keycount",r)):r>=t.length&&(a(document).data("keycount",0),r>t.length&&(r=1)),d.eq(t[r-1]).children("a").focus()}if((/(13|32)/.test(c.keyCode.toString(10))||/(^9$)/.test(c.keyCode.toString(10))&&o.options.selectOnTab)&&l){if(/(32)/.test(c.keyCode.toString(10))||c.preventDefault(),o.options.liveSearch)/(32)/.test(c.keyCode.toString(10))||(o.$menuInner.find(".active a").click(),m.focus());else{var u=a(":focus");u.click(),u.focus(),c.preventDefault(),a(document).data("spaceSelect",!0)}a(document).data("keycount",0)}(/(^9$|27)/.test(c.keyCode.toString(10))&&l&&(o.multiple||o.options.liveSearch)||/(27)/.test(c.keyCode.toString(10))&&!l)&&(o.$menu.parent().removeClass("open"),o.options.container&&o.$newElement.removeClass("open"),o.$button.focus())}},mobile:function(){this.$element.addClass("mobile-device")},refresh:function(){this.$lis=null,this.liObj={},this.reloadLi(),this.render(),this.checkDisabled(),this.liHeight(!0),this.setStyle(),this.setWidth(),this.$lis&&this.$searchbox.trigger("propertychange"),this.$element.trigger("refreshed.bs.select")},hide:function(){this.$newElement.hide()},show:function(){this.$newElement.show()},remove:function(){this.$newElement.remove(),this.$element.remove()},destroy:function(){this.$newElement.before(this.$element).remove(),this.$bsContainer?this.$bsContainer.remove():this.$menu.remove(),this.$element.off(".bs.select").removeData("selectpicker").removeClass("bs-select-hidden selectpicker")}};var f=a.fn.selectpicker;a.fn.selectpicker=d,a.fn.selectpicker.Constructor=e,a.fn.selectpicker.noConflict=function(){return a.fn.selectpicker=f,this},a(document).data("keycount",0).on("keydown.bs.select",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',e.prototype.keydown).on("focusin.modal",'.bootstrap-select [data-toggle=dropdown], .bootstrap-select [role="menu"], .bs-searchbox input',function(a){a.stopPropagation()}),a(window).on("load.bs.select.data-api",function(){a(".selectpicker").each(function(){var b=a(this);d.call(b,b.data({liveSearch: true}))})})}(a)});
|
8 |
-
//# sourceMappingURL=bootstrap-select.js.map
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/assets/js/select2.min.js
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
/*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b=function(){if(a&&a.fn&&a.fn.select2&&a.fn.select2.amd)var b=a.fn.select2.amd;var b;return function(){if(!b||!b.requirejs){b?c=b:b={};var a,c,d;!function(b){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.slice(0,n.length-1).concat(a),k=0;k<a.length;k+=1)if(m=a[k],"."===m)a.splice(k,1),k-=1;else if(".."===m){if(1===k&&(".."===a[2]||".."===a[0]))break;k>0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,c){return function(){var d=v.call(arguments,0);return"string"!=typeof d[0]&&1===d.length&&d.push(null),n.apply(b,d.concat([a,c]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var c=r[a];delete r[a],t[a]=!0,m.apply(b,c)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,c,d,f){var h,k,l,m,n,s,u=[],v=typeof d;if(f=f||a,"undefined"===v||"function"===v){for(c=!c.length&&d.length?["require","exports","module"]:c,n=0;n<c.length;n+=1)if(m=o(c[n],f),k=m.f,"require"===k)u[n]=p.require(a);else if("exports"===k)u[n]=p.exports(a),s=!0;else if("module"===k)h=u[n]=p.module(a);else if(e(q,k)||e(r,k)||e(t,k))u[n]=j(k);else{if(!m.p)throw new Error(a+" missing "+k);m.p.load(m.n,g(f,!0),i(k),{}),u[n]=q[k]}l=d?d.apply(q[a],u):void 0,a&&(h&&h.exports!==b&&h.exports!==q[a]?q[a]=h.exports:l===b&&s||(q[a]=l))}else a&&(q[a]=d)},a=c=n=function(a,c,d,e,f){if("string"==typeof a)return p[a]?p[a](c):j(o(a,c).f);if(!a.splice){if(s=a,s.deps&&n(s.deps,s.callback),!c)return;c.splice?(a=c,c=d,d=null):a=b}return c=c||function(){},"function"==typeof d&&(d=e,e=f),e?m(b,a,c,d):setTimeout(function(){m(b,a,c,d)},4),n},n.config=function(a){return n(a)},a._defined=q,d=function(a,b,c){if("string"!=typeof a)throw new Error("See almond README: incorrect module build, no module name");b.splice||(c=b,b=[]),e(q,a)||e(r,a)||(r[a]=[a,b,c])},d.amd={jQuery:!0}}(),b.requirejs=a,b.require=c,b.define=d}}(),b.define("almond",function(){}),b.define("jquery",[],function(){var b=a||$;return null==b&&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."),b}),b.define("select2/utils",["jquery"],function(a){function b(a){var b=a.prototype,c=[];for(var d in b){var e=b[d];"function"==typeof e&&"constructor"!==d&&c.push(d)}return c}var c={};c.Extend=function(a,b){function c(){this.constructor=a}var d={}.hasOwnProperty;for(var e in b)d.call(b,e)&&(a[e]=b[e]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},c.Decorate=function(a,c){function d(){var b=Array.prototype.unshift,d=c.prototype.constructor.length,e=a.prototype.constructor;d>0&&(b.call(arguments,a.prototype.constructor),e=c.prototype.constructor),e.apply(this,arguments)}function e(){this.constructor=d}var f=b(c),g=b(a);c.displayName=a.displayName,d.prototype=new e;for(var h=0;h<g.length;h++){var i=g[h];d.prototype[i]=a.prototype[i]}for(var j=(function(a){var b=function(){};a in d.prototype&&(b=d.prototype[a]);var e=c.prototype[a];return function(){var a=Array.prototype.unshift;return a.call(arguments,b),e.apply(this,arguments)}}),k=0;k<f.length;k++){var l=f[k];d.prototype[l]=j(l)}return d};var d=function(){this.listeners={}};return d.prototype.on=function(a,b){this.listeners=this.listeners||{},a in this.listeners?this.listeners[a].push(b):this.listeners[a]=[b]},d.prototype.trigger=function(a){var b=Array.prototype.slice,c=b.call(arguments,1);this.listeners=this.listeners||{},null==c&&(c=[]),0===c.length&&c.push({}),c[0]._type=a,a in this.listeners&&this.invoke(this.listeners[a],b.call(arguments,1)),"*"in this.listeners&&this.invoke(this.listeners["*"],arguments)},d.prototype.invoke=function(a,b){for(var c=0,d=a.length;d>c;c++)a[c].apply(this,b)},c.Observable=d,c.generateChars=function(a){for(var b="",c=0;a>c;c++){var d=Math.floor(36*Math.random());b+=d.toString(36)}return b},c.bind=function(a,b){return function(){a.apply(b,arguments)}},c._convertData=function(a){for(var b in a){var c=b.split("-"),d=a;if(1!==c.length){for(var e=0;e<c.length;e++){var f=c[e];f=f.substring(0,1).toLowerCase()+f.substring(1),f in d||(d[f]={}),e==c.length-1&&(d[f]=a[b]),d=d[f]}delete a[b]}}return a},c.hasScroll=function(b,c){var d=a(c),e=c.style.overflowX,f=c.style.overflowY;return e!==f||"hidden"!==f&&"visible"!==f?"scroll"===e||"scroll"===f?!0:d.innerHeight()<c.scrollHeight||d.innerWidth()<c.scrollWidth:!1},c.escapeMarkup=function(a){var b={"\\":"\","&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};return"string"!=typeof a?a:String(a).replace(/[&<>"'\/\\]/g,function(a){return b[a]})},c.appendMany=function(b,c){if("1.7"===a.fn.jquery.substr(0,3)){var d=a();a.map(c,function(a){d=d.add(a)}),c=d}b.append(c)},c}),b.define("select2/results",["jquery","./utils"],function(a,b){function c(a,b,d){this.$element=a,this.data=d,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<ul class="select2-results__options" role="tree"></ul>');return this.options.get("multiple")&&b.attr("aria-multiselectable","true"),this.$results=b,b},c.prototype.clear=function(){this.$results.empty()},c.prototype.displayMessage=function(b){var c=this.options.get("escapeMarkup");this.clear(),this.hideLoading();var d=a('<li role="treeitem" aria-live="assertive" class="select2-results__option"></li>'),e=this.options.get("translations").get(b.message);d.append(c(e(b.args))),d[0].className+=" select2-results__message",this.$results.append(d)},c.prototype.hideMessages=function(){this.$results.find(".select2-results__message").remove()},c.prototype.append=function(a){this.hideLoading();var b=[];if(null==a.results||0===a.results.length)return void(0===this.$results.children().length&&this.trigger("results:message",{message:"noResults"}));a.results=this.sort(a.results);for(var c=0;c<a.results.length;c++){var d=a.results[c],e=this.option(d);b.push(e)}this.$results.append(b)},c.prototype.position=function(a,b){var c=b.find(".select2-results");c.append(a)},c.prototype.sort=function(a){var b=this.options.get("sorter");return b(a)},c.prototype.highlightFirstItem=function(){var a=this.$results.find(".select2-results__option[aria-selected]"),b=a.filter("[aria-selected=true]");b.length>0?b.first().trigger("mouseenter"):a.first().trigger("mouseenter"),this.ensureHighlightVisible()},c.prototype.setClasses=function(){var b=this;this.data.current(function(c){var d=a.map(c,function(a){return a.id.toString()}),e=b.$results.find(".select2-results__option[aria-selected]");e.each(function(){var b=a(this),c=a.data(this,"data"),e=""+c.id;null!=c.element&&c.element.selected||null==c.element&&a.inArray(e,d)>-1?b.attr("aria-selected","true"):b.attr("aria-selected","false")})})},c.prototype.showLoading=function(a){this.hideLoading();var b=this.options.get("translations").get("searching"),c={disabled:!0,loading:!0,text:b(a)},d=this.option(c);d.className+=" loading-results",this.$results.prepend(d)},c.prototype.hideLoading=function(){this.$results.find(".loading-results").remove()},c.prototype.option=function(b){var c=document.createElement("li");c.className="select2-results__option";var d={role:"treeitem","aria-selected":"false"};b.disabled&&(delete d["aria-selected"],d["aria-disabled"]="true"),null==b.id&&delete d["aria-selected"],null!=b._resultId&&(c.id=b._resultId),b.title&&(c.title=b.title),b.children&&(d.role="group",d["aria-label"]=b.text,delete d["aria-selected"]);for(var e in d){var f=d[e];c.setAttribute(e,f)}if(b.children){var g=a(c),h=document.createElement("strong");h.className="select2-results__group";a(h);this.template(b,h);for(var i=[],j=0;j<b.children.length;j++){var k=b.children[j],l=this.option(k);i.push(l)}var m=a("<ul></ul>",{"class":"select2-results__options select2-results__options--nested"});m.append(i),g.append(h),g.append(m)}else this.template(b,c);return a.data(c,"data",b),c},c.prototype.bind=function(b,c){var d=this,e=b.id+"-results";this.$results.attr("id",e),b.on("results:all",function(a){d.clear(),d.append(a.data),b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("results:append",function(a){d.append(a.data),b.isOpen()&&d.setClasses()}),b.on("query",function(a){d.hideMessages(),d.showLoading(a)}),b.on("select",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("unselect",function(){b.isOpen()&&(d.setClasses(),d.highlightFirstItem())}),b.on("open",function(){d.$results.attr("aria-expanded","true"),d.$results.attr("aria-hidden","false"),d.setClasses(),d.ensureHighlightVisible()}),b.on("close",function(){d.$results.attr("aria-expanded","false"),d.$results.attr("aria-hidden","true"),d.$results.removeAttr("aria-activedescendant")}),b.on("results:toggle",function(){var a=d.getHighlightedResults();0!==a.length&&a.trigger("mouseup")}),b.on("results:select",function(){var a=d.getHighlightedResults();if(0!==a.length){var b=a.data("data");"true"==a.attr("aria-selected")?d.trigger("close",{}):d.trigger("select",{data:b})}}),b.on("results:previous",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a);if(0!==c){var e=c-1;0===a.length&&(e=0);var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top,h=f.offset().top,i=d.$results.scrollTop()+(h-g);0===e?d.$results.scrollTop(0):0>h-g&&d.$results.scrollTop(i)}}),b.on("results:next",function(){var a=d.getHighlightedResults(),b=d.$results.find("[aria-selected]"),c=b.index(a),e=c+1;if(!(e>=b.length)){var f=b.eq(e);f.trigger("mouseenter");var g=d.$results.offset().top+d.$results.outerHeight(!1),h=f.offset().top+f.outerHeight(!1),i=d.$results.scrollTop()+h-g;0===e?d.$results.scrollTop(0):h>g&&d.$results.scrollTop(i)}}),b.on("results:focus",function(a){a.element.addClass("select2-results__option--highlighted")}),b.on("results:message",function(a){d.displayMessage(a)}),a.fn.mousewheel&&this.$results.on("mousewheel",function(a){var b=d.$results.scrollTop(),c=d.$results.get(0).scrollHeight-b+a.deltaY,e=a.deltaY>0&&b-a.deltaY<=0,f=a.deltaY<0&&c<=d.$results.height();e?(d.$results.scrollTop(0),a.preventDefault(),a.stopPropagation()):f&&(d.$results.scrollTop(d.$results.get(0).scrollHeight-d.$results.height()),a.preventDefault(),a.stopPropagation())}),this.$results.on("mouseup",".select2-results__option[aria-selected]",function(b){var c=a(this),e=c.data("data");return"true"===c.attr("aria-selected")?void(d.options.get("multiple")?d.trigger("unselect",{originalEvent:b,data:e}):d.trigger("close",{})):void d.trigger("select",{originalEvent:b,data:e})}),this.$results.on("mouseenter",".select2-results__option[aria-selected]",function(b){var c=a(this).data("data");d.getHighlightedResults().removeClass("select2-results__option--highlighted"),d.trigger("results:focus",{data:c,element:a(this)})})},c.prototype.getHighlightedResults=function(){var a=this.$results.find(".select2-results__option--highlighted");return a},c.prototype.destroy=function(){this.$results.remove()},c.prototype.ensureHighlightVisible=function(){var a=this.getHighlightedResults();if(0!==a.length){var b=this.$results.find("[aria-selected]"),c=b.index(a),d=this.$results.offset().top,e=a.offset().top,f=this.$results.scrollTop()+(e-d),g=e-d;f-=2*a.outerHeight(!1),2>=c?this.$results.scrollTop(0):(g>this.$results.outerHeight()||0>g)&&this.$results.scrollTop(f)}},c.prototype.template=function(b,c){var d=this.options.get("templateResult"),e=this.options.get("escapeMarkup"),f=d(b,c);null==f?c.style.display="none":"string"==typeof f?c.innerHTML=e(f):a(c).append(f)},c}),b.define("select2/keys",[],function(){var a={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};return a}),b.define("select2/selection/base",["jquery","../utils","../keys"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,b.Observable),d.prototype.render=function(){var b=a('<span class="select2-selection" role="combobox" 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")),b.attr("title",this.$element.attr("title")),b.attr("tabindex",this._tabindex),this.$selection=b,b},d.prototype.bind=function(a,b){var d=this,e=(a.id+"-container",a.id+"-results");this.container=a,this.$selection.on("focus",function(a){d.trigger("focus",a)}),this.$selection.on("blur",function(a){d._handleBlur(a)}),this.$selection.on("keydown",function(a){d.trigger("keypress",a),a.which===c.SPACE&&a.preventDefault()}),a.on("results:focus",function(a){d.$selection.attr("aria-activedescendant",a.data._resultId)}),a.on("selection:update",function(a){d.update(a.data)}),a.on("open",function(){d.$selection.attr("aria-expanded","true"),d.$selection.attr("aria-owns",e),d._attachCloseHandler(a)}),a.on("close",function(){d.$selection.attr("aria-expanded","false"),d.$selection.removeAttr("aria-activedescendant"),d.$selection.removeAttr("aria-owns"),d.$selection.focus(),d._detachCloseHandler(a)}),a.on("enable",function(){d.$selection.attr("tabindex",d._tabindex)}),a.on("disable",function(){d.$selection.attr("tabindex","-1")})},d.prototype._handleBlur=function(b){var c=this;window.setTimeout(function(){document.activeElement==c.$selection[0]||a.contains(c.$selection[0],document.activeElement)||c.trigger("blur",b)},1)},d.prototype._attachCloseHandler=function(b){a(document.body).on("mousedown.select2."+b.id,function(b){var c=a(b.target),d=c.closest(".select2"),e=a(".select2.select2-container--open");e.each(function(){var b=a(this);if(this!=d[0]){var c=b.data("element");c.select2("close")}})})},d.prototype._detachCloseHandler=function(b){a(document.body).off("mousedown.select2."+b.id)},d.prototype.position=function(a,b){var c=b.find(".selection");c.append(a)},d.prototype.destroy=function(){this._detachCloseHandler(this.container)},d.prototype.update=function(a){throw new Error("The `update` method must be defined in child classes.")},d}),b.define("select2/selection/single",["jquery","./base","../utils","../keys"],function(a,b,c,d){function e(){e.__super__.constructor.apply(this,arguments)}return c.Extend(e,b),e.prototype.render=function(){var a=e.__super__.render.call(this);return a.addClass("select2-selection--single"),a.html('<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'),a},e.prototype.bind=function(a,b){var c=this;e.__super__.bind.apply(this,arguments);var d=a.id+"-container";this.$selection.find(".select2-selection__rendered").attr("id",d),this.$selection.attr("aria-labelledby",d),this.$selection.on("mousedown",function(a){1===a.which&&c.trigger("toggle",{originalEvent:a})}),this.$selection.on("focus",function(a){}),this.$selection.on("blur",function(a){}),a.on("focus",function(b){a.isOpen()||c.$selection.focus()}),a.on("selection:update",function(a){c.update(a.data)})},e.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},e.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},e.prototype.selectionContainer=function(){return a("<span></span>")},e.prototype.update=function(a){if(0===a.length)return void this.clear();var b=a[0],c=this.$selection.find(".select2-selection__rendered"),d=this.display(b,c);c.empty().append(d),c.prop("title",b.title||b.text)},e}),b.define("select2/selection/multiple",["jquery","./base","../utils"],function(a,b,c){function d(a,b){d.__super__.constructor.apply(this,arguments)}return c.Extend(d,b),d.prototype.render=function(){var a=d.__super__.render.call(this);return a.addClass("select2-selection--multiple"),a.html('<ul class="select2-selection__rendered"></ul>'),a},d.prototype.bind=function(b,c){var e=this;d.__super__.bind.apply(this,arguments),this.$selection.on("click",function(a){e.trigger("toggle",{originalEvent:a})}),this.$selection.on("click",".select2-selection__choice__remove",function(b){if(!e.options.get("disabled")){var c=a(this),d=c.parent(),f=d.data("data");e.trigger("unselect",{originalEvent:b,data:f})}})},d.prototype.clear=function(){this.$selection.find(".select2-selection__rendered").empty()},d.prototype.display=function(a,b){var c=this.options.get("templateSelection"),d=this.options.get("escapeMarkup");return d(c(a,b))},d.prototype.selectionContainer=function(){var b=a('<li class="select2-selection__choice"><span class="select2-selection__choice__remove" role="presentation">×</span></li>');return b},d.prototype.update=function(a){if(this.clear(),0!==a.length){for(var b=[],d=0;d<a.length;d++){var e=a[d],f=this.selectionContainer(),g=this.display(e,f);f.append(g),f.prop("title",e.title||e.text),f.data("data",e),b.push(f)}var h=this.$selection.find(".select2-selection__rendered");c.appendMany(h,b)}},d}),b.define("select2/selection/placeholder",["../utils"],function(a){function b(a,b,c){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c)}return b.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},b.prototype.createPlaceholder=function(a,b){var c=this.selectionContainer();return c.html(this.display(b)),c.addClass("select2-selection__placeholder").removeClass("select2-selection__choice"),c},b.prototype.update=function(a,b){var c=1==b.length&&b[0].id!=this.placeholder.id,d=b.length>1;if(d||c)return a.call(this,b);this.clear();var e=this.createPlaceholder(this.placeholder);this.$selection.find(".select2-selection__rendered").append(e)},b}),b.define("select2/selection/allowClear",["jquery","../keys"],function(a,b){function c(){}return c.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),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(a){d._handleClear(a)}),b.on("keypress",function(a){d._handleKeyboardClear(a,b)})},c.prototype._handleClear=function(a,b){if(!this.options.get("disabled")){var c=this.$selection.find(".select2-selection__clear");if(0!==c.length){b.stopPropagation();for(var d=c.data("data"),e=0;e<d.length;e++){var f={data:d[e]};if(this.trigger("unselect",f),f.prevented)return}this.$element.val(this.placeholder.id).trigger("change"),this.trigger("toggle",{})}}},c.prototype._handleKeyboardClear=function(a,c,d){d.isOpen()||(c.which==b.DELETE||c.which==b.BACKSPACE)&&this._handleClear(c)},c.prototype.update=function(b,c){if(b.call(this,c),!(this.$selection.find(".select2-selection__placeholder").length>0||0===c.length)){var d=a('<span class="select2-selection__clear">×</span>');d.data("data",c),this.$selection.find(".select2-selection__rendered").prepend(d)}},c}),b.define("select2/selection/search",["jquery","../utils","../keys"],function(a,b,c){function d(a,b,c){a.call(this,b,c)}return d.prototype.render=function(b){var c=a('<li class="select2-search select2-search--inline"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" aria-autocomplete="list" /></li>');this.$searchContainer=c,this.$search=c.find("input");var d=b.call(this);return this._transferTabIndex(),d},d.prototype.bind=function(a,b,d){var e=this;a.call(this,b,d),b.on("open",function(){e.$search.trigger("focus")}),b.on("close",function(){e.$search.val(""),e.$search.removeAttr("aria-activedescendant"),e.$search.trigger("focus")}),b.on("enable",function(){e.$search.prop("disabled",!1),e._transferTabIndex()}),b.on("disable",function(){e.$search.prop("disabled",!0)}),b.on("focus",function(a){e.$search.trigger("focus")}),b.on("results:focus",function(a){e.$search.attr("aria-activedescendant",a.id)}),this.$selection.on("focusin",".select2-search--inline",function(a){e.trigger("focus",a)}),this.$selection.on("focusout",".select2-search--inline",function(a){e._handleBlur(a)}),this.$selection.on("keydown",".select2-search--inline",function(a){a.stopPropagation(),e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented();var b=a.which;if(b===c.BACKSPACE&&""===e.$search.val()){var d=e.$searchContainer.prev(".select2-selection__choice");if(d.length>0){var f=d.data("data");e.searchRemoveChoice(f),a.preventDefault()}}});var f=document.documentMode,g=f&&11>=f;this.$selection.on("input.searchcheck",".select2-search--inline",function(a){return g?void e.$selection.off("input.search input.searchcheck"):void e.$selection.off("keyup.search")}),this.$selection.on("keyup.search input.search",".select2-search--inline",function(a){if(g&&"input"===a.type)return void e.$selection.off("input.search input.searchcheck");var b=a.which;b!=c.SHIFT&&b!=c.CTRL&&b!=c.ALT&&b!=c.TAB&&e.handleSearch(a)})},d.prototype._transferTabIndex=function(a){this.$search.attr("tabindex",this.$selection.attr("tabindex")),this.$selection.attr("tabindex","-1")},d.prototype.createPlaceholder=function(a,b){this.$search.attr("placeholder",b.text)},d.prototype.update=function(a,b){var c=this.$search[0]==document.activeElement;this.$search.attr("placeholder",""),a.call(this,b),this.$selection.find(".select2-selection__rendered").append(this.$searchContainer),this.resizeSearch(),c&&this.$search.focus()},d.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var a=this.$search.val();this.trigger("query",{term:a})}this._keyUpPrevented=!1},d.prototype.searchRemoveChoice=function(a,b){this.trigger("unselect",{data:b}),this.$search.val(b.text),this.handleSearch()},d.prototype.resizeSearch=function(){this.$search.css("width","25px");var a="";if(""!==this.$search.attr("placeholder"))a=this.$selection.find(".select2-selection__rendered").innerWidth();else{var b=this.$search.val().length+1;a=.75*b+"em"}this.$search.css("width",a)},d}),b.define("select2/selection/eventRelay",["jquery"],function(a){function b(){}return b.prototype.bind=function(b,c,d){var e=this,f=["open","opening","close","closing","select","selecting","unselect","unselecting"],g=["opening","closing","selecting","unselecting"];b.call(this,c,d),c.on("*",function(b,c){if(-1!==a.inArray(b,f)){c=c||{};var d=a.Event("select2:"+b,{params:c});e.$element.trigger(d),-1!==a.inArray(b,g)&&(c.prevented=d.isDefaultPrevented())}})},b}),b.define("select2/translation",["jquery","require"],function(a,b){function c(a){this.dict=a||{}}return c.prototype.all=function(){return this.dict},c.prototype.get=function(a){return this.dict[a]},c.prototype.extend=function(b){this.dict=a.extend({},b.all(),this.dict)},c._cache={},c.loadPath=function(a){if(!(a in c._cache)){var d=b(a);c._cache[a]=d}return new c(c._cache[a])},c}),b.define("select2/diacritics",[],function(){var 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","Ⓓ":"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","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};return a}),b.define("select2/data/base",["../utils"],function(a){function b(a,c){b.__super__.constructor.call(this)}return a.Extend(b,a.Observable),b.prototype.current=function(a){throw new Error("The `current` method must be defined in child classes.")},b.prototype.query=function(a,b){throw new Error("The `query` method must be defined in child classes.")},b.prototype.bind=function(a,b){},b.prototype.destroy=function(){},b.prototype.generateResultId=function(b,c){var d=b.id+"-result-";return d+=a.generateChars(4),d+=null!=c.id?"-"+c.id.toString():"-"+a.generateChars(4)},b}),b.define("select2/data/select",["./base","../utils","jquery"],function(a,b,c){function d(a,b){this.$element=a,this.options=b,d.__super__.constructor.call(this)}return b.Extend(d,a),d.prototype.current=function(a){var b=[],d=this;this.$element.find(":selected").each(function(){var a=c(this),e=d.item(a);b.push(e)}),a(b)},d.prototype.select=function(a){var b=this;if(a.selected=!0,c(a.element).is("option"))return a.element.selected=!0,void this.$element.trigger("change");
|
2 |
-
if(this.$element.prop("multiple"))this.current(function(d){var e=[];a=[a],a.push.apply(a,d);for(var f=0;f<a.length;f++){var g=a[f].id;-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")});else{var d=a.id;this.$element.val(d),this.$element.trigger("change")}},d.prototype.unselect=function(a){var b=this;if(this.$element.prop("multiple"))return a.selected=!1,c(a.element).is("option")?(a.element.selected=!1,void this.$element.trigger("change")):void this.current(function(d){for(var e=[],f=0;f<d.length;f++){var g=d[f].id;g!==a.id&&-1===c.inArray(g,e)&&e.push(g)}b.$element.val(e),b.$element.trigger("change")})},d.prototype.bind=function(a,b){var c=this;this.container=a,a.on("select",function(a){c.select(a.data)}),a.on("unselect",function(a){c.unselect(a.data)})},d.prototype.destroy=function(){this.$element.find("*").each(function(){c.removeData(this,"data")})},d.prototype.query=function(a,b){var d=[],e=this,f=this.$element.children();f.each(function(){var b=c(this);if(b.is("option")||b.is("optgroup")){var f=e.item(b),g=e.matches(a,f);null!==g&&d.push(g)}}),b({results:d})},d.prototype.addOptions=function(a){b.appendMany(this.$element,a)},d.prototype.option=function(a){var b;a.children?(b=document.createElement("optgroup"),b.label=a.text):(b=document.createElement("option"),void 0!==b.textContent?b.textContent=a.text:b.innerText=a.text),a.id&&(b.value=a.id),a.disabled&&(b.disabled=!0),a.selected&&(b.selected=!0),a.title&&(b.title=a.title);var d=c(b),e=this._normalizeItem(a);return e.element=b,c.data(b,"data",e),d},d.prototype.item=function(a){var b={};if(b=c.data(a[0],"data"),null!=b)return b;if(a.is("option"))b={id:a.val(),text:a.text(),disabled:a.prop("disabled"),selected:a.prop("selected"),title:a.prop("title")};else if(a.is("optgroup")){b={text:a.prop("label"),children:[],title:a.prop("title")};for(var d=a.children("option"),e=[],f=0;f<d.length;f++){var g=c(d[f]),h=this.item(g);e.push(h)}b.children=e}return b=this._normalizeItem(b),b.element=a[0],c.data(a[0],"data",b),b},d.prototype._normalizeItem=function(a){c.isPlainObject(a)||(a={id:a,text:a}),a=c.extend({},{text:""},a);var b={selected:!1,disabled:!1};return null!=a.id&&(a.id=a.id.toString()),null!=a.text&&(a.text=a.text.toString()),null==a._resultId&&a.id&&null!=this.container&&(a._resultId=this.generateResultId(this.container,a)),c.extend({},b,a)},d.prototype.matches=function(a,b){var c=this.options.get("matcher");return c(a,b)},d}),b.define("select2/data/array",["./select","../utils","jquery"],function(a,b,c){function d(a,b){var c=b.get("data")||[];d.__super__.constructor.call(this,a,b),this.addOptions(this.convertToOptions(c))}return b.Extend(d,a),d.prototype.select=function(a){var b=this.$element.find("option").filter(function(b,c){return c.value==a.id.toString()});0===b.length&&(b=this.option(a),this.addOptions(b)),d.__super__.select.call(this,a)},d.prototype.convertToOptions=function(a){function d(a){return function(){return c(this).val()==a.id}}for(var e=this,f=this.$element.find("option"),g=f.map(function(){return e.item(c(this)).id}).get(),h=[],i=0;i<a.length;i++){var j=this._normalizeItem(a[i]);if(c.inArray(j.id,g)>=0){var k=f.filter(d(j)),l=this.item(k),m=c.extend(!0,{},j,l),n=this.option(m);k.replaceWith(n)}else{var o=this.option(j);if(j.children){var p=this.convertToOptions(j.children);b.appendMany(o,p)}h.push(o)}}return h},d}),b.define("select2/data/ajax",["./array","../utils","jquery"],function(a,b,c){function d(a,b){this.ajaxOptions=this._applyDefaults(b.get("ajax")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),d.__super__.constructor.call(this,a,b)}return b.Extend(d,a),d.prototype._applyDefaults=function(a){var b={data:function(a){return c.extend({},a,{q:a.term})},transport:function(a,b,d){var e=c.ajax(a);return e.then(b),e.fail(d),e}};return c.extend({},b,a,!0)},d.prototype.processResults=function(a){return a},d.prototype.query=function(a,b){function d(){var d=f.transport(f,function(d){var f=e.processResults(d,a);e.options.get("debug")&&window.console&&console.error&&(f&&f.results&&c.isArray(f.results)||console.error("Select2: The AJAX results did not return an array in the `results` key of the response.")),b(f)},function(){d.status&&"0"===d.status||e.trigger("results:message",{message:"errorLoading"})});e._request=d}var e=this;null!=this._request&&(c.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var f=c.extend({type:"GET"},this.ajaxOptions);"function"==typeof f.url&&(f.url=f.url.call(this.$element,a)),"function"==typeof f.data&&(f.data=f.data.call(this.$element,a)),this.ajaxOptions.delay&&null!=a.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(d,this.ajaxOptions.delay)):d()},d}),b.define("select2/data/tags",["jquery"],function(a){function b(b,c,d){var e=d.get("tags"),f=d.get("createTag");void 0!==f&&(this.createTag=f);var g=d.get("insertTag");if(void 0!==g&&(this.insertTag=g),b.call(this,c,d),a.isArray(e))for(var h=0;h<e.length;h++){var i=e[h],j=this._normalizeItem(i),k=this.option(j);this.$element.append(k)}}return b.prototype.query=function(a,b,c){function d(a,f){for(var g=a.results,h=0;h<g.length;h++){var i=g[h],j=null!=i.children&&!d({results:i.children},!0),k=i.text===b.term;if(k||j)return f?!1:(a.data=g,void c(a))}if(f)return!0;var l=e.createTag(b);if(null!=l){var m=e.option(l);m.attr("data-select2-tag",!0),e.addOptions([m]),e.insertTag(g,l)}a.results=g,c(a)}var e=this;return this._removeOldTags(),null==b.term||null!=b.page?void a.call(this,b,c):void a.call(this,b,d)},b.prototype.createTag=function(b,c){var d=a.trim(c.term);return""===d?null:{id:d,text:d}},b.prototype.insertTag=function(a,b,c){b.unshift(c)},b.prototype._removeOldTags=function(b){var c=(this._lastTag,this.$element.find("option[data-select2-tag]"));c.each(function(){this.selected||a(this).remove()})},b}),b.define("select2/data/tokenizer",["jquery"],function(a){function b(a,b,c){var d=c.get("tokenizer");void 0!==d&&(this.tokenizer=d),a.call(this,b,c)}return b.prototype.bind=function(a,b,c){a.call(this,b,c),this.$search=b.dropdown.$search||b.selection.$search||c.find(".select2-search__field")},b.prototype.query=function(b,c,d){function e(b){var c=g._normalizeItem(b),d=g.$element.find("option").filter(function(){return a(this).val()===c.id});if(!d.length){var e=g.option(c);e.attr("data-select2-tag",!0),g._removeOldTags(),g.addOptions([e])}f(c)}function f(a){g.trigger("select",{data:a})}var g=this;c.term=c.term||"";var h=this.tokenizer(c,this.options,e);h.term!==c.term&&(this.$search.length&&(this.$search.val(h.term),this.$search.focus()),c.term=h.term),b.call(this,c,d)},b.prototype.tokenizer=function(b,c,d,e){for(var f=d.get("tokenSeparators")||[],g=c.term,h=0,i=this.createTag||function(a){return{id:a.term,text:a.term}};h<g.length;){var j=g[h];if(-1!==a.inArray(j,f)){var k=g.substr(0,h),l=a.extend({},c,{term:k}),m=i(l);null!=m?(e(m),g=g.substr(h+1)||"",h=0):h++}else h++}return{term:g}},b}),b.define("select2/data/minimumInputLength",[],function(){function a(a,b,c){this.minimumInputLength=c.get("minimumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",b.term.length<this.minimumInputLength?void this.trigger("results:message",{message:"inputTooShort",args:{minimum:this.minimumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumInputLength",[],function(){function a(a,b,c){this.maximumInputLength=c.get("maximumInputLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){return b.term=b.term||"",this.maximumInputLength>0&&b.term.length>this.maximumInputLength?void this.trigger("results:message",{message:"inputTooLong",args:{maximum:this.maximumInputLength,input:b.term,params:b}}):void a.call(this,b,c)},a}),b.define("select2/data/maximumSelectionLength",[],function(){function a(a,b,c){this.maximumSelectionLength=c.get("maximumSelectionLength"),a.call(this,b,c)}return a.prototype.query=function(a,b,c){var d=this;this.current(function(e){var f=null!=e?e.length:0;return d.maximumSelectionLength>0&&f>=d.maximumSelectionLength?void d.trigger("results:message",{message:"maximumSelected",args:{maximum:d.maximumSelectionLength}}):void a.call(d,b,c)})},a}),b.define("select2/dropdown",["jquery","./utils"],function(a,b){function c(a,b){this.$element=a,this.options=b,c.__super__.constructor.call(this)}return b.Extend(c,b.Observable),c.prototype.render=function(){var b=a('<span class="select2-dropdown"><span class="select2-results"></span></span>');return b.attr("dir",this.options.get("dir")),this.$dropdown=b,b},c.prototype.bind=function(){},c.prototype.position=function(a,b){},c.prototype.destroy=function(){this.$dropdown.remove()},c}),b.define("select2/dropdown/search",["jquery","../utils"],function(a,b){function c(){}return c.prototype.render=function(b){var c=b.call(this),d=a('<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" role="textbox" /></span>');return this.$searchContainer=d,this.$search=d.find("input"),c.prepend(d),c},c.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),this.$search.on("keydown",function(a){e.trigger("keypress",a),e._keyUpPrevented=a.isDefaultPrevented()}),this.$search.on("input",function(b){a(this).off("keyup")}),this.$search.on("keyup input",function(a){e.handleSearch(a)}),c.on("open",function(){e.$search.attr("tabindex",0),e.$search.focus(),window.setTimeout(function(){e.$search.focus()},0)}),c.on("close",function(){e.$search.attr("tabindex",-1),e.$search.val("")}),c.on("focus",function(){c.isOpen()&&e.$search.focus()}),c.on("results:all",function(a){if(null==a.query.term||""===a.query.term){var b=e.showSearch(a);b?e.$searchContainer.removeClass("select2-search--hide"):e.$searchContainer.addClass("select2-search--hide")}})},c.prototype.handleSearch=function(a){if(!this._keyUpPrevented){var b=this.$search.val();this.trigger("query",{term:b})}this._keyUpPrevented=!1},c.prototype.showSearch=function(a,b){return!0},c}),b.define("select2/dropdown/hidePlaceholder",[],function(){function a(a,b,c,d){this.placeholder=this.normalizePlaceholder(c.get("placeholder")),a.call(this,b,c,d)}return a.prototype.append=function(a,b){b.results=this.removePlaceholder(b.results),a.call(this,b)},a.prototype.normalizePlaceholder=function(a,b){return"string"==typeof b&&(b={id:"",text:b}),b},a.prototype.removePlaceholder=function(a,b){for(var c=b.slice(0),d=b.length-1;d>=0;d--){var e=b[d];this.placeholder.id===e.id&&c.splice(d,1)}return c},a}),b.define("select2/dropdown/infiniteScroll",["jquery"],function(a){function b(a,b,c,d){this.lastParams={},a.call(this,b,c,d),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return b.prototype.append=function(a,b){this.$loadingMore.remove(),this.loading=!1,a.call(this,b),this.showLoadingMore(b)&&this.$results.append(this.$loadingMore)},b.prototype.bind=function(b,c,d){var e=this;b.call(this,c,d),c.on("query",function(a){e.lastParams=a,e.loading=!0}),c.on("query:append",function(a){e.lastParams=a,e.loading=!0}),this.$results.on("scroll",function(){var b=a.contains(document.documentElement,e.$loadingMore[0]);if(!e.loading&&b){var c=e.$results.offset().top+e.$results.outerHeight(!1),d=e.$loadingMore.offset().top+e.$loadingMore.outerHeight(!1);c+50>=d&&e.loadMore()}})},b.prototype.loadMore=function(){this.loading=!0;var b=a.extend({},{page:1},this.lastParams);b.page++,this.trigger("query:append",b)},b.prototype.showLoadingMore=function(a,b){return b.pagination&&b.pagination.more},b.prototype.createLoadingMore=function(){var b=a('<li class="select2-results__option select2-results__option--load-more"role="treeitem" aria-disabled="true"></li>'),c=this.options.get("translations").get("loadingMore");return b.html(c(this.lastParams)),b},b}),b.define("select2/dropdown/attachBody",["jquery","../utils"],function(a,b){function c(b,c,d){this.$dropdownParent=d.get("dropdownParent")||a(document.body),b.call(this,c,d)}return c.prototype.bind=function(a,b,c){var d=this,e=!1;a.call(this,b,c),b.on("open",function(){d._showDropdown(),d._attachPositioningHandler(b),e||(e=!0,b.on("results:all",function(){d._positionDropdown(),d._resizeDropdown()}),b.on("results:append",function(){d._positionDropdown(),d._resizeDropdown()}))}),b.on("close",function(){d._hideDropdown(),d._detachPositioningHandler(b)}),this.$dropdownContainer.on("mousedown",function(a){a.stopPropagation()})},c.prototype.destroy=function(a){a.call(this),this.$dropdownContainer.remove()},c.prototype.position=function(a,b,c){b.attr("class",c.attr("class")),b.removeClass("select2"),b.addClass("select2-container--open"),b.css({position:"absolute",top:-999999}),this.$container=c},c.prototype.render=function(b){var c=a("<span></span>"),d=b.call(this);return c.append(d),this.$dropdownContainer=c,c},c.prototype._hideDropdown=function(a){this.$dropdownContainer.detach()},c.prototype._attachPositioningHandler=function(c,d){var e=this,f="scroll.select2."+d.id,g="resize.select2."+d.id,h="orientationchange.select2."+d.id,i=this.$container.parents().filter(b.hasScroll);i.each(function(){a(this).data("select2-scroll-position",{x:a(this).scrollLeft(),y:a(this).scrollTop()})}),i.on(f,function(b){var c=a(this).data("select2-scroll-position");a(this).scrollTop(c.y)}),a(window).on(f+" "+g+" "+h,function(a){e._positionDropdown(),e._resizeDropdown()})},c.prototype._detachPositioningHandler=function(c,d){var e="scroll.select2."+d.id,f="resize.select2."+d.id,g="orientationchange.select2."+d.id,h=this.$container.parents().filter(b.hasScroll);h.off(e),a(window).off(e+" "+f+" "+g)},c.prototype._positionDropdown=function(){var b=a(window),c=this.$dropdown.hasClass("select2-dropdown--above"),d=this.$dropdown.hasClass("select2-dropdown--below"),e=null,f=this.$container.offset();f.bottom=f.top+this.$container.outerHeight(!1);var g={height:this.$container.outerHeight(!1)};g.top=f.top,g.bottom=f.top+g.height;var h={height:this.$dropdown.outerHeight(!1)},i={top:b.scrollTop(),bottom:b.scrollTop()+b.height()},j=i.top<f.top-h.height,k=i.bottom>f.bottom+h.height,l={left:f.left,top:g.bottom},m=this.$dropdownParent;"static"===m.css("position")&&(m=m.offsetParent());var n=m.offset();l.top-=n.top,l.left-=n.left,c||d||(e="below"),k||!j||c?!j&&k&&c&&(e="below"):e="above",("above"==e||c&&"below"!==e)&&(l.top=g.top-n.top-h.height),null!=e&&(this.$dropdown.removeClass("select2-dropdown--below select2-dropdown--above").addClass("select2-dropdown--"+e),this.$container.removeClass("select2-container--below select2-container--above").addClass("select2-container--"+e)),this.$dropdownContainer.css(l)},c.prototype._resizeDropdown=function(){var a={width:this.$container.outerWidth(!1)+"px"};this.options.get("dropdownAutoWidth")&&(a.minWidth=a.width,a.position="relative",a.width="auto"),this.$dropdown.css(a)},c.prototype._showDropdown=function(a){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},c}),b.define("select2/dropdown/minimumResultsForSearch",[],function(){function a(b){for(var c=0,d=0;d<b.length;d++){var e=b[d];e.children?c+=a(e.children):c++}return c}function b(a,b,c,d){this.minimumResultsForSearch=c.get("minimumResultsForSearch"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),a.call(this,b,c,d)}return b.prototype.showSearch=function(b,c){return a(c.data.results)<this.minimumResultsForSearch?!1:b.call(this,c)},b}),b.define("select2/dropdown/selectOnClose",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("close",function(a){d._handleSelectOnClose(a)})},a.prototype._handleSelectOnClose=function(a,b){if(b&&null!=b.originalSelect2Event){var c=b.originalSelect2Event;if("select"===c._type||"unselect"===c._type)return}var d=this.getHighlightedResults();if(!(d.length<1)){var e=d.data("data");null!=e.element&&e.element.selected||null==e.element&&e.selected||this.trigger("select",{data:e})}},a}),b.define("select2/dropdown/closeOnSelect",[],function(){function a(){}return a.prototype.bind=function(a,b,c){var d=this;a.call(this,b,c),b.on("select",function(a){d._selectTriggered(a)}),b.on("unselect",function(a){d._selectTriggered(a)})},a.prototype._selectTriggered=function(a,b){var c=b.originalEvent;c&&c.ctrlKey||this.trigger("close",{originalEvent:c,originalSelect2Event:b})},a}),b.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(a){var b=a.input.length-a.maximum,c="Please delete "+b+" character";return 1!=b&&(c+="s"),c},inputTooShort:function(a){var b=a.minimum-a.input.length,c="Please enter "+b+" or more characters";return c},loadingMore:function(){return"Loading more results…"},maximumSelected:function(a){var b="You can only select "+a.maximum+" item";return 1!=a.maximum&&(b+="s"),b},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),b.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(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C){function D(){this.reset()}D.prototype.apply=function(l){if(l=a.extend(!0,{},this.defaults,l),null==l.dataAdapter){if(null!=l.ajax?l.dataAdapter=o:null!=l.data?l.dataAdapter=n:l.dataAdapter=m,l.minimumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,r)),l.maximumInputLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,s)),l.maximumSelectionLength>0&&(l.dataAdapter=j.Decorate(l.dataAdapter,t)),l.tags&&(l.dataAdapter=j.Decorate(l.dataAdapter,p)),(null!=l.tokenSeparators||null!=l.tokenizer)&&(l.dataAdapter=j.Decorate(l.dataAdapter,q)),null!=l.query){var C=b(l.amdBase+"compat/query");l.dataAdapter=j.Decorate(l.dataAdapter,C)}if(null!=l.initSelection){var D=b(l.amdBase+"compat/initSelection");l.dataAdapter=j.Decorate(l.dataAdapter,D)}}if(null==l.resultsAdapter&&(l.resultsAdapter=c,null!=l.ajax&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,x)),null!=l.placeholder&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,w)),l.selectOnClose&&(l.resultsAdapter=j.Decorate(l.resultsAdapter,A))),null==l.dropdownAdapter){if(l.multiple)l.dropdownAdapter=u;else{var E=j.Decorate(u,v);l.dropdownAdapter=E}if(0!==l.minimumResultsForSearch&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,z)),l.closeOnSelect&&(l.dropdownAdapter=j.Decorate(l.dropdownAdapter,B)),null!=l.dropdownCssClass||null!=l.dropdownCss||null!=l.adaptDropdownCssClass){var F=b(l.amdBase+"compat/dropdownCss");l.dropdownAdapter=j.Decorate(l.dropdownAdapter,F)}l.dropdownAdapter=j.Decorate(l.dropdownAdapter,y)}if(null==l.selectionAdapter){if(l.multiple?l.selectionAdapter=e:l.selectionAdapter=d,null!=l.placeholder&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,f)),l.allowClear&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,g)),l.multiple&&(l.selectionAdapter=j.Decorate(l.selectionAdapter,h)),null!=l.containerCssClass||null!=l.containerCss||null!=l.adaptContainerCssClass){var G=b(l.amdBase+"compat/containerCss");l.selectionAdapter=j.Decorate(l.selectionAdapter,G)}l.selectionAdapter=j.Decorate(l.selectionAdapter,i)}if("string"==typeof l.language)if(l.language.indexOf("-")>0){var H=l.language.split("-"),I=H[0];l.language=[l.language,I]}else l.language=[l.language];if(a.isArray(l.language)){var J=new k;l.language.push("en");for(var K=l.language,L=0;L<K.length;L++){var M=K[L],N={};try{N=k.loadPath(M)}catch(O){try{M=this.defaults.amdLanguageBase+M,N=k.loadPath(M)}catch(P){l.debug&&window.console&&console.warn&&console.warn('Select2: The language file for "'+M+'" could not be automatically loaded. A fallback will be used instead.');continue}}J.extend(N)}l.translations=J}else{var Q=k.loadPath(this.defaults.amdLanguageBase+"en"),R=new k(l.language);R.extend(Q),l.translations=R}return l},D.prototype.reset=function(){function b(a){function b(a){return l[a]||a}return a.replace(/[^\u0000-\u007E]/g,b)}function c(d,e){if(""===a.trim(d.term))return e;if(e.children&&e.children.length>0){for(var f=a.extend(!0,{},e),g=e.children.length-1;g>=0;g--){var h=e.children[g],i=c(d,h);null==i&&f.children.splice(g,1)}return f.children.length>0?f:c(d,f)}var j=b(e.text).toUpperCase(),k=b(d.term).toUpperCase();return j.indexOf(k)>-1?e:null}this.defaults={amdBase:"./",amdLanguageBase:"./i18n/",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:j.escapeMarkup,language:C,matcher:c,minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(a){return a},templateResult:function(a){return a.text},templateSelection:function(a){return a.text},theme:"default",width:"resolve"}},D.prototype.set=function(b,c){var d=a.camelCase(b),e={};e[d]=c;var f=j._convertData(e);a.extend(this.defaults,f)};var E=new D;return E}),b.define("select2/options",["require","jquery","./defaults","./utils"],function(a,b,c,d){function e(b,e){if(this.options=b,null!=e&&this.fromElement(e),this.options=c.apply(this.options),e&&e.is("input")){var f=a(this.get("amdBase")+"compat/inputData");this.options.dataAdapter=d.Decorate(this.options.dataAdapter,f)}}return e.prototype.fromElement=function(a){var c=["select2"];null==this.options.multiple&&(this.options.multiple=a.prop("multiple")),null==this.options.disabled&&(this.options.disabled=a.prop("disabled")),null==this.options.language&&(a.prop("lang")?this.options.language=a.prop("lang").toLowerCase():a.closest("[lang]").prop("lang")&&(this.options.language=a.closest("[lang]").prop("lang"))),null==this.options.dir&&(a.prop("dir")?this.options.dir=a.prop("dir"):a.closest("[dir]").prop("dir")?this.options.dir=a.closest("[dir]").prop("dir"):this.options.dir="ltr"),a.prop("disabled",this.options.disabled),a.prop("multiple",this.options.multiple),a.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.'),a.data("data",a.data("select2Tags")),a.data("tags",!0)),a.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."),a.attr("ajax--url",a.data("ajaxUrl")),a.data("ajax--url",a.data("ajaxUrl")));var e={};e=b.fn.jquery&&"1."==b.fn.jquery.substr(0,2)&&a[0].dataset?b.extend(!0,{},a[0].dataset,a.data()):a.data();var f=b.extend(!0,{},e);f=d._convertData(f);for(var g in f)b.inArray(g,c)>-1||(b.isPlainObject(this.options[g])?b.extend(this.options[g],f[g]):this.options[g]=f[g]);return this},e.prototype.get=function(a){return this.options[a]},e.prototype.set=function(a,b){this.options[a]=b},e}),b.define("select2/core",["jquery","./options","./utils","./keys"],function(a,b,c,d){var e=function(a,c){null!=a.data("select2")&&a.data("select2").destroy(),this.$element=a,this.id=this._generateId(a),c=c||{},this.options=new b(c,a),e.__super__.constructor.call(this);var d=a.attr("tabindex")||0;a.data("old-tabindex",d),a.attr("tabindex","-1");var f=this.options.get("dataAdapter");this.dataAdapter=new f(a,this.options);var g=this.render();this._placeContainer(g);var h=this.options.get("selectionAdapter");this.selection=new h(a,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,g);var i=this.options.get("dropdownAdapter");this.dropdown=new i(a,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,g);var j=this.options.get("resultsAdapter");this.results=new j(a,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var k=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(a){k.trigger("selection:update",{data:a})}),a.addClass("select2-hidden-accessible"),a.attr("aria-hidden","true"),this._syncAttributes(),a.data("select2",this)};return c.Extend(e,c.Observable),e.prototype._generateId=function(a){var b="";return b=null!=a.attr("id")?a.attr("id"):null!=a.attr("name")?a.attr("name")+"-"+c.generateChars(2):c.generateChars(4),b=b.replace(/(:|\.|\[|\]|,)/g,""),b="select2-"+b},e.prototype._placeContainer=function(a){a.insertAfter(this.$element);var b=this._resolveWidth(this.$element,this.options.get("width"));null!=b&&a.css("width",b)},e.prototype._resolveWidth=function(a,b){var c=/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if("resolve"==b){var d=this._resolveWidth(a,"style");return null!=d?d:this._resolveWidth(a,"element")}if("element"==b){var e=a.outerWidth(!1);return 0>=e?"auto":e+"px"}if("style"==b){var f=a.attr("style");if("string"!=typeof f)return null;for(var g=f.split(";"),h=0,i=g.length;i>h;h+=1){var j=g[h].replace(/\s/g,""),k=j.match(c);if(null!==k&&k.length>=1)return k[1]}return null}return b},e.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)},e.prototype._registerDomEvents=function(){var b=this;this.$element.on("change.select2",function(){b.dataAdapter.current(function(a){b.trigger("selection:update",{data:a})})}),this.$element.on("focus.select2",function(a){b.trigger("focus",a)}),this._syncA=c.bind(this._syncAttributes,this),this._syncS=c.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent("onpropertychange",this._syncA);var d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=d?(this._observer=new d(function(c){a.each(c,b._syncA),a.each(c,b._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener("DOMAttrModified",b._syncA,!1),this.$element[0].addEventListener("DOMNodeInserted",b._syncS,!1),this.$element[0].addEventListener("DOMNodeRemoved",b._syncS,!1))},e.prototype._registerDataEvents=function(){var a=this;this.dataAdapter.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerSelectionEvents=function(){var b=this,c=["toggle","focus"];this.selection.on("toggle",function(){b.toggleDropdown()}),this.selection.on("focus",function(a){b.focus(a)}),this.selection.on("*",function(d,e){-1===a.inArray(d,c)&&b.trigger(d,e)})},e.prototype._registerDropdownEvents=function(){var a=this;this.dropdown.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerResultsEvents=function(){var a=this;this.results.on("*",function(b,c){a.trigger(b,c)})},e.prototype._registerEvents=function(){var a=this;this.on("open",function(){a.$container.addClass("select2-container--open")}),this.on("close",function(){a.$container.removeClass("select2-container--open")}),this.on("enable",function(){a.$container.removeClass("select2-container--disabled")}),this.on("disable",function(){a.$container.addClass("select2-container--disabled")}),this.on("blur",function(){a.$container.removeClass("select2-container--focus")}),this.on("query",function(b){a.isOpen()||a.trigger("open",{}),this.dataAdapter.query(b,function(c){a.trigger("results:all",{data:c,query:b})})}),this.on("query:append",function(b){this.dataAdapter.query(b,function(c){a.trigger("results:append",{data:c,query:b})})}),this.on("keypress",function(b){var c=b.which;a.isOpen()?c===d.ESC||c===d.TAB||c===d.UP&&b.altKey?(a.close(),b.preventDefault()):c===d.ENTER?(a.trigger("results:select",{}),b.preventDefault()):c===d.SPACE&&b.ctrlKey?(a.trigger("results:toggle",{}),b.preventDefault()):c===d.UP?(a.trigger("results:previous",{}),b.preventDefault()):c===d.DOWN&&(a.trigger("results:next",{}),b.preventDefault()):(c===d.ENTER||c===d.SPACE||c===d.DOWN&&b.altKey)&&(a.open(),b.preventDefault())})},e.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",{})},e.prototype._syncSubtree=function(a,b){var c=!1,d=this;if(!a||!a.target||"OPTION"===a.target.nodeName||"OPTGROUP"===a.target.nodeName){if(b)if(b.addedNodes&&b.addedNodes.length>0)for(var e=0;e<b.addedNodes.length;e++){var f=b.addedNodes[e];f.selected&&(c=!0)}else b.removedNodes&&b.removedNodes.length>0&&(c=!0);else c=!0;c&&this.dataAdapter.current(function(a){d.trigger("selection:update",{data:a})})}},e.prototype.trigger=function(a,b){var c=e.__super__.trigger,d={open:"opening",close:"closing",select:"selecting",unselect:"unselecting"};if(void 0===b&&(b={}),a in d){var f=d[a],g={prevented:!1,name:a,args:b};if(c.call(this,f,g),g.prevented)return void(b.prevented=!0)}c.call(this,a,b)},e.prototype.toggleDropdown=function(){this.options.get("disabled")||(this.isOpen()?this.close():this.open())},e.prototype.open=function(){this.isOpen()||this.trigger("query",{})},e.prototype.close=function(){this.isOpen()&&this.trigger("close",{})},e.prototype.isOpen=function(){return this.$container.hasClass("select2-container--open")},e.prototype.hasFocus=function(){return this.$container.hasClass("select2-container--focus")},e.prototype.focus=function(a){this.hasFocus()||(this.$container.addClass("select2-container--focus"),this.trigger("focus",{}))},e.prototype.enable=function(a){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==a||0===a.length)&&(a=[!0]);var b=!a[0];this.$element.prop("disabled",b)},e.prototype.data=function(){this.options.get("debug")&&arguments.length>0&&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 a=[];return this.dataAdapter.current(function(b){a=b}),a},e.prototype.val=function(b){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==b||0===b.length)return this.$element.val();var c=b[0];a.isArray(c)&&(c=a.map(c,function(a){return a.toString()})),this.$element.val(c).trigger("change")},e.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;
|
3 |
-
},e.prototype.render=function(){var b=a('<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>');return b.attr("dir",this.options.get("dir")),this.$container=b,this.$container.addClass("select2-container--"+this.options.get("theme")),b.data("element",this.$element),b},e}),b.define("jquery-mousewheel",["jquery"],function(a){return a}),b.define("jquery.select2",["jquery","jquery-mousewheel","./select2/core","./select2/defaults"],function(a,b,c,d){if(null==a.fn.select2){var e=["open","close","destroy"];a.fn.select2=function(b){if(b=b||{},"object"==typeof b)return this.each(function(){var d=a.extend(!0,{},b);new c(a(this),d)}),this;if("string"==typeof b){var d,f=Array.prototype.slice.call(arguments,1);return this.each(function(){var c=a(this).data("select2");null==c&&window.console&&console.error&&console.error("The select2('"+b+"') method was called on an element that is not using Select2."),d=c[b].apply(c,f)}),a.inArray(b,e)>-1?this:d}throw new Error("Invalid arguments for Select2: "+b)}}return null==a.fn.select2.defaults&&(a.fn.select2.defaults=d),c}),{define:b.define,require:b.require}}(),c=b.require("jquery.select2");return a.fn.select2.amd=b,c});
|
|
|
|
|
|
v1/assets/js/woo_discount_rules.js
DELETED
@@ -1,84 +0,0 @@
|
|
1 |
-
|
2 |
-
jQuery( document ).ready( function() {
|
3 |
-
jQuery(document).on('change', 'input[name="quantity"]', function () {
|
4 |
-
if(woo_discount_rules.show_product_strikeout == undefined){
|
5 |
-
return false;
|
6 |
-
}
|
7 |
-
if(woo_discount_rules.show_product_strikeout !== 'show_on_qty_update'){
|
8 |
-
return false;
|
9 |
-
}
|
10 |
-
var form = jQuery(this).closest('form');
|
11 |
-
if(form.length){
|
12 |
-
var btn = form.find("button[name='add-to-cart']");
|
13 |
-
var product_id = null;
|
14 |
-
var current_object = jQuery(this);
|
15 |
-
var quantity = jQuery(this).val();
|
16 |
-
var target_class = '.summary';
|
17 |
-
if(woo_discount_rules.product_price_container_class !== undefined && woo_discount_rules.product_price_container_class !== ''){
|
18 |
-
target_class = woo_discount_rules.product_price_container_class;
|
19 |
-
}
|
20 |
-
var target = jQuery(this).closest(target_class).find('.price');
|
21 |
-
if(btn.length && parseInt(btn.val()) > 0){
|
22 |
-
product_id = btn.val();
|
23 |
-
if(!target.length){
|
24 |
-
target = null;
|
25 |
-
}
|
26 |
-
} else {
|
27 |
-
var input_product_id = input_variation_id = null;
|
28 |
-
if(jQuery('input[name="product_id"]').length){
|
29 |
-
var input_product_id = form.find('input[name="product_id"]');
|
30 |
-
}
|
31 |
-
if(jQuery('input[name="variation_id"]').length){
|
32 |
-
var input_variation_id = form.find('input[name="variation_id"]');
|
33 |
-
}
|
34 |
-
|
35 |
-
if(input_product_id !== null){
|
36 |
-
product_id = input_product_id.val();
|
37 |
-
}
|
38 |
-
if(input_variation_id !== null){
|
39 |
-
product_id = input_variation_id.val();
|
40 |
-
target = form.find(".woocommerce-variation-price");
|
41 |
-
}
|
42 |
-
}
|
43 |
-
if(parseInt(product_id) > 0){
|
44 |
-
jQuery.ajax({
|
45 |
-
url: woo_discount_rules.ajax_url,
|
46 |
-
dataType: "json",
|
47 |
-
type: "POST",
|
48 |
-
data: {action: "loadWooDiscountStrikeoutPriceOfProduct", id: product_id, qty: quantity, price_html: ''},
|
49 |
-
beforeSend: function() {
|
50 |
-
},
|
51 |
-
complete: function() {
|
52 |
-
},
|
53 |
-
success: function (response) {
|
54 |
-
if(response.status == 1){
|
55 |
-
if(target !== null){
|
56 |
-
target.html(response.price_html);
|
57 |
-
if(response.product_type == 'variation'){
|
58 |
-
if(response.has_single_price != undefined && response.parent_id != undefined){
|
59 |
-
if(response.has_single_price == 1){
|
60 |
-
var variation_price_target = jQuery('#product-'+response.parent_id+' .summary > p.price');
|
61 |
-
variation_price_target.html(response.price_html);
|
62 |
-
}
|
63 |
-
}
|
64 |
-
}
|
65 |
-
}
|
66 |
-
}
|
67 |
-
current_object.trigger("woo_discount_rules_after_display_strikeout_price_on_quantity_update", [ product_id, response ]);
|
68 |
-
}
|
69 |
-
});
|
70 |
-
}
|
71 |
-
}
|
72 |
-
});
|
73 |
-
jQuery( ".single_variation_wrap" ).on( "show_variation, woo_discount_rules_after_variant_strikeout", function ( event, variation ) {
|
74 |
-
jQuery(this).closest('form').find('input[name="quantity"]').trigger('change');
|
75 |
-
});
|
76 |
-
jQuery(document).on('mouseenter', '.wdr_table_container', function () {
|
77 |
-
jQuery('.wdr_table_container .wdr_table_off_settings_link_con').show();
|
78 |
-
jQuery('.wdr_table_container_for_admin').addClass('wdr_table_cbr');
|
79 |
-
});
|
80 |
-
jQuery(document).on('mouseleave', '.wdr_table_container', function () {
|
81 |
-
jQuery('.wdr_table_container .wdr_table_off_settings_link_con').hide();
|
82 |
-
jQuery('.wdr_table_container_for_admin').removeClass('wdr_table_cbr');
|
83 |
-
});
|
84 |
-
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/helper/activation-helper.php
DELETED
@@ -1,173 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
-
|
4 |
-
if ( ! class_exists( 'FlycartWooDiscountRulesActivationHelper' ) ) {
|
5 |
-
class FlycartWooDiscountRulesActivationHelper
|
6 |
-
{
|
7 |
-
public static function isWooCommerceActive()
|
8 |
-
{
|
9 |
-
$active_plugins = apply_filters('active_plugins', get_option('active_plugins', array()));
|
10 |
-
if (is_multisite()) {
|
11 |
-
$active_plugins = array_merge($active_plugins, get_site_option('active_sitewide_plugins', array()));
|
12 |
-
}
|
13 |
-
return in_array('woocommerce/woocommerce.php', $active_plugins, false) || array_key_exists('woocommerce/woocommerce.php', $active_plugins);
|
14 |
-
}
|
15 |
-
|
16 |
-
public static function flyCartWooDiscountRulesAddSampleRules(){
|
17 |
-
$price_rule = self::flyCartWooDiscountRulesGetRulesFromPost('woo_discount');
|
18 |
-
$cart_rule = self::flyCartWooDiscountRulesGetRulesFromPost('woo_discount_cart');
|
19 |
-
if($price_rule){
|
20 |
-
// do nothing
|
21 |
-
} else {
|
22 |
-
$price_rules = self::flyCartWooDiscountRulesSamplePriceRules();
|
23 |
-
self::flyCartWooDiscountRulesInsertSampleRules($price_rules);
|
24 |
-
}
|
25 |
-
if($cart_rule){
|
26 |
-
// do nothing
|
27 |
-
} else {
|
28 |
-
$cart_rules = self::flyCartWooDiscountRulesSampleCartRules();
|
29 |
-
self::flyCartWooDiscountRulesInsertSampleRules($cart_rules);
|
30 |
-
}
|
31 |
-
}
|
32 |
-
|
33 |
-
public static function flyCartWooDiscountRulesInsertSampleRules($rules){
|
34 |
-
foreach ($rules as $rule){
|
35 |
-
$metaData = $rule['meta'];
|
36 |
-
unset($rule['meta']);
|
37 |
-
$insert = wp_insert_post($rule);
|
38 |
-
if($insert){
|
39 |
-
foreach ($metaData as $index => $value) {
|
40 |
-
add_post_meta($insert, $index, $value, true);
|
41 |
-
}
|
42 |
-
}
|
43 |
-
}
|
44 |
-
}
|
45 |
-
|
46 |
-
/**
|
47 |
-
* Get Email template from post
|
48 |
-
* */
|
49 |
-
public static function flyCartWooDiscountRulesGetRulesFromPost($type){
|
50 |
-
if($type != ''){
|
51 |
-
global $wpdb;
|
52 |
-
$postid = $wpdb->get_var( "SELECT ID FROM $wpdb->posts WHERE post_type = '".sanitize_text_field($type)."'" );
|
53 |
-
return $postid;
|
54 |
-
} else {
|
55 |
-
return false;
|
56 |
-
}
|
57 |
-
}
|
58 |
-
|
59 |
-
public static function flyCartWooDiscountRulesSampleCartRules(){
|
60 |
-
$rules = array();
|
61 |
-
|
62 |
-
$rules['cart_subtotal'] = array(
|
63 |
-
'post_type' => 'woo_discount_cart',
|
64 |
-
'post_title' => 'Sample - Subtotal based discount',
|
65 |
-
'post_name' => 'sample-subtotal-based-discount',
|
66 |
-
'post_content' => 'Sample - Subtotal based discount',
|
67 |
-
'post_status' => 'publish',
|
68 |
-
'meta' => array(
|
69 |
-
'rule_order' => 1,
|
70 |
-
'rule_name' => 'Sample - Subtotal based discount',
|
71 |
-
'rule_descr' => 'Get 10% off when subtotal reaches $500',
|
72 |
-
'date_from' => '',
|
73 |
-
'date_to' => '',
|
74 |
-
'discount_rule' => '[{"subtotal_least":"500"}]',
|
75 |
-
'promotion_subtotal_from' => '300',
|
76 |
-
'promotion_message' => 'Spend {{difference_amount}} and get 10% off',
|
77 |
-
'discount_type' => 'percentage_discount',
|
78 |
-
'to_discount' => '10',
|
79 |
-
'product_discount_quantity' => '1',
|
80 |
-
'cart_discounted_products' => '{}',
|
81 |
-
'dynamic_coupons_to_apply' => '',
|
82 |
-
'status' => 'disable'
|
83 |
-
)
|
84 |
-
);
|
85 |
-
|
86 |
-
return $rules;
|
87 |
-
}
|
88 |
-
|
89 |
-
public static function flyCartWooDiscountRulesSamplePriceRules(){
|
90 |
-
$rules = array();
|
91 |
-
$rules['store_wide'] = array(
|
92 |
-
'post_type' => 'woo_discount',
|
93 |
-
'post_title' => 'Sample - Store wide discount',
|
94 |
-
'post_name' => 'sample-store-wide-discount',
|
95 |
-
'post_content' => 'Sample - Store wide discount',
|
96 |
-
'post_status' => 'publish',
|
97 |
-
'meta' => array(
|
98 |
-
'rule_order' => 1,
|
99 |
-
'rule_name' => 'Sample - Store wide discount',
|
100 |
-
'rule_descr' => '20% discount on all products in store',
|
101 |
-
'rule_method' => 'qty_based',
|
102 |
-
'date_from' => '',
|
103 |
-
'date_to' => '',
|
104 |
-
'apply_to' => 'all_products',
|
105 |
-
'is_cumulative_for_products' => '1',
|
106 |
-
'customer' => 'all',
|
107 |
-
'coupons_to_apply_option' => 'none',
|
108 |
-
'dynamic_coupons_to_apply' => '',
|
109 |
-
'subtotal_to_apply_option' => 'none',
|
110 |
-
'subtotal_to_apply' => '',
|
111 |
-
'based_on_purchase_history' => '0',
|
112 |
-
'product_based_condition' => '{}',
|
113 |
-
'discount_range' => '{"1":{"min_qty":"1","max_qty":"999","discount_type":"percentage_discount","to_discount":"20","discount_product_option":"all","discount_bogo_qty":"1","discount_product_item_type":"dynamic","discount_product_items":"","discount_product_qty":"","discount_product_discount_type":"","discount_product_percent":"","title":"Sample - Store wide discount"}}',
|
114 |
-
'product_based_discount' => '{}',
|
115 |
-
'coupons_to_apply' => '',
|
116 |
-
'exclude_sale_items' => '0',
|
117 |
-
'user_roles_to_apply' => '[]',
|
118 |
-
'product_to_exclude' => 'a:0:{}',
|
119 |
-
'status' => 'disable',
|
120 |
-
'wpml_language' => '',
|
121 |
-
'product_to_exclude_variants' => 'a:0:{}',
|
122 |
-
)
|
123 |
-
);
|
124 |
-
|
125 |
-
$rules['bulk_discount'] = array(
|
126 |
-
'post_type' => 'woo_discount',
|
127 |
-
'post_title' => 'Sample - Bulk discounts / Tiered pricing discounts',
|
128 |
-
'post_name' => 'sample-bulk-discounts-tiered-pricing-discounts',
|
129 |
-
'post_content' => 'Sample - Bulk discounts / Tiered pricing discounts',
|
130 |
-
'post_status' => 'publish',
|
131 |
-
'meta' => array(
|
132 |
-
'rule_order' => 2,
|
133 |
-
'rule_name' => 'Sample - Bulk discounts / Tiered pricing discounts',
|
134 |
-
'rule_descr' => 'Buy 6 - 11 quantities get 5% off, Buy 12 - 17 quantities get 10% off and so on',
|
135 |
-
'rule_method' => 'qty_based',
|
136 |
-
'date_from' => '',
|
137 |
-
'date_to' => '',
|
138 |
-
'apply_to' => 'all_products',
|
139 |
-
'is_cumulative_for_products' => '1',
|
140 |
-
'customer' => 'all',
|
141 |
-
'coupons_to_apply_option' => 'none',
|
142 |
-
'dynamic_coupons_to_apply' => '',
|
143 |
-
'subtotal_to_apply_option' => 'none',
|
144 |
-
'subtotal_to_apply' => '',
|
145 |
-
'based_on_purchase_history' => '0',
|
146 |
-
'product_based_condition' => '{}',
|
147 |
-
'discount_range' => '{"1":{"min_qty":"6","max_qty":"11","discount_type":"percentage_discount","to_discount":"5","discount_product_option":"all","discount_bogo_qty":"1","discount_product_item_type":"dynamic","discount_product_items":"","discount_product_qty":"","discount_product_discount_type":"","discount_product_percent":"","title":"Sample - Bulk discounts / Tiered pricing discounts"},"2":{"min_qty":"12","max_qty":"17","discount_type":"percentage_discount","to_discount":"10","discount_product_option":"all","discount_bogo_qty":"","discount_product_item_type":"dynamic","discount_product_items":"","discount_product_qty":"","discount_product_discount_type":"","discount_product_percent":"","title":"Sample - Bulk discounts / Tiered pricing discounts"},"3":{"min_qty":"18","max_qty":"999","discount_type":"percentage_discount","to_discount":"15","discount_product_option":"all","discount_bogo_qty":"","discount_product_item_type":"dynamic","discount_product_items":"","discount_product_qty":"","discount_product_discount_type":"","discount_product_percent":"","title":"Sample - Bulk discounts / Tiered pricing discounts"}}',
|
148 |
-
'product_based_discount' => '{}',
|
149 |
-
'coupons_to_apply' => '',
|
150 |
-
'exclude_sale_items' => '0',
|
151 |
-
'user_roles_to_apply' => '[]',
|
152 |
-
'product_to_exclude' => 'a:0:{}',
|
153 |
-
'status' => 'disable',
|
154 |
-
'wpml_language' => '',
|
155 |
-
'product_to_exclude_variants' => 'a:0:{}',
|
156 |
-
)
|
157 |
-
);
|
158 |
-
|
159 |
-
return $rules;
|
160 |
-
}
|
161 |
-
}
|
162 |
-
}
|
163 |
-
if (!function_exists('onWooDiscountActivate')) {
|
164 |
-
function onWooDiscountActivate() {
|
165 |
-
// Dependency Check.
|
166 |
-
if (!FlycartWooDiscountRulesActivationHelper::isWooCommerceActive()) wp_die('Please Install WooCommerce to Continue !');
|
167 |
-
|
168 |
-
FlycartWooDiscountRulesActivationHelper::flyCartWooDiscountRulesAddSampleRules();
|
169 |
-
}
|
170 |
-
}
|
171 |
-
if (!function_exists('onWooDiscountDeactivation')) {
|
172 |
-
function onWooDiscountDeactivation() {}
|
173 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/helper/general-helper.php
DELETED
@@ -1,1281 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
-
include_once(WOO_DISCOUNT_DIR . '/helper/purchase.php');
|
4 |
-
include_once(WOO_DISCOUNT_DIR . '/helper/woo-function.php');
|
5 |
-
/**
|
6 |
-
* Class FlycartWooDiscountRulesGeneralHelper
|
7 |
-
*/
|
8 |
-
if ( ! class_exists( 'FlycartWooDiscountRulesGeneralHelper' ) ) {
|
9 |
-
global $styles_woo_discount;
|
10 |
-
class FlycartWooDiscountRulesGeneralHelper
|
11 |
-
{
|
12 |
-
|
13 |
-
public $isPro;
|
14 |
-
|
15 |
-
/**
|
16 |
-
* @var string
|
17 |
-
*/
|
18 |
-
public $default_page = 'pricing-rules';
|
19 |
-
|
20 |
-
protected static $sub_categories = array();
|
21 |
-
|
22 |
-
/**
|
23 |
-
* To Process the View.
|
24 |
-
*
|
25 |
-
* @param $path
|
26 |
-
* @param $data
|
27 |
-
* @return bool|string
|
28 |
-
*/
|
29 |
-
public function processBaseView($path, $data, $tab)
|
30 |
-
{
|
31 |
-
if (!file_exists($path)) return false;
|
32 |
-
$this->checkPluginState();
|
33 |
-
$purchase = new FlycartWooDiscountRulesPurchase();
|
34 |
-
$suffix = $purchase->getSuffix();
|
35 |
-
ob_start();
|
36 |
-
$config = $data;
|
37 |
-
$pro = $this->isPro;
|
38 |
-
$category = $this->getCategoryList();
|
39 |
-
$coupons = array();
|
40 |
-
if(in_array($tab, array('pricing-rules-new', 'pricing-rules-view', 'cart-rules-new', 'cart-rules-view'))){
|
41 |
-
$has_large_no_of_coupon = FlycartWooDiscountBase::hasLargeNumberOfCoupon();
|
42 |
-
if($pro && (!$has_large_no_of_coupon)) $coupons = $this->getCouponsList();
|
43 |
-
}
|
44 |
-
|
45 |
-
//$users = $this->getUserList();
|
46 |
-
FlycartWoocommerceVersion::wcVersion('3.0')? $flycart_wdr_woocommerce_version = 3: $flycart_wdr_woocommerce_version = 2;
|
47 |
-
$userRoles = $this->getUserRoles();
|
48 |
-
$userRoles['woo_discount_rules_guest'] = esc_html__('Guest', 'woo-discount-rules');
|
49 |
-
$countries = $this->getAllCountries();
|
50 |
-
|
51 |
-
if (!isset($config)) return false;
|
52 |
-
if (!isset($path) or is_null($config)) return false;
|
53 |
-
include($path);
|
54 |
-
$html = ob_get_contents();
|
55 |
-
ob_end_clean();
|
56 |
-
return $html;
|
57 |
-
}
|
58 |
-
|
59 |
-
public function checkPluginState()
|
60 |
-
{
|
61 |
-
$purchase = new FlycartWooDiscountRulesPurchase();
|
62 |
-
$this->isPro = $purchase->isPro();
|
63 |
-
return $this->isPro;
|
64 |
-
}
|
65 |
-
|
66 |
-
/**
|
67 |
-
* To Retrieve the list of Users.
|
68 |
-
*
|
69 |
-
* @return array
|
70 |
-
*/
|
71 |
-
public function getUserList()
|
72 |
-
{
|
73 |
-
$result = array();
|
74 |
-
foreach (get_users() as $user) {
|
75 |
-
$result[$user->ID] = '#' . $user->ID . ' ' . $user->user_email;
|
76 |
-
}
|
77 |
-
return $result;
|
78 |
-
}
|
79 |
-
|
80 |
-
/**
|
81 |
-
* Get all coupons
|
82 |
-
* */
|
83 |
-
public function getCouponsList(){
|
84 |
-
$args = array(
|
85 |
-
'posts_per_page' => -1,
|
86 |
-
'orderby' => 'title',
|
87 |
-
'order' => 'asc',
|
88 |
-
'post_type' => 'shop_coupon',
|
89 |
-
'post_status' => 'publish',
|
90 |
-
);
|
91 |
-
$coupon_list = array();
|
92 |
-
$coupons = get_posts( $args );
|
93 |
-
if(!empty($coupons)){
|
94 |
-
foreach ($coupons as $coupon){
|
95 |
-
//$coupon_list[$coupon->post_name] = $coupon->post_title;
|
96 |
-
if(function_exists('wc_strtolower')){
|
97 |
-
$coupon_name = wc_strtolower($coupon->post_title);
|
98 |
-
} else {
|
99 |
-
$coupon_name = strtolower($coupon->post_title);
|
100 |
-
}
|
101 |
-
|
102 |
-
$coupon_list[$coupon_name] = $coupon->post_title;
|
103 |
-
}
|
104 |
-
}
|
105 |
-
|
106 |
-
return $coupon_list;
|
107 |
-
}
|
108 |
-
|
109 |
-
/**
|
110 |
-
* To Retrieve the active tab.
|
111 |
-
*
|
112 |
-
* @return string
|
113 |
-
*/
|
114 |
-
public function getCurrentTab()
|
115 |
-
{
|
116 |
-
$postData = \FlycartInput\FInput::getInstance();
|
117 |
-
$tab = $this->default_page;
|
118 |
-
$empty_tab = $postData->get('tab', null);
|
119 |
-
if (!empty($empty_tab) && $postData->get('tab', '') != '') {
|
120 |
-
$tab = sanitize_text_field($postData->get('tab', ''));
|
121 |
-
}
|
122 |
-
return $tab;
|
123 |
-
}
|
124 |
-
|
125 |
-
/**
|
126 |
-
* To Get All Countries.
|
127 |
-
*
|
128 |
-
* @return array
|
129 |
-
*/
|
130 |
-
public function getAllCountries()
|
131 |
-
{
|
132 |
-
$countries = new WC_Countries();
|
133 |
-
|
134 |
-
if ($countries && is_array($countries->countries)) {
|
135 |
-
return array_merge(array(), $countries->countries);
|
136 |
-
} else {
|
137 |
-
return array();
|
138 |
-
}
|
139 |
-
}
|
140 |
-
|
141 |
-
/**
|
142 |
-
* To Get All Capabilities list.
|
143 |
-
*
|
144 |
-
* @return array
|
145 |
-
*/
|
146 |
-
public function getCapabilitiesList()
|
147 |
-
{
|
148 |
-
$capabilities = array();
|
149 |
-
|
150 |
-
if (class_exists('Groups_User') && class_exists('Groups_Wordpress') && function_exists('_groups_get_tablename')) {
|
151 |
-
|
152 |
-
global $wpdb;
|
153 |
-
$capability_table = _groups_get_tablename('capability');
|
154 |
-
$all_capabilities = $wpdb->get_results('SELECT capability FROM ' . $capability_table);
|
155 |
-
|
156 |
-
if ($all_capabilities) {
|
157 |
-
foreach ($all_capabilities as $capability) {
|
158 |
-
$capabilities[$capability->capability] = $capability->capability;
|
159 |
-
}
|
160 |
-
}
|
161 |
-
} else {
|
162 |
-
global $wp_roles;
|
163 |
-
|
164 |
-
if (!isset($wp_roles)) {
|
165 |
-
get_role('administrator');
|
166 |
-
}
|
167 |
-
|
168 |
-
$roles = $wp_roles->roles;
|
169 |
-
|
170 |
-
if (is_array($roles)) {
|
171 |
-
foreach ($roles as $rolename => $atts) {
|
172 |
-
if (isset($atts['capabilities']) && is_array($atts['capabilities'])) {
|
173 |
-
foreach ($atts['capabilities'] as $capability => $value) {
|
174 |
-
if (!in_array($capability, $capabilities)) {
|
175 |
-
$capabilities[$capability] = $capability;
|
176 |
-
}
|
177 |
-
}
|
178 |
-
}
|
179 |
-
}
|
180 |
-
}
|
181 |
-
}
|
182 |
-
|
183 |
-
return array_merge(array(), $capabilities);
|
184 |
-
}
|
185 |
-
|
186 |
-
/**
|
187 |
-
* @return array
|
188 |
-
*/
|
189 |
-
public function getUserRoles()
|
190 |
-
{
|
191 |
-
global $wp_roles;
|
192 |
-
|
193 |
-
if (!isset($wp_roles)) {
|
194 |
-
$wp_roles = new WP_Roles();
|
195 |
-
}
|
196 |
-
$roles = array();
|
197 |
-
foreach ($wp_roles->get_names() as $key => $wp_role ){
|
198 |
-
if(function_exists('translate_user_role')) $roles[$key] = translate_user_role($wp_role);
|
199 |
-
else $roles[$key] = $wp_role;
|
200 |
-
}
|
201 |
-
|
202 |
-
return $roles;
|
203 |
-
}
|
204 |
-
|
205 |
-
/**
|
206 |
-
* Get list of roles assigned to current user
|
207 |
-
*
|
208 |
-
* @access public
|
209 |
-
* @return array
|
210 |
-
*/
|
211 |
-
public static function getCurrentUserRoles()
|
212 |
-
{
|
213 |
-
$current_user = wp_get_current_user();
|
214 |
-
$userRoles = $current_user->roles;
|
215 |
-
if(get_current_user_id() == 0){
|
216 |
-
$userRoles[] = 'woo_discount_rules_guest';
|
217 |
-
}
|
218 |
-
return $userRoles;
|
219 |
-
}
|
220 |
-
|
221 |
-
/**
|
222 |
-
* @return array
|
223 |
-
*/
|
224 |
-
public function getCategoryList()
|
225 |
-
{
|
226 |
-
$result = array();
|
227 |
-
$taxonomies = apply_filters('woo_discount_rules_accepted_taxonomy_for_category', array('product_cat'));
|
228 |
-
$post_categories_raw = get_terms($taxonomies, array('hide_empty' => 0));
|
229 |
-
if(is_array($post_categories_raw)){
|
230 |
-
$post_categories_raw_count = count($post_categories_raw);
|
231 |
-
|
232 |
-
foreach ($post_categories_raw as $post_cat_key => $post_cat) {
|
233 |
-
if(isset($post_cat->name)){
|
234 |
-
$category_name = $post_cat->name;
|
235 |
-
|
236 |
-
if ($post_cat->parent) {
|
237 |
-
$parent_id = $post_cat->parent;
|
238 |
-
$has_parent = true;
|
239 |
-
|
240 |
-
// Make sure we don't have an infinite loop here (happens with some kind of "ghost" categories)
|
241 |
-
$found = false;
|
242 |
-
$i = 0;
|
243 |
-
|
244 |
-
while ($has_parent && ($i < $post_categories_raw_count || $found)) {
|
245 |
-
|
246 |
-
// Reset each time
|
247 |
-
$found = false;
|
248 |
-
$i = 0;
|
249 |
-
|
250 |
-
foreach ($post_categories_raw as $parent_post_cat_key => $parent_post_cat) {
|
251 |
-
|
252 |
-
$i++;
|
253 |
-
|
254 |
-
if ($parent_post_cat->term_id == $parent_id) {
|
255 |
-
$category_name = $parent_post_cat->name . ' → ' . $category_name;
|
256 |
-
$found = true;
|
257 |
-
|
258 |
-
if ($parent_post_cat->parent) {
|
259 |
-
$parent_id = $parent_post_cat->parent;
|
260 |
-
} else {
|
261 |
-
$has_parent = false;
|
262 |
-
}
|
263 |
-
|
264 |
-
break;
|
265 |
-
}
|
266 |
-
}
|
267 |
-
}
|
268 |
-
}
|
269 |
-
|
270 |
-
$result[$post_cat->term_id] = $category_name;
|
271 |
-
}
|
272 |
-
}
|
273 |
-
}
|
274 |
-
|
275 |
-
return $result;
|
276 |
-
}
|
277 |
-
|
278 |
-
/**
|
279 |
-
* get taxonomy list
|
280 |
-
*/
|
281 |
-
public static function getTaxonomyList()
|
282 |
-
{
|
283 |
-
$skip_default_taxonomies = array('category', 'post_tag', 'nav_menu', 'link_category', 'post_format', 'action-group', 'product_type', 'product_visibility', 'product_shipping_class', 'product_cat');
|
284 |
-
$args = array();
|
285 |
-
$output = 'objects';
|
286 |
-
$taxonomies = get_taxonomies($args, $output);
|
287 |
-
$additional_taxonomies = array();
|
288 |
-
foreach ($taxonomies as $taxonomy){
|
289 |
-
if(!in_array($taxonomy->name, $skip_default_taxonomies)){
|
290 |
-
$load_attributes_in_categories = apply_filters('woo_discount_rules_load_attributes_in_categories', false);
|
291 |
-
if(!(substr( $taxonomy->name, 0, 3 ) === "pa_") || $load_attributes_in_categories){
|
292 |
-
$additional_taxonomies[$taxonomy->name] = $taxonomy->label;
|
293 |
-
}
|
294 |
-
}
|
295 |
-
}
|
296 |
-
|
297 |
-
return $additional_taxonomies;
|
298 |
-
}
|
299 |
-
|
300 |
-
/**
|
301 |
-
* Get Category by passing product ID or Product.
|
302 |
-
*
|
303 |
-
* @param $item
|
304 |
-
* @param bool $is_id
|
305 |
-
* @return array
|
306 |
-
*/
|
307 |
-
public static function getCategoryByPost($item, $is_id = false)
|
308 |
-
{
|
309 |
-
if ($is_id) {
|
310 |
-
$id = $item;
|
311 |
-
} else {
|
312 |
-
$id = FlycartWoocommerceProduct::get_id($item['data']);
|
313 |
-
}
|
314 |
-
$product = FlycartWoocommerceProduct::wc_get_product($id);
|
315 |
-
$categories = FlycartWoocommerceProduct::get_category_ids($product);
|
316 |
-
|
317 |
-
return $categories;
|
318 |
-
}
|
319 |
-
|
320 |
-
/**
|
321 |
-
* To Parsing the Array from String to Int.
|
322 |
-
*
|
323 |
-
* @param array $array
|
324 |
-
*/
|
325 |
-
public static function toInt(array &$array)
|
326 |
-
{
|
327 |
-
foreach ($array as $index => $item) {
|
328 |
-
$array[$index] = intval($item);
|
329 |
-
}
|
330 |
-
}
|
331 |
-
|
332 |
-
/**
|
333 |
-
* @param $html
|
334 |
-
* @return bool|mixed
|
335 |
-
*/
|
336 |
-
static function makeString($html)
|
337 |
-
{
|
338 |
-
if (is_null($html) || empty($html) || !isset($html)) return false;
|
339 |
-
$out = $html;
|
340 |
-
// This Process only helps, single level array.
|
341 |
-
if (is_array($html)) {
|
342 |
-
foreach ($html as $id => $value) {
|
343 |
-
self::escapeCode($value);
|
344 |
-
$html[$id] = $value;
|
345 |
-
}
|
346 |
-
return $out;
|
347 |
-
} else {
|
348 |
-
self::escapeCode($html);
|
349 |
-
return $html;
|
350 |
-
}
|
351 |
-
}
|
352 |
-
|
353 |
-
/**
|
354 |
-
* Re-Arrange the Index of Array to Make Usable.[2-D Array Only]
|
355 |
-
* @param $rules
|
356 |
-
*/
|
357 |
-
public static function reArrangeArray(&$rules)
|
358 |
-
{
|
359 |
-
$result = array();
|
360 |
-
foreach ($rules as $index => $item) {
|
361 |
-
foreach ($item as $id => $value) {
|
362 |
-
if(!in_array($id, array('product_variants'))){
|
363 |
-
$result[$id] = $value;
|
364 |
-
}
|
365 |
-
}
|
366 |
-
}
|
367 |
-
$rules = $result;
|
368 |
-
}
|
369 |
-
|
370 |
-
/**
|
371 |
-
* @param $value
|
372 |
-
*/
|
373 |
-
static function escapeCode(&$value)
|
374 |
-
{
|
375 |
-
if(is_string($value)){
|
376 |
-
// Four Possible tags for PHP to Init.
|
377 |
-
$value = preg_replace(array('/^<\?php.*\?\>/', '/^<\%.*\%\>/', '/^<\?.*\?\>/', '/^<\?=.*\?\>/'), '', $value);
|
378 |
-
$value = self::delete_all_between('<?php', '?>', $value);
|
379 |
-
$value = self::delete_all_between('<?', '?>', $value);
|
380 |
-
$value = self::delete_all_between('<?=', '?>', $value);
|
381 |
-
$value = self::delete_all_between('<%', '%>', $value);
|
382 |
-
$value = str_replace(array('<?php', '<?', '<?=', '<%', '?>'), '', $value);
|
383 |
-
}
|
384 |
-
}
|
385 |
-
|
386 |
-
|
387 |
-
/**
|
388 |
-
* @param $beginning
|
389 |
-
* @param $end
|
390 |
-
* @param $string
|
391 |
-
* @return mixed
|
392 |
-
*/
|
393 |
-
static function delete_all_between($beginning, $end, $string)
|
394 |
-
{
|
395 |
-
|
396 |
-
if (!is_string($string)) return false;
|
397 |
-
|
398 |
-
$beginningPos = strpos($string, $beginning);
|
399 |
-
$endPos = strpos($string, $end);
|
400 |
-
if ($beginningPos === false || $endPos === false) {
|
401 |
-
return $string;
|
402 |
-
}
|
403 |
-
|
404 |
-
$textToDelete = substr($string, $beginningPos, ($endPos + strlen($end)) - $beginningPos);
|
405 |
-
|
406 |
-
return str_replace($textToDelete, '', $string);
|
407 |
-
}
|
408 |
-
|
409 |
-
/**
|
410 |
-
* To get slider content through curl
|
411 |
-
* */
|
412 |
-
public static function getSideBarContent(){
|
413 |
-
$html = '';
|
414 |
-
if(is_callable('curl_init')) {
|
415 |
-
$ch = curl_init();
|
416 |
-
curl_setopt($ch, CURLOPT_URL, 'https://www.flycart.org/updates/woo-discount-rules.json');
|
417 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
418 |
-
$contents = curl_exec($ch);
|
419 |
-
$contents_decode = json_decode($contents);
|
420 |
-
if(isset($contents_decode['0']->promo_html)){
|
421 |
-
$html = $contents_decode['0']->promo_html;
|
422 |
-
}
|
423 |
-
}
|
424 |
-
|
425 |
-
return $html;
|
426 |
-
}
|
427 |
-
|
428 |
-
/**
|
429 |
-
* Check do the discount rules need to execute
|
430 |
-
* */
|
431 |
-
public static function doIHaveToRun(){
|
432 |
-
$status = true;
|
433 |
-
if(is_admin()){
|
434 |
-
$status = false;
|
435 |
-
}
|
436 |
-
if(defined('DOING_AJAX') && DOING_AJAX){
|
437 |
-
$status = true;
|
438 |
-
$postData = \FlycartInput\FInput::getInstance();
|
439 |
-
$action = $postData->get('action', '');
|
440 |
-
$form = $postData->get('from', '');
|
441 |
-
if($action == 'saveCartRule' || $action == 'savePriceRule'){
|
442 |
-
$status = false;
|
443 |
-
} else if(($action == 'UpdateStatus' || $action == 'RemoveRule') && ($form == 'cart-rules' || $form == 'pricing-rules')){
|
444 |
-
$status = false;
|
445 |
-
} else if($action == 'saveConfig' && $form == 'settings'){
|
446 |
-
$status = false;
|
447 |
-
}
|
448 |
-
}
|
449 |
-
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ){
|
450 |
-
$status = false;
|
451 |
-
}
|
452 |
-
|
453 |
-
return apply_filters('woo_discount_rules_apply_rules', $status);
|
454 |
-
}
|
455 |
-
|
456 |
-
public static function haveToApplyTheRules(){
|
457 |
-
$status = true;
|
458 |
-
$config = new FlycartWooDiscountBase();
|
459 |
-
$do_not_run_while_have_third_party_coupon = $config->getConfigData('do_not_run_while_have_third_party_coupon', 0);
|
460 |
-
if($do_not_run_while_have_third_party_coupon == '1'){
|
461 |
-
$hasCoupon = self::hasCouponInCart();
|
462 |
-
if($hasCoupon){
|
463 |
-
self::resetTheCartValues();
|
464 |
-
$status = false;
|
465 |
-
}
|
466 |
-
}
|
467 |
-
|
468 |
-
return apply_filters('woo_discount_rules_apply_rules', $status);
|
469 |
-
}
|
470 |
-
|
471 |
-
/**
|
472 |
-
* Check has coupon - not related to woo discount rules
|
473 |
-
* */
|
474 |
-
public static function hasCouponInCart(){
|
475 |
-
$result = false;
|
476 |
-
$cartRules = new FlycartWooDiscountRulesCartRules();
|
477 |
-
$coupon_code = $cartRules->getCouponCode();
|
478 |
-
$coupon_code = strtolower($coupon_code);
|
479 |
-
global $woocommerce;
|
480 |
-
if (!empty($woocommerce->cart->applied_coupons)) {
|
481 |
-
$appliedCoupons = $woocommerce->cart->applied_coupons;
|
482 |
-
if(is_array($appliedCoupons) && count($appliedCoupons) > 0){
|
483 |
-
$used_coupons = self::getUsedCouponsInRules();
|
484 |
-
$used_coupons[] = $coupon_code;
|
485 |
-
$used_coupons = apply_filters('woo_discount_rules_coupons_to_skip_while_apply_third_party_coupon_and_disable_rules', $used_coupons);
|
486 |
-
if(!empty($used_coupons)){
|
487 |
-
$used_coupons = array_map('strtolower', $used_coupons);
|
488 |
-
}
|
489 |
-
foreach ($appliedCoupons as $appliedCoupon){
|
490 |
-
if(!in_array($appliedCoupon, $used_coupons)){
|
491 |
-
$result = true;
|
492 |
-
break;
|
493 |
-
}
|
494 |
-
}
|
495 |
-
}
|
496 |
-
}
|
497 |
-
|
498 |
-
return $result;
|
499 |
-
}
|
500 |
-
|
501 |
-
protected static function resetTheCartValues(){
|
502 |
-
global $woocommerce;
|
503 |
-
// Make sure item exists in cart
|
504 |
-
if (!isset($woocommerce->cart)) return;
|
505 |
-
if (!isset($woocommerce->cart->cart_contents)) return;
|
506 |
-
if(!empty($woocommerce->cart->cart_contents) && count($woocommerce->cart->cart_contents) > 0){
|
507 |
-
foreach ($woocommerce->cart->cart_contents as $key => $cart){
|
508 |
-
if(isset($woocommerce->cart->cart_contents[$key]['woo_discount'])){
|
509 |
-
unset($woocommerce->cart->cart_contents[$key]['woo_discount']);
|
510 |
-
}
|
511 |
-
}
|
512 |
-
}
|
513 |
-
}
|
514 |
-
|
515 |
-
/**
|
516 |
-
* get Used Coupons
|
517 |
-
* */
|
518 |
-
public static function getUsedCouponsInRules(){
|
519 |
-
$coupons = array();
|
520 |
-
$post_args = array('post_type' => array('woo_discount', 'woo_discount_cart'), 'numberposts' => '-1', 'post_status' => 'publish');
|
521 |
-
$post_args['meta_key'] = 'used_coupon';
|
522 |
-
$post_args['meta_query'] = array(
|
523 |
-
array(
|
524 |
-
'key' => 'status',
|
525 |
-
'value' => 'publish',
|
526 |
-
)
|
527 |
-
);
|
528 |
-
$posts = get_posts($post_args);
|
529 |
-
if(!empty($posts) && count($posts) > 0){
|
530 |
-
foreach ($posts as $post){
|
531 |
-
$used_coupons = get_post_meta($post->ID, 'used_coupon');
|
532 |
-
if(!empty($used_coupons)){
|
533 |
-
$coupons = array_merge($coupons, $used_coupons);
|
534 |
-
}
|
535 |
-
}
|
536 |
-
}
|
537 |
-
|
538 |
-
return $coupons;
|
539 |
-
}
|
540 |
-
|
541 |
-
/**
|
542 |
-
* get Used Coupons
|
543 |
-
* */
|
544 |
-
public static function getDynamicUsedCouponsInRules(){
|
545 |
-
$coupons = array();
|
546 |
-
$post_args = array('post_type' => array('woo_discount', 'woo_discount_cart'), 'numberposts' => '-1', 'post_status' => 'publish');
|
547 |
-
$post_args['meta_key'] = 'dynamic_coupons_to_apply';
|
548 |
-
$post_args['meta_query'] = array(
|
549 |
-
array(
|
550 |
-
'key' => 'status',
|
551 |
-
'value' => 'publish',
|
552 |
-
)
|
553 |
-
);
|
554 |
-
$posts = get_posts($post_args);
|
555 |
-
if(!empty($posts) && count($posts) > 0){
|
556 |
-
foreach ($posts as $post){
|
557 |
-
$used_coupons = get_post_meta($post->ID, 'dynamic_coupons_to_apply');
|
558 |
-
if(!empty($used_coupons)){
|
559 |
-
$coupons = array_merge($coupons, $used_coupons);
|
560 |
-
}
|
561 |
-
}
|
562 |
-
}
|
563 |
-
|
564 |
-
return $coupons;
|
565 |
-
}
|
566 |
-
|
567 |
-
/**
|
568 |
-
* Get Current date and time based on Wordpress time zone
|
569 |
-
*
|
570 |
-
* @param string $date
|
571 |
-
* @return string
|
572 |
-
* */
|
573 |
-
public static function getCurrentDateAndTimeBasedOnTimeZone($date = ''){
|
574 |
-
if(empty($date)){
|
575 |
-
$current_date = new DateTime('now', new DateTimeZone('UTC'));
|
576 |
-
$date = $current_date->format('Y-m-d H:i:s');
|
577 |
-
}
|
578 |
-
$offset = get_option('gmt_offset');
|
579 |
-
if(empty($offset)){
|
580 |
-
$offset = 0;
|
581 |
-
}
|
582 |
-
//$time_zone = get_option('timezone_string');
|
583 |
-
return date("Y-m-d H:i:s", strtotime($date) + (3600 * $offset) );
|
584 |
-
}
|
585 |
-
|
586 |
-
/**
|
587 |
-
* Validate the start and end date
|
588 |
-
*
|
589 |
-
* @param string $date_from
|
590 |
-
* @param string $date_to
|
591 |
-
* @return boolean
|
592 |
-
* */
|
593 |
-
public static function validateDateAndTime($date_from, $date_to){
|
594 |
-
$valid = true;
|
595 |
-
$current_date = self::getCurrentDateAndTimeBasedOnTimeZone();
|
596 |
-
if($date_from != ''){
|
597 |
-
if(!(strtotime($date_from) <= strtotime($current_date))) $valid = false;
|
598 |
-
}
|
599 |
-
if($date_to != ''){
|
600 |
-
if(!(strtotime($date_to) >= strtotime($current_date))) $valid = false;
|
601 |
-
}
|
602 |
-
|
603 |
-
return $valid;
|
604 |
-
}
|
605 |
-
|
606 |
-
/**
|
607 |
-
* Validate the start and end date
|
608 |
-
*
|
609 |
-
* @param string $date_from
|
610 |
-
* @param string $date_to
|
611 |
-
* @return boolean
|
612 |
-
* */
|
613 |
-
public static function validateDateAndTimeWarningText($date_from, $date_to){
|
614 |
-
$string = '';
|
615 |
-
$current_date = self::getCurrentDateAndTimeBasedOnTimeZone();
|
616 |
-
if($date_from != ''){
|
617 |
-
if(!(strtotime($date_from) <= strtotime($current_date))) $string = esc_html__('Start date and time is set in the future date', 'woo-discount-rules');
|
618 |
-
}
|
619 |
-
if($date_to != ''){
|
620 |
-
if(!(strtotime($date_to) >= strtotime($current_date))) $string = esc_html__('Validity expired', 'woo-discount-rules');;
|
621 |
-
}
|
622 |
-
|
623 |
-
return $string;
|
624 |
-
}
|
625 |
-
|
626 |
-
/**
|
627 |
-
* Validate the start and end date
|
628 |
-
*
|
629 |
-
* @param string $date_from
|
630 |
-
* @param string $date_to
|
631 |
-
* @return boolean
|
632 |
-
* */
|
633 |
-
public static function validateDateAndTimeWarningTextForListing($date_from, $date_to){
|
634 |
-
$string = '';
|
635 |
-
$current_date = self::getCurrentDateAndTimeBasedOnTimeZone();
|
636 |
-
if($date_from != ''){
|
637 |
-
if(!(strtotime($date_from) <= strtotime($current_date))) $string = esc_html__('Will run in future', 'woo-discount-rules');
|
638 |
-
}
|
639 |
-
if($date_to != ''){
|
640 |
-
if(!(strtotime($date_to) >= strtotime($current_date))) $string = esc_html__('Not running - validity expired', 'woo-discount-rules');;
|
641 |
-
}
|
642 |
-
|
643 |
-
return $string;
|
644 |
-
}
|
645 |
-
|
646 |
-
/**
|
647 |
-
* Validate the start and end date
|
648 |
-
*
|
649 |
-
* @param string $date_from
|
650 |
-
* @param string $date_to
|
651 |
-
* @return boolean
|
652 |
-
* */
|
653 |
-
public static function validateDateAndTimeWarningTextForListingHTML($date_from, $date_to){
|
654 |
-
$string = '';
|
655 |
-
$validate_date_string = self::validateDateAndTimeWarningTextForListing($date_from, $date_to);
|
656 |
-
if(empty($validate_date_string)){
|
657 |
-
$string .= " - <span class='wdr_status_active_text text-success'>(".esc_html__('Running', 'woo-discount-rules').")</span>";
|
658 |
-
} else {
|
659 |
-
$current_date_and_time = self::getCurrentDateAndTimeBasedOnTimeZone();
|
660 |
-
$current_date_and_time = date('m/d/Y H:i', strtotime($current_date_and_time));
|
661 |
-
$string .= " - <span class='wdr_status_active_text'>(".$validate_date_string.")</span>";
|
662 |
-
$string .= "<br><span class='wdr_status_active_text text-warning'><b>".esc_html__('Your server current date and time: ', 'woo-discount-rules')." </b>".$current_date_and_time."</span>";
|
663 |
-
}
|
664 |
-
|
665 |
-
return $string;
|
666 |
-
}
|
667 |
-
|
668 |
-
/**
|
669 |
-
* Reorder the rule if order id already exists
|
670 |
-
*
|
671 |
-
* @param int $id
|
672 |
-
* @param int $order_id
|
673 |
-
* @param string $post_type
|
674 |
-
* @return int
|
675 |
-
* */
|
676 |
-
public static function reOrderRuleIfExists($id, $order_id, $post_type){
|
677 |
-
$posts = get_posts(array('post_type' => $post_type, 'numberposts' => '-1', 'exclude' => array($id)));
|
678 |
-
$greaterId = $alreadyExists = 0;
|
679 |
-
if (!empty($posts) && count($posts) > 0) {
|
680 |
-
foreach ($posts as $index => $item) {
|
681 |
-
$orderId = get_post_meta($item->ID, 'rule_order', true);
|
682 |
-
if(!empty($orderId)){
|
683 |
-
if((int)$order_id == (int)$orderId){
|
684 |
-
$alreadyExists = 1;
|
685 |
-
}
|
686 |
-
if($orderId > $greaterId){
|
687 |
-
$greaterId = $orderId;
|
688 |
-
}
|
689 |
-
}
|
690 |
-
}
|
691 |
-
}
|
692 |
-
if($alreadyExists){
|
693 |
-
$greaterId++;
|
694 |
-
return $greaterId;
|
695 |
-
}
|
696 |
-
|
697 |
-
return $order_id;
|
698 |
-
}
|
699 |
-
|
700 |
-
/**
|
701 |
-
* Get all sub categories
|
702 |
-
* */
|
703 |
-
public static function getAllSubCategories($cat){
|
704 |
-
$taxonomies = apply_filters('woo_discount_rules_accepted_taxonomy_for_category', array('product_cat'));
|
705 |
-
$category_with_sub_cat = $cat;
|
706 |
-
foreach ($taxonomies as $taxonomy){
|
707 |
-
$category_with_sub = self::getAllSubCategoriesRecursive($cat, $taxonomy);
|
708 |
-
$category_with_sub_cat = array_merge($category_with_sub_cat, $category_with_sub);
|
709 |
-
}
|
710 |
-
|
711 |
-
return $category_with_sub_cat;
|
712 |
-
// $category_with_sub_cat = $cat;
|
713 |
-
// foreach($cat as $c) {
|
714 |
-
// $args = array('hierarchical' => 1,
|
715 |
-
// 'show_option_none' => '',
|
716 |
-
// 'hide_empty' => 0,
|
717 |
-
// 'parent' => $c,
|
718 |
-
// 'taxonomy' => 'product_cat');
|
719 |
-
// $categories = get_categories( $args );
|
720 |
-
// foreach($categories as $category) {
|
721 |
-
// //$category_with_sub_cat[] = $category->term_id;
|
722 |
-
// $category_with_sub_cat = array_merge($category_with_sub_cat, self::getAllSubCategories(array($category->term_id)));
|
723 |
-
// }
|
724 |
-
// }
|
725 |
-
// $category_with_sub_cat = array_unique($category_with_sub_cat);
|
726 |
-
//
|
727 |
-
// return $category_with_sub_cat;
|
728 |
-
}
|
729 |
-
|
730 |
-
/**
|
731 |
-
* Get all sub categories
|
732 |
-
* */
|
733 |
-
protected static function getAllSubCategoriesRecursive($cat, $taxonomy = 'product_cat'){
|
734 |
-
$category_with_sub_cat = $cat;
|
735 |
-
foreach($cat as $c) {
|
736 |
-
if(isset(self::$sub_categories[$c])){
|
737 |
-
$category_with_sub_cat = array_merge($category_with_sub_cat, self::$sub_categories[$c]);
|
738 |
-
} else {
|
739 |
-
$args = array('hierarchical' => 1,
|
740 |
-
'show_option_none' => '',
|
741 |
-
'hide_empty' => 0,
|
742 |
-
'parent' => $c,
|
743 |
-
'taxonomy' => $taxonomy);
|
744 |
-
$categories = get_categories( $args );
|
745 |
-
foreach($categories as $category) {
|
746 |
-
//$category_with_sub_cat[] = $category->term_id;
|
747 |
-
$category_with_sub_cat = array_merge($category_with_sub_cat, self::getAllSubCategoriesRecursive(array($category->term_id), $taxonomy));
|
748 |
-
}
|
749 |
-
|
750 |
-
self::$sub_categories[$c] = $category_with_sub_cat;
|
751 |
-
}
|
752 |
-
}
|
753 |
-
$category_with_sub_cat = array_unique($category_with_sub_cat);
|
754 |
-
|
755 |
-
return $category_with_sub_cat;
|
756 |
-
}
|
757 |
-
|
758 |
-
/**
|
759 |
-
* Docs HTML
|
760 |
-
* @param string $url
|
761 |
-
* @param string $utm_term
|
762 |
-
* @return string
|
763 |
-
* */
|
764 |
-
public static function docsURL($url, $utm_term){
|
765 |
-
$url_prefix = 'https://docs.flycart.org/woocommerce-discount-rules/';
|
766 |
-
$utm = '?utm_source=woo-discount-rules&utm_campaign=doc&utm_medium=text-click&utm_content=';
|
767 |
-
$url = trim($url, '/');
|
768 |
-
|
769 |
-
return $url_prefix.$url.$utm.$utm_term;
|
770 |
-
}
|
771 |
-
|
772 |
-
/**
|
773 |
-
* Docs HTML
|
774 |
-
* @param string $url
|
775 |
-
* @param string $utm_term
|
776 |
-
* @return string
|
777 |
-
* */
|
778 |
-
public static function docsDirectURL($url, $utm_term){
|
779 |
-
$utm = '?utm_source=woo-discount-rules&utm_campaign=doc&utm_medium=text-click&utm_content=';
|
780 |
-
$url = trim($url, '/');
|
781 |
-
|
782 |
-
return $url.$utm.$utm_term;
|
783 |
-
}
|
784 |
-
|
785 |
-
/**
|
786 |
-
* Docs HTML
|
787 |
-
* @param string $url
|
788 |
-
* @param string $utm_term
|
789 |
-
* @return string
|
790 |
-
* */
|
791 |
-
public static function docsURLHTML($url, $utm_term, $additional_class = '', $text = ''){
|
792 |
-
if(!empty($additional_class)){
|
793 |
-
$additional_class = 'wdr_read_doc '.$additional_class;
|
794 |
-
} else {
|
795 |
-
$additional_class = 'wdr_read_doc';
|
796 |
-
}
|
797 |
-
if(empty($text)) $text = esc_html__('Read Docs', 'woo-discount-rules');
|
798 |
-
$html = '<a class="'.$additional_class.'" href="'.self::docsURL($url, $utm_term).'" target="_blank">'.$text.'</a>';
|
799 |
-
|
800 |
-
return $html;
|
801 |
-
}
|
802 |
-
|
803 |
-
/**
|
804 |
-
* Docs HTML
|
805 |
-
* @param string $url
|
806 |
-
* @param string $utm_term
|
807 |
-
* @return string
|
808 |
-
* */
|
809 |
-
public static function docsURLHTMLForDocumentation($url, $utm_term, $text, $description_text = '', $additional_class = ''){
|
810 |
-
if(!empty($additional_class)){
|
811 |
-
$additional_class = 'wdr_read_documentation '.$additional_class;
|
812 |
-
} else {
|
813 |
-
$additional_class = 'wdr_read_documentation';
|
814 |
-
}
|
815 |
-
$html = '<div class="wdr_read_documentation_con">';
|
816 |
-
$html .= '<a class="'.$additional_class.'" href="'.self::docsURL($url, $utm_term).'" target="_blank">'.$text.'</a>';
|
817 |
-
if(!empty($description_text))
|
818 |
-
$html .= '<p class="">'.$description_text.'</p>';
|
819 |
-
$html .= '</div>';
|
820 |
-
|
821 |
-
return $html;
|
822 |
-
}
|
823 |
-
|
824 |
-
/**
|
825 |
-
* Remove Coupon price in cart
|
826 |
-
* @param array $coupons
|
827 |
-
* */
|
828 |
-
public static function removeCouponPriceInCart($coupons = array()){
|
829 |
-
$config = new FlycartWooDiscountBase();
|
830 |
-
$remove_zero_coupon_price = $config->getConfigData('remove_zero_coupon_price', 1);
|
831 |
-
if($remove_zero_coupon_price){
|
832 |
-
$has_coupon = false;
|
833 |
-
$styles = '';
|
834 |
-
foreach ($coupons as $coupon){
|
835 |
-
$wc = WC();
|
836 |
-
if(!empty($wc) && !empty($wc->cart)){
|
837 |
-
if(method_exists($wc->cart, 'has_discount')){
|
838 |
-
if($wc->cart->has_discount($coupon)){
|
839 |
-
$coupon_amount = $wc->cart->get_coupon_discount_amount($coupon);
|
840 |
-
if($coupon_amount == 0){
|
841 |
-
$has_coupon = true;
|
842 |
-
$coupon_code_class = esc_attr( sanitize_title( strtolower($coupon) ) );
|
843 |
-
$style = '.coupon-'.$coupon_code_class.' .amount{display: none}.coupon-'.$coupon_code_class.' td::first-letter{font-size: 0}';
|
844 |
-
$styles .= apply_filters('woo_discount_rules_apply_style_for_zero_price_coupon', $style, $coupon);
|
845 |
-
}
|
846 |
-
}
|
847 |
-
}
|
848 |
-
}
|
849 |
-
}
|
850 |
-
if($has_coupon){
|
851 |
-
if(!empty($styles)){
|
852 |
-
global $styles_woo_discount;
|
853 |
-
if(!empty($styles_woo_discount)){
|
854 |
-
$styles_woo_discount .= $styles;
|
855 |
-
} else {
|
856 |
-
$styles_woo_discount = $styles;
|
857 |
-
}
|
858 |
-
$is_ajax = is_ajax();
|
859 |
-
$wc_ajax = isset($_REQUEST['wc-ajax'])? $_REQUEST['wc-ajax']: false;
|
860 |
-
if(!$is_ajax){
|
861 |
-
global $flycart_woo_discount_rules_hide_zero_coupon;
|
862 |
-
$flycart_woo_discount_rules_hide_zero_coupon = "<style>".$styles."</style>";
|
863 |
-
//echo "<style>".$styles."</style>";
|
864 |
-
add_action('woocommerce_before_checkout_form', 'FlycartWooDiscountRulesGeneralHelper::woo_discount_rules_custom_styles');
|
865 |
-
add_action('woocommerce_before_cart', 'FlycartWooDiscountRulesGeneralHelper::woo_discount_rules_custom_styles');
|
866 |
-
add_action('wp_head', 'FlycartWooDiscountRulesGeneralHelper::woo_discount_rules_custom_styles', 100);
|
867 |
-
} else if(in_array($wc_ajax, array('apply_coupon'))){
|
868 |
-
echo "<style>".$styles."</style>";
|
869 |
-
}
|
870 |
-
add_action('woocommerce_before_cart_totals', 'FlycartWooDiscountRulesGeneralHelper::woo_discount_rules_custom_styles');
|
871 |
-
add_action('woocommerce_review_order_before_cart_contents', 'FlycartWooDiscountRulesGeneralHelper::woo_discount_rules_custom_styles');
|
872 |
-
}
|
873 |
-
}
|
874 |
-
}
|
875 |
-
}
|
876 |
-
|
877 |
-
public static function woo_discount_rules_custom_styles(){
|
878 |
-
global $styles_woo_discount;
|
879 |
-
echo "<style>".$styles_woo_discount."</style>";
|
880 |
-
}
|
881 |
-
|
882 |
-
/**
|
883 |
-
* Get WPML Language
|
884 |
-
* */
|
885 |
-
public static function getWPMLLanguage(){
|
886 |
-
$wpml_language = '';
|
887 |
-
if(defined('WOO_DISCOUNT_AVAILABLE_WPML')){
|
888 |
-
if(WOO_DISCOUNT_AVAILABLE_WPML){
|
889 |
-
if ( defined( 'ICL_LANGUAGE_CODE' ) ) {
|
890 |
-
$wpml_language = ICL_LANGUAGE_CODE;
|
891 |
-
}
|
892 |
-
}
|
893 |
-
}
|
894 |
-
|
895 |
-
return $wpml_language;
|
896 |
-
}
|
897 |
-
|
898 |
-
public static function applyDiscountFromRegularPrice(){
|
899 |
-
$config = FlycartWooDiscountBase::get_instance();
|
900 |
-
$apply_discount_from = $config->getConfigData('do_discount_from_regular_price', 'sale');
|
901 |
-
if($apply_discount_from == 'regular'){
|
902 |
-
return true;
|
903 |
-
} else {
|
904 |
-
return false;
|
905 |
-
}
|
906 |
-
}
|
907 |
-
|
908 |
-
/**
|
909 |
-
* Reset used coupon in post meta
|
910 |
-
* */
|
911 |
-
public static function resetUsedCoupons($post_id, $coupons_used){
|
912 |
-
delete_post_meta($post_id, 'used_coupon');
|
913 |
-
if(is_array($coupons_used) && !empty($coupons_used)){
|
914 |
-
foreach ($coupons_used as $coupon){
|
915 |
-
add_post_meta($post_id, 'used_coupon', $coupon);
|
916 |
-
}
|
917 |
-
}
|
918 |
-
}
|
919 |
-
|
920 |
-
/**
|
921 |
-
* Is countable object or array
|
922 |
-
* */
|
923 |
-
public static function is_countable($data){
|
924 |
-
if((is_array($data) || is_object($data))){
|
925 |
-
if(is_object($data)) $data = (array)$data;
|
926 |
-
if(count($data)) return true;
|
927 |
-
}
|
928 |
-
return false;
|
929 |
-
}
|
930 |
-
|
931 |
-
/**
|
932 |
-
* Is same string
|
933 |
-
* */
|
934 |
-
public static function is_same_string($first, $second){
|
935 |
-
$first = str_replace("–", '-', $first);
|
936 |
-
$first = strip_tags($first);
|
937 |
-
$second = str_replace("–", '-', $second);
|
938 |
-
$second = strip_tags($second);
|
939 |
-
if($first == $second){
|
940 |
-
return true;
|
941 |
-
}
|
942 |
-
return false;
|
943 |
-
}
|
944 |
-
|
945 |
-
/**
|
946 |
-
* Get billing email from post data
|
947 |
-
*
|
948 |
-
* @return string
|
949 |
-
* */
|
950 |
-
public static function get_billing_email_from_post(){
|
951 |
-
$user_email = '';
|
952 |
-
$postDataObject = \FlycartInput\FInput::getInstance();
|
953 |
-
$postData = $postDataObject->get('post_data', '', 'raw');
|
954 |
-
$postDataArray = array();
|
955 |
-
if($postData != ''){
|
956 |
-
parse_str($postData, $postDataArray);
|
957 |
-
}
|
958 |
-
$postBillingEmail = $postDataObject->get('billing_email', '', 'raw');
|
959 |
-
if($postBillingEmail != ''){
|
960 |
-
$postDataArray['billing_email'] = $postBillingEmail;
|
961 |
-
}
|
962 |
-
if(!get_current_user_id()){
|
963 |
-
$order_id = $postDataObject->get('order-received', 0);
|
964 |
-
if($order_id){
|
965 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
966 |
-
$postDataArray['billing_email'] = FlycartWoocommerceOrder::get_billing_email($order);
|
967 |
-
}
|
968 |
-
}
|
969 |
-
if(isset($postDataArray['billing_email']) && $postDataArray['billing_email'] != ''){
|
970 |
-
$user_email = $postDataArray['billing_email'];
|
971 |
-
}
|
972 |
-
if(empty($user_email)){
|
973 |
-
if(function_exists('WC')){
|
974 |
-
$session = WC()->session;
|
975 |
-
if(!empty($session)){
|
976 |
-
if(method_exists($session, 'get')){
|
977 |
-
$customer = $session->get('customer');
|
978 |
-
if(isset($customer['email']) && !empty($customer['email'])){
|
979 |
-
$user_email = $customer['email'];
|
980 |
-
}
|
981 |
-
}
|
982 |
-
}
|
983 |
-
}
|
984 |
-
}
|
985 |
-
|
986 |
-
return $user_email;
|
987 |
-
}
|
988 |
-
|
989 |
-
/**
|
990 |
-
* Add a quantity for product strikeout
|
991 |
-
*
|
992 |
-
* @return boolean
|
993 |
-
* */
|
994 |
-
public static function addAQuantityForProductStrikeOut(){
|
995 |
-
$config = FlycartWooDiscountBase::get_instance();
|
996 |
-
$show_price_discount = $config->getConfigData('show_price_discount_on_product_page', 'show');
|
997 |
-
$add = true;
|
998 |
-
if($show_price_discount == 'show_after_rule_matches'){
|
999 |
-
$add = false;
|
1000 |
-
}
|
1001 |
-
|
1002 |
-
return $add;
|
1003 |
-
}
|
1004 |
-
|
1005 |
-
/**
|
1006 |
-
* Show discount on product page
|
1007 |
-
*
|
1008 |
-
* @return boolean
|
1009 |
-
* */
|
1010 |
-
public static function showDiscountOnProductPage(){
|
1011 |
-
$config = FlycartWooDiscountBase::get_instance();
|
1012 |
-
$show_price_discount = $config->getConfigData('show_price_discount_on_product_page', 'show');
|
1013 |
-
$show = false;
|
1014 |
-
if(in_array($show_price_discount, array('show', 'show_after_rule_matches', 'show_on_qty_update'))){
|
1015 |
-
$show = true;
|
1016 |
-
}
|
1017 |
-
|
1018 |
-
return $show;
|
1019 |
-
}
|
1020 |
-
|
1021 |
-
/**
|
1022 |
-
* Validate coupon
|
1023 |
-
*
|
1024 |
-
* @param string $coupon_name
|
1025 |
-
* @return array
|
1026 |
-
* */
|
1027 |
-
public static function validateDynamicCoupon($coupon_name){
|
1028 |
-
$result['status'] = false;
|
1029 |
-
$coupon_name = self::filterDynamicCoupon($coupon_name);
|
1030 |
-
if(!empty($coupon_name)){
|
1031 |
-
$coupon_exists = self::checkCouponAlreadyExistsInWooCommerce($coupon_name);
|
1032 |
-
if($coupon_exists){
|
1033 |
-
$result['status'] = false;
|
1034 |
-
$result['message'] = esc_html__('Coupon already exists in WooCommerce. Please select another name', 'woo-discount-rules');
|
1035 |
-
} else {
|
1036 |
-
$result['status'] = true;
|
1037 |
-
}
|
1038 |
-
}
|
1039 |
-
$result['coupon'] = $coupon_name;
|
1040 |
-
|
1041 |
-
return $result;
|
1042 |
-
}
|
1043 |
-
|
1044 |
-
/**
|
1045 |
-
* Validate coupon
|
1046 |
-
*
|
1047 |
-
* @param string $coupon_name
|
1048 |
-
* @return boolean
|
1049 |
-
* */
|
1050 |
-
public static function checkCouponAlreadyExistsInWooCommerce($coupon_name){
|
1051 |
-
$coupon_args = array(
|
1052 |
-
'name' => wc_strtolower($coupon_name),
|
1053 |
-
'post_type' => 'shop_coupon'
|
1054 |
-
);
|
1055 |
-
$posts = get_posts($coupon_args);
|
1056 |
-
if(!empty($posts) && count($posts) > 0){
|
1057 |
-
return true;
|
1058 |
-
}
|
1059 |
-
|
1060 |
-
return false;
|
1061 |
-
}
|
1062 |
-
|
1063 |
-
/**
|
1064 |
-
* Filter Coupon name
|
1065 |
-
*
|
1066 |
-
* @param string $coupon_name
|
1067 |
-
* @return string
|
1068 |
-
* */
|
1069 |
-
public static function filterDynamicCoupon($coupon_name){
|
1070 |
-
$coupon_name = trim($coupon_name);
|
1071 |
-
$coupon_name = str_replace(' ', '', $coupon_name);
|
1072 |
-
$coupon_name = apply_filters('woocommerce_coupon_code', $coupon_name);
|
1073 |
-
$coupon_name = FlycartWoocommerceProduct::wc_strtoupper($coupon_name);
|
1074 |
-
|
1075 |
-
return $coupon_name;
|
1076 |
-
}
|
1077 |
-
|
1078 |
-
/**
|
1079 |
-
* Virtually add Coupon to apply the Discount.
|
1080 |
-
*
|
1081 |
-
* @param array $response
|
1082 |
-
* @param mixed $coupon_data
|
1083 |
-
* @return mixed
|
1084 |
-
*/
|
1085 |
-
public static function addVirtualCoupon($response, $coupon_data)
|
1086 |
-
{
|
1087 |
-
if(is_string($coupon_data)){
|
1088 |
-
$used_coupon_codes = self::getDynamicUsedCouponsInRules();
|
1089 |
-
if (in_array(FlycartWoocommerceProduct::wc_strtoupper($coupon_data), $used_coupon_codes)) {
|
1090 |
-
$discount_type = 'percent';
|
1091 |
-
$amount = 0;
|
1092 |
-
|
1093 |
-
$coupon = array(
|
1094 |
-
'id' => time() . rand(2, 9),
|
1095 |
-
'amount' => $amount,
|
1096 |
-
'individual_use' => false,
|
1097 |
-
'product_ids' => array(),
|
1098 |
-
'exclude_product_ids' => array(),
|
1099 |
-
'usage_limit' => '',
|
1100 |
-
'usage_limit_per_user' => '',
|
1101 |
-
'limit_usage_to_x_items' => '',
|
1102 |
-
'usage_count' => '',
|
1103 |
-
'expiry_date' => '',
|
1104 |
-
'apply_before_tax' => 'yes',
|
1105 |
-
'free_shipping' => false,
|
1106 |
-
'product_categories' => array(),
|
1107 |
-
'exclude_product_categories' => array(),
|
1108 |
-
'exclude_sale_items' => false,
|
1109 |
-
'minimum_amount' => '',
|
1110 |
-
'maximum_amount' => '',
|
1111 |
-
'customer_email' => '',
|
1112 |
-
);
|
1113 |
-
if(FlycartWoocommerceVersion::wcVersion('3.2')) {
|
1114 |
-
$coupon['discount_type'] = $discount_type;
|
1115 |
-
} else {
|
1116 |
-
$coupon['type'] = $discount_type;
|
1117 |
-
}
|
1118 |
-
return $coupon;
|
1119 |
-
}
|
1120 |
-
}
|
1121 |
-
|
1122 |
-
return $response;
|
1123 |
-
}
|
1124 |
-
|
1125 |
-
/**
|
1126 |
-
* Get promotion messages
|
1127 |
-
* */
|
1128 |
-
public static function getPromotionMessages(){
|
1129 |
-
return FlycartWoocommerceSession::getSession('woo_discount_promotion_messages_cart', array());
|
1130 |
-
}
|
1131 |
-
|
1132 |
-
/**
|
1133 |
-
* Clear promotion messages
|
1134 |
-
* */
|
1135 |
-
public static function clearCartPromotionMessages(){
|
1136 |
-
FlycartWoocommerceSession::setSession('woo_discount_promotion_messages_cart', array());
|
1137 |
-
}
|
1138 |
-
|
1139 |
-
/**
|
1140 |
-
* Set messages
|
1141 |
-
* */
|
1142 |
-
public static function setPromotionMessage($message, $rule_id = '', $type = 'cart'){
|
1143 |
-
$messages = FlycartWoocommerceSession::getSession('woo_discount_promotion_messages_'.$type, array());
|
1144 |
-
if(!is_array($messages)) $messages = array();
|
1145 |
-
if(!empty($messages) && in_array($message, $messages)){
|
1146 |
-
} else {
|
1147 |
-
if(empty($rule_id)){
|
1148 |
-
$messages[] = $message;
|
1149 |
-
} else {
|
1150 |
-
$messages[$rule_id] = $message;
|
1151 |
-
}
|
1152 |
-
}
|
1153 |
-
|
1154 |
-
FlycartWoocommerceSession::setSession('woo_discount_promotion_messages_'.$type, $messages);
|
1155 |
-
}
|
1156 |
-
|
1157 |
-
/**
|
1158 |
-
* Set messages
|
1159 |
-
* */
|
1160 |
-
public static function removePromotionMessage($rule_id, $type = 'cart'){
|
1161 |
-
$messages = FlycartWoocommerceSession::getSession('woo_discount_promotion_messages_'.$type, array());
|
1162 |
-
if(is_array($messages) && !empty($messages)){
|
1163 |
-
if(isset($messages[$rule_id])){
|
1164 |
-
unset($messages[$rule_id]);
|
1165 |
-
}
|
1166 |
-
}
|
1167 |
-
|
1168 |
-
FlycartWoocommerceSession::setSession('woo_discount_promotion_messages_'.$type, $messages);
|
1169 |
-
}
|
1170 |
-
|
1171 |
-
/**
|
1172 |
-
* Display promotional messages
|
1173 |
-
* */
|
1174 |
-
public static function displayPromotionMessages(){
|
1175 |
-
$messages = self::getPromotionMessages();
|
1176 |
-
if(!empty($messages) && is_array($messages)){
|
1177 |
-
foreach ($messages as $message){
|
1178 |
-
wc_print_notice($message, "notice");
|
1179 |
-
}
|
1180 |
-
}
|
1181 |
-
}
|
1182 |
-
|
1183 |
-
/**
|
1184 |
-
* Display promotional message in check out while processing order review
|
1185 |
-
* */
|
1186 |
-
public static function displayPromotionMessagesInCheckout(){
|
1187 |
-
echo "<div id='wdr_checkout_promotion_messages_data'>";
|
1188 |
-
self::displayPromotionMessages();
|
1189 |
-
echo "</div>";
|
1190 |
-
echo "<script>";
|
1191 |
-
echo "jQuery('#wdr_checkout_promotion_messages').html(jQuery('#wdr_checkout_promotion_messages_data').html());jQuery('#wdr_checkout_promotion_messages_data').remove()";
|
1192 |
-
echo "</script>";
|
1193 |
-
}
|
1194 |
-
|
1195 |
-
/**
|
1196 |
-
* Load outer div for displaying promotional message in check out
|
1197 |
-
* */
|
1198 |
-
public static function displayPromotionMessagesInCheckoutContainer(){
|
1199 |
-
echo "<div id='wdr_checkout_promotion_messages'>";
|
1200 |
-
echo "</div>";
|
1201 |
-
}
|
1202 |
-
|
1203 |
-
/**
|
1204 |
-
* Get calculated item subtotal manually
|
1205 |
-
*
|
1206 |
-
* @param $rule array
|
1207 |
-
* @return int/float
|
1208 |
-
* */
|
1209 |
-
public static function get_calculated_item_subtotal_manually($rule = array()){
|
1210 |
-
global $woocommerce;
|
1211 |
-
$sub_total = 0;
|
1212 |
-
if(count($woocommerce->cart->cart_contents)){
|
1213 |
-
foreach ($woocommerce->cart->cart_contents as $key => $cartItem) {
|
1214 |
-
$calculate_sub_total = apply_filters('woo_discount_rules_skip_item_to_calculate_subtotal_for_price_rules', true, $cartItem, $rule);
|
1215 |
-
if($calculate_sub_total === true){
|
1216 |
-
$sub_total += FlycartWooDiscountRulesCartRules::getSubTotalOfCartItem($cartItem);
|
1217 |
-
}
|
1218 |
-
}
|
1219 |
-
}
|
1220 |
-
|
1221 |
-
return $sub_total;
|
1222 |
-
}
|
1223 |
-
|
1224 |
-
/**
|
1225 |
-
* Create nonce for v1
|
1226 |
-
* @param int $action
|
1227 |
-
* @return mixed
|
1228 |
-
*/
|
1229 |
-
public static function createNonce($action = -1){
|
1230 |
-
return wp_create_nonce($action);
|
1231 |
-
}
|
1232 |
-
|
1233 |
-
/**
|
1234 |
-
* Verify nonce
|
1235 |
-
* @param $nonce
|
1236 |
-
* @param int $action
|
1237 |
-
* @return bool
|
1238 |
-
*/
|
1239 |
-
protected static function verifyNonce($nonce, $action = -1 ){
|
1240 |
-
if (wp_verify_nonce($nonce, $action)){
|
1241 |
-
return true;
|
1242 |
-
} else {
|
1243 |
-
return false;
|
1244 |
-
}
|
1245 |
-
}
|
1246 |
-
|
1247 |
-
/**
|
1248 |
-
* check valid nonce for v1
|
1249 |
-
* @param $method
|
1250 |
-
* @param null $wdr_nonce
|
1251 |
-
* @return bool
|
1252 |
-
*/
|
1253 |
-
public static function validateRequest($method, $wdr_nonce = null){
|
1254 |
-
if($wdr_nonce === null){
|
1255 |
-
if(isset($_REQUEST['wdr_nonce']) && !empty($_REQUEST['wdr_nonce'])){
|
1256 |
-
if(self::verifyNonce(wp_unslash($_REQUEST['wdr_nonce']), $method)){
|
1257 |
-
return true;
|
1258 |
-
}
|
1259 |
-
}
|
1260 |
-
} else {
|
1261 |
-
if(self::verifyNonce(wp_unslash($wdr_nonce), $method)){
|
1262 |
-
return true;
|
1263 |
-
}
|
1264 |
-
}
|
1265 |
-
|
1266 |
-
die(__('Invalid token', 'woo-discount-rules'));
|
1267 |
-
}
|
1268 |
-
|
1269 |
-
/**
|
1270 |
-
* Has admin privilage to change rule data
|
1271 |
-
* @return bool
|
1272 |
-
*/
|
1273 |
-
public static function hasAdminPrivilege(){
|
1274 |
-
if (current_user_can( 'manage_woocommerce' )) {
|
1275 |
-
return true;
|
1276 |
-
} else {
|
1277 |
-
return false;
|
1278 |
-
}
|
1279 |
-
}
|
1280 |
-
}
|
1281 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/helper/purchase.php
DELETED
@@ -1,323 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
-
/**
|
4 |
-
* Class FlycartWooDiscountRulesPurchase
|
5 |
-
*/
|
6 |
-
if ( ! class_exists( 'FlycartWooDiscountRulesPurchase' ) ) {
|
7 |
-
class FlycartWooDiscountRulesPurchase
|
8 |
-
{
|
9 |
-
|
10 |
-
/**
|
11 |
-
* @var
|
12 |
-
*/
|
13 |
-
private $user;
|
14 |
-
private $slug='woo-discount-rules';
|
15 |
-
private $force_license_check=false;
|
16 |
-
|
17 |
-
public $pluginName;
|
18 |
-
public $siteURL = 'https://www.flycart.org/';
|
19 |
-
|
20 |
-
/**
|
21 |
-
* FlycartWooDiscountRulesPurchase constructor.
|
22 |
-
*/
|
23 |
-
public function __construct()
|
24 |
-
{
|
25 |
-
$this->pluginName = esc_html__('Woo Discount Rules', 'woo-discount-rules').' '.$this->getProText();
|
26 |
-
}
|
27 |
-
|
28 |
-
public function init()
|
29 |
-
{
|
30 |
-
|
31 |
-
$force_update = 0;
|
32 |
-
// If a plugin has both a valid license and is using a CORE version then force update
|
33 |
-
if ( $this->isPro() === false && $this->validateLicenseKey() ) {
|
34 |
-
// can upgrade to PRO
|
35 |
-
$force_update = 1;
|
36 |
-
}
|
37 |
-
$existing_force_update_value = get_option($this->slug.'-force-update-pro', null);
|
38 |
-
$option_exists = ($existing_force_update_value !== null);
|
39 |
-
|
40 |
-
if($option_exists){
|
41 |
-
if($existing_force_update_value != $force_update){
|
42 |
-
update_option($this->slug.'-force-update-pro', $force_update);
|
43 |
-
}
|
44 |
-
}
|
45 |
-
else {
|
46 |
-
add_option($this->slug.'-force-update-pro', $force_update);
|
47 |
-
}
|
48 |
-
}
|
49 |
-
|
50 |
-
public function errorNoticeInAdminPages(){
|
51 |
-
$pro = $this->isPro();
|
52 |
-
$base = new FlycartWooDiscountBase();
|
53 |
-
$config = $base->getBaseConfig();
|
54 |
-
if (is_string($config)) $config = json_decode($config, true);
|
55 |
-
$htmlPrefix = '<div class="notice notice-warning"><p>';
|
56 |
-
$htmlSuffix = '</p></div>';
|
57 |
-
$hasMessage = 0;
|
58 |
-
if($pro){
|
59 |
-
if ( isset( $config['license_key'] ) && !empty($config['license_key']) ) {
|
60 |
-
$verifiedLicense = get_option('woo_discount_rules_verified_key', 0);
|
61 |
-
if(!$verifiedLicense){
|
62 |
-
$msg = esc_html__('The license key for ', 'woo-discount-rules').$this->pluginName.' '.esc_html__('seems invalid.', 'woo-discount-rules').' <a href="admin.php?page=woo_discount_rules&tab=settings">'.esc_html__('Please enter a valid license key', 'woo-discount-rules').'</a>. '.esc_html__('You can get it from', 'woo-discount-rules').' <a href="'.$this->siteURL.'">'.esc_html__('our website', 'woo-discount-rules').'</a>.';
|
63 |
-
$hasMessage = 1;
|
64 |
-
}
|
65 |
-
} else {
|
66 |
-
$msg = esc_html__('License key for the ', 'woo-discount-rules').$this->pluginName.' '.esc_html__('is not entered.', 'woo-discount-rules').' <a href="admin.php?page=woo_discount_rules&tab=settings">'.esc_html__('Please enter a valid license key', 'woo-discount-rules').'</a>. '.esc_html__('You can get it from', 'woo-discount-rules').' <a href="'.$this->siteURL.'">'.esc_html__('our website', 'woo-discount-rules').'</a>.';
|
67 |
-
$hasMessage = 1;
|
68 |
-
}
|
69 |
-
} else {
|
70 |
-
if ( isset( $config['license_key'] ) && !empty($config['license_key']) ) {
|
71 |
-
$verifiedLicense = get_option('woo_discount_rules_verified_key', 0);
|
72 |
-
if($verifiedLicense){
|
73 |
-
$msg = $this->pluginName.esc_html__(': You are using CORE version. Please Update to PRO version.', 'woo-discount-rules');
|
74 |
-
$hasMessage = 1;
|
75 |
-
}
|
76 |
-
}
|
77 |
-
}
|
78 |
-
if($hasMessage){
|
79 |
-
echo $htmlPrefix.$msg.$htmlSuffix;
|
80 |
-
}
|
81 |
-
}
|
82 |
-
|
83 |
-
|
84 |
-
/**
|
85 |
-
* @return bool
|
86 |
-
*/
|
87 |
-
public function isPro()
|
88 |
-
{
|
89 |
-
return false;
|
90 |
-
}
|
91 |
-
|
92 |
-
/**
|
93 |
-
* @return string
|
94 |
-
*/
|
95 |
-
public function getSuffix()
|
96 |
-
{
|
97 |
-
return esc_html__('-PRO-', 'woo-discount-rules');
|
98 |
-
}
|
99 |
-
|
100 |
-
/**
|
101 |
-
* @return string
|
102 |
-
*/
|
103 |
-
public function getProText()
|
104 |
-
{
|
105 |
-
if($this->isPro()){
|
106 |
-
return esc_html__('Pro', 'woo-discount-rules');
|
107 |
-
} else {
|
108 |
-
return esc_html__('Core', 'woo-discount-rules');
|
109 |
-
}
|
110 |
-
}
|
111 |
-
|
112 |
-
/**
|
113 |
-
* Hook to check and display updates below plugin in Admin Plugins section
|
114 |
-
* This plugin checks for license key validation and displays error notices
|
115 |
-
* @param string $plugin_file our plugin file
|
116 |
-
* @param string $plugin_data Plugin details
|
117 |
-
* @param string $status
|
118 |
-
* */
|
119 |
-
function woodisc_after_plugin_row ( $plugin_file, $plugin_data, $status ){
|
120 |
-
if( isset($plugin_data['TextDomain']) && $plugin_data['TextDomain'] == 'woo-discount-rules' ){
|
121 |
-
if ( ! $this->isPro() ) {
|
122 |
-
return;
|
123 |
-
}
|
124 |
-
|
125 |
-
// TODO: based on plugin_data display the update info text too. We can also make the subscription expiry chk in same request
|
126 |
-
// and display just the notice as a warning
|
127 |
-
|
128 |
-
$base = new FlycartWooDiscountBase();
|
129 |
-
$config = $base->getBaseConfig();
|
130 |
-
if (is_string($config)) $config = json_decode($config, true);
|
131 |
-
|
132 |
-
if ( isset( $config['license_key'] ) && !empty($config['license_key']) ) {
|
133 |
-
if (!$this->validateLicenseKey()) {
|
134 |
-
$message = esc_html__('The license key for ', 'woo-discount-rules').$this->pluginName.' '.esc_html__('seems invalid.', 'woo-discount-rules').' <a href="admin.php?page=woo_discount_rules&tab=settings">'.esc_html__('Please enter a valid license key', 'woo-discount-rules').'</a>. '.esc_html__('You can get it from', 'woo-discount-rules').' <a href="'.$this->siteURL.'">'.esc_html__('our website', 'woo-discount-rules').'</a>.';
|
135 |
-
}
|
136 |
-
}else{
|
137 |
-
$message = esc_html__('License key for the ', 'woo-discount-rules').$this->pluginName.' '.esc_html__('is not entered.', 'woo-discount-rules').' <a href="admin.php?page=woo_discount_rules&tab=settings">'.esc_html__('Please enter a valid license key', 'woo-discount-rules').'</a>. '.esc_html__('You can get it from', 'woo-discount-rules').' <a href="'.$this->siteURL.'">'.esc_html__('our website', 'woo-discount-rules').'</a>.';
|
138 |
-
}
|
139 |
-
|
140 |
-
if (!empty($message)) {
|
141 |
-
// If an update is available ?
|
142 |
-
// prevent update if error occurs
|
143 |
-
echo '<tr>';
|
144 |
-
echo '<td> </td>';
|
145 |
-
echo '<td colspan="2"> <div class="notice-message error inline notice-error notice-alt"><p>'.$message.'</p></div></td>';
|
146 |
-
echo '</tr>';
|
147 |
-
}
|
148 |
-
|
149 |
-
if(empty($plugin_data['package']) && !empty($plugin_data['upgrade_notice'])){
|
150 |
-
echo '<tr class="plugin-update-tr active" data-slug="woo-discount-rules">';
|
151 |
-
echo '<td class="plugin-update colspanchange" colspan="3"> <div class="notice inline notice-warning notice-alt"><p>'.$plugin_data['upgrade_notice'].'</p></div></td>';
|
152 |
-
echo '</tr>';
|
153 |
-
}
|
154 |
-
}
|
155 |
-
|
156 |
-
}
|
157 |
-
|
158 |
-
/**
|
159 |
-
* Ajax request for license key validation
|
160 |
-
* */
|
161 |
-
public function forceValidateLicenseKey()
|
162 |
-
{
|
163 |
-
$postData = \FlycartInput\FInput::getInstance();
|
164 |
-
$request = $postData->getArray();
|
165 |
-
$params = array();
|
166 |
-
if (!isset($request['data'])) return false;
|
167 |
-
parse_str($request['data'], $params);
|
168 |
-
$resp = array();
|
169 |
-
if(isset($params['wdr_nonce']) && !empty($params['wdr_nonce'])) {
|
170 |
-
if (FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
171 |
-
if (FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_save_rule_config', $params['wdr_nonce'])) {
|
172 |
-
$this->force_license_check = true;
|
173 |
-
|
174 |
-
if (empty($params['license_key'])) {
|
175 |
-
$resp['error'] = esc_html__('Please enter a valid license key', 'woo-discount-rules');
|
176 |
-
echo json_encode( $resp );
|
177 |
-
die();
|
178 |
-
}
|
179 |
-
|
180 |
-
$base = new FlycartWooDiscountBase();
|
181 |
-
$base->saveConfig(1);
|
182 |
-
|
183 |
-
if ( $this->validateLicenseKey() ) {
|
184 |
-
$resp['success'] = esc_html__('License key check : Passed.', 'woo-discount-rules');
|
185 |
-
// TODO: passed tick mark with a flag
|
186 |
-
} else {
|
187 |
-
// return an error
|
188 |
-
$resp['error'] = esc_html__('License key seems to be Invalid. Please enter a valid license key', 'woo-discount-rules');
|
189 |
-
}
|
190 |
-
}
|
191 |
-
}
|
192 |
-
}
|
193 |
-
|
194 |
-
echo json_encode( $resp );
|
195 |
-
die();
|
196 |
-
}
|
197 |
-
|
198 |
-
public function validateLicenseKey()
|
199 |
-
{
|
200 |
-
$run = $this->doIHaveToRunValidateLicense();
|
201 |
-
|
202 |
-
$already_check = get_option('woo_discount_rules_verified_key', 0);
|
203 |
-
|
204 |
-
$cache_license_check = ( $already_check == 1 ) ? true : false ;
|
205 |
-
|
206 |
-
if($run){
|
207 |
-
$base = new FlycartWooDiscountBase();
|
208 |
-
$config = $base->getBaseConfig();
|
209 |
-
if (is_string($config)) $config = json_decode($config, true);
|
210 |
-
if ( isset( $config['license_key'] ) && !empty($config['license_key']) ) {
|
211 |
-
|
212 |
-
// check the license
|
213 |
-
$license_url = $this->getUpdateURL('licensecheck');
|
214 |
-
$result = wp_remote_get( $license_url , array());
|
215 |
-
|
216 |
-
//Try to parse the json response
|
217 |
-
$status = $this->validateApiResponse($result);
|
218 |
-
$metadata = null;
|
219 |
-
|
220 |
-
update_option('woo_discount_rules_num_runs', get_option('woo_discount_rules_num_runs',1)+1);
|
221 |
-
|
222 |
-
if ( !is_wp_error($status) ){
|
223 |
-
$json = json_decode( $result['body'] );
|
224 |
-
if ( is_object($json) && isset($json->license_check)) {
|
225 |
-
update_option('woo_discount_rules_updated_time', time());
|
226 |
-
$verified = (bool)$json->license_check;
|
227 |
-
if($verified){
|
228 |
-
update_option('woo_discount_rules_verified_key', 1);
|
229 |
-
} else {
|
230 |
-
update_option('woo_discount_rules_verified_key', 0);
|
231 |
-
}
|
232 |
-
return $verified;
|
233 |
-
}
|
234 |
-
}
|
235 |
-
}
|
236 |
-
}
|
237 |
-
return $cache_license_check;
|
238 |
-
}
|
239 |
-
|
240 |
-
/**
|
241 |
-
* Check to run validate license check
|
242 |
-
* */
|
243 |
-
protected function doIHaveToRunValidateLicense()
|
244 |
-
{
|
245 |
-
$option_exists = (get_option('woo_discount_rules_updated_time', null) !== null);
|
246 |
-
|
247 |
-
if(!$option_exists){
|
248 |
-
add_option('woo_discount_rules_updated_time', 0);
|
249 |
-
add_option('woo_discount_rules_verified_key', 0);
|
250 |
-
add_option('woo_discount_rules_num_runs',0);
|
251 |
-
}
|
252 |
-
$lastRunUnix = get_option('woo_discount_rules_updated_time', 0);
|
253 |
-
$lastRunCount = get_option('woo_discount_rules_num_runs', 0);
|
254 |
-
$nextRunUnix = $lastRunUnix;
|
255 |
-
|
256 |
-
$hours = 12;
|
257 |
-
$countLimit = 8;
|
258 |
-
|
259 |
-
$nextRunUnix += $hours * 3600;
|
260 |
-
$now = time();
|
261 |
-
|
262 |
-
$time_factor = (bool) ($now >= $nextRunUnix );
|
263 |
-
$count_factor = (bool) ($lastRunCount < $countLimit);
|
264 |
-
|
265 |
-
if ($time_factor && !$count_factor) {
|
266 |
-
update_option('woo_discount_rules_num_runs', 0);
|
267 |
-
}
|
268 |
-
|
269 |
-
$already_valid_check = get_option('woo_discount_rules_verified_key', false);
|
270 |
-
|
271 |
-
return (($time_factor && $count_factor && $already_valid_check) || $this->force_license_check );
|
272 |
-
}
|
273 |
-
|
274 |
-
public function getUpdateURL($type='updatecheck')
|
275 |
-
{
|
276 |
-
$update_url = 'https://www.flycart.org/?wpaction='.$type.'&wpslug='.$this->slug;
|
277 |
-
$purchase_helper = new FlycartWooDiscountRulesPurchase();
|
278 |
-
$update_url .= '&pro='.(int)$purchase_helper->isPro();
|
279 |
-
$dlid = '';
|
280 |
-
$base = new FlycartWooDiscountBase();
|
281 |
-
$config = $base->getBaseConfig();
|
282 |
-
if (is_string($config)) $config = json_decode($config);
|
283 |
-
$dlid = isset($config->license_key)? $config->license_key: null;
|
284 |
-
if ( !empty($dlid) ) {
|
285 |
-
$update_url .= '&dlid='.$dlid;
|
286 |
-
}
|
287 |
-
return $update_url;
|
288 |
-
}
|
289 |
-
|
290 |
-
/**
|
291 |
-
* Check if $result is a successful update API response.
|
292 |
-
*
|
293 |
-
* @param array|WP_Error $result
|
294 |
-
* @return true|WP_Error
|
295 |
-
*/
|
296 |
-
protected function validateApiResponse($result) {
|
297 |
-
if ( is_wp_error($result) ) { /** @var WP_Error $result */
|
298 |
-
return new WP_Error($result->get_error_code(), 'WP HTTP Error: ' . $result->get_error_message());
|
299 |
-
}
|
300 |
-
|
301 |
-
if ( !isset($result['response']['code']) ) {
|
302 |
-
return new WP_Error(
|
303 |
-
'puc_no_response_code',
|
304 |
-
'wp_remote_get() returned an unexpected result.'
|
305 |
-
);
|
306 |
-
}
|
307 |
-
|
308 |
-
if ( $result['response']['code'] !== 200 ) {
|
309 |
-
return new WP_Error(
|
310 |
-
'puc_unexpected_response_code',
|
311 |
-
'HTTP response code is ' . $result['response']['code'] . ' (expected: 200)'
|
312 |
-
);
|
313 |
-
}
|
314 |
-
|
315 |
-
if ( empty($result['body']) ) {
|
316 |
-
return new WP_Error('puc_empty_response', 'The metadata file appears to be empty.');
|
317 |
-
}
|
318 |
-
|
319 |
-
return true;
|
320 |
-
}
|
321 |
-
|
322 |
-
}
|
323 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/helper/woo-function.php
DELETED
@@ -1,923 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
-
|
4 |
-
if(!class_exists('FlycartWoocommerceVersion')){
|
5 |
-
class FlycartWoocommerceVersion{
|
6 |
-
/**
|
7 |
-
* @param $version
|
8 |
-
* @return bool|mixed
|
9 |
-
*/
|
10 |
-
public static function wcVersion($version)
|
11 |
-
{
|
12 |
-
if (defined('WC_VERSION') && WC_VERSION) {
|
13 |
-
return version_compare(WC_VERSION, $version, '>=');
|
14 |
-
} else if (defined('WOOCOMMERCE_VERSION') && WOOCOMMERCE_VERSION) {
|
15 |
-
return version_compare(WOOCOMMERCE_VERSION, $version, '>=');
|
16 |
-
} else {
|
17 |
-
return false;
|
18 |
-
}
|
19 |
-
}
|
20 |
-
|
21 |
-
/**
|
22 |
-
* backwardCompatibilityStringToArray
|
23 |
-
* @param $data
|
24 |
-
* @return array
|
25 |
-
* */
|
26 |
-
public static function backwardCompatibilityStringToArray($data)
|
27 |
-
{
|
28 |
-
if(!empty($data) && !is_array($data)) $data = explode(',', $data);
|
29 |
-
|
30 |
-
return $data;
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Is WooCommerce version 3x
|
35 |
-
* @return boolean
|
36 |
-
* */
|
37 |
-
public static function isWCVersion3x(){
|
38 |
-
return self::wcVersion('3.0');
|
39 |
-
}
|
40 |
-
}
|
41 |
-
}
|
42 |
-
|
43 |
-
if(!class_exists('FlycartWoocommerceProduct')){
|
44 |
-
class FlycartWoocommerceProduct{
|
45 |
-
|
46 |
-
protected static $products = array();
|
47 |
-
protected static $products_categories = array();
|
48 |
-
protected static $products_variants = array();
|
49 |
-
protected static $product_children = array();
|
50 |
-
protected static $taxonomy_term_name = array();
|
51 |
-
|
52 |
-
/**
|
53 |
-
* Get WooCommerce product
|
54 |
-
*
|
55 |
-
* @access public
|
56 |
-
* @param int $product_id
|
57 |
-
* @return object
|
58 |
-
*/
|
59 |
-
public static function wc_get_product($product_id)
|
60 |
-
{
|
61 |
-
if(isset(self::$products[$product_id])){} else {
|
62 |
-
$product = FlycartWoocommerceVersion::wcVersion('2.2') ? wc_get_product($product_id) : get_product($product_id);
|
63 |
-
if(empty($product)){
|
64 |
-
if(class_exists('WC_Product_Simple')){
|
65 |
-
$product = new WC_Product_Simple();
|
66 |
-
}
|
67 |
-
}
|
68 |
-
self::$products[$product_id] = $product;
|
69 |
-
}
|
70 |
-
|
71 |
-
return self::$products[$product_id];
|
72 |
-
}
|
73 |
-
|
74 |
-
/**
|
75 |
-
* String to upper
|
76 |
-
*
|
77 |
-
* @param $string string
|
78 |
-
* @return string
|
79 |
-
* */
|
80 |
-
public static function wc_strtoupper($string){
|
81 |
-
if(function_exists('')){
|
82 |
-
return wc_strtoupper($string);
|
83 |
-
} else {
|
84 |
-
return strtoupper($string);
|
85 |
-
}
|
86 |
-
}
|
87 |
-
|
88 |
-
/**
|
89 |
-
* Get WooCommerce product format name
|
90 |
-
*
|
91 |
-
* @access public
|
92 |
-
* @param array $product
|
93 |
-
* @return int
|
94 |
-
*/
|
95 |
-
public static function get_formatted_name($product)
|
96 |
-
{
|
97 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0') || method_exists($product , 'get_formatted_name')){
|
98 |
-
return $product->get_formatted_name();
|
99 |
-
} else {
|
100 |
-
$post_id = self::get_id($product);
|
101 |
-
return '#' . $post_id . ' ' . get_the_title($post_id);
|
102 |
-
}
|
103 |
-
}
|
104 |
-
|
105 |
-
/**
|
106 |
-
* Get WooCommerce product id
|
107 |
-
*
|
108 |
-
* @access public
|
109 |
-
* @param array $product
|
110 |
-
* @return int
|
111 |
-
*/
|
112 |
-
public static function get_id($product)
|
113 |
-
{
|
114 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0') || method_exists($product , 'get_id')){
|
115 |
-
return $product->get_id();
|
116 |
-
} else {
|
117 |
-
$_product_id = $product->id;
|
118 |
-
if(isset($product->variation_id)) $_product_id = $product->variation_id;
|
119 |
-
return $_product_id;
|
120 |
-
}
|
121 |
-
}
|
122 |
-
|
123 |
-
/**
|
124 |
-
* Get WooCommerce price
|
125 |
-
*
|
126 |
-
* @access public
|
127 |
-
* @param float $amount
|
128 |
-
* @param array $args
|
129 |
-
* @return int/float
|
130 |
-
*/
|
131 |
-
public static function wc_price($amount, $args = array()){
|
132 |
-
return FlycartWoocommerceVersion::wcVersion('2.1') ? wc_price($amount, $args) : woocommerce_price($amount, $args);
|
133 |
-
}
|
134 |
-
|
135 |
-
/**
|
136 |
-
* Get WooCommerce price html
|
137 |
-
*
|
138 |
-
* @access public
|
139 |
-
* @param array $product
|
140 |
-
* @return int/float
|
141 |
-
*/
|
142 |
-
public static function get_price_html($product){
|
143 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $product->get_price_html() : $product->get_price_html();
|
144 |
-
}
|
145 |
-
|
146 |
-
//get_price_html
|
147 |
-
|
148 |
-
/**
|
149 |
-
* Get WooCommerce product parent id
|
150 |
-
*
|
151 |
-
* @access public
|
152 |
-
* @param array $product
|
153 |
-
* @return int
|
154 |
-
*/
|
155 |
-
public static function get_parent_id($product){
|
156 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0') || method_exists($product, 'get_parent_id')){
|
157 |
-
return $product->get_parent_id();
|
158 |
-
} else {
|
159 |
-
if(isset($product->parent) && !empty($product->parent)){
|
160 |
-
if(isset($product->parent->id)){
|
161 |
-
return $product->parent->id;
|
162 |
-
}
|
163 |
-
}
|
164 |
-
return $product->parent_id;
|
165 |
-
}
|
166 |
-
}
|
167 |
-
|
168 |
-
/**
|
169 |
-
* Get WooCommerce product children
|
170 |
-
*
|
171 |
-
* @access public
|
172 |
-
* @param array $product
|
173 |
-
* @return array
|
174 |
-
*/
|
175 |
-
public static function get_children($product){
|
176 |
-
$product_id = self::get_id($product);
|
177 |
-
if(isset(self::$product_children[$product_id])){} else {
|
178 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0') || method_exists($product, 'get_children')){
|
179 |
-
self::$product_children[$product_id] = $product->get_children();
|
180 |
-
} else {
|
181 |
-
if(isset($product->children)){
|
182 |
-
self::$product_children[$product_id] = $product->children;
|
183 |
-
}
|
184 |
-
self::$product_children[$product_id] = '';
|
185 |
-
}
|
186 |
-
}
|
187 |
-
|
188 |
-
return self::$product_children[$product_id];
|
189 |
-
}
|
190 |
-
|
191 |
-
/**
|
192 |
-
* Get WooCommerce product name
|
193 |
-
*
|
194 |
-
* @access public
|
195 |
-
* @param array $product
|
196 |
-
* @return int/float
|
197 |
-
*/
|
198 |
-
public static function get_name($product){
|
199 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $product->get_name() : $product->name;
|
200 |
-
}
|
201 |
-
|
202 |
-
/**
|
203 |
-
* Get WooCommerce product price
|
204 |
-
*
|
205 |
-
* @access public
|
206 |
-
* @param array $product
|
207 |
-
* @return int/float
|
208 |
-
*/
|
209 |
-
public static function get_price($product, $cart_rule = false){
|
210 |
-
if($cart_rule === false){
|
211 |
-
$do_discount_from_regular_price = FlycartWooDiscountRulesGeneralHelper::applyDiscountFromRegularPrice();
|
212 |
-
if($do_discount_from_regular_price){
|
213 |
-
if(method_exists($product, 'get_type')){
|
214 |
-
if($product->get_type() != 'variable'){
|
215 |
-
return self::get_regular_price($product);
|
216 |
-
}
|
217 |
-
} else {
|
218 |
-
return self::get_regular_price($product);
|
219 |
-
}
|
220 |
-
|
221 |
-
}
|
222 |
-
}
|
223 |
-
|
224 |
-
$price = FlycartWoocommerceVersion::wcVersion('3.0') ? $product->get_price() : $product->price;
|
225 |
-
$price = floatval($price);
|
226 |
-
|
227 |
-
return $price;
|
228 |
-
}
|
229 |
-
|
230 |
-
/**
|
231 |
-
* Get WooCommerce product regular price
|
232 |
-
*
|
233 |
-
* @access public
|
234 |
-
* @param array $product
|
235 |
-
* @return int/float
|
236 |
-
*/
|
237 |
-
public static function get_regular_price($product){
|
238 |
-
$price = FlycartWoocommerceVersion::wcVersion('3.0') ? $product->get_regular_price() : $product->regular_price;
|
239 |
-
$price = floatval($price);
|
240 |
-
return $price;
|
241 |
-
}
|
242 |
-
|
243 |
-
/**
|
244 |
-
* Get WooCommerce product sale price
|
245 |
-
*
|
246 |
-
* @access public
|
247 |
-
* @param array $product
|
248 |
-
* @return int/float
|
249 |
-
*/
|
250 |
-
public static function get_sale_price($product){
|
251 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $product->get_sale_price() : $product->sale_price;
|
252 |
-
}
|
253 |
-
|
254 |
-
/**
|
255 |
-
* Set WooCommerce product price
|
256 |
-
*
|
257 |
-
* @access public
|
258 |
-
* @param array $product
|
259 |
-
*/
|
260 |
-
public static function set_price($product, $amount){
|
261 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0')){
|
262 |
-
$product->set_price($amount);
|
263 |
-
} else {
|
264 |
-
$product->price = $amount;
|
265 |
-
}
|
266 |
-
}
|
267 |
-
|
268 |
-
/**
|
269 |
-
* Is product is on sale
|
270 |
-
*
|
271 |
-
* @access public
|
272 |
-
* @param array $product
|
273 |
-
* @return boolean
|
274 |
-
*/
|
275 |
-
public static function is_product_is_on_sale($product)
|
276 |
-
{
|
277 |
-
$sale_price = self::get_sale_price($product);
|
278 |
-
if($sale_price > 0){
|
279 |
-
$on_sale = true;
|
280 |
-
if(method_exists($product, 'get_date_on_sale_from')){
|
281 |
-
if ( $product->get_date_on_sale_from() && $product->get_date_on_sale_from()->getTimestamp() > current_time( 'timestamp', true ) ) {
|
282 |
-
$on_sale = false;
|
283 |
-
}
|
284 |
-
}
|
285 |
-
if(method_exists($product, 'get_date_on_sale_to')){
|
286 |
-
if ( $product->get_date_on_sale_to() && $product->get_date_on_sale_to()->getTimestamp() < current_time( 'timestamp', true ) ) {
|
287 |
-
$on_sale = false;
|
288 |
-
}
|
289 |
-
}
|
290 |
-
|
291 |
-
return $on_sale;
|
292 |
-
}
|
293 |
-
|
294 |
-
return false;
|
295 |
-
}
|
296 |
-
|
297 |
-
/**
|
298 |
-
* Get product price including tax
|
299 |
-
*
|
300 |
-
* @access public
|
301 |
-
* @param object $product
|
302 |
-
* @param int $quantity
|
303 |
-
* @param float $price
|
304 |
-
* @return int
|
305 |
-
*/
|
306 |
-
public static function get_price_including_tax($product, $quantity = 1, $price = '')
|
307 |
-
{
|
308 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? wc_get_price_including_tax($product, array('qty' => $quantity, 'price' => $price)) : $product->get_price_including_tax($quantity, $price);
|
309 |
-
}
|
310 |
-
|
311 |
-
/**
|
312 |
-
* Get product price excluding tax
|
313 |
-
*
|
314 |
-
* @access public
|
315 |
-
* @param object $product
|
316 |
-
* @param int $quantity
|
317 |
-
* @param float $price
|
318 |
-
* @return float
|
319 |
-
*/
|
320 |
-
public static function get_price_excluding_tax($product, $quantity = 1, $price = '')
|
321 |
-
{
|
322 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? wc_get_price_excluding_tax($product, array('qty' => $quantity, 'price' => $price)) : $product->get_price_excluding_tax($quantity, $price);
|
323 |
-
}
|
324 |
-
|
325 |
-
//wc_get_price_excluding_tax
|
326 |
-
|
327 |
-
/**
|
328 |
-
* Get WooCommerce product title
|
329 |
-
*
|
330 |
-
* @access public
|
331 |
-
* @param array $product
|
332 |
-
* @return string
|
333 |
-
*/
|
334 |
-
public static function get_title($product){
|
335 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0') || method_exists($product , 'get_title')){
|
336 |
-
if(method_exists($product, 'get_formatted_name')){
|
337 |
-
return $product->get_formatted_name();
|
338 |
-
} else {
|
339 |
-
return $product->get_title();
|
340 |
-
}
|
341 |
-
} else if(isset($product->title)){
|
342 |
-
return $product->title;
|
343 |
-
} else {
|
344 |
-
if(isset($product->post->post_title))
|
345 |
-
return $product->post->post_title;
|
346 |
-
}
|
347 |
-
return '';
|
348 |
-
}
|
349 |
-
|
350 |
-
/**
|
351 |
-
* Get WooCommerce product get_permalink
|
352 |
-
*
|
353 |
-
* @access public
|
354 |
-
* @param array $product
|
355 |
-
* @return string
|
356 |
-
*/
|
357 |
-
public static function get_permalink($product){
|
358 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0') || method_exists($product , 'get_permalink')){
|
359 |
-
return $product->get_permalink();
|
360 |
-
} else if(isset($product->get_permalink) && $product->get_permalink != ''){
|
361 |
-
return $product->get_permalink;
|
362 |
-
} else {
|
363 |
-
return get_permalink(self::get_id($product));
|
364 |
-
}
|
365 |
-
}
|
366 |
-
|
367 |
-
/**
|
368 |
-
* Get WooCommerce product attributes
|
369 |
-
*
|
370 |
-
* @access public
|
371 |
-
* @param array $product
|
372 |
-
* @return array
|
373 |
-
*/
|
374 |
-
public static function get_attributes($product){
|
375 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $product->get_attributes() : $product->attributes;
|
376 |
-
}
|
377 |
-
|
378 |
-
/**
|
379 |
-
* Get WooCommerce get_variant_ids
|
380 |
-
*
|
381 |
-
* @access public
|
382 |
-
* @param int $product_id
|
383 |
-
* @return array
|
384 |
-
*/
|
385 |
-
public static function get_variant_ids($product_id)
|
386 |
-
{
|
387 |
-
if(isset(self::$products_variants[$product_id])){} else {
|
388 |
-
$ids = array();
|
389 |
-
$productV = new WC_Product_Variable( $product_id );
|
390 |
-
$variations = $productV->get_available_variations();
|
391 |
-
if(!empty($variations))
|
392 |
-
foreach ($variations as $variation) {
|
393 |
-
$ids[] = $variation['variation_id'];
|
394 |
-
}
|
395 |
-
self::$products_variants[$product_id] = $ids;
|
396 |
-
}
|
397 |
-
|
398 |
-
return self::$products_variants[$product_id];
|
399 |
-
}
|
400 |
-
|
401 |
-
/**
|
402 |
-
* Check variation is visible in frontend
|
403 |
-
*
|
404 |
-
* @access public
|
405 |
-
* @param object $product
|
406 |
-
* @return boolean
|
407 |
-
*/
|
408 |
-
public static function variation_is_visible_in_frontend($product)
|
409 |
-
{
|
410 |
-
$visible = true;
|
411 |
-
if(method_exists($product, 'variation_is_visible')){
|
412 |
-
$visible = $product->variation_is_visible();
|
413 |
-
}
|
414 |
-
|
415 |
-
return apply_filters('woo_discount_rules_variation_is_visible', $visible, $product);
|
416 |
-
}
|
417 |
-
|
418 |
-
/**
|
419 |
-
* Get WooCommerce get_category_ids
|
420 |
-
*
|
421 |
-
* @access public
|
422 |
-
* @param object $product
|
423 |
-
* @return array
|
424 |
-
*/
|
425 |
-
public static function get_category_ids($product)
|
426 |
-
{
|
427 |
-
if(!$product->is_type( 'simple' )) {
|
428 |
-
$parent = self::get_parent_id($product);
|
429 |
-
if($parent) $product = self::wc_get_product($parent);
|
430 |
-
}
|
431 |
-
$product_id = self::get_id($product);
|
432 |
-
if(isset(self::$products_categories[$product_id])){} else {
|
433 |
-
$cat_id = array();
|
434 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0') || method_exists($product, 'get_category_ids')){
|
435 |
-
$cat_id = $product->get_category_ids();
|
436 |
-
$cat_id = apply_filters('woo_discount_rules_load_additional_taxonomy', $cat_id, $product_id);
|
437 |
-
} else {
|
438 |
-
$terms = get_the_terms ( self::get_id($product), 'product_cat' );
|
439 |
-
if(!empty($terms))
|
440 |
-
foreach ( $terms as $term ) {
|
441 |
-
$cat_id[] = $term->term_id;
|
442 |
-
}
|
443 |
-
}
|
444 |
-
self::$products_categories[$product_id] = $cat_id;
|
445 |
-
}
|
446 |
-
|
447 |
-
return self::$products_categories[$product_id];
|
448 |
-
}
|
449 |
-
|
450 |
-
/**
|
451 |
-
* Get category by id
|
452 |
-
*
|
453 |
-
* @access public
|
454 |
-
* @param int $category_id
|
455 |
-
* @return string
|
456 |
-
*/
|
457 |
-
public static function get_product_category_by_id( $category_id ) {
|
458 |
-
if(isset(self::$taxonomy_term_name[$category_id])){} else {
|
459 |
-
$term_name = '';
|
460 |
-
$taxonomies = apply_filters('woo_discount_rules_accepted_taxonomy_for_category', array('product_cat'));
|
461 |
-
foreach ($taxonomies as $taxonomy){
|
462 |
-
$term = get_term_by( 'id', $category_id, $taxonomy, 'ARRAY_A' );
|
463 |
-
if(!empty($term['name'])){
|
464 |
-
$term_name = $term['name'];
|
465 |
-
break;
|
466 |
-
}
|
467 |
-
}
|
468 |
-
self::$taxonomy_term_name[$category_id] = $term_name;
|
469 |
-
}
|
470 |
-
|
471 |
-
return self::$taxonomy_term_name[$category_id];
|
472 |
-
}
|
473 |
-
|
474 |
-
/*
|
475 |
-
* Get WooCommerce get product select box
|
476 |
-
*
|
477 |
-
* @access public
|
478 |
-
* @param object $products_list
|
479 |
-
* @param string $name
|
480 |
-
* @return string
|
481 |
-
* */
|
482 |
-
public static function getProductAjaxSelectBox($products_list, $name){
|
483 |
-
$html = '';
|
484 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0')){
|
485 |
-
$html .= '<select class="wc-product-search" style="min-width: 250px" multiple="multiple" name="'.$name.'[]" data-placeholder="'.esc_attr__( 'Search for a product…', 'woocommerce' ).'" data-action="woocommerce_json_search_products_and_variations">';
|
486 |
-
if(!empty($products_list) && count($products_list))
|
487 |
-
foreach ( $products_list as $product_id ) {
|
488 |
-
$product = self::wc_get_product($product_id);
|
489 |
-
if ( is_object( $product ) ) {
|
490 |
-
$html .= '<option value="' . esc_attr( $product_id ) . '"' . selected( true, true, false ) . '>' . wp_kses_post( self::get_formatted_name($product) ) . '</option>';
|
491 |
-
}
|
492 |
-
}
|
493 |
-
$html .= '</select>';
|
494 |
-
} else {
|
495 |
-
$html .= '<input type="hidden" class="wc-product-search" style="width: 250px" data-multiple="true" name="'.$name.'" data-placeholder="'.esc_attr__( 'Search for a product…', 'woocommerce' ).'" data-action="woocommerce_json_search_products_and_variations" data-selected="';
|
496 |
-
$json_ids = array();
|
497 |
-
if(!empty($products_list)){
|
498 |
-
if(!is_array($products_list)) $products_list = explode(',', $products_list);
|
499 |
-
if(!empty($products_list) && count($products_list)){
|
500 |
-
foreach ( $products_list as $product_id ) {
|
501 |
-
$product = self::wc_get_product( $product_id );
|
502 |
-
if ( is_object( $product ) ) {
|
503 |
-
$json_ids[ $product_id ] = wp_kses_post( self::get_formatted_name($product) );
|
504 |
-
}
|
505 |
-
}
|
506 |
-
$html .= esc_attr( json_encode( $json_ids ) );
|
507 |
-
}
|
508 |
-
}
|
509 |
-
|
510 |
-
|
511 |
-
$html .= '" value="'.implode( ',', array_keys( $json_ids ) ).'" /> ';
|
512 |
-
}
|
513 |
-
|
514 |
-
return $html;
|
515 |
-
}
|
516 |
-
|
517 |
-
/*
|
518 |
-
* Get WooCommerce get product select box
|
519 |
-
*
|
520 |
-
* @access public
|
521 |
-
* @param object $users_list
|
522 |
-
* @param string $name
|
523 |
-
* @return string
|
524 |
-
* */
|
525 |
-
public static function getUserAjaxSelectBox($users_list, $name){
|
526 |
-
$html = '';
|
527 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0')){
|
528 |
-
$html .= '<select class="wc-customer-search" style="width: 250px" multiple="multiple" name="'.$name.'[]" data-placeholder="'.esc_attr__( 'Search for a user…', 'woocommerce' ).'" data-allow_clear="true">';
|
529 |
-
|
530 |
-
if(!empty($users_list) && count($users_list))
|
531 |
-
foreach ( $users_list as $user_id ) {
|
532 |
-
$user = get_userdata($user_id);
|
533 |
-
if ( is_object( $user ) ) {
|
534 |
-
$formattedName = $user->user_firstname.' '.$user->user_lastname.' (#'.$user->ID.' - '. $user->user_email.')';
|
535 |
-
$html .= '<option value="' . esc_attr( $user_id ) . '"' . selected( true, true, false ) . '>' . wp_kses_post($formattedName) . '</option>';
|
536 |
-
}
|
537 |
-
}
|
538 |
-
$html .= '</select>';
|
539 |
-
} else {
|
540 |
-
$html .= '<input type="hidden" class="wc-customer-search" style="width: 250px" data-multiple="true" name="'.$name.'" data-placeholder="'.esc_attr__( 'Search for a user…', 'woocommerce' ).'" data-allow_clear="true" data-selected="';
|
541 |
-
$json_ids = array();
|
542 |
-
if(!empty($users_list)){
|
543 |
-
if(!is_array($users_list)) $users_list = explode(',', $users_list);
|
544 |
-
if(!empty($users_list) && count($users_list)){
|
545 |
-
foreach ( $users_list as $user_id ) {
|
546 |
-
$user = get_userdata($user_id);
|
547 |
-
if ( is_object( $user ) ) {
|
548 |
-
$formattedName = $user->user_firstname.' '.$user->user_lastname.' (#'.$user->ID.' - '. $user->user_email.')';
|
549 |
-
$json_ids[ $user_id ] = wp_kses_post( $formattedName );
|
550 |
-
}
|
551 |
-
}
|
552 |
-
$html .= esc_attr( json_encode( $json_ids ) );
|
553 |
-
}
|
554 |
-
}
|
555 |
-
|
556 |
-
|
557 |
-
$html .= '" value="'.implode( ',', array_keys( $json_ids ) ).'" /> ';
|
558 |
-
}
|
559 |
-
|
560 |
-
return $html;
|
561 |
-
}
|
562 |
-
}
|
563 |
-
}
|
564 |
-
|
565 |
-
if(!class_exists('FlycartWoocommerceCartProduct')){
|
566 |
-
class FlycartWoocommerceCart{
|
567 |
-
/**
|
568 |
-
* Get cart
|
569 |
-
*
|
570 |
-
* @access public
|
571 |
-
* @return array
|
572 |
-
*/
|
573 |
-
public static function get_cart()
|
574 |
-
{
|
575 |
-
$load_cart_from_wc_object = apply_filters('woo_discount_rules_load_cart_from_woocommerce_object', true);
|
576 |
-
if($load_cart_from_wc_object){
|
577 |
-
if(!empty(WC()->cart)){
|
578 |
-
return WC()->cart->get_cart();
|
579 |
-
}
|
580 |
-
} else {
|
581 |
-
global $woocommerce;
|
582 |
-
if(!empty($woocommerce->cart) && !empty($woocommerce->cart)){
|
583 |
-
if(!empty($woocommerce->cart->cart_contents)){
|
584 |
-
return $woocommerce->cart->cart_contents;
|
585 |
-
}
|
586 |
-
}
|
587 |
-
}
|
588 |
-
|
589 |
-
return array();
|
590 |
-
}
|
591 |
-
|
592 |
-
/**
|
593 |
-
* Get cart object
|
594 |
-
*
|
595 |
-
* @return object
|
596 |
-
*/
|
597 |
-
public static function get_cart_object()
|
598 |
-
{
|
599 |
-
return WC()->cart;
|
600 |
-
}
|
601 |
-
|
602 |
-
/**
|
603 |
-
* Remove cart item
|
604 |
-
*
|
605 |
-
* @access public
|
606 |
-
* @return boolean
|
607 |
-
*/
|
608 |
-
public static function remove_cart_item($_cart_item_key)
|
609 |
-
{
|
610 |
-
return WC()->cart->remove_cart_item( $_cart_item_key );
|
611 |
-
}
|
612 |
-
|
613 |
-
/**
|
614 |
-
* Add cart item
|
615 |
-
*
|
616 |
-
* @access public
|
617 |
-
* @param int $product_id
|
618 |
-
* @param int $quantity
|
619 |
-
* @param int $variation_id
|
620 |
-
* @param array $variation
|
621 |
-
* @param array $cart_item_data
|
622 |
-
* @return boolean
|
623 |
-
*/
|
624 |
-
public static function add_to_cart($product_id = 0, $quantity = 1, $variation_id = 0, $variation = array(), $cart_item_data = array())
|
625 |
-
{
|
626 |
-
if(FlycartWoocommerceVersion::wcVersion('3.0')){
|
627 |
-
return WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variation, $cart_item_data);
|
628 |
-
} else {
|
629 |
-
ob_start();
|
630 |
-
$addToCart = WC()->cart->add_to_cart( $product_id, $quantity, $variation_id, $variation, $cart_item_data);
|
631 |
-
ob_end_flush();
|
632 |
-
return $addToCart;
|
633 |
-
}
|
634 |
-
}
|
635 |
-
|
636 |
-
/**
|
637 |
-
* Get cart item
|
638 |
-
*
|
639 |
-
* @access public
|
640 |
-
* @param string $cart_item_key
|
641 |
-
* @return array
|
642 |
-
*/
|
643 |
-
public static function get_cart_item($cart_item_key)
|
644 |
-
{
|
645 |
-
return WC()->cart->get_cart_item($cart_item_key);
|
646 |
-
}
|
647 |
-
|
648 |
-
/**
|
649 |
-
* set quantity
|
650 |
-
*
|
651 |
-
* @access public
|
652 |
-
* @param string $cart_item_key
|
653 |
-
* @param int $quantity
|
654 |
-
* @param boolean $refresh_totals
|
655 |
-
* @return boolean
|
656 |
-
*/
|
657 |
-
public static function set_quantity( $cart_item_key, $quantity = 1, $refresh_totals = true ){
|
658 |
-
return WC()->cart->set_quantity($cart_item_key, $quantity, $refresh_totals);
|
659 |
-
}
|
660 |
-
|
661 |
-
/**
|
662 |
-
* Remove coupon from cart
|
663 |
-
*
|
664 |
-
* @access public
|
665 |
-
* @param string $code
|
666 |
-
* @return boolean
|
667 |
-
*/
|
668 |
-
public static function remove_coupon($code)
|
669 |
-
{
|
670 |
-
return WC()->cart->remove_coupon($code);
|
671 |
-
}
|
672 |
-
}
|
673 |
-
}
|
674 |
-
|
675 |
-
if(!class_exists('FlycartWoocommerceOrder')){
|
676 |
-
class FlycartWoocommerceOrder{
|
677 |
-
/**
|
678 |
-
* Get order id
|
679 |
-
*
|
680 |
-
* @access public
|
681 |
-
* @param object $order
|
682 |
-
* @return int
|
683 |
-
*/
|
684 |
-
public static function get_id($order)
|
685 |
-
{
|
686 |
-
FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_id() : $order->id;
|
687 |
-
}
|
688 |
-
|
689 |
-
/**
|
690 |
-
* Get WooCommerce order
|
691 |
-
*
|
692 |
-
* @access public
|
693 |
-
* @param int $order_id
|
694 |
-
* @return object
|
695 |
-
*/
|
696 |
-
public static function wc_get_order($order_id)
|
697 |
-
{
|
698 |
-
return FlycartWoocommerceVersion::wcVersion('2.2') ? wc_get_order($order_id) : new WC_Order($order_id);
|
699 |
-
}
|
700 |
-
|
701 |
-
/**
|
702 |
-
* Get order total
|
703 |
-
*
|
704 |
-
* @access public
|
705 |
-
* @param object $order
|
706 |
-
* @return float
|
707 |
-
*/
|
708 |
-
public static function get_total($order)
|
709 |
-
{
|
710 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_total() : $order->order_total;
|
711 |
-
}
|
712 |
-
|
713 |
-
/**
|
714 |
-
* Get order billing_email
|
715 |
-
*
|
716 |
-
* @access public
|
717 |
-
* @param object $order
|
718 |
-
* @return float
|
719 |
-
*/
|
720 |
-
public static function get_billing_email($order)
|
721 |
-
{
|
722 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_billing_email() : $order->billing_email;
|
723 |
-
}
|
724 |
-
|
725 |
-
/**
|
726 |
-
* Get order billing city
|
727 |
-
*
|
728 |
-
* @access public
|
729 |
-
* @param object $order
|
730 |
-
* @return float
|
731 |
-
*/
|
732 |
-
public static function get_billing_city($order)
|
733 |
-
{
|
734 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_billing_city() : $order->billing_city;
|
735 |
-
}
|
736 |
-
|
737 |
-
/**
|
738 |
-
* Get order shipping state
|
739 |
-
*
|
740 |
-
* @access public
|
741 |
-
* @param object $order
|
742 |
-
* @return float
|
743 |
-
*/
|
744 |
-
public static function get_shipping_state($order)
|
745 |
-
{
|
746 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_shipping_state() : $order->shipping_state;
|
747 |
-
}
|
748 |
-
|
749 |
-
/**
|
750 |
-
* Get order shipping city
|
751 |
-
*
|
752 |
-
* @access public
|
753 |
-
* @param object $order
|
754 |
-
* @return float
|
755 |
-
*/
|
756 |
-
public static function get_shipping_city($order)
|
757 |
-
{
|
758 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_shipping_city() : $order->shipping_city;
|
759 |
-
}
|
760 |
-
|
761 |
-
/**
|
762 |
-
* Get order currency
|
763 |
-
*
|
764 |
-
* @access public
|
765 |
-
* @param object $order
|
766 |
-
* @return float
|
767 |
-
*/
|
768 |
-
public static function get_currency($order)
|
769 |
-
{
|
770 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $order->get_currency() : $order->currency;
|
771 |
-
}
|
772 |
-
|
773 |
-
/**
|
774 |
-
* Get order product ids
|
775 |
-
*
|
776 |
-
* @access public
|
777 |
-
* @param object $order
|
778 |
-
* @return array
|
779 |
-
*/
|
780 |
-
public static function get_product_ids($order)
|
781 |
-
{
|
782 |
-
$items = $order->get_items();
|
783 |
-
$productIds = array();
|
784 |
-
if(!empty($items)){
|
785 |
-
foreach ($items as $item){
|
786 |
-
$product_id = FlycartWoocommerceVersion::wcVersion('3.0') ? $item->get_product_id() : $item['product_id'];
|
787 |
-
$variant_id = FlycartWoocommerceVersion::wcVersion('3.0') ? $item->get_variation_id() : $item['variation_id'];
|
788 |
-
if($variant_id){
|
789 |
-
$productIds[] = $variant_id;
|
790 |
-
} else {
|
791 |
-
$productIds[] = $product_id;
|
792 |
-
}
|
793 |
-
}
|
794 |
-
}
|
795 |
-
|
796 |
-
return $productIds;
|
797 |
-
}
|
798 |
-
|
799 |
-
/**
|
800 |
-
* Get order product quantities
|
801 |
-
*
|
802 |
-
* @access public
|
803 |
-
* @param object $order
|
804 |
-
* @return array
|
805 |
-
*/
|
806 |
-
public static function get_product_quantities($order)
|
807 |
-
{
|
808 |
-
$items = $order->get_items();
|
809 |
-
$productIds = array();
|
810 |
-
if(!empty($items)){
|
811 |
-
foreach ($items as $item){
|
812 |
-
$product_id = FlycartWoocommerceVersion::wcVersion('3.0') ? $item->get_product_id() : $item['product_id'];
|
813 |
-
$variant_id = FlycartWoocommerceVersion::wcVersion('3.0') ? $item->get_variation_id() : $item['variation_id'];
|
814 |
-
$quantity = FlycartWoocommerceVersion::wcVersion('3.0') ? $item->get_quantity() : $item['quantity'];
|
815 |
-
if($variant_id){
|
816 |
-
$productId = $variant_id;
|
817 |
-
} else {
|
818 |
-
$productId = $product_id;
|
819 |
-
}
|
820 |
-
if(isset($productIds[$productId])){
|
821 |
-
$productIds[$productId] = $productIds[$productId]+$quantity;
|
822 |
-
} else {
|
823 |
-
$productIds[$productId] = $quantity;
|
824 |
-
}
|
825 |
-
}
|
826 |
-
}
|
827 |
-
|
828 |
-
return $productIds;
|
829 |
-
}
|
830 |
-
}
|
831 |
-
}
|
832 |
-
|
833 |
-
if(!class_exists('FlycartWoocommerceCoupon')){
|
834 |
-
class FlycartWoocommerceCoupon{
|
835 |
-
|
836 |
-
/**
|
837 |
-
* Get WooCommerce Coupon
|
838 |
-
*
|
839 |
-
* @access public
|
840 |
-
* @param int $coupon_code
|
841 |
-
* @return object
|
842 |
-
*/
|
843 |
-
public static function wc_get_coupon($coupon_code)
|
844 |
-
{
|
845 |
-
return new WC_Coupon($coupon_code);
|
846 |
-
}
|
847 |
-
|
848 |
-
/**
|
849 |
-
* Get Coupon individual_use
|
850 |
-
*
|
851 |
-
* @access public
|
852 |
-
* @param object $coupon
|
853 |
-
* @return boolean
|
854 |
-
*/
|
855 |
-
public static function get_individual_use($coupon)
|
856 |
-
{
|
857 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $coupon->get_individual_use() : $coupon->individual_use;
|
858 |
-
}
|
859 |
-
|
860 |
-
/**
|
861 |
-
* Get Coupon code
|
862 |
-
*
|
863 |
-
* @access public
|
864 |
-
* @param object $coupon
|
865 |
-
* @return boolean
|
866 |
-
*/
|
867 |
-
public static function get_code($coupon)
|
868 |
-
{
|
869 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $coupon->get_code() : $coupon->code;
|
870 |
-
}
|
871 |
-
}
|
872 |
-
}
|
873 |
-
|
874 |
-
if(!class_exists('FlycartWoocommerceOrderItem')){
|
875 |
-
class FlycartWoocommerceOrderItem{
|
876 |
-
/**
|
877 |
-
* Get order id
|
878 |
-
*
|
879 |
-
* @access public
|
880 |
-
* @param object $order_item
|
881 |
-
* @return integer
|
882 |
-
*/
|
883 |
-
public static function get_order_id($order_item)
|
884 |
-
{
|
885 |
-
return FlycartWoocommerceVersion::wcVersion('3.0') ? $order_item->get_order_id() : $order_item->order_id;
|
886 |
-
}
|
887 |
-
}
|
888 |
-
}
|
889 |
-
|
890 |
-
if(!class_exists('FlycartWoocommerceSession')){
|
891 |
-
class FlycartWoocommerceSession{
|
892 |
-
|
893 |
-
/**
|
894 |
-
* Get session value by key
|
895 |
-
* @param $key
|
896 |
-
* @param null $default
|
897 |
-
* @return mixed
|
898 |
-
*/
|
899 |
-
public static function getSession($key, $default = NULL)
|
900 |
-
{
|
901 |
-
if (function_exists('WC')) {
|
902 |
-
if (method_exists(WC()->session, 'get')) {
|
903 |
-
return WC()->session->get($key);
|
904 |
-
}
|
905 |
-
}
|
906 |
-
return $default;
|
907 |
-
}
|
908 |
-
|
909 |
-
/**
|
910 |
-
* set session value
|
911 |
-
* @param $key string
|
912 |
-
* @param $value mixed
|
913 |
-
*/
|
914 |
-
public static function setSession($key, $value)
|
915 |
-
{
|
916 |
-
if (function_exists('WC')) {
|
917 |
-
if (method_exists(WC()->session, 'set')) {
|
918 |
-
WC()->session->set($key, $value);
|
919 |
-
}
|
920 |
-
}
|
921 |
-
}
|
922 |
-
}
|
923 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/includes/cart-rules.php
DELETED
@@ -1,2945 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
-
include_once(WOO_DISCOUNT_DIR . '/helper/general-helper.php');
|
4 |
-
include_once(WOO_DISCOUNT_DIR . '/includes/discount-base.php');
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Class FlycartWooDiscountRulesCartRules
|
8 |
-
*/
|
9 |
-
if (!class_exists('FlycartWooDiscountRulesCartRules')) {
|
10 |
-
class FlycartWooDiscountRulesCartRules
|
11 |
-
{
|
12 |
-
/**
|
13 |
-
* @var string
|
14 |
-
*/
|
15 |
-
private $option_name = 'woo_discount_cart_option';
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @var string
|
19 |
-
*/
|
20 |
-
public $post_type = 'woo_discount_cart';
|
21 |
-
|
22 |
-
/**
|
23 |
-
* @var bool
|
24 |
-
*/
|
25 |
-
public $discount_applied = false;
|
26 |
-
|
27 |
-
/**
|
28 |
-
* @var
|
29 |
-
*/
|
30 |
-
private $rules;
|
31 |
-
|
32 |
-
/**
|
33 |
-
* @var
|
34 |
-
*/
|
35 |
-
public $rule_sets;
|
36 |
-
|
37 |
-
/**
|
38 |
-
* @var array
|
39 |
-
*/
|
40 |
-
public $cart_items;
|
41 |
-
|
42 |
-
/**
|
43 |
-
* @var
|
44 |
-
*/
|
45 |
-
public $sub_total;
|
46 |
-
|
47 |
-
/**
|
48 |
-
* @var int
|
49 |
-
*/
|
50 |
-
public $discount_total = 0;
|
51 |
-
public $product_discount_total = 0;
|
52 |
-
|
53 |
-
public $has_category_in_rule = false;
|
54 |
-
public $has_product_specific_rule = false;
|
55 |
-
|
56 |
-
/**
|
57 |
-
* @var array
|
58 |
-
*/
|
59 |
-
public $coupon_list;
|
60 |
-
|
61 |
-
/**
|
62 |
-
* @var string
|
63 |
-
*/
|
64 |
-
public $coupon_code;
|
65 |
-
|
66 |
-
/**
|
67 |
-
* @var
|
68 |
-
*/
|
69 |
-
public $matched_sets;
|
70 |
-
|
71 |
-
public $matched_discounts;
|
72 |
-
|
73 |
-
public $postData;
|
74 |
-
|
75 |
-
public static $rules_loaded = 0;
|
76 |
-
public static $cartRules;
|
77 |
-
|
78 |
-
public $has_free_shipping = 0;
|
79 |
-
public $has_free_shipping_rule = 0;
|
80 |
-
public $bogo_coupon_codes = array();
|
81 |
-
public static $applied_coupon = array();
|
82 |
-
|
83 |
-
protected $checked_for_categories_and_product_match = false;
|
84 |
-
protected $categories_and_product_match_value = false;
|
85 |
-
|
86 |
-
protected static $added_bogo_product_ids = array();
|
87 |
-
|
88 |
-
/**
|
89 |
-
* FlycartWooDiscountRulesCartRules constructor.
|
90 |
-
*/
|
91 |
-
public function __construct()
|
92 |
-
{
|
93 |
-
global $woocommerce;
|
94 |
-
|
95 |
-
$this->postData = \FlycartInput\FInput::getInstance();
|
96 |
-
$this->cart_items = (isset($woocommerce->cart->cart_contents) ? $woocommerce->cart->cart_contents : array());
|
97 |
-
$this->calculateCartSubtotal();
|
98 |
-
$this->coupon_list = (isset($woocommerce->cart->applied_coupons) ? $woocommerce->cart->applied_coupons : array());
|
99 |
-
|
100 |
-
// Check for Remove Coupon Request.
|
101 |
-
if (!is_null($this->postData->get('remove_coupon', null))) $this->removeWoocommerceCoupon($this->postData->get('remove_coupon'));
|
102 |
-
|
103 |
-
// Update Coupon Code
|
104 |
-
$this->coupon_code = strtolower($this->getCouponCode());
|
105 |
-
}
|
106 |
-
|
107 |
-
/**
|
108 |
-
* Save Cart Configs.
|
109 |
-
*
|
110 |
-
* @param array $request bulk request data.
|
111 |
-
* @return bool
|
112 |
-
*/
|
113 |
-
public function save($request)
|
114 |
-
{
|
115 |
-
$result['status'] = 1;
|
116 |
-
$result['message'] = esc_html__('Saved successfully', 'woo-discount-rules');
|
117 |
-
foreach ($request as $index => $value) {
|
118 |
-
if ($index !== 'discount_rule') {
|
119 |
-
$request[$index] = FlycartWooDiscountRulesGeneralHelper::makeString($value);
|
120 |
-
}
|
121 |
-
}
|
122 |
-
|
123 |
-
$id = (isset($request['rule_id']) ? $request['rule_id'] : false);
|
124 |
-
|
125 |
-
$id = intval($id);
|
126 |
-
if (!$id && $id != 0) return false;
|
127 |
-
$title = $request['rule_name'] = (isset($request['rule_name']) ? str_replace('\'', '', $request['rule_name']) : 'New');
|
128 |
-
$slug = str_replace(' ', '-', strtolower($title));
|
129 |
-
|
130 |
-
// To Lowercase.
|
131 |
-
$slug = strtolower($slug);
|
132 |
-
|
133 |
-
// Encoding String with Space.
|
134 |
-
$slug = str_replace(' ', '-', $slug);
|
135 |
-
|
136 |
-
$request['rule_descr'] = (isset($request['rule_descr']) ? str_replace('\'', '', $request['rule_descr']) : '');
|
137 |
-
$request['cart_discounted_products'] = (isset($request['cart_discounted_products'])) ? json_encode($request['cart_discounted_products']) : '{}';
|
138 |
-
$form = array(
|
139 |
-
'rule_name',
|
140 |
-
'rule_descr',
|
141 |
-
'date_from',
|
142 |
-
'date_to',
|
143 |
-
'apply_to',
|
144 |
-
'discount_type',
|
145 |
-
'cart_discounted_products',
|
146 |
-
'product_discount_quantity',
|
147 |
-
'to_discount',
|
148 |
-
'discount_rule',
|
149 |
-
'dynamic_coupons_to_apply',
|
150 |
-
'rule_order',
|
151 |
-
'status',
|
152 |
-
'promotion_subtotal_from',
|
153 |
-
'promotion_message',
|
154 |
-
'wpml_language'
|
155 |
-
);
|
156 |
-
$coupons_used = array();
|
157 |
-
if($request['discount_type'] == 'product_discount'){
|
158 |
-
if(!empty($request['cart_discounted_products']) && !empty($request['product_discount_quantity'])){
|
159 |
-
$coupon_code_text = apply_filters('woo_discount_rules_cart_bogo_coupon_code', '{{product_name}} X {{quantity}}');
|
160 |
-
$cart_discounted_products = $request['cart_discounted_products'];
|
161 |
-
if(is_string($request['cart_discounted_products'])){
|
162 |
-
$cart_discounted_products = json_decode($request['cart_discounted_products']);
|
163 |
-
}
|
164 |
-
if(!empty($cart_discounted_products) && is_array($cart_discounted_products)){
|
165 |
-
foreach ($cart_discounted_products as $product_id){
|
166 |
-
$product = FlycartWoocommerceProduct::wc_get_product($product_id);
|
167 |
-
if($product){
|
168 |
-
$product_name = FlycartWoocommerceProduct::get_name($product);
|
169 |
-
$coupons_used[] = self::formatBOGOCouponCode($product_name, $request['product_discount_quantity'], $product, $coupon_code_text);
|
170 |
-
}
|
171 |
-
}
|
172 |
-
}
|
173 |
-
}
|
174 |
-
}
|
175 |
-
$request['dynamic_coupons_to_apply'] = '';
|
176 |
-
$coupon_keys = array('coupon_applied_any_one','coupon_applied_all_selected', 'create_dynamic_coupon');
|
177 |
-
foreach ($request['discount_rule'] as $index => $value) {
|
178 |
-
foreach ($coupon_keys as $coupon_key){
|
179 |
-
if($coupon_key === 'create_dynamic_coupon' && !empty($value['create_dynamic_coupon'])){
|
180 |
-
$validate_dynamic_coupon = FlycartWooDiscountRulesGeneralHelper::validateDynamicCoupon($value[$coupon_key]);
|
181 |
-
$request['dynamic_coupons_to_apply'] = $result['create_dynamic_coupon'] = $validate_dynamic_coupon['coupon'];
|
182 |
-
if($validate_dynamic_coupon['status'] === true){
|
183 |
-
$request['discount_rule'][$index][$coupon_key] = $value[$coupon_key] = $validate_dynamic_coupon['coupon'];
|
184 |
-
$coupons_used[] = $request['dynamic_coupons_to_apply'];
|
185 |
-
} else {
|
186 |
-
$result['status'] = 0;
|
187 |
-
$result['message'] = esc_html__('Failed to save', 'woo-discount-rules');
|
188 |
-
$result['error_message'] = $validate_dynamic_coupon['message'];
|
189 |
-
$result['invalid_field'] = 'create_dynamic_coupon';
|
190 |
-
if(defined('JSON_UNESCAPED_UNICODE')){
|
191 |
-
echo json_encode($result, JSON_UNESCAPED_UNICODE);
|
192 |
-
} else {
|
193 |
-
echo json_encode($result);
|
194 |
-
}
|
195 |
-
die();
|
196 |
-
}
|
197 |
-
} else {
|
198 |
-
if(isset($value[$coupon_key]) && !empty($value[$coupon_key])){
|
199 |
-
if(is_array($value[$coupon_key])){
|
200 |
-
$coupons_used = array_merge($coupons_used, $value[$coupon_key]);
|
201 |
-
}
|
202 |
-
}
|
203 |
-
}
|
204 |
-
|
205 |
-
}
|
206 |
-
$request['discount_rule'][$index] = FlycartWooDiscountRulesGeneralHelper::makeString($value);
|
207 |
-
}
|
208 |
-
if ($id) {
|
209 |
-
$post = array(
|
210 |
-
'ID' => $id,
|
211 |
-
'post_title' => $title,
|
212 |
-
'post_name' => $slug,
|
213 |
-
'post_content' => 'New Rule',
|
214 |
-
'post_type' => $this->post_type,
|
215 |
-
'post_status' => 'publish'
|
216 |
-
);
|
217 |
-
wp_update_post($post);
|
218 |
-
} else {
|
219 |
-
$post = array(
|
220 |
-
'post_title' => $title,
|
221 |
-
'post_name' => $slug,
|
222 |
-
'post_content' => 'New Rule',
|
223 |
-
'post_type' => $this->post_type,
|
224 |
-
'post_status' => 'publish'
|
225 |
-
);
|
226 |
-
$id = wp_insert_post($post);
|
227 |
-
$request['status'] = 'publish';
|
228 |
-
}
|
229 |
-
$request['rule_order'] = FlycartWooDiscountRulesGeneralHelper::reOrderRuleIfExists($id, $request['rule_order'], $this->post_type);
|
230 |
-
|
231 |
-
$product_keys = array('products_in_list','products_not_in_list');
|
232 |
-
foreach ($request['discount_rule'] as $index => $value) {
|
233 |
-
foreach ($product_keys as $product_key){
|
234 |
-
if(isset($value[$product_key]) && !empty($value[$product_key])){
|
235 |
-
if(is_array($value[$product_key])){
|
236 |
-
$request['discount_rule'][$index]['product_variants'] = FlycartWooDiscountRulesPricingRules::getVariantsOfProducts($value[$product_key]);
|
237 |
-
}
|
238 |
-
}
|
239 |
-
}
|
240 |
-
}
|
241 |
-
|
242 |
-
if (isset($request['discount_rule'])){
|
243 |
-
if(defined('JSON_UNESCAPED_UNICODE')){
|
244 |
-
$request['discount_rule'] = json_encode($request['discount_rule'], JSON_UNESCAPED_UNICODE);
|
245 |
-
} else {
|
246 |
-
$request['discount_rule'] = json_encode($request['discount_rule']);
|
247 |
-
}
|
248 |
-
|
249 |
-
}
|
250 |
-
|
251 |
-
if (is_null($id) || !isset($id)) return false;
|
252 |
-
FlycartWooDiscountRulesGeneralHelper::resetUsedCoupons($id, $coupons_used);
|
253 |
-
$request['wpml_language'] = FlycartWooDiscountRulesGeneralHelper::getWPMLLanguage();
|
254 |
-
|
255 |
-
foreach ($request as $index => $value) {
|
256 |
-
//$value = sanitize_text_field($value);
|
257 |
-
if (in_array($index, $form)) {
|
258 |
-
if (get_post_meta($id, $index)) {
|
259 |
-
update_post_meta($id, $index, $value);
|
260 |
-
} else {
|
261 |
-
add_post_meta($id, $index, $value);
|
262 |
-
}
|
263 |
-
}
|
264 |
-
}
|
265 |
-
if(defined('JSON_UNESCAPED_UNICODE')){
|
266 |
-
echo json_encode($result, JSON_UNESCAPED_UNICODE);
|
267 |
-
} else {
|
268 |
-
echo json_encode($result);
|
269 |
-
}
|
270 |
-
}
|
271 |
-
|
272 |
-
/**
|
273 |
-
* Load View Data.
|
274 |
-
*
|
275 |
-
* @param $option
|
276 |
-
* @param integer $id to load post.
|
277 |
-
* @return string mixed response.
|
278 |
-
*/
|
279 |
-
public function view($option, $id)
|
280 |
-
{
|
281 |
-
$id = intval($id);
|
282 |
-
if (!$id) return false;
|
283 |
-
|
284 |
-
$post = get_post($id, 'OBJECT');
|
285 |
-
if (isset($post)) {
|
286 |
-
if (isset($post->ID)) {
|
287 |
-
$post->meta = get_post_meta($post->ID);
|
288 |
-
}
|
289 |
-
}
|
290 |
-
return $post;
|
291 |
-
}
|
292 |
-
|
293 |
-
/**
|
294 |
-
* List of Checklist.
|
295 |
-
*/
|
296 |
-
public function checkPoint()
|
297 |
-
{
|
298 |
-
// Apply rules with products.
|
299 |
-
// NOT YET USED.
|
300 |
-
if ($this->discount_applied) return true;
|
301 |
-
}
|
302 |
-
|
303 |
-
/**
|
304 |
-
* Load List of Rules.
|
305 |
-
*
|
306 |
-
* @return mixed
|
307 |
-
*/
|
308 |
-
public function getRules($onlyCount = false)
|
309 |
-
{
|
310 |
-
if(self::$rules_loaded) return $this->rules = self::$cartRules;
|
311 |
-
|
312 |
-
$post_args = array('post_type' => $this->post_type, 'numberposts' => '-1');
|
313 |
-
$postData = \FlycartInput\FInput::getInstance();
|
314 |
-
$request = $postData->getArray();
|
315 |
-
if(is_admin() && isset($request['page']) && $request['page'] == 'woo_discount_rules'){
|
316 |
-
$post_args['meta_key'] = 'rule_order';
|
317 |
-
$post_args['orderby'] = 'meta_value_num';
|
318 |
-
$post_args['order'] = 'DESC';
|
319 |
-
if(isset($request['order']) && in_array($request['order'], array('asc', 'desc'))){
|
320 |
-
if($request['order'] == 'asc') $post_args['order'] = 'ASC';
|
321 |
-
}
|
322 |
-
}
|
323 |
-
$posts = get_posts($post_args);
|
324 |
-
|
325 |
-
if ($onlyCount) return count($posts);
|
326 |
-
if (isset($posts) && count($posts) > 0) {
|
327 |
-
$wpml_language = FlycartWooDiscountRulesGeneralHelper::getWPMLLanguage();
|
328 |
-
foreach ($posts as $index => $item) {
|
329 |
-
$posts[$index]->meta = get_post_meta($posts[$index]->ID);
|
330 |
-
if(!empty($wpml_language) && $wpml_language != 'all'){
|
331 |
-
if(isset($posts[$index]->meta['wpml_language'])){
|
332 |
-
if(isset($posts[$index]->meta['wpml_language']['0'])){
|
333 |
-
if($posts[$index]->meta['wpml_language']['0'] != $wpml_language && $posts[$index]->meta['wpml_language']['0'] != '' && $posts[$index]->meta['wpml_language']['0'] != 'all') unset($posts[$index]);
|
334 |
-
}
|
335 |
-
}
|
336 |
-
}
|
337 |
-
}
|
338 |
-
|
339 |
-
$this->rules = $posts;
|
340 |
-
}
|
341 |
-
|
342 |
-
self::$rules_loaded = 1;
|
343 |
-
self::$cartRules = $posts;
|
344 |
-
|
345 |
-
return $posts;
|
346 |
-
}
|
347 |
-
|
348 |
-
/**
|
349 |
-
* To Analyzing the Pricing Rules to Apply the Discount in terms of price.
|
350 |
-
*/
|
351 |
-
public function analyse($woocommerce, $free_shipping_check = 0)
|
352 |
-
{
|
353 |
-
global $woocommerce;
|
354 |
-
if (!FlycartWooDiscountRulesGeneralHelper::haveToApplyTheRules()) return false;
|
355 |
-
// Re-arranging the Rules.
|
356 |
-
$this->organizeRules();
|
357 |
-
// Apply Group of Rules.
|
358 |
-
$this->applyRules();
|
359 |
-
// Get Overall Discounts.
|
360 |
-
$this->getDiscountAmount();
|
361 |
-
|
362 |
-
//run an event
|
363 |
-
do_action('woo_discount_rules_after_fetching_discount', $this);
|
364 |
-
global $flycart_woo_discount_rules;
|
365 |
-
$flycart_woo_discount_rules->cart_rules = $this;
|
366 |
-
|
367 |
-
// Add a Coupon Virtually (Temporary access).
|
368 |
-
if(!$free_shipping_check)
|
369 |
-
if ($this->discount_total != 0) {
|
370 |
-
add_filter('woocommerce_get_shop_coupon_data', array($this, 'addVirtualCoupon'), 10, 2);
|
371 |
-
add_action('woocommerce_after_calculate_totals', array($this, 'applyFakeCoupons'), 10);
|
372 |
-
}
|
373 |
-
if($this->product_discount_total) {
|
374 |
-
add_action('woocommerce_after_calculate_totals', array($this, 'applyFakeCouponsForBOGO'));
|
375 |
-
add_filter('woocommerce_get_shop_coupon_data', array($this, 'addVirtualCouponForBOGO'), 10, 2);
|
376 |
-
}
|
377 |
-
}
|
378 |
-
|
379 |
-
/**
|
380 |
-
* To Make record of discount changes.
|
381 |
-
*
|
382 |
-
* @return bool
|
383 |
-
*/
|
384 |
-
public function makeLog()
|
385 |
-
{
|
386 |
-
if (is_null($this->coupon_code) || empty($this->coupon_code)) return false;
|
387 |
-
|
388 |
-
$discount_log = array(
|
389 |
-
'coupon_name' => $this->coupon_code,
|
390 |
-
'discount' => $this->discount_total,
|
391 |
-
);
|
392 |
-
WC()->session->set('woo_cart_discount', json_encode($discount_log));
|
393 |
-
}
|
394 |
-
|
395 |
-
/**
|
396 |
-
* Virtually add Coupon to apply the Discount.
|
397 |
-
*
|
398 |
-
* @param array $response
|
399 |
-
* @param string $coupon_data Existing Coupon
|
400 |
-
* @return mixed
|
401 |
-
*/
|
402 |
-
public function addVirtualCoupon($response, $coupon_data)
|
403 |
-
{
|
404 |
-
$coupon_code = $this->coupon_code;
|
405 |
-
// Getting Coupon Remove status from Session.
|
406 |
-
if(isset(WC()->session) && is_object(WC()->session) && method_exists(WC()->session, 'get')) {
|
407 |
-
$is_removed = WC()->session->get('woo_coupon_removed', '');
|
408 |
-
// If Both are same, then it won't added.
|
409 |
-
if(!empty($is_removed)){
|
410 |
-
if ($coupon_code == $is_removed) return $response;
|
411 |
-
}
|
412 |
-
}
|
413 |
-
|
414 |
-
if ($coupon_data == $coupon_code || wc_strtolower($coupon_data) == wc_strtolower($coupon_code)) {
|
415 |
-
|
416 |
-
if ($this->postData->get('remove_coupon', false) == $coupon_code) return false;
|
417 |
-
$this->makeLog();
|
418 |
-
$discount_type = 'fixed_cart';
|
419 |
-
$amount = $this->discount_total;
|
420 |
-
if(FlycartWoocommerceVersion::wcVersion('3.2')){
|
421 |
-
// if(!$this->has_category_in_rule){
|
422 |
-
$discount_type = 'percent';
|
423 |
-
//To calculate the percent from total
|
424 |
-
if($this->sub_total > 0) {
|
425 |
-
$amount = ((100 * $this->discount_total) / $this->sub_total);
|
426 |
-
}
|
427 |
-
// }
|
428 |
-
}
|
429 |
-
|
430 |
-
$coupon = array(
|
431 |
-
'id' => 321123 . rand(2, 9),
|
432 |
-
'amount' => $amount,
|
433 |
-
'individual_use' => false,
|
434 |
-
'product_ids' => array(),
|
435 |
-
'exclude_product_ids' => array(),
|
436 |
-
'usage_limit' => '',
|
437 |
-
'usage_limit_per_user' => '',
|
438 |
-
'limit_usage_to_x_items' => '',
|
439 |
-
'usage_count' => '',
|
440 |
-
'expiry_date' => '',
|
441 |
-
'apply_before_tax' => 'yes',
|
442 |
-
'free_shipping' => false,
|
443 |
-
'product_categories' => array(),
|
444 |
-
'exclude_product_categories' => array(),
|
445 |
-
'exclude_sale_items' => false,
|
446 |
-
'minimum_amount' => '',
|
447 |
-
'maximum_amount' => '',
|
448 |
-
'customer_email' => '',
|
449 |
-
);
|
450 |
-
if(FlycartWoocommerceVersion::wcVersion('3.2')) {
|
451 |
-
$coupon['discount_type'] = $discount_type;
|
452 |
-
} else {
|
453 |
-
$coupon['type'] = $discount_type;
|
454 |
-
}
|
455 |
-
return $coupon;
|
456 |
-
}
|
457 |
-
|
458 |
-
return $response;
|
459 |
-
}
|
460 |
-
|
461 |
-
public function addVirtualCouponForBOGO($response, $old_coupon_code)
|
462 |
-
{
|
463 |
-
$bogo_coupon_codes = $this->bogo_coupon_codes;
|
464 |
-
$coupon_codes = array_keys($bogo_coupon_codes);
|
465 |
-
// Getting Coupon Remove status from Session.
|
466 |
-
if(isset(WC()->session) && is_object(WC()->session) && method_exists(WC()->session, 'get')) {
|
467 |
-
$is_removed = WC()->session->get('woo_coupon_removed', '');
|
468 |
-
if(!empty($is_removed)){
|
469 |
-
// If Both are same, then it won't added.
|
470 |
-
if (in_array($is_removed, $coupon_codes)) return false;
|
471 |
-
}
|
472 |
-
}
|
473 |
-
|
474 |
-
if (in_array($old_coupon_code, $coupon_codes) || in_array(wc_strtolower($old_coupon_code), $coupon_codes)) {
|
475 |
-
if (in_array($this->postData->get('remove_coupon', false), $coupon_codes)) return false;
|
476 |
-
$this->makeLog();
|
477 |
-
$discount_type = 'fixed_product';
|
478 |
-
$amount = $bogo_coupon_codes[wc_strtolower($old_coupon_code)]['amount'];
|
479 |
-
|
480 |
-
$coupon = array(
|
481 |
-
'id' => 321123 . rand(2, 9),
|
482 |
-
'amount' => $amount,
|
483 |
-
'individual_use' => false,
|
484 |
-
'product_ids' => array($bogo_coupon_codes[wc_strtolower($old_coupon_code)]['product_id']),
|
485 |
-
'exclude_product_ids' => array(),
|
486 |
-
'usage_limit' => '',
|
487 |
-
'usage_limit_per_user' => '',
|
488 |
-
'limit_usage_to_x_items' => '',
|
489 |
-
'usage_count' => '',
|
490 |
-
'expiry_date' => '',
|
491 |
-
'apply_before_tax' => 'yes',
|
492 |
-
'free_shipping' => false,
|
493 |
-
'product_categories' => array(),
|
494 |
-
'exclude_product_categories' => array(),
|
495 |
-
'exclude_sale_items' => false,
|
496 |
-
'minimum_amount' => '',
|
497 |
-
'maximum_amount' => '',
|
498 |
-
'customer_email' => '',
|
499 |
-
);
|
500 |
-
if(FlycartWoocommerceVersion::wcVersion('3.2')) {
|
501 |
-
$coupon['discount_type'] = $discount_type;
|
502 |
-
} else {
|
503 |
-
$coupon['type'] = $discount_type;
|
504 |
-
}
|
505 |
-
return $coupon;
|
506 |
-
}
|
507 |
-
|
508 |
-
return $response;
|
509 |
-
}
|
510 |
-
|
511 |
-
/**
|
512 |
-
* To Get the Coupon code that already specified.
|
513 |
-
*
|
514 |
-
* @return string
|
515 |
-
*/
|
516 |
-
public function getCouponCode()
|
517 |
-
{
|
518 |
-
$config = new FlycartWooDiscountBase();
|
519 |
-
$config = $config->getBaseConfig();
|
520 |
-
|
521 |
-
if (is_string($config)) $config = json_decode($config, true);
|
522 |
-
|
523 |
-
// Pre-Defined alternative Coupon Code.
|
524 |
-
$coupon = 'Discount';
|
525 |
-
|
526 |
-
// Verify and overwrite the Coupon Code.
|
527 |
-
if (isset($config['coupon_name']) && $config['coupon_name'] != '') $coupon = $config['coupon_name'];
|
528 |
-
return $coupon;
|
529 |
-
}
|
530 |
-
|
531 |
-
/**
|
532 |
-
* Apply fake coupon to cart
|
533 |
-
*
|
534 |
-
* @access public
|
535 |
-
* @return void
|
536 |
-
*/
|
537 |
-
public function applyFakeCoupons()
|
538 |
-
{
|
539 |
-
global $woocommerce;
|
540 |
-
|
541 |
-
// 'newyear' is a temporary coupon for validation.
|
542 |
-
$coupon_code = apply_filters('woocommerce_coupon_code', $this->coupon_code);
|
543 |
-
|
544 |
-
// Getting New Instance with the Coupon Code.
|
545 |
-
$the_coupon = FlycartWoocommerceCoupon::wc_get_coupon($coupon_code);
|
546 |
-
if($the_coupon->is_valid()){
|
547 |
-
self::setAppliedCoupon($coupon_code);
|
548 |
-
}
|
549 |
-
// Validating the Coupon as Valid and discount status.
|
550 |
-
if ($the_coupon->is_valid() && !$woocommerce->cart->has_discount($coupon_code)) {
|
551 |
-
|
552 |
-
// Do not apply coupon with individual use coupon already applied
|
553 |
-
if ($woocommerce->cart->applied_coupons) {
|
554 |
-
foreach ($woocommerce->cart->applied_coupons as $code) {
|
555 |
-
$coupon = FlycartWoocommerceCoupon::wc_get_coupon($code);
|
556 |
-
if (FlycartWoocommerceCoupon::get_individual_use($coupon) == true) {
|
557 |
-
return false;
|
558 |
-
}
|
559 |
-
}
|
560 |
-
}
|
561 |
-
|
562 |
-
// Add coupon
|
563 |
-
$woocommerce->cart->applied_coupons[] = $coupon_code;
|
564 |
-
$trigger_applied_coupon_before_load_cart = apply_filters('woo_discount_rules_trigger_applied_coupon_before_load_cart', false);
|
565 |
-
if($trigger_applied_coupon_before_load_cart){
|
566 |
-
add_action('woocommerce_before_cart', array($this, 'trigger_event_woocommerce_applied_coupon'));
|
567 |
-
add_action('woocommerce_review_order_before_cart_contents', array($this, 'trigger_event_woocommerce_applied_coupon'));
|
568 |
-
} else {
|
569 |
-
remove_action('woocommerce_after_calculate_totals', array($this, 'applyFakeCoupons'));
|
570 |
-
do_action('woocommerce_applied_coupon', $coupon_code);
|
571 |
-
add_action('woocommerce_after_calculate_totals', array($this, 'applyFakeCoupons'));
|
572 |
-
}
|
573 |
-
|
574 |
-
return true;
|
575 |
-
}
|
576 |
-
}
|
577 |
-
|
578 |
-
public function trigger_event_woocommerce_applied_coupon(){
|
579 |
-
global $woocommerce;
|
580 |
-
$coupon_code = apply_filters('woocommerce_coupon_code', $this->coupon_code);
|
581 |
-
if(in_array($coupon_code, $woocommerce->cart->applied_coupons)){
|
582 |
-
do_action('woocommerce_applied_coupon', $coupon_code);
|
583 |
-
}
|
584 |
-
if(!empty($this->bogo_coupon_codes)) {
|
585 |
-
foreach ($this->bogo_coupon_codes as $coupon_code => $coupon_data) {
|
586 |
-
$coupon_code = apply_filters('woocommerce_coupon_code', $coupon_code);
|
587 |
-
if(in_array($coupon_code, $woocommerce->cart->applied_coupons)){
|
588 |
-
do_action('woocommerce_applied_coupon', $coupon_code);
|
589 |
-
}
|
590 |
-
}
|
591 |
-
}
|
592 |
-
}
|
593 |
-
|
594 |
-
public function applyFakeCouponsForBOGO()
|
595 |
-
{
|
596 |
-
global $woocommerce;
|
597 |
-
if(!empty($this->bogo_coupon_codes)){
|
598 |
-
foreach ($this->bogo_coupon_codes as $coupon_code => $coupon_data){
|
599 |
-
// 'newyear' is a temporary coupon for validation.
|
600 |
-
$coupon_code = apply_filters('woocommerce_coupon_code', $coupon_code);
|
601 |
-
// Getting New Instance with the Coupon Code.
|
602 |
-
$the_coupon = FlycartWoocommerceCoupon::wc_get_coupon($coupon_code);
|
603 |
-
if($the_coupon->is_valid()){
|
604 |
-
self::setAppliedCoupon($coupon_code);
|
605 |
-
}
|
606 |
-
// Validating the Coupon as Valid and discount status.
|
607 |
-
if ($the_coupon->is_valid() && !$woocommerce->cart->has_discount($coupon_code)) {
|
608 |
-
|
609 |
-
// Do not apply coupon with individual use coupon already applied
|
610 |
-
if ($woocommerce->cart->applied_coupons) {
|
611 |
-
foreach ($woocommerce->cart->applied_coupons as $code) {
|
612 |
-
$coupon = FlycartWoocommerceCoupon::wc_get_coupon($code);
|
613 |
-
if (FlycartWoocommerceCoupon::get_individual_use($coupon) == true) {
|
614 |
-
return false;
|
615 |
-
}
|
616 |
-
}
|
617 |
-
}
|
618 |
-
|
619 |
-
// Add coupon
|
620 |
-
$woocommerce->cart->applied_coupons[] = $coupon_code;
|
621 |
-
$trigger_applied_coupon_before_load_cart = apply_filters('woo_discount_rules_trigger_applied_coupon_before_load_cart', false);
|
622 |
-
if($trigger_applied_coupon_before_load_cart){
|
623 |
-
add_action('woocommerce_before_cart', array($this, 'trigger_event_woocommerce_applied_coupon'));
|
624 |
-
add_action('woocommerce_review_order_before_cart_contents', array($this, 'trigger_event_woocommerce_applied_coupon'));
|
625 |
-
} else {
|
626 |
-
remove_action('woocommerce_after_calculate_totals', array($this, 'applyFakeCouponsForBOGO'));
|
627 |
-
do_action('woocommerce_applied_coupon', $coupon_code);
|
628 |
-
add_action('woocommerce_after_calculate_totals', array($this, 'applyFakeCouponsForBOGO'));
|
629 |
-
}
|
630 |
-
}
|
631 |
-
}
|
632 |
-
}
|
633 |
-
return true;
|
634 |
-
}
|
635 |
-
|
636 |
-
/**
|
637 |
-
* Simply remove or reset the virtual coupon by set "empty" as value
|
638 |
-
* to "Woo's" session "woo_coupon_removed".
|
639 |
-
*
|
640 |
-
* @param $coupon
|
641 |
-
*/
|
642 |
-
public function removeWoocommerceCoupon($coupon)
|
643 |
-
{
|
644 |
-
WC()->session->set('woo_coupon_removed', $coupon);
|
645 |
-
}
|
646 |
-
|
647 |
-
/**
|
648 |
-
* @return string
|
649 |
-
*/
|
650 |
-
public function woocommerceEnableCoupons()
|
651 |
-
{
|
652 |
-
return 'true';
|
653 |
-
}
|
654 |
-
|
655 |
-
/**
|
656 |
-
*
|
657 |
-
*/
|
658 |
-
public function organizeRules()
|
659 |
-
{
|
660 |
-
// Loads the Rules to Global.
|
661 |
-
$this->getRules();
|
662 |
-
// Validate and Re-Assign the Rules.
|
663 |
-
$this->filterRules();
|
664 |
-
}
|
665 |
-
|
666 |
-
/**
|
667 |
-
* @return bool
|
668 |
-
*/
|
669 |
-
public function applyRules()
|
670 |
-
{
|
671 |
-
global $woocommerce;
|
672 |
-
// If there is no rules, then return false.
|
673 |
-
if (!isset($this->rules)) return false;
|
674 |
-
|
675 |
-
// Check point having list of checklist to apply.
|
676 |
-
if ($this->checkPoint()) return false;
|
677 |
-
FlycartWooDiscountRulesGeneralHelper::clearCartPromotionMessages();
|
678 |
-
// To Generate Valid Rule sets.
|
679 |
-
$this->generateRuleSets();
|
680 |
-
}
|
681 |
-
|
682 |
-
/**
|
683 |
-
*
|
684 |
-
*/
|
685 |
-
public function filterRules()
|
686 |
-
{
|
687 |
-
$rules = $this->rules;
|
688 |
-
|
689 |
-
if (is_null($rules) || !isset($rules)) return false;
|
690 |
-
// Start with empty set.
|
691 |
-
$rule_set = array();
|
692 |
-
foreach ($rules as $index => $rule) {
|
693 |
-
$status = (isset($rule->status) ? $rule->status : false);
|
694 |
-
|
695 |
-
// To Check as Plugin Active - InActive.
|
696 |
-
if ($status == 'publish') {
|
697 |
-
$date_from = (isset($rule->date_from) ? $rule->date_from : '');
|
698 |
-
$date_to = (isset($rule->date_to) ? $rule->date_to : '');
|
699 |
-
$validateDate = FlycartWooDiscountRulesGeneralHelper::validateDateAndTime($date_from, $date_to);
|
700 |
-
// Validating Rule with Date of Expiry.
|
701 |
-
if ($validateDate) {
|
702 |
-
// Validating the Rule with its Order ID.
|
703 |
-
if (isset($rule->rule_order)) {
|
704 |
-
$load_rule = apply_filters('woo_discount_rules_run_cart_rule', true, $rule);
|
705 |
-
if($load_rule){
|
706 |
-
// If Order ID is '-', then this rule not going to implement.
|
707 |
-
if ($rule->rule_order !== '-') {
|
708 |
-
$rule_set[] = $rule;
|
709 |
-
if(!empty($rule->discount_type)){
|
710 |
-
if ($rule->discount_type == 'shipping_price') {
|
711 |
-
$this->has_free_shipping_rule = 1;
|
712 |
-
}
|
713 |
-
}
|
714 |
-
}
|
715 |
-
}
|
716 |
-
}
|
717 |
-
}
|
718 |
-
}
|
719 |
-
}
|
720 |
-
$this->rules = $rule_set;
|
721 |
-
|
722 |
-
// To Order the Rules, based on its order ID.
|
723 |
-
$this->orderRules();
|
724 |
-
}
|
725 |
-
|
726 |
-
/**
|
727 |
-
* @return bool
|
728 |
-
*/
|
729 |
-
public function orderRules()
|
730 |
-
{
|
731 |
-
if (empty($this->rules)) return false;
|
732 |
-
|
733 |
-
$ordered_rules = array();
|
734 |
-
|
735 |
-
// Make associative array with Order ID.
|
736 |
-
foreach ($this->rules as $index => $rule) {
|
737 |
-
if (isset($rule->rule_order)) {
|
738 |
-
if ($rule->rule_order != '') {
|
739 |
-
$ordered_rules[$rule->rule_order] = $rule;
|
740 |
-
}
|
741 |
-
}
|
742 |
-
}
|
743 |
-
// Order the Rules with it's priority.
|
744 |
-
ksort($ordered_rules);
|
745 |
-
|
746 |
-
$this->rules = $ordered_rules;
|
747 |
-
}
|
748 |
-
|
749 |
-
/**
|
750 |
-
* @return bool
|
751 |
-
*/
|
752 |
-
public function generateRuleSets()
|
753 |
-
{
|
754 |
-
global $woocommerce;
|
755 |
-
$rule_sets = array();
|
756 |
-
|
757 |
-
if (!isset($this->rules)) return false;
|
758 |
-
|
759 |
-
// Loop the Rules set to collect matched rules.
|
760 |
-
foreach ($this->rules as $index => $rule) {
|
761 |
-
// General Rule Info.
|
762 |
-
$rule_sets[$index]['discount_type'] = 'price_discount';
|
763 |
-
$rule_sets[$index]['name'] = (isset($rule->rule_name) ? $rule->rule_name : 'Rule_' . $index);
|
764 |
-
$rule_sets[$index]['descr'] = (isset($rule->rule_descr) ? $rule->rule_descr : '');
|
765 |
-
$rule_sets[$index]['method'] = (isset($rule->rule_method) ? $rule->rule_method : 'qty_based');
|
766 |
-
$rule_sets[$index]['qty_based_on'] = (isset($rule->qty_based_on) ? $rule->qty_based_on : 'each_product');
|
767 |
-
$rule_sets[$index]['date_from'] = (isset($rule->date_from) ? $rule->date_from : false);
|
768 |
-
$rule_sets[$index]['date_to'] = (isset($rule->date_to) ? $rule->date_to : false);
|
769 |
-
$rule_sets[$index]['discount_rule'] = (isset($rule->discount_rule) ? $rule->discount_rule : false);
|
770 |
-
$rule_sets[$index]['discount_type'] = (isset($rule->discount_type) ? $rule->discount_type : false);
|
771 |
-
$rule_sets[$index]['to_discount'] = (isset($rule->to_discount) ? $rule->to_discount : false);
|
772 |
-
$rule_sets[$index]['cart_discounted_products'] = isset($rule->cart_discounted_products) ? json_decode($rule->cart_discounted_products) : array();
|
773 |
-
$rule_sets[$index]['product_discount_quantity'] = isset($rule->product_discount_quantity) ? $rule->product_discount_quantity : 1;
|
774 |
-
$rule_sets[$index]['promotion_qty_from'] = isset($rule->promotion_qty_from) ? $rule->promotion_qty_from : 0;
|
775 |
-
$rule_sets[$index]['promotion_subtotal_from'] = isset($rule->promotion_subtotal_from) ? $rule->promotion_subtotal_from : 0;
|
776 |
-
$rule_sets[$index]['promotion_message'] = isset($rule->promotion_message) ? $rule->promotion_message : '';
|
777 |
-
$rule_sets[$index]['rule_id'] = isset($rule->ID) ? $rule->ID : '';
|
778 |
-
$rule_sets[$index]['rule_order_id'] = isset($rule->rule_order) ? $rule->rule_order : '';
|
779 |
-
if (in_array($rule->discount_type, array('product_discount'))) {
|
780 |
-
$rule_sets[$index]['enabled'] = $this->validateBOGOCart($rule_sets[$index]['discount_rule'],$rule, $rule_sets[$index]);
|
781 |
-
}else{
|
782 |
-
$rule_sets[$index]['enabled'] = $this->validateCart($rule_sets[$index]['discount_rule'], $rule_sets[$index]);
|
783 |
-
}
|
784 |
-
}
|
785 |
-
$rule_sets = apply_filters('woo_discount_rules_cart_rule_sets_to_apply', $rule_sets);
|
786 |
-
$this->rule_sets = $rule_sets;
|
787 |
-
}
|
788 |
-
|
789 |
-
/**
|
790 |
-
* Get Overall discount amount across allover the rules that available.
|
791 |
-
*
|
792 |
-
* @return integer Total Discount Amount.
|
793 |
-
*/
|
794 |
-
public function getDiscountAmount()
|
795 |
-
{
|
796 |
-
$discount = 0;
|
797 |
-
$discounts = array();
|
798 |
-
if (!isset($this->rule_sets)) return false;
|
799 |
-
|
800 |
-
// Get settings
|
801 |
-
$config = new FlycartWooDiscountBase();
|
802 |
-
$config = $config->getBaseConfig();
|
803 |
-
if (is_string($config)) $config = json_decode($config, true);
|
804 |
-
if(isset($config['cart_setup'])){
|
805 |
-
$cart_setup = $config['cart_setup'];
|
806 |
-
} else {
|
807 |
-
$cart_setup = 'all';
|
808 |
-
}
|
809 |
-
|
810 |
-
if(count($this->rule_sets)){
|
811 |
-
if(in_array($cart_setup, array('first', 'all'))){
|
812 |
-
if($cart_setup == 'first'){
|
813 |
-
// Processing the Totals.
|
814 |
-
foreach ($this->rule_sets as $index => $rule) {
|
815 |
-
if ($rule['enabled'] == true) {
|
816 |
-
do_action('woo_discount_rules_before_apply_cart_discount', $rule, $cart_setup);
|
817 |
-
$discounts['name'][$index] = $rule['name'];
|
818 |
-
$discounts['type'][$index] = $rule['discount_type'];
|
819 |
-
//we will have to re-calculate the sub-total if it has category selected
|
820 |
-
$this->has_category_in_rule = $this->is_category_specific($rule);
|
821 |
-
$this->has_product_specific_rule = $this->is_product_specific($rule);
|
822 |
-
if ($rule['discount_type'] == 'shipping_price') {
|
823 |
-
$this->has_free_shipping = 1;
|
824 |
-
} else if ($rule['discount_type'] == 'price_discount') {
|
825 |
-
// Getting the Flat Rate of Discount.
|
826 |
-
$discounts['to_discount'][$index] = $this->calculateDiscount($this->sub_total, array('type' => 'price', 'value' => $rule['to_discount']));
|
827 |
-
} else if($rule['discount_type'] == 'product_discount'){
|
828 |
-
// Calculate product discount
|
829 |
-
if(FlycartWooDiscountRulesGeneralHelper::is_countable($rule['cart_discounted_products'])){
|
830 |
-
$this->calculateProductDiscount($rule['cart_discounted_products'],$rule['product_discount_quantity']);
|
831 |
-
}
|
832 |
-
} else {
|
833 |
-
if($this->has_category_in_rule || $this->has_product_specific_rule) {
|
834 |
-
if(!empty($this->cart_items)){
|
835 |
-
if(!did_action('woocommerce_before_calculate_totals')){
|
836 |
-
do_action('woocommerce_before_calculate_totals', FlycartWoocommerceCart::get_cart_object());
|
837 |
-
}
|
838 |
-
}
|
839 |
-
//re-calculate the sub-total
|
840 |
-
$subtotal = $this->calculate_conditional_subtotal($this->get_discounted_categories_from_json($rule), $rule);
|
841 |
-
} else {
|
842 |
-
$subtotal = $this->sub_total;
|
843 |
-
}
|
844 |
-
$subtotal = apply_filters('woo_discount_rules_before_calculate_discount_from_subtotal_in_cart', $subtotal, $rule['discount_type'], $rule);
|
845 |
-
// Getting the Percentage level of Discount.
|
846 |
-
$discounts['to_discount'][$index] = $this->calculateDiscount($subtotal, array('type' => 'percentage', 'value' => $rule['to_discount']));
|
847 |
-
}
|
848 |
-
if(isset($discounts['to_discount']) && isset($discounts['to_discount'][$index])) {
|
849 |
-
// Sum of Available discount list.
|
850 |
-
$discount += $discounts['to_discount'][$index];
|
851 |
-
}
|
852 |
-
// Update the status of the status of the discount rule.
|
853 |
-
$discounts['is_enabled'][$index] = $rule['enabled'];
|
854 |
-
break;
|
855 |
-
}
|
856 |
-
}
|
857 |
-
} else {
|
858 |
-
// Processing the Totals.
|
859 |
-
foreach ($this->rule_sets as $index => $rule) {
|
860 |
-
if ($rule['enabled'] == true) {
|
861 |
-
do_action('woo_discount_rules_before_apply_cart_discount', $rule, $cart_setup);
|
862 |
-
$discounts['name'][$index] = $rule['name'];
|
863 |
-
$discounts['type'][$index] = $rule['discount_type'];
|
864 |
-
//we will have to re-calculate the sub-total if it has category selected
|
865 |
-
$this->has_category_in_rule = $this->is_category_specific($rule);
|
866 |
-
$this->has_product_specific_rule = $this->is_product_specific($rule);
|
867 |
-
if ($rule['discount_type'] == 'shipping_price') {
|
868 |
-
$this->has_free_shipping = 1;
|
869 |
-
} else if ($rule['discount_type'] == 'price_discount') {
|
870 |
-
// Getting the Flat Rate of Discount.
|
871 |
-
$discounts['to_discount'][$index] = $this->calculateDiscount($this->sub_total, array('type' => 'price', 'value' => $rule['to_discount']));
|
872 |
-
} else if($rule['discount_type'] == 'product_discount'){
|
873 |
-
// Calculate product discount
|
874 |
-
if(FlycartWooDiscountRulesGeneralHelper::is_countable($rule['cart_discounted_products'])){
|
875 |
-
$this->calculateProductDiscount($rule['cart_discounted_products'],$rule['product_discount_quantity']);
|
876 |
-
}
|
877 |
-
} else {
|
878 |
-
if($this->has_category_in_rule || $this->has_product_specific_rule) {
|
879 |
-
//re-calculate the sub-total
|
880 |
-
$subtotal = $this->calculate_conditional_subtotal($this->get_discounted_categories_from_json($rule), $rule);
|
881 |
-
}else {
|
882 |
-
$subtotal = $this->sub_total;
|
883 |
-
}
|
884 |
-
$subtotal = apply_filters('woo_discount_rules_before_calculate_discount_from_subtotal_in_cart', $subtotal, $rule['discount_type'], $rule);
|
885 |
-
// Getting the Percentage level of Discount.
|
886 |
-
$discounts['to_discount'][$index] = $this->calculateDiscount($subtotal, array('type' => 'percentage', 'value' => $rule['to_discount']));
|
887 |
-
}
|
888 |
-
if(isset($discounts['to_discount']) && isset($discounts['to_discount'][$index])){
|
889 |
-
// Sum of Available discount list.
|
890 |
-
$discount += $discounts['to_discount'][$index];
|
891 |
-
}
|
892 |
-
|
893 |
-
// Update the status of the status of the discount rule.
|
894 |
-
$discounts['is_enabled'][$index] = $rule['enabled'];
|
895 |
-
}
|
896 |
-
}
|
897 |
-
}
|
898 |
-
} else if($cart_setup == 'biggest'){
|
899 |
-
$biggestDiscount = $newDiscount = 0;
|
900 |
-
// Processing the Totals.
|
901 |
-
foreach ($this->rule_sets as $index => $rule) {
|
902 |
-
if ($rule['enabled'] == true) {
|
903 |
-
do_action('woo_discount_rules_before_apply_cart_discount', $rule, $cart_setup);
|
904 |
-
//we will have to re-calculate the sub-total if it has category selected
|
905 |
-
$this->has_category_in_rule = $this->is_category_specific($rule);
|
906 |
-
$this->has_product_specific_rule = $this->is_product_specific($rule);
|
907 |
-
if ($rule['discount_type'] == 'shipping_price') {
|
908 |
-
$this->has_free_shipping = 1;
|
909 |
-
$newDiscount = 0;
|
910 |
-
} else if ($rule['discount_type'] == 'price_discount') {
|
911 |
-
// Getting the Flat Rate of Discount.
|
912 |
-
$newDiscount = $this->calculateDiscount($this->sub_total, array('type' => 'price', 'value' => $rule['to_discount']));
|
913 |
-
} else if($rule['discount_type'] == 'product_discount'){
|
914 |
-
// Calculate product discount
|
915 |
-
if(FlycartWooDiscountRulesGeneralHelper::is_countable($rule['cart_discounted_products'])){
|
916 |
-
$this->calculateProductDiscount($rule['cart_discounted_products'],$rule['product_discount_quantity']);
|
917 |
-
}
|
918 |
-
} else {
|
919 |
-
if($this->has_category_in_rule || $this->has_product_specific_rule) {
|
920 |
-
//re-calculate the sub-total
|
921 |
-
$subtotal = $this->calculate_conditional_subtotal($this->get_discounted_categories_from_json($rule), $rule);
|
922 |
-
}else {
|
923 |
-
$subtotal = $this->sub_total;
|
924 |
-
}
|
925 |
-
$subtotal = apply_filters('woo_discount_rules_before_calculate_discount_from_subtotal_in_cart', $subtotal, $rule['discount_type'], $rule);
|
926 |
-
// Getting the Percentage level of Discount.
|
927 |
-
$newDiscount = $this->calculateDiscount($subtotal, array('type' => 'percentage', 'value' => $rule['to_discount']));
|
928 |
-
}
|
929 |
-
if($newDiscount > $biggestDiscount){
|
930 |
-
$biggestDiscount = $newDiscount;
|
931 |
-
$discounts['name'][1] = $rule['name'];
|
932 |
-
$discounts['type'][1] = $rule['discount_type'];
|
933 |
-
$discounts['to_discount'][1] = $newDiscount;
|
934 |
-
$discount = $newDiscount;
|
935 |
-
// Update the status of the status of the discount rule.
|
936 |
-
$discounts['is_enabled'][1] = $rule['enabled'];
|
937 |
-
}
|
938 |
-
}
|
939 |
-
}
|
940 |
-
}
|
941 |
-
}
|
942 |
-
|
943 |
-
$this->discount_total = $discount;
|
944 |
-
$this->matched_discounts = $discounts;
|
945 |
-
return $discounts;
|
946 |
-
}
|
947 |
-
|
948 |
-
/**
|
949 |
-
* Check is specific to category
|
950 |
-
* */
|
951 |
-
public function is_category_specific($rule) {
|
952 |
-
if(count($this->get_discounted_categories_from_json($rule))) {
|
953 |
-
return true;
|
954 |
-
}
|
955 |
-
return false;
|
956 |
-
}
|
957 |
-
|
958 |
-
/**
|
959 |
-
* Check has product specific
|
960 |
-
* */
|
961 |
-
public function is_product_specific($rule) {
|
962 |
-
$result = false;
|
963 |
-
if ( ! empty( $rule['discount_rule'] ) )
|
964 |
-
{
|
965 |
-
if(!is_object($rule['discount_rule'])) {
|
966 |
-
//assume it is a json string and parse
|
967 |
-
$rules = json_decode($rule['discount_rule'], true);
|
968 |
-
}
|
969 |
-
if(count($rules)) {
|
970 |
-
foreach($rules as $rule) {
|
971 |
-
if(array_key_exists('products_in_list', $rule)) {
|
972 |
-
$result = true;
|
973 |
-
break;
|
974 |
-
}
|
975 |
-
if(array_key_exists('products_not_in_list', $rule)) {
|
976 |
-
$result = true;
|
977 |
-
break;
|
978 |
-
}
|
979 |
-
if(array_key_exists('exclude_sale_products', $rule)) {
|
980 |
-
$result = true;
|
981 |
-
break;
|
982 |
-
}
|
983 |
-
}
|
984 |
-
}
|
985 |
-
}
|
986 |
-
|
987 |
-
return $result;
|
988 |
-
}
|
989 |
-
|
990 |
-
/**
|
991 |
-
* get discount categories from rule
|
992 |
-
* */
|
993 |
-
public function get_discounted_categories_from_json($rule)
|
994 |
-
{
|
995 |
-
$categories = array();
|
996 |
-
if ( ! empty( $rule['discount_rule'] ) )
|
997 |
-
{
|
998 |
-
if(!is_object($rule['discount_rule'])) {
|
999 |
-
//assume it is a json string and parse
|
1000 |
-
$rules = json_decode($rule['discount_rule'], true);
|
1001 |
-
}
|
1002 |
-
|
1003 |
-
if(count($rules)) {
|
1004 |
-
foreach($rules as $rule) {
|
1005 |
-
if(array_key_exists('exclude_categories', $rule)) {
|
1006 |
-
$categories = $rule['exclude_categories'];
|
1007 |
-
break;
|
1008 |
-
}
|
1009 |
-
if(array_key_exists('categories_in', $rule)) {
|
1010 |
-
$categories = $rule['categories_in'];
|
1011 |
-
break;
|
1012 |
-
}
|
1013 |
-
if(array_key_exists('in_each_category', $rule)) {
|
1014 |
-
$categories = $rule['in_each_category'];
|
1015 |
-
break;
|
1016 |
-
}
|
1017 |
-
if(array_key_exists('atleast_one_including_sub_categories', $rule)) {
|
1018 |
-
$categories = FlycartWooDiscountRulesGeneralHelper::getAllSubCategories($rule['atleast_one_including_sub_categories']);
|
1019 |
-
break;
|
1020 |
-
}
|
1021 |
-
}
|
1022 |
-
}
|
1023 |
-
}
|
1024 |
-
return $categories;
|
1025 |
-
}
|
1026 |
-
|
1027 |
-
/**
|
1028 |
-
* Comparing the Rules with the each line item to check
|
1029 |
-
* and return as, matched or not.
|
1030 |
-
*
|
1031 |
-
* @param array $rules
|
1032 |
-
* @return bool true|false
|
1033 |
-
*/
|
1034 |
-
public function validateCart($rules, $rule_sets)
|
1035 |
-
{
|
1036 |
-
$this->checked_for_categories_and_product_match = false;
|
1037 |
-
$this->calculateCartSubtotal();
|
1038 |
-
$rules = (is_string($rules) ? json_decode($rules, true) : array());
|
1039 |
-
$rules_with_all_data = $rules;
|
1040 |
-
// Simple array helper to re-arrange the structure.
|
1041 |
-
FlycartWooDiscountRulesGeneralHelper::reArrangeArray($rules);
|
1042 |
-
if(is_array($rules) && count($rules)){
|
1043 |
-
foreach ($rules as $index => $rule) {
|
1044 |
-
// Validating the Rules one by one.
|
1045 |
-
if ($this->applyRule($index, $rule, $rules, $rules_with_all_data, $rule_sets) == false) {
|
1046 |
-
return false;
|
1047 |
-
}
|
1048 |
-
}
|
1049 |
-
}
|
1050 |
-
return true;
|
1051 |
-
}
|
1052 |
-
|
1053 |
-
/**
|
1054 |
-
* Process promotion message
|
1055 |
-
*
|
1056 |
-
* @param $rule_sets array
|
1057 |
-
* @param $rule_value mixed
|
1058 |
-
* @param $type string
|
1059 |
-
* */
|
1060 |
-
public function processPromotionMessage($rule_sets, $rule_value, $type, $additional_data = array()){
|
1061 |
-
if($type == "subtotal_least"){
|
1062 |
-
if(isset($rule_sets["promotion_subtotal_from"]) && isset($rule_sets["promotion_message"])){
|
1063 |
-
$message = trim($rule_sets["promotion_message"]);
|
1064 |
-
if(!empty($message)){
|
1065 |
-
$sub_total = $this->sub_total;
|
1066 |
-
if(isset($additional_data['subtotal'])){
|
1067 |
-
$sub_total = $additional_data['subtotal'];
|
1068 |
-
}
|
1069 |
-
$promotion_subtotal_from = (float)$rule_sets["promotion_subtotal_from"];
|
1070 |
-
if($sub_total >= $promotion_subtotal_from){
|
1071 |
-
$difference_amount = $rule_value - $sub_total;
|
1072 |
-
if($difference_amount > 0){
|
1073 |
-
$difference_amount = FlycartWoocommerceProduct::wc_price($difference_amount);
|
1074 |
-
$message = str_replace('{{difference_amount}}', $difference_amount, $message);
|
1075 |
-
FlycartWooDiscountRulesGeneralHelper::setPromotionMessage($message, $rule_sets['rule_id']);
|
1076 |
-
}
|
1077 |
-
}
|
1078 |
-
}
|
1079 |
-
}
|
1080 |
-
}
|
1081 |
-
}
|
1082 |
-
|
1083 |
-
/**
|
1084 |
-
* Applying bunch amount of rules with the line item.
|
1085 |
-
*
|
1086 |
-
* @param string $index Index of the Rule
|
1087 |
-
* @param array $rule array of rule info.
|
1088 |
-
* @return bool true|false as matched or not.
|
1089 |
-
*/
|
1090 |
-
public function applyRule($index, $rule, $rules, $rules_with_all_data, $rule_sets)
|
1091 |
-
{
|
1092 |
-
$skipRuleType = array('categories_in', 'exclude_categories', 'in_each_category', 'atleast_one_including_sub_categories', 'products_in_list', 'products_not_in_list', 'exclude_sale_products');
|
1093 |
-
$availableRuleToSkip = array_intersect($skipRuleType, array_keys($rules));
|
1094 |
-
switch ($index) {
|
1095 |
-
|
1096 |
-
// Cart Subtotal.
|
1097 |
-
case 'subtotal_least':
|
1098 |
-
if(!empty($availableRuleToSkip)){
|
1099 |
-
} elseif ($this->sub_total < $rule) {
|
1100 |
-
$this->processPromotionMessage($rule_sets, $rule, $index);
|
1101 |
-
return false;
|
1102 |
-
}
|
1103 |
-
return true;
|
1104 |
-
break;
|
1105 |
-
case 'subtotal_less':
|
1106 |
-
if(!empty($availableRuleToSkip)){
|
1107 |
-
} elseif ($this->sub_total >= $rule) {
|
1108 |
-
return false;
|
1109 |
-
}
|
1110 |
-
return true;
|
1111 |
-
break;
|
1112 |
-
|
1113 |
-
// Cart Item Count.
|
1114 |
-
case 'item_count_least':
|
1115 |
-
if(!empty($availableRuleToSkip)){
|
1116 |
-
} elseif (count($this->cart_items) < $rule) {
|
1117 |
-
return false;
|
1118 |
-
}
|
1119 |
-
return true;
|
1120 |
-
break;
|
1121 |
-
case 'item_count_less':
|
1122 |
-
if(!empty($availableRuleToSkip)){
|
1123 |
-
} elseif (count($this->cart_items) >= $rule) {
|
1124 |
-
return false;
|
1125 |
-
}
|
1126 |
-
return true;
|
1127 |
-
break;
|
1128 |
-
|
1129 |
-
// Quantity Count.
|
1130 |
-
case 'quantity_least':
|
1131 |
-
if(!empty($availableRuleToSkip)){
|
1132 |
-
} elseif ($this->cartItemQtyTotal() < $rule) {
|
1133 |
-
return false;
|
1134 |
-
}
|
1135 |
-
return true;
|
1136 |
-
break;
|
1137 |
-
case 'quantity_less':
|
1138 |
-
if(!empty($availableRuleToSkip)){
|
1139 |
-
} elseif ($this->cartItemQtyTotal() >= $rule) {
|
1140 |
-
return false;
|
1141 |
-
}
|
1142 |
-
return true;
|
1143 |
-
break;
|
1144 |
-
|
1145 |
-
// Logged In Users.
|
1146 |
-
case 'users_in':
|
1147 |
-
$rule = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($rule);
|
1148 |
-
if (get_current_user_id() == 0 || !in_array(get_current_user_id(), $rule)) {
|
1149 |
-
return false;
|
1150 |
-
}
|
1151 |
-
return true;
|
1152 |
-
break;
|
1153 |
-
case 'shipping_countries_in':
|
1154 |
-
$postCalcShippingCountry = $this->postData->get('calc_shipping_country', '');
|
1155 |
-
if(!empty($postCalcShippingCountry)){
|
1156 |
-
$shippingCountry = $postCalcShippingCountry;
|
1157 |
-
}
|
1158 |
-
if(empty($shippingCountry)){
|
1159 |
-
$shippingCountry = WC()->customer->get_shipping_country();
|
1160 |
-
}
|
1161 |
-
if (empty($shippingCountry) || !in_array($shippingCountry, $rule)) {
|
1162 |
-
return false;
|
1163 |
-
}
|
1164 |
-
return true;
|
1165 |
-
break;
|
1166 |
-
case 'roles_in':
|
1167 |
-
if (count(array_intersect(FlycartWooDiscountRulesGeneralHelper::getCurrentUserRoles(), $rule)) == 0) {
|
1168 |
-
return false;
|
1169 |
-
}
|
1170 |
-
return true;
|
1171 |
-
break;
|
1172 |
-
case ($index == 'customer_email_tld' || $index == 'customer_email_domain'):
|
1173 |
-
$rule = explode(',', $rule);
|
1174 |
-
if(is_array($rule) && count($rule)){
|
1175 |
-
foreach($rule as $key => $r){
|
1176 |
-
$rule[$key] = trim($r);
|
1177 |
-
$rule[$key] = trim($rule[$key], '.');
|
1178 |
-
}
|
1179 |
-
}
|
1180 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
1181 |
-
$postDataArray = array();
|
1182 |
-
if($postData != ''){
|
1183 |
-
parse_str($postData, $postDataArray);
|
1184 |
-
}
|
1185 |
-
$postBillingEmail = $this->postData->get('billing_email', '', 'raw');
|
1186 |
-
if($postBillingEmail != ''){
|
1187 |
-
$postDataArray['billing_email'] = $postBillingEmail;
|
1188 |
-
}
|
1189 |
-
if(!get_current_user_id()){
|
1190 |
-
$order_id = $this->postData->get('order-received', 0);
|
1191 |
-
if($order_id){
|
1192 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
1193 |
-
$postDataArray['billing_email'] = FlycartWoocommerceOrder::get_billing_email($order);
|
1194 |
-
}
|
1195 |
-
}
|
1196 |
-
if(isset($postDataArray['billing_email']) && $postDataArray['billing_email'] != ''){
|
1197 |
-
$user_email = $postDataArray['billing_email'];
|
1198 |
-
if(get_current_user_id()){
|
1199 |
-
update_user_meta(get_current_user_id(), 'billing_email', $user_email);
|
1200 |
-
}
|
1201 |
-
if($index == 'customer_email_tld')
|
1202 |
-
$tld = $this->getTLDFromEmail($user_email);
|
1203 |
-
else
|
1204 |
-
$tld = $this->getDomainFromEmail($user_email);
|
1205 |
-
if($this->validateTLD($tld, $rule)){
|
1206 |
-
return true;
|
1207 |
-
}
|
1208 |
-
} else if(get_current_user_id()){
|
1209 |
-
$user_email = get_user_meta( get_current_user_id(), 'billing_email', true );
|
1210 |
-
if($user_email != '' && !empty($user_email)){
|
1211 |
-
if($index == 'customer_email_tld')
|
1212 |
-
$tld = $this->getTLDFromEmail($user_email);
|
1213 |
-
else
|
1214 |
-
$tld = $this->getDomainFromEmail($user_email);
|
1215 |
-
if($this->validateTLD($tld, $rule)){
|
1216 |
-
return true;
|
1217 |
-
}
|
1218 |
-
} else {
|
1219 |
-
$user_details = get_userdata( get_current_user_id() );
|
1220 |
-
if(isset($user_details->data->user_email) && $user_details->data->user_email != ''){
|
1221 |
-
$user_email = $user_details->data->user_email;
|
1222 |
-
if($index == 'customer_email_tld')
|
1223 |
-
$tld = $this->getTLDFromEmail($user_email);
|
1224 |
-
else
|
1225 |
-
$tld = $this->getDomainFromEmail($user_email);
|
1226 |
-
if($this->validateTLD($tld, $rule)){
|
1227 |
-
return true;
|
1228 |
-
}
|
1229 |
-
}
|
1230 |
-
}
|
1231 |
-
}
|
1232 |
-
return false;
|
1233 |
-
break;
|
1234 |
-
|
1235 |
-
case 'customer_billing_city':
|
1236 |
-
$rule = explode(',', $rule);
|
1237 |
-
if(is_array($rule) && count($rule)){
|
1238 |
-
foreach($rule as $key => $r){
|
1239 |
-
$rule[$key] = strtolower(trim($r));
|
1240 |
-
}
|
1241 |
-
}
|
1242 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
1243 |
-
$postDataArray = array();
|
1244 |
-
if($postData != ''){
|
1245 |
-
parse_str($postData, $postDataArray);
|
1246 |
-
}
|
1247 |
-
$postBillingEmail = $this->postData->get('billing_city', '', 'raw');
|
1248 |
-
if($postBillingEmail != ''){
|
1249 |
-
$postDataArray['billing_city'] = $postBillingEmail;
|
1250 |
-
}
|
1251 |
-
if(!get_current_user_id()){
|
1252 |
-
$order_id = $this->postData->get('order-received', 0);
|
1253 |
-
if($order_id){
|
1254 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
1255 |
-
$postDataArray['billing_city'] = FlycartWoocommerceOrder::get_billing_city($order);
|
1256 |
-
}
|
1257 |
-
}
|
1258 |
-
if(isset($postDataArray['billing_city']) && $postDataArray['billing_city'] != ''){
|
1259 |
-
$billingCity = $postDataArray['billing_city'];
|
1260 |
-
if(in_array(strtolower($billingCity), $rule)){
|
1261 |
-
return true;
|
1262 |
-
}
|
1263 |
-
} else if(get_current_user_id()){
|
1264 |
-
$billingCity = get_user_meta( get_current_user_id(), 'billing_city', true );
|
1265 |
-
if($billingCity != '' && !empty($billingCity)){
|
1266 |
-
if(in_array(strtolower($billingCity), $rule)){
|
1267 |
-
return true;
|
1268 |
-
}
|
1269 |
-
}
|
1270 |
-
}
|
1271 |
-
return false;
|
1272 |
-
break;
|
1273 |
-
case 'customer_shipping_state':
|
1274 |
-
$rule = explode(',', $rule);
|
1275 |
-
if(is_array($rule) && count($rule)){
|
1276 |
-
foreach($rule as $key => $r){
|
1277 |
-
$rule[$key] = strtolower(trim($r));
|
1278 |
-
}
|
1279 |
-
}
|
1280 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
1281 |
-
$postDataArray = array();
|
1282 |
-
if($postData != ''){
|
1283 |
-
parse_str($postData, $postDataArray);
|
1284 |
-
}
|
1285 |
-
if(isset($postDataArray['ship_to_different_address']) && $postDataArray['ship_to_different_address']){
|
1286 |
-
$shippingFieldName = 'shipping_state';
|
1287 |
-
} else {
|
1288 |
-
$shippingFieldName = 'billing_state';
|
1289 |
-
}
|
1290 |
-
$postShippingState = $this->postData->get($shippingFieldName, '', 'raw');
|
1291 |
-
if($postShippingState != ''){
|
1292 |
-
$postDataArray[$shippingFieldName] = $postShippingState;
|
1293 |
-
}
|
1294 |
-
|
1295 |
-
$postCalcShippingState = $this->postData->get('calc_shipping_state', '', 'raw');
|
1296 |
-
if(!empty($postCalcShippingState)){
|
1297 |
-
$postDataArray[$shippingFieldName] = $postCalcShippingState;
|
1298 |
-
}
|
1299 |
-
|
1300 |
-
if(!get_current_user_id()){
|
1301 |
-
$order_id = $this->postData->get('order-received', 0);
|
1302 |
-
if($order_id){
|
1303 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
1304 |
-
$postDataArray['shipping_state'] = FlycartWoocommerceOrder::get_shipping_state($order);
|
1305 |
-
}
|
1306 |
-
}
|
1307 |
-
|
1308 |
-
$customer_from_session = FlycartWoocommerceSession::getSession('customer');
|
1309 |
-
if(!empty($customer_from_session)){
|
1310 |
-
if(isset($customer_from_session[$shippingFieldName])){
|
1311 |
-
$postDataArray[$shippingFieldName] = $customer_from_session[$shippingFieldName];
|
1312 |
-
} else if(isset($customer_from_session['shipping_state'])){
|
1313 |
-
$postDataArray['shipping_state'] = $customer_from_session['shipping_state'];
|
1314 |
-
if(empty($postDataArray[$shippingFieldName])){
|
1315 |
-
$postDataArray[$shippingFieldName] = $postDataArray['shipping_state'];
|
1316 |
-
}
|
1317 |
-
}
|
1318 |
-
}
|
1319 |
-
|
1320 |
-
if(isset($postDataArray[$shippingFieldName]) && $postDataArray[$shippingFieldName] != ''){
|
1321 |
-
$shippingState = $postDataArray[$shippingFieldName];
|
1322 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
1323 |
-
return true;
|
1324 |
-
}
|
1325 |
-
} else if(get_current_user_id()){
|
1326 |
-
$shippingState = get_user_meta( get_current_user_id(), 'shipping_state', true );
|
1327 |
-
if($shippingState != '' && !empty($shippingState)){
|
1328 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
1329 |
-
return true;
|
1330 |
-
}
|
1331 |
-
}
|
1332 |
-
}
|
1333 |
-
return false;
|
1334 |
-
break;
|
1335 |
-
case 'customer_shipping_city':
|
1336 |
-
$rule = explode(',', $rule);
|
1337 |
-
if(is_array($rule) && count($rule)){
|
1338 |
-
foreach($rule as $key => $r){
|
1339 |
-
$rule[$key] = strtolower(trim($r));
|
1340 |
-
}
|
1341 |
-
}
|
1342 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
1343 |
-
$postDataArray = array();
|
1344 |
-
if($postData != ''){
|
1345 |
-
parse_str($postData, $postDataArray);
|
1346 |
-
}
|
1347 |
-
if(isset($postDataArray['ship_to_different_address']) && $postDataArray['ship_to_different_address']){
|
1348 |
-
$shippingFieldName = 'shipping_city';
|
1349 |
-
} else {
|
1350 |
-
$shippingFieldName = 'billing_city';
|
1351 |
-
}
|
1352 |
-
$postShippingState = $this->postData->get($shippingFieldName, '', 'raw');
|
1353 |
-
if($postShippingState != ''){
|
1354 |
-
$postDataArray[$shippingFieldName] = $postShippingState;
|
1355 |
-
}
|
1356 |
-
|
1357 |
-
$postCalcShippingCity = $this->postData->get('calc_shipping_city', '', 'raw');
|
1358 |
-
if(!empty($postCalcShippingCity)){
|
1359 |
-
$postDataArray[$shippingFieldName] = $postCalcShippingCity;
|
1360 |
-
}
|
1361 |
-
|
1362 |
-
if(!get_current_user_id()){
|
1363 |
-
$order_id = $this->postData->get('order-received', 0);
|
1364 |
-
if($order_id){
|
1365 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
1366 |
-
$postDataArray['shipping_city'] = FlycartWoocommerceOrder::get_shipping_city($order);
|
1367 |
-
}
|
1368 |
-
}
|
1369 |
-
|
1370 |
-
$customer_from_session = FlycartWoocommerceSession::getSession('customer');
|
1371 |
-
if(!empty($customer_from_session)){
|
1372 |
-
if(isset($customer_from_session[$shippingFieldName])){
|
1373 |
-
$postDataArray[$shippingFieldName] = $customer_from_session[$shippingFieldName];
|
1374 |
-
} else if(isset($customer_from_session['shipping_city'])){
|
1375 |
-
$postDataArray['shipping_city'] = $customer_from_session['shipping_city'];
|
1376 |
-
if(empty($postDataArray[$shippingFieldName])){
|
1377 |
-
$postDataArray[$shippingFieldName] = $postDataArray['shipping_city'];
|
1378 |
-
}
|
1379 |
-
}
|
1380 |
-
}
|
1381 |
-
|
1382 |
-
if(isset($postDataArray[$shippingFieldName]) && $postDataArray[$shippingFieldName] != ''){
|
1383 |
-
$shippingState = $postDataArray[$shippingFieldName];
|
1384 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
1385 |
-
return true;
|
1386 |
-
}
|
1387 |
-
} else if(get_current_user_id()){
|
1388 |
-
$shippingState = get_user_meta( get_current_user_id(), 'shipping_city', true );
|
1389 |
-
if($shippingState != '' && !empty($shippingState)){
|
1390 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
1391 |
-
return true;
|
1392 |
-
}
|
1393 |
-
}
|
1394 |
-
}
|
1395 |
-
return false;
|
1396 |
-
break;
|
1397 |
-
case 'customer_shipping_zip_code':
|
1398 |
-
$rule = explode(',', $rule);
|
1399 |
-
if(is_array($rule) && count($rule)){
|
1400 |
-
foreach($rule as $key => $r){
|
1401 |
-
$rule[$key] = strtolower(trim($r));
|
1402 |
-
}
|
1403 |
-
}
|
1404 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
1405 |
-
$postDataArray = array();
|
1406 |
-
if($postData != ''){
|
1407 |
-
parse_str($postData, $postDataArray);
|
1408 |
-
}
|
1409 |
-
if(isset($postDataArray['ship_to_different_address']) && $postDataArray['ship_to_different_address']){
|
1410 |
-
$shippingFieldName = 'shipping_postcode';
|
1411 |
-
} else {
|
1412 |
-
$shippingFieldName = 'billing_postcode';
|
1413 |
-
}
|
1414 |
-
$postShippingState = $this->postData->get($shippingFieldName, '', 'raw');
|
1415 |
-
if($postShippingState != ''){
|
1416 |
-
$postDataArray[$shippingFieldName] = $postShippingState;
|
1417 |
-
}
|
1418 |
-
$post_calc_shipping_postcode = $this->postData->get('calc_shipping_postcode', '', 'raw');
|
1419 |
-
if(!empty($post_calc_shipping_postcode)){
|
1420 |
-
$postDataArray[$shippingFieldName] = $post_calc_shipping_postcode;
|
1421 |
-
}
|
1422 |
-
if(!get_current_user_id()){
|
1423 |
-
$order_id = $this->postData->get('order-received', 0);
|
1424 |
-
if($order_id){
|
1425 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
1426 |
-
$postDataArray['shipping_postcode'] = FlycartWoocommerceOrder::get_shipping_city($order);
|
1427 |
-
}
|
1428 |
-
}
|
1429 |
-
|
1430 |
-
$customer_from_session = FlycartWoocommerceSession::getSession('customer');
|
1431 |
-
if(!empty($customer_from_session)){
|
1432 |
-
if(isset($customer_from_session[$shippingFieldName])){
|
1433 |
-
$postDataArray[$shippingFieldName] = $customer_from_session[$shippingFieldName];
|
1434 |
-
} else if(isset($customer_from_session['shipping_postcode'])){
|
1435 |
-
$postDataArray['shipping_postcode'] = $customer_from_session['shipping_postcode'];
|
1436 |
-
if(empty($postDataArray[$shippingFieldName])){
|
1437 |
-
$postDataArray[$shippingFieldName] = $postDataArray['shipping_postcode'];
|
1438 |
-
}
|
1439 |
-
}
|
1440 |
-
}
|
1441 |
-
|
1442 |
-
if(isset($postDataArray[$shippingFieldName]) && $postDataArray[$shippingFieldName] != ''){
|
1443 |
-
$shippingState = $postDataArray[$shippingFieldName];
|
1444 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
1445 |
-
return true;
|
1446 |
-
}
|
1447 |
-
} else if(get_current_user_id()){
|
1448 |
-
$shippingState = get_user_meta( get_current_user_id(), 'shipping_postcode', true );
|
1449 |
-
if($shippingState != '' && !empty($shippingState)){
|
1450 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
1451 |
-
return true;
|
1452 |
-
}
|
1453 |
-
}
|
1454 |
-
}
|
1455 |
-
return false;
|
1456 |
-
break;
|
1457 |
-
case 'products_in_list':
|
1458 |
-
case 'products_not_in_list':
|
1459 |
-
case 'exclude_sale_products':
|
1460 |
-
case 'categories_in':
|
1461 |
-
case 'exclude_categories':
|
1462 |
-
case 'atleast_one_including_sub_categories':
|
1463 |
-
case 'in_each_category':
|
1464 |
-
$ruleSuccess = $this->validateCartItemsInSelectedProductsAndCategories($index, $rule, $rules, $rules_with_all_data, $rule_sets);
|
1465 |
-
if($ruleSuccess){
|
1466 |
-
return true;
|
1467 |
-
} else {
|
1468 |
-
return false;
|
1469 |
-
}
|
1470 |
-
break;
|
1471 |
-
case 'customer_based_on_first_order':
|
1472 |
-
case 'customer_based_on_purchase_history':
|
1473 |
-
case 'customer_based_on_purchase_history_order_count':
|
1474 |
-
case 'customer_based_on_purchase_history_product_order_count':
|
1475 |
-
case 'customer_based_on_purchase_history_product_quantity_count':
|
1476 |
-
if($index == 'customer_based_on_first_order'){
|
1477 |
-
$rule = array();
|
1478 |
-
}
|
1479 |
-
if($index == 'customer_based_on_first_order' || count($rule)){
|
1480 |
-
$ruleSuccess = $this->validateCartItemsBasedOnPurchaseHistory($index, $rule, $rules);
|
1481 |
-
if($ruleSuccess){
|
1482 |
-
return true;
|
1483 |
-
}
|
1484 |
-
}
|
1485 |
-
return false;
|
1486 |
-
break;
|
1487 |
-
case 'create_dynamic_coupon':
|
1488 |
-
case 'coupon_applied_any_one':
|
1489 |
-
if(!empty($rule)){
|
1490 |
-
$ruleSuccess = $this->validateCartCouponAppliedAnyOne($index, $rule, $rules);
|
1491 |
-
if($ruleSuccess){
|
1492 |
-
if(is_string($rule)){
|
1493 |
-
$coupons = explode(',', $rule);
|
1494 |
-
} elseif (is_array($rule)){
|
1495 |
-
$coupons = $rule;
|
1496 |
-
} else {
|
1497 |
-
return false;
|
1498 |
-
}
|
1499 |
-
if($index == 'coupon_applied_any_one') {
|
1500 |
-
FlycartWooDiscountRulesGeneralHelper::removeCouponPriceInCart($coupons);
|
1501 |
-
}
|
1502 |
-
if($index == 'create_dynamic_coupon'){
|
1503 |
-
$apply_discount_in_same_coupon = apply_filters('woo_discount_rules_apply_discount_in_same_coupon_code_which_created', true, $rule, $rules);
|
1504 |
-
if($apply_discount_in_same_coupon){
|
1505 |
-
$this->coupon_code = $rule;
|
1506 |
-
}
|
1507 |
-
}
|
1508 |
-
return true;
|
1509 |
-
}
|
1510 |
-
}
|
1511 |
-
return false;
|
1512 |
-
break;
|
1513 |
-
case 'coupon_applied_all_selected':
|
1514 |
-
if(!empty($rule)){
|
1515 |
-
$ruleSuccess = $this->validateCartCouponAppliedAllSelected($index, $rule, $rules);
|
1516 |
-
if($ruleSuccess){
|
1517 |
-
if(is_string($rule)){
|
1518 |
-
$coupons = explode(',', $rule);
|
1519 |
-
} elseif (is_array($rule)){
|
1520 |
-
$coupons = $rule;
|
1521 |
-
} else {
|
1522 |
-
return false;
|
1523 |
-
}
|
1524 |
-
FlycartWooDiscountRulesGeneralHelper::removeCouponPriceInCart($coupons);
|
1525 |
-
return true;
|
1526 |
-
}
|
1527 |
-
}
|
1528 |
-
return false;
|
1529 |
-
break;
|
1530 |
-
}
|
1531 |
-
|
1532 |
-
}
|
1533 |
-
|
1534 |
-
/**
|
1535 |
-
* check the any one of the selected coupon applied
|
1536 |
-
* */
|
1537 |
-
protected function validateCartCouponAppliedAnyOne($index, $rule, $rules){
|
1538 |
-
global $woocommerce;
|
1539 |
-
$allowed = 0;
|
1540 |
-
if(is_string($rule)){
|
1541 |
-
$coupons = explode(',', $rule);
|
1542 |
-
} elseif (is_array($rule)){
|
1543 |
-
$coupons = $rule;
|
1544 |
-
} else {
|
1545 |
-
return 0;
|
1546 |
-
}
|
1547 |
-
if(is_array($coupons) && count($coupons)){
|
1548 |
-
foreach ($coupons as $coupon){
|
1549 |
-
if(!empty($coupon)) {
|
1550 |
-
if (!empty($woocommerce->cart)) {
|
1551 |
-
if (method_exists($woocommerce->cart, 'has_discount')) {
|
1552 |
-
if($woocommerce->cart->has_discount($coupon)){
|
1553 |
-
$allowed = 1;
|
1554 |
-
break;
|
1555 |
-
}
|
1556 |
-
}
|
1557 |
-
}
|
1558 |
-
}
|
1559 |
-
}
|
1560 |
-
}
|
1561 |
-
|
1562 |
-
return $allowed;
|
1563 |
-
}
|
1564 |
-
|
1565 |
-
/**
|
1566 |
-
* check the all the selected coupon applied
|
1567 |
-
* */
|
1568 |
-
protected function validateCartCouponAppliedAllSelected($index, $rule, $rules){
|
1569 |
-
global $woocommerce;
|
1570 |
-
$allowed = 0;
|
1571 |
-
if(is_string($rule)){
|
1572 |
-
$coupons = explode(',', $rule);
|
1573 |
-
} elseif (is_array($rule)){
|
1574 |
-
$coupons = $rule;
|
1575 |
-
} else {
|
1576 |
-
return 0;
|
1577 |
-
}
|
1578 |
-
if(is_array($coupons) && count($coupons)){
|
1579 |
-
foreach ($coupons as $coupon){
|
1580 |
-
if(!empty($coupon)) {
|
1581 |
-
if (!empty($woocommerce->cart)) {
|
1582 |
-
if (method_exists($woocommerce->cart, 'has_discount')) {
|
1583 |
-
if(!$woocommerce->cart->has_discount($coupon)){
|
1584 |
-
$allowed = 0;
|
1585 |
-
break;
|
1586 |
-
} else {
|
1587 |
-
$allowed = 1;
|
1588 |
-
}
|
1589 |
-
}
|
1590 |
-
}
|
1591 |
-
}
|
1592 |
-
|
1593 |
-
}
|
1594 |
-
}
|
1595 |
-
|
1596 |
-
return $allowed;
|
1597 |
-
}
|
1598 |
-
|
1599 |
-
/**
|
1600 |
-
* check the cart items satisfies purchase history rule
|
1601 |
-
* */
|
1602 |
-
protected function validateCartItemsBasedOnPurchaseHistory($index, $rule, $rules){
|
1603 |
-
$allowed = 0;
|
1604 |
-
$user = get_current_user_id();
|
1605 |
-
$email = FlycartWooDiscountRulesGeneralHelper::get_billing_email_from_post();
|
1606 |
-
if($user || !empty($email)){
|
1607 |
-
if($index == 'customer_based_on_first_order'){
|
1608 |
-
$rule['purchased_history_amount'] = 0;
|
1609 |
-
$rule['purchased_history_type'] = 'less_than_or_equal';
|
1610 |
-
$rule['purchased_history_duration'] = 'all_time';
|
1611 |
-
}
|
1612 |
-
$purchase_history_status_list = isset($rule['purchase_history_order_status'])? $rule['purchase_history_order_status']: array('wc-completed');
|
1613 |
-
if(isset($rule['purchased_history_amount'])){
|
1614 |
-
if($rule['purchased_history_amount'] >= 0){
|
1615 |
-
$purchased_history_duration = isset($rule['purchased_history_duration'])? $rule['purchased_history_duration']: 'all_time';
|
1616 |
-
$purchased_history_duration_days = isset($rule['purchased_history_duration_days'])? $rule['purchased_history_duration_days']: '';
|
1617 |
-
$query = array(
|
1618 |
-
'numberposts' => -1,
|
1619 |
-
'meta_value' => $email,
|
1620 |
-
'post_type' => wc_get_order_types(),
|
1621 |
-
'post_status' => $purchase_history_status_list,
|
1622 |
-
);
|
1623 |
-
if($index == 'customer_based_on_first_order'){
|
1624 |
-
$query['post_status'] = 'any';
|
1625 |
-
$allowed = 1;
|
1626 |
-
}
|
1627 |
-
if($user){
|
1628 |
-
$query['meta_value'] = $user;
|
1629 |
-
$query['meta_key'] = '_customer_user';
|
1630 |
-
} else {
|
1631 |
-
$query['meta_key'] = '_billing_email';
|
1632 |
-
}
|
1633 |
-
|
1634 |
-
if($purchased_history_duration != 'all_time'){
|
1635 |
-
$days = false;
|
1636 |
-
if(in_array($purchased_history_duration, array('7_days', '14_days', '30_days', '60_days', '90_days', '180_days'))){
|
1637 |
-
$split_days = explode('_', $purchased_history_duration);
|
1638 |
-
if(isset($split_days['0'])){
|
1639 |
-
if(((int)$split_days['0']) > 0){
|
1640 |
-
$days = '- '.(int)$split_days['0'].' days';
|
1641 |
-
}
|
1642 |
-
}
|
1643 |
-
|
1644 |
-
} else if($purchased_history_duration == '1_year'){
|
1645 |
-
$days = '- 1 years';
|
1646 |
-
} else if($purchased_history_duration == 'custom_days'){
|
1647 |
-
if($purchased_history_duration_days > 0 ){
|
1648 |
-
$purchased_history_duration_days = (int)$purchased_history_duration_days;
|
1649 |
-
$days = '- '.$purchased_history_duration_days.' days';
|
1650 |
-
}
|
1651 |
-
}
|
1652 |
-
if($days !== false){
|
1653 |
-
$query['date_query'] = array(
|
1654 |
-
'column' => 'post_date',
|
1655 |
-
'after' => $days
|
1656 |
-
);
|
1657 |
-
}
|
1658 |
-
}
|
1659 |
-
|
1660 |
-
$customerOrders = get_posts( $query );
|
1661 |
-
$totalPurchasedAmount = $totalOrder = $totalQuantityPurchased = 0;
|
1662 |
-
if(!empty($customerOrders)){
|
1663 |
-
foreach ($customerOrders as $customerOrder) {
|
1664 |
-
if($index == 'customer_based_on_first_order'){
|
1665 |
-
if(!in_array($customerOrder->post_status, array('wc-failed'))){
|
1666 |
-
return 0;
|
1667 |
-
} else{
|
1668 |
-
continue;
|
1669 |
-
}
|
1670 |
-
}
|
1671 |
-
$order = FlycartWoocommerceOrder::wc_get_order($customerOrder->ID);
|
1672 |
-
$total = FlycartWoocommerceOrder::get_total($order);
|
1673 |
-
if(($index == 'customer_based_on_purchase_history_product_order_count' || $index == 'customer_based_on_purchase_history_product_quantity_count') && isset($rule['purchase_history_products'])){
|
1674 |
-
$products = $this->getProductsFromRule($rule['purchase_history_products']);
|
1675 |
-
$product_ids = FlycartWoocommerceOrder::get_product_ids($order);
|
1676 |
-
if(!empty($products)){
|
1677 |
-
if (!count(array_intersect($products, $product_ids)) > 0) {
|
1678 |
-
continue;
|
1679 |
-
}
|
1680 |
-
}
|
1681 |
-
$product_quantities = FlycartWoocommerceOrder::get_product_quantities($order);
|
1682 |
-
if(!empty($product_quantities) && !empty($products)){
|
1683 |
-
foreach ($products as $product_id){
|
1684 |
-
if(isset($product_quantities[$product_id])){
|
1685 |
-
$totalQuantityPurchased += $product_quantities[$product_id];
|
1686 |
-
}
|
1687 |
-
}
|
1688 |
-
}
|
1689 |
-
}
|
1690 |
-
$totalPurchasedAmount += $total;
|
1691 |
-
$totalOrder++;
|
1692 |
-
}
|
1693 |
-
}
|
1694 |
-
|
1695 |
-
$totalAmount = $totalPurchasedAmount;
|
1696 |
-
if($index == 'customer_based_on_purchase_history_order_count' || $index == 'customer_based_on_purchase_history_product_order_count'){
|
1697 |
-
$totalAmount = $totalOrder;
|
1698 |
-
}
|
1699 |
-
if($index == 'customer_based_on_purchase_history_product_quantity_count'){
|
1700 |
-
$totalAmount = $totalQuantityPurchased;
|
1701 |
-
}
|
1702 |
-
$purchased_history_type = isset($rule['purchased_history_type'])? $rule['purchased_history_type']: 'atleast';
|
1703 |
-
if($purchased_history_type == 'less_than_or_equal'){
|
1704 |
-
if($totalAmount <= $rule['purchased_history_amount']){
|
1705 |
-
$allowed = 1;
|
1706 |
-
}
|
1707 |
-
} else {
|
1708 |
-
if($totalAmount >= $rule['purchased_history_amount']){
|
1709 |
-
$allowed = 1;
|
1710 |
-
}
|
1711 |
-
}
|
1712 |
-
}
|
1713 |
-
}
|
1714 |
-
}
|
1715 |
-
|
1716 |
-
return $allowed;
|
1717 |
-
}
|
1718 |
-
|
1719 |
-
/**
|
1720 |
-
* get product from rule
|
1721 |
-
* */
|
1722 |
-
public function getProductsFromRule($product){
|
1723 |
-
$productInArray = array();
|
1724 |
-
if(empty($product)) return $productInArray;
|
1725 |
-
if(is_array($product)) $productInArray = $product;
|
1726 |
-
else if(is_string($product)){
|
1727 |
-
$productInArray = json_decode($product);
|
1728 |
-
$productInArray = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($productInArray);
|
1729 |
-
}
|
1730 |
-
if(!is_array($productInArray)){
|
1731 |
-
$productInArray = array();
|
1732 |
-
}
|
1733 |
-
|
1734 |
-
$variants = null;
|
1735 |
-
$productInArray = apply_filters('woo_discount_rule_products_to_include', $productInArray, array(), $variants);
|
1736 |
-
|
1737 |
-
return $productInArray;
|
1738 |
-
}
|
1739 |
-
|
1740 |
-
/**
|
1741 |
-
* Check product category matches
|
1742 |
-
*
|
1743 |
-
* @param $product object
|
1744 |
-
* @param $categories array
|
1745 |
-
* @return boolean
|
1746 |
-
* */
|
1747 |
-
protected function checkCategoryMatches($product, $categories){
|
1748 |
-
$result = false;
|
1749 |
-
$product_categories = FlycartWoocommerceProduct::get_category_ids($product);
|
1750 |
-
if(!empty($product_categories)){
|
1751 |
-
foreach ($product_categories as $cat_id){
|
1752 |
-
if(in_array($cat_id, $categories)){
|
1753 |
-
$result = true;
|
1754 |
-
break;
|
1755 |
-
}
|
1756 |
-
}
|
1757 |
-
}
|
1758 |
-
|
1759 |
-
return $result;
|
1760 |
-
}
|
1761 |
-
|
1762 |
-
/**
|
1763 |
-
* Check category found in cart
|
1764 |
-
*
|
1765 |
-
* @param $product object
|
1766 |
-
* @param $categories array
|
1767 |
-
* @param $rules array
|
1768 |
-
* @param $rule_sets array
|
1769 |
-
* @return boolean
|
1770 |
-
* */
|
1771 |
-
protected function checkAllCategoryFoundInCart($product, $categories, $rules, $rule_sets, $rules_with_all_data){
|
1772 |
-
global $woocommerce;
|
1773 |
-
$result = false;
|
1774 |
-
$sub_total = $item_count = $quantity = array();
|
1775 |
-
foreach ($woocommerce->cart->cart_contents as $key => $cartItem) {
|
1776 |
-
$product_categories = FlycartWoocommerceProduct::get_category_ids($cartItem['data']);
|
1777 |
-
$allow_discount = $this->checkForProductConditionsMatchesForAnProduct($cartItem['data'], $rules, $rules_with_all_data);
|
1778 |
-
if($allow_discount){
|
1779 |
-
if(!empty($product_categories)){
|
1780 |
-
if(is_array($product_categories)){
|
1781 |
-
foreach ($categories as $c_key => $cat_id){
|
1782 |
-
if(in_array($cat_id, $product_categories)){
|
1783 |
-
$_quantity = (isset($cartItem['quantity']) && $cartItem['quantity']) ? $cartItem['quantity'] : 1;
|
1784 |
-
$_sub_total = self::getSubTotalOfCartItem($cartItem);
|
1785 |
-
$_item_count = 1;
|
1786 |
-
|
1787 |
-
if(isset($sub_total[$cat_id])){
|
1788 |
-
$sub_total[$cat_id] += $_sub_total;
|
1789 |
-
} else {
|
1790 |
-
$sub_total[$cat_id] = $_sub_total;
|
1791 |
-
}
|
1792 |
-
|
1793 |
-
if(isset($item_count[$cat_id])){
|
1794 |
-
$item_count[$cat_id] += $_item_count;
|
1795 |
-
} else {
|
1796 |
-
$item_count[$cat_id] = $_item_count;
|
1797 |
-
}
|
1798 |
-
|
1799 |
-
if(isset($quantity[$cat_id])){
|
1800 |
-
$quantity[$cat_id] += $_quantity;
|
1801 |
-
} else {
|
1802 |
-
$quantity[$cat_id] = $_quantity;
|
1803 |
-
}
|
1804 |
-
}
|
1805 |
-
}
|
1806 |
-
}
|
1807 |
-
}
|
1808 |
-
}
|
1809 |
-
}
|
1810 |
-
foreach ($categories as $c_key => $cat_id){
|
1811 |
-
$specific_cat = true;
|
1812 |
-
foreach ($rules as $rule_type => $rule_values) {
|
1813 |
-
if(!isset($sub_total[$cat_id])) $sub_total[$cat_id] = 0;
|
1814 |
-
if(!isset($item_count[$cat_id])) $item_count[$cat_id] = 0;
|
1815 |
-
if(!isset($quantity[$cat_id])) $quantity[$cat_id] = 0;
|
1816 |
-
$ruleSuccess = $this->checkQtySubTotalConditionsMatches($rule_type, $rule_values, $rule_sets, $sub_total[$cat_id], $item_count[$cat_id], $quantity[$cat_id]);
|
1817 |
-
if (!$ruleSuccess) {
|
1818 |
-
$specific_cat = $result = false;
|
1819 |
-
break;
|
1820 |
-
} else {
|
1821 |
-
$result = true;
|
1822 |
-
}
|
1823 |
-
}
|
1824 |
-
if($specific_cat === false){
|
1825 |
-
$result = false;
|
1826 |
-
break;
|
1827 |
-
}
|
1828 |
-
}
|
1829 |
-
|
1830 |
-
return $result;
|
1831 |
-
}
|
1832 |
-
|
1833 |
-
/**
|
1834 |
-
* Check product matches
|
1835 |
-
*
|
1836 |
-
* @param $product object
|
1837 |
-
* @param $products array
|
1838 |
-
* @return boolean
|
1839 |
-
* */
|
1840 |
-
protected function checkProductMatches($product, $products){
|
1841 |
-
$result = false;
|
1842 |
-
$product_id = FlycartWoocommerceProduct::get_id($product);
|
1843 |
-
if(in_array($product_id, $products)){
|
1844 |
-
$result = true;
|
1845 |
-
}
|
1846 |
-
|
1847 |
-
return $result;
|
1848 |
-
}
|
1849 |
-
|
1850 |
-
/**
|
1851 |
-
* Get variants of selected products
|
1852 |
-
*
|
1853 |
-
* @param $discount_type string
|
1854 |
-
* @param $rules_with_all_data array
|
1855 |
-
* @return array
|
1856 |
-
* */
|
1857 |
-
protected function getVariantsOfSelectedProduct($discount_type, $rules_with_all_data){
|
1858 |
-
if(!empty($rules_with_all_data)){
|
1859 |
-
foreach ($rules_with_all_data as $rule){
|
1860 |
-
if(isset($rule[$discount_type]) && isset($rule['product_variants'])){
|
1861 |
-
if(!empty($rule['product_variants'])){
|
1862 |
-
return $rule['product_variants'];
|
1863 |
-
}
|
1864 |
-
}
|
1865 |
-
}
|
1866 |
-
}
|
1867 |
-
|
1868 |
-
return array();
|
1869 |
-
}
|
1870 |
-
|
1871 |
-
/**
|
1872 |
-
* Check Product matches for a product
|
1873 |
-
*
|
1874 |
-
* @param $product object
|
1875 |
-
* @param $rules array
|
1876 |
-
* @param $rules_with_all_data array
|
1877 |
-
* @return boolean
|
1878 |
-
* */
|
1879 |
-
protected function checkForProductConditionsMatchesForAnProduct($product, $rules, $rules_with_all_data){
|
1880 |
-
$allow_discount = true;
|
1881 |
-
$config = FlycartWooDiscountBase::get_instance();
|
1882 |
-
$include_variants_on_select_parent_product = $config->getConfigData('include_variants_on_select_parent_product', 0);
|
1883 |
-
if($allow_discount){
|
1884 |
-
//check for product in list
|
1885 |
-
if(isset($rules['products_in_list'])){
|
1886 |
-
if(!empty($rules['products_in_list']) && is_array($rules['products_in_list'])){
|
1887 |
-
$product_ids = $rules['products_in_list'];
|
1888 |
-
if($include_variants_on_select_parent_product){
|
1889 |
-
$variant_ids = $this->getVariantsOfSelectedProduct('products_in_list', $rules_with_all_data);
|
1890 |
-
if(!empty($variant_ids)){
|
1891 |
-
$product_ids = array_merge($product_ids, $variant_ids);
|
1892 |
-
$product_ids = array_unique($product_ids);
|
1893 |
-
}
|
1894 |
-
}
|
1895 |
-
if(!empty($product_ids)){
|
1896 |
-
$matched = $this->checkProductMatches($product, $product_ids);
|
1897 |
-
if(!$matched){
|
1898 |
-
$allow_discount = false;
|
1899 |
-
}
|
1900 |
-
}
|
1901 |
-
} else {
|
1902 |
-
$allow_discount = false;
|
1903 |
-
}
|
1904 |
-
}
|
1905 |
-
}
|
1906 |
-
|
1907 |
-
if($allow_discount){
|
1908 |
-
//check for product not in list
|
1909 |
-
if(isset($rules['products_not_in_list'])){
|
1910 |
-
if(!empty($rules['products_not_in_list']) && is_array($rules['products_not_in_list'])){
|
1911 |
-
$product_ids = $rules['products_not_in_list'];
|
1912 |
-
if($include_variants_on_select_parent_product){
|
1913 |
-
$variant_ids = $this->getVariantsOfSelectedProduct('products_not_in_list', $rules_with_all_data);
|
1914 |
-
if(!empty($variant_ids)){
|
1915 |
-
$product_ids = array_merge($product_ids, $variant_ids);
|
1916 |
-
$product_ids = array_unique($product_ids);
|
1917 |
-
}
|
1918 |
-
}
|
1919 |
-
if(!empty($product_ids)){
|
1920 |
-
$matched = $this->checkProductMatches($product, $product_ids);
|
1921 |
-
if($matched){
|
1922 |
-
$allow_discount = false;
|
1923 |
-
}
|
1924 |
-
}
|
1925 |
-
}
|
1926 |
-
}
|
1927 |
-
}
|
1928 |
-
if($allow_discount){
|
1929 |
-
//check for exclude products which are in sale
|
1930 |
-
if(isset($rules['exclude_sale_products'])){
|
1931 |
-
$product_id = FlycartWoocommerceProduct::get_id($product);
|
1932 |
-
$original_product = FlycartWoocommerceProduct::wc_get_product($product_id);
|
1933 |
-
$is_on_sale = FlycartWoocommerceProduct::is_product_is_on_sale($original_product);
|
1934 |
-
if($is_on_sale){
|
1935 |
-
$allow_discount = false;
|
1936 |
-
}
|
1937 |
-
}
|
1938 |
-
}
|
1939 |
-
|
1940 |
-
return $allow_discount;
|
1941 |
-
}
|
1942 |
-
|
1943 |
-
/**
|
1944 |
-
* Check for Category and product conditions matches for the product
|
1945 |
-
*
|
1946 |
-
* @param $product object
|
1947 |
-
* @param $rules array
|
1948 |
-
* @param $rules_with_all_data array
|
1949 |
-
* @param $rule_sets array
|
1950 |
-
* @return boolean
|
1951 |
-
* */
|
1952 |
-
protected function checkForCategoryAndProductMatchesForAnProduct($product, $rules, $rules_with_all_data, $rule_sets){
|
1953 |
-
$allow_discount = true;
|
1954 |
-
if(isset($rules['categories_in'])){
|
1955 |
-
if(!empty($rules['categories_in']) && is_array($rules['categories_in'])){
|
1956 |
-
$matched = $this->checkCategoryMatches($product, $rules['categories_in']);
|
1957 |
-
if(!$matched){
|
1958 |
-
$allow_discount = false;
|
1959 |
-
}
|
1960 |
-
} else {
|
1961 |
-
$allow_discount = false;
|
1962 |
-
}
|
1963 |
-
}
|
1964 |
-
if(isset($rules['exclude_categories'])){
|
1965 |
-
if(!empty($rules['exclude_categories']) && is_array($rules['exclude_categories'])){
|
1966 |
-
$matched = $this->checkCategoryMatches($product, $rules['exclude_categories']);
|
1967 |
-
if($matched){
|
1968 |
-
$allow_discount = false;
|
1969 |
-
}
|
1970 |
-
}
|
1971 |
-
}
|
1972 |
-
if($allow_discount){
|
1973 |
-
if(isset($rules['atleast_one_including_sub_categories'])){
|
1974 |
-
if(!empty($rules['atleast_one_including_sub_categories']) && is_array($rules['atleast_one_including_sub_categories'])){
|
1975 |
-
$categories = FlycartWooDiscountRulesGeneralHelper::getAllSubCategories($rules['atleast_one_including_sub_categories']);
|
1976 |
-
$matched = $this->checkCategoryMatches($product, $categories);
|
1977 |
-
if(!$matched){
|
1978 |
-
$allow_discount = false;
|
1979 |
-
}
|
1980 |
-
} else {
|
1981 |
-
$allow_discount = false;
|
1982 |
-
}
|
1983 |
-
}
|
1984 |
-
}
|
1985 |
-
|
1986 |
-
if($allow_discount){
|
1987 |
-
if(isset($rules['in_each_category'])){
|
1988 |
-
if(!empty($rules['in_each_category']) && is_array($rules['in_each_category'])){
|
1989 |
-
$has_found_each_category = $this->checkAllCategoryFoundInCart($product, $rules['in_each_category'], $rules, $rule_sets, $rules_with_all_data);
|
1990 |
-
if($has_found_each_category){
|
1991 |
-
$found_at_least_one = false;
|
1992 |
-
foreach ($rules['in_each_category'] as $category){
|
1993 |
-
$matched = $this->checkCategoryMatches($product, array($category));
|
1994 |
-
if($matched){
|
1995 |
-
$found_at_least_one = true;
|
1996 |
-
break;
|
1997 |
-
}
|
1998 |
-
}
|
1999 |
-
if($found_at_least_one){
|
2000 |
-
$allow_discount = true;
|
2001 |
-
} else {
|
2002 |
-
$allow_discount = false;
|
2003 |
-
}
|
2004 |
-
} else {
|
2005 |
-
$allow_discount = false;
|
2006 |
-
}
|
2007 |
-
} else {
|
2008 |
-
$allow_discount = false;
|
2009 |
-
}
|
2010 |
-
}
|
2011 |
-
}
|
2012 |
-
|
2013 |
-
if($allow_discount){
|
2014 |
-
$allow_discount = $this->checkForProductConditionsMatchesForAnProduct($product, $rules, $rules_with_all_data);
|
2015 |
-
}
|
2016 |
-
|
2017 |
-
return $allow_discount;
|
2018 |
-
}
|
2019 |
-
|
2020 |
-
/**
|
2021 |
-
* verify the cart items are from selected category
|
2022 |
-
* */
|
2023 |
-
protected function validateCartItemsInSelectedProductsAndCategories($index, $rule, $rules, $rules_with_all_data, $rule_sets){
|
2024 |
-
if($this->checked_for_categories_and_product_match){
|
2025 |
-
return $this->categories_and_product_match_value;
|
2026 |
-
}
|
2027 |
-
$ruleSuccess = 0;
|
2028 |
-
global $woocommerce;
|
2029 |
-
$allow_discount = $sub_total = $quantity = $item_count = 0;
|
2030 |
-
if(count($woocommerce->cart->cart_contents)){
|
2031 |
-
foreach ($woocommerce->cart->cart_contents as $key => $cartItem) {
|
2032 |
-
$matches = $this->checkForCategoryAndProductMatchesForAnProduct($cartItem['data'], $rules, $rules_with_all_data, $rule_sets);
|
2033 |
-
if($matches){
|
2034 |
-
$allow_discount = 1;
|
2035 |
-
$cart_item_quantity = (isset($cartItem['quantity']) && $cartItem['quantity']) ? $cartItem['quantity'] : 1;
|
2036 |
-
$sub_total += self::getSubTotalOfCartItem($cartItem);
|
2037 |
-
$quantity += $cart_item_quantity;
|
2038 |
-
$item_count++;
|
2039 |
-
}
|
2040 |
-
}
|
2041 |
-
}
|
2042 |
-
if($allow_discount){
|
2043 |
-
$ruleSuccess = 1;
|
2044 |
-
$process_condition_check = true;
|
2045 |
-
if(isset($rules['in_each_category']) && !empty($rules['in_each_category'])){
|
2046 |
-
$process_condition_check = false;
|
2047 |
-
}
|
2048 |
-
if($process_condition_check){
|
2049 |
-
if(is_array($rules) && count($rules)){
|
2050 |
-
foreach ($rules as $rule_type => $rule_values){
|
2051 |
-
$ruleSuccessResult = $this->checkQtySubTotalConditionsMatches($rule_type, $rule_values, $rule_sets, $sub_total, $item_count, $quantity);
|
2052 |
-
if(!$ruleSuccessResult){
|
2053 |
-
$ruleSuccess = 0;
|
2054 |
-
break;
|
2055 |
-
}
|
2056 |
-
}
|
2057 |
-
}
|
2058 |
-
}
|
2059 |
-
}
|
2060 |
-
$this->categories_and_product_match_value = $ruleSuccess;
|
2061 |
-
return $ruleSuccess;
|
2062 |
-
}
|
2063 |
-
|
2064 |
-
/**
|
2065 |
-
* Check Quantity, Sub-Total, Item Count matches
|
2066 |
-
*
|
2067 |
-
* @param $rule_type string
|
2068 |
-
* @param $rule_values mixed
|
2069 |
-
* @param $rule_sets array
|
2070 |
-
* @param $sub_total float
|
2071 |
-
* @param $item_count int
|
2072 |
-
* @param $quantity int
|
2073 |
-
*
|
2074 |
-
* @return int
|
2075 |
-
* */
|
2076 |
-
protected function checkQtySubTotalConditionsMatches($rule_type, $rule_values, $rule_sets, $sub_total, $item_count, $quantity){
|
2077 |
-
$ruleSuccess = 1;
|
2078 |
-
$checkRuleTypes = array('quantity_least', 'quantity_less', 'subtotal_least', 'subtotal_less', 'item_count_least', 'item_count_less');
|
2079 |
-
if(in_array($rule_type, $checkRuleTypes)){
|
2080 |
-
if($rule_type == 'subtotal_least'){
|
2081 |
-
if ($sub_total < $rule_values) {
|
2082 |
-
$this->processPromotionMessage($rule_sets, $rule_values, $rule_type, array('subtotal' => $sub_total));
|
2083 |
-
$ruleSuccess = 0;
|
2084 |
-
}
|
2085 |
-
} elseif ($rule_type == 'subtotal_less'){
|
2086 |
-
if ($sub_total >= $rule_values) {
|
2087 |
-
$ruleSuccess = 0;
|
2088 |
-
}
|
2089 |
-
} elseif ($rule_type == 'item_count_least'){
|
2090 |
-
if ($item_count < $rule_values) {
|
2091 |
-
$ruleSuccess = 0;
|
2092 |
-
}
|
2093 |
-
} elseif ($rule_type == 'item_count_less'){
|
2094 |
-
if ($item_count >= $rule_values) {
|
2095 |
-
$ruleSuccess = 0;
|
2096 |
-
}
|
2097 |
-
} elseif ($rule_type == 'quantity_least'){
|
2098 |
-
if ($quantity < $rule_values) {
|
2099 |
-
$ruleSuccess = 0;
|
2100 |
-
}
|
2101 |
-
} elseif ($rule_type == 'quantity_less'){
|
2102 |
-
if ($quantity >= $rule_values) {
|
2103 |
-
$ruleSuccess = 0;
|
2104 |
-
}
|
2105 |
-
}
|
2106 |
-
}
|
2107 |
-
|
2108 |
-
return $ruleSuccess;
|
2109 |
-
}
|
2110 |
-
|
2111 |
-
/**
|
2112 |
-
* Get tld from email
|
2113 |
-
* */
|
2114 |
-
protected function getTLDFromEmail($email){
|
2115 |
-
$emailArray = explode('@', $email);
|
2116 |
-
if(isset($emailArray[1])){
|
2117 |
-
$emailDomainArray = explode('.', $emailArray[1]);
|
2118 |
-
if(count($emailDomainArray)>1){
|
2119 |
-
unset($emailDomainArray[0]);
|
2120 |
-
}
|
2121 |
-
if(count($emailDomainArray) > 1){
|
2122 |
-
return array(end($emailDomainArray), implode('.', $emailDomainArray));
|
2123 |
-
} else {
|
2124 |
-
return implode('.', $emailDomainArray);
|
2125 |
-
}
|
2126 |
-
}
|
2127 |
-
|
2128 |
-
return $emailArray[0];
|
2129 |
-
}
|
2130 |
-
|
2131 |
-
/**
|
2132 |
-
* validate tld from email
|
2133 |
-
* */
|
2134 |
-
protected function validateTLD($tlds, $rule){
|
2135 |
-
if(is_array($tlds)){
|
2136 |
-
foreach($tlds as $tld){
|
2137 |
-
if(in_array($tld, $rule)){
|
2138 |
-
return true;
|
2139 |
-
}
|
2140 |
-
}
|
2141 |
-
} else {
|
2142 |
-
if(in_array($tlds, $rule)){
|
2143 |
-
return true;
|
2144 |
-
}
|
2145 |
-
}
|
2146 |
-
|
2147 |
-
return false;
|
2148 |
-
}
|
2149 |
-
|
2150 |
-
/**
|
2151 |
-
* Get tld from email
|
2152 |
-
* */
|
2153 |
-
protected function getDomainFromEmail($email){
|
2154 |
-
$emailArray = explode('@', $email);
|
2155 |
-
if(isset($emailArray[1])){
|
2156 |
-
return $emailArray[1];
|
2157 |
-
}
|
2158 |
-
return $emailArray[0];
|
2159 |
-
}
|
2160 |
-
|
2161 |
-
/**
|
2162 |
-
* Get cart total amount
|
2163 |
-
*
|
2164 |
-
* @access public
|
2165 |
-
* @return float
|
2166 |
-
*/
|
2167 |
-
public function calculateCartSubtotal()
|
2168 |
-
{
|
2169 |
-
if(!empty($this->cart_items)){
|
2170 |
-
$run_before_calculate_event = apply_filters('woo_discount_rules_run_before_calculate_event_on_before_calculate_subtotal_in_cart_rules', true);
|
2171 |
-
if(!did_action('woocommerce_before_calculate_totals') && $run_before_calculate_event == true){
|
2172 |
-
do_action('woocommerce_before_calculate_totals', FlycartWoocommerceCart::get_cart_object());
|
2173 |
-
}
|
2174 |
-
}
|
2175 |
-
|
2176 |
-
$cart_subtotal = 0;
|
2177 |
-
// Iterate over all cart items and
|
2178 |
-
if(is_array($this->cart_items) && count($this->cart_items)){
|
2179 |
-
foreach ($this->cart_items as $cart_item_key => $cart_item) {
|
2180 |
-
$cart_subtotal += self::getSubTotalOfCartItem($cart_item);
|
2181 |
-
}
|
2182 |
-
}
|
2183 |
-
|
2184 |
-
$this->sub_total = (float)$cart_subtotal;
|
2185 |
-
|
2186 |
-
}
|
2187 |
-
|
2188 |
-
/**
|
2189 |
-
* Get subtotal of cart item
|
2190 |
-
*
|
2191 |
-
* @param $cart_item array
|
2192 |
-
* @return integer/float
|
2193 |
-
* */
|
2194 |
-
public static function getSubTotalOfCartItem($cart_item){
|
2195 |
-
$subtotal = 0;
|
2196 |
-
if(get_option('woocommerce_tax_display_cart', 'incl') == 'incl'){
|
2197 |
-
if(isset($cart_item['line_subtotal'])){
|
2198 |
-
$subtotal = $cart_item['line_subtotal'];
|
2199 |
-
}
|
2200 |
-
if(isset($cart_item['line_subtotal_tax'])){
|
2201 |
-
$subtotal += $cart_item['line_subtotal_tax'];
|
2202 |
-
}
|
2203 |
-
} else {
|
2204 |
-
$quantity = (isset($cart_item['quantity']) && $cart_item['quantity']) ? $cart_item['quantity'] : 1;
|
2205 |
-
$subtotal = ((float)FlycartWoocommerceProduct::get_price($cart_item['data'], true)) * $quantity;
|
2206 |
-
}
|
2207 |
-
|
2208 |
-
return $subtotal;
|
2209 |
-
}
|
2210 |
-
|
2211 |
-
/**
|
2212 |
-
* Get price of cart item
|
2213 |
-
*
|
2214 |
-
* @param $cart_item array
|
2215 |
-
* @return integer/float
|
2216 |
-
* */
|
2217 |
-
public function getPriceOfCartItem($cart_item){
|
2218 |
-
if(get_option('woocommerce_tax_display_cart', 'incl') == 'incl'){
|
2219 |
-
$price = FlycartWoocommerceProduct::get_price_including_tax($cart_item['data']);
|
2220 |
-
} else {
|
2221 |
-
$price = ((float)FlycartWoocommerceProduct::get_price($cart_item['data'], true));
|
2222 |
-
}
|
2223 |
-
|
2224 |
-
return $price;
|
2225 |
-
}
|
2226 |
-
|
2227 |
-
public function calculate_conditional_subtotal($conditions, $rule) {
|
2228 |
-
$cart_subtotal = 0;
|
2229 |
-
$rules = $rules_with_all_data = array();
|
2230 |
-
if(isset($rule['discount_rule'])){
|
2231 |
-
$rules = (is_string($rule['discount_rule']) ? json_decode($rule['discount_rule'], true) : array());
|
2232 |
-
$rules_with_all_data = $rules;
|
2233 |
-
// Simple array helper to re-arrange the structure.
|
2234 |
-
FlycartWooDiscountRulesGeneralHelper::reArrangeArray($rules);
|
2235 |
-
}
|
2236 |
-
// Iterate over all cart items and
|
2237 |
-
if(is_array($this->cart_items) && count($this->cart_items)){
|
2238 |
-
foreach ($this->cart_items as $cart_item_key => $cart_item) {
|
2239 |
-
$apply_discount = false;
|
2240 |
-
|
2241 |
-
if($this->has_category_in_rule || $this->has_product_specific_rule){
|
2242 |
-
$matches = $this->checkForCategoryAndProductMatchesForAnProduct($cart_item['data'], $rules, $rules_with_all_data, $rule);
|
2243 |
-
if($matches){
|
2244 |
-
$apply_discount = true;
|
2245 |
-
}
|
2246 |
-
}
|
2247 |
-
|
2248 |
-
if($apply_discount) {
|
2249 |
-
//total should be specific to the products from certan categories
|
2250 |
-
$cart_subtotal += self::getSubTotalOfCartItem($cart_item);
|
2251 |
-
}
|
2252 |
-
|
2253 |
-
}
|
2254 |
-
}
|
2255 |
-
|
2256 |
-
return (float)$cart_subtotal;
|
2257 |
-
|
2258 |
-
}
|
2259 |
-
|
2260 |
-
public function does_item_belong_to_category($categories, $product) {
|
2261 |
-
$cat_id = FlycartWoocommerceProduct::get_category_ids($product);
|
2262 |
-
$result = array_intersect($categories, $cat_id);
|
2263 |
-
if(is_array($result) && count($result) > 0) {
|
2264 |
-
return true;
|
2265 |
-
}
|
2266 |
-
return false;
|
2267 |
-
}
|
2268 |
-
|
2269 |
-
/**
|
2270 |
-
* To Sum the Cart Item's Qty.
|
2271 |
-
*
|
2272 |
-
* @return int Total Qty of Cart.
|
2273 |
-
*/
|
2274 |
-
public function cartItemQtyTotal()
|
2275 |
-
{
|
2276 |
-
global $woocommerce;
|
2277 |
-
$cart_items = $woocommerce->cart->cart_contents;
|
2278 |
-
$total_quantity = 0;
|
2279 |
-
if(is_array($cart_items) && count($cart_items)){
|
2280 |
-
foreach ($cart_items as $cart_item) {
|
2281 |
-
$current_quantity = (isset($cart_item['quantity']) && $cart_item['quantity']) ? $cart_item['quantity'] : 1;
|
2282 |
-
$total_quantity += $current_quantity;
|
2283 |
-
}
|
2284 |
-
}
|
2285 |
-
return $total_quantity;
|
2286 |
-
}
|
2287 |
-
|
2288 |
-
/**
|
2289 |
-
* Overall Discount Calculation based on Percentage or Flat.
|
2290 |
-
*
|
2291 |
-
* @param integer $sub_total Subtotal of the Cart.
|
2292 |
-
* @param integer $adjustment percentage or discount of adjustment.
|
2293 |
-
* @return integer Final Discount Amount.
|
2294 |
-
*/
|
2295 |
-
public function calculateDiscount($sub_total, $adjustment)
|
2296 |
-
{
|
2297 |
-
$sub_total = ($sub_total < 0) ? 0 : $sub_total;
|
2298 |
-
|
2299 |
-
$discount = 0;
|
2300 |
-
|
2301 |
-
if ($adjustment['type'] == 'percentage') {
|
2302 |
-
if(((float)$adjustment['value']) > 0){
|
2303 |
-
$discount = $sub_total * ($adjustment['value'] / 100);
|
2304 |
-
}
|
2305 |
-
} else if ($adjustment['type'] == 'price') {
|
2306 |
-
if(((float)$adjustment['value']) > 0){
|
2307 |
-
$discount = $adjustment['value'];
|
2308 |
-
}
|
2309 |
-
}
|
2310 |
-
|
2311 |
-
return ($discount <= 0) ? 0 : $discount;
|
2312 |
-
}
|
2313 |
-
|
2314 |
-
/**
|
2315 |
-
* @param array $product_ids - list of discount products from admin settings
|
2316 |
-
* @param int $discount_quantity - quantity of products to be discount
|
2317 |
-
* @param string $rule_text - Text to be shown for coupon code
|
2318 |
-
* @return int
|
2319 |
-
*/
|
2320 |
-
public function calculateProductDiscount(array $product_ids = array(), $discount_quantity = 1,$rule_text ="")
|
2321 |
-
{
|
2322 |
-
$have_to_do = apply_filters('woo_discount_rules_process_cart_bogo_auto_add', true);
|
2323 |
-
|
2324 |
-
if(!$have_to_do){
|
2325 |
-
return true;
|
2326 |
-
}
|
2327 |
-
|
2328 |
-
if (empty($product_ids))
|
2329 |
-
return true;
|
2330 |
-
if(empty($rule_text))
|
2331 |
-
$rule_text = apply_filters('woo_discount_rules_cart_bogo_coupon_code', '{{product_name}} X {{quantity}}');
|
2332 |
-
$carts = FlycartWoocommerceCart::get_cart();
|
2333 |
-
if(empty($carts))
|
2334 |
-
return true;
|
2335 |
-
$added_products = array();
|
2336 |
-
foreach ($carts as $cart_item_key => $cart_item) {
|
2337 |
-
if (empty($cart_item['data'])) {
|
2338 |
-
continue;
|
2339 |
-
}
|
2340 |
-
$product_id = FlycartWoocommerceProduct::get_id($cart_item['data']);
|
2341 |
-
if (isset($added_products[$product_id]) && !empty($added_products[$product_id])) {
|
2342 |
-
$added_products[$product_id]['item_quantity'] = $added_products[$product_id]['item_quantity'] + $cart_item['quantity'];
|
2343 |
-
} else {
|
2344 |
-
$added_products[$product_id] = array('product' => $cart_item['data'], 'item_name' => FlycartWoocommerceProduct::get_name($cart_item['data']), 'item_quantity' => $cart_item['quantity'], 'item' => $cart_item_key, 'item_price' => FlycartWoocommerceProduct::get_price($cart_item['data'], true));
|
2345 |
-
}
|
2346 |
-
}
|
2347 |
-
if(is_array($product_ids) && count($product_ids)){
|
2348 |
-
foreach ($product_ids as $discounted_product_id) {
|
2349 |
-
$discounted_price=0;
|
2350 |
-
//Check the discounted product already found in cart
|
2351 |
-
if (array_key_exists($discounted_product_id, $added_products)) {
|
2352 |
-
$old_quantity = isset($added_products[$discounted_product_id]['item_quantity']) ? $added_products[$discounted_product_id]['item_quantity'] : 0;
|
2353 |
-
if ($old_quantity < $discount_quantity) {
|
2354 |
-
if (isset($added_products[$discounted_product_id]['item']) && !empty($added_products[$discounted_product_id]['item'])) {
|
2355 |
-
FlycartWoocommerceCart::set_quantity($added_products[$discounted_product_id]['item'], $discount_quantity);
|
2356 |
-
}
|
2357 |
-
}
|
2358 |
-
$discounted_price = ($discount_quantity * $added_products[$discounted_product_id]['item_price']);
|
2359 |
-
$coupon_msg = self::formatBOGOCouponCode($added_products[$discounted_product_id]['item_name'], $discount_quantity, $added_products[$discounted_product_id]['product'], $rule_text);
|
2360 |
-
if(isset($added_products[$discounted_product_id]) && isset($added_products[$discounted_product_id]['item_quantity'])){
|
2361 |
-
if(!empty($added_products[$discounted_product_id]['item_quantity']) && ((int)$added_products[$discounted_product_id]['item_quantity']) > 0){
|
2362 |
-
$discounted_price = $discounted_price/$added_products[$discounted_product_id]['item_quantity'];
|
2363 |
-
}
|
2364 |
-
}
|
2365 |
-
$this->bogo_coupon_codes[$coupon_msg] = array('product_id' => $discounted_product_id, 'amount' => $discounted_price);
|
2366 |
-
} else {
|
2367 |
-
//If product not in cart,then add to cart
|
2368 |
-
$product = FlycartWoocommerceProduct::wc_get_product($discounted_product_id);
|
2369 |
-
if($product) {
|
2370 |
-
if(!(!empty(self::$added_bogo_product_ids) && in_array($discounted_product_id, self::$added_bogo_product_ids))){
|
2371 |
-
$cart_item_key = FlycartWoocommerceCart::add_to_cart($discounted_product_id, $discount_quantity);
|
2372 |
-
self::$added_bogo_product_ids[] = $discounted_product_id;
|
2373 |
-
global $flycart_woo_discount_rules;
|
2374 |
-
add_filter('woo_discount_rules_apply_rules_repeatedly', '__return_true');//Fix: In few cases the strikeout doesn't applies
|
2375 |
-
$flycart_woo_discount_rules->discountBase->handlePriceDiscount();
|
2376 |
-
if(!empty($cart_item_key)){
|
2377 |
-
$cart_item = FlycartWoocommerceCart::get_cart_item($cart_item_key);
|
2378 |
-
if(!empty($cart_item['data'])){
|
2379 |
-
$product = $cart_item['data'];
|
2380 |
-
}
|
2381 |
-
}
|
2382 |
-
do_action('woo_discount_rules_cart_rules_after_adding_free_product_to_cart');
|
2383 |
-
$discounted_price = ($discount_quantity * FlycartWoocommerceProduct::get_price($product, true));
|
2384 |
-
$coupon_msg = self::formatBOGOCouponCode(FlycartWoocommerceProduct::get_name($product), $discount_quantity, $product, $rule_text);
|
2385 |
-
if(isset($added_products[$discounted_product_id]) && isset($added_products[$discounted_product_id]['item_quantity'])){
|
2386 |
-
if(!empty($added_products[$discounted_product_id]['item_quantity']) && ((int)$added_products[$discounted_product_id]['item_quantity']) > 0){
|
2387 |
-
$discounted_price = $discounted_price/$added_products[$discounted_product_id]['item_quantity'];
|
2388 |
-
}
|
2389 |
-
}
|
2390 |
-
$this->bogo_coupon_codes[$coupon_msg] = array('product_id' => $discounted_product_id, 'amount' => $discounted_price);
|
2391 |
-
}
|
2392 |
-
}
|
2393 |
-
}
|
2394 |
-
$this->product_discount_total += $discounted_price;
|
2395 |
-
}
|
2396 |
-
}
|
2397 |
-
|
2398 |
-
return true;
|
2399 |
-
}
|
2400 |
-
|
2401 |
-
/**
|
2402 |
-
* Validate for product discount rules
|
2403 |
-
* @param $conditions
|
2404 |
-
* @param $rule_set
|
2405 |
-
* @return bool
|
2406 |
-
*/
|
2407 |
-
function validateBOGOCart($conditions, $rule_set, $rule_sets){
|
2408 |
-
$this->checked_for_categories_and_product_match = false;
|
2409 |
-
$this->calculateCartSubtotal();
|
2410 |
-
$rules = (is_string($conditions) ? json_decode($conditions, true) : array());
|
2411 |
-
// Simple array helper to re-arrange the structure.
|
2412 |
-
$rules_with_all_data = $rules;
|
2413 |
-
FlycartWooDiscountRulesGeneralHelper::reArrangeArray($rules);
|
2414 |
-
if(is_array($rules) && count($rules)){
|
2415 |
-
foreach ($rules as $index => $rule) {
|
2416 |
-
// Validating the Rules one by one.
|
2417 |
-
if ($this->applyCartBOGORule($index, $rule, $rules, $rule_set, $rules_with_all_data, $rule_sets) == false) {
|
2418 |
-
return false;
|
2419 |
-
}
|
2420 |
-
}
|
2421 |
-
}
|
2422 |
-
return true;
|
2423 |
-
}
|
2424 |
-
|
2425 |
-
/**
|
2426 |
-
* Rules for only BOGO products
|
2427 |
-
* @param $index
|
2428 |
-
* @param $rule
|
2429 |
-
* @param $rules
|
2430 |
-
* @param $rule_set
|
2431 |
-
* @return bool
|
2432 |
-
*/
|
2433 |
-
function applyCartBOGORule($index, $rule, $rules, $rule_set, $rules_with_all_data, $rule_sets){
|
2434 |
-
//Calculating subtotal, quantity for BOGO Products
|
2435 |
-
$cart = array();
|
2436 |
-
$free_line_item = 0;
|
2437 |
-
$free_quantity = 0;
|
2438 |
-
$free_item_price = 0;
|
2439 |
-
if(is_array($this->cart_items) && count($this->cart_items)){
|
2440 |
-
foreach ($this->cart_items as $cart_items){
|
2441 |
-
$product_id = FlycartWoocommerceProduct::get_id($cart_items['data']);
|
2442 |
-
$cart[$product_id]['quantity'] = $cart_items['quantity'];
|
2443 |
-
$cart[$product_id]['price'] = $this->getPriceOfCartItem($cart_items);
|
2444 |
-
$cart[$product_id]['subtotal'] = self::getSubTotalOfCartItem($cart_items);
|
2445 |
-
}
|
2446 |
-
}
|
2447 |
-
$discounted_products = (isset($rule_set->cart_discounted_products)) ? $rule_set->cart_discounted_products : '[]';
|
2448 |
-
$products = json_decode($discounted_products);
|
2449 |
-
$rule_discount_quantity = (isset($rule_set->product_discount_quantity)) ? $rule_set->product_discount_quantity : 0;
|
2450 |
-
if(FlycartWooDiscountRulesGeneralHelper::is_countable($products)){
|
2451 |
-
foreach ($products as $discounted_product_id) {
|
2452 |
-
if(array_key_exists($discounted_product_id,$cart))
|
2453 |
-
{
|
2454 |
-
if(isset($cart[$discounted_product_id]['price'])){
|
2455 |
-
$free_line_item += 1;
|
2456 |
-
$free_quantity += $rule_discount_quantity;
|
2457 |
-
$free_item_price += $cart[$discounted_product_id]['price'];
|
2458 |
-
}
|
2459 |
-
}
|
2460 |
-
}
|
2461 |
-
}
|
2462 |
-
$cart_quantity_except_free = array_sum(array_column($cart,'quantity')) - $free_quantity;
|
2463 |
-
$cart_subtotal_except_free = array_sum(array_column($cart,'subtotal')) - $free_item_price;
|
2464 |
-
$cart_line_item_except_free = (count($cart)-$free_line_item);
|
2465 |
-
|
2466 |
-
$skipRuleType = array('categories_in', 'exclude_categories', 'in_each_category', 'atleast_one_including_sub_categories', 'products_in_list', 'products_not_in_list', 'exclude_sale_products');
|
2467 |
-
$availableRuleToSkip = array_intersect($skipRuleType, array_keys($rules));
|
2468 |
-
switch ($index) {
|
2469 |
-
// Cart Subtotal.
|
2470 |
-
case 'subtotal_least':
|
2471 |
-
if(!empty($availableRuleToSkip)){
|
2472 |
-
} elseif ($cart_subtotal_except_free < $rule) {
|
2473 |
-
$this->processPromotionMessage($rule_sets, $rule, $index);
|
2474 |
-
return false;
|
2475 |
-
}
|
2476 |
-
return true;
|
2477 |
-
break;
|
2478 |
-
case 'subtotal_less':
|
2479 |
-
if(!empty($availableRuleToSkip)){
|
2480 |
-
} elseif ($cart_subtotal_except_free >= $rule) {
|
2481 |
-
return false;
|
2482 |
-
}
|
2483 |
-
return true;
|
2484 |
-
break;
|
2485 |
-
|
2486 |
-
// Cart Item Count.
|
2487 |
-
case 'item_count_least':
|
2488 |
-
if(!empty($availableRuleToSkip)){
|
2489 |
-
} elseif ($cart_line_item_except_free < $rule) {
|
2490 |
-
return false;
|
2491 |
-
}
|
2492 |
-
return true;
|
2493 |
-
break;
|
2494 |
-
case 'item_count_less':
|
2495 |
-
if(!empty($availableRuleToSkip)){
|
2496 |
-
} elseif ($cart_line_item_except_free >= $rule) {
|
2497 |
-
return false;
|
2498 |
-
}
|
2499 |
-
return true;
|
2500 |
-
break;
|
2501 |
-
|
2502 |
-
// Quantity Count.
|
2503 |
-
case 'quantity_least':
|
2504 |
-
if(!empty($availableRuleToSkip)){
|
2505 |
-
} elseif ($cart_quantity_except_free < $rule) {
|
2506 |
-
return false;
|
2507 |
-
}
|
2508 |
-
return true;
|
2509 |
-
break;
|
2510 |
-
case 'quantity_less':
|
2511 |
-
if(!empty($availableRuleToSkip)){
|
2512 |
-
} elseif ($cart_quantity_except_free >= $rule) {
|
2513 |
-
return false;
|
2514 |
-
}
|
2515 |
-
return true;
|
2516 |
-
break;
|
2517 |
-
|
2518 |
-
// Logged In Users.
|
2519 |
-
case 'users_in':
|
2520 |
-
$rule = FlycartWoocommerceVersion::backwardCompatibilityStringToArray($rule);
|
2521 |
-
if (get_current_user_id() == 0 || !in_array(get_current_user_id(), $rule)) {
|
2522 |
-
return false;
|
2523 |
-
}
|
2524 |
-
return true;
|
2525 |
-
break;
|
2526 |
-
case 'shipping_countries_in':
|
2527 |
-
$postCalcShippingCountry = $this->postData->get('calc_shipping_country', '');
|
2528 |
-
if(!empty($postCalcShippingCountry)){
|
2529 |
-
$shippingCountry = $postCalcShippingCountry;
|
2530 |
-
}
|
2531 |
-
if(empty($shippingCountry)){
|
2532 |
-
$shippingCountry = WC()->customer->get_shipping_country();
|
2533 |
-
}
|
2534 |
-
if (empty($shippingCountry) || !in_array($shippingCountry, $rule)) {
|
2535 |
-
return false;
|
2536 |
-
}
|
2537 |
-
return true;
|
2538 |
-
break;
|
2539 |
-
case 'roles_in':
|
2540 |
-
if (count(array_intersect(FlycartWooDiscountRulesGeneralHelper::getCurrentUserRoles(), $rule)) == 0) {
|
2541 |
-
return false;
|
2542 |
-
}
|
2543 |
-
return true;
|
2544 |
-
break;
|
2545 |
-
case ($index == 'customer_email_tld' || $index == 'customer_email_domain'):
|
2546 |
-
$rule = explode(',', $rule);
|
2547 |
-
if(is_array($rule) && count($rule)){
|
2548 |
-
foreach($rule as $key => $r){
|
2549 |
-
$rule[$key] = trim($r);
|
2550 |
-
$rule[$key] = trim($rule[$key], '.');
|
2551 |
-
}
|
2552 |
-
}
|
2553 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
2554 |
-
$postDataArray = array();
|
2555 |
-
if($postData != ''){
|
2556 |
-
parse_str($postData, $postDataArray);
|
2557 |
-
}
|
2558 |
-
$postBillingEmail = $this->postData->get('billing_email', '', 'raw');
|
2559 |
-
if($postBillingEmail != ''){
|
2560 |
-
$postDataArray['billing_email'] = $postBillingEmail;
|
2561 |
-
}
|
2562 |
-
if(!get_current_user_id()){
|
2563 |
-
$order_id = $this->postData->get('order-received', 0);
|
2564 |
-
if($order_id){
|
2565 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
2566 |
-
$postDataArray['billing_email'] = FlycartWoocommerceOrder::get_billing_email($order);
|
2567 |
-
}
|
2568 |
-
}
|
2569 |
-
if(isset($postDataArray['billing_email']) && $postDataArray['billing_email'] != ''){
|
2570 |
-
$user_email = $postDataArray['billing_email'];
|
2571 |
-
if(get_current_user_id()){
|
2572 |
-
update_user_meta(get_current_user_id(), 'billing_email', $user_email);
|
2573 |
-
}
|
2574 |
-
if($index == 'customer_email_tld')
|
2575 |
-
$tld = $this->getTLDFromEmail($user_email);
|
2576 |
-
else
|
2577 |
-
$tld = $this->getDomainFromEmail($user_email);
|
2578 |
-
if($this->validateTLD($tld, $rule)){
|
2579 |
-
return true;
|
2580 |
-
}
|
2581 |
-
} else if(get_current_user_id()){
|
2582 |
-
$user_email = get_user_meta( get_current_user_id(), 'billing_email', true );
|
2583 |
-
if($user_email != '' && !empty($user_email)){
|
2584 |
-
if($index == 'customer_email_tld')
|
2585 |
-
$tld = $this->getTLDFromEmail($user_email);
|
2586 |
-
else
|
2587 |
-
$tld = $this->getDomainFromEmail($user_email);
|
2588 |
-
if($this->validateTLD($tld, $rule)){
|
2589 |
-
return true;
|
2590 |
-
}
|
2591 |
-
} else {
|
2592 |
-
$user_details = get_userdata( get_current_user_id() );
|
2593 |
-
if(isset($user_details->data->user_email) && $user_details->data->user_email != ''){
|
2594 |
-
$user_email = $user_details->data->user_email;
|
2595 |
-
if($index == 'customer_email_tld')
|
2596 |
-
$tld = $this->getTLDFromEmail($user_email);
|
2597 |
-
else
|
2598 |
-
$tld = $this->getDomainFromEmail($user_email);
|
2599 |
-
if($this->validateTLD($tld, $rule)){
|
2600 |
-
return true;
|
2601 |
-
}
|
2602 |
-
}
|
2603 |
-
}
|
2604 |
-
}
|
2605 |
-
return false;
|
2606 |
-
break;
|
2607 |
-
|
2608 |
-
case 'customer_billing_city':
|
2609 |
-
$rule = explode(',', $rule);
|
2610 |
-
if(is_array($rule) && count($rule)){
|
2611 |
-
foreach($rule as $key => $r){
|
2612 |
-
$rule[$key] = strtolower(trim($r));
|
2613 |
-
}
|
2614 |
-
}
|
2615 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
2616 |
-
$postDataArray = array();
|
2617 |
-
if($postData != ''){
|
2618 |
-
parse_str($postData, $postDataArray);
|
2619 |
-
}
|
2620 |
-
$postBillingEmail = $this->postData->get('billing_city', '', 'raw');
|
2621 |
-
if($postBillingEmail != ''){
|
2622 |
-
$postDataArray['billing_city'] = $postBillingEmail;
|
2623 |
-
}
|
2624 |
-
if(!get_current_user_id()){
|
2625 |
-
$order_id = $this->postData->get('order-received', 0);
|
2626 |
-
if($order_id){
|
2627 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
2628 |
-
$postDataArray['billing_city'] = FlycartWoocommerceOrder::get_billing_city($order);
|
2629 |
-
}
|
2630 |
-
}
|
2631 |
-
if(isset($postDataArray['billing_city']) && $postDataArray['billing_city'] != ''){
|
2632 |
-
$billingCity = $postDataArray['billing_city'];
|
2633 |
-
if(in_array(strtolower($billingCity), $rule)){
|
2634 |
-
return true;
|
2635 |
-
}
|
2636 |
-
} else if(get_current_user_id()){
|
2637 |
-
$billingCity = get_user_meta( get_current_user_id(), 'billing_city', true );
|
2638 |
-
if($billingCity != '' && !empty($billingCity)){
|
2639 |
-
if(in_array(strtolower($billingCity), $rule)){
|
2640 |
-
return true;
|
2641 |
-
}
|
2642 |
-
}
|
2643 |
-
}
|
2644 |
-
return false;
|
2645 |
-
break;
|
2646 |
-
case 'customer_shipping_state':
|
2647 |
-
$rule = explode(',', $rule);
|
2648 |
-
if(is_array($rule) && count($rule)){
|
2649 |
-
foreach($rule as $key => $r){
|
2650 |
-
$rule[$key] = strtolower(trim($r));
|
2651 |
-
}
|
2652 |
-
}
|
2653 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
2654 |
-
$postDataArray = array();
|
2655 |
-
if($postData != ''){
|
2656 |
-
parse_str($postData, $postDataArray);
|
2657 |
-
}
|
2658 |
-
if(isset($postDataArray['ship_to_different_address']) && $postDataArray['ship_to_different_address']){
|
2659 |
-
$shippingFieldName = 'shipping_state';
|
2660 |
-
} else {
|
2661 |
-
$shippingFieldName = 'billing_state';
|
2662 |
-
}
|
2663 |
-
$postShippingState = $this->postData->get($shippingFieldName, '', 'raw');
|
2664 |
-
if($postShippingState != ''){
|
2665 |
-
$postDataArray[$shippingFieldName] = $postShippingState;
|
2666 |
-
}
|
2667 |
-
|
2668 |
-
$postCalcShippingState = $this->postData->get('calc_shipping_state', '', 'raw');
|
2669 |
-
if(!empty($postCalcShippingState)){
|
2670 |
-
$postDataArray[$shippingFieldName] = $postCalcShippingState;
|
2671 |
-
}
|
2672 |
-
|
2673 |
-
if(!get_current_user_id()){
|
2674 |
-
$order_id = $this->postData->get('order-received', 0);
|
2675 |
-
if($order_id){
|
2676 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
2677 |
-
$postDataArray['shipping_state'] = FlycartWoocommerceOrder::get_shipping_state($order);
|
2678 |
-
}
|
2679 |
-
}
|
2680 |
-
|
2681 |
-
$customer_from_session = FlycartWoocommerceSession::getSession('customer');
|
2682 |
-
if(!empty($customer_from_session)){
|
2683 |
-
if(isset($customer_from_session[$shippingFieldName])){
|
2684 |
-
$postDataArray[$shippingFieldName] = $customer_from_session[$shippingFieldName];
|
2685 |
-
} else if(isset($customer_from_session['shipping_state'])){
|
2686 |
-
$postDataArray['shipping_state'] = $customer_from_session['shipping_state'];
|
2687 |
-
if(empty($postDataArray[$shippingFieldName])){
|
2688 |
-
$postDataArray[$shippingFieldName] = $postDataArray['shipping_state'];
|
2689 |
-
}
|
2690 |
-
}
|
2691 |
-
}
|
2692 |
-
|
2693 |
-
if(isset($postDataArray[$shippingFieldName]) && $postDataArray[$shippingFieldName] != ''){
|
2694 |
-
$shippingState = $postDataArray[$shippingFieldName];
|
2695 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
2696 |
-
return true;
|
2697 |
-
}
|
2698 |
-
} else if(get_current_user_id()){
|
2699 |
-
$shippingState = get_user_meta( get_current_user_id(), 'shipping_state', true );
|
2700 |
-
if($shippingState != '' && !empty($shippingState)){
|
2701 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
2702 |
-
return true;
|
2703 |
-
}
|
2704 |
-
}
|
2705 |
-
}
|
2706 |
-
return false;
|
2707 |
-
break;
|
2708 |
-
case 'customer_shipping_city':
|
2709 |
-
$rule = explode(',', $rule);
|
2710 |
-
if(is_array($rule) && count($rule)){
|
2711 |
-
foreach($rule as $key => $r){
|
2712 |
-
$rule[$key] = strtolower(trim($r));
|
2713 |
-
}
|
2714 |
-
}
|
2715 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
2716 |
-
$postDataArray = array();
|
2717 |
-
if($postData != ''){
|
2718 |
-
parse_str($postData, $postDataArray);
|
2719 |
-
}
|
2720 |
-
if(isset($postDataArray['ship_to_different_address']) && $postDataArray['ship_to_different_address']){
|
2721 |
-
$shippingFieldName = 'shipping_city';
|
2722 |
-
} else {
|
2723 |
-
$shippingFieldName = 'billing_city';
|
2724 |
-
}
|
2725 |
-
$postShippingState = $this->postData->get($shippingFieldName, '', 'raw');
|
2726 |
-
if($postShippingState != ''){
|
2727 |
-
$postDataArray[$shippingFieldName] = $postShippingState;
|
2728 |
-
}
|
2729 |
-
|
2730 |
-
$postCalcShippingCity = $this->postData->get('calc_shipping_city', '', 'raw');
|
2731 |
-
if(!empty($postCalcShippingCity)){
|
2732 |
-
$postDataArray[$shippingFieldName] = $postCalcShippingCity;
|
2733 |
-
}
|
2734 |
-
|
2735 |
-
if(!get_current_user_id()){
|
2736 |
-
$order_id = $this->postData->get('order-received', 0);
|
2737 |
-
if($order_id){
|
2738 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
2739 |
-
$postDataArray['shipping_city'] = FlycartWoocommerceOrder::get_shipping_city($order);
|
2740 |
-
}
|
2741 |
-
}
|
2742 |
-
|
2743 |
-
$customer_from_session = FlycartWoocommerceSession::getSession('customer');
|
2744 |
-
if(!empty($customer_from_session)){
|
2745 |
-
if(isset($customer_from_session[$shippingFieldName])){
|
2746 |
-
$postDataArray[$shippingFieldName] = $customer_from_session[$shippingFieldName];
|
2747 |
-
} else if(isset($customer_from_session['shipping_city'])){
|
2748 |
-
$postDataArray['shipping_city'] = $customer_from_session['shipping_city'];
|
2749 |
-
if(empty($postDataArray[$shippingFieldName])){
|
2750 |
-
$postDataArray[$shippingFieldName] = $postDataArray['shipping_city'];
|
2751 |
-
}
|
2752 |
-
}
|
2753 |
-
}
|
2754 |
-
|
2755 |
-
if(isset($postDataArray[$shippingFieldName]) && $postDataArray[$shippingFieldName] != ''){
|
2756 |
-
$shippingState = $postDataArray[$shippingFieldName];
|
2757 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
2758 |
-
return true;
|
2759 |
-
}
|
2760 |
-
} else if(get_current_user_id()){
|
2761 |
-
$shippingState = get_user_meta( get_current_user_id(), 'shipping_city', true );
|
2762 |
-
if($shippingState != '' && !empty($shippingState)){
|
2763 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
2764 |
-
return true;
|
2765 |
-
}
|
2766 |
-
}
|
2767 |
-
}
|
2768 |
-
return false;
|
2769 |
-
break;
|
2770 |
-
case 'customer_shipping_zip_code':
|
2771 |
-
$rule = explode(',', $rule);
|
2772 |
-
if(is_array($rule) && count($rule)){
|
2773 |
-
foreach($rule as $key => $r){
|
2774 |
-
$rule[$key] = strtolower(trim($r));
|
2775 |
-
}
|
2776 |
-
}
|
2777 |
-
$postData = $this->postData->get('post_data', '', 'raw');
|
2778 |
-
$postDataArray = array();
|
2779 |
-
if($postData != ''){
|
2780 |
-
parse_str($postData, $postDataArray);
|
2781 |
-
}
|
2782 |
-
if(isset($postDataArray['ship_to_different_address']) && $postDataArray['ship_to_different_address']){
|
2783 |
-
$shippingFieldName = 'shipping_postcode';
|
2784 |
-
} else {
|
2785 |
-
$shippingFieldName = 'billing_postcode';
|
2786 |
-
}
|
2787 |
-
$postShippingState = $this->postData->get($shippingFieldName, '', 'raw');
|
2788 |
-
if($postShippingState != ''){
|
2789 |
-
$postDataArray[$shippingFieldName] = $postShippingState;
|
2790 |
-
}
|
2791 |
-
$post_calc_shipping_postcode = $this->postData->get('calc_shipping_postcode', '', 'raw');
|
2792 |
-
if(!empty($post_calc_shipping_postcode)){
|
2793 |
-
$postDataArray[$shippingFieldName] = $post_calc_shipping_postcode;
|
2794 |
-
}
|
2795 |
-
if(!get_current_user_id()){
|
2796 |
-
$order_id = $this->postData->get('order-received', 0);
|
2797 |
-
if($order_id){
|
2798 |
-
$order = FlycartWoocommerceOrder::wc_get_order($order_id);
|
2799 |
-
$postDataArray['shipping_postcode'] = FlycartWoocommerceOrder::get_shipping_city($order);
|
2800 |
-
}
|
2801 |
-
}
|
2802 |
-
|
2803 |
-
$customer_from_session = FlycartWoocommerceSession::getSession('customer');
|
2804 |
-
if(!empty($customer_from_session)){
|
2805 |
-
if(isset($customer_from_session[$shippingFieldName])){
|
2806 |
-
$postDataArray[$shippingFieldName] = $customer_from_session[$shippingFieldName];
|
2807 |
-
} else if(isset($customer_from_session['shipping_postcode'])){
|
2808 |
-
$postDataArray['shipping_postcode'] = $customer_from_session['shipping_postcode'];
|
2809 |
-
if(empty($postDataArray[$shippingFieldName])){
|
2810 |
-
$postDataArray[$shippingFieldName] = $postDataArray['shipping_postcode'];
|
2811 |
-
}
|
2812 |
-
}
|
2813 |
-
}
|
2814 |
-
|
2815 |
-
if(isset($postDataArray[$shippingFieldName]) && $postDataArray[$shippingFieldName] != ''){
|
2816 |
-
$shippingState = $postDataArray[$shippingFieldName];
|
2817 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
2818 |
-
return true;
|
2819 |
-
}
|
2820 |
-
} else if(get_current_user_id()){
|
2821 |
-
$shippingState = get_user_meta( get_current_user_id(), 'shipping_postcode', true );
|
2822 |
-
if($shippingState != '' && !empty($shippingState)){
|
2823 |
-
if(in_array(strtolower($shippingState), $rule) || in_array(strtoupper($shippingState), $rule)){
|
2824 |
-
return true;
|
2825 |
-
}
|
2826 |
-
}
|
2827 |
-
}
|
2828 |
-
return false;
|
2829 |
-
break;
|
2830 |
-
case 'products_in_list':
|
2831 |
-
case 'products_not_in_list':
|
2832 |
-
case 'exclude_sale_products':
|
2833 |
-
case 'categories_in':
|
2834 |
-
case 'exclude_categories':
|
2835 |
-
case 'atleast_one_including_sub_categories':
|
2836 |
-
case 'in_each_category':
|
2837 |
-
$ruleSuccess = $this->validateCartItemsInSelectedProductsAndCategories($index, $rule, $rules, $rules_with_all_data, $rule_sets);
|
2838 |
-
if($ruleSuccess){
|
2839 |
-
return true;
|
2840 |
-
} else {
|
2841 |
-
return false;
|
2842 |
-
}
|
2843 |
-
break;
|
2844 |
-
case 'customer_based_on_first_order':
|
2845 |
-
case 'customer_based_on_purchase_history':
|
2846 |
-
case 'customer_based_on_purchase_history_order_count':
|
2847 |
-
case 'customer_based_on_purchase_history_product_order_count':
|
2848 |
-
case 'customer_based_on_purchase_history_product_quantity_count':
|
2849 |
-
if($index == 'customer_based_on_first_order'){
|
2850 |
-
$rule = array();
|
2851 |
-
}
|
2852 |
-
if($index == 'customer_based_on_first_order' || count($rule)){
|
2853 |
-
$ruleSuccess = $this->validateCartItemsBasedOnPurchaseHistory($index, $rule, $rules);
|
2854 |
-
if($ruleSuccess){
|
2855 |
-
return true;
|
2856 |
-
}
|
2857 |
-
}
|
2858 |
-
return false;
|
2859 |
-
break;
|
2860 |
-
case 'create_dynamic_coupon':
|
2861 |
-
case 'coupon_applied_any_one':
|
2862 |
-
if(!empty($rule)){
|
2863 |
-
$ruleSuccess = $this->validateCartCouponAppliedAnyOne($index, $rule, $rules);
|
2864 |
-
if($ruleSuccess){
|
2865 |
-
if(is_string($rule)){
|
2866 |
-
$coupons = explode(',', $rule);
|
2867 |
-
} elseif (is_array($rule)){
|
2868 |
-
$coupons = $rule;
|
2869 |
-
} else {
|
2870 |
-
return false;
|
2871 |
-
}
|
2872 |
-
|
2873 |
-
FlycartWooDiscountRulesGeneralHelper::removeCouponPriceInCart($coupons);
|
2874 |
-
return true;
|
2875 |
-
}
|
2876 |
-
}
|
2877 |
-
return false;
|
2878 |
-
break;
|
2879 |
-
case 'coupon_applied_all_selected':
|
2880 |
-
if(!empty($rule)){
|
2881 |
-
$ruleSuccess = $this->validateCartCouponAppliedAllSelected($index, $rule, $rules);
|
2882 |
-
if($ruleSuccess){
|
2883 |
-
if(is_string($rule)){
|
2884 |
-
$coupons = explode(',', $rule);
|
2885 |
-
} elseif (is_array($rule)){
|
2886 |
-
$coupons = $rule;
|
2887 |
-
} else {
|
2888 |
-
return false;
|
2889 |
-
}
|
2890 |
-
FlycartWooDiscountRulesGeneralHelper::removeCouponPriceInCart($coupons);
|
2891 |
-
return true;
|
2892 |
-
}
|
2893 |
-
}
|
2894 |
-
return false;
|
2895 |
-
break;
|
2896 |
-
}
|
2897 |
-
}
|
2898 |
-
|
2899 |
-
/**
|
2900 |
-
* Set coupon applied
|
2901 |
-
* */
|
2902 |
-
protected static function setAppliedCoupon($coupon){
|
2903 |
-
if(!in_array($coupon, self::$applied_coupon)){
|
2904 |
-
self::$applied_coupon[] = $coupon;
|
2905 |
-
}
|
2906 |
-
}
|
2907 |
-
|
2908 |
-
/**
|
2909 |
-
* get applied coupon
|
2910 |
-
* */
|
2911 |
-
public static function getAppliedCoupons(){
|
2912 |
-
return self::$applied_coupon;
|
2913 |
-
}
|
2914 |
-
|
2915 |
-
/**
|
2916 |
-
* Format BOGO discount code
|
2917 |
-
*
|
2918 |
-
* @param $product_name string
|
2919 |
-
* @param $quantity integer
|
2920 |
-
* @param $product mixed
|
2921 |
-
* @param $coupon_code string
|
2922 |
-
* @return string
|
2923 |
-
* */
|
2924 |
-
public static function formatBOGOCouponCode($product_name, $quantity, $product, $coupon_code){
|
2925 |
-
$code = str_replace(array('{{product_name}}', '{{quantity}}'), array($product_name, $quantity), $coupon_code);
|
2926 |
-
$code = self::filterCouponCode($code);
|
2927 |
-
$code = wc_strtolower($code);
|
2928 |
-
$code = apply_filters('woo_discount_rules_cart_bogo_coupon_code_based_on_product', $code, $product, $quantity);
|
2929 |
-
|
2930 |
-
return $code;
|
2931 |
-
}
|
2932 |
-
|
2933 |
-
/**
|
2934 |
-
* Filter discount code
|
2935 |
-
*
|
2936 |
-
* @param $code string
|
2937 |
-
* @return string
|
2938 |
-
* */
|
2939 |
-
public static function filterCouponCode($code){
|
2940 |
-
$code = str_replace(array("'", '"'), array('', ''), $code);
|
2941 |
-
$code = wc_format_coupon_code($code);
|
2942 |
-
return $code;
|
2943 |
-
}
|
2944 |
-
}
|
2945 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/includes/compatibility.php
DELETED
@@ -1,125 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
-
|
4 |
-
/**
|
5 |
-
* Class FlycartWooDiscountRulesPricingRules
|
6 |
-
*/
|
7 |
-
if (!class_exists('FlycartWooDiscountRulesCompatibility')) {
|
8 |
-
class FlycartWooDiscountRulesCompatibility
|
9 |
-
{
|
10 |
-
protected static $is_pro_version = false;
|
11 |
-
|
12 |
-
protected static $discount_base;
|
13 |
-
|
14 |
-
/**
|
15 |
-
* Initialize the scripts
|
16 |
-
* */
|
17 |
-
public static function init()
|
18 |
-
{
|
19 |
-
self::set_is_pro_version();
|
20 |
-
self::set_discount_base_object();
|
21 |
-
if (self::$is_pro_version) {
|
22 |
-
add_filter('woocommerce_cart_totals_coupon_label', 'FlycartWooDiscountRulesCompatibility::change_woocommerce_cart_totals_coupon_label', 10, 2);
|
23 |
-
$additional_taxonomies = self::$discount_base->getConfigData('additional_taxonomies', array(), 'taxonomy');
|
24 |
-
if (FlycartWooDiscountRulesGeneralHelper::is_countable($additional_taxonomies)) {
|
25 |
-
add_filter('woo_discount_rules_accepted_taxonomy_for_category', 'FlycartWooDiscountRulesCompatibility::woo_discount_rules_accepted_taxonomy_for_category', 10);
|
26 |
-
add_filter('woo_discount_rules_load_additional_taxonomy', 'FlycartWooDiscountRulesCompatibility::woo_discount_rules_load_additional_taxonomy', 10, 2);
|
27 |
-
}
|
28 |
-
}
|
29 |
-
}
|
30 |
-
|
31 |
-
/**
|
32 |
-
* Set is pro version or not
|
33 |
-
* */
|
34 |
-
protected static function set_is_pro_version()
|
35 |
-
{
|
36 |
-
$purchase_helper = new FlycartWooDiscountRulesPurchase();
|
37 |
-
self::$is_pro_version = $purchase_helper->isPro();
|
38 |
-
}
|
39 |
-
|
40 |
-
/**
|
41 |
-
* Set is pro version or not
|
42 |
-
* */
|
43 |
-
protected static function set_discount_base_object()
|
44 |
-
{
|
45 |
-
self::$discount_base = FlycartWooDiscountBase::get_instance();
|
46 |
-
}
|
47 |
-
|
48 |
-
/**
|
49 |
-
* To support additional taxonomy in categories
|
50 |
-
* */
|
51 |
-
public static function woo_discount_rules_accepted_taxonomy_for_category($taxonomy)
|
52 |
-
{
|
53 |
-
$additional_taxonomies = self::$discount_base->getConfigData('additional_taxonomies', array(), 'taxonomy');
|
54 |
-
if (FlycartWooDiscountRulesGeneralHelper::is_countable($additional_taxonomies)) {
|
55 |
-
foreach ($additional_taxonomies as $additional_taxonomy) {
|
56 |
-
$taxonomy[] = $additional_taxonomy;
|
57 |
-
}
|
58 |
-
}
|
59 |
-
|
60 |
-
return $taxonomy;
|
61 |
-
}
|
62 |
-
|
63 |
-
/**
|
64 |
-
* To support additional taxonomy in categories
|
65 |
-
* */
|
66 |
-
public static function woo_discount_rules_load_additional_taxonomy($categories, $product_id)
|
67 |
-
{
|
68 |
-
$additional_taxonomies = self::$discount_base->getConfigData('additional_taxonomies', array(), 'taxonomy');
|
69 |
-
if (FlycartWooDiscountRulesGeneralHelper::is_countable($additional_taxonomies)) {
|
70 |
-
foreach ($additional_taxonomies as $taxonomy) {
|
71 |
-
$terms = get_the_terms($product_id, $taxonomy);
|
72 |
-
if (!empty($terms)) {
|
73 |
-
if ((is_object($terms) || is_array($terms))) {
|
74 |
-
if (FlycartWooDiscountRulesGeneralHelper::is_countable($terms)) {
|
75 |
-
foreach ($terms as $term) {
|
76 |
-
if (!empty($term->term_id)) {
|
77 |
-
$categories[] = $term->term_id;
|
78 |
-
}
|
79 |
-
}
|
80 |
-
}
|
81 |
-
}
|
82 |
-
}
|
83 |
-
}
|
84 |
-
}
|
85 |
-
|
86 |
-
return $categories;
|
87 |
-
}
|
88 |
-
|
89 |
-
/**
|
90 |
-
* To change the discount name/code in front end
|
91 |
-
* */
|
92 |
-
public static function change_woocommerce_cart_totals_coupon_label($text, $coupon)
|
93 |
-
{
|
94 |
-
$customize_coupon_name_html = self::$discount_base->getConfigData('customize_coupon_name_html', '');
|
95 |
-
if (!empty($customize_coupon_name_html)) {
|
96 |
-
global $flycart_woo_discount_rules;
|
97 |
-
//process only for woo discount rules
|
98 |
-
if (!empty($flycart_woo_discount_rules->cart_rules) && !empty($flycart_woo_discount_rules->cart_rules->coupon_code)) {
|
99 |
-
$coupon_code = FlycartWoocommerceCoupon::get_code($coupon);
|
100 |
-
//process only for woo discount rules
|
101 |
-
if (!empty($coupon_code) && $coupon_code == $flycart_woo_discount_rules->cart_rules->coupon_code) {
|
102 |
-
$applied_rules = $flycart_woo_discount_rules->cart_rules->matched_discounts;
|
103 |
-
$rule_names = '';
|
104 |
-
|
105 |
-
if (isset($applied_rules) && count($applied_rules) && isset($applied_rules['name'])) {
|
106 |
-
$rule_names = implode(', ', $applied_rules['name']);
|
107 |
-
}
|
108 |
-
$new_text = __($customize_coupon_name_html, 'woo-discount-rules');
|
109 |
-
if (!empty($new_text)) {
|
110 |
-
if (!empty($rule_names)) {
|
111 |
-
$new_text = str_replace('{rule_name}', $rule_names, $new_text);
|
112 |
-
}
|
113 |
-
//change the value here to have your own customized display
|
114 |
-
$text = $new_text;
|
115 |
-
}
|
116 |
-
}
|
117 |
-
}
|
118 |
-
}
|
119 |
-
|
120 |
-
return $text;
|
121 |
-
}
|
122 |
-
}
|
123 |
-
|
124 |
-
FlycartWooDiscountRulesCompatibility::init();
|
125 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/includes/discount-base.php
DELETED
@@ -1,1469 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
-
|
4 |
-
global $woocommerce;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Class FlycartWooDiscountBase
|
8 |
-
*/
|
9 |
-
if (!class_exists('FlycartWooDiscountBase')) {
|
10 |
-
class FlycartWooDiscountBase
|
11 |
-
{
|
12 |
-
/**
|
13 |
-
* @var string
|
14 |
-
*/
|
15 |
-
public $default_page = 'pricing-rules';
|
16 |
-
|
17 |
-
/**
|
18 |
-
* @var string
|
19 |
-
*/
|
20 |
-
public $default_option = 'woo-discount-config';
|
21 |
-
public $taxonomy_option = 'woo-discount-taxonomy';
|
22 |
-
|
23 |
-
/**
|
24 |
-
* @var array
|
25 |
-
*/
|
26 |
-
private $instance = array();
|
27 |
-
|
28 |
-
public $has_free_shipping = 0;
|
29 |
-
public $has_free_shipping_rule = 0;
|
30 |
-
|
31 |
-
protected static $self_instance;
|
32 |
-
|
33 |
-
/**
|
34 |
-
* FlycartWooDiscountBase constructor.
|
35 |
-
*/
|
36 |
-
public function __construct() {}
|
37 |
-
|
38 |
-
/**
|
39 |
-
* Singleton Instance maker.
|
40 |
-
*
|
41 |
-
* @param $name
|
42 |
-
* @return bool
|
43 |
-
*/
|
44 |
-
public function getInstance($name)
|
45 |
-
{
|
46 |
-
if (!isset($this->instance[$name])) {
|
47 |
-
if (class_exists($name)) {
|
48 |
-
$this->instance[$name] = new $name;
|
49 |
-
$instance = $this->instance[$name];
|
50 |
-
} else {
|
51 |
-
$instance = false;
|
52 |
-
}
|
53 |
-
} else {
|
54 |
-
$instance = $this->instance[$name];
|
55 |
-
}
|
56 |
-
return $instance;
|
57 |
-
}
|
58 |
-
|
59 |
-
public static function get_instance(){
|
60 |
-
if (empty(self::$self_instance))
|
61 |
-
{
|
62 |
-
self::$self_instance = new self();
|
63 |
-
}
|
64 |
-
return self::$self_instance;
|
65 |
-
}
|
66 |
-
|
67 |
-
/**
|
68 |
-
* Managing discount of Price and Cart.
|
69 |
-
*/
|
70 |
-
public function handleDiscount()
|
71 |
-
{
|
72 |
-
global $woocommerce;
|
73 |
-
|
74 |
-
$price_discount = $this->getInstance('FlycartWooDiscountRulesPricingRules');
|
75 |
-
$cart_discount = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
76 |
-
|
77 |
-
$price_discount->analyse($woocommerce);
|
78 |
-
$cart_discount->analyse($woocommerce);
|
79 |
-
}
|
80 |
-
|
81 |
-
/**
|
82 |
-
* Managing discount of Cart.
|
83 |
-
*/
|
84 |
-
public function handleCartDiscount($free_shipping_check = 0)
|
85 |
-
{
|
86 |
-
global $woocommerce;
|
87 |
-
$cart_discount = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
88 |
-
$cart_discount->analyse($woocommerce, $free_shipping_check);
|
89 |
-
$this->has_free_shipping_rule = $cart_discount->has_free_shipping_rule;
|
90 |
-
if($free_shipping_check){
|
91 |
-
$this->has_free_shipping = $cart_discount->has_free_shipping;
|
92 |
-
}
|
93 |
-
}
|
94 |
-
|
95 |
-
/**
|
96 |
-
* Managing discount of Price.
|
97 |
-
*/
|
98 |
-
public function handlePriceDiscount()
|
99 |
-
{
|
100 |
-
global $woocommerce;
|
101 |
-
$price_discount = $this->getInstance('FlycartWooDiscountRulesPricingRules');
|
102 |
-
$price_discount->analyse($woocommerce);
|
103 |
-
}
|
104 |
-
|
105 |
-
/**
|
106 |
-
* For adding script in checkout page
|
107 |
-
* */
|
108 |
-
public function addScriptInCheckoutPage(){
|
109 |
-
$additional_class_to_add = '';
|
110 |
-
$additional_class = apply_filters('woo_discount_rules_add_additional_class_to_refresh_the_checkout_review_on_blur', $additional_class_to_add);
|
111 |
-
if(!empty($additional_class) && is_string($additional_class)){
|
112 |
-
$additional_class_to_add = $additional_class;
|
113 |
-
}
|
114 |
-
$on_blur_event_for_items = apply_filters('woo_discount_rules_class_to_refresh_the_checkout_review_on_blur', 'input#billing_email, select#billing_state');
|
115 |
-
$script = '<script type="text/javascript">
|
116 |
-
jQuery( function( $ ) {
|
117 |
-
$(document).ready(function() {
|
118 |
-
$( document.body ).on( "blur", "'.$on_blur_event_for_items.$additional_class_to_add.'", function() {
|
119 |
-
$(document.body).trigger("update_checkout");
|
120 |
-
});
|
121 |
-
});
|
122 |
-
});
|
123 |
-
</script>';
|
124 |
-
echo $script;
|
125 |
-
}
|
126 |
-
|
127 |
-
/**
|
128 |
-
* WooCommerce hook to change the name of a product.
|
129 |
-
*
|
130 |
-
* @param $title
|
131 |
-
* @return mixed
|
132 |
-
*/
|
133 |
-
public function modifyName($title)
|
134 |
-
{
|
135 |
-
//
|
136 |
-
return $title;
|
137 |
-
}
|
138 |
-
|
139 |
-
/**
|
140 |
-
* Finally, on triggering the "Thank You" hook by WooCommerce,
|
141 |
-
* Overall session data's are stored to the order's meta as "woo_discount_log".
|
142 |
-
*
|
143 |
-
* @param integer $order_id Order ID.
|
144 |
-
*/
|
145 |
-
public function storeLog($order_id)
|
146 |
-
{
|
147 |
-
if (function_exists('WC')) {
|
148 |
-
if (!empty(WC()->session)) {
|
149 |
-
if (method_exists(WC()->session, 'get')) {
|
150 |
-
$log['price_discount'] = WC()->session->get('woo_price_discount', array());
|
151 |
-
$log['cart_discount'] = WC()->session->get('woo_cart_discount', array());
|
152 |
-
|
153 |
-
add_post_meta($order_id, 'woo_discount_log', json_encode($log), 1);
|
154 |
-
|
155 |
-
// Reset the Coupon Status.
|
156 |
-
WC()->session->set('woo_coupon_removed', '');
|
157 |
-
}
|
158 |
-
}
|
159 |
-
}
|
160 |
-
}
|
161 |
-
|
162 |
-
/**
|
163 |
-
* Create New Menu On WooCommerce.
|
164 |
-
*/
|
165 |
-
public function adminMenu()
|
166 |
-
{
|
167 |
-
if (!is_admin()) return;
|
168 |
-
|
169 |
-
global $submenu;
|
170 |
-
if (isset($submenu['woocommerce'])) {
|
171 |
-
add_submenu_page(
|
172 |
-
'woocommerce',
|
173 |
-
'Woo Discount Rules',
|
174 |
-
'Woo Discount Rules',
|
175 |
-
'edit_posts',
|
176 |
-
'woo_discount_rules',
|
177 |
-
array($this, 'viewManager')
|
178 |
-
);
|
179 |
-
}
|
180 |
-
}
|
181 |
-
|
182 |
-
/**
|
183 |
-
* Update the Status of the Rule Set.
|
184 |
-
*/
|
185 |
-
public function updateStatus()
|
186 |
-
{
|
187 |
-
$postData = \FlycartInput\FInput::getInstance();
|
188 |
-
$id = $postData->get('id', false);
|
189 |
-
$wdr_nonce = $postData->get('wdr_nonce', false);
|
190 |
-
if(!empty($wdr_nonce)){
|
191 |
-
if(FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
192 |
-
if(FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_rule_listing', $wdr_nonce)){
|
193 |
-
if ($id) {
|
194 |
-
$status = get_post_meta($id, 'status', false);
|
195 |
-
if (isset($status[0])) {
|
196 |
-
$state = ($status[0] == 'publish') ? 'disable' : 'publish';
|
197 |
-
update_post_meta($id, 'status', $state);
|
198 |
-
} else {
|
199 |
-
add_post_meta($id, 'status', 'disable');
|
200 |
-
$state = 'disable';
|
201 |
-
}
|
202 |
-
$meta = get_post_meta($id, '', true);
|
203 |
-
$status_string = '';
|
204 |
-
if(!empty($meta)){
|
205 |
-
if(!isset($meta['status'][0])) $meta['status'][0] = 'disable';
|
206 |
-
if($meta['status'][0] == 'publish'){
|
207 |
-
$status_string .= "<span class='wdr_status_active_text alert alert-success'>".esc_html__('Active', 'woo-discount-rules')."</span>";
|
208 |
-
} else {
|
209 |
-
$status_string .= "<span class='wdr_status_disabled_text alert alert-danger'>".esc_html__('Disabled', 'woo-discount-rules')."</span>";
|
210 |
-
}
|
211 |
-
if($meta['status'][0] == 'publish'){
|
212 |
-
$date_from = (isset($meta['date_from'][0]) ? $meta['date_from'][0] : false);
|
213 |
-
$date_to = (isset($meta['date_to'][0]) ? $meta['date_to'][0] : false);
|
214 |
-
$validate_date_string = FlycartWooDiscountRulesGeneralHelper::validateDateAndTimeWarningTextForListingHTML($date_from, $date_to);
|
215 |
-
$status_string .= $validate_date_string;
|
216 |
-
}
|
217 |
-
}
|
218 |
-
$return_value = array('status' => ucfirst($state), 'status_html' => $status_string);
|
219 |
-
|
220 |
-
echo json_encode($return_value);
|
221 |
-
}
|
222 |
-
}
|
223 |
-
}
|
224 |
-
}
|
225 |
-
die();
|
226 |
-
}
|
227 |
-
|
228 |
-
/**
|
229 |
-
* Remove the Rule Set.
|
230 |
-
*/
|
231 |
-
public function removeRule()
|
232 |
-
{
|
233 |
-
$postData = \FlycartInput\FInput::getInstance();
|
234 |
-
$id = $postData->get('id', false);
|
235 |
-
$wdr_nonce = $postData->get('wdr_nonce', false);
|
236 |
-
if(!empty($wdr_nonce)) {
|
237 |
-
if (FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
238 |
-
if (FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_rule_listing', $wdr_nonce)) {
|
239 |
-
if ($id) {
|
240 |
-
try {
|
241 |
-
$id = intval($id);
|
242 |
-
if (!$id) return false;
|
243 |
-
wp_delete_post($id);
|
244 |
-
} catch (Exception $e) {
|
245 |
-
//
|
246 |
-
}
|
247 |
-
}
|
248 |
-
}
|
249 |
-
}
|
250 |
-
}
|
251 |
-
die();
|
252 |
-
}
|
253 |
-
// -------------------------------------- PRICE RULES ---------------------------------------------------------------
|
254 |
-
/**
|
255 |
-
* Saving the Price Rule.
|
256 |
-
*
|
257 |
-
* @return bool
|
258 |
-
*/
|
259 |
-
public function savePriceRule()
|
260 |
-
{
|
261 |
-
$postData = \FlycartInput\FInput::getInstance();
|
262 |
-
$request = $postData->getArray();
|
263 |
-
$params = array();
|
264 |
-
if (!isset($request['data'])) return false;
|
265 |
-
parse_str($request['data'], $params);
|
266 |
-
if(isset($params['wdr_nonce']) && !empty($params['wdr_nonce'])){
|
267 |
-
if(FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
268 |
-
if(FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_save_price_rule', $params['wdr_nonce'])){
|
269 |
-
$pricing_rule = $this->getInstance('FlycartWooDiscountRulesPricingRules');
|
270 |
-
$pricing_rule->save($params);
|
271 |
-
}
|
272 |
-
}
|
273 |
-
}
|
274 |
-
die();
|
275 |
-
}
|
276 |
-
|
277 |
-
// -------------------------------------- CART RULES ----------------------------------------------------------------
|
278 |
-
/**
|
279 |
-
* Saving the Cart Rule.
|
280 |
-
*
|
281 |
-
* @return bool
|
282 |
-
*/
|
283 |
-
public function saveCartRule()
|
284 |
-
{
|
285 |
-
|
286 |
-
$postData = \FlycartInput\FInput::getInstance();
|
287 |
-
$request = $postData->getArray();
|
288 |
-
$params = array();
|
289 |
-
if (!isset($request['data'])) return false;
|
290 |
-
parse_str($request['data'], $params);
|
291 |
-
if(isset($params['wdr_nonce']) && !empty($params['wdr_nonce'])){
|
292 |
-
if(FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
293 |
-
if(FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_save_cart_rule', $params['wdr_nonce'])){
|
294 |
-
$this->parseFormWithRules($params, true);
|
295 |
-
$pricing_rule = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
296 |
-
$pricing_rule->save($params);
|
297 |
-
}
|
298 |
-
}
|
299 |
-
}
|
300 |
-
die();
|
301 |
-
}
|
302 |
-
|
303 |
-
/**
|
304 |
-
* load product select box
|
305 |
-
*
|
306 |
-
* @return bool
|
307 |
-
*/
|
308 |
-
public function loadProductSelectBox() {
|
309 |
-
$postData = \FlycartInput\FInput::getInstance();
|
310 |
-
$request = $postData->getArray();
|
311 |
-
if(isset($request['wdr_nonce']) && !empty($request['wdr_nonce'])) {
|
312 |
-
if (FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
313 |
-
if (FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_ajax_search_field', $request['wdr_nonce'])) {
|
314 |
-
if (!isset($request['name'])) return false;
|
315 |
-
echo FlycartWoocommerceProduct::getProductAjaxSelectBox(array(), $request['name']);
|
316 |
-
}
|
317 |
-
}
|
318 |
-
}
|
319 |
-
die();
|
320 |
-
}
|
321 |
-
|
322 |
-
/**
|
323 |
-
* load coupons
|
324 |
-
*
|
325 |
-
* @return bool
|
326 |
-
*/
|
327 |
-
public function loadCoupons() {
|
328 |
-
$postData = \FlycartInput\FInput::getInstance();
|
329 |
-
$request = $postData->getArray();
|
330 |
-
$posts = array();
|
331 |
-
if(isset($request['wdr_nonce']) && !empty($request['wdr_nonce'])){
|
332 |
-
if(FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
333 |
-
if(FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_ajax_search_field', $request['wdr_nonce'])){
|
334 |
-
$page = isset($request['page'])? $request['page']: 1;
|
335 |
-
$query = isset($request['q'])? $request['q']: '';
|
336 |
-
$args = array( 'posts_per_page' => 30, 's' => $query,
|
337 |
-
'paged' => $page, 'post_type' => 'shop_coupon' );
|
338 |
-
$posts = get_posts($args);
|
339 |
-
if(!empty($posts) && count($posts) > 0){
|
340 |
-
foreach ($posts as $post){
|
341 |
-
if(function_exists('wc_strtolower')){
|
342 |
-
$coupon_name = wc_strtolower($post->post_title);
|
343 |
-
} else {
|
344 |
-
$coupon_name = strtolower($post->post_title);
|
345 |
-
}
|
346 |
-
$post->post_name = $coupon_name;
|
347 |
-
}
|
348 |
-
}
|
349 |
-
}
|
350 |
-
}
|
351 |
-
}
|
352 |
-
|
353 |
-
echo json_encode($posts);
|
354 |
-
die();
|
355 |
-
}
|
356 |
-
|
357 |
-
/**
|
358 |
-
* Get coupon options
|
359 |
-
*
|
360 |
-
* @param array $selected
|
361 |
-
* @return string
|
362 |
-
* */
|
363 |
-
public static function loadSelectedCouponOptions($selected){
|
364 |
-
$html_options = '';
|
365 |
-
if(!empty($selected) && is_array($selected)){
|
366 |
-
// $args = array( 'numberposts' => '-1', 'post_type' => 'shop_coupon', 'post_name__in' => $selected);
|
367 |
-
// $posts = get_posts($args);
|
368 |
-
$in_data = "'".implode("','", $selected)."'";
|
369 |
-
global $wpdb;
|
370 |
-
$query = "SELECT `post_title`, `post_name` FROM $wpdb->posts WHERE `post_type` = 'shop_coupon' AND `post_status` <> 'trash' AND `post_title` IN (".$in_data.")";
|
371 |
-
$posts = $wpdb->get_results($query);
|
372 |
-
if(!empty($posts)){
|
373 |
-
if(count($posts)){
|
374 |
-
foreach ($posts as $post){
|
375 |
-
if(function_exists('wc_strtolower')){
|
376 |
-
$coupon_name = wc_strtolower($post->post_title);
|
377 |
-
} else {
|
378 |
-
$coupon_name = strtolower($post->post_title);
|
379 |
-
}
|
380 |
-
$html_options .= '<option value="'.$coupon_name.'" selected="selected">'.$post->post_title.'</option>';
|
381 |
-
}
|
382 |
-
}
|
383 |
-
}
|
384 |
-
}
|
385 |
-
|
386 |
-
return $html_options;
|
387 |
-
}
|
388 |
-
|
389 |
-
/**
|
390 |
-
* Get coupon count
|
391 |
-
*
|
392 |
-
* @return int
|
393 |
-
* */
|
394 |
-
public static function getWooCommerceCouponCount(){
|
395 |
-
$count = wp_count_posts( 'shop_coupon' );
|
396 |
-
$coupon_count = 0;
|
397 |
-
if(!empty($count) && isset($count->publish)){
|
398 |
-
if(!empty($count->publish)){
|
399 |
-
$coupon_count = $count->publish;
|
400 |
-
}
|
401 |
-
}
|
402 |
-
|
403 |
-
return $coupon_count;
|
404 |
-
}
|
405 |
-
|
406 |
-
/**
|
407 |
-
* Has large number of coupons
|
408 |
-
* */
|
409 |
-
public static function hasLargeNumberOfCoupon(){
|
410 |
-
$load_coupon_by_search = apply_filters('woo_discount_rules_load_coupon_value_by_search', false);
|
411 |
-
if($load_coupon_by_search){
|
412 |
-
return true;
|
413 |
-
} else {
|
414 |
-
$count = self::getWooCommerceCouponCount();
|
415 |
-
if($count > 50) return true;
|
416 |
-
return false;
|
417 |
-
}
|
418 |
-
}
|
419 |
-
|
420 |
-
/**
|
421 |
-
* Making the reliable end data to store.
|
422 |
-
*
|
423 |
-
* @param $cart_rules
|
424 |
-
* @param bool $isCartRules
|
425 |
-
*/
|
426 |
-
public function parseFormWithRules(&$cart_rules, $isCartRules = false)
|
427 |
-
{
|
428 |
-
$cart_rules['discount_rule'] = $this->generateFormData($cart_rules, $isCartRules);
|
429 |
-
}
|
430 |
-
|
431 |
-
/**
|
432 |
-
* @param $cart_rules
|
433 |
-
* @param bool $isCartRules
|
434 |
-
* @return array
|
435 |
-
*/
|
436 |
-
public function generateFormData($cart_rules, $isCartRules = false)
|
437 |
-
{
|
438 |
-
$link = $this->fieldLink();
|
439 |
-
|
440 |
-
$discount_list = array();
|
441 |
-
// Here, Eliminating the Cart's rule with duplicates.
|
442 |
-
$discount_rule = (isset($cart_rules['discount_rule']) ? $cart_rules['discount_rule'] : array());
|
443 |
-
if ($isCartRules) {
|
444 |
-
if(is_array($discount_rule) && count($discount_rule)){
|
445 |
-
foreach ($discount_rule as $index => $value) {
|
446 |
-
|
447 |
-
// The Type of Option should get value from it's native index.
|
448 |
-
// $link[$value['type']] will gives the native index of the "type"
|
449 |
-
|
450 |
-
if (isset($link[$value['type']])) {
|
451 |
-
if(is_array($link[$value['type']])){
|
452 |
-
foreach ($link[$value['type']] as $fields){
|
453 |
-
$discount_list[$index][$value['type']][$fields] = $value[$fields];
|
454 |
-
}
|
455 |
-
} else if (isset($value[$link[$value['type']]])) {
|
456 |
-
$discount_list[$index][$value['type']] = $value[$link[$value['type']]];
|
457 |
-
}
|
458 |
-
} else {
|
459 |
-
$discount_list[$index][$value['type']] = $value['option_value'];
|
460 |
-
}
|
461 |
-
}
|
462 |
-
}
|
463 |
-
}
|
464 |
-
|
465 |
-
return $discount_list;
|
466 |
-
|
467 |
-
}
|
468 |
-
|
469 |
-
/**
|
470 |
-
* @return array
|
471 |
-
*/
|
472 |
-
public function fieldLink()
|
473 |
-
{
|
474 |
-
// TODO: Check Subtotal Link
|
475 |
-
return array(
|
476 |
-
'products_atleast_one' => 'product_to_apply',
|
477 |
-
'products_not_in' => 'product_to_apply',
|
478 |
-
|
479 |
-
'categories_atleast_one' => 'category_to_apply',
|
480 |
-
'exclude_categories' => 'category_to_apply',
|
481 |
-
'categories_in' => 'category_to_apply',
|
482 |
-
'in_each_category' => 'category_to_apply',
|
483 |
-
'atleast_one_including_sub_categories' => 'category_to_apply',
|
484 |
-
|
485 |
-
'coupon_applied_any_one' => 'coupon_to_apply',
|
486 |
-
'coupon_applied_all_selected' => 'coupon_to_apply',
|
487 |
-
|
488 |
-
'products_in_list' => 'products',
|
489 |
-
'products_not_in_list' => 'products',
|
490 |
-
|
491 |
-
'users_in' => 'users_to_apply',
|
492 |
-
'roles_in' => 'user_roles_to_apply',
|
493 |
-
'shipping_countries_in' => 'countries_to_apply',
|
494 |
-
'customer_based_on_purchase_history' => array('purchase_history_order_status', 'purchased_history_amount', 'purchased_history_type', 'purchased_history_duration', 'purchased_history_duration_days'),
|
495 |
-
'customer_based_on_purchase_history_order_count' => array('purchase_history_order_status', 'purchased_history_amount', 'purchased_history_type', 'purchased_history_duration', 'purchased_history_duration_days'),
|
496 |
-
'customer_based_on_purchase_history_product_order_count' => array('purchase_history_order_status', 'purchased_history_amount', 'purchased_history_type', 'purchase_history_products', 'purchased_history_duration', 'purchased_history_duration_days'),
|
497 |
-
'customer_based_on_purchase_history_product_quantity_count' => array('purchase_history_order_status', 'purchased_history_amount', 'purchased_history_type', 'purchase_history_products', 'purchased_history_duration', 'purchased_history_duration_days'),
|
498 |
-
);
|
499 |
-
}
|
500 |
-
|
501 |
-
// ----------------------------------------- CART RULES END --------------------------------------------------------
|
502 |
-
|
503 |
-
|
504 |
-
// -------------------------------------------SETTINGS--------------------------------------------------------------
|
505 |
-
|
506 |
-
/**
|
507 |
-
*
|
508 |
-
*/
|
509 |
-
public function saveConfig($licenceValidate = 0)
|
510 |
-
{
|
511 |
-
$postData = \FlycartInput\FInput::getInstance();
|
512 |
-
$request = $postData->getArray();
|
513 |
-
$params = array();
|
514 |
-
$type = 'default';
|
515 |
-
if (isset($request['from'])) {
|
516 |
-
if(in_array($request['from'], array('taxonomy'))){
|
517 |
-
$type = $request['from'];
|
518 |
-
}
|
519 |
-
}
|
520 |
-
if($type == 'taxonomy'){
|
521 |
-
$option_type = $this->taxonomy_option;
|
522 |
-
} else {
|
523 |
-
$option_type = $this->default_option;
|
524 |
-
}
|
525 |
-
|
526 |
-
if (isset($request['data'])) {
|
527 |
-
parse_str($request['data'], $params);
|
528 |
-
}
|
529 |
-
|
530 |
-
if(isset($params['wdr_nonce']) && !empty($params['wdr_nonce'])){
|
531 |
-
if(FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
532 |
-
if(FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_save_rule_config', $params['wdr_nonce'])){
|
533 |
-
if(isset($params['coupon_name'])){
|
534 |
-
$params['coupon_name'] = trim($params['coupon_name']);
|
535 |
-
}
|
536 |
-
|
537 |
-
if (is_array($request)) {
|
538 |
-
if(isset($params['show_draft']) && $params['show_draft']){
|
539 |
-
$params['show_draft'] = 1;
|
540 |
-
} else {
|
541 |
-
$params['show_draft'] = 0;
|
542 |
-
}
|
543 |
-
foreach ($params as $index => $item) {
|
544 |
-
// $params[$index] = FlycartWooDiscountRulesGeneralHelper::makeString($item);
|
545 |
-
$params[$index] = $item;
|
546 |
-
}
|
547 |
-
$params = json_encode($params);
|
548 |
-
}
|
549 |
-
|
550 |
-
if (get_option($option_type)) {
|
551 |
-
update_option($option_type, $params);
|
552 |
-
} else {
|
553 |
-
add_option($option_type, $params);
|
554 |
-
}
|
555 |
-
}
|
556 |
-
}
|
557 |
-
}
|
558 |
-
|
559 |
-
if(!$licenceValidate)
|
560 |
-
die();
|
561 |
-
}
|
562 |
-
|
563 |
-
public function resetWDRCache(){
|
564 |
-
$postData = \FlycartInput\FInput::getInstance();
|
565 |
-
$wdr_nonce = $postData->get('wdr_nonce', false);
|
566 |
-
if(!empty($wdr_nonce)) {
|
567 |
-
if (FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
568 |
-
if (FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_save_rule_config', $wdr_nonce)) {
|
569 |
-
$price_discount = $this->getInstance('FlycartWooDiscountRulesPricingRules');
|
570 |
-
$result = $price_discount->updateLastUpdateTimeOfRule();
|
571 |
-
if($result){
|
572 |
-
esc_html_e('Cache cleared successfully', 'woo-discount-rules');
|
573 |
-
} else {
|
574 |
-
esc_html_e('Failed to clear cache', 'woo-discount-rules');
|
575 |
-
}
|
576 |
-
}
|
577 |
-
}
|
578 |
-
}
|
579 |
-
die();
|
580 |
-
}
|
581 |
-
|
582 |
-
/**
|
583 |
-
* @return array
|
584 |
-
*/
|
585 |
-
public function getBaseConfig($type = 'default')
|
586 |
-
{
|
587 |
-
if($type == 'taxonomy'){
|
588 |
-
$option_type = $this->taxonomy_option;
|
589 |
-
} else {
|
590 |
-
$option_type = $this->default_option;
|
591 |
-
}
|
592 |
-
$option = get_option($option_type);
|
593 |
-
if (!$option || is_null($option)) {
|
594 |
-
return array();
|
595 |
-
} else {
|
596 |
-
return $option;
|
597 |
-
}
|
598 |
-
}
|
599 |
-
|
600 |
-
/**
|
601 |
-
* Get Config data
|
602 |
-
*
|
603 |
-
* @param String $key
|
604 |
-
* @param mixed $default
|
605 |
-
* @return mixed
|
606 |
-
* */
|
607 |
-
public function getConfigData($key, $default = '', $type = "default"){
|
608 |
-
$config = $this->getBaseConfig($type);
|
609 |
-
if (is_string($config)) $config = json_decode($config, true);
|
610 |
-
return isset($config[$key])? $config[$key] : $default;
|
611 |
-
}
|
612 |
-
|
613 |
-
// -------------------------------------------SETTINGS END----------------------------------------------------------
|
614 |
-
|
615 |
-
/**
|
616 |
-
* @param $request
|
617 |
-
* @return bool
|
618 |
-
*/
|
619 |
-
public function checkSubmission($request)
|
620 |
-
{
|
621 |
-
if (isset($request['form']) && !empty($request['form'])) {
|
622 |
-
$form = sanitize_text_field($request['form']);
|
623 |
-
if (strpos($form, '_save') === false) return false;
|
624 |
-
// For Saving Form
|
625 |
-
$form = str_replace('_save', '', $form);
|
626 |
-
// To Verify, the submitted form is in the Registered List or Not
|
627 |
-
if (in_array($form, $this->formList())) {
|
628 |
-
if (isset($request['page'])) {
|
629 |
-
switch ($form) {
|
630 |
-
case 'pricing_rules':
|
631 |
-
die(123);
|
632 |
-
$pricing_rule = $this->getInstance('FlycartWooDiscountRulesPricingRules');
|
633 |
-
$pricing_rule->save($request);
|
634 |
-
break;
|
635 |
-
case 'cart_rules':
|
636 |
-
$cart_rules = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
637 |
-
$cart_rules->save($request);
|
638 |
-
break;
|
639 |
-
case 'settings':
|
640 |
-
$this->save($request);
|
641 |
-
break;
|
642 |
-
default:
|
643 |
-
// Invalid Submission.
|
644 |
-
break;
|
645 |
-
}
|
646 |
-
}
|
647 |
-
}
|
648 |
-
}
|
649 |
-
}
|
650 |
-
|
651 |
-
/**
|
652 |
-
* @param $option
|
653 |
-
*/
|
654 |
-
public function checkAccess(&$option)
|
655 |
-
{
|
656 |
-
$postData = \FlycartInput\FInput::getInstance();
|
657 |
-
// Handling View
|
658 |
-
if ($postData->get('view', false)) {
|
659 |
-
$option = $option . '-view';
|
660 |
-
// Type : Price or Cart Discounts.
|
661 |
-
} elseif ($postData->get('type', false)) {
|
662 |
-
if ($postData->get('tab', false)) {
|
663 |
-
if ($postData->get('tab', '') == 'cart-rules') {
|
664 |
-
$option = 'cart-rules-new';
|
665 |
-
if ($postData->get('type', '') == 'view') $option = 'cart-rules-view';
|
666 |
-
}
|
667 |
-
} else {
|
668 |
-
$option = $option . '-' . $postData->get('type', '');
|
669 |
-
}
|
670 |
-
}
|
671 |
-
}
|
672 |
-
|
673 |
-
/**
|
674 |
-
* @param $request
|
675 |
-
*/
|
676 |
-
public function save($request)
|
677 |
-
{
|
678 |
-
// Save General Settings of the Plugin.
|
679 |
-
}
|
680 |
-
|
681 |
-
/**
|
682 |
-
* Do bulk action
|
683 |
-
* */
|
684 |
-
public function doBulkAction(){
|
685 |
-
$postData = \FlycartInput\FInput::getInstance();
|
686 |
-
$request = $postData->getArray();
|
687 |
-
if(isset($request['wdr_nonce']) && !empty($request['wdr_nonce'])){
|
688 |
-
if(FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
689 |
-
if(FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_rule_listing', $request['wdr_nonce'])){
|
690 |
-
if(empty($request['bulk_action'])){
|
691 |
-
echo esc_html__('Failed to do action', 'woo-discount-rules');exit;
|
692 |
-
}
|
693 |
-
$result = array();
|
694 |
-
$had_action = 0;
|
695 |
-
if(!empty($request['post'])){
|
696 |
-
foreach ($request['post'] as $key => $id){
|
697 |
-
$had_action = 1;
|
698 |
-
$result[$key] = 0;
|
699 |
-
if($id){
|
700 |
-
switch ($request['bulk_action']){
|
701 |
-
case 'unpublish':
|
702 |
-
$status = get_post_meta($id, 'status', true);
|
703 |
-
if (!empty($status)) {
|
704 |
-
$result[$key] = update_post_meta($id, 'status', 'disable');
|
705 |
-
}
|
706 |
-
break;
|
707 |
-
case 'delete':
|
708 |
-
try {
|
709 |
-
$id = intval($id);
|
710 |
-
if ($id) $result[$key] = wp_delete_post($id);
|
711 |
-
} catch (Exception $e) {
|
712 |
-
}
|
713 |
-
break;
|
714 |
-
default:
|
715 |
-
$status = get_post_meta($id, 'status', true);
|
716 |
-
|
717 |
-
if (!empty($status)) {
|
718 |
-
$result[$key] = update_post_meta($id, 'status', 'publish');
|
719 |
-
}
|
720 |
-
break;
|
721 |
-
}
|
722 |
-
}
|
723 |
-
}
|
724 |
-
}
|
725 |
-
if(!$had_action){
|
726 |
-
echo esc_html__('Failed to do action', 'woo-discount-rules');
|
727 |
-
} else{
|
728 |
-
switch ($request['bulk_action']){
|
729 |
-
case 'unpublish':
|
730 |
-
echo esc_html__('Disabled successfully', 'woo-discount-rules');
|
731 |
-
break;
|
732 |
-
case 'delete':
|
733 |
-
echo esc_html__('Deleted successfully', 'woo-discount-rules');
|
734 |
-
break;
|
735 |
-
default:
|
736 |
-
echo esc_html__('Enabled successfully', 'woo-discount-rules');
|
737 |
-
break;
|
738 |
-
}
|
739 |
-
}
|
740 |
-
}
|
741 |
-
}
|
742 |
-
}
|
743 |
-
die();
|
744 |
-
}
|
745 |
-
|
746 |
-
/**
|
747 |
-
* Create a duplicate rule
|
748 |
-
* */
|
749 |
-
public function createDuplicateRule(){
|
750 |
-
$purchase = new FlycartWooDiscountRulesPurchase();
|
751 |
-
$isPro = $purchase->isPro();
|
752 |
-
if(!$isPro) return false;
|
753 |
-
$postData = \FlycartInput\FInput::getInstance();
|
754 |
-
$request = $postData->getArray();
|
755 |
-
if(isset($request['wdr_nonce']) && !empty($request['wdr_nonce'])) {
|
756 |
-
if (FlycartWooDiscountRulesGeneralHelper::hasAdminPrivilege()) {
|
757 |
-
if (FlycartWooDiscountRulesGeneralHelper::validateRequest('wdr_rule_listing', $request['wdr_nonce'])) {
|
758 |
-
if(!empty($request['id']) && (int)$request['id'] && !empty($request['type'])){
|
759 |
-
$post = get_post( (int)$request['id'] );
|
760 |
-
if(!empty($post)){
|
761 |
-
$post_new = array(
|
762 |
-
'post_title' => $post->post_title.' - '.esc_html__('copy', 'woo-discount-rules'),
|
763 |
-
'post_name' => $post->post_title.' - '.esc_html__('copy', 'woo-discount-rules'),
|
764 |
-
'post_content' => 'New Rule',
|
765 |
-
'post_type' => $post->post_type,
|
766 |
-
'post_status' => 'publish'
|
767 |
-
);
|
768 |
-
$id = wp_insert_post($post_new);
|
769 |
-
if($id){
|
770 |
-
/*
|
771 |
-
* duplicate all post meta just in two SQL queries
|
772 |
-
*/
|
773 |
-
global $wpdb;
|
774 |
-
$post_meta_infos = $wpdb->get_results("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id=$post->ID");
|
775 |
-
if (count($post_meta_infos)!=0) {
|
776 |
-
$sql_query = "INSERT INTO $wpdb->postmeta (post_id, meta_key, meta_value) ";
|
777 |
-
foreach ($post_meta_infos as $meta_info) {
|
778 |
-
$meta_key = $meta_info->meta_key;
|
779 |
-
if( $meta_key == 'rule_order' ) $meta_info->meta_value = FlycartWooDiscountRulesGeneralHelper::reOrderRuleIfExists($id, 1, $post->post_type);
|
780 |
-
if( $meta_key == 'rule_name' ) $meta_info->meta_value = $meta_info->meta_value.' - '.esc_html__('copy', 'woo-discount-rules');
|
781 |
-
if( $meta_key == 'status' ) $meta_info->meta_value = 'disable';
|
782 |
-
$meta_value = addslashes($meta_info->meta_value);
|
783 |
-
$sql_query_sel[]= "SELECT $id, '$meta_key', '$meta_value'";
|
784 |
-
}
|
785 |
-
$sql_query.= implode(" UNION ALL ", $sql_query_sel);
|
786 |
-
$wpdb->query($sql_query);
|
787 |
-
}
|
788 |
-
echo esc_html__('Duplicate rule created successfully', 'woo-discount-rules'); die();
|
789 |
-
}
|
790 |
-
}
|
791 |
-
}
|
792 |
-
}
|
793 |
-
}
|
794 |
-
}
|
795 |
-
echo esc_html__('Failed to create duplicate rule', 'woo-discount-rules'); die();
|
796 |
-
}
|
797 |
-
|
798 |
-
/**
|
799 |
-
* @return array
|
800 |
-
*/
|
801 |
-
public function formList()
|
802 |
-
{
|
803 |
-
return array(
|
804 |
-
'pricing_rules',
|
805 |
-
'cart_rules',
|
806 |
-
'settings'
|
807 |
-
);
|
808 |
-
}
|
809 |
-
|
810 |
-
/**
|
811 |
-
*
|
812 |
-
*/
|
813 |
-
public function viewManager()
|
814 |
-
{
|
815 |
-
$postData = \FlycartInput\FInput::getInstance();
|
816 |
-
$request = $postData->getArray();
|
817 |
-
$this->checkSubmission($request);
|
818 |
-
|
819 |
-
// Adding Plugin Page Script
|
820 |
-
//$this->woo_discount_adminPageScript();
|
821 |
-
|
822 |
-
// Loading Instance.
|
823 |
-
$generalHelper = $this->getInstance('FlycartWooDiscountRulesGeneralHelper');
|
824 |
-
// Sanity Check.
|
825 |
-
if (!$generalHelper) return;
|
826 |
-
// Getting Active Tab.
|
827 |
-
$tab = $generalHelper->getCurrentTab();
|
828 |
-
|
829 |
-
$path = $this->getPath($tab);
|
830 |
-
|
831 |
-
// Manage Tab.
|
832 |
-
$tab = (isset($tab) ? $tab : $this->default_page);
|
833 |
-
$html = '';
|
834 |
-
// File Check.
|
835 |
-
if (file_exists($path)) {
|
836 |
-
$data = array();
|
837 |
-
$this->fetchData($tab, $data);
|
838 |
-
// Processing View.
|
839 |
-
$html = $generalHelper->processBaseView($path, $data, $tab);
|
840 |
-
}
|
841 |
-
echo $html;
|
842 |
-
}
|
843 |
-
|
844 |
-
/**
|
845 |
-
* @param $tab
|
846 |
-
* @return mixed
|
847 |
-
*/
|
848 |
-
public function getPath(&$tab)
|
849 |
-
{
|
850 |
-
$this->checkAccess($tab);
|
851 |
-
$pages = $this->adminPages();
|
852 |
-
// Default tab.
|
853 |
-
$path = $pages[$this->default_page];
|
854 |
-
|
855 |
-
// Comparing Available Tab with Active Tab.
|
856 |
-
if (isset($pages[$tab])) {
|
857 |
-
$path = $pages[$tab];
|
858 |
-
}
|
859 |
-
return $path;
|
860 |
-
}
|
861 |
-
|
862 |
-
/**
|
863 |
-
* @param $type
|
864 |
-
* @param $data
|
865 |
-
*/
|
866 |
-
public function fetchData($type, &$data)
|
867 |
-
{
|
868 |
-
$postData = \FlycartInput\FInput::getInstance();
|
869 |
-
$request = $postData->getArray();
|
870 |
-
|
871 |
-
$helper = new FlycartWooDiscountRulesGeneralHelper();
|
872 |
-
$isPro = $helper->checkPluginState();
|
873 |
-
$this->checkForWPMLAndSetCookie($type);
|
874 |
-
switch ($type) {
|
875 |
-
// Managing Price Rules View.
|
876 |
-
case 'pricing-rules':
|
877 |
-
$pricing_rule = $this->getInstance('FlycartWooDiscountRulesPricingRules');
|
878 |
-
$data = $pricing_rule->getRules();
|
879 |
-
break;
|
880 |
-
// Managing Cart Rules View.
|
881 |
-
case 'cart-rules':
|
882 |
-
$cart_rule = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
883 |
-
$data = $cart_rule->getRules();
|
884 |
-
break;
|
885 |
-
// Managing View of Settings.
|
886 |
-
case 'settings':
|
887 |
-
$data = $this->getBaseConfig();
|
888 |
-
break;
|
889 |
-
case 'taxonomy':
|
890 |
-
$data = $this->getBaseConfig('taxonomy');
|
891 |
-
break;
|
892 |
-
case 'documentation':
|
893 |
-
break;
|
894 |
-
|
895 |
-
// Managing View of Pricing Rules.
|
896 |
-
case 'pricing-rules-new':
|
897 |
-
$data = new stdClass();
|
898 |
-
$data->form = 'pricing_rules_save';
|
899 |
-
if (!$isPro) {
|
900 |
-
$pricing_rule = $this->getInstance('FlycartWooDiscountRulesPricingRules');
|
901 |
-
$data = $pricing_rule->getRules();
|
902 |
-
if (count($data) >= 6) die('You are restricted to process this action.');
|
903 |
-
}
|
904 |
-
break;
|
905 |
-
|
906 |
-
// Managing View of Pricing Rules.
|
907 |
-
case 'pricing-rules-view':
|
908 |
-
|
909 |
-
$view = false;
|
910 |
-
// Handling View
|
911 |
-
if (isset($request['view'])) {
|
912 |
-
$view = $request['view'];
|
913 |
-
}
|
914 |
-
$html = $this->getInstance('FlycartWooDiscountRulesPricingRules');
|
915 |
-
$out = $html->view($type, $view);
|
916 |
-
if (isset($out) && !empty($out)) {
|
917 |
-
$data = $out;
|
918 |
-
}
|
919 |
-
$data->form = 'pricing_rules_save';
|
920 |
-
break;
|
921 |
-
|
922 |
-
// Managing View of Cart Rules.
|
923 |
-
case 'cart-rules-view':
|
924 |
-
$view = false;
|
925 |
-
// Handling View
|
926 |
-
if (isset($request['view'])) {
|
927 |
-
$view = $request['view'];
|
928 |
-
} else {
|
929 |
-
|
930 |
-
if (!$isPro) {
|
931 |
-
$cart_rule = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
932 |
-
$total_record = $cart_rule->getRules(true);
|
933 |
-
if ($total_record >= 6) wp_die('You are restricted to process this action.');
|
934 |
-
}
|
935 |
-
}
|
936 |
-
|
937 |
-
$html = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
938 |
-
$out = $html->view($type, $view);
|
939 |
-
if (isset($out) && !empty($out)) {
|
940 |
-
$data[] = $out;
|
941 |
-
}
|
942 |
-
break;
|
943 |
-
// Managing View of Cart Rules.
|
944 |
-
case 'cart-rules-new':
|
945 |
-
if (!$isPro) {
|
946 |
-
$cart_rule = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
947 |
-
$total_record = $cart_rule->getRules(true);
|
948 |
-
if ($total_record >= 6) wp_die('You are restricted to process this action.');
|
949 |
-
}
|
950 |
-
break;
|
951 |
-
|
952 |
-
default:
|
953 |
-
$data = array();
|
954 |
-
|
955 |
-
break;
|
956 |
-
}
|
957 |
-
|
958 |
-
}
|
959 |
-
|
960 |
-
/**
|
961 |
-
* Check for WPML available and set cookie if available
|
962 |
-
* */
|
963 |
-
protected function checkForWPMLAndSetCookie($layout){
|
964 |
-
$set_wpml_lang = apply_filters('woo_discount_rules_set_wpml_language_for_loading_in_product_select_box', true);
|
965 |
-
if($set_wpml_lang){
|
966 |
-
$wpml_language = FlycartWooDiscountRulesGeneralHelper::getWPMLLanguage();
|
967 |
-
if(!empty($wpml_language)){
|
968 |
-
if(in_array($layout, array('pricing-rules-new', 'pricing-rules-view', 'cart-rules-view', 'cart-rules-new'))){
|
969 |
-
setcookie('_wcml_dashboard_order_language', $wpml_language, time() + 86400, COOKIEPATH, COOKIE_DOMAIN);
|
970 |
-
} else {
|
971 |
-
if(!isset($_COOKIE['_wcml_dashboard_order_language']) && !empty($_COOKIE['_wcml_dashboard_order_language'])) {
|
972 |
-
setcookie('_wcml_dashboard_order_language', '', time() + 86400, COOKIEPATH, COOKIE_DOMAIN);
|
973 |
-
}
|
974 |
-
}
|
975 |
-
}
|
976 |
-
}
|
977 |
-
}
|
978 |
-
|
979 |
-
/**
|
980 |
-
* @return array
|
981 |
-
*/
|
982 |
-
public function adminPages()
|
983 |
-
{
|
984 |
-
return array(
|
985 |
-
$this->default_page => WOO_DISCOUNT_DIR . '/view/pricing-rules.php',
|
986 |
-
'cart-rules' => WOO_DISCOUNT_DIR . '/view/cart-rules.php',
|
987 |
-
'settings' => WOO_DISCOUNT_DIR . '/view/settings.php',
|
988 |
-
'documentation' => WOO_DISCOUNT_DIR . '/view/documentation.php',
|
989 |
-
'taxonomy' => WOO_DISCOUNT_DIR . '/view/settings_taxonomy.php',
|
990 |
-
|
991 |
-
// New Rule also access the same "View" to process
|
992 |
-
'pricing-rules-new' => WOO_DISCOUNT_DIR . '/view/view-pricing-rules.php',
|
993 |
-
'cart-rules-new' => WOO_DISCOUNT_DIR . '/view/view-cart-rules.php',
|
994 |
-
|
995 |
-
// Edit Rules
|
996 |
-
'pricing-rules-view' => WOO_DISCOUNT_DIR . '/view/view-pricing-rules.php',
|
997 |
-
'cart-rules-view' => WOO_DISCOUNT_DIR . '/view/view-cart-rules.php'
|
998 |
-
);
|
999 |
-
}
|
1000 |
-
|
1001 |
-
/**
|
1002 |
-
*
|
1003 |
-
*/
|
1004 |
-
public function getOption()
|
1005 |
-
{
|
1006 |
-
|
1007 |
-
}
|
1008 |
-
|
1009 |
-
/**
|
1010 |
-
* Adding Admin Page Script.
|
1011 |
-
*/
|
1012 |
-
function woo_discount_adminPageScript()
|
1013 |
-
{
|
1014 |
-
$status = false;
|
1015 |
-
$postData = \FlycartInput\FInput::getInstance();
|
1016 |
-
// Plugin scripts should run only in plugin page.
|
1017 |
-
if (is_admin()) {
|
1018 |
-
if ($postData->get('page', false) == 'woo_discount_rules') {
|
1019 |
-
$status = true;
|
1020 |
-
}
|
1021 |
-
// By Default, the landing page also can use this script.
|
1022 |
-
} elseif (!is_admin()) {
|
1023 |
-
// $status = true;
|
1024 |
-
}
|
1025 |
-
|
1026 |
-
if ($status) {
|
1027 |
-
|
1028 |
-
$config = $this->getBaseConfig();
|
1029 |
-
if (is_string($config)) $config = json_decode($config, true);
|
1030 |
-
$enable_bootstrap = isset($config['enable_bootstrap'])? $config['enable_bootstrap']: 1;
|
1031 |
-
|
1032 |
-
wp_register_style('woo_discount_style', WOO_DISCOUNT_URI . '/assets/css/style.css', array(), WOO_DISCOUNT_VERSION);
|
1033 |
-
wp_enqueue_style('woo_discount_style');
|
1034 |
-
|
1035 |
-
wp_register_style('woo_discount_style_custom', WOO_DISCOUNT_URI . '/assets/css/custom.css', array(), WOO_DISCOUNT_VERSION);
|
1036 |
-
wp_enqueue_style('woo_discount_style_custom');
|
1037 |
-
|
1038 |
-
wp_register_style('woo_discount_style_tab', WOO_DISCOUNT_URI . '/assets/css/tabbablePanel.css', array(), WOO_DISCOUNT_VERSION);
|
1039 |
-
wp_enqueue_style('woo_discount_style_tab');
|
1040 |
-
|
1041 |
-
// For Implementing Select Picker Library.
|
1042 |
-
wp_register_style('woo_discount_style_select', WOO_DISCOUNT_URI . '/assets/css/bootstrap.select.min.css', array(), WOO_DISCOUNT_VERSION);
|
1043 |
-
wp_enqueue_style('woo_discount_style_select');
|
1044 |
-
|
1045 |
-
wp_enqueue_script('woo_discount_script_select', WOO_DISCOUNT_URI . '/assets/js/bootstrap.select.min.js', array(), WOO_DISCOUNT_VERSION);
|
1046 |
-
wp_enqueue_script('woo_discount_script_select2', WOO_DISCOUNT_URI . '/assets/js/select2.min.js', array(), WOO_DISCOUNT_VERSION);
|
1047 |
-
|
1048 |
-
wp_register_style('woo_discount_bootstrap', WOO_DISCOUNT_URI . '/assets/css/bootstrap.min.css', array(), WOO_DISCOUNT_VERSION);
|
1049 |
-
wp_enqueue_style('woo_discount_bootstrap');
|
1050 |
-
|
1051 |
-
if($enable_bootstrap){
|
1052 |
-
wp_register_script('woo_discount_jquery_ui_js_2', WOO_DISCOUNT_URI . '/assets/js/bootstrap.min.js', array(), WOO_DISCOUNT_VERSION);
|
1053 |
-
wp_enqueue_script('woo_discount_jquery_ui_js_2');
|
1054 |
-
}
|
1055 |
-
|
1056 |
-
wp_register_style('woo_discount_jquery_ui_css', WOO_DISCOUNT_URI . '/assets/css/jquery-ui.css', array(), WOO_DISCOUNT_VERSION);
|
1057 |
-
wp_enqueue_style('woo_discount_jquery_ui_css');
|
1058 |
-
wp_register_style('woo_discount_datetimepicker_css', WOO_DISCOUNT_URI . '/assets/css/bootstrap-datetimepicker.min.css', array(), WOO_DISCOUNT_VERSION);
|
1059 |
-
wp_enqueue_style('woo_discount_datetimepicker_css');
|
1060 |
-
|
1061 |
-
wp_enqueue_script('jquery');
|
1062 |
-
wp_enqueue_script('jquery-ui-core');
|
1063 |
-
wp_enqueue_script('jquery-ui-datepicker');
|
1064 |
-
wp_enqueue_script( 'woocommerce_admin' );
|
1065 |
-
wp_enqueue_script( 'wc-enhanced-select' );
|
1066 |
-
|
1067 |
-
wp_enqueue_script('woo_discount_datetimepicker_js', WOO_DISCOUNT_URI . '/assets/js/bootstrap-datetimepicker.min.js', array('woocommerce_admin', 'wc-enhanced-select'), WOO_DISCOUNT_VERSION, true);
|
1068 |
-
wp_enqueue_script('woo_discount_script', WOO_DISCOUNT_URI . '/assets/js/app.js', array(), WOO_DISCOUNT_VERSION);
|
1069 |
-
$localization_data = $this->getLocalizationData();
|
1070 |
-
wp_localize_script( 'woo_discount_script', 'woo_discount_localization', $localization_data);
|
1071 |
-
|
1072 |
-
//To load woocommerce product select
|
1073 |
-
wp_enqueue_style( 'woocommerce_admin_styles' );
|
1074 |
-
}
|
1075 |
-
}
|
1076 |
-
|
1077 |
-
/**
|
1078 |
-
* Get localisation script
|
1079 |
-
* */
|
1080 |
-
protected function getLocalizationData(){
|
1081 |
-
return array(
|
1082 |
-
'please_fill_this_field' => esc_html__('Please fill this field', 'woo-discount-rules'),
|
1083 |
-
'please_enter_the_rule_name' => esc_html__('Please Enter the Rule Name to Create / Save.', 'woo-discount-rules'),
|
1084 |
-
'saving' => esc_html__('Saving...', 'woo-discount-rules'),
|
1085 |
-
'save_rule' => esc_html__('Save Rule', 'woo-discount-rules'),
|
1086 |
-
'please_enter_a_key' => esc_html__('Please enter a Key', 'woo-discount-rules'),
|
1087 |
-
'min_quantity' => esc_html__('Min Quantity', 'woo-discount-rules'),
|
1088 |
-
'max_quantity' => esc_html__('Max Quantity', 'woo-discount-rules'),
|
1089 |
-
'set_quantity' => esc_html__('Quantity', 'woo-discount-rules'),
|
1090 |
-
'place_holder_ex_1' => esc_html__('ex. 1', 'woo-discount-rules'),
|
1091 |
-
'place_holder_ex_10' => esc_html__('ex. 10', 'woo-discount-rules'),
|
1092 |
-
'place_holder_ex_50' => esc_html__('ex. 50', 'woo-discount-rules'),
|
1093 |
-
'place_holder_search_for_a_user' => esc_html__('Search for a user', 'woo-discount-rules'),
|
1094 |
-
'adjustment_type' => esc_html__('Adjustment Type', 'woo-discount-rules'),
|
1095 |
-
'percentage_discount' => esc_html__('Discount percentage', 'woo-discount-rules'),
|
1096 |
-
'percentage_discount_in_adjustment_type' => esc_html__('Percentage Discount', 'woo-discount-rules'),
|
1097 |
-
'price_discount' => esc_html__('Price Discount', 'woo-discount-rules'),
|
1098 |
-
'product_discount' => esc_html__('BOGO Product Discount', 'woo-discount-rules'),
|
1099 |
-
'product_discount_not_work_on_subtotal_based' => esc_html__('Product Discount - Not support for subtotal based rule', 'woo-discount-rules'),
|
1100 |
-
'value_text' => esc_html__('Value', 'woo-discount-rules'),
|
1101 |
-
'apply_for' => esc_html__('receive discount for', 'woo-discount-rules'),
|
1102 |
-
'all_selected' => esc_html__('Auto add all selected products', 'woo-discount-rules'),
|
1103 |
-
'same_product' => esc_html__('Same product', 'woo-discount-rules'),
|
1104 |
-
'any_one_cheapest_from_selected' => esc_html__('Any one cheapest from selected', 'woo-discount-rules'),
|
1105 |
-
'any_one_cheapest_from_all_products' => esc_html__('Any one cheapest from all products', 'woo-discount-rules'),
|
1106 |
-
'more_than_one_cheapest_from_selected_category' => esc_html__('Buy X Get Y - Selected Categories (Cheapest in cart)', 'woo-discount-rules'),
|
1107 |
-
'more_than_one_cheapest_from_selected' => esc_html__('Buy X Get Y - Selected item(s) (Cheapest in cart)', 'woo-discount-rules'),
|
1108 |
-
'more_than_one_cheapest_from_all' => esc_html__('Buy X get Y - Cheapest among all items in cart', 'woo-discount-rules'),
|
1109 |
-
'free_quantity' => esc_html__('Free quantity', 'woo-discount-rules'),
|
1110 |
-
'number_of_quantities_in_each_products' => esc_html__('Number of quantity(ies) in each selected product(s)', 'woo-discount-rules'),
|
1111 |
-
'fixed_item_count' => esc_html__('Fixed item count (not recommended)', 'woo-discount-rules'),
|
1112 |
-
'dynamic_item_count' => esc_html__('Dynamic item count', 'woo-discount-rules'),
|
1113 |
-
'fixed_item_count_tooltip' => esc_html__('Fixed item count - You need to provide item count manually. Dynamic item count - System will choose dynamically based on cart', 'woo-discount-rules'),
|
1114 |
-
'item_count' => esc_html__('Item count', 'woo-discount-rules'),
|
1115 |
-
'discount_number_of_item_tooltip' => esc_html__('Discount for number of item(s) in cart', 'woo-discount-rules'),
|
1116 |
-
'discount_number_of_each_item_tooltip' => esc_html__('Discount for number of quantity(ies)', 'woo-discount-rules'),
|
1117 |
-
'item_quantity' => esc_html__('Item quantity', 'woo-discount-rules'),
|
1118 |
-
'place_holder_search_for_products' => esc_html__('Search for a products', 'woo-discount-rules'),
|
1119 |
-
'and_text' => esc_html__('and', 'woo-discount-rules'),
|
1120 |
-
'percent_100' => esc_html__('100% percent', 'woo-discount-rules'),
|
1121 |
-
'limited_percent' => esc_html__('Limited percent', 'woo-discount-rules'),
|
1122 |
-
'percentage_tooltip' => esc_html__('Percentage', 'woo-discount-rules'),
|
1123 |
-
'as_discount' => esc_html__('as discount', 'woo-discount-rules'),
|
1124 |
-
'remove_text' => esc_html__('Remove', 'woo-discount-rules'),
|
1125 |
-
'duplicate_text' => esc_html__('Duplicate', 'woo-discount-rules'),
|
1126 |
-
'none_text' => esc_html__('none', 'woo-discount-rules'),
|
1127 |
-
'are_you_sure_to_remove_this' => esc_html__('Are you sure to remove this ?', 'woo-discount-rules'),
|
1128 |
-
'enable_text' => esc_html__('Enable', 'woo-discount-rules'),
|
1129 |
-
'disable_text' => esc_html__('Disable', 'woo-discount-rules'),
|
1130 |
-
'are_you_sure_to_remove' => esc_html__('Are you sure to remove ?', 'woo-discount-rules'),
|
1131 |
-
'type_text' => esc_html__('Type', 'woo-discount-rules'),
|
1132 |
-
'cart_subtotal' => esc_html__('Cart Subtotal', 'woo-discount-rules'),
|
1133 |
-
'subtotal_at_least' => esc_html__('Subtotal at least', 'woo-discount-rules'),
|
1134 |
-
'subtotal_less_than' => esc_html__('Subtotal less than', 'woo-discount-rules'),
|
1135 |
-
'cart_item_count' => esc_html__('Cart Item Count', 'woo-discount-rules'),
|
1136 |
-
'number_of_line_items_in_cart_at_least' => esc_html__('Number of line items in the cart (not quantity) at least', 'woo-discount-rules'),
|
1137 |
-
'number_of_line_items_in_cart_less_than' => esc_html__('Number of line items in the cart (not quantity) less than', 'woo-discount-rules'),
|
1138 |
-
'quantity_sum' => esc_html__('Quantity Sum', 'woo-discount-rules'),
|
1139 |
-
'total_number_of_quantities_in_cart_at_least' => esc_html__('Total number of quantities in the cart at least', 'woo-discount-rules'),
|
1140 |
-
'total_number_of_quantities_in_cart_less_than' => esc_html__('Total number of quantities in the cart less than', 'woo-discount-rules'),
|
1141 |
-
'categories_in_cart' => esc_html__('Categories in cart', 'woo-discount-rules'),
|
1142 |
-
'atleast_one_including_sub_categories' => esc_html__('Including sub-categories in cart', 'woo-discount-rules'),
|
1143 |
-
'customer_details_must_be_logged_in' => esc_html__('Customer Details (must be logged in)', 'woo-discount-rules'),
|
1144 |
-
'user_in_list' => esc_html__('User in list', 'woo-discount-rules'),
|
1145 |
-
'user_role_in_list' => esc_html__('User role in list', 'woo-discount-rules'),
|
1146 |
-
'shipping_country_list' => esc_html__('Shipping country in list', 'woo-discount-rules'),
|
1147 |
-
'customer_email' => esc_html__('Customer Email', 'woo-discount-rules'),
|
1148 |
-
'customer_email_tld' => esc_html__('Email with TLD (Ege: edu)', 'woo-discount-rules'),
|
1149 |
-
'customer_email_domain' => esc_html__('Email with Domain (Eg: gmail.com)', 'woo-discount-rules'),
|
1150 |
-
'customer_billing_details' => esc_html__('Customer Billing Details', 'woo-discount-rules'),
|
1151 |
-
'customer_billing_city' => esc_html__('Billing city', 'woo-discount-rules'),
|
1152 |
-
'customer_shipping_details' => esc_html__('Customer Shipping Details', 'woo-discount-rules'),
|
1153 |
-
'customer_shipping_state' => esc_html__('Shipping state', 'woo-discount-rules'),
|
1154 |
-
'customer_shipping_city' => esc_html__('Shipping city', 'woo-discount-rules'),
|
1155 |
-
'customer_shipping_zip_code' => esc_html__('Shipping zip code', 'woo-discount-rules'),
|
1156 |
-
'purchase_history' => esc_html__('Purchase History', 'woo-discount-rules'),
|
1157 |
-
'purchased_amount' => esc_html__('Purchased amount', 'woo-discount-rules'),
|
1158 |
-
'number_of_order_purchased' => esc_html__('Number of previous orders made', 'woo-discount-rules'),
|
1159 |
-
'number_of_order_purchased_in_product' => esc_html__('Number of previous orders made with following products', 'woo-discount-rules'),
|
1160 |
-
'number_of_order_quantity_purchased_in_product' => esc_html__('Number of quantity(s) in previous orders made with following products', 'woo-discount-rules'),
|
1161 |
-
'coupon_applied' => esc_html__('Coupon applied', 'woo-discount-rules'),
|
1162 |
-
'create_a_coupon' => esc_html__('Create your own coupon', 'woo-discount-rules'),
|
1163 |
-
'atleast_any_one' => esc_html__('Atleast any one (Select from WooCommerce)', 'woo-discount-rules'),
|
1164 |
-
'all_selected_coupon' => esc_html__('All selected (Select from WooCommerce)', 'woo-discount-rules'),
|
1165 |
-
'greater_than_or_equal_to' => esc_html__('Greater than or equal to', 'woo-discount-rules'),
|
1166 |
-
'less_than_or_equal_to' => esc_html__('Less than or equal to', 'woo-discount-rules'),
|
1167 |
-
'in_order_status' => esc_html__('and the order status should be', 'woo-discount-rules'),
|
1168 |
-
'action_text' => esc_html__('Action', 'woo-discount-rules'),
|
1169 |
-
'save_text' => esc_html__('Save', 'woo-discount-rules'),
|
1170 |
-
'saved_successfully' => esc_html__('Saved Successfully!', 'woo-discount-rules'),
|
1171 |
-
'none_selected' => esc_html__('None selected', 'woo-discount-rules'),
|
1172 |
-
'in_each_category_cart' => esc_html__('In each category', 'woo-discount-rules'),
|
1173 |
-
'show_text' => esc_html__('Show', 'woo-discount-rules'),
|
1174 |
-
'hide_text' => esc_html__('Hide', 'woo-discount-rules'),
|
1175 |
-
'please_select_at_least_one_checkbox' => esc_html__('Please select at least one rule', 'woo-discount-rules'),
|
1176 |
-
'please_select_bulk_action' => esc_html__('Please select an action to apply', 'woo-discount-rules'),
|
1177 |
-
'are_you_sure_to_delete' => esc_html__('Are you sure to remove the selected rules', 'woo-discount-rules'),
|
1178 |
-
'choose_products' => esc_html__('Choose product(s)', 'woo-discount-rules'),
|
1179 |
-
'choose_categories' => esc_html__('Choose category(ies)', 'woo-discount-rules'),
|
1180 |
-
'coupon_select_box_placeholder' => esc_html__('Search for a coupon', 'woo-discount-rules'),
|
1181 |
-
'percentage_discount_amount_tool_tip_text' => esc_attr__('Enter only numeric values. Eg: <b>50</b> for 50% discount', 'woo-discount-rules'),
|
1182 |
-
'price_discount_amount_tool_tip_text' => sprintf(esc_attr__('Enter the discount price. Eg: <b>10</b> for %s discount', 'woo-discount-rules'), strip_tags(FlycartWoocommerceProduct::wc_price(10))),
|
1183 |
-
'fixed_price_discount_amount_tool_tip_text' => sprintf(esc_attr__('Enter the discounted price per unit. Eg: <b>10</b> for %s as unit price', 'woo-discount-rules'), strip_tags(FlycartWoocommerceProduct::wc_price(10))),
|
1184 |
-
'set_discount_amount_tool_tip_text' => sprintf(esc_attr__('Enter the price for selected quantity. Eg: <b>10</b> then %s as total price for selected quantity', 'woo-discount-rules'), strip_tags(FlycartWoocommerceProduct::wc_price(10))),
|
1185 |
-
'discount_product_option_tooltip' => esc_html__("Auto add all selected products - Automatically added to the cart <br> Same product - get discount in same product <br> Any one cheapest from selected - Get discount in one selected product <br> Any one cheapest from all products - Get discount in one cheapest product in cart <br> Cheapest in cart - selected category(ies) - cheapest product from the selected category will be discounted <br> Cheapest in cart - selected item(s) - get discount in chosen no.of quantities", 'woo-discount-rules'),
|
1186 |
-
'products_in_cart' => esc_html__('Products', 'woo-discount-rules'),
|
1187 |
-
'products_in_list' => esc_html__('Products in cart', 'woo-discount-rules'),
|
1188 |
-
'products_not_in_list' => esc_html__('Exclude products', 'woo-discount-rules'),
|
1189 |
-
'exclude_sale_products' => esc_html__('Exclude on sale products', 'woo-discount-rules'),
|
1190 |
-
'exclude_sale_products_desc' => esc_html__('This will exclude the on sale products from discount', 'woo-discount-rules'),
|
1191 |
-
'from_all_previous_orders' => esc_html__('From all previous orders', 'woo-discount-rules'),
|
1192 |
-
'last_7_days' => esc_html__('Last 7 days', 'woo-discount-rules'),
|
1193 |
-
'last_14_days' => esc_html__('Last 14 days', 'woo-discount-rules'),
|
1194 |
-
'last_30_days' => esc_html__('Last 30 days', 'woo-discount-rules'),
|
1195 |
-
'last_60_days' => esc_html__('Last 60 days', 'woo-discount-rules'),
|
1196 |
-
'last_90_days' => esc_html__('Last 90 days', 'woo-discount-rules'),
|
1197 |
-
'last_180_days' => esc_html__('Last 180 days', 'woo-discount-rules'),
|
1198 |
-
'last_1_year' => esc_html__('Last 1 year', 'woo-discount-rules'),
|
1199 |
-
'custom_days' => esc_html__('Custom', 'woo-discount-rules'),
|
1200 |
-
'in_days' => esc_html__('in days', 'woo-discount-rules'),
|
1201 |
-
'fixed_price' => esc_html__('Fixed Price Per Unit', 'woo-discount-rules'),
|
1202 |
-
'set_discount' => esc_html__('Bundle (Set) Discount', 'woo-discount-rules'),
|
1203 |
-
'first_order_discount' => esc_html__('First Order discount', 'woo-discount-rules'),
|
1204 |
-
'exclude_categories_in_cart' => esc_html__('Exclude categories in cart', 'woo-discount-rules'),
|
1205 |
-
'enable_fixed_item_count_in_bogo' => apply_filters('woo_discount_rules_enable_fixed_item_count_in_bogo', false),
|
1206 |
-
'buy_x_get_x' => esc_html__('Buy X get X (Same product)', 'woo-discount-rules'),
|
1207 |
-
'buy_x_get_y' => esc_html__('Buy X get Y (Auto add all selected products)', 'woo-discount-rules'),
|
1208 |
-
'buy_x_get_x_tool_tip_text' => esc_html__('The customer gets the same product free (Buy 2 get 1 free) or a limited percentage (Buy 2 and get 1 at 50% discount)', 'woo-discount-rules'),
|
1209 |
-
'buy_x_get_y_tool_tip_text' => __('Provide a specific product free when purchasing another product.<br><br>Example: Buy Product A and get Product B free. Product B will be automatically added to cart.', 'woo-discount-rules'),
|
1210 |
-
'more_than_one_cheapest_tool_tip_text' => __('Provide a specific product free when purchasing another product.<br><br>Instead of automatically adding, if you wish to choose the free product, you can select this option.<br><br>Note : Product will be discounted only when the user manually adds the product to cart.', 'woo-discount-rules'),
|
1211 |
-
'more_than_one_cheapest_from_cat_tool_tip_text' => __('Used to provide BOGO discount within categories.<br><br>Example 1: Buy 2 from Category A and get 1 free from the same Category A.<br>Example 2: Buy any items from Category A and get 20% (limited percent) discount on Category B.', 'woo-discount-rules'),
|
1212 |
-
'more_than_one_cheapest_from_all_tool_tip_text' => __('This allows you to offer the cheapest product in cart for free (or at a limited percentage like 50%)', 'woo-discount-rules'),
|
1213 |
-
'apply_to_hint_all_products' => sprintf(__('<span class="wdr_desc_text">Useful for providing a discount on store wide or on all products.</span> <span class="wdr_desc_text"> <a href="%s">Read docs</a>.</span>', 'woo-discount-rules'), FlycartWooDiscountRulesGeneralHelper::docsDirectURL('https://docs.flycart.org/en/articles/1459869-storewide-global-discount-for-all-products', 'discount_for_all_products')),
|
1214 |
-
'apply_to_hint_specific_products' => sprintf(__('<span class="wdr_desc_text">Useful for providing a discount on selected products. Check the box to count quantities together across products.</span><br><span class="wdr_desc_text"><b>Note:</b> For variable products, you can auto include variants by enabling it in the settings. <a href="%s">Read docs</a>.</span>', 'woo-discount-rules'), FlycartWooDiscountRulesGeneralHelper::docsDirectURL('https://docs.flycart.org/en/articles/1459887-product-specific-discount-get-discount-in-t-shirts', 'discount_for_specific_products')),
|
1215 |
-
'apply_to_hint_specific_category' => sprintf(__('<span class="wdr_desc_text">Useful for providing a discount on a specific category or multiple categories.</span><br><span class="wdr_desc_text"><b>Example:</b> 10%% discount for products from category A or category B. <a href="%s">Read docs</a>.</span>', 'woo-discount-rules'), FlycartWooDiscountRulesGeneralHelper::docsDirectURL('https://docs.flycart.org/en/articles/1459878-category-specific-discount', 'discount_for_specific_products')),
|
1216 |
-
'apply_to_hint_specific_attribute' => sprintf(__('<span class="wdr_desc_text">Useful to offer discount based on attributes. <b>Example:</b> 10%% discount on Small Size T-shirts.</span><br><span class="wdr_desc_text"><b>Note:</b> Please make sure that the attributes are pre-defined in WooCommerce -> Attributes. <a href="%s">Read docs</a>.</span>', 'woo-discount-rules'), FlycartWooDiscountRulesGeneralHelper::docsDirectURL('https://docs.flycart.org/en/articles/1993883-specific-attribute-based-discount', 'discount_for_specific_attributes')),
|
1217 |
-
);
|
1218 |
-
}
|
1219 |
-
|
1220 |
-
/**
|
1221 |
-
* Remove applied message for the coupon we are going to remove
|
1222 |
-
* */
|
1223 |
-
function removeAppliedMessageOfThirdPartyCoupon($msg, $msg_code, $coupon){
|
1224 |
-
if(!empty($coupon)){
|
1225 |
-
if(method_exists($coupon, 'get_code')){
|
1226 |
-
$coupon_code = $coupon->get_code(); //Applied COUPON
|
1227 |
-
$do_not_run_while_have_third_party_coupon = $this->getConfigData('do_not_run_while_have_third_party_coupon', 0);
|
1228 |
-
if($do_not_run_while_have_third_party_coupon == 'remove_coupon'){
|
1229 |
-
$remove_coupon_message = apply_filters('woo_discount_rules_remove_coupon_message_on_apply_discount', true, $coupon_code);
|
1230 |
-
if($remove_coupon_message){
|
1231 |
-
$has_price_rules = $this->hasPriceRules();
|
1232 |
-
$has_cart_rules = $this->hasCartRules();
|
1233 |
-
$used_coupons = FlycartWooDiscountRulesGeneralHelper::getUsedCouponsInRules();
|
1234 |
-
$cartRules = new FlycartWooDiscountRulesCartRules();
|
1235 |
-
$coupon_code_by_cart_rule = $cartRules->getCouponCode();
|
1236 |
-
$coupon_code_by_cart_rule = strtolower($coupon_code_by_cart_rule);
|
1237 |
-
$used_coupons[] = $coupon_code_by_cart_rule;
|
1238 |
-
$applied_coupon = FlycartWooDiscountRulesCartRules::getAppliedCoupons();
|
1239 |
-
if(!empty($used_coupons) && is_array($used_coupons)){
|
1240 |
-
$applied_coupon = array_merge($applied_coupon, $used_coupons);
|
1241 |
-
}
|
1242 |
-
if(!empty($applied_coupon)){
|
1243 |
-
$applied_coupon = array_map('strtolower', $applied_coupon);
|
1244 |
-
}
|
1245 |
-
$skip_coupons = apply_filters('woo_discount_rules_coupons_to_skip_while_apply_rules_and_remove_third_party_coupon', $applied_coupon);
|
1246 |
-
$cart_discount = $this->getInstance('FlycartWooDiscountRulesCartRules');
|
1247 |
-
$skip_coupons[] = $cart_discount->coupon_code;
|
1248 |
-
if($has_price_rules || $has_cart_rules){
|
1249 |
-
if(!in_array($coupon_code, $skip_coupons)){
|
1250 |
-
$msg = '';
|
1251 |
-
}
|
1252 |
-
} else {
|
1253 |
-
global $woocommerce;
|
1254 |
-
if(!empty($woocommerce->cart)){
|
1255 |
-
if(!empty($woocommerce->cart->applied_coupons)){
|
1256 |
-
$coupons_applied = $woocommerce->cart->applied_coupons;
|
1257 |
-
if(!empty($coupons_applied)){
|
1258 |
-
$used_coupon_in_woo_discount = array_intersect($coupons_applied, $skip_coupons);
|
1259 |
-
}
|
1260 |
-
if(!empty($used_coupon_in_woo_discount)){
|
1261 |
-
if(!in_array($coupon_code, $used_coupon_in_woo_discount)){
|
1262 |
-
$msg = '';
|
1263 |
-
}
|
1264 |
-
}
|
1265 |
-
}
|
1266 |
-
}
|
1267 |
-
}
|
1268 |
-
}
|
1269 |
-
}
|
1270 |
-
}
|
1271 |
-
}
|
1272 |
-
return $msg;
|
1273 |
-
}
|
1274 |
-
|
1275 |
-
/**
|
1276 |
-
* Remove third party coupon
|
1277 |
-
* */
|
1278 |
-
public function removeThirdPartyCoupon(){
|
1279 |
-
$removed_coupon = false;
|
1280 |
-
$do_not_run_while_have_third_party_coupon = $this->getConfigData('do_not_run_while_have_third_party_coupon', 0);
|
1281 |
-
if($do_not_run_while_have_third_party_coupon == 'remove_coupon'){
|
1282 |
-
$has_price_rules = $this->hasPriceRules();
|
1283 |
-
$has_cart_rules = $this->hasCartRules();
|
1284 |
-
if($has_price_rules || $has_cart_rules){
|
1285 |
-
$used_coupons = FlycartWooDiscountRulesGeneralHelper::getUsedCouponsInRules();
|
1286 |
-
$applied_coupon = FlycartWooDiscountRulesCartRules::getAppliedCoupons();
|
1287 |
-
if(!empty($used_coupons) && is_array($used_coupons)){
|
1288 |
-
$applied_coupon = array_merge($applied_coupon, $used_coupons);
|
1289 |
-
}
|
1290 |
-
if(!empty($applied_coupon)){
|
1291 |
-
$applied_coupon = array_map('strtolower', $applied_coupon);
|
1292 |
-
}
|
1293 |
-
$skip_coupons = apply_filters('woo_discount_rules_coupons_to_skip_while_apply_rules_and_remove_third_party_coupon', $applied_coupon);
|
1294 |
-
global $woocommerce;
|
1295 |
-
if(!empty($woocommerce->cart)){
|
1296 |
-
if(!empty($woocommerce->cart->applied_coupons)){
|
1297 |
-
foreach ($woocommerce->cart->applied_coupons as $code) {
|
1298 |
-
if(!in_array($code, $skip_coupons)){
|
1299 |
-
$removed_coupon = true;
|
1300 |
-
FlycartWoocommerceCart::remove_coupon($code);
|
1301 |
-
if(function_exists('wc_add_notice')){
|
1302 |
-
$msg = sprintf(__('Sorry, it is not possible to apply coupon <b>"%s"</b> as you already have a discount applied in cart.'), $code);
|
1303 |
-
$msg = apply_filters('woo_discount_rules_notice_on_remove_coupon_while_having_a_discount', $msg, $code);
|
1304 |
-
wc_add_notice( $msg, 'notice' );
|
1305 |
-
}
|
1306 |
-
}
|
1307 |
-
}
|
1308 |
-
if($removed_coupon){
|
1309 |
-
WC()->cart->calculate_totals();
|
1310 |
-
}
|
1311 |
-
}
|
1312 |
-
}
|
1313 |
-
}
|
1314 |
-
}
|
1315 |
-
}
|
1316 |
-
|
1317 |
-
/**
|
1318 |
-
* Check has price rules
|
1319 |
-
* */
|
1320 |
-
protected function hasPriceRules(){
|
1321 |
-
$has_price_rules = false;
|
1322 |
-
$cart = FlycartWoocommerceCart::get_cart();
|
1323 |
-
if(FlycartWooDiscountRulesGeneralHelper::is_countable($cart)){
|
1324 |
-
foreach ($cart as $key => $cart_item){
|
1325 |
-
if(isset($cart_item['woo_discount'])){
|
1326 |
-
if(!empty($cart_item['woo_discount'])){
|
1327 |
-
$has_price_rules = true;
|
1328 |
-
break;
|
1329 |
-
}
|
1330 |
-
}
|
1331 |
-
}
|
1332 |
-
}
|
1333 |
-
|
1334 |
-
return $has_price_rules;
|
1335 |
-
}
|
1336 |
-
|
1337 |
-
/**
|
1338 |
-
* Check has cart rules
|
1339 |
-
* */
|
1340 |
-
protected function hasCartRules(){
|
1341 |
-
$applied_coupon = FlycartWooDiscountRulesCartRules::getAppliedCoupons();
|
1342 |
-
if(empty($applied_coupon)){
|
1343 |
-
return false;
|
1344 |
-
}
|
1345 |
-
|
1346 |
-
return true;
|
1347 |
-
}
|
1348 |
-
|
1349 |
-
/**
|
1350 |
-
* To display settings link in plugin page
|
1351 |
-
*
|
1352 |
-
* @param array $links
|
1353 |
-
* @return array
|
1354 |
-
* */
|
1355 |
-
public static function addActionLinksInPluginPage($links){
|
1356 |
-
$new_links = array(
|
1357 |
-
'<a href="' . admin_url("admin.php?page=woo_discount_rules&tab=settings"). '">'.esc_html__('Settings', 'woo-discount-rules').'</a>',
|
1358 |
-
);
|
1359 |
-
return array_merge($new_links, $links);
|
1360 |
-
}
|
1361 |
-
|
1362 |
-
/**
|
1363 |
-
* Remove hooks set by other plugins
|
1364 |
-
* */
|
1365 |
-
public static function removeHooksSetByOtherPlugins() {
|
1366 |
-
global $wp_filter;
|
1367 |
-
|
1368 |
-
$allowed_hooks = array(
|
1369 |
-
//Filters
|
1370 |
-
"woocommerce_sale_flash" => array( "FlycartWooDiscountRulesPricingRules|replaceSaleTagText" ),
|
1371 |
-
);
|
1372 |
-
|
1373 |
-
foreach ( $wp_filter as $hook_name => $hook_obj ) {
|
1374 |
-
if ( preg_match( '#^woocommerce_#', $hook_name ) ) {
|
1375 |
-
if ( isset( $allowed_hooks[ $hook_name ] ) ) {
|
1376 |
-
$wp_filter[ $hook_name ] = self::remove_wrong_callbacks( $hook_obj, $allowed_hooks[ $hook_name ] );
|
1377 |
-
} else {
|
1378 |
-
}
|
1379 |
-
}
|
1380 |
-
}
|
1381 |
-
}
|
1382 |
-
|
1383 |
-
/**
|
1384 |
-
* Remove other plugin hooks
|
1385 |
-
*
|
1386 |
-
* @param $hook_obj object
|
1387 |
-
* @param $allowed_hooks string
|
1388 |
-
* @return string
|
1389 |
-
* */
|
1390 |
-
public static function remove_wrong_callbacks( $hook_obj, $allowed_hooks ) {
|
1391 |
-
$new_callbacks = array();
|
1392 |
-
foreach ( $hook_obj->callbacks as $priority => $callbacks ) {
|
1393 |
-
$priority_callbacks = array();
|
1394 |
-
foreach ( $callbacks as $idx => $callback_details ) {
|
1395 |
-
if ( self::is_callback_match( $callback_details, $allowed_hooks ) ) {
|
1396 |
-
$priority_callbacks[ $idx ] = $callback_details;
|
1397 |
-
}
|
1398 |
-
}
|
1399 |
-
if ( $priority_callbacks ) {
|
1400 |
-
$new_callbacks[ $priority ] = $priority_callbacks;
|
1401 |
-
}
|
1402 |
-
}
|
1403 |
-
$hook_obj->callbacks = $new_callbacks;
|
1404 |
-
|
1405 |
-
return $hook_obj;
|
1406 |
-
}
|
1407 |
-
|
1408 |
-
/**
|
1409 |
-
* Is hook matches
|
1410 |
-
*
|
1411 |
-
* @param $callback_details array
|
1412 |
-
* @param $allowed_hooks array
|
1413 |
-
* @return boolean
|
1414 |
-
* */
|
1415 |
-
public static function is_callback_match( $callback_details, $allowed_hooks ) {
|
1416 |
-
$result = false;
|
1417 |
-
foreach ( $allowed_hooks as $callback_name ) {
|
1418 |
-
list( $class_name, $func_name ) = explode( "|", $callback_name );
|
1419 |
-
if(isset($callback_details['function']) && is_array($callback_details['function'])){
|
1420 |
-
if ( count( $callback_details['function'] ) != 2 ) {
|
1421 |
-
continue;
|
1422 |
-
}
|
1423 |
-
if ( $class_name == get_class( $callback_details['function'][0] ) AND $func_name == $callback_details['function'][1] ) {
|
1424 |
-
$result = true;
|
1425 |
-
break;// done!
|
1426 |
-
}
|
1427 |
-
}
|
1428 |
-
}
|
1429 |
-
|
1430 |
-
return $result;
|
1431 |
-
}
|
1432 |
-
|
1433 |
-
/**
|
1434 |
-
* Change the default template for sale badge
|
1435 |
-
*
|
1436 |
-
* @param $located string
|
1437 |
-
* @param $template_name string
|
1438 |
-
* @param $args array
|
1439 |
-
* @param $template_path string
|
1440 |
-
* @param $default_path string
|
1441 |
-
* @return string
|
1442 |
-
* */
|
1443 |
-
public static function changeTemplateForSaleTag($located, $template_name, $args, $template_path, $default_path){
|
1444 |
-
if($template_name == 'single-product/sale-flash.php'){
|
1445 |
-
$located = self::getTemplatePath('sale-flash.php', WOO_DISCOUNT_DIR . '/view/template/single-product/sale-flash.php', 'single-product');
|
1446 |
-
} else if($template_name == 'loop/sale-flash.php'){
|
1447 |
-
$located = self::getTemplatePath('sale-flash.php', WOO_DISCOUNT_DIR . '/view/template/loop/sale-flash.php', 'loop');
|
1448 |
-
}
|
1449 |
-
|
1450 |
-
return $located;
|
1451 |
-
}
|
1452 |
-
|
1453 |
-
/**
|
1454 |
-
* Get template path
|
1455 |
-
*
|
1456 |
-
* @param $template_name string
|
1457 |
-
* @param $default_path string
|
1458 |
-
* @param $folder string
|
1459 |
-
* @return string
|
1460 |
-
* */
|
1461 |
-
protected static function getTemplatePath($template_name, $default_path, $folder = ''){
|
1462 |
-
$pricing_rules = self::get_instance()->getInstance('FlycartWooDiscountRulesPricingRules');
|
1463 |
-
$path_from_template = $pricing_rules->getTemplateOverride($template_name, $folder);
|
1464 |
-
if($path_from_template) $default_path = $path_from_template;
|
1465 |
-
|
1466 |
-
return $default_path;
|
1467 |
-
}
|
1468 |
-
}
|
1469 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
v1/includes/pricing-productbased.php
DELETED
@@ -1,85 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if (!defined('ABSPATH')) exit; // Exit if accessed directly
|
3 |
-
/**
|
4 |
-
* Class FlycartWooDiscountRulesPriceProductBased
|
5 |
-
*/
|
6 |
-
if (!class_exists('FlycartWooDiscountRulesPriceProductBased')) {
|
7 |
-
class FlycartWooDiscountRulesPriceProductBased
|
8 |
-
{
|
9 |
-
/**
|
10 |
-
* Verify Quantity
|
11 |
-
* */
|
12 |
-
public static function verifyQuantity($quantity_rule, $quantity, $quantity_from, $quantity_to, $buy_type){
|
13 |
-
$quantityMatched = array();
|
14 |
-
switch ($quantity_rule) {
|
15 |
-
case 'less':
|
16 |
-
foreach($quantity as $quantityValue){
|
17 |
-
$quantityMatched[] = ($quantityValue <= $quantity_from) ? 1: 0;
|
18 |
-
}
|
19 |
-
break;
|
20 |
-
case 'equal':
|
21 |
-
foreach($quantity as $quantityValue){
|
22 |
-
$quantityMatched[] = ($quantityValue == $quantity_from) ? 1: 0;
|
23 |
-
}
|
24 |
-
break;
|
25 |
-
case 'from':
|
26 |
-
foreach($quantity as $quantityValue){
|
27 |
-
$quantityMatched[] = (($quantityValue >= $quantity_from) && ($quantityValue <= $quantity_to)) ? 1: 0;
|
28 |
-
}
|
29 |
-
break;
|
30 |
-
case 'more':
|
31 |
-
default:
|
32 |
-
foreach($quantity as $quantityValue){
|
33 |
-
$quantityMatched[] = ($quantityValue >= $quantity_from) ? 1: 0;
|
34 |
-
}
|
35 |
-
break;
|
36 |
-
}
|
37 |
-
|
38 |
-
return FlycartWooDiscountRulesPriceProductBased::verifyBuyTypeWithQuantityMatched($buy_type, $quanti
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|