OwlCyberSecurity - MANAGER
Edit File: EmailEditorContainer.php
<?php namespace MailPoet\EmailEditor; use Automattic\WooCommerce\Blocks\Registry\Container; use MailPoet\EmailEditor\Engine\Dependency_Check; use MailPoet\EmailEditor\Engine\Email_Api_Controller; use MailPoet\EmailEditor\Engine\Email_Editor; use MailPoet\EmailEditor\Engine\Patterns\Patterns; use MailPoet\EmailEditor\Engine\PersonalizationTags\Personalization_Tags_Registry; use MailPoet\EmailEditor\Engine\Personalizer; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Blocks_Registry; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Content_Renderer; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Postprocessors\Highlighting_Postprocessor; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Postprocessors\Variables_Postprocessor; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Blocks_Width_Preprocessor; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Cleanup_Preprocessor; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Spacing_Preprocessor; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Typography_Preprocessor; use MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Process_Manager; use MailPoet\EmailEditor\Engine\Renderer\Renderer; use MailPoet\EmailEditor\Engine\Send_Preview_Email; use MailPoet\EmailEditor\Engine\Settings_Controller; use MailPoet\EmailEditor\Engine\Templates\Templates; use MailPoet\EmailEditor\Engine\Templates\Templates_Registry; use MailPoet\EmailEditor\Engine\Theme_Controller; use MailPoet\EmailEditor\Engine\User_Theme; use MailPoet\EmailEditor\Integrations\Core\Initializer; defined( 'ABSPATH' ) || exit; /** * Main package class. */ class EmailEditorContainer { /** * Init method. */ public static function init() { self::container()->get( Bootstrap::class )->init(); } /** * Loads the DI container for the Email editor. * * @internal This uses the Blocks DI container. This container will be replaced * with a different compatible container. * * @param boolean $reset Used to reset the container to a fresh instance. Note: this means all dependencies will be reconstructed. * @return mixed */ public static function container( $reset = false ) { static $container; if ( $reset ) { $container = null; } if ( $container ) { return $container; } $container = new Container(); // Start: MailPoet plugin dependencies. $container->register( Initializer::class, function () { return new Initializer(); } ); // End: MailPoet plugin dependencies. // Start: Email editor dependencies. $container->register( Theme_Controller::class, function () { return new Theme_Controller(); } ); $container->register( User_Theme::class, function () { return new User_Theme(); } ); $container->register( Settings_Controller::class, function ( $container ) { return new Settings_Controller( $container->get( Theme_Controller::class ) ); } ); $container->register( Settings_Controller::class, function ( $container ) { return new Settings_Controller( $container->get( Theme_Controller::class ) ); } ); $container->register( Templates_Registry::class, function () { return new Templates_Registry(); } ); $container->register( Templates::class, function ( $container ) { return new Templates( $container->get( Templates_Registry::class ) ); } ); $container->register( Patterns::class, function () { return new Patterns(); } ); $container->register( Cleanup_Preprocessor::class, function () { return new Cleanup_Preprocessor(); } ); $container->register( Blocks_Width_Preprocessor::class, function () { return new Blocks_Width_Preprocessor(); } ); $container->register( Typography_Preprocessor::class, function ( $container ) { return new Typography_Preprocessor( $container->get( Settings_Controller::class ) ); } ); $container->register( Spacing_Preprocessor::class, function () { return new Spacing_Preprocessor(); } ); $container->register( Highlighting_Postprocessor::class, function () { return new Highlighting_Postprocessor(); } ); $container->register( Variables_Postprocessor::class, function ( $container ) { return new Variables_Postprocessor( $container->get( Theme_Controller::class ) ); } ); $container->register( Process_Manager::class, function ( $container ) { return new Process_Manager( $container->get( Cleanup_Preprocessor::class ), $container->get( Blocks_Width_Preprocessor::class ), $container->get( Typography_Preprocessor::class ), $container->get( Spacing_Preprocessor::class ), $container->get( Highlighting_Postprocessor::class ), $container->get( Variables_Postprocessor::class ), ); } ); $container->register( Blocks_Registry::class, function () { return new Blocks_Registry(); } ); $container->register( Content_Renderer::class, function ( $container ) { return new Content_Renderer( $container->get( Process_Manager::class ), $container->get( Blocks_Registry::class ), $container->get( Settings_Controller::class ), new EmailCssInliner(), $container->get( Theme_Controller::class ), ); } ); $container->register( Renderer::class, function ( $container ) { return new Renderer( $container->get( Content_Renderer::class ), $container->get( Templates::class ), new EmailCssInliner(), $container->get( Theme_Controller::class ), ); } ); $container->register( Personalization_Tags_Registry::class, function () { return new Personalization_Tags_Registry(); } ); $container->register( Personalizer::class, function ( $container ) { return new Personalizer( $container->get( Personalization_Tags_Registry::class ), ); } ); $container->register( Send_Preview_Email::class, function ( $container ) { return new Send_Preview_Email( $container->get( Renderer::class ), $container->get( Personalizer::class ), ); } ); $container->register( Email_Api_Controller::class, function ( $container ) { return new Email_Api_Controller( $container->get( Personalization_Tags_Registry::class ), ); } ); $container->register( Dependency_Check::class, function () { return new Dependency_Check(); } ); $container->register( Email_Editor::class, function ( $container ) { return new Email_Editor( $container->get( Email_Api_Controller::class ), $container->get( Templates::class ), $container->get( Patterns::class ), $container->get( Send_Preview_Email::class ), $container->get( Personalization_Tags_Registry::class ), ); } ); // End: Email editor dependencies. // Start: Woo dependencies. $container->register( Bootstrap::class, function ( $container ) { return new Bootstrap( $container->get(Email_Editor::class), $container->get(Initializer::class), ); } ); return $container; } }