PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 4.41.3
MailPoet – Newsletters, Email Marketing, and Automation v4.41.3
5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / mailpoet.php
mailpoet Last commit date
assets 2 years ago generated 2 years ago lang 2 years ago lib 2 years ago lib-3rd-party 2 years ago vendor 2 years ago vendor-prefixed 2 years ago views 2 years ago index.php 3 years ago license.txt 4 years ago mailpoet-cron.php 2 years ago mailpoet.php 2 years ago mailpoet_initializer.php 3 years ago readme.txt 2 years ago
mailpoet.php
195 lines
1 <?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
2
3 if (!defined('ABSPATH')) exit;
4
5
6 /*
7 * Plugin Name: MailPoet
8 * Version: 4.41.3
9 * Plugin URI: https://www.mailpoet.com
10 * Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
11 * Author: MailPoet
12 * Author URI: https://www.mailpoet.com
13 * Requires at least: 6.3
14 * Text Domain: mailpoet
15 * Domain Path: /lang
16 *
17 * WC requires at least: 8.3.0
18 * WC tested up to: 8.4.0
19 *
20 * @package WordPress
21 * @author MailPoet
22 * @since 3.0.0-beta.1
23 */
24
25 $mailpoetPlugin = [
26 'version' => '4.41.3',
27 'filename' => __FILE__,
28 'path' => dirname(__FILE__),
29 'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
30 'initializer' => dirname(__FILE__) . '/mailpoet_initializer.php',
31 ];
32
33 const MAILPOET_MINIMUM_REQUIRED_WP_VERSION = '6.3';
34 const MAILPOET_MINIMUM_REQUIRED_WOOCOMMERCE_VERSION = '7.9';// Older versions lead to fatal errors
35
36 function mailpoet_deactivate_plugin() {
37 deactivate_plugins(plugin_basename(__FILE__));
38 if (!empty($_GET['activate'])) {
39 unset($_GET['activate']);
40 }
41 }
42
43 // Check for minimum supported WP version
44 if (version_compare(get_bloginfo('version'), MAILPOET_MINIMUM_REQUIRED_WP_VERSION, '<')) {
45 add_action('admin_notices', 'mailpoet_wp_version_notice');
46 // deactivate the plugin
47 add_action('admin_init', 'mailpoet_deactivate_plugin');
48 return;
49 }
50
51 // Check for minimum supported PHP version
52 if (version_compare(phpversion(), '7.4.0', '<')) {
53 add_action('admin_notices', 'mailpoet_php_version_notice');
54 // deactivate the plugin
55 add_action('admin_init', 'mailpoet_deactivate_plugin');
56 return;
57 }
58
59 // Check for minimum supported WooCommerce version
60 if (!function_exists('is_plugin_active')) {
61 require_once ABSPATH . 'wp-admin/includes/plugin.php';
62 }
63 if (is_plugin_active('woocommerce/woocommerce.php')) {
64 $woocommerceVersion = get_plugin_data(WP_PLUGIN_DIR . '/woocommerce/woocommerce.php')['Version'];
65 if (version_compare($woocommerceVersion, MAILPOET_MINIMUM_REQUIRED_WOOCOMMERCE_VERSION, '<')) {
66 add_action('admin_notices', 'mailpoet_woocommerce_version_notice');
67 // deactivate the plugin
68 add_action('admin_init', 'mailpoet_deactivate_plugin');
69 return;
70 }
71 }
72
73 // Display WP version error notice
74 function mailpoet_wp_version_notice() {
75 $notice = str_replace(
76 '[link]',
77 '<a href="https://kb.mailpoet.com/article/152-minimum-requirements-for-mailpoet-3#wp_version" target="_blank">',
78 sprintf(
79 // translators: %s is the number of minimum WordPress version that MailPoet requires
80 __('MailPoet plugin requires WordPress version %s or newer. Please read our [link]instructions[/link] on how to resolve this issue.', 'mailpoet'),
81 MAILPOET_MINIMUM_REQUIRED_WP_VERSION
82 )
83 );
84 $notice = str_replace('[/link]', '</a>', $notice);
85 printf(
86 '<div class="error"><p>%1$s</p></div>',
87 wp_kses(
88 $notice,
89 [
90 'a' => [
91 'href' => true,
92 'target' => true,
93 ],
94 ]
95 )
96 );
97 }
98
99 // Display WooCommerce version error notice
100 function mailpoet_woocommerce_version_notice() {
101 $notice = str_replace(
102 '[link]',
103 '<a href="https://kb.mailpoet.com/article/152-minimum-requirements-for-mailpoet-3#woocommerce-version" target="_blank">',
104 sprintf(
105 // translators: %s is the number of minimum WooCommerce version that MailPoet requires
106 __('MailPoet plugin requires WooCommerce version %s or newer. Please update your WooCommerce plugin version, or read our [link]instructions[/link] for additional options on how to resolve this issue.', 'mailpoet'),
107 MAILPOET_MINIMUM_REQUIRED_WOOCOMMERCE_VERSION
108 )
109 );
110 $notice = str_replace('[/link]', '</a>', $notice);
111 printf(
112 '<div class="error"><p>%1$s</p></div>',
113 wp_kses(
114 $notice,
115 [
116 'a' => [
117 'href' => true,
118 'target' => true,
119 ],
120 ]
121 )
122 );
123 }
124
125 // Display PHP version error notice
126 function mailpoet_php_version_notice() {
127 $noticeP1 = __('MailPoet requires PHP version 7.4 or newer (8.1 recommended). You are running version [version].', 'mailpoet');
128 $noticeP1 = str_replace('[version]', phpversion(), $noticeP1);
129
130 $noticeP2 = __('Please read our [link]instructions[/link] on how to upgrade your site.', 'mailpoet');
131 $noticeP2 = str_replace(
132 '[link]',
133 '<a href="https://kb.mailpoet.com/article/251-upgrading-the-websites-php-version" target="_blank">',
134 $noticeP2
135 );
136 $noticeP2 = str_replace('[/link]', '</a>', $noticeP2);
137
138 $noticeP3 = __('If you can’t upgrade the PHP version, [link]install this version[/link] of MailPoet. Remember to not update MailPoet ever again!', 'mailpoet');
139 $noticeP3 = str_replace(
140 '[link]',
141 '<a href="https://downloads.wordpress.org/plugin/mailpoet.4.38.0.zip" target="_blank">',
142 $noticeP3
143 );
144 $noticeP3 = str_replace('[/link]', '</a>', $noticeP3);
145
146 $allowedTags = [
147 'a' => [
148 'href' => true,
149 'target' => true,
150 ],
151 ];
152 printf(
153 '<div class="error"><p><strong>%s</strong></p><p>%s</p><p>%s</p></div>',
154 esc_html($noticeP1),
155 wp_kses(
156 $noticeP2,
157 $allowedTags
158 ),
159 wp_kses(
160 $noticeP3,
161 $allowedTags
162 )
163 );
164 }
165
166 if (isset($_SERVER['SERVER_SOFTWARE']) && strpos(strtolower(sanitize_text_field(wp_unslash($_SERVER['SERVER_SOFTWARE']))), 'microsoft-iis') !== false) {
167 add_action('admin_notices', 'mailpoet_microsoft_iis_notice');
168 // deactivate the plugin
169 add_action('admin_init', 'mailpoet_deactivate_plugin');
170 return;
171 }
172
173 // Display IIS server error notice
174 function mailpoet_microsoft_iis_notice() {
175 $notice = __("MailPoet plugin cannot run under Microsoft's Internet Information Services (IIS) web server. We recommend that you use a web server powered by Apache or NGINX.", 'mailpoet');
176 printf('<div class="error"><p>%1$s</p></div>', esc_html($notice));
177 }
178
179 // Check for presence of core dependencies
180 if (!file_exists($mailpoetPlugin['autoloader']) || !file_exists($mailpoetPlugin['initializer'])) {
181 add_action('admin_notices', 'mailpoet_core_dependency_notice');
182 // deactivate the plugin
183 add_action('admin_init', 'mailpoet_deactivate_plugin');
184 return;
185 }
186
187 // Display missing core dependencies error notice
188 function mailpoet_core_dependency_notice() {
189 $notice = __('MailPoet cannot start because it is missing core files. Please reinstall the plugin.', 'mailpoet');
190 printf('<div class="error"><p>%1$s</p></div>', esc_html($notice));
191 }
192
193 // Initialize plugin
194 require_once($mailpoetPlugin['initializer']);
195