Replace Subscriber model with Doctrine in Tasks\Newsletter
[MAILPOET-4363]
This commit is contained in:
committed by
Aschepikov
parent
fd0acbd6cf
commit
68c3277195
@ -273,11 +273,17 @@ class SendingQueue {
|
|||||||
$statistics = [];
|
$statistics = [];
|
||||||
$metas = [];
|
$metas = [];
|
||||||
foreach ($subscribers as $subscriber) {
|
foreach ($subscribers as $subscriber) {
|
||||||
|
$subscriberEntity = $this->subscribersRepository->findOneById($subscriber->id);
|
||||||
|
|
||||||
|
if (!$subscriberEntity instanceof SubscriberEntity) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// render shortcodes and replace subscriber data in tracked links
|
// render shortcodes and replace subscriber data in tracked links
|
||||||
$preparedNewsletters[] =
|
$preparedNewsletters[] =
|
||||||
$this->newsletterTask->prepareNewsletterForSending(
|
$this->newsletterTask->prepareNewsletterForSending(
|
||||||
$newsletter,
|
$newsletter,
|
||||||
$subscriber,
|
$subscriberEntity,
|
||||||
$queue
|
$queue
|
||||||
);
|
);
|
||||||
// format subscriber name/address according to mailer settings
|
// format subscriber name/address according to mailer settings
|
||||||
@ -288,12 +294,7 @@ class SendingQueue {
|
|||||||
// create personalized instant unsubsribe link
|
// create personalized instant unsubsribe link
|
||||||
$unsubscribeUrls[] = $this->links->getUnsubscribeUrl($queue, $subscriber->id);
|
$unsubscribeUrls[] = $this->links->getUnsubscribeUrl($queue, $subscriber->id);
|
||||||
|
|
||||||
$subscriberEntity = $this->subscribersRepository->findOneById($subscriber->id);
|
$metas[] = $this->mailerMetaInfo->getNewsletterMetaInfo($newsletter, $subscriberEntity);
|
||||||
if ($subscriberEntity instanceof SubscriberEntity) {
|
|
||||||
$metas[] = $this->mailerMetaInfo->getNewsletterMetaInfo($newsletter, $subscriberEntity);
|
|
||||||
} else {
|
|
||||||
$metas[] = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
// keep track of values for statistics purposes
|
// keep track of values for statistics purposes
|
||||||
$statistics[] = [
|
$statistics[] = [
|
||||||
|
@ -9,11 +9,11 @@ use MailPoet\DI\ContainerWrapper;
|
|||||||
use MailPoet\Entities\NewsletterEntity;
|
use MailPoet\Entities\NewsletterEntity;
|
||||||
use MailPoet\Entities\NewsletterSegmentEntity;
|
use MailPoet\Entities\NewsletterSegmentEntity;
|
||||||
use MailPoet\Entities\SegmentEntity;
|
use MailPoet\Entities\SegmentEntity;
|
||||||
|
use MailPoet\Entities\SubscriberEntity;
|
||||||
use MailPoet\Logging\LoggerFactory;
|
use MailPoet\Logging\LoggerFactory;
|
||||||
use MailPoet\Mailer\MailerLog;
|
use MailPoet\Mailer\MailerLog;
|
||||||
use MailPoet\Models\Newsletter as NewsletterModel;
|
use MailPoet\Models\Newsletter as NewsletterModel;
|
||||||
use MailPoet\Models\SendingQueue as SendingQueueModel;
|
use MailPoet\Models\SendingQueue as SendingQueueModel;
|
||||||
use MailPoet\Models\Subscriber as SubscriberModel;
|
|
||||||
use MailPoet\Newsletter\Links\Links as NewsletterLinks;
|
use MailPoet\Newsletter\Links\Links as NewsletterLinks;
|
||||||
use MailPoet\Newsletter\NewslettersRepository;
|
use MailPoet\Newsletter\NewslettersRepository;
|
||||||
use MailPoet\Newsletter\Renderer\PostProcess\OpenTracking;
|
use MailPoet\Newsletter\Renderer\PostProcess\OpenTracking;
|
||||||
@ -22,7 +22,6 @@ use MailPoet\Newsletter\Segment\NewsletterSegmentRepository;
|
|||||||
use MailPoet\Newsletter\Sending\SendingQueuesRepository;
|
use MailPoet\Newsletter\Sending\SendingQueuesRepository;
|
||||||
use MailPoet\Settings\TrackingConfig;
|
use MailPoet\Settings\TrackingConfig;
|
||||||
use MailPoet\Statistics\GATracking;
|
use MailPoet\Statistics\GATracking;
|
||||||
use MailPoet\Subscribers\SubscribersRepository;
|
|
||||||
use MailPoet\Util\Helpers;
|
use MailPoet\Util\Helpers;
|
||||||
use MailPoet\WP\Emoji;
|
use MailPoet\WP\Emoji;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
@ -62,9 +61,6 @@ class Newsletter {
|
|||||||
/** @var SendingQueuesRepository */
|
/** @var SendingQueuesRepository */
|
||||||
private $sendingQueuesRepository;
|
private $sendingQueuesRepository;
|
||||||
|
|
||||||
/** @var SubscribersRepository */
|
|
||||||
private $subscribersRepository;
|
|
||||||
|
|
||||||
/** @var NewsletterSegmentRepository */
|
/** @var NewsletterSegmentRepository */
|
||||||
private $newsletterSegmentRepository;
|
private $newsletterSegmentRepository;
|
||||||
|
|
||||||
@ -98,7 +94,6 @@ class Newsletter {
|
|||||||
$this->linksTask = ContainerWrapper::getInstance()->get(LinksTask::class);
|
$this->linksTask = ContainerWrapper::getInstance()->get(LinksTask::class);
|
||||||
$this->newsletterLinks = ContainerWrapper::getInstance()->get(NewsletterLinks::class);
|
$this->newsletterLinks = ContainerWrapper::getInstance()->get(NewsletterLinks::class);
|
||||||
$this->sendingQueuesRepository = ContainerWrapper::getInstance()->get(SendingQueuesRepository::class);
|
$this->sendingQueuesRepository = ContainerWrapper::getInstance()->get(SendingQueuesRepository::class);
|
||||||
$this->subscribersRepository = ContainerWrapper::getInstance()->get(SubscribersRepository::class);
|
|
||||||
$this->newsletterSegmentRepository = ContainerWrapper::getInstance()->get(NewsletterSegmentRepository::class);
|
$this->newsletterSegmentRepository = ContainerWrapper::getInstance()->get(NewsletterSegmentRepository::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -220,7 +215,7 @@ class Newsletter {
|
|||||||
return $newsletter;
|
return $newsletter;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function prepareNewsletterForSending($newsletter, $subscriber, $queue) {
|
public function prepareNewsletterForSending($newsletter, SubscriberEntity $subscriber, $queue) {
|
||||||
// shortcodes and links will be replaced in the subject, html and text body
|
// shortcodes and links will be replaced in the subject, html and text body
|
||||||
// to speed the processing, join content into a continuous string
|
// to speed the processing, join content into a continuous string
|
||||||
$renderedNewsletter = $queue->getNewsletterRenderedBody();
|
$renderedNewsletter = $queue->getNewsletterRenderedBody();
|
||||||
@ -239,12 +234,6 @@ class Newsletter {
|
|||||||
$newsletterEntity = null;
|
$newsletterEntity = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($subscriber instanceof SubscriberModel) {
|
|
||||||
$subscriberEntity = $this->subscribersRepository->findOneById($subscriber->id);
|
|
||||||
} else {
|
|
||||||
$subscriberEntity = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($queue->queue() instanceof SendingQueueModel) {
|
if ($queue->queue() instanceof SendingQueueModel) {
|
||||||
$sendingQueueEntity = $this->sendingQueuesRepository->findOneById($queue->queue()->id);
|
$sendingQueueEntity = $this->sendingQueuesRepository->findOneById($queue->queue()->id);
|
||||||
} else {
|
} else {
|
||||||
@ -255,12 +244,12 @@ class Newsletter {
|
|||||||
$preparedNewsletter,
|
$preparedNewsletter,
|
||||||
null,
|
null,
|
||||||
$newsletterEntity,
|
$newsletterEntity,
|
||||||
$subscriberEntity,
|
$subscriber,
|
||||||
$sendingQueueEntity
|
$sendingQueueEntity
|
||||||
);
|
);
|
||||||
if ($this->trackingEnabled) {
|
if ($this->trackingEnabled) {
|
||||||
$preparedNewsletter = $this->newsletterLinks->replaceSubscriberData(
|
$preparedNewsletter = $this->newsletterLinks->replaceSubscriberData(
|
||||||
$subscriber->id,
|
$subscriber->getId(),
|
||||||
$queue->id,
|
$queue->id,
|
||||||
$preparedNewsletter
|
$preparedNewsletter
|
||||||
);
|
);
|
||||||
|
Reference in New Issue
Block a user