PluginProbe
MakeCommerce for WooCommerce / 3.0.12
MakeCommerce for WooCommerce v3.0.12
4.1.0 4.0.8 trunk 1.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 2.0.0 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2.0 2.2.1 2.2.2 All 96 releases
makecommerce / makecommerce.php

makecommerce.php in MakeCommerce for WooCommerce 3.0.12, at makecommerce.php

203 lines 4.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * @link https://makecommerce.net/
5 * @since 3.0.0
6 * @package Makecommerce
7 *
8 * @wordpress-plugin
9 * Plugin Name: MakeCommerce
10 * Plugin URI: https://makecommerce.net/
11 * Description: Adds MakeCommerce/Simplecheckout payment gateway and Itella/Omniva/DPD parcel machine shipping methods to WooCommerce checkout
12 * Version: 3.0.12
13 * Author: Maksekeskus AS
14 * Author URI: https://makecommerce.net/
15 * License: GPL-2.0+
16 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
17 * Text Domain: makecommerce
18 * Domain Path: /languages
19 * Requires at least: 5.6.1
20 * Requires PHP: 7.4
21 * WC requires at least: 5.0.0
22 * WC tested up to: 6.1.1
23 */
24
25 // If this file is called directly, abort.
26 if ( ! defined( 'WPINC' ) ) {
27 die;
28 }
29
30 /**
31 * Currently plugin version.
32 * Start at version 3.0.0 and use SemVer - https://semver.org
33 */
34 define( 'MAKECOMMERCE_VERSION', '3.0.12' );
35 define( 'MAKECOMMERCE_PLUGIN_ID', 'makecommerce' );
36
37 //table name for banklinks
38 define( 'MAKECOMMERCE_TABLENAME', 'mc_banklinks' );
39 define( 'MAKECOMMERCE_SCO_TABLENAME', 'woocommerce_makecommerce_sc' );
40
41 //WC makecommerce version
42 define( 'WC_MC_VERSION', 2.0 );
43
44 register_activation_hook( __FILE__, 'activate_makecommerce' );
45 register_deactivation_hook( __FILE__, 'deactivate_makecommerce' );
46
47 /**
48 * Check if we are ok to continue (if namesoace and class doesn't already exist)
49 */
50 if ( class_exists( 'MakeCommerce' ) || namespaceExists( 'MakeCommerce' ) ) {
51
52 add_action( 'admin_notices', 'namespace_or_class_already_in_use' );
53
54 deactivate_plugins( plugin_dir_path( __FILE__ ) . '/makecommerce.php' );
55
56 return false;
57 }
58
59 /**
60 * Check if a namespace already exists
61 *
62 * @since 3.0.0
63 */
64 function namespaceExists( $namespace ) {
65
66 $namespace .= "\\";
67
68 foreach ( get_declared_classes() as $name ) {
69
70 if ( strpos( $name, $namespace ) === 0 ) {
71 return true;
72 }
73 }
74
75 return false;
76 }
77
78 /**
79 * Shows error in admin that we cannot continue
80 *
81 * @since 3.0.0
82 */
83 function namespace_or_class_already_in_use() {
84
85 ?>
86 <div class="error notice">
87 <p><?php _e( 'Cannot initiate MakeCommerce, a class and/or namespace called "MakeCommerce" is already in use somewhere else...', 'wc_makecommerce_domain' ); ?></p>
88 </div>
89 <?php
90 }
91
92 /**
93 * Check if WooCommerce exists and is active. Can't do much without it
94 */
95 if ( !in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
96
97 if ( is_multisite() ) {
98
99 include_once( ABSPATH . "wp-admin/includes/plugin.php" );
100 if ( !is_plugin_active_for_network( "woocommerce/woocommerce.php" ) ) {
101 woocommerce_not_found_or_active();
102
103 deactivate_plugins( plugin_dir_path( __FILE__ ) . '/makecommerce.php' );
104
105 return false;
106 }
107 } else {
108 woocommerce_not_found_or_active();
109
110 deactivate_plugins( plugin_dir_path( __FILE__ ) . '/makecommerce.php' );
111
112 return false;
113 }
114 }
115
116 /**
117 * If no WooCommerce is found
118 *
119 * @since 3.0.3
120 */
121 function woocommerce_not_found_or_active() {
122
123 add_action( 'admin_notices', 'no_woocommerce_found' );
124
125 deactivate_makecommerce();
126 }
127
128 /**
129 * Shows error in admin that we cannot continue
130 *
131 * @since 3.0.0
132 */
133 function no_woocommerce_found() {
134
135 ?>
136 <div class="error notice">
137 <p><?php _e( 'Cannot initiate MakeCommerce, there seems to be no WooCommerce present or active...', 'wc_makecommerce_domain' ); ?></p>
138 </div>
139 <?php
140 }
141
142 /**
143 * Disable automatic updates for MakeCommerce plugin
144 *
145 * @since 3.0.1
146 */
147 function disable_makecommerce_automatic_updates( $should_update, $plugin ) {
148
149 if ( ! isset( $plugin->plugin, $plugin->new_version ) ) {
150 return $should_update;
151 }
152
153 if ( 'makecommerce/makecommerce.php' !== $plugin->plugin ) {
154 return $should_update;
155 }
156
157 return false;
158 }
159
160 add_filter( 'auto_update_plugin', 'disable_makecommerce_automatic_updates', 99, 2 );
161
162 /**
163 * The code that runs during plugin activation.
164 * This action is documented in includes/class-makecommerce-activator.php
165 *
166 * @since 3.0.1
167 */
168 function activate_makecommerce() {
169
170 require_once plugin_dir_path( __FILE__ ) . 'includes/activator.php';
171 MakeCommerce\Activator::activate();
172 }
173
174 /**
175 * The code that runs during plugin deactivation.
176 * This action is documented in includes/class-makecommerce-deactivator.php
177 *
178 * @since 3.0.1
179 */
180 function deactivate_makecommerce() {
181
182 require_once plugin_dir_path( __FILE__ ) . 'includes/deactivator.php';
183 MakeCommerce\Deactivator::deactivate();
184 }
185
186 /**
187 * The core plugin class that is used to define internationalization,
188 * payment-specific hooks, and shipping-specific site hooks.
189 */
190 require plugin_dir_path( __FILE__ ) . 'includes/makecommerce.php';
191
192 /**
193 * Begins execution of the plugin.
194 *
195 * @since 3.0.0
196 */
197 function run_makecommerce() {
198
199 $makeCommerce = new MakeCommerce();
200 $makeCommerce->run();
201 }
202
203 run_makecommerce();