Make render preview call more readable [MAILPOET-2979]

This commit is contained in:
wxa
2020-10-05 16:15:58 +03:00
committed by Veljko V
parent 94493f9646
commit fd6ff25cd9
6 changed files with 23 additions and 11 deletions

View File

@ -114,7 +114,7 @@ class Newsletter {
// hook to the newsletter post-processing filter and add tracking image
$this->trackingImageInserted = OpenTracking::addTrackingImage();
// render newsletter
$renderedNewsletter = $this->renderer->render($newsletter, false, false, $sendingTask);
$renderedNewsletter = $this->renderer->render($newsletter, $sendingTask);
$renderedNewsletter = $this->wp->applyFilters(
'mailpoet_sending_newsletter_render_after',
$renderedNewsletter,
@ -125,7 +125,7 @@ class Newsletter {
$renderedNewsletter = LinksTask::process($renderedNewsletter, $newsletter, $sendingTask);
} else {
// render newsletter
$renderedNewsletter = $this->renderer->render($newsletter);
$renderedNewsletter = $this->renderer->render($newsletter, $sendingTask);
$renderedNewsletter = $this->wp->applyFilters(
'mailpoet_sending_newsletter_render_after',
$renderedNewsletter,

View File

@ -43,7 +43,7 @@ class SendPreviewController {
throw new SendPreviewException("Newsletter with ID '{$newsletter->getId()}' not found");
}
$renderedNewsletter = $this->renderer->render($newsletter, $preview = true);
$renderedNewsletter = $this->renderer->renderAsPreview($newsletter);
$divider = '***MailPoet***';
$dataForShortcodes = array_merge(
[$newsletter->getSubject()],

View File

@ -70,7 +70,15 @@ class Renderer {
return $this->newslettersRepository->findOneById($newsletterId);
}
public function render($newsletter, $preview = false, $type = false, SendingTask $sendingTask = null) {
public function render($newsletter, SendingTask $sendingTask = null, $type = false) {
return $this->_render($newsletter, $sendingTask, $type);
}
public function renderAsPreview($newsletter, $type = false) {
return $this->_render($newsletter, null, $type, true);
}
private function _render($newsletter, SendingTask $sendingTask = null, $type = false, $preview = false) {
$newsletter = $this->getNewsletter($newsletter);
if (!$newsletter instanceof NewsletterEntity) {
throw new RuntimeException('Newsletter was not found');

View File

@ -55,7 +55,11 @@ class ViewInBrowserRenderer {
$newsletterBody = str_replace(Links::DATA_TAG_OPEN, '', $newsletterBody);
}
} else {
$newsletterBody = $this->renderer->render($newsletter, $wpUserPreview, 'html');
if ($wpUserPreview) {
$newsletterBody = $this->renderer->renderAsPreview($newsletter, 'html');
} else {
$newsletterBody = $this->renderer->render($newsletter, $sendingTask = null, 'html');
}
}
$shortcodes = new Shortcodes(
$newsletter,

View File

@ -34,7 +34,7 @@ class Renderer {
}
public function render(Newsletter $newsletter) {
$html = explode(Preprocessor::WC_CONTENT_PLACEHOLDER, $this->renderer->render($newsletter, true, 'html'));
$html = explode(Preprocessor::WC_CONTENT_PLACEHOLDER, $this->renderer->renderAsPreview($newsletter, 'html'));
$this->htmlBeforeContent = $html[0];
$this->htmlAfterContent = $html[1];
}

View File

@ -63,7 +63,7 @@ class RendererTest extends \MailPoetTest {
}
public function testItRendersCompleteNewsletter() {
$template = $this->renderer->render($this->newsletter, true);// do not render logo
$template = $this->renderer->renderAsPreview($this->newsletter);// do not render logo
expect(isset($template['html']))->true();
expect(isset($template['text']))->true();
$DOM = $this->dOMParser->parseStr($template['html']);
@ -592,7 +592,7 @@ class RendererTest extends \MailPoetTest {
$this->license->method('hasLicense')->willReturn(true);
$this->newsletter->setBody(json_decode(Fixtures::get('newsletter_body_template'), true));
$template = $this->renderer->render($this->newsletter, false);
$template = $this->renderer->render($this->newsletter);
expect($template['html'])->notContains('mailpoet_logo_newsletter.png');
}
@ -601,7 +601,7 @@ class RendererTest extends \MailPoetTest {
$this->bridge->method('isMailpoetSendingServiceEnabled')->willReturn(true);
$this->newsletter->setBody(json_decode(Fixtures::get('newsletter_body_template'), true));
$template = $this->renderer->render($this->newsletter, false);
$template = $this->renderer->render($this->newsletter);
expect($template['html'])->notContains('mailpoet_logo_newsletter.png');
}
@ -610,7 +610,7 @@ class RendererTest extends \MailPoetTest {
$this->license->method('hasLicense')->willReturn(false);
$this->newsletter->setBody(json_decode(Fixtures::get('newsletter_body_template'), true));
$template = $this->renderer->render($this->newsletter, true);
$template = $this->renderer->renderAsPreview($this->newsletter);
expect($template['html'])->notContains('mailpoet_logo_newsletter.png');
}
@ -619,7 +619,7 @@ class RendererTest extends \MailPoetTest {
$this->bridge->method('isMailpoetSendingServiceEnabled')->willReturn(false);
$this->license->method('hasLicense')->willReturn(false);
$template = $this->renderer->render($this->newsletter, false);
$template = $this->renderer->render($this->newsletter);
expect($template['html'])->contains('mailpoet_logo_newsletter.png');
}