PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.36.0
MailPoet – Newsletters, Email Marketing, and Automation v5.36.0
5.36.0 5.35.1 5.35.0 5.34.3 5.34.2 5.34.1 5.34.0 5.33.1 5.33.0 5.32.0 5.31.0 5.30.0 5.29.0 5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / vendor / woocommerce / email-editor / src / class-email-editor-container.php
mailpoet / vendor / woocommerce / email-editor / src Last commit date
Engine 2 days ago Integrations 2 days ago Validator 11 months ago class-bootstrap.php 3 months ago class-container.php 9 months ago class-email-css-inliner.php 9 months ago class-email-editor-container.php 5 months ago class-package.php 11 months ago exceptions.php 11 months ago index.php 11 months ago
class-email-editor-container.php
274 lines
1 <?php
2 declare( strict_types = 1 );
3 namespace Automattic\WooCommerce\EmailEditor;
4 if (!defined('ABSPATH')) exit;
5 use Automattic\WooCommerce\EmailEditor\Engine\Assets_Manager;
6 use Automattic\WooCommerce\EmailEditor\Engine\Dependency_Check;
7 use Automattic\WooCommerce\EmailEditor\Engine\Email_Api_Controller;
8 use Automattic\WooCommerce\EmailEditor\Engine\Email_Editor;
9 use Automattic\WooCommerce\EmailEditor\Engine\Patterns\Patterns;
10 use Automattic\WooCommerce\EmailEditor\Engine\PersonalizationTags\Personalization_Tags_Registry;
11 use Automattic\WooCommerce\EmailEditor\Engine\Personalizer;
12 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Content_Renderer;
13 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Postprocessors\Highlighting_Postprocessor;
14 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Postprocessors\Variables_Postprocessor;
15 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Blocks_Width_Preprocessor;
16 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Cleanup_Preprocessor;
17 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Spacing_Preprocessor;
18 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Typography_Preprocessor;
19 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Preprocessors\Quote_Preprocessor;
20 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Postprocessors\Border_Style_Postprocessor;
21 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer\Process_Manager;
22 use Automattic\WooCommerce\EmailEditor\Engine\Renderer\Renderer;
23 use Automattic\WooCommerce\EmailEditor\Engine\Send_Preview_Email;
24 use Automattic\WooCommerce\EmailEditor\Engine\Settings_Controller;
25 use Automattic\WooCommerce\EmailEditor\Engine\Templates\Templates;
26 use Automattic\WooCommerce\EmailEditor\Engine\Templates\Templates_Registry;
27 use Automattic\WooCommerce\EmailEditor\Engine\Theme_Controller;
28 use Automattic\WooCommerce\EmailEditor\Engine\User_Theme;
29 use Automattic\WooCommerce\EmailEditor\Engine\Logger\Email_Editor_Logger;
30 use Automattic\WooCommerce\EmailEditor\Engine\Site_Style_Sync_Controller;
31 use Automattic\WooCommerce\EmailEditor\Integrations\Core\Initializer as CoreInitializer;
32 use Automattic\WooCommerce\EmailEditor\Integrations\WooCommerce\Initializer as WooCommerceInitializer;
33 defined( 'ABSPATH' ) || exit;
34 class Email_Editor_Container {
35 public static function init() {
36 self::container()->get( Bootstrap::class )->init();
37 }
38 public static function container( $reset = false ) {
39 static $container;
40 if ( $reset ) {
41 $container = null;
42 }
43 if ( $container ) {
44 return $container;
45 }
46 $container = new Container();
47 $container->set(
48 CoreInitializer::class,
49 function () {
50 return new CoreInitializer();
51 }
52 );
53 $container->set(
54 WooCommerceInitializer::class,
55 function () {
56 return new WooCommerceInitializer();
57 }
58 );
59 // Start: Email editor dependencies.
60 $container->set(
61 Theme_Controller::class,
62 function () {
63 return new Theme_Controller();
64 }
65 );
66 $container->set(
67 User_Theme::class,
68 function () {
69 return new User_Theme();
70 }
71 );
72 $container->set(
73 Settings_Controller::class,
74 function ( $container ) {
75 return new Settings_Controller( $container->get( Theme_Controller::class ) );
76 }
77 );
78 $container->set(
79 Templates_Registry::class,
80 function () {
81 return new Templates_Registry();
82 }
83 );
84 $container->set(
85 Templates::class,
86 function ( $container ) {
87 return new Templates( $container->get( Templates_Registry::class ) );
88 }
89 );
90 $container->set(
91 Patterns::class,
92 function () {
93 return new Patterns();
94 }
95 );
96 $container->set(
97 Cleanup_Preprocessor::class,
98 function () {
99 return new Cleanup_Preprocessor();
100 }
101 );
102 $container->set(
103 Blocks_Width_Preprocessor::class,
104 function () {
105 return new Blocks_Width_Preprocessor();
106 }
107 );
108 $container->set(
109 Typography_Preprocessor::class,
110 function ( $container ) {
111 return new Typography_Preprocessor( $container->get( Settings_Controller::class ) );
112 }
113 );
114 $container->set(
115 Spacing_Preprocessor::class,
116 function () {
117 return new Spacing_Preprocessor();
118 }
119 );
120 $container->set(
121 Quote_Preprocessor::class,
122 function () {
123 return new Quote_Preprocessor();
124 }
125 );
126 $container->set(
127 Highlighting_Postprocessor::class,
128 function () {
129 return new Highlighting_Postprocessor();
130 }
131 );
132 $container->set(
133 Variables_Postprocessor::class,
134 function ( $container ) {
135 return new Variables_Postprocessor( $container->get( Theme_Controller::class ) );
136 }
137 );
138 $container->set(
139 Border_Style_Postprocessor::class,
140 function () {
141 return new Border_Style_Postprocessor();
142 }
143 );
144 $container->set(
145 Assets_Manager::class,
146 function ( $container ) {
147 return new Assets_Manager(
148 $container->get( Settings_Controller::class ),
149 $container->get( Theme_Controller::class ),
150 $container->get( User_Theme::class ),
151 $container->get( Email_Editor_Logger::class )
152 );
153 }
154 );
155 $container->set(
156 Process_Manager::class,
157 function ( $container ) {
158 return new Process_Manager(
159 $container->get( Cleanup_Preprocessor::class ),
160 $container->get( Blocks_Width_Preprocessor::class ),
161 $container->get( Typography_Preprocessor::class ),
162 $container->get( Spacing_Preprocessor::class ),
163 $container->get( Quote_Preprocessor::class ),
164 $container->get( Highlighting_Postprocessor::class ),
165 $container->get( Variables_Postprocessor::class ),
166 $container->get( Border_Style_Postprocessor::class )
167 );
168 }
169 );
170 $container->set(
171 Content_Renderer::class,
172 function ( $container ) {
173 return new Content_Renderer(
174 $container->get( Process_Manager::class ),
175 new Email_Css_Inliner(),
176 $container->get( Theme_Controller::class ),
177 $container->get( Email_Editor_Logger::class )
178 );
179 }
180 );
181 $container->set(
182 Renderer::class,
183 function ( $container ) {
184 return new Renderer(
185 $container->get( Content_Renderer::class ),
186 $container->get( Templates::class ),
187 new Email_Css_Inliner(),
188 $container->get( Theme_Controller::class ),
189 $container->get( Personalization_Tags_Registry::class ),
190 $container->get( Process_Manager::class ),
191 );
192 }
193 );
194 $container->set(
195 Personalization_Tags_Registry::class,
196 function ( $container ) {
197 return new Personalization_Tags_Registry(
198 $container->get( Email_Editor_Logger::class )
199 );
200 }
201 );
202 $container->set(
203 Personalizer::class,
204 function ( $container ) {
205 return new Personalizer(
206 $container->get( Personalization_Tags_Registry::class ),
207 );
208 }
209 );
210 $container->set(
211 Send_Preview_Email::class,
212 function ( $container ) {
213 return new Send_Preview_Email(
214 $container->get( Renderer::class ),
215 $container->get( Personalizer::class ),
216 );
217 }
218 );
219 $container->set(
220 Email_Api_Controller::class,
221 function ( $container ) {
222 return new Email_Api_Controller(
223 $container->get( Personalization_Tags_Registry::class ),
224 );
225 }
226 );
227 $container->set(
228 Dependency_Check::class,
229 function () {
230 return new Dependency_Check();
231 }
232 );
233 $container->set(
234 Email_Editor_Logger::class,
235 function () {
236 return new Email_Editor_Logger();
237 }
238 );
239 $container->set(
240 Site_Style_Sync_Controller::class,
241 function () {
242 return new Site_Style_Sync_Controller();
243 }
244 );
245 $container->set(
246 Email_Editor::class,
247 function ( $container ) {
248 return new Email_Editor(
249 $container->get( Email_Api_Controller::class ),
250 $container->get( Templates::class ),
251 $container->get( Patterns::class ),
252 $container->get( Send_Preview_Email::class ),
253 $container->get( Personalization_Tags_Registry::class ),
254 $container->get( Email_Editor_Logger::class ),
255 $container->get( Assets_Manager::class )
256 );
257 }
258 );
259 // End: Email editor dependencies.
260 // Start: Woo dependencies.
261 $container->set(
262 Bootstrap::class,
263 function ( $container ) {
264 return new Bootstrap(
265 $container->get( Email_Editor::class ),
266 $container->get( CoreInitializer::class ),
267 $container->get( WooCommerceInitializer::class ),
268 );
269 }
270 );
271 return $container;
272 }
273 }
274