REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 2.60 KB
Close
/home/nshryvcy/himaltourism.com/wp-content/plugins/mailpoet/lib/Newsletter/Preview/SendPreviewController.php
Text
Base64
<?php declare(strict_types = 1); namespace MailPoet\Newsletter\Preview; if (!defined('ABSPATH')) exit; use MailPoet\Entities\NewsletterEntity; use MailPoet\Entities\SubscriberEntity; use MailPoet\Mailer\MailerFactory; use MailPoet\Mailer\MetaInfo; use MailPoet\Newsletter\Renderer\Renderer; use MailPoet\Newsletter\Shortcodes\Shortcodes; use MailPoet\Subscribers\SubscribersRepository; use MailPoet\WP\Functions as WPFunctions; class SendPreviewController { /** @var MailerFactory */ private $mailerFactory; /** @var MetaInfo */ private $mailerMetaInfo; /** @var WPFunctions */ private $wp; /** @var Renderer */ private $renderer; /** @var Shortcodes */ private $shortcodes; /** @var SubscribersRepository */ private $subscribersRepository; public function __construct( MailerFactory $mailerFactory, MetaInfo $mailerMetaInfo, Renderer $renderer, WPFunctions $wp, SubscribersRepository $subscribersRepository, Shortcodes $shortcodes ) { $this->mailerFactory = $mailerFactory; $this->mailerMetaInfo = $mailerMetaInfo; $this->wp = $wp; $this->renderer = $renderer; $this->shortcodes = $shortcodes; $this->subscribersRepository = $subscribersRepository; } public function sendPreview(NewsletterEntity $newsletter, string $emailAddress) { $renderedNewsletter = $this->renderer->renderAsPreview($newsletter); $divider = '***MailPoet***'; $dataForShortcodes = array_merge( [$newsletter->getSubject()], $renderedNewsletter ); $body = implode($divider, $dataForShortcodes); $subscriber = $this->subscribersRepository->getCurrentWPUser(); $this->shortcodes->setNewsletter($newsletter); if ($subscriber instanceof SubscriberEntity) { $this->shortcodes->setSubscriber($subscriber); } $this->shortcodes->setWpUserPreview(true); [ $renderedNewsletter['subject'], $renderedNewsletter['body']['html'], $renderedNewsletter['body']['text'], ] = explode($divider, $this->shortcodes->replace($body)); $renderedNewsletter['id'] = $newsletter->getId(); $extraParams = [ 'unsubscribe_url' => $this->wp->homeUrl(), 'meta' => $this->mailerMetaInfo->getPreviewMetaInfo(), ]; $result = $this->mailerFactory->getDefaultMailer()->send($renderedNewsletter, $emailAddress, $extraParams); if ($result['response'] === false) { $error = sprintf( // translators: %s contains the actual error message. __('The email could not be sent: %s', 'mailpoet'), $result['error']->getMessage() ); throw new SendPreviewException($error); } } }
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 3
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
index.php
0 B
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SendPreviewController.php
2.60 KB
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
SendPreviewException.php
164 B
lrw-r--r--
2023-04-04 05:35:40
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).