PluginProbe
Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO / 1.3.44
Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO v1.3.44
1.4.13 1.4.12 1.4.11 1.4.10 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.54 1.3.53 1.3.52 1.3.51 1.3.50 1.3.49 1.3.48 1.3.47 1.3.46 1.3.45 1.3.44 All 176 releases
disco / disco.php

disco.php in Discount Rules for WooCommerce – Disco | Dynamic Pricing, Conditions, Bulk, Bundle, BOGO 1.3.44, at disco.php

175 lines 5.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * The plugin bootstrap file
4 *
5 * @link https://webappick.com
6 * @since 1.0.0
7 * @package Disco
8 * @wordpress-plugin
9 * Plugin Name: Disco
10 * Plugin URI: https://webappick.com/
11 * Description: Create logical, dynamic and automated discounts for your WooCommerce Store based on product, cart, and cart item information.
12 * Version: 1.3.44
13 * Author: WebAppick
14 * Author URI: https://webappick.com/
15 * License: GPLv3 or later
16 * License URI: http://www.gnu.org/licenses/gpl-3.0.html
17 * Text Domain: disco
18 * Domain Path: /languages
19 *
20 * WP Requirement & Test
21 * Requires at least: 4.4
22 * Tested up to: 7.0
23 * Requires PHP: 7.4
24 * Requires Plugins: woocommerce
25 *
26 * WC Requirement & Test
27 * WC requires at least: 3.0
28 * WC tested up to: 10.7.0
29 */
30
31 // If this file is called directly, abort.
32 use Disco\Engine\Initialize;
33 use Micropackage\Requirements\Requirements;
34
35 if ( ! defined( 'ABSPATH' ) ) {
36 die( 'We\'re sorry, but you can not directly access this file.' );
37 }
38
39 const DISCO_VERSION = '1.3.44';
40 const DISCO_TEXTDOMAIN = 'disco';
41 const DISCO_NAME = 'Disco';
42
43 define( 'DISCO_PLUGIN_ROOT', plugin_dir_path( __FILE__ ) );
44 define( 'DISCO_PLUGIN_FILE', __FILE__ );
45 define( 'DISCO_BADGE_IMAGES_DIR', plugins_url( 'backend/views/asset/img', __FILE__ ));
46 define( 'DISCO_PRO_PLUGIN_FILE', dirname(__DIR__, 1) . '/disco-pro/disco-pro.php' );
47 define( 'DISCO_LIBS_PATH', DISCO_PLUGIN_ROOT . 'libs/' );
48
49 const DISCO_PLUGIN_ABSOLUTE = __FILE__;
50 const DISCO_MIN_PHP_VERSION = '7.4';
51 const DISCO_WP_VERSION = '4.4';
52 const DISCO_DB_VERSION = '1.0.0';
53
54 // WooCommerce has detected that some of your active plugins are incompatible with currently enabled WooCommerce features. Please review the details.
55 add_action(
56 'before_woocommerce_init',
57 function () {
58 if ( ! class_exists( \Automattic\WooCommerce\Utilities\FeaturesUtil::class ) ) {
59 return;
60 }
61
62 \Automattic\WooCommerce\Utilities\FeaturesUtil::declare_compatibility( 'custom_order_tables', __FILE__, true );
63 }
64 );
65
66 add_action(// @phpstan-ignore-line
67 'init',
68 static function () {
69 load_plugin_textdomain( 'disco', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
70 }
71 );
72
73 if ( version_compare( PHP_VERSION, DISCO_MIN_PHP_VERSION, '<=' ) ) {
74 add_action(// @phpstan-ignore-line
75 'admin_init',
76 static function () {
77 deactivate_plugins( plugin_basename( __FILE__ ) );
78 }
79 );
80 add_action(// @phpstan-ignore-line
81 'admin_notices',
82 static function () {
83 echo wp_kses_post(
84 sprintf(
85 '<div class="notice notice-error"><p>%s</p></div>',
86 __( 'Disco requires PHP 5.6 or newer.', 'disco' )// @phpstan-ignore-line
87 )
88 );
89 }
90 );
91
92 // Return early to prevent loading the plugin.
93 return;
94 }
95
96 $disco_libraries = require DISCO_PLUGIN_ROOT . 'vendor/autoload.php'; //phpcs:ignore
97
98 // Must run before plugins_loaded so the buffer captures stray notices from any plugin.
99 \Disco\Engine\OutputBuffer::start();
100
101 add_action('woocommerce_init', function () {
102 require_once DISCO_PLUGIN_ROOT . 'libs/LiveChat/LiveChat.php';
103 require_once DISCO_PLUGIN_ROOT . 'functions/common.php';
104 require_once DISCO_PLUGIN_ROOT . 'functions/cart.php';
105 require_once DISCO_PLUGIN_ROOT . 'functions/product.php';
106 require_once DISCO_PLUGIN_ROOT . 'functions/order.php';
107 require_once DISCO_PLUGIN_ROOT . 'functions/shipping.php';
108 require_once DISCO_PLUGIN_ROOT . 'functions/bogo.php';
109 require_once DISCO_PLUGIN_ROOT . 'functions/coupon.php';
110 require_once DISCO_PLUGIN_ROOT . 'functions/compatibility.php';
111 });
112
113
114 $requirements = new Requirements(
115 'Disco',
116 array(
117 'php' => DISCO_MIN_PHP_VERSION,
118 'php_extensions' => array( 'mbstring' ),
119 'wp' => DISCO_WP_VERSION,
120 'plugins' => array(
121 array(
122 'file' => 'woocommerce/woocommerce.php',
123 'name' => 'WooCommerce',
124 'version' => '3.5',
125 ),
126 ),
127 )
128 );
129
130 if ( ! $requirements->satisfied() ) {
131 $requirements->print_notice();
132
133 return;
134 }
135
136 if ( ! wp_installing() ) {
137 register_activation_hook(
138 DISCO_TEXTDOMAIN . '/' . DISCO_TEXTDOMAIN . '.php',
139 array(
140 new \Disco\Backend\ActDeact(),
141 'activate',
142 )
143 );
144 register_deactivation_hook(
145 DISCO_TEXTDOMAIN . '/' . DISCO_TEXTDOMAIN . '.php',
146 array(
147 new \Disco\Backend\ActDeact(),
148 'deactivate',
149 )
150 );
151 add_action(// @phpstan-ignore-line
152 'plugins_loaded',
153 static function () use ( $disco_libraries ) {
154 new Initialize( $disco_libraries );
155 }
156 );
157
158 require_once __DIR__ . '/libs/WebAppick/Classes/DiscoWebAppickAPI.php';
159
160 add_action(
161 'init', function() {
162 DiscoWebAppickAPI::getInstance();
163 }
164 );
165
166 }
167
168 //Add custom link to plugin row meta
169 //add_filter('plugin_row_meta', function ( $links, $file ) {
170 // if ($file == plugin_basename(__FILE__)) {
171 // $links[] = '<a href="https://discoplugin.com/pricing/?utm_source=update&utm_medium=wp_free&utm_campaign=release-update" target="_blank" class="disco-custom-meta-link"><span >🎃 Halloween Special – 30% OFF</span></a>';
172 // }
173 // return $links;
174 //}, 10, 2);
175