PluginProbe ʕ •ᴥ•ʔ
Discount Rules for WooCommerce / 1.4.12
Discount Rules for WooCommerce v1.4.12
1.4.39 1.4.4 1.4.40 1.4.41 1.4.42 1.4.43 1.4.44 1.4.45 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.10 1.5.11 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.14 1.6.15 1.6.16 1.6.17 1.6.18 1.6.19 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.10 1.7.11 1.7.12 1.7.13 1.7.14 1.7.15 1.7.16 1.7.17 1.7.18 1.7.19 1.7.2 1.7.20 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.2 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.2 2.1.0 2.1.1 2.1.2 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.10 2.3.11 2.3.12 2.3.13 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.4.1 2.4.2 2.4.4 2.4.5 2.5.0 2.5.2 2.5.3 2.5.4 2.6.0 2.6.1 2.6.10 2.6.11 2.6.12 2.6.13 2.6.14 2.6.15 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.6.8 2.6.9 trunk 1.1 1.2 1.3 1.4 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 1.4.14 1.4.15 1.4.16 1.4.17 1.4.18 1.4.19 1.4.2 1.4.20 1.4.21 1.4.22 1.4.23 1.4.24 1.4.25 1.4.26 1.4.27 1.4.28 1.4.29 1.4.3 1.4.30 1.4.31 1.4.32 1.4.33 1.4.34 1.4.35 1.4.36 1.4.37 1.4.38
woo-discount-rules / loader.php
woo-discount-rules Last commit date
assets 9 years ago helper 9 years ago includes 9 years ago vendor 9 years ago view 9 years ago loader.php 9 years ago readme.txt 9 years ago woo-discount-rules.php 9 years ago
loader.php
240 lines
1 <?php
2 if (!defined('ABSPATH')) exit; // Exit if accessed directly
3
4 /**
5 * Required Version of WooCommerce to Run.
6 */
7 define('WOO_DISCOUNT_REQUIRED_WOOCOMMERCE_VERSION', '3.5');
8 /**
9 * Plugin Directory.
10 */
11 define('WOO_DISCOUNT_DIR', untrailingslashit(plugin_dir_path(__FILE__)));
12 /**
13 * Plugin Directory URI.
14 */
15 define('WOO_DISCOUNT_URI', untrailingslashit(plugin_dir_url(__FILE__)));
16 /**
17 * Plugin Base Name.
18 */
19 define('WOO_DISCOUNT_PLUGIN_BASENAME', plugin_basename(__FILE__));
20
21 if(!function_exists('get_plugin_data')){
22 require_once ABSPATH . 'wp-admin/includes/plugin.php';
23 }
24 /**
25 * Version of Woo Discount Rules.
26 */
27 $pluginDetails = get_plugin_data(plugin_dir_path(__FILE__).'woo-discount-rules.php');
28 define('WOO_DISCOUNT_VERSION', $pluginDetails['Version']);
29
30 /**
31 * check WooCommerce version
32 */
33 if (!function_exists('woo_discount_checkWooCommerceVersion3')) {
34 function woo_discount_checkWooCommerceVersion3($version = "3.0")
35 {
36 // If get_plugins() isn't available, require it
37 if ( ! function_exists( 'get_plugins' ) )
38 require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
39
40 // Create the plugins folder and file variables
41 $plugin_folder = get_plugins( '/' . 'woocommerce' );
42 $plugin_file = 'woocommerce.php';
43
44 // If the plugin version number is set, return it
45 if ( isset( $plugin_folder[$plugin_file]['Version'] ) ) {
46 $woocommerce_version = $plugin_folder[$plugin_file]['Version'];
47
48 } else {
49 // Otherwise return null
50 $woocommerce_version = null;
51 }
52
53 if( version_compare( $woocommerce_version, $version, ">=" ) ) {
54 return true;
55 }
56 }
57 }
58
59
60 $woocommerce_v3 = woo_discount_checkWooCommerceVersion3();
61 if($woocommerce_v3){
62 include_once('includes/pricing-rules-3.php');
63 include_once('helper/general-helper-3.php');
64 include_once('includes/cart-rules-3.php');
65 } else {
66 include_once('includes/pricing-rules.php');
67 include_once('helper/general-helper.php');
68 include_once('includes/cart-rules.php');
69 }
70 include_once('includes/discount-base.php');
71 include_once('helper/purchase.php');
72 require_once __DIR__ . '/vendor/autoload.php';
73
74 // -------------------------- updater -----------------------------------------------------
75 require plugin_dir_path( __FILE__ ).'/vendor/yahnis-elsts/plugin-update-checker/plugin-update-checker.php';
76
77 $purchase_helper = new woo_dicount_rules_purchase();
78 $purchase_helper->init();
79 $update_url = $purchase_helper->getUpdateURL();
80
81 $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
82 $update_url,
83 plugin_dir_path( __FILE__ ).'woo-discount-rules.php',
84 'woo-discount-rules'
85 );
86
87 add_action( 'after_plugin_row', array($purchase_helper, 'woodisc_after_plugin_row'),10,3 );
88
89 add_action('wp_ajax_forceValidateLicenseKey', array($purchase_helper, 'forceValidateLicenseKey'));
90
91 add_action( 'admin_notices', array($purchase_helper, 'errorNoticeInAdminPages'));
92
93 // -------------------------- end updater -------------------------------------------------
94
95
96 // --------------------------------------------------GENERAL HOOK-------------------------------------------------------
97
98 /** Initiating Plugin */
99 $discountBase = new woo_dicount_rules_WooDiscountBase();
100 $pricingRules = new woo_dicount_rules_pricingRules();
101
102 // Enqueue Scripts/Styles - in head of admin page
103 add_action('admin_enqueue_scripts', 'woo_discount_addHeadScript');
104 // Init in Admin Menu
105 add_action('admin_menu', array($discountBase, 'adminMenu'));
106
107 $postData = \FlycartInput\FInput::getInstance();
108 // ---------------------------------------------------------------------------------------------------------------------
109
110
111 // --------------------------------------------------WOO DISCOUNT HOOK--------------------------------------------------
112
113
114 // ---------------------------------------------------------------------------------------------------------------------
115
116
117 // ----------------------------------------------------WooCommerce HOOK-------------------------------------------------
118
119 // Handling Tight update with wooCommerce Changes.
120 $empty_add_to_cart = $postData->get('add-to-cart');
121 $empty_apply_coupon = $postData->get('apply_coupon');
122 $empty_update_cart = $postData->get('update_cart');
123 $empty_proceed = $postData->get('proceed');
124 if ((!empty($empty_add_to_cart) && is_numeric($postData->get('add-to-cart'))) || $postData->get('action', false) == 'woocommerce_add_to_cart') {
125 // add_action('woocommerce_add_to_cart', array($discountBase, 'handleDiscount'), 19);
126 } else if (!empty($empty_apply_coupon) || !empty($empty_update_cart) || !empty($empty_proceed)) {
127 // add_action('woocommerce_before_cart_item_quantity_zero', array($discountBase, 'handleDiscount'), 100);
128 add_action('woocommerce_after_cart_item_quantity_update', array($discountBase, 'handleDiscount'), 100);
129
130 // add_action('woocommerce_update_cart_action_cart_updated', array($discountBase, 'handleDiscount'));
131 } else {
132 add_action('woocommerce_cart_loaded_from_session', array($discountBase, 'handleDiscount'), 100);
133 }
134
135 // Manually Update Line Item Name.
136 add_filter('woocommerce_cart_item_name', array($discountBase, 'modifyName'));
137
138 // Remove Filter to make the previous one as last filter.
139 remove_filter('woocommerce_cart_item_name', 'filter_woocommerce_cart_item_name', 10, 3);
140
141 // Alter the Display Price HTML.
142 add_filter('woocommerce_cart_item_price', array($pricingRules, 'replaceVisiblePricesCart'), 100, 3);
143 // Older Version support this hook.
144 add_filter('woocommerce_cart_item_price_html', array($pricingRules, 'replaceVisiblePricesCart'), 100, 3);
145
146 // Pricing Table of Individual Product.
147 add_filter('woocommerce_before_add_to_cart_form', array($pricingRules, 'priceTable'));
148
149 // Updating Log After Creating Order
150 add_action('woocommerce_thankyou', array($discountBase, 'storeLog'));
151 // ---------------------------------------------------------------------------------------------------------------------
152
153 // --------------------------------------------------AJAX REQUEST-------------------------------------------------------
154
155 add_action('wp_ajax_savePriceRule', array($discountBase, 'savePriceRule'));
156 add_action('wp_ajax_saveCartRule', array($discountBase, 'saveCartRule'));
157 add_action('wp_ajax_saveConfig', array($discountBase, 'saveConfig'));
158
159 add_action('wp_ajax_UpdateStatus', array($discountBase, 'updateStatus'));
160 add_action('wp_ajax_RemoveRule', array($discountBase, 'removeRule'));
161
162 add_action( 'woocommerce_after_checkout_form', array($discountBase, 'addScriptInCheckoutPage'));
163
164 // ---------------------------------------------------------------------------------------------------------------------
165
166 // --------------------------------------------------GENERAL FUNCTIONS--------------------------------------------------
167
168 /**
169 * To Append Script Wordpress.
170 */
171 if (!function_exists('woo_discount_addHeadScript')) {
172 function woo_discount_addHeadScript()
173 {
174 //
175 }
176 }
177
178 /**
179 * Adding Admin Page Script.
180 */
181 if (!function_exists('woo_discount_adminPageScript')) {
182 function woo_discount_adminPageScript()
183 {
184 $status = false;
185 $postData = \FlycartInput\FInput::getInstance();
186 // Plugin scripts should run only in plugin page.
187 if (is_admin()) {
188 if ($postData->get('page', false) == 'woo_discount_rules') {
189 $status = true;
190 }
191 // By Default, the landing page also can use this script.
192 } elseif (!is_admin()) {
193 // $status = true;
194 }
195
196 if ($status) {
197 wp_register_style('woo_discount_style', WOO_DISCOUNT_URI . '/assets/css/style.css');
198 wp_enqueue_style('woo_discount_style');
199
200 wp_register_style('woo_discount_style_custom', WOO_DISCOUNT_URI . '/assets/css/custom.css');
201 wp_enqueue_style('woo_discount_style_custom');
202
203 wp_register_style('woo_discount_style_tab', WOO_DISCOUNT_URI . '/assets/css/tabbablePanel.css');
204 wp_enqueue_style('woo_discount_style_tab');
205
206 // For Implementing Select Picker Library.
207 wp_register_style('woo_discount_style_select', WOO_DISCOUNT_URI . '/assets/css/bootstrap.select.min.css');
208 wp_enqueue_style('woo_discount_style_select');
209
210 wp_enqueue_script('woo_discount_script_select', WOO_DISCOUNT_URI . '/assets/js/bootstrap.select.min.js');
211
212
213 // -------------------------------------------------------------------------------------------------------------
214
215 wp_register_style('woo_discount_bootstrap', WOO_DISCOUNT_URI . '/assets/css/bootstrap.min.css');
216 wp_enqueue_style('woo_discount_bootstrap');
217
218 wp_register_script('woo_discount_jquery_ui_js_2', WOO_DISCOUNT_URI . '/assets/js/bootstrap.min.js');
219 wp_enqueue_script('woo_discount_jquery_ui_js_2');
220
221 wp_register_style('woo_discount_jquery_ui_css', WOO_DISCOUNT_URI . '/assets/css/jquery-ui.css');
222 wp_enqueue_style('woo_discount_jquery_ui_css');
223
224 wp_enqueue_script('jquery');
225 wp_enqueue_script('jquery-ui-core');
226 wp_enqueue_script('jquery-ui-datepicker');
227
228 // wp_register_style('woo_discount_select2_css', WOO_DISCOUNT_URI . '/assets/css/select2.min.css');
229 // wp_enqueue_style('woo_discount_select2_css');
230 //
231 // wp_register_script('woo_discount_select2_js', WOO_DISCOUNT_URI . '/assets/js/select2.min.js');
232 // wp_enqueue_script('woo_discount_select2_js');
233
234 wp_enqueue_script('woo_discount_script', WOO_DISCOUNT_URI . '/assets/js/app.js');
235
236 }
237 }
238 }
239
240 // ---------------------------------------------------------------------------------------------------------------------