Files
piratepoet/lib/Newsletter/Editor/TitleListTransformer.php
Pavel Dohnal 5da7110eb6 Use short array syntax
[MAILPOET-2090]
2019-05-20 10:18:45 -04:00

45 lines
1.1 KiB
PHP

<?php
namespace MailPoet\Newsletter\Editor;
use MailPoet\WP\Functions as WPFunctions;
if (!defined('ABSPATH')) exit;
class TitleListTransformer {
private $args;
function __construct($args) {
$this->args = $args;
}
function transform($posts) {
$results = array_map(function($post) {
return $this->getPostTitle($post);
}, $posts);
return [
$this->wrap([
'type' => 'text',
'text' => '<ul>' . implode('', $results) . '</ul>',
])];
}
private function wrap($block) {
return LayoutHelper::row([
LayoutHelper::col([$block]),
]);
}
private function getPostTitle($post) {
$title = $post->post_title;
$alignment = $this->args['titleAlignment'];
$alignment = (in_array($alignment, ['left', 'right', 'center'])) ? $alignment : 'left';
if ($this->args['titleIsLink']) {
$title = '<a data-post-id="' . $post->ID . '" href="' . WPFunctions::get()->getPermalink($post->ID) . '">' . $title . '</a>';
}
return '<li style="text-align: ' . $alignment . ';">' . $title . '</li>';
}
}