PluginProbe ʕ •ᴥ•ʔ
Discount Rules for WooCommerce / 1.4.31
Discount Rules for WooCommerce v1.4.31
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 8 years ago helper 8 years ago includes 8 years ago vendor 8 years ago view 8 years ago loader.php 8 years ago readme.txt 8 years ago woo-discount-rules.php 8 years ago
loader.php
250 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 try{
76 require plugin_dir_path( __FILE__ ).'/vendor/yahnis-elsts/plugin-update-checker/plugin-update-checker.php';
77
78 $purchase_helper = new woo_dicount_rules_purchase();
79 $purchase_helper->init();
80 $update_url = $purchase_helper->getUpdateURL();
81
82 $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
83 $update_url,
84 plugin_dir_path( __FILE__ ).'woo-discount-rules.php',
85 'woo-discount-rules'
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 } catch (Exception $e){}
93
94
95
96 // -------------------------- end updater -------------------------------------------------
97
98
99 // --------------------------------------------------GENERAL HOOK-------------------------------------------------------
100
101 /** Initiating Plugin */
102 $discountBase = new woo_dicount_rules_WooDiscountBase();
103 $pricingRules = new woo_dicount_rules_pricingRules();
104
105 // Enqueue Scripts/Styles - in head of admin page
106 add_action('admin_enqueue_scripts', 'woo_discount_addHeadScript');
107 // Init in Admin Menu
108 add_action('admin_menu', array($discountBase, 'adminMenu'));
109
110 $postData = \FlycartInput\FInput::getInstance();
111 // ---------------------------------------------------------------------------------------------------------------------
112
113
114 // --------------------------------------------------WOO DISCOUNT HOOK--------------------------------------------------
115
116
117 // ---------------------------------------------------------------------------------------------------------------------
118
119
120 // ----------------------------------------------------WooCommerce HOOK-------------------------------------------------
121
122 // Handling Tight update with wooCommerce Changes.
123 $empty_add_to_cart = $postData->get('add-to-cart');
124 $empty_apply_coupon = $postData->get('apply_coupon');
125 $empty_update_cart = $postData->get('update_cart');
126 $empty_proceed = $postData->get('proceed');
127 if ((!empty($empty_add_to_cart) && is_numeric($postData->get('add-to-cart'))) || $postData->get('action', false) == 'woocommerce_add_to_cart') {
128 // add_action('woocommerce_add_to_cart', array($discountBase, 'handleDiscount'), 19);
129 } else if (!empty($empty_apply_coupon) || !empty($empty_update_cart) || !empty($empty_proceed)) {
130 // add_action('woocommerce_before_cart_item_quantity_zero', array($discountBase, 'handleDiscount'), 100);
131 add_action('woocommerce_after_cart_item_quantity_update', array($discountBase, 'handleDiscount'), 100);
132
133 // add_action('woocommerce_update_cart_action_cart_updated', array($discountBase, 'handleDiscount'));
134 } else {
135 add_action('woocommerce_cart_loaded_from_session', array($discountBase, 'handleDiscount'), 100);
136 }
137
138 // Manually Update Line Item Name.
139 add_filter('woocommerce_cart_item_name', array($discountBase, 'modifyName'));
140
141 // Remove Filter to make the previous one as last filter.
142 remove_filter('woocommerce_cart_item_name', 'filter_woocommerce_cart_item_name', 10, 3);
143
144 // Alter the Display Price HTML.
145 add_filter('woocommerce_cart_item_price', array($pricingRules, 'replaceVisiblePricesCart'), 100, 3);
146
147 //replace visible price in product page
148 add_filter('woocommerce_get_price_html', array($pricingRules, 'replaceVisiblePrices'), 100, 3);
149 //replace visible price in product page for variant
150 add_filter('woocommerce_available_variation', array($pricingRules, 'replaceVisiblePricesForVariant'), 100, 3);
151
152
153 // Older Version support this hook.
154 add_filter('woocommerce_cart_item_price_html', array($pricingRules, 'replaceVisiblePricesCart'), 100, 3);
155
156 // Pricing Table of Individual Product.
157 add_filter('woocommerce_before_add_to_cart_form', array($pricingRules, 'priceTable'));
158
159 // Updating Log After Creating Order
160 add_action('woocommerce_thankyou', array($discountBase, 'storeLog'));
161 // ---------------------------------------------------------------------------------------------------------------------
162
163 // --------------------------------------------------AJAX REQUEST-------------------------------------------------------
164
165 add_action('wp_ajax_savePriceRule', array($discountBase, 'savePriceRule'));
166 add_action('wp_ajax_saveCartRule', array($discountBase, 'saveCartRule'));
167 add_action('wp_ajax_saveConfig', array($discountBase, 'saveConfig'));
168
169 add_action('wp_ajax_UpdateStatus', array($discountBase, 'updateStatus'));
170 add_action('wp_ajax_RemoveRule', array($discountBase, 'removeRule'));
171
172 add_action( 'woocommerce_after_checkout_form', array($discountBase, 'addScriptInCheckoutPage'));
173
174 // ---------------------------------------------------------------------------------------------------------------------
175
176 // --------------------------------------------------GENERAL FUNCTIONS--------------------------------------------------
177
178 /**
179 * To Append Script Wordpress.
180 */
181 if (!function_exists('woo_discount_addHeadScript')) {
182 function woo_discount_addHeadScript()
183 {
184 //
185 }
186 }
187
188 /**
189 * Adding Admin Page Script.
190 */
191 if (!function_exists('woo_discount_adminPageScript')) {
192 function woo_discount_adminPageScript()
193 {
194 $status = false;
195 $postData = \FlycartInput\FInput::getInstance();
196 // Plugin scripts should run only in plugin page.
197 if (is_admin()) {
198 if ($postData->get('page', false) == 'woo_discount_rules') {
199 $status = true;
200 }
201 // By Default, the landing page also can use this script.
202 } elseif (!is_admin()) {
203 // $status = true;
204 }
205
206 if ($status) {
207 wp_register_style('woo_discount_style', WOO_DISCOUNT_URI . '/assets/css/style.css', array(), WOO_DISCOUNT_VERSION);
208 wp_enqueue_style('woo_discount_style');
209
210 wp_register_style('woo_discount_style_custom', WOO_DISCOUNT_URI . '/assets/css/custom.css', array(), WOO_DISCOUNT_VERSION);
211 wp_enqueue_style('woo_discount_style_custom');
212
213 wp_register_style('woo_discount_style_tab', WOO_DISCOUNT_URI . '/assets/css/tabbablePanel.css', array(), WOO_DISCOUNT_VERSION);
214 wp_enqueue_style('woo_discount_style_tab');
215
216 // For Implementing Select Picker Library.
217 wp_register_style('woo_discount_style_select', WOO_DISCOUNT_URI . '/assets/css/bootstrap.select.min.css', array(), WOO_DISCOUNT_VERSION);
218 wp_enqueue_style('woo_discount_style_select');
219
220 wp_enqueue_script('woo_discount_script_select', WOO_DISCOUNT_URI . '/assets/js/bootstrap.select.min.js', array(), WOO_DISCOUNT_VERSION);
221
222
223 // -------------------------------------------------------------------------------------------------------------
224
225 wp_register_style('woo_discount_bootstrap', WOO_DISCOUNT_URI . '/assets/css/bootstrap.min.css', array(), WOO_DISCOUNT_VERSION);
226 wp_enqueue_style('woo_discount_bootstrap');
227
228 wp_register_script('woo_discount_jquery_ui_js_2', WOO_DISCOUNT_URI . '/assets/js/bootstrap.min.js', array(), WOO_DISCOUNT_VERSION);
229 wp_enqueue_script('woo_discount_jquery_ui_js_2');
230
231 wp_register_style('woo_discount_jquery_ui_css', WOO_DISCOUNT_URI . '/assets/css/jquery-ui.css', array(), WOO_DISCOUNT_VERSION);
232 wp_enqueue_style('woo_discount_jquery_ui_css');
233
234 wp_enqueue_script('jquery');
235 wp_enqueue_script('jquery-ui-core');
236 wp_enqueue_script('jquery-ui-datepicker');
237
238 // wp_register_style('woo_discount_select2_css', WOO_DISCOUNT_URI . '/assets/css/select2.min.css');
239 // wp_enqueue_style('woo_discount_select2_css');
240 //
241 // wp_register_script('woo_discount_select2_js', WOO_DISCOUNT_URI . '/assets/js/select2.min.js');
242 // wp_enqueue_script('woo_discount_select2_js');
243
244 wp_enqueue_script('woo_discount_script', WOO_DISCOUNT_URI . '/assets/js/app.js', array(), WOO_DISCOUNT_VERSION);
245
246 }
247 }
248 }
249
250 // ---------------------------------------------------------------------------------------------------------------------