MailPoet\EmailEditor
EmailEditorContainer{} │ WC 1.0
Main package class.
No Hooks.
Usage
$EmailEditorContainer = new EmailEditorContainer(); // use class methods
Methods
- public static container( $reset = false )
- public static init()
EmailEditorContainer{} EmailEditorContainer{} code WC 9.8.1
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; } }