Remove BlocksRenderer and fix tests

[MAILPOET-5591]
This commit is contained in:
Jan Lysý
2023-10-27 08:57:03 +02:00
committed by Jan Lysý
parent 2b0d1ea5c1
commit 2ce6fd8688
7 changed files with 31 additions and 156 deletions

View File

@ -11,8 +11,8 @@ class Renderer {
/** @var \MailPoetVendor\CSS */
private $cssInliner;
/** @var BlocksRenderer */
private $blocksRenderer;
/** @var BlocksRegistry */
private $blocksRegistry;
/** @var PreprocessManager */
private $preprocessManager;
@ -29,12 +29,12 @@ class Renderer {
public function __construct(
\MailPoetVendor\CSS $cssInliner,
PreprocessManager $preprocessManager,
BlocksRenderer $blocksRenderer,
BlocksRegistry $blocksRegistry,
SettingsController $settingsController
) {
$this->cssInliner = $cssInliner;
$this->preprocessManager = $preprocessManager;
$this->blocksRenderer = $blocksRenderer;
$this->blocksRegistry = $blocksRegistry;
$this->settingsController = $settingsController;
}
@ -44,7 +44,7 @@ class Renderer {
$layoutStyles = $this->settingsController->getEmailLayoutStyles();
$parsedBlocks = $this->preprocessManager->preprocess($parsedBlocks, $layoutStyles);
$renderedBody = $this->blocksRenderer->render($parsedBlocks);
$renderedBody = $this->renderBlocks($parsedBlocks);
$styles = (string)file_get_contents(dirname(__FILE__) . '/' . self::TEMPLATE_STYLES_FILE);
$styles = apply_filters('mailpoet_email_renderer_styles', $styles, $post);
@ -87,6 +87,19 @@ class Renderer {
];
}
public function renderBlocks(array $parsedBlocks): string {
do_action('mailpoet_blocks_renderer_initialized', $this->blocksRegistry);
$content = '';
foreach ($parsedBlocks as $parsedBlock) {
$content .= render_block($parsedBlock);
}
do_action('mailpoet_blocks_renderer_uninitialized', $this->blocksRegistry);
return $content;
}
private function injectContentIntoTemplate($template, array $content) {
return preg_replace_callback('/{{\w+}}/', function($matches) use (&$content) {
return array_shift($content);