Replace Paris models with Doctrine entities in Shortcodes

[MAILPOET-4364]
This commit is contained in:
Rodrigo Primo
2022-08-03 17:16:44 -03:00
committed by Veljko V
parent 4a0ee78467
commit 261f2eaa25
2 changed files with 48 additions and 32 deletions

View File

@ -6,53 +6,32 @@ use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\NewsletterEntity;
use MailPoet\Entities\SendingQueueEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Models\Newsletter;
use MailPoet\Models\SendingQueue;
use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\NewslettersRepository;
use MailPoet\Newsletter\Sending\SendingQueuesRepository;
use MailPoet\Newsletter\Shortcodes\Shortcodes as NewsletterShortcodes;
use MailPoet\Subscribers\SubscribersRepository;
use MailPoet\Tasks\Sending;
use stdClass;
class Shortcodes {
/**
* @param string $content
* @param string|null $contentSource
* @param stdClass|Newsletter|null $newsletter
* @param Subscriber|null $subscriber
* @param Sending|SendingQueue|null $queue
* @param NewsletterEntity|null $newsletter
* @param SubscriberEntity|null $subscriber
* @param SendingQueueEntity|null $queue
*/
public static function process($content, $contentSource = null, $newsletter = null, $subscriber = null, $queue = null) {
public static function process($content, $contentSource = null, NewsletterEntity $newsletter = null, SubscriberEntity $subscriber = null, SendingQueueEntity $queue = null) {
/** @var NewsletterShortcodes $shortcodes */
$shortcodes = ContainerWrapper::getInstance()->get(NewsletterShortcodes::class);
/** @var SendingQueuesRepository $sendingQueueRepository */
$sendingQueueRepository = ContainerWrapper::getInstance()->get(SendingQueuesRepository::class);
/** @var NewslettersRepository $newsletterRepository */
$newsletterRepository = ContainerWrapper::getInstance()->get(NewslettersRepository::class);
/** @var SubscribersRepository $subscribersRepository */
$subscribersRepository = ContainerWrapper::getInstance()->get(SubscribersRepository::class);
if (($queue instanceof Sending || $queue instanceof SendingQueue) && $queue->id) {
$queue = $sendingQueueRepository->findOneById($queue->id);
}
if ($queue instanceof SendingQueueEntity) {
$shortcodes->setQueue($queue);
} else {
$shortcodes->setQueue(null);
}
if (($newsletter instanceof Newsletter || $newsletter instanceof stdClass) && $newsletter->id) {
$newsletter = $newsletterRepository->findOneById($newsletter->id);
}
if ($newsletter instanceof NewsletterEntity) {
$shortcodes->setNewsletter($newsletter);
} else {
$shortcodes->setNewsletter(null);
}
if ($subscriber instanceof Subscriber && $subscriber->id) {
$subscriber = $subscribersRepository->findOneById($subscriber->id);
}
if ($subscriber instanceof SubscriberEntity) {
$shortcodes->setSubscriber($subscriber);
} else {