- Refactored using @badshark's comments

- Integrated changes to JSON data
This commit is contained in:
MrCasual
2015-09-23 11:24:08 -04:00
parent 01b5416882
commit b3e376cd01
14 changed files with 1066 additions and 1197 deletions

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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'])) {

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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);
}
}

View File

@ -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];

View File

@ -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;
}

View File

@ -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) {

View File

@ -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