PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.6.0
MailPoet – Newsletters, Email Marketing, and Automation v5.6.0
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 1 year ago generated 1 year ago lang 1 year ago lib 1 year ago lib-3rd-party 1 year ago vendor 1 year ago vendor-prefixed 1 year ago views 1 year ago index.php 3 years ago license.txt 4 years ago mailpoet-cron.php 2 years ago mailpoet.php 1 year ago mailpoet_initializer.php 1 year ago readme.txt 1 year ago
mailpoet.php
181 lines
1 <?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
2
3 if (!defined('ABSPATH')) exit;
4
5
6 /*
7 * Plugin Name: MailPoet
8 * Version: 5.6.0
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.6
14 * Text Domain: mailpoet
15 * Domain Path: /lang
16 *
17 * WC requires at least: 9.4.3
18 * WC tested up to: 9.5.1
19 *
20 * @package WordPress
21 * @author MailPoet
22 * @since 3.0.0-beta.1
23 */
24
25 $mailpoetPlugin = [
26 'version' => '5.6.0',
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.6'; // L-1 version, not the latest
34 const MAILPOET_MINIMUM_REQUIRED_WOOCOMMERCE_VERSION = '9.4'; // L-1 version, not the latest
35
36
37 // Display WP version error notice
38 function mailpoet_wp_version_notice() {
39 $notice = str_replace(
40 '[link]',
41 '<a href="https://kb.mailpoet.com/article/152-minimum-requirements-for-mailpoet-3#wp_version" target="_blank">',
42 sprintf(
43 // translators: %s is the number of minimum WordPress version that MailPoet requires
44 __('MailPoet plugin requires WordPress version %s or newer. Please read our [link]instructions[/link] on how to resolve this issue.', 'mailpoet'),
45 MAILPOET_MINIMUM_REQUIRED_WP_VERSION
46 )
47 );
48 $notice = str_replace('[/link]', '</a>', $notice);
49 printf(
50 '<div class="error"><p>%1$s</p></div>',
51 wp_kses(
52 $notice,
53 [
54 'a' => [
55 'href' => true,
56 'target' => true,
57 ],
58 ]
59 )
60 );
61 }
62
63 // Display WooCommerce version error notice
64 function mailpoet_woocommerce_version_notice() {
65 $notice = str_replace(
66 '[link]',
67 '<a href="https://kb.mailpoet.com/article/152-minimum-requirements-for-mailpoet-3#woocommerce-version" target="_blank">',
68 sprintf(
69 // translators: %s is the number of minimum WooCommerce version that MailPoet requires
70 __('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'),
71 MAILPOET_MINIMUM_REQUIRED_WOOCOMMERCE_VERSION
72 )
73 );
74 $notice = str_replace('[/link]', '</a>', $notice);
75 printf(
76 '<div class="error"><p>%1$s</p></div>',
77 wp_kses(
78 $notice,
79 [
80 'a' => [
81 'href' => true,
82 'target' => true,
83 ],
84 ]
85 )
86 );
87 }
88
89 // Display IIS server error notice
90 function mailpoet_microsoft_iis_notice() {
91 $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');
92 printf('<div class="error"><p>%1$s</p></div>', esc_html($notice));
93 }
94
95 // Display missing core dependencies error notice
96 function mailpoet_core_dependency_notice() {
97 $notice = __('MailPoet cannot start because it is missing core files. Please reinstall the plugin.', 'mailpoet');
98 printf('<div class="error"><p>%1$s</p></div>', esc_html($notice));
99 }
100
101 // Display PHP version error notice
102 function mailpoet_php_version_notice() {
103 $noticeP1 = sprintf(
104 // translators: %1$s is the plugin name (MailPoet or MailPoet Premium), %2$s, %3$s, and %4$s are PHP version (e.g. "8.1.30")
105 __('%1$s requires PHP version %2$s or newer (%3$s recommended). You are running version %4$s.', 'mailpoet'),
106 'MailPoet',
107 '7.4',
108 '8.1',
109 phpversion()
110 );
111
112 $noticeP2 = __('Please read our [link]instructions[/link] on how to upgrade your site.', 'mailpoet');
113 $noticeP2 = str_replace(
114 '[link]',
115 '<a href="https://kb.mailpoet.com/article/251-upgrading-the-websites-php-version" target="_blank">',
116 $noticeP2
117 );
118 $noticeP2 = str_replace('[/link]', '</a>', $noticeP2);
119
120 $allowedTags = [
121 'a' => [
122 'href' => true,
123 'target' => true,
124 ],
125 ];
126 printf(
127 '<div class="error"><p><strong>%s</strong></p><p>%s</p></div>',
128 esc_html($noticeP1),
129 wp_kses(
130 $noticeP2,
131 $allowedTags
132 )
133 );
134 }
135
136 function mailpoet_check_requirements(array $mailpoetPlugin) {
137
138 // Check for presence of core dependencies
139 if (!file_exists($mailpoetPlugin['autoloader']) || !file_exists($mailpoetPlugin['initializer'])) {
140 add_action('admin_notices', 'mailpoet_core_dependency_notice');
141 return false;
142 }
143
144 // Check for Microsoft IIS server
145 if (isset($_SERVER['SERVER_SOFTWARE']) && strpos(strtolower(sanitize_text_field(wp_unslash($_SERVER['SERVER_SOFTWARE']))), 'microsoft-iis') !== false) {
146 add_action('admin_notices', 'mailpoet_microsoft_iis_notice');
147 return false;
148 }
149
150 // Check for minimum supported WooCommerce version
151 if (!function_exists('is_plugin_active')) {
152 require_once ABSPATH . 'wp-admin/includes/plugin.php';
153 }
154 if (is_plugin_active('woocommerce/woocommerce.php')) {
155 $woocommerceVersion = get_plugin_data(WP_PLUGIN_DIR . '/woocommerce/woocommerce.php', false, false)['Version'];
156 if (version_compare($woocommerceVersion, MAILPOET_MINIMUM_REQUIRED_WOOCOMMERCE_VERSION, '<')) {
157 add_action('admin_notices', 'mailpoet_woocommerce_version_notice');
158 return false;
159 }
160 }
161
162 // Check for minimum supported WP version
163 if (version_compare(get_bloginfo('version'), MAILPOET_MINIMUM_REQUIRED_WP_VERSION, '<')) {
164 add_action('admin_notices', 'mailpoet_wp_version_notice');
165 return false;
166 }
167
168 // Check for minimum supported PHP version
169 if (version_compare(phpversion(), '7.4.0', '<')) {
170 add_action('admin_notices', 'mailpoet_php_version_notice');
171 return false;
172 }
173
174 return true;
175 }
176
177 // Initialize plugin
178 if (mailpoet_check_requirements($mailpoetPlugin)) {
179 require_once($mailpoetPlugin['initializer']);
180 }
181