diff --git a/lib/Cron/Workers/SendingQueue/Tasks/Newsletter.php b/lib/Cron/Workers/SendingQueue/Tasks/Newsletter.php index 860c4ee5c6..19b43aeaa1 100644 --- a/lib/Cron/Workers/SendingQueue/Tasks/Newsletter.php +++ b/lib/Cron/Workers/SendingQueue/Tasks/Newsletter.php @@ -5,6 +5,7 @@ namespace MailPoet\Cron\Workers\SendingQueue\Tasks; use MailPoet\Cron\Workers\SendingQueue\Tasks\Links as LinksTask; use MailPoet\Cron\Workers\SendingQueue\Tasks\Posts as PostsTask; use MailPoet\Cron\Workers\SendingQueue\Tasks\Shortcodes as ShortcodesTask; +use MailPoet\DI\ContainerWrapper; use MailPoet\Logging\LoggerFactory; use MailPoet\Mailer\MailerLog; use MailPoet\Models\Newsletter as NewsletterModel; @@ -12,6 +13,7 @@ use MailPoet\Models\NewsletterSegment as NewsletterSegmentModel; use MailPoet\Models\SendingQueue as SendingQueueModel; use MailPoet\Newsletter\Links\Links as NewsletterLinks; use MailPoet\Newsletter\Renderer\PostProcess\OpenTracking; +use MailPoet\Newsletter\Renderer\Renderer; use MailPoet\Settings\SettingsController; use MailPoet\Statistics\GATracking; use MailPoet\Util\Helpers; @@ -34,6 +36,9 @@ class Newsletter { /** @var LoggerFactory */ private $loggerFactory; + /** @var Renderer */ + private $renderer; + /** @var Emoji */ private $emoji; @@ -57,6 +62,7 @@ class Newsletter { $emoji = new Emoji(); } $this->emoji = $emoji; + $this->renderer = ContainerWrapper::getInstance()->get(Renderer::class); } public function getNewsletterFromQueue($queue) { @@ -103,7 +109,7 @@ class Newsletter { // hook to the newsletter post-processing filter and add tracking image $this->trackingImageInserted = OpenTracking::addTrackingImage(); // render newsletter - $renderedNewsletter = $newsletter->render(); + $renderedNewsletter = $this->renderer->render($newsletter); $renderedNewsletter = $this->wp->applyFilters( 'mailpoet_sending_newsletter_render_after', $renderedNewsletter, @@ -114,7 +120,7 @@ class Newsletter { $renderedNewsletter = LinksTask::process($renderedNewsletter, $newsletter, $sendingTask); } else { // render newsletter - $renderedNewsletter = $newsletter->render(); + $renderedNewsletter = $this->renderer->render($newsletter); $renderedNewsletter = $this->wp->applyFilters( 'mailpoet_sending_newsletter_render_after', $renderedNewsletter, diff --git a/lib/Models/Newsletter.php b/lib/Models/Newsletter.php index e472bf7a16..31f1519a14 100644 --- a/lib/Models/Newsletter.php +++ b/lib/Models/Newsletter.php @@ -6,10 +6,8 @@ use MailPoet\AutomaticEmails\WooCommerce\Events\AbandonedCart; use MailPoet\AutomaticEmails\WooCommerce\Events\FirstPurchase; use MailPoet\AutomaticEmails\WooCommerce\Events\PurchasedInCategory; use MailPoet\AutomaticEmails\WooCommerce\Events\PurchasedProduct; -use MailPoet\DI\ContainerWrapper; use MailPoet\Entities\NewsletterEntity; use MailPoet\Entities\ScheduledTaskEntity; -use MailPoet\Newsletter\Renderer\Renderer; use MailPoet\Settings\SettingsController; use MailPoet\Tasks\Sending as SendingTask; use MailPoet\Util\Helpers; @@ -570,11 +568,6 @@ class Newsletter extends Model { return $this; } - public function render() { - $renderer = ContainerWrapper::getInstance()->get(Renderer::class); - return $renderer->render($this); - } - public function wasScheduledForSubscriber($subscriberId) { /** @var \stdClass */ $queue = SendingQueue::rawQuery(