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