From 74a4ff5a2f9992b9c9ead077549ca77d0ff5ef19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Jakes=CC=8C?= Date: Fri, 31 May 2019 15:39:41 +0200 Subject: [PATCH] Use DI to initialize PermanentNotices [MAILPOET-2088] --- lib/Config/Initializer.php | 10 +++++++--- lib/DI/ContainerConfigurator.php | 2 ++ lib/Util/Notices/PermanentNotices.php | 16 ++++++++-------- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/lib/Config/Initializer.php b/lib/Config/Initializer.php index b327d9ee18..983d4f9509 100644 --- a/lib/Config/Initializer.php +++ b/lib/Config/Initializer.php @@ -52,6 +52,9 @@ class Initializer { /** @var CronTrigger */ private $cron_trigger; + /** @var PermanentNotices */ + private $permanent_notices; + const INITIALIZED = 'MAILPOET_INITIALIZED'; function __construct( @@ -64,7 +67,8 @@ class Initializer { Hooks $hooks, Changelog $changelog, Menu $menu, - CronTrigger $cron_trigger + CronTrigger $cron_trigger, + PermanentNotices $permanent_notices ) { $this->renderer_factory = $renderer_factory; $this->access_control = $access_control; @@ -76,6 +80,7 @@ class Initializer { $this->changelog = $changelog; $this->menu = $menu; $this->cron_trigger = $cron_trigger; + $this->permanent_notices = $permanent_notices; } function init() { @@ -302,8 +307,7 @@ class Initializer { } function setupPermanentNotices() { - $notices = new PermanentNotices(); - $notices->init(); + $this->permanent_notices->init(); } function handleFailedInitialization($exception) { diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php index b54f92e535..4da2efadea 100644 --- a/lib/DI/ContainerConfigurator.php +++ b/lib/DI/ContainerConfigurator.php @@ -83,6 +83,8 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\Listing\BulkActionController::class)->setPublic(true); $container->autowire(\MailPoet\Listing\BulkActionFactory::class)->setPublic(true); $container->autowire(\MailPoet\Listing\Handler::class)->setPublic(true); + // Notices + $container->autowire(\MailPoet\Util\Notices\PermanentNotices::class); // Router $container->autowire(\MailPoet\Router\Endpoints\CronDaemon::class)->setPublic(true); $container->autowire(\MailPoet\Router\Endpoints\Subscription::class)->setPublic(true); diff --git a/lib/Util/Notices/PermanentNotices.php b/lib/Util/Notices/PermanentNotices.php index 9edb335c23..e3a766d0d8 100644 --- a/lib/Util/Notices/PermanentNotices.php +++ b/lib/Util/Notices/PermanentNotices.php @@ -8,6 +8,9 @@ use MailPoet\WP\Functions as WPFunctions; class PermanentNotices { + /** @var WPFunctions */ + private $wp; + /** @var PHPVersionWarnings */ private $php_version_warnings; @@ -26,17 +29,14 @@ class PermanentNotices { /** @var InactiveSubscribersNotice */ private $inactive_subscribers_notice; - /** @var WPFunctions */ - private $wp; - - public function __construct() { - $this->wp = WPFunctions::get(); + public function __construct(WPFunctions $wp) { + $this->wp = $wp; $this->php_version_warnings = new PHPVersionWarnings(); $this->after_migration_notice = new AfterMigrationNotice(); $this->discounts_announcement = new DiscountsAnnouncement(); - $this->unauthorized_emails_notice = new UnauthorizedEmailNotice(new SettingsController, $this->wp); - $this->unauthorized_emails_in_newsletters_notice = new UnauthorizedEmailInNewslettersNotice(new SettingsController, $this->wp); - $this->inactive_subscribers_notice = new InactiveSubscribersNotice(new SettingsController, $this->wp); + $this->unauthorized_emails_notice = new UnauthorizedEmailNotice(new SettingsController, $wp); + $this->unauthorized_emails_in_newsletters_notice = new UnauthorizedEmailInNewslettersNotice(new SettingsController, $wp); + $this->inactive_subscribers_notice = new InactiveSubscribersNotice(new SettingsController, $wp); } public function init() {