- Refactored using @badshark's comments
- Integrated changes to JSON data
This commit is contained in:
@ -3,7 +3,6 @@
|
||||
use MailPoet\Newsletter\Renderer\StylesHelper;
|
||||
|
||||
class Button {
|
||||
|
||||
static function render($element) {
|
||||
$stylesHelper = new StylesHelper();
|
||||
|
||||
@ -45,5 +44,4 @@ class Button {
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
<?php namespace MailPoet\Newsletter\Renderer\Blocks;
|
||||
|
||||
class Divider {
|
||||
|
||||
static function render($element) {
|
||||
$template = '
|
||||
<tr>
|
||||
@ -21,5 +20,4 @@ class Divider {
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
}
|
@ -3,7 +3,6 @@
|
||||
use MailPoet\Newsletter\Renderer\StylesHelper;
|
||||
|
||||
class Footer {
|
||||
|
||||
static function render($element) {
|
||||
$stylesHelper = new StylesHelper();
|
||||
|
||||
@ -28,5 +27,4 @@ class Footer {
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
}
|
@ -3,7 +3,6 @@
|
||||
use MailPoet\Newsletter\Renderer\StylesHelper;
|
||||
|
||||
class Header {
|
||||
|
||||
static function render($element) {
|
||||
$stylesHelper = new StylesHelper();
|
||||
|
||||
@ -28,5 +27,4 @@ class Header {
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
}
|
@ -3,7 +3,6 @@
|
||||
use MailPoet\Newsletter\Renderer\StylesHelper;
|
||||
|
||||
class Image {
|
||||
|
||||
static function render($element) {
|
||||
$stylesHelper = new StylesHelper();
|
||||
|
||||
@ -22,5 +21,4 @@ class Image {
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
}
|
@ -1,8 +1,7 @@
|
||||
<?php namespace MailPoet\Newsletter\Renderer\Blocks;
|
||||
|
||||
class Renderer {
|
||||
|
||||
function render($data, $column = null) {
|
||||
function render($data) {
|
||||
array_map(function ($block) use (&$blockContent, &$columns) {
|
||||
$blockContent .= $this->createElementFromBlockType($block);
|
||||
if(isset($block['blocks'])) {
|
||||
|
@ -1,7 +1,6 @@
|
||||
<?php namespace MailPoet\Newsletter\Renderer\Blocks;
|
||||
|
||||
class Social {
|
||||
|
||||
static function render($element) {
|
||||
$iconsBlock = '';
|
||||
|
||||
@ -24,5 +23,4 @@ class Social {
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
}
|
@ -3,7 +3,6 @@
|
||||
use MailPoet\Newsletter\Renderer\StylesHelper;
|
||||
|
||||
class Spacer {
|
||||
|
||||
static function render($element) {
|
||||
|
||||
$stylesHelper = new StylesHelper();
|
||||
@ -21,5 +20,4 @@ class Spacer {
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
<?php namespace MailPoet\Newsletter\Renderer\Blocks;
|
||||
|
||||
class Text {
|
||||
|
||||
static $typeFace = array(
|
||||
'Arial' => "Arial, 'Helvetica Neue', Helvetica, sans-serif",
|
||||
'Comic Sans MS' => "'Comic Sans MS', 'Marker Felt-Thin', Arial, sans-serif",
|
||||
@ -112,5 +111,4 @@ EOD;
|
||||
|
||||
return preg_replace($pattern, '', $html);
|
||||
}
|
||||
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
<?php namespace MailPoet\Newsletter\Renderer\Columns;
|
||||
|
||||
class Renderer {
|
||||
|
||||
public $columnWidths = array(
|
||||
1 => 600,
|
||||
2 => 300,
|
||||
@ -15,7 +14,6 @@ class Renderer {
|
||||
);
|
||||
|
||||
function render($columnsCount, $columnsData) {
|
||||
|
||||
$columnWidth = $this->columnWidths[$columnsCount];
|
||||
$columnClass = $this->columnClasses[$columnsCount];
|
||||
|
||||
|
@ -3,7 +3,6 @@ namespace MailPoet\Newsletter\Renderer;
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
class Renderer {
|
||||
|
||||
public $template = 'Template.html';
|
||||
|
||||
function __construct($newsletterData) {
|
||||
@ -17,8 +16,8 @@ class Renderer {
|
||||
}
|
||||
|
||||
function renderAll() {
|
||||
$newsletterContent = $this->renderContent($this->data['data']);
|
||||
$newsletterStyles = $this->renderStyles($this->data['styles']);
|
||||
$newsletterContent = $this->renderContent($this->data['content']);
|
||||
$newsletterStyles = $this->renderStyles($this->data['globalStyles']);
|
||||
|
||||
$renderedTemplate = $this->renderTemplate($this->template, array(
|
||||
$newsletterStyles,
|
||||
@ -30,12 +29,12 @@ class Renderer {
|
||||
}
|
||||
|
||||
function renderContent($content) {
|
||||
array_map(function ($contentBlock) use (&$newsletterContent) {
|
||||
$newsletterContent = array_map(function ($contentBlock) {
|
||||
$columnCount = count($contentBlock['blocks']);
|
||||
$columnData = $this->blocksRenderer->render($contentBlock);
|
||||
$newsletterContent .= $this->columnsRenderer->render($columnCount, $columnData);
|
||||
return $this->columnsRenderer->render($columnCount, $columnData);
|
||||
}, $content['blocks']);
|
||||
return $newsletterContent;
|
||||
return implode('', $newsletterContent);
|
||||
}
|
||||
|
||||
function renderStyles($styles) {
|
||||
@ -45,13 +44,13 @@ class Renderer {
|
||||
case 'text':
|
||||
$selector = 'span.paragraph, ul, ol';
|
||||
break;
|
||||
case 'background':
|
||||
case 'body':
|
||||
$selector = '.mailpoet_content-wrapper';
|
||||
break;
|
||||
case 'link':
|
||||
$selector = '.mailpoet_content-wrapper a';
|
||||
break;
|
||||
case 'newsletter':
|
||||
case 'wrapper':
|
||||
$selector = '.mailpoet_container, .mailpoet_col-one, .mailpoet_col-two, .mailpoet_col-three';
|
||||
break;
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
<?php namespace MailPoet\Newsletter\Renderer;
|
||||
|
||||
class StylesHelper {
|
||||
|
||||
public $cssAtributesTable = array(
|
||||
'backgroundColor' => 'background-color',
|
||||
'fontColor' => 'color',
|
||||
@ -16,22 +15,20 @@ class StylesHelper {
|
||||
'lineHeight' => 'line-height'
|
||||
);
|
||||
|
||||
function getBlockStyles($element, $ignore = false) {
|
||||
function getBlockStyles($element) {
|
||||
if(!isset($element['styles']['block'])) {
|
||||
return;
|
||||
}
|
||||
|
||||
return $this->getStyles($element['styles'], 'block', $ignore);
|
||||
return $this->getStyles($element['styles'], 'block');
|
||||
}
|
||||
|
||||
function getStyles($data, $type, $ignore = false) {
|
||||
array_map(function ($attribute, $style) use (&$styles, $ignore) {
|
||||
if(!$ignore || !in_array($attribute, $ignore)) {
|
||||
$styles .= $this->translateCSSAttribute($attribute) . ': ' . $style . ' !important;';
|
||||
}
|
||||
function getStyles($data, $type) {
|
||||
$styles = array_map(function ($attribute, $style) {
|
||||
return $this->translateCSSAttribute($attribute) . ': ' . $style . ' !important;';
|
||||
}, array_keys($data[$type]), $data[$type]);
|
||||
|
||||
return $styles;
|
||||
return implode('', $styles);
|
||||
}
|
||||
|
||||
function translateCSSAttribute($attribute) {
|
||||
|
@ -151,7 +151,7 @@
|
||||
.mailpoet_padded {
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
word-break: break-word;
|
||||
/*word-break: break-all;*/
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
@ -238,7 +238,7 @@
|
||||
}
|
||||
|
||||
.mailpoet_social img {
|
||||
height: 32x !important;
|
||||
height: 32px !important;
|
||||
width: 32px !important;
|
||||
padding-bottom: 20px !important;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user