PluginProbe ʕ •ᴥ•ʔ
Discount Rules for WooCommerce / 1.5.5
Discount Rules for WooCommerce v1.5.5
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
188 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 add_action('woocommerce_after_cart_item_quantity_update', array($this->discountBase, 'handleDiscount'), 100);
140 if(version_compare($woocommerce_version, '3.0', '>=')){
141 add_action('woocommerce_before_calculate_totals', array($this, 'applyDiscountRules'), 1000);
142 add_action('woocommerce_cart_loaded_from_session', array($this, 'applyCartDiscountRules'), 100);
143 } else {
144 add_action('woocommerce_cart_loaded_from_session', array($this->discountBase, 'handleDiscount'), 100);
145 }
146
147 add_action('woocommerce_add_to_cart', array($this->pricingRules, 'handleBOGODiscount'), 10, 6);
148 add_action( 'woocommerce_after_cart_item_quantity_update', array($this->pricingRules, 'handleBOGODiscountOnUpdateQuantity'), 10, 4 );
149
150 // Manually Update Line Item Name.
151 add_filter('woocommerce_cart_item_name', array($this->discountBase, 'modifyName'));
152
153 // Remove Filter to make the previous one as last filter.
154 remove_filter('woocommerce_cart_item_name', 'filter_woocommerce_cart_item_name', 10, 3);
155
156 // Alter the Display Price HTML.
157 add_filter('woocommerce_cart_item_price', array($this->pricingRules, 'replaceVisiblePricesCart'), 100, 3);
158
159 //replace visible price in product page
160 add_filter('woocommerce_get_price_html', array($this->pricingRules, 'replaceVisiblePrices'), 100, 3);
161 //replace visible price in product page for variant
162 add_filter('woocommerce_available_variation', array($this->pricingRules, 'replaceVisiblePricesForVariant'), 100, 3);
163
164
165 // Older Version support this hook.
166 add_filter('woocommerce_cart_item_price_html', array($this->pricingRules, 'replaceVisiblePricesCart'), 100, 3);
167
168 // Pricing Table of Individual Product.
169 add_filter('woocommerce_before_add_to_cart_form', array($this->pricingRules, 'priceTable'));
170
171 // Updating Log After Creating Order
172 add_action('woocommerce_thankyou', array($this->discountBase, 'storeLog'));
173
174 add_action( 'woocommerce_after_checkout_form', array($this->discountBase, 'addScriptInCheckoutPage'));
175
176 //To enable on-sale tag
177 add_filter('woocommerce_product_is_on_sale', array($this->pricingRules, 'displayProductIsOnSaleTag'), 10, 2);
178 }
179 }
180 }
181
182 /**
183 * init Woo Discount Rules
184 */
185 if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) {
186 FlycartWooDiscountRules::init();
187 }
188