diff --git a/lib/Newsletter/Renderer/Columns/Renderer.php b/lib/Newsletter/Renderer/Columns/Renderer.php index 271868e3b1..1c8a70132e 100644 --- a/lib/Newsletter/Renderer/Columns/Renderer.php +++ b/lib/Newsletter/Renderer/Columns/Renderer.php @@ -1,6 +1,8 @@ getBackgroundCss($styles, $image); + $background_css = EHelper::escapeHtmlStyleAttr($this->getBackgroundCss($styles, $image)); $template['content_start'] = ' - + getBgColorAttribute($styles, $image) .'> @@ -65,7 +67,7 @@ class Renderer { private function getMultipleColumnsContainerStart($class, $styles, $image) { return ' -
+ getBgColorAttribute($styles, $image) .'> @@ -117,8 +119,18 @@ class Renderer { if (!isset($styles['backgroundColor'])) return false; $background_color = $styles['backgroundColor']; return ($background_color !== 'transparent') ? - sprintf('background-color:%s!important;" bgcolor="%s', $background_color, $background_color) : + sprintf('background-color:%s!important;', $background_color) : false; } } + + private function getBgColorAttribute($styles, $image) { + if (($image === null || $image['src'] === null) + && isset($styles['backgroundColor']) + && $styles['backgroundColor'] !== 'transparent' + ) { + return 'bgcolor="' . EHelper::escapeHtmlStyleAttr($styles['backgroundColor']) . '"'; + } + return null; + } } diff --git a/tests/integration/Newsletter/RendererTest.php b/tests/integration/Newsletter/RendererTest.php index a703ed895d..b1542e5bec 100644 --- a/tests/integration/Newsletter/RendererTest.php +++ b/tests/integration/Newsletter/RendererTest.php @@ -74,6 +74,7 @@ class RendererTest extends \MailPoetTest { $rendered_column_content[] = trim($column->text()); }; expect($rendered_column_content)->equals($column_content); + expect((string)$DOM)->contains(' bgcolor="#999999"'); } function testItRendersTwoColumns() { @@ -99,6 +100,7 @@ class RendererTest extends \MailPoetTest { $rendered_column_content[] = trim($column->text()); }; expect($rendered_column_content)->equals($column_content); + expect((string)$DOM)->contains(' bgcolor="#999999"'); } function testItRendersThreeColumns() { @@ -125,6 +127,7 @@ class RendererTest extends \MailPoetTest { $rendered_column_content[] = trim($column->text()); }; expect($rendered_column_content)->equals($column_content); + expect((string)$DOM)->contains(' bgcolor="#999999"'); } function testItRendersScaledColumnBackgroundImage() {