PluginProbe
MakeCommerce for WooCommerce / 3.2.1
MakeCommerce for WooCommerce v3.2.1
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.2.1, at makecommerce.php

198 lines 4.6 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 payment gateway and Itella/Omniva/DPD parcel machine shipping methods to WooCommerce checkout
12 * Version: 3.2.1
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.2.1' );
35 define( 'MAKECOMMERCE_PLUGIN_ID', 'makecommerce' );
36
37 //table name for banklinks
38 define( 'MAKECOMMERCE_TABLENAME', 'mc_banklinks' );
39
40 //WC makecommerce version
41 define( 'WC_MC_VERSION', 2.0 );
42
43 register_activation_hook( __FILE__, 'activate_makecommerce' );
44 register_deactivation_hook( __FILE__, 'deactivate_makecommerce' );
45
46 /**
47 * Check if we are ok to continue (if namesoace and class doesn't already exist)
48 */
49 if ( class_exists( 'MakeCommerce' ) || namespaceExists( 'MakeCommerce' ) ) {
50
51 add_action( 'admin_notices', 'namespace_or_class_already_in_use' );
52
53 deactivate_plugins( plugin_dir_path( __FILE__ ) . '/makecommerce.php' );
54
55 return false;
56 }
57
58 /**
59 * Check if a namespace already exists
60 *
61 * @since 3.0.0
62 */
63 function namespaceExists( $namespace ) {
64
65 $namespace .= "\\";
66
67 foreach ( get_declared_classes() as $name ) {
68
69 if ( strpos( $name, $namespace ) === 0 ) {
70 return true;
71 }
72 }
73
74 return false;
75 }
76
77 /**
78 * Shows error in admin that we cannot continue
79 *
80 * @since 3.0.0
81 */
82 function namespace_or_class_already_in_use() {
83
84 ?>
85 <div class="error notice">
86 <p><?php _e( 'Cannot initiate MakeCommerce, a class and/or namespace called "MakeCommerce" is already in use somewhere else...', 'wc_makecommerce_domain' ); ?></p>
87 </div>
88 <?php
89 }
90
91 /**
92 * Check if WooCommerce exists and is active. Can't do much without it
93 */
94 if ( !in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
95
96 if ( is_multisite() ) {
97
98 include_once( ABSPATH . "wp-admin/includes/plugin.php" );
99 if ( !is_plugin_active_for_network( "woocommerce/woocommerce.php" ) ) {
100 woocommerce_not_found_or_active();
101
102 return false;
103 }
104 } else {
105 woocommerce_not_found_or_active();
106
107 return false;
108 }
109 }
110
111 /**
112 * If no WooCommerce is found
113 *
114 * @since 3.0.3
115 */
116 function woocommerce_not_found_or_active() {
117
118 add_action( 'admin_notices', 'no_woocommerce_found' );
119
120 deactivate_makecommerce();
121 }
122
123 /**
124 * Shows error in admin that we cannot continue
125 *
126 * @since 3.0.0
127 */
128 function no_woocommerce_found() {
129
130 ?>
131 <div class="error notice">
132 <p><?php _e( 'Cannot initiate MakeCommerce, there seems to be no WooCommerce present or active...', 'wc_makecommerce_domain' ); ?></p>
133 </div>
134 <?php
135 }
136
137 /**
138 * Disable automatic updates for MakeCommerce plugin
139 *
140 * @since 3.0.1
141 */
142 function disable_makecommerce_automatic_updates( $should_update, $plugin ) {
143
144 if ( ! isset( $plugin->plugin, $plugin->new_version ) ) {
145 return $should_update;
146 }
147
148 if ( 'makecommerce/makecommerce.php' !== $plugin->plugin ) {
149 return $should_update;
150 }
151
152 return false;
153 }
154
155 add_filter( 'auto_update_plugin', 'disable_makecommerce_automatic_updates', 99, 2 );
156
157 /**
158 * The code that runs during plugin activation.
159 * This action is documented in includes/class-makecommerce-activator.php
160 *
161 * @since 3.0.1
162 */
163 function activate_makecommerce() {
164
165 require_once plugin_dir_path( __FILE__ ) . 'includes/activator.php';
166 MakeCommerce\Activator::activate();
167 }
168
169 /**
170 * The code that runs during plugin deactivation.
171 * This action is documented in includes/class-makecommerce-deactivator.php
172 *
173 * @since 3.0.1
174 */
175 function deactivate_makecommerce() {
176
177 require_once plugin_dir_path( __FILE__ ) . 'includes/deactivator.php';
178 MakeCommerce\Deactivator::deactivate();
179 }
180
181 /**
182 * The core plugin class that is used to define internationalization,
183 * payment-specific hooks, and shipping-specific site hooks.
184 */
185 require plugin_dir_path( __FILE__ ) . 'includes/makecommerce.php';
186
187 /**
188 * Begins execution of the plugin.
189 *
190 * @since 3.0.0
191 */
192 function run_makecommerce() {
193
194 $makeCommerce = new MakeCommerce();
195 $makeCommerce->run();
196 }
197
198 run_makecommerce();