PluginProbe ʕ •ᴥ•ʔ
Discount Rules for WooCommerce / 1.5.1
Discount Rules for WooCommerce v1.5.1
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
196 lines
1 <?php
2 if (!defined('ABSPATH')) exit; // Exit if accessed directly
3
4 /**
5 * Plugin Directory.
6 */
7 define('WOO_DISCOUNT_DIR', untrailingslashit(plugin_dir_path(__FILE__)));
8
9 /**
10 * Plugin Directory URI.
11 */
12 define('WOO_DISCOUNT_URI', untrailingslashit(plugin_dir_url(__FILE__)));
13
14 /**
15 * Plugin Base Name.
16 */
17 define('WOO_DISCOUNT_PLUGIN_BASENAME', plugin_basename(__FILE__));
18
19 if(!function_exists('get_plugin_data')){
20 require_once ABSPATH . 'wp-admin/includes/plugin.php';
21 }
22
23 /**
24 * Version of Woo Discount Rules.
25 */
26 $pluginDetails = get_plugin_data(plugin_dir_path(__FILE__).'woo-discount-rules.php');
27 define('WOO_DISCOUNT_VERSION', $pluginDetails['Version']);
28
29 if(!class_exists('FlycartWooDiscountRules')){
30 class FlycartWooDiscountRules{
31
32 private static $instance;
33 public $discountBase;
34 public $pricingRules;
35
36 /**
37 * To run the plugin
38 * */
39 public static function init() {
40 if ( self::$instance == null ) {
41 self::$instance = new FlycartWooDiscountRules();
42 }
43 return self::$instance;
44 }
45
46 /**
47 * FlycartWooDiscountRules constructor
48 * */
49 public function __construct() {
50 $this->includeFiles();
51 $this->runUpdater();
52 $this->discountBase = new FlycartWooDiscountBase();
53 $this->pricingRules = new FlycartWooDiscountRulesPricingRules();
54 if (is_admin()) {
55 $this->loadAdminScripts();
56 }
57 if(FlycartWooDiscountRulesGeneralHelper::doIHaveToRun()){
58 $this->loadSiteScripts();
59 }
60 }
61
62 /**
63 * To include Files
64 * */
65 protected function includeFiles(){
66 include_once('helper/woo-function.php');
67 include_once('includes/pricing-rules.php');
68 include_once('helper/general-helper.php');
69 include_once('includes/cart-rules.php');
70 include_once('includes/discount-base.php');
71 include_once('helper/purchase.php');
72 require_once __DIR__ . '/vendor/autoload.php';
73 }
74
75 /**
76 * Run Plugin updater
77 * */
78 protected function runUpdater(){
79 try{
80 require plugin_dir_path( __FILE__ ).'/vendor/yahnis-elsts/plugin-update-checker/plugin-update-checker.php';
81
82 $purchase_helper = new FlycartWooDiscountRulesPurchase();
83 $purchase_helper->init();
84 $update_url = $purchase_helper->getUpdateURL();
85
86 $myUpdateChecker = Puc_v4_Factory::buildUpdateChecker(
87 $update_url,
88 plugin_dir_path( __FILE__ ).'woo-discount-rules.php',
89 'woo-discount-rules'
90 );
91 add_action( 'after_plugin_row', array($purchase_helper, 'woodisc_after_plugin_row'),10,3 );
92
93 add_action('wp_ajax_forceValidateLicenseKey', array($purchase_helper, 'forceValidateLicenseKey'));
94
95 add_action( 'admin_notices', array($purchase_helper, 'errorNoticeInAdminPages'));
96 } catch (Exception $e){}
97 }
98
99 /**
100 * Load Admin scripts
101 * */
102 protected function loadAdminScripts(){
103 // Init in Admin Menu
104 add_action('admin_menu', array($this->discountBase, 'adminMenu'));
105 add_action('wp_ajax_savePriceRule', array($this->discountBase, 'savePriceRule'));
106 add_action('wp_ajax_saveCartRule', array($this->discountBase, 'saveCartRule'));
107 add_action('wp_ajax_saveConfig', array($this->discountBase, 'saveConfig'));
108
109 add_action('wp_ajax_UpdateStatus', array($this->discountBase, 'updateStatus'));
110 add_action('wp_ajax_RemoveRule', array($this->discountBase, 'removeRule'));
111 }
112
113 /**
114 * Apply discount rules
115 * */
116 public function applyDiscountRules(){
117 $this->discountBase->handlePriceDiscount();
118 remove_action('woocommerce_before_calculate_totals', array($this, 'applyDiscountRules'), 1000);
119 }
120
121 /**
122 * Apply discount rules
123 * */
124 public function applyCartDiscountRules(){
125 $this->discountBase->handleCartDiscount();
126 remove_action('woocommerce_cart_loaded_from_session', array($this, 'applyCartDiscountRules'), 100);
127 }
128
129 /**
130 * Load Admin scripts
131 * */
132 protected function loadSiteScripts(){
133 $woocommerce_version = '2.0.0';
134 $pluginDetails = get_plugin_data(WP_PLUGIN_DIR.'/woocommerce/woocommerce.php');
135 if(isset($pluginDetails['Version'])){
136 $woocommerce_version = $pluginDetails['Version'];
137 }
138
139 $postData = \FlycartInput\FInput::getInstance();
140 // Handling Tight update with wooCommerce Changes.
141 $empty_add_to_cart = $postData->get('add-to-cart');
142 $empty_apply_coupon = $postData->get('apply_coupon');
143 $empty_update_cart = $postData->get('update_cart');
144 $empty_proceed = $postData->get('proceed');
145 if ((!empty($empty_add_to_cart) && is_numeric($postData->get('add-to-cart'))) || $postData->get('action', false) == 'woocommerce_add_to_cart') {
146
147 } else if (!empty($empty_apply_coupon) || !empty($empty_update_cart) || !empty($empty_proceed)) {
148 add_action('woocommerce_after_cart_item_quantity_update', array($this->discountBase, 'handleDiscount'), 100);
149 } else {
150 if(version_compare($woocommerce_version, '3.0', '>=')){
151 add_action('woocommerce_before_calculate_totals', array($this, 'applyDiscountRules'), 1000);
152 add_action('woocommerce_cart_loaded_from_session', array($this, 'applyCartDiscountRules'), 100);
153 } else {
154 add_action('woocommerce_cart_loaded_from_session', array($this->discountBase, 'handleDiscount'), 100);
155 }
156 }
157
158 // Manually Update Line Item Name.
159 add_filter('woocommerce_cart_item_name', array($this->discountBase, 'modifyName'));
160
161 // Remove Filter to make the previous one as last filter.
162 remove_filter('woocommerce_cart_item_name', 'filter_woocommerce_cart_item_name', 10, 3);
163
164 // Alter the Display Price HTML.
165 add_filter('woocommerce_cart_item_price', array($this->pricingRules, 'replaceVisiblePricesCart'), 100, 3);
166
167 //replace visible price in product page
168 add_filter('woocommerce_get_price_html', array($this->pricingRules, 'replaceVisiblePrices'), 100, 3);
169 //replace visible price in product page for variant
170 add_filter('woocommerce_available_variation', array($this->pricingRules, 'replaceVisiblePricesForVariant'), 100, 3);
171
172
173 // Older Version support this hook.
174 add_filter('woocommerce_cart_item_price_html', array($this->pricingRules, 'replaceVisiblePricesCart'), 100, 3);
175
176 // Pricing Table of Individual Product.
177 add_filter('woocommerce_before_add_to_cart_form', array($this->pricingRules, 'priceTable'));
178
179 // Updating Log After Creating Order
180 add_action('woocommerce_thankyou', array($this->discountBase, 'storeLog'));
181
182 add_action( 'woocommerce_after_checkout_form', array($this->discountBase, 'addScriptInCheckoutPage'));
183
184 //To enable on-sale tag
185 add_filter('woocommerce_product_is_on_sale', array($this->pricingRules, 'displayProductIsOnSaleTag'), 10, 2);
186 }
187 }
188 }
189
190 /**
191 * init Woo Discount Rules
192 */
193 if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
194 FlycartWooDiscountRules::init();
195 }
196