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
← All changes | makecommerce.php +183 -26 4.0.83.0.12 View file →
@@ -1,15 +1,16 @@
1 1 <?php
2 +
2 3 /**
3 4 * @link https://makecommerce.net/
4 - * @since 4.0.0
5 - * @package Makecommerce
5 + * @since 3.0.0
6 + * @package Makecommerce
6 7 *
7 8 * @wordpress-plugin
8 9 * Plugin Name: MakeCommerce
9 10 * Plugin URI: https://makecommerce.net/
10 - * Description: Adds MakeCommerce payment gateway and shipping methods to WooCommerce checkout
11 - * Version: 4.0.8
11 + * Description: Adds MakeCommerce/Simplecheckout payment gateway and Itella/Omniva/DPD parcel machine shipping methods to WooCommerce checkout
12 + * Version: 3.0.12
12 13 * Author: Maksekeskus AS
13 14 * Author URI: https://makecommerce.net/
14 15 * License: GPL-2.0+
15 16 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
@@ -14,33 +15,189 @@
14 15 * License: GPL-2.0+
15 16 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt
16 17 * Text Domain: makecommerce
17 18 * Domain Path: /languages
18 - * Requires Plugins: woocommerce
19 - * Requires at least: 6.8.1
20 - * Requires PHP: 8.1
21 - * WC requires at least: 9.9.3
22 - * WC tested up to: 10.4.3
23 - * WC HPOS compatibility: yes
24 - * WC Legacy Order Table Compatibility: yes
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
25 23 */
26 24
27 -function mc_table_exists(string $table): bool {
28 - global $wpdb;
29 - $table_name = $wpdb->prefix . $table;
30 - return $wpdb->get_var($wpdb->prepare("SHOW TABLES LIKE %s", $table_name)) === $table_name;
25 +// If this file is called directly, abort.
26 +if ( ! defined( 'WPINC' ) ) {
27 + die;
31 28 }
32 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' );
33 36
34 -if (
35 - (
36 - get_option('mc_version') !== false ||
37 - get_option('wc_mc_version') !== false ||
38 - mc_table_exists('mc_banklinks')
39 - ) &&
40 - !filter_var(get_option('mc_shipping_plus'), FILTER_VALIDATE_BOOLEAN)
41 -) {
42 - require_once plugin_dir_path(__FILE__) . 'config.php';
43 -} else {
44 - require_once plugin_dir_path(__FILE__) . 'makecommerce/makecommerce.php';
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;
45 57 }
46 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();