- Refactors ColumnsHelper class

This commit is contained in:
Vlad
2016-01-08 11:35:30 -05:00
parent dbc0f9b238
commit 42ad7584d4
4 changed files with 27 additions and 11 deletions

View File

@ -18,7 +18,7 @@ class Image {
} }
static function getImageDimensions($element, $column_count) { static function getImageDimensions($element, $column_count) {
$column_width = ColumnsHelper::$columns_width[$column_count]; $column_width = ColumnsHelper::columnWidth($column_count);
$padded_width = StylesHelper::$padding_width * 2; $padded_width = StylesHelper::$padding_width * 2;
// resize image if it's wider than the column width // resize image if it's wider than the column width
if((int) $element['width'] >= $column_width) { if((int) $element['width'] >= $column_width) {

View File

@ -19,4 +19,20 @@ class ColumnsHelper {
2 => 'left', 2 => 'left',
3 => 'right' 3 => 'right'
); );
static function columnWidth($columns_count) {
return self::$columns_width[$columns_count];
}
static function columnClass($columns_count) {
return self::$columns_class[$columns_count];
}
static function columnClasses() {
return self::$columns_class;
}
static function columnAlignment($columns_count) {
return self::$columns_alignment[$columns_count];
}
} }

View File

@ -4,9 +4,9 @@ namespace MailPoet\Newsletter\Renderer\Columns;
class Renderer { class Renderer {
function render($column_styles, $columns_count, $columns_data) { function render($column_styles, $columns_count, $columns_data) {
$styles = $column_styles['block']; $styles = $column_styles['block'];
$width = ColumnsHelper::$columns_width[$columns_count]; $width = ColumnsHelper::columnWidth($columns_count);
$class = ColumnsHelper::$columns_class[$columns_count]; $class = ColumnsHelper::columnClass($columns_count);
$alignment = ColumnsHelper::$columns_alignment[$columns_count]; $alignment = ColumnsHelper::columnAlignment($columns_count);
$template = ($columns_count === 1) ? $template = ($columns_count === 1) ?
$this->getOneColumnTemplate($styles, $class) : $this->getOneColumnTemplate($styles, $class) :
$this->getMultipleColumnsTemplate($styles, $width, $alignment, $class); $this->getMultipleColumnsTemplate($styles, $width, $alignment, $class);
@ -19,7 +19,7 @@ class Renderer {
} }
return $result; return $result;
} }
function getOneColumnTemplate($styles, $class) { function getOneColumnTemplate($styles, $class) {
$template['content_start'] = ' $template['content_start'] = '
<tr> <tr>

View File

@ -197,14 +197,14 @@ class StylesHelper {
) )
); );
static $padding_width = 20; static $padding_width = 20;
static function getBlockStyles($element, $ignore_specific_styles = false) { static function getBlockStyles($element, $ignore_specific_styles = false) {
if(!isset($element['styles']['block'])) { if(!isset($element['styles']['block'])) {
return; return;
} }
return self::getStyles($element['styles'], 'block', $ignore_specific_styles); return self::getStyles($element['styles'], 'block', $ignore_specific_styles);
} }
static function getStyles($data, $type, $ignore_specific_styles = false) { static function getStyles($data, $type, $ignore_specific_styles = false) {
$styles = array_map(function ($attribute, $style) use ($ignore_specific_styles) { $styles = array_map(function ($attribute, $style) use ($ignore_specific_styles) {
if(!$ignore_specific_styles || !in_array($attribute, $ignore_specific_styles)) { if(!$ignore_specific_styles || !in_array($attribute, $ignore_specific_styles)) {
@ -213,7 +213,7 @@ class StylesHelper {
}, array_keys($data[$type]), $data[$type]); }, array_keys($data[$type]), $data[$type]);
return implode('', $styles); return implode('', $styles);
} }
static function translateCSSAttribute($attribute) { static function translateCSSAttribute($attribute) {
return (array_key_exists($attribute, self::$css_attributes)) ? return (array_key_exists($attribute, self::$css_attributes)) ?
self::$css_attributes[$attribute] : self::$css_attributes[$attribute] :
@ -232,10 +232,10 @@ class StylesHelper {
static function setFontAndLineHeight($font_size, $selector) { static function setFontAndLineHeight($font_size, $selector) {
$css = ''; $css = '';
foreach(ColumnsHelper::$columns_class as $columnCount => $columnClass) { foreach(ColumnsHelper::columnClasses() as $column_count => $column_class) {
$css .= '.mailpoet_content-' . $columnClass . ' ' . $selector . '{' . PHP_EOL; $css .= '.mailpoet_content-' . $column_class . ' ' . $selector . '{' . PHP_EOL;
$css .= 'font-size:' . $font_size . 'px;' . PHP_EOL; $css .= 'font-size:' . $font_size . 'px;' . PHP_EOL;
$css .= 'line-height:' . StylesHelper::$font_size[$font_size][$columnCount] . 'px;' . PHP_EOL; $css .= 'line-height:' . StylesHelper::$font_size[$font_size][$column_count] . 'px;' . PHP_EOL;
$css .= '}' . PHP_EOL; $css .= '}' . PHP_EOL;
} }
return $css; return $css;