Use Newsletter\Links as service
[MAILPOET-3269]
This commit is contained in:
@@ -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,
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user