diff --git a/assets/img/mailpoet_logo_newsletter.png b/assets/img/mailpoet_logo_newsletter.png new file mode 100644 index 0000000000..a4ce35d262 Binary files /dev/null and b/assets/img/mailpoet_logo_newsletter.png differ diff --git a/lib/Newsletter/Renderer/Renderer.php b/lib/Newsletter/Renderer/Renderer.php index 096c87de18..56e9f18add 100644 --- a/lib/Newsletter/Renderer/Renderer.php +++ b/lib/Newsletter/Renderer/Renderer.php @@ -1,6 +1,8 @@ DOM_parser = new pQuery(); $this->CSS_inliner = new \MailPoet\Util\CSS(); $this->template = file_get_contents(dirname(__FILE__) . '/' . self::NEWSLETTER_TEMPLATE); + $this->premium_license = License::getLicense(); } function render($type = false) { @@ -38,6 +41,10 @@ class Renderer { ? $body['globalStyles'] : array(); + if(!$this->premium_license) { + $content = $this->addMailpoetLogoContentBlock($content, $styles); + } + $rendered_body = $this->renderBody($content); $rendered_styles = $this->renderStyles($styles); @@ -135,4 +142,44 @@ class Renderer { ); return $template; } + + function addMailpoetLogoContentBlock($content, $styles) { + if(empty($content['blocks'])) return $content; + $content['blocks'][] = array( + 'type' => 'container', + 'orientation' => 'horizontal', + 'styles' => array( + 'block' => array( + 'backgroundColor' => (!empty($styles['body']['backgroundColor'])) ? + $styles['body']['backgroundColor'] : + 'transparent' + ) + ), + 'blocks' => array( + array( + 'type' => 'container', + 'orientation' => 'vertical', + 'styles' => array( + ), + 'blocks' => array( + array( + 'type' => 'image', + 'link' => 'http://www.mailpoet.com', + 'src' => Env::$assets_url . '/img/mailpoet_logo_newsletter.png', + 'fullWidth' => false, + 'alt' => 'MailPoet', + 'width' => '108px', + 'height' => '65px', + 'styles' => array( + 'block' => array( + 'textAlign' => 'center' + ) + ) + ) + ) + ) + ) + ); + return $content; + } } \ No newline at end of file diff --git a/tests/unit/Newsletter/RendererTest.php b/tests/unit/Newsletter/RendererTest.php index 9692c12d15..b61dd1d55b 100644 --- a/tests/unit/Newsletter/RendererTest.php +++ b/tests/unit/Newsletter/RendererTest.php @@ -24,6 +24,7 @@ class NewsletterRendererTest extends MailPoetTest { 'status' => 'active' ); $this->renderer = new Renderer($this->newsletter); + $this->renderer->premium_license = true; $this->column_renderer = new ColumnRenderer(); $this->DOM_parser = new \pQuery(); } @@ -372,6 +373,17 @@ class NewsletterRendererTest extends MailPoetTest { expect($preheader)->equals($this->newsletter['preheader']); } + function testItDoesNotAddMailpoetLogoWhenPremiumIsActive() { + $template = $this->renderer->render(); + expect($template['html'])->notContains('mailpoet_logo_newsletter.png'); + } + + function testItAddsMailpoetLogoWhenPremiumIsNotActive() { + $this->renderer->premium_license = false; + $template = $this->renderer->render(); + expect($template['html'])->contains('mailpoet_logo_newsletter.png'); +} + function testItPostProcessesTemplate() { $template = $this->renderer->render(); // !important should be stripped from everywhere except from