Files
piratepoet/mailpoet/lib/Cron/Workers/SendingQueue/Tasks/Shortcodes.php
2022-08-04 10:55:03 +02:00

43 lines
1.3 KiB
PHP

<?php
namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\NewsletterEntity;
use MailPoet\Entities\SendingQueueEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Newsletter\Shortcodes\Shortcodes as NewsletterShortcodes;
class Shortcodes {
/**
* @param string $content
* @param string|null $contentSource
* @param NewsletterEntity|null $newsletter
* @param SubscriberEntity|null $subscriber
* @param SendingQueueEntity|null $queue
*/
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);
if ($queue instanceof SendingQueueEntity) {
$shortcodes->setQueue($queue);
} else {
$shortcodes->setQueue(null);
}
if ($newsletter instanceof NewsletterEntity) {
$shortcodes->setNewsletter($newsletter);
} else {
$shortcodes->setNewsletter(null);
}
if ($subscriber instanceof SubscriberEntity) {
$shortcodes->setSubscriber($subscriber);
} else {
$shortcodes->setSubscriber(null);
}
return $shortcodes->replace($content, $contentSource);
}
}