diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php index b6769cee60..c492d1c278 100644 --- a/lib/DI/ContainerConfigurator.php +++ b/lib/DI/ContainerConfigurator.php @@ -240,6 +240,7 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository::class); $container->autowire(\MailPoet\Newsletter\Scheduler\WelcomeScheduler::class); $container->autowire(\MailPoet\Newsletter\Scheduler\PostNotificationScheduler::class); + $container->autowire(\MailPoet\Newsletter\ViewInBrowser::class)->setPublic(true); // Util $container->autowire(\MailPoet\Util\Cookies::class); $container->autowire(\MailPoet\Util\Url::class)->setPublic(true); diff --git a/lib/Newsletter/ViewInBrowser.php b/lib/Newsletter/ViewInBrowser.php index 6b140ce534..965b8614d3 100644 --- a/lib/Newsletter/ViewInBrowser.php +++ b/lib/Newsletter/ViewInBrowser.php @@ -8,6 +8,7 @@ use MailPoet\Models\Subscriber; use MailPoet\Newsletter\Links\Links; use MailPoet\Newsletter\Renderer\Renderer; use MailPoet\Newsletter\Shortcodes\Shortcodes; +use MailPoet\Settings\SettingsController; use MailPoet\WP\Emoji; class ViewInBrowser { @@ -17,9 +18,9 @@ class ViewInBrowser { /** @var bool */ private $isTrackingEnabled; - public function __construct(Emoji $emoji, bool $isTrackingEnabled) { + public function __construct(Emoji $emoji, SettingsController $settings) { $this->emoji = $emoji; - $this->isTrackingEnabled = $isTrackingEnabled; + $this->isTrackingEnabled = $settings->get('tracking.enabled'); } public function view( diff --git a/lib/Router/Endpoints/ViewInBrowser.php b/lib/Router/Endpoints/ViewInBrowser.php index e616d05995..7f4fc7ea50 100644 --- a/lib/Router/Endpoints/ViewInBrowser.php +++ b/lib/Router/Endpoints/ViewInBrowser.php @@ -8,9 +8,7 @@ use MailPoet\Models\SendingQueue; use MailPoet\Models\Subscriber; use MailPoet\Newsletter\Url as NewsletterUrl; use MailPoet\Newsletter\ViewInBrowser as NewsletterViewInBrowser; -use MailPoet\Settings\SettingsController; use MailPoet\Subscribers\LinkTokens; -use MailPoet\WP\Emoji; use MailPoet\WP\Functions as WPFunctions; class ViewInBrowser { @@ -25,20 +23,20 @@ class ViewInBrowser { /** @var AccessControl */ private $accessControl; - /** @var SettingsController */ - private $settings; - /** @var LinkTokens */ private $linkTokens; - /** @var Emoji */ - private $emoji; + /** @var NewsletterViewInBrowser */ + private $newsletterViewInBrowser; - public function __construct(AccessControl $accessControl, SettingsController $settings, LinkTokens $linkTokens, Emoji $emoji) { + public function __construct( + AccessControl $accessControl, + LinkTokens $linkTokens, + NewsletterViewInBrowser $newsletterViewInBrowser + ) { $this->accessControl = $accessControl; - $this->settings = $settings; $this->linkTokens = $linkTokens; - $this->emoji = $emoji; + $this->newsletterViewInBrowser = $newsletterViewInBrowser; } public function view(array $data) { @@ -73,8 +71,7 @@ class ViewInBrowser { return $this->_abort(); } - $viewInBrowser = new NewsletterViewInBrowser($this->emoji, (bool)$this->settings->get('tracking.enabled')); - $viewData = $viewInBrowser->view($isPreview, $newsletter, $subscriber, $queue); + $viewData = $this->newsletterViewInBrowser->view($isPreview, $newsletter, $subscriber, $queue); return $this->_displayNewsletter($viewData); }