PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.34.2
MailPoet – Newsletters, Email Marketing, and Automation v5.34.2
5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.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 / lib / Util / Notices / PermanentNotices.php
mailpoet / lib / Util / Notices Last commit date
AfterMigrationNotice.php 2 years ago BlackFridayNotice.php 2 months ago ChangedTrackingNotice.php 3 years ago DatabaseEngineNotice.php 1 year ago DeprecatedFilterNotice.php 4 years ago DisabledMailFunctionNotice.php 2 months ago DisabledWPCronNotice.php 1 year ago EmailWithInvalidSegmentNotice.php 3 years ago HeadersAlreadySentNotice.php 2 months ago InactiveSubscribersNotice.php 2 years ago PHPVersionWarnings.php 2 months ago PendingApprovalNotice.php 2 years ago PermanentNotices.php 2 months ago PremiumFeaturesAvailableNotice.php 2 years ago SenderDomainAuthenticationNotices.php 5 months ago SendingQueueBodyCleanupNotice.php 2 months ago StuckPostNotificationNotice.php 2 months ago UnauthorizedEmailInNewslettersNotice.php 5 months ago UnauthorizedEmailNotice.php 5 months ago WooCommerceVersionWarning.php 1 year ago WordPressPlaygroundNotice.php 1 year ago index.php 3 years ago
PermanentNotices.php
250 lines
1 <?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
2
3 namespace MailPoet\Util\Notices;
4
5 if (!defined('ABSPATH')) exit;
6
7
8 use MailPoet\Config\Menu;
9 use MailPoet\Config\ServicesChecker;
10 use MailPoet\Cron\CronHelper;
11 use MailPoet\Mailer\MailerFactory;
12 use MailPoet\Newsletter\NewslettersRepository;
13 use MailPoet\Services\AuthorizedSenderDomainController;
14 use MailPoet\Settings\SettingsController;
15 use MailPoet\Settings\TrackingConfig;
16 use MailPoet\Subscribers\SubscribersRepository;
17 use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
18 use MailPoet\WP\Functions as WPFunctions;
19 use MailPoetVendor\Doctrine\ORM\EntityManager;
20
21 class PermanentNotices {
22
23 /** @var WPFunctions */
24 private $wp;
25
26 /** @var PHPVersionWarnings */
27 private $phpVersionWarnings;
28
29 /** @var AfterMigrationNotice */
30 private $afterMigrationNotice;
31
32 /** @var UnauthorizedEmailNotice */
33 private $unauthorizedEmailsNotice;
34
35 /** @var UnauthorizedEmailInNewslettersNotice */
36 private $unauthorizedEmailsInNewslettersNotice;
37
38 /** @var InactiveSubscribersNotice */
39 private $inactiveSubscribersNotice;
40
41 /** @var BlackFridayNotice */
42 private $blackFridayNotice;
43
44 /** @var HeadersAlreadySentNotice */
45 private $headersAlreadySentNotice;
46
47 /** @var EmailWithInvalidSegmentNotice */
48 private $emailWithInvalidListNotice;
49
50 /** @var ChangedTrackingNotice */
51 private $changedTrackingNotice;
52
53 /** @var DeprecatedFilterNotice */
54 private $deprecatedFilterNotice;
55
56 /** @var DisabledMailFunctionNotice */
57 private $disabledMailFunctionNotice;
58
59 /** @var DisabledWPCronNotice */
60 private $disabledWPCronNotice;
61
62 /** @var PendingApprovalNotice */
63 private $pendingApprovalNotice;
64
65 /** @var WooCommerceVersionWarning */
66 private $woocommerceVersionWarning;
67
68 /** @var PremiumFeaturesAvailableNotice */
69 private $premiumFeaturesAvailableNotice;
70
71 /** @var SenderDomainAuthenticationNotices */
72 private $senderDomainAuthenticationNotices;
73
74 /** @var WordPressPlaygroundNotice */
75 private $wordPressPlaygroundNotice;
76
77 /** @var DatabaseEngineNotice */
78 private $databaseEngineNotice;
79
80 /** @var SendingQueueBodyCleanupNotice */
81 private $sendingQueueBodyCleanupNotice;
82
83 /** @var StuckPostNotificationNotice */
84 private $stuckPostNotificationNotice;
85
86 public function __construct(
87 WPFunctions $wp,
88 CronHelper $cronHelper,
89 EntityManager $entityManager,
90 TrackingConfig $trackingConfig,
91 SubscribersRepository $subscribersRepository,
92 SettingsController $settings,
93 SubscribersFeature $subscribersFeature,
94 ServicesChecker $serviceChecker,
95 MailerFactory $mailerFactory,
96 SenderDomainAuthenticationNotices $senderDomainAuthenticationNotices,
97 AuthorizedSenderDomainController $senderDomainController,
98 NewslettersRepository $newslettersRepository
99 ) {
100 $this->wp = $wp;
101 $this->phpVersionWarnings = new PHPVersionWarnings();
102 $this->afterMigrationNotice = new AfterMigrationNotice();
103 $this->unauthorizedEmailsNotice = new UnauthorizedEmailNotice($wp, $settings, $senderDomainController);
104 $this->unauthorizedEmailsInNewslettersNotice = new UnauthorizedEmailInNewslettersNotice($settings, $wp, $senderDomainController);
105 $this->inactiveSubscribersNotice = new InactiveSubscribersNotice($settings, $subscribersRepository, $wp);
106 $this->blackFridayNotice = new BlackFridayNotice($serviceChecker, $subscribersFeature);
107 $this->headersAlreadySentNotice = new HeadersAlreadySentNotice($settings, $trackingConfig, $wp);
108 $this->emailWithInvalidListNotice = new EmailWithInvalidSegmentNotice($wp);
109 $this->changedTrackingNotice = new ChangedTrackingNotice($wp);
110 $this->deprecatedFilterNotice = new DeprecatedFilterNotice($wp);
111 $this->disabledMailFunctionNotice = new DisabledMailFunctionNotice($wp, $settings, $subscribersFeature, $mailerFactory);
112 $this->disabledWPCronNotice = new DisabledWPCronNotice($wp, $cronHelper, $settings);
113 $this->pendingApprovalNotice = new PendingApprovalNotice($settings);
114 $this->woocommerceVersionWarning = new WooCommerceVersionWarning($wp);
115 $this->premiumFeaturesAvailableNotice = new PremiumFeaturesAvailableNotice($subscribersFeature, $serviceChecker, $wp);
116 $this->databaseEngineNotice = new DatabaseEngineNotice($wp, $entityManager);
117 $this->wordPressPlaygroundNotice = new WordPressPlaygroundNotice();
118 $this->sendingQueueBodyCleanupNotice = new SendingQueueBodyCleanupNotice($settings, $wp);
119 $this->stuckPostNotificationNotice = new StuckPostNotificationNotice($wp, $newslettersRepository);
120 $this->senderDomainAuthenticationNotices = $senderDomainAuthenticationNotices;
121 }
122
123 public function init() {
124 $excludeSetupWizard = [
125 'mailpoet-welcome-wizard',
126 'mailpoet-woocommerce-setup',
127 'mailpoet-landingpage',
128 ];
129 $this->wp->addAction('wp_ajax_dismissed_notice_handler', [
130 $this,
131 'ajaxDismissNoticeHandler',
132 ]);
133
134 $this->phpVersionWarnings->init(
135 phpversion(),
136 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
137 );
138 $this->afterMigrationNotice->init(
139 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
140 );
141 $this->unauthorizedEmailsNotice->init(
142 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
143 );
144 $this->unauthorizedEmailsInNewslettersNotice->init(
145 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
146 );
147 $this->inactiveSubscribersNotice->init(
148 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
149 );
150 $this->blackFridayNotice->init(
151 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
152 );
153 $this->headersAlreadySentNotice->init(
154 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
155 );
156 $this->emailWithInvalidListNotice->init(
157 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
158 );
159 $this->changedTrackingNotice->init(
160 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
161 );
162 $this->deprecatedFilterNotice->init(
163 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
164 );
165 $this->disabledMailFunctionNotice->init(
166 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
167 );
168 $this->disabledWPCronNotice->init(
169 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
170 );
171 $this->pendingApprovalNotice->init(
172 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
173 );
174 $this->woocommerceVersionWarning->init(
175 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
176 );
177 $this->premiumFeaturesAvailableNotice->init(
178 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
179 );
180 $this->databaseEngineNotice->init(
181 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
182 );
183 $this->wordPressPlaygroundNotice->init(
184 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
185 );
186 $this->sendingQueueBodyCleanupNotice->init(
187 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
188 );
189 $this->stuckPostNotificationNotice->init(
190 Menu::isOnMailPoetAdminPage($excludeSetupWizard)
191 );
192 $excludeDomainAuthenticationNotices = [
193 'mailpoet-settings',
194 'mailpoet-newsletter-editor',
195 ...$excludeSetupWizard,
196 ];
197 $this->senderDomainAuthenticationNotices->init(
198 Menu::isOnMailPoetAdminPage($excludeDomainAuthenticationNotices)
199 );
200 }
201
202 public function ajaxDismissNoticeHandler() {
203 if (!isset($_POST['type'])) return;
204 switch ($_POST['type']) {
205 case (PHPVersionWarnings::OPTION_NAME):
206 $this->phpVersionWarnings->disable();
207 break;
208 case (AfterMigrationNotice::OPTION_NAME):
209 $this->afterMigrationNotice->disable();
210 break;
211 case (BlackFridayNotice::OPTION_NAME):
212 $this->blackFridayNotice->disable();
213 break;
214 case (HeadersAlreadySentNotice::OPTION_NAME):
215 $this->headersAlreadySentNotice->disable();
216 break;
217 case (InactiveSubscribersNotice::OPTION_NAME):
218 $this->inactiveSubscribersNotice->disable();
219 break;
220 case (EmailWithInvalidSegmentNotice::OPTION_NAME):
221 $this->emailWithInvalidListNotice->disable();
222 break;
223 case (ChangedTrackingNotice::OPTION_NAME):
224 $this->changedTrackingNotice->disable();
225 break;
226 case (DisabledWPCronNotice::OPTION_NAME):
227 $this->disabledWPCronNotice->disable();
228 break;
229 case (DeprecatedFilterNotice::OPTION_NAME):
230 $this->deprecatedFilterNotice->disable();
231 break;
232 case (WooCommerceVersionWarning::OPTION_NAME):
233 $this->woocommerceVersionWarning->disable();
234 break;
235 case (DatabaseEngineNotice::OPTION_NAME):
236 $this->databaseEngineNotice->disable();
237 break;
238 case (PremiumFeaturesAvailableNotice::OPTION_NAME):
239 $this->premiumFeaturesAvailableNotice->disable();
240 break;
241 case (SendingQueueBodyCleanupNotice::OPTION_NAME):
242 $this->sendingQueueBodyCleanupNotice->disable();
243 break;
244 case (StuckPostNotificationNotice::OPTION_NAME):
245 $this->stuckPostNotificationNotice->disable();
246 break;
247 }
248 }
249 }
250