Files
piratepoet/mailpoet/lib/EmailEditor/Engine/SettingsController.php
2023-10-26 10:43:00 +02:00

57 lines
1.4 KiB
PHP

<?php declare(strict_types = 1);
namespace MailPoet\EmailEditor\Engine;
class SettingsController {
const ALLOWED_BLOCK_TYPES = [
'core/paragraph',
'core/heading',
'core/column',
'core/columns',
'core/image',
];
const DEFAULT_SETTINGS = [
'enableCustomUnits' => ['px', '%'],
'__experimentalFeatures' => [
'color' => [
'custom' => true,
'text' => true,
'background' => true,
'customGradient' => false,
'defaultPalette' => true,
'palette' => [
'default' => [],
],
],
],
];
/** @var StylesController */
private $stylesController;
public function __construct(
StylesController $stylesController
) {
$this->stylesController = $stylesController;
}
public function getSettings(): array {
$coreDefaultSettings = get_default_block_editor_settings();
$coreThemeData = \WP_Theme_JSON_Resolver::get_core_data();
$coreSettings = $coreThemeData->get_settings();
// Enable custom spacing
$coreSettings['spacing']['units'] = ['px'];
$coreSettings['spacing']['padding'] = true;
$settings = array_merge($coreDefaultSettings, self::DEFAULT_SETTINGS);
$settings['allowedBlockTypes'] = self::ALLOWED_BLOCK_TYPES;
$settings['defaultEditorStyles'] = [[ 'css' => $this->stylesController->getEmailContentStyles() ]];
$settings['__experimentalFeatures'] = $coreSettings;
return $settings;
}
}