Use Newsletter\Links as service

[MAILPOET-3269]
This commit is contained in:
Jan Lysý
2021-05-28 10:00:20 +02:00
committed by Veljko V
parent 8826b01ec9
commit c9636ebf1b
10 changed files with 70 additions and 31 deletions

View File

@@ -16,8 +16,15 @@ class Links {
/** @var LinkTokens */
private $linkTokens;
public function __construct(LinkTokens $linkTokens) {
/** @var NewsletterLinks */
private $newsletterLinks;
public function __construct(
LinkTokens $linkTokens,
NewsletterLinks $newsletterLinks
) {
$this->linkTokens = $linkTokens;
$this->newsletterLinks = $newsletterLinks;
}
public function process($renderedNewsletter, $newsletter, $queue) {
@@ -29,8 +36,8 @@ class Links {
public function hashAndReplaceLinks($renderedNewsletter, $newsletterId, $queueId) {
// join HTML and TEXT rendered body into a text string
$content = Helpers::joinObject($renderedNewsletter);
list($content, $links) = NewsletterLinks::process($content, $newsletterId, $queueId);
$links = NewsletterLinks::ensureInstantUnsubscribeLink($links);
[$content, $links] = $this->newsletterLinks->process($content, $newsletterId, $queueId);
$links = $this->newsletterLinks->ensureInstantUnsubscribeLink($links);
// split the processed body with hashed links back to HTML and TEXT
list($renderedNewsletter['html'], $renderedNewsletter['text'])
= Helpers::splitObject($content);
@@ -41,7 +48,7 @@ class Links {
}
public function saveLinks($links, $newsletter, $queue) {
return NewsletterLinks::save($links, $newsletter->id, $queue->id);
return $this->newsletterLinks->save($links, $newsletter->id, $queue->id);
}
public function getUnsubscribeUrl($queue, $subscriberId) {
@@ -54,7 +61,7 @@ class Links {
if (!$linkHash instanceof NewsletterLinkModel) {
return '';
}
$data = NewsletterLinks::createUrlDataObject(
$data = $this->newsletterLinks->createUrlDataObject(
$subscriber->id,
$this->linkTokens->getToken($subscriber),
$queue->id,

View File

@@ -49,6 +49,9 @@ class Newsletter {
/** @var LinksTask */
private $linksTask;
/** @var NewsletterLinks */
private $newsletterLinks;
public function __construct(
WPFunctions $wp = null,
PostsTask $postsTask = null,
@@ -66,7 +69,7 @@ class Newsletter {
}
$this->postsTask = $postsTask;
if ($gaTracking === null) {
$gaTracking = new GATracking;
$gaTracking = ContainerWrapper::getInstance()->get(GATracking::class);
}
$this->gaTracking = $gaTracking;
$this->loggerFactory = LoggerFactory::getInstance();
@@ -77,6 +80,7 @@ class Newsletter {
$this->renderer = ContainerWrapper::getInstance()->get(Renderer::class);
$this->newslettersRepository = ContainerWrapper::getInstance()->get(NewslettersRepository::class);
$this->linksTask = ContainerWrapper::getInstance()->get(LinksTask::class);
$this->newsletterLinks = ContainerWrapper::getInstance()->get(NewsletterLinks::class);
}
public function getNewsletterFromQueue($queue) {
@@ -209,7 +213,7 @@ class Newsletter {
$queue
);
if ($this->trackingEnabled) {
$preparedNewsletter = NewsletterLinks::replaceSubscriberData(
$preparedNewsletter = $this->newsletterLinks->replaceSubscriberData(
$subscriber->id,
$queue->id,
$preparedNewsletter