From 5e61b75893ec64581dc71be8e7d5dd21d11d89db Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Wed, 3 Apr 2019 17:53:54 +0200 Subject: [PATCH] [Twig] removed TemplatedEmail::template() --- src/Symfony/Bridge/Twig/Mime/BodyRenderer.php | 27 ----- .../Bridge/Twig/Mime/TemplatedEmail.php | 20 +--- .../Bridge/Twig/Tests/Mime/RendererTest.php | 108 +----------------- .../Twig/Tests/Mime/TemplatedEmailTest.php | 3 - 4 files changed, 7 insertions(+), 151 deletions(-) diff --git a/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php b/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php index e9b04b71ab734..df2c9f91c3cf2 100644 --- a/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php +++ b/src/Symfony/Bridge/Twig/Mime/BodyRenderer.php @@ -50,10 +50,6 @@ public function render(Message $message): void 'email' => new WrappedTemplatedEmail($this->twig, $message), ]); - if ($template = $message->getTemplate()) { - $this->renderFull($message, $template, $vars); - } - if ($template = $message->getTextTemplate()) { $message->text($this->twig->render($template, $vars)); } @@ -68,29 +64,6 @@ public function render(Message $message): void } } - private function renderFull(TemplatedEmail $message, string $template, array $vars): void - { - $template = $this->twig->load($template); - - if ($template->hasBlock('subject', $vars)) { - $message->subject($template->renderBlock('subject', $vars)); - } - - if ($template->hasBlock('text', $vars)) { - $message->text($template->renderBlock('text', $vars)); - } - - if ($template->hasBlock('html', $vars)) { - $message->html($template->renderBlock('html', $vars)); - } - - if ($template->hasBlock('config', $vars)) { - // we discard the output as we're only interested - // in the side effect of calling email methods - $template->renderBlock('config', $vars); - } - } - private function convertHtmlToText(string $html): string { if (null !== $this->converter) { diff --git a/src/Symfony/Bridge/Twig/Mime/TemplatedEmail.php b/src/Symfony/Bridge/Twig/Mime/TemplatedEmail.php index d840e268c4847..e487055706892 100644 --- a/src/Symfony/Bridge/Twig/Mime/TemplatedEmail.php +++ b/src/Symfony/Bridge/Twig/Mime/TemplatedEmail.php @@ -20,21 +20,10 @@ */ class TemplatedEmail extends Email { - private $template; private $htmlTemplate; private $textTemplate; private $context = []; - /** - * @return $this - */ - public function template(?string $template) - { - $this->template = $template; - - return $this; - } - /** * @return $this */ @@ -55,11 +44,6 @@ public function htmlTemplate(?string $template) return $this; } - public function getTemplate(): ?string - { - return $this->template; - } - public function getTextTemplate(): ?string { return $this->textTemplate; @@ -90,7 +74,7 @@ public function getContext(): array */ public function __serialize(): array { - return [$this->template, $this->htmlTemplate, $this->textTemplate, $this->context, parent::__serialize()]; + return [$this->htmlTemplate, $this->textTemplate, $this->context, parent::__serialize()]; } /** @@ -98,7 +82,7 @@ public function __serialize(): array */ public function __unserialize(array $data): void { - [$this->template, $this->htmlTemplate, $this->textTemplate, $this->context, $parentData] = $data; + [$this->htmlTemplate, $this->textTemplate, $this->context, $parentData] = $data; parent::__unserialize($parentData); } diff --git a/src/Symfony/Bridge/Twig/Tests/Mime/RendererTest.php b/src/Symfony/Bridge/Twig/Tests/Mime/RendererTest.php index 3c30821bb45e4..3c40e6d7ee049 100644 --- a/src/Symfony/Bridge/Twig/Tests/Mime/RendererTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Mime/RendererTest.php @@ -15,9 +15,6 @@ use Symfony\Bridge\Twig\Mime\BodyRenderer; use Symfony\Bridge\Twig\Mime\TemplatedEmail; use Symfony\Component\Mime\Part\Multipart\AlternativePart; -use Symfony\Component\Mime\Part\Multipart\MixedPart; -use Symfony\Component\Mime\Part\Multipart\RelatedPart; -use Symfony\Component\Mime\Part\TextPart; use Twig\Environment; use Twig\Loader\ArrayLoader; @@ -25,13 +22,13 @@ class RendererTest extends TestCase { public function testRenderTextOnly(): void { - $email = $this->prepareEmail(null, 'Text', null); + $email = $this->prepareEmail('Text', null); $this->assertEquals('Text', $email->getBody()->bodyToString()); } public function testRenderHtmlOnly(): void { - $email = $this->prepareEmail(null, null, 'HTML'); + $email = $this->prepareEmail(null, 'HTML'); $body = $email->getBody(); $this->assertInstanceOf(AlternativePart::class, $body); $this->assertEquals('HTML', $body->getParts()[0]->bodyToString()); @@ -40,7 +37,7 @@ public function testRenderHtmlOnly(): void public function testRenderHtmlOnlyWithTextSet(): void { - $email = $this->prepareEmail(null, null, 'HTML'); + $email = $this->prepareEmail(null, 'HTML'); $email->text('Text'); $body = $email->getBody(); $this->assertInstanceOf(AlternativePart::class, $body); @@ -50,108 +47,16 @@ public function testRenderHtmlOnlyWithTextSet(): void public function testRenderTextAndHtml(): void { - $email = $this->prepareEmail(null, 'Text', 'HTML'); + $email = $this->prepareEmail('Text', 'HTML'); $body = $email->getBody(); $this->assertInstanceOf(AlternativePart::class, $body); $this->assertEquals('Text', $body->getParts()[0]->bodyToString()); $this->assertEquals('HTML', $body->getParts()[1]->bodyToString()); } - public function testRenderFullOnly(): void - { - $email = $this->prepareEmail(<<HTML{% endblock %} -EOF - , null, null); - $body = $email->getBody(); - $this->assertInstanceOf(AlternativePart::class, $body); - $this->assertEquals('Subject', $email->getSubject()); - $this->assertEquals('Text', $body->getParts()[0]->bodyToString()); - $this->assertEquals('HTML', $body->getParts()[1]->bodyToString()); - } - - public function testRenderFullOnlyWithTextOnly(): void - { - $email = $this->prepareEmail(<<getBody(); - $this->assertInstanceOf(TextPart::class, $body); - $this->assertEquals('', $email->getSubject()); - $this->assertEquals('Text', $body->bodyToString()); - } - - public function testRenderFullOnlyWithHtmlOnly(): void - { - $email = $this->prepareEmail(<<HTML{% endblock %} -EOF - , null, null); - $body = $email->getBody(); - $this->assertInstanceOf(AlternativePart::class, $body); - $this->assertEquals('', $email->getSubject()); - $this->assertEquals('HTML', $body->getParts()[0]->bodyToString()); - $this->assertEquals('HTML', $body->getParts()[1]->bodyToString()); - } - - public function testRenderFullAndText(): void - { - $email = $this->prepareEmail(<<HTML{% endblock %} -EOF - , 'Text', null); - $body = $email->getBody(); - $this->assertInstanceOf(AlternativePart::class, $body); - $this->assertEquals('Text', $body->getParts()[0]->bodyToString()); - $this->assertEquals('HTML', $body->getParts()[1]->bodyToString()); - } - - public function testRenderFullAndHtml(): void - { - $email = $this->prepareEmail(<<HTML{% endblock %} -EOF - , null, 'HTML'); - $body = $email->getBody(); - $this->assertInstanceOf(AlternativePart::class, $body); - $this->assertEquals('Text full', $body->getParts()[0]->bodyToString()); - $this->assertEquals('HTML', $body->getParts()[1]->bodyToString()); - } - - public function testRenderHtmlWithEmbeddedImages(): void - { - $email = $this->prepareEmail(null, null, ''); - $body = $email->getBody(); - $this->assertInstanceOf(RelatedPart::class, $body); - $this->assertInstanceOf(AlternativePart::class, $body->getParts()[0]); - $this->assertStringMatchesFormat('', $body->getParts()[0]->getParts()[1]->bodyToString()); - $this->assertEquals('Some image data', base64_decode($body->getParts()[1]->bodyToString())); - } - - public function testRenderFullWithAttachments(): void - { - $email = $this->prepareEmail(<<getBody(); - $this->assertInstanceOf(MixedPart::class, $body); - $this->assertEquals('Text', $body->getParts()[0]->bodyToString()); - $this->assertEquals('Some text document...', base64_decode($body->getParts()[1]->bodyToString())); - } - - private function prepareEmail(?string $full, ?string $text, ?string $html): TemplatedEmail + private function prepareEmail(?string $text, ?string $html): TemplatedEmail { $twig = new Environment(new ArrayLoader([ - 'full' => $full, 'text' => $text, 'html' => $html, 'document.txt' => 'Some text document...', @@ -159,9 +64,6 @@ private function prepareEmail(?string $full, ?string $text, ?string $html): Temp ])); $renderer = new BodyRenderer($twig); $email = (new TemplatedEmail())->to('fabien@symfony.com')->from('helene@symfony.com'); - if (null !== $full) { - $email->template('full'); - } if (null !== $text) { $email->textTemplate('text'); } diff --git a/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php b/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php index f5d9235a6d503..999ca4d078d58 100644 --- a/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php +++ b/src/Symfony/Bridge/Twig/Tests/Mime/TemplatedEmailTest.php @@ -13,9 +13,6 @@ public function test() $email->context($context = ['product' => 'Symfony']); $this->assertEquals($context, $email->getContext()); - $email->template($template = 'full'); - $this->assertEquals($template, $email->getTemplate()); - $email->textTemplate($template = 'text'); $this->assertEquals($template, $email->getTextTemplate()); pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy