PluginProbe ʕ •ᴥ•ʔ
Discount Rules for WooCommerce / 1.4.8
Discount Rules for WooCommerce v1.4.8
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
201 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 define('WOO_DISCOUNT_VERSION', get_plugin_data(plugin_dir_path(__FILE__).'woo-discount-rules.php')['Version']);
28
29 include_once('includes/discount-base.php');
30 include_once('includes/pricing-rules.php');
31 include_once('helper/general-helper.php');
32 include_once('helper/purchase.php');
33 require_once __DIR__ . '/vendor/autoload.php';
34
35 // -------------------------- updater -----------------------------------------------------
36 require plugin_dir_path( __FILE__ ).'/vendor/yahnis-elsts/plugin-update-checker/plugin-update-checker.php';
37
38 $purchase_helper = new woo_dicount_rules_purchase();
39 $purchase_helper->init();
40 $update_url = $purchase_helper->getUpdateURL();
41
42 $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
43 $update_url,
44 plugin_dir_path( __FILE__ ).'woo-discount-rules.php',
45 'woo-discount-rules'
46 );
47
48 add_action( 'after_plugin_row', array($purchase_helper, 'woodisc_after_plugin_row'),10,3 );
49
50 add_action('wp_ajax_forceValidateLicenseKey', array($purchase_helper, 'forceValidateLicenseKey'));
51
52 add_action( 'admin_notices', array($purchase_helper, 'errorNoticeInAdminPages'));
53
54 // -------------------------- end updater -------------------------------------------------
55
56
57 // --------------------------------------------------GENERAL HOOK-------------------------------------------------------
58
59 /** Initiating Plugin */
60 $discountBase = new woo_dicount_rules_WooDiscountBase();
61 $pricingRules = new woo_dicount_rules_pricingRules();
62
63 // Enqueue Scripts/Styles - in head of admin page
64 add_action('admin_enqueue_scripts', 'woo_discount_addHeadScript');
65 // Init in Admin Menu
66 add_action('admin_menu', array($discountBase, 'adminMenu'));
67
68 $postData = \FlycartInput\FInput::getInstance();
69 // ---------------------------------------------------------------------------------------------------------------------
70
71
72 // --------------------------------------------------WOO DISCOUNT HOOK--------------------------------------------------
73
74
75 // ---------------------------------------------------------------------------------------------------------------------
76
77
78 // ----------------------------------------------------WooCommerce HOOK-------------------------------------------------
79
80 // Handling Tight update with wooCommerce Changes.
81 $empty_add_to_cart = $postData->get('add-to-cart');
82 $empty_apply_coupon = $postData->get('apply_coupon');
83 $empty_update_cart = $postData->get('update_cart');
84 $empty_proceed = $postData->get('proceed');
85 if ((!empty($empty_add_to_cart) && is_numeric($postData->get('add-to-cart'))) || $postData->get('action', false) == 'woocommerce_add_to_cart') {
86 // add_action('woocommerce_add_to_cart', array($discountBase, 'handleDiscount'), 19);
87 } else if (!empty($empty_apply_coupon) || !empty($empty_update_cart) || !empty($empty_proceed)) {
88 // add_action('woocommerce_before_cart_item_quantity_zero', array($discountBase, 'handleDiscount'), 100);
89 add_action('woocommerce_after_cart_item_quantity_update', array($discountBase, 'handleDiscount'), 100);
90
91 // add_action('woocommerce_update_cart_action_cart_updated', array($discountBase, 'handleDiscount'));
92 } else {
93 add_action('woocommerce_cart_loaded_from_session', array($discountBase, 'handleDiscount'), 100);
94 }
95
96 // Manually Update Line Item Name.
97 add_filter('woocommerce_cart_item_name', array($discountBase, 'modifyName'));
98
99 // Remove Filter to make the previous one as last filter.
100 remove_filter('woocommerce_cart_item_name', 'filter_woocommerce_cart_item_name', 10, 3);
101
102 // Alter the Display Price HTML.
103 add_filter('woocommerce_cart_item_price', array($pricingRules, 'replaceVisiblePricesCart'), 100, 3);
104 // Older Version support this hook.
105 add_filter('woocommerce_cart_item_price_html', array($pricingRules, 'replaceVisiblePricesCart'), 100, 3);
106
107 // Pricing Table of Individual Product.
108 add_filter('woocommerce_before_add_to_cart_form', array($pricingRules, 'priceTable'));
109
110 // Updating Log After Creating Order
111 add_action('woocommerce_thankyou', array($discountBase, 'storeLog'));
112 // ---------------------------------------------------------------------------------------------------------------------
113
114 // --------------------------------------------------AJAX REQUEST-------------------------------------------------------
115
116 add_action('wp_ajax_savePriceRule', array($discountBase, 'savePriceRule'));
117 add_action('wp_ajax_saveCartRule', array($discountBase, 'saveCartRule'));
118 add_action('wp_ajax_saveConfig', array($discountBase, 'saveConfig'));
119
120 add_action('wp_ajax_UpdateStatus', array($discountBase, 'updateStatus'));
121 add_action('wp_ajax_RemoveRule', array($discountBase, 'removeRule'));
122
123 add_action( 'woocommerce_after_checkout_form', array($discountBase, 'addScriptInCheckoutPage'));
124
125 // ---------------------------------------------------------------------------------------------------------------------
126
127 // --------------------------------------------------GENERAL FUNCTIONS--------------------------------------------------
128
129 /**
130 * To Append Script Wordpress.
131 */
132 if (!function_exists('woo_discount_addHeadScript')) {
133 function woo_discount_addHeadScript()
134 {
135 //
136 }
137 }
138
139 /**
140 * Adding Admin Page Script.
141 */
142 if (!function_exists('woo_discount_adminPageScript')) {
143 function woo_discount_adminPageScript()
144 {
145 $status = false;
146 $postData = \FlycartInput\FInput::getInstance();
147 // Plugin scripts should run only in plugin page.
148 if (is_admin()) {
149 if ($postData->get('page', false) == 'woo_discount_rules') {
150 $status = true;
151 }
152 // By Default, the landing page also can use this script.
153 } elseif (!is_admin()) {
154 // $status = true;
155 }
156
157 if ($status) {
158 wp_register_style('woo_discount_style', WOO_DISCOUNT_URI . '/assets/css/style.css');
159 wp_enqueue_style('woo_discount_style');
160
161 wp_register_style('woo_discount_style_custom', WOO_DISCOUNT_URI . '/assets/css/custom.css');
162 wp_enqueue_style('woo_discount_style_custom');
163
164 wp_register_style('woo_discount_style_tab', WOO_DISCOUNT_URI . '/assets/css/tabbablePanel.css');
165 wp_enqueue_style('woo_discount_style_tab');
166
167 // For Implementing Select Picker Library.
168 wp_register_style('woo_discount_style_select', WOO_DISCOUNT_URI . '/assets/css/bootstrap.select.min.css');
169 wp_enqueue_style('woo_discount_style_select');
170
171 wp_enqueue_script('woo_discount_script_select', WOO_DISCOUNT_URI . '/assets/js/bootstrap.select.min.js');
172
173
174 // -------------------------------------------------------------------------------------------------------------
175
176 wp_register_style('woo_discount_bootstrap', WOO_DISCOUNT_URI . '/assets/css/bootstrap.min.css');
177 wp_enqueue_style('woo_discount_bootstrap');
178
179 wp_register_script('woo_discount_jquery_ui_js_2', WOO_DISCOUNT_URI . '/assets/js/bootstrap.min.js');
180 wp_enqueue_script('woo_discount_jquery_ui_js_2');
181
182 wp_register_style('woo_discount_jquery_ui_css', WOO_DISCOUNT_URI . '/assets/css/jquery-ui.css');
183 wp_enqueue_style('woo_discount_jquery_ui_css');
184
185 wp_enqueue_script('jquery');
186 wp_enqueue_script('jquery-ui-core');
187 wp_enqueue_script('jquery-ui-datepicker');
188
189 // wp_register_style('woo_discount_select2_css', WOO_DISCOUNT_URI . '/assets/css/select2.min.css');
190 // wp_enqueue_style('woo_discount_select2_css');
191 //
192 // wp_register_script('woo_discount_select2_js', WOO_DISCOUNT_URI . '/assets/js/select2.min.js');
193 // wp_enqueue_script('woo_discount_select2_js');
194
195 wp_enqueue_script('woo_discount_script', WOO_DISCOUNT_URI . '/assets/js/app.js');
196
197 }
198 }
199 }
200
201 // ---------------------------------------------------------------------------------------------------------------------