Remove Newsletter model usages
[MAILPOET-4361]
This commit is contained in:
@@ -138,14 +138,11 @@ class NewslettersResponseBuilder {
|
||||
? $statistics->asArray()
|
||||
: false,
|
||||
'preview_url' => $this->newsletterUrl->getViewInBrowserUrl(
|
||||
(object)[
|
||||
'id' => $newsletter->getId(),
|
||||
'hash' => $newsletter->getHash(),
|
||||
],
|
||||
$newsletter,
|
||||
null,
|
||||
in_array($newsletter->getStatus(), [NewsletterEntity::STATUS_SENT, NewsletterEntity::STATUS_SENDING], true)
|
||||
? $latestQueue
|
||||
: false
|
||||
: null
|
||||
),
|
||||
];
|
||||
|
||||
|
@@ -399,13 +399,7 @@ class Newsletters extends APIEndpoint {
|
||||
|
||||
private function getViewInBrowserUrl(NewsletterEntity $newsletter): string {
|
||||
$this->fixMissingHash([$newsletter]); // Fix for MAILPOET-3275. Remove after May 2021
|
||||
$url = $this->newsletterUrl->getViewInBrowserUrl(
|
||||
(object)[
|
||||
'id' => $newsletter->getId(),
|
||||
'hash' => $newsletter->getHash(),
|
||||
]
|
||||
);
|
||||
|
||||
$url = $this->newsletterUrl->getViewInBrowserUrl($newsletter);
|
||||
// strip protocol to avoid mix content error
|
||||
return preg_replace('/^https?:/i', '', $url);
|
||||
}
|
||||
|
@@ -5,7 +5,6 @@ namespace MailPoet\Newsletter\Shortcodes\Categories;
|
||||
use MailPoet\Entities\NewsletterEntity;
|
||||
use MailPoet\Entities\SendingQueueEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Models\Newsletter as NewsletterModel;
|
||||
use MailPoet\Models\SendingQueue;
|
||||
use MailPoet\Models\Subscriber as SubscriberModel;
|
||||
use MailPoet\Newsletter\Url as NewsletterUrl;
|
||||
@@ -51,7 +50,6 @@ class Link implements CategoryInterface {
|
||||
): ?string {
|
||||
$subscriptionUrlFactory = SubscriptionUrlFactory::getInstance();
|
||||
$subscriberModel = $this->getSubscriberModel($subscriber);
|
||||
$newsletterModel = $this->getNewsletterModel($newsletter);
|
||||
$queueModel = $this->getQueueModel($queue);
|
||||
|
||||
switch ($shortcodeDetails['action']) {
|
||||
@@ -81,7 +79,7 @@ class Link implements CategoryInterface {
|
||||
|
||||
case 'newsletter_view_in_browser_url':
|
||||
$url = $this->newsletterUrl->getViewInBrowserUrl(
|
||||
$newsletterModel,
|
||||
$newsletter,
|
||||
$wpUserPreview ? null : $subscriberModel,
|
||||
$queueModel,
|
||||
$wpUserPreview
|
||||
@@ -112,7 +110,7 @@ class Link implements CategoryInterface {
|
||||
|
||||
public function processUrl($action, $url, $queue, $wpUserPreview = false): string {
|
||||
if ($wpUserPreview) return $url;
|
||||
return ($queue !== false && $this->trackingConfig->isEmailTrackingEnabled()) ?
|
||||
return ($queue && $this->trackingConfig->isEmailTrackingEnabled()) ?
|
||||
self::getFullShortcode($action) :
|
||||
$url;
|
||||
}
|
||||
@@ -125,22 +123,21 @@ class Link implements CategoryInterface {
|
||||
$wpUserPreview = false
|
||||
): ?string {
|
||||
$subscriberModel = $this->getSubscriberModel($subscriber);
|
||||
$newsletterModel = $this->getNewsletterModel($newsletter);
|
||||
$queueModel = $this->getQueueModel($queue);
|
||||
$subscriptionUrlFactory = SubscriptionUrlFactory::getInstance();
|
||||
switch ($shortcodeAction) {
|
||||
case 'subscription_unsubscribe_url':
|
||||
$url = $subscriptionUrlFactory->getConfirmUnsubscribeUrl($subscriber, self::getSendingQueueId($queue));
|
||||
$url = $subscriptionUrlFactory->getConfirmUnsubscribeUrl($subscriber, self::getSendingQueueId($queue ? $queue) : null);
|
||||
break;
|
||||
case 'subscription_instant_unsubscribe_url':
|
||||
$url = $subscriptionUrlFactory->getUnsubscribeUrl($subscriber, self::getSendingQueueId($queue));
|
||||
$url = $subscriptionUrlFactory->getUnsubscribeUrl($subscriber, self::getSendingQueueId($queue ? $queue) : null);
|
||||
break;
|
||||
case 'subscription_manage_url':
|
||||
$url = $subscriptionUrlFactory->getManageUrl($subscriber);
|
||||
break;
|
||||
case 'newsletter_view_in_browser_url':
|
||||
$url = $this->newsletterUrl->getViewInBrowserUrl(
|
||||
$newsletterModel,
|
||||
$newsletter,
|
||||
$subscriberModel,
|
||||
$queueModel,
|
||||
false
|
||||
@@ -184,14 +181,6 @@ class Link implements CategoryInterface {
|
||||
return null;
|
||||
}
|
||||
|
||||
// temporary function until Links are refactored to Doctrine
|
||||
private function getNewsletterModel(NewsletterEntity $newsletter = null): ?NewsletterModel {
|
||||
if (!$newsletter) return null;
|
||||
$newsletterModel = NewsletterModel::where('id', $newsletter->getId())->findOne();
|
||||
if ($newsletterModel) return $newsletterModel;
|
||||
return null;
|
||||
}
|
||||
|
||||
// temporary function until Links are refactored to Doctrine
|
||||
private function getQueueModel(SendingQueueEntity $queue = null): ?SendingQueue {
|
||||
if (!$queue) return null;
|
||||
|
@@ -27,7 +27,7 @@ class Url {
|
||||
}
|
||||
|
||||
public function getViewInBrowserUrl(
|
||||
$newsletter,
|
||||
NewsletterEntity $newsletter = null,
|
||||
$subscriber = false,
|
||||
$queue = false,
|
||||
bool $preview = true
|
||||
@@ -46,14 +46,9 @@ class Url {
|
||||
);
|
||||
}
|
||||
|
||||
public function createUrlDataObject($newsletter, $subscriber, $queue, $preview) {
|
||||
if ($newsletter instanceof NewsletterEntity) {
|
||||
$newsletterId = (!empty($newsletter->getId())) ? (int)$newsletter->getId() : 0;
|
||||
$newsletterHash = (!empty($newsletter->getHash())) ? $newsletter->getHash() : 0;
|
||||
} else {
|
||||
$newsletterId = (!empty($newsletter->id)) ? (int)$newsletter->id : 0;
|
||||
$newsletterHash = (!empty($newsletter->hash)) ? $newsletter->hash : 0;
|
||||
}
|
||||
public function createUrlDataObject(NewsletterEntity $newsletter = null, $subscriber, $queue, $preview) {
|
||||
$newsletterId = $newsletter && $newsletter->getId() ? $newsletter->getId() : 0;
|
||||
$newsletterHash = $newsletter && $newsletter->getHash() ? $newsletter->getHash() : 0;
|
||||
|
||||
if ($queue instanceof SendingQueueEntity) {
|
||||
$sendingQueueId = (!empty($queue->getId())) ? (int)$queue->getId() : 0;
|
||||
|
@@ -66,12 +66,7 @@ class SendPreviewControllerTest extends \MailPoetTest {
|
||||
function ($newsletter, $subscriber, $extraParams) {
|
||||
$unsubscribeLink = $this->subscriptionUrlFactory->getConfirmUnsubscribeUrl(null);
|
||||
$manageLink = $this->subscriptionUrlFactory->getManageUrl(null);
|
||||
$viewInBrowserLink = $this->newsletterUrl->getViewInBrowserUrl(
|
||||
(object)[
|
||||
'id' => $this->newsletter->getId(),
|
||||
'hash' => $this->newsletter->getHash(),
|
||||
]
|
||||
);
|
||||
$viewInBrowserLink = $this->newsletterUrl->getViewInBrowserUrl($this->newsletter);
|
||||
$mailerMetaInfo = new MetaInfo;
|
||||
|
||||
expect(is_array($newsletter))->true();
|
||||
|
@@ -9,7 +9,6 @@ use MailPoet\Entities\SendingQueueEntity;
|
||||
use MailPoet\Entities\SubscriberCustomFieldEntity;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\Newsletter as NewsletterModel;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Newsletter\Shortcodes\Categories\Date;
|
||||
use MailPoet\Newsletter\Shortcodes\Shortcodes;
|
||||
@@ -352,7 +351,6 @@ class ShortcodesTest extends \MailPoetTest {
|
||||
$shortcodesObject = $this->shortcodesObject;
|
||||
$shortcodesObject->setWpUserPreview(true);
|
||||
$shortcodesObject->setSubscriber(null);
|
||||
$newsletterModel = NewsletterModel::where('id', $this->newsletter->getId())->findOne();
|
||||
$shortcodes = [
|
||||
'[link:subscription_unsubscribe_url]',
|
||||
'[link:subscription_instant_unsubscribe_url]',
|
||||
@@ -363,7 +361,7 @@ class ShortcodesTest extends \MailPoetTest {
|
||||
$this->subscriptionUrlFactory->getConfirmUnsubscribeUrl(null),
|
||||
$this->subscriptionUrlFactory->getUnsubscribeUrl(null),
|
||||
$this->subscriptionUrlFactory->getManageUrl(null),
|
||||
$this->newsletterUrl->getViewInBrowserUrl($newsletterModel),
|
||||
$this->newsletterUrl->getViewInBrowserUrl($this->newsletter),
|
||||
];
|
||||
$result = $shortcodesObject->process($shortcodes);
|
||||
// hash is returned
|
||||
|
Reference in New Issue
Block a user