PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 5.34.2
MailPoet – Newsletters, Email Marketing, and Automation v5.34.2
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 / lib / DI / ContainerConfigurator.php
mailpoet / lib / DI Last commit date
ContainerConfigurator.php 4 days ago ContainerFactory.php 3 years ago ContainerWrapper.php 1 year ago IContainerConfigurator.php 3 years ago index.php 3 years ago
ContainerConfigurator.php
844 lines
1 <?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing
2
3 namespace MailPoet\DI;
4
5 if (!defined('ABSPATH')) exit;
6
7
8 use MailPoet\Config\Env;
9 use MailPoet\Validator\Validator;
10 use MailPoetVendor\Psr\Container\ContainerInterface;
11 use MailPoetVendor\Symfony\Component\DependencyInjection\ContainerBuilder;
12 use MailPoetVendor\Symfony\Component\DependencyInjection\Reference;
13
14 class ContainerConfigurator implements IContainerConfigurator {
15 public function getDumpNamespace() {
16 return 'MailPoetGenerated';
17 }
18
19 public function getDumpClassname() {
20 return 'FreeCachedContainer';
21 }
22
23 public function configure(ContainerBuilder $container) {
24 // Premium plugin services factory
25 $container->register(IContainerConfigurator::PREMIUM_CONTAINER_SERVICE_SLUG)
26 ->setSynthetic(true)
27 ->setPublic(true);
28 // Container wrapper service
29 $container->register(ContainerWrapper::class)
30 ->setPublic(true)
31 ->setFactory([
32 ContainerWrapper::class,
33 'getInstance',
34 ]);
35 // AdminPages
36 $container->autowire(\MailPoet\AdminPages\AssetsController::class)->setPublic(true);
37 $container->autowire(\MailPoet\AdminPages\PageRenderer::class)->setPublic(true);
38 $container->autowire(\MailPoet\AdminPages\Pages\Automation::class)->setPublic(true);
39 $container->autowire(\MailPoet\AdminPages\Pages\AutomationTemplates::class)->setPublic(true);
40 $container->autowire(\MailPoet\AdminPages\Pages\AutomationEditor::class)->setPublic(true);
41 $container->autowire(\MailPoet\AdminPages\Pages\AutomationAnalytics::class)->setPublic(true);
42 $container->autowire(\MailPoet\AdminPages\Pages\AutomationPreviewEmbed::class)->setPublic(true);
43 $container->autowire(\MailPoet\AdminPages\Pages\AutomationFlowEmbed::class)->setPublic(true);
44 $container->autowire(\MailPoet\AdminPages\Pages\DynamicSegments::class)->setPublic(true);
45 $container->autowire(\MailPoet\AdminPages\Pages\ExperimentalFeatures::class)->setPublic(true);
46 $container->autowire(\MailPoet\AdminPages\Pages\FormEditor::class)->setPublic(true);
47 $container->autowire(\MailPoet\AdminPages\Pages\Forms::class)->setPublic(true);
48 $container->autowire(\MailPoet\AdminPages\Pages\Help::class)->setPublic(true);
49 $container->autowire(\MailPoet\AdminPages\Pages\Homepage::class)->setPublic(true);
50 $container->autowire(\MailPoet\AdminPages\Pages\Logs::class)->setPublic(true);
51 $container->autowire(\MailPoet\AdminPages\Pages\NewsletterEditor::class)->setPublic(true);
52 $container->autowire(\MailPoet\AdminPages\Pages\Newsletters::class)->setPublic(true);
53 $container->autowire(\MailPoet\AdminPages\Pages\Upgrade::class)->setPublic(true);
54 $container->autowire(\MailPoet\AdminPages\Pages\Settings::class)->setPublic(true);
55 $container->autowire(\MailPoet\AdminPages\Pages\StaticSegments::class)->setPublic(true);
56 $container->autowire(\MailPoet\AdminPages\Pages\Subscribers::class)->setPublic(true);
57 $container->autowire(\MailPoet\AdminPages\Pages\SubscribersExport::class)->setPublic(true);
58 $container->autowire(\MailPoet\AdminPages\Pages\SubscribersImport::class)->setPublic(true);
59 $container->autowire(\MailPoet\AdminPages\Pages\Tags::class)->setPublic(true);
60 $container->autowire(\MailPoet\AdminPages\Pages\CustomFields::class)->setPublic(true);
61 $container->autowire(\MailPoet\AdminPages\Pages\WelcomeWizard::class)->setPublic(true);
62 $container->autowire(\MailPoet\AdminPages\Pages\WooCommerceSetup::class)->setPublic(true);
63 $container->autowire(\MailPoet\AdminPages\Pages\Landingpage::class)->setPublic(true);
64 // Analytics
65 $container->autowire(\MailPoet\Analytics\Analytics::class)->setPublic(true);
66 $container->autowire(\MailPoet\Analytics\Reporter::class)->setPublic(true);
67 $container->autowire(\MailPoet\Analytics\ReporterCampaignData::class)->setPublic(true);
68 $container->autowire(\MailPoet\Analytics\UnsubscribeReporter::class)->setPublic(true);
69 // API
70 $container->autowire(\MailPoet\API\JSON\API::class)
71 ->addArgument(new Reference(ContainerWrapper::class))
72 ->setAutowired(true)
73 ->setPublic(true);
74 $container->autowire(\MailPoet\API\JSON\ErrorHandler::class)->setPublic(true);
75 $container->autowire(\MailPoet\API\MP\v1\CustomFields::class)->setPublic(true);
76 $container->autowire(\MailPoet\API\MP\v1\API::class)->setPublic(true);
77 $container->autowire(\MailPoet\API\MP\v1\Subscribers::class)->setPublic(true);
78 $container->autowire(\MailPoet\API\MP\v1\Segments::class)->setPublic(true);
79 $container->autowire(\MailPoet\API\MP\v1\Tags::class)->setPublic(true);
80 $container->autowire(\MailPoet\API\JSON\v1\Analytics::class)->setPublic(true);
81 $container->autowire(\MailPoet\API\JSON\v1\AutomatedLatestContent::class)->setPublic(true);
82 $container->autowire(\MailPoet\API\JSON\v1\AutomaticEmails::class)->setPublic(true);
83 $container->autowire(\MailPoet\API\JSON\v1\Coupons::class)->setPublic(true);
84 $container->autowire(\MailPoet\API\JSON\v1\CustomFields::class)->setPublic(true);
85 $container->autowire(\MailPoet\API\JSON\v1\DynamicSegments::class)->setPublic(true);
86 $container->autowire(\MailPoet\API\JSON\v1\DynamicProducts::class)->setPublic(true);
87 $container->autowire(\MailPoet\API\JSON\v1\FeatureFlags::class)->setPublic(true);
88 $container->autowire(\MailPoet\API\JSON\v1\Forms::class)->setPublic(true);
89 $container->autowire(\MailPoet\API\JSON\v1\Help::class)->setPublic(true);
90 $container->autowire(\MailPoet\API\JSON\v1\ImportExport::class)->setPublic(true);
91 $container->autowire(\MailPoet\API\JSON\v1\Mailer::class)->setPublic(true);
92 $container->autowire(\MailPoet\API\JSON\v1\Tags::class)->setPublic(true);
93 $container->autowire(\MailPoet\API\JSON\v1\Newsletters::class)->setPublic(true);
94 $container->autowire(\MailPoet\API\JSON\v1\NewsletterLinks::class)->setPublic(true);
95 $container->autowire(\MailPoet\API\JSON\v1\NewsletterTemplates::class)->setPublic(true);
96 $container->autowire(\MailPoet\API\JSON\v1\Premium::class)->setPublic(true);
97 $container->autowire(\MailPoet\API\JSON\v1\Segments::class)->setPublic(true);
98 $container->autowire(\MailPoet\API\JSON\v1\SendingQueue::class)->setPublic(true);
99 $container->autowire(\MailPoet\API\JSON\v1\Services::class)->setPublic(true);
100 $container->autowire(\MailPoet\API\JSON\v1\Settings::class)->setPublic(true);
101 $container->autowire(\MailPoet\API\JSON\v1\UserFlags::class)->setPublic(true);
102 $container->autowire(\MailPoet\API\JSON\v1\Setup::class)->setPublic(true);
103 $container->autowire(\MailPoet\API\JSON\v1\StatisticsExport::class)->setPublic(true);
104 $container->autowire(\MailPoet\API\JSON\v1\SubscriberStats::class)->setPublic(true);
105 $container->autowire(\MailPoet\API\JSON\v1\Subscribers::class)->setPublic(true);
106 $container->autowire(\MailPoet\API\JSON\v1\WoocommerceProductVariations::class)->setPublic(true);
107 $container->autowire(\MailPoet\API\JSON\v1\WoocommerceSettings::class)->setPublic(true);
108 $container->autowire(\MailPoet\API\JSON\v1\Captcha::class)->setPublic(true);
109 $container->autowire(\MailPoet\Util\APIPermissionHelper::class)->setPublic(true);
110 // API response builders
111 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\NewslettersResponseBuilder::class)->setPublic(true);
112 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\NewsletterTemplatesResponseBuilder::class);
113 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\CustomFieldsResponseBuilder::class);
114 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\SubscribersResponseBuilder::class)->setPublic(true);
115 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\FormsResponseBuilder::class)->setPublic(true);
116 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\SegmentsResponseBuilder::class)->setPublic(true);
117 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\DynamicSegmentsResponseBuilder::class)->setPublic(true);
118 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\ScheduledTaskSubscriberResponseBuilder::class)->setPublic(true);
119 $container->autowire(\MailPoet\API\JSON\ResponseBuilders\SendingQueuesResponseBuilder::class)->setPublic(true);
120 // REST API
121 $container->autowire(\MailPoet\API\REST\API::class)->setPublic(true);
122 $container->autowire(\MailPoet\API\REST\EndpointContainer::class)
123 ->setPublic(true)
124 ->setArgument('$container', new Reference(ContainerWrapper::class));
125 // Automatic emails
126 $container->autowire(\MailPoet\AutomaticEmails\AutomaticEmails::class)->setPublic(true);
127 $container->autowire(\MailPoet\AutomaticEmails\AutomaticEmailFactory::class)->setPublic(true);
128 $container->autowire(\MailPoet\AutomaticEmails\WooCommerce\WooCommerce::class)->setPublic(true);
129 $container->autowire(\MailPoet\AutomaticEmails\WooCommerce\WooCommerceEventFactory::class)->setPublic(true);
130 $container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\AbandonedCart::class)->setPublic(true);
131 $container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\FirstPurchase::class)->setPublic(true);
132 $container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\PurchasedInCategory::class)->setPublic(true);
133 $container->autowire(\MailPoet\AutomaticEmails\WooCommerce\Events\PurchasedProduct::class)->setPublic(true);
134 // Automation
135 $container->autowire(\MailPoet\Automation\Engine\API\API::class)->setPublic(true);
136 $container->autowire(\MailPoet\Automation\Engine\Builder\CreateAutomationFromTemplateController::class)->setPublic(true);
137 $container->autowire(\MailPoet\Automation\Engine\Builder\DeleteAutomationController::class)->setPublic(true);
138 $container->autowire(\MailPoet\Automation\Engine\Builder\DuplicateAutomationController::class)->setPublic(true);
139 $container->autowire(\MailPoet\Automation\Engine\Builder\UpdateStepsController::class)->setPublic(true);
140 $container->autowire(\MailPoet\Automation\Engine\Builder\UpdateAutomationController::class)->setPublic(true);
141 $container->autowire(\MailPoet\Automation\Engine\Control\ActionScheduler::class)->setPublic(true);
142 $container->autowire(\MailPoet\Automation\Engine\Control\AutomationController::class)->setPublic(true);
143 $container->autowire(\MailPoet\Automation\Engine\Control\RootStep::class)->setPublic(true);
144 $container->autowire(\MailPoet\Automation\Engine\Control\FilterHandler::class)->setPublic(true);
145 $container->autowire(\MailPoet\Automation\Engine\Control\StepHandler::class)->setPublic(true);
146 $container->autowire(\MailPoet\Automation\Engine\Control\StepRunControllerFactory::class)->setPublic(true);
147 $container->autowire(\MailPoet\Automation\Engine\Control\StepRunLoggerFactory::class)->setPublic(true);
148 $container->autowire(\MailPoet\Automation\Engine\Control\StepScheduler::class)->setPublic(true);
149 $container->autowire(\MailPoet\Automation\Engine\Control\SubjectTransformerHandler::class)->setPublic(true)->setShared(false);
150 $container->autowire(\MailPoet\Automation\Engine\Control\SubjectLoader::class)->setPublic(true);
151 $container->autowire(\MailPoet\Automation\Engine\Control\TriggerHandler::class)->setPublic(true);
152 $container->autowire(\MailPoet\Automation\Engine\Engine::class)->setPublic(true);
153 $container->autowire(\MailPoet\Automation\Engine\Hooks::class)->setPublic(true);
154 $container->autowire(\MailPoet\Automation\Engine\Mappers\AutomationMapper::class)->setPublic(true);
155 $container->autowire(\MailPoet\Automation\Engine\Registry::class)->setPublic(true);
156 $container->autowire(\MailPoet\Automation\Engine\Storage\AutomationRunStorage::class)->setPublic(true);
157 $container->autowire(\MailPoet\Automation\Engine\Storage\AutomationRunLogStorage::class)->setPublic(true);
158 $container->autowire(\MailPoet\Automation\Engine\Storage\AutomationStorage::class)->setPublic(true);
159 $container->autowire(\MailPoet\Automation\Engine\Storage\AutomationStatisticsStorage::class)->setPublic(true);
160 $container->autowire(\MailPoet\Automation\Engine\Templates\AutomationBuilder::class)->setPublic(true)->setShared(false);
161 $container->autowire(\MailPoet\Automation\Engine\Validation\AutomationGraph\AutomationWalker::class)->setPublic(true);
162 $container->autowire(\MailPoet\Automation\Engine\Validation\AutomationRules\UnknownStepRule::class)->setPublic(true);
163 $container->autowire(\MailPoet\Automation\Engine\Validation\AutomationRules\ValidStepArgsRule::class)->setPublic(true);
164 $container->autowire(\MailPoet\Automation\Engine\Validation\AutomationRules\ValidStepFiltersRule::class)->setPublic(true);
165 $container->autowire(\MailPoet\Automation\Engine\Validation\AutomationRules\ValidStepOrderRule::class)->setPublic(true);
166 $container->autowire(\MailPoet\Automation\Engine\Validation\AutomationRules\ValidStepValidationRule::class)->setPublic(true);
167 $container->autowire(\MailPoet\Automation\Engine\Validation\AutomationValidator::class)->setPublic(true);
168 $container->autowire(\MailPoet\Automation\Engine\WordPress::class)->setPublic(true);
169 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Actions\AutomationSendEmailSubjectResolver::class)->setPublic(true);
170 // Automation - API endpoints
171 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationsGetEndpoint::class)->setPublic(true);
172 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationVersionsGetEndpoint::class)->setPublic(true);
173 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationTemplateGetEndpoint::class)->setPublic(true);
174 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationTemplateEmailPreviewEndpoint::class)->setPublic(true);
175 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationTemplatesGetEndpoint::class)->setPublic(true);
176 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationsPutEndpoint::class)->setPublic(true);
177 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationsCreateFromTemplateEndpoint::class)->setPublic(true);
178 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationsDuplicateEndpoint::class)->setPublic(true);
179 $container->autowire(\MailPoet\Automation\Engine\Endpoints\Automations\AutomationsDeleteEndpoint::class)->setPublic(true);
180 // Automation - core integration
181 $container->autowire(\MailPoet\Automation\Integrations\Core\Actions\DelayAction::class)->setPublic(true);
182 $container->autowire(\MailPoet\Automation\Integrations\Core\Actions\IfElseAction::class)->setPublic(true);
183 $container->autowire(\MailPoet\Automation\Integrations\Core\CoreIntegration::class)->setPublic(true);
184 // Automation - WordPress integration
185 $container->autowire(\MailPoet\Automation\Integrations\WordPress\WordPressIntegration::class)->setPublic(true);
186 $container->autowire(\MailPoet\Automation\Integrations\WordPress\Fields\CommentFieldsFactory::class)->setPublic(true);
187 $container->autowire(\MailPoet\Automation\Integrations\WordPress\Fields\PostFieldsFactory::class)->setPublic(true);
188 $container->autowire(\MailPoet\Automation\Integrations\WordPress\Subjects\UserSubject::class)->setPublic(true);
189 $container->autowire(\MailPoet\Automation\Integrations\WordPress\Subjects\CommentSubject::class)->setPublic(true);
190 $container->autowire(\MailPoet\Automation\Integrations\WordPress\Subjects\PostSubject::class)->setPublic(true);
191 $container->autowire(\MailPoet\Automation\Integrations\WordPress\SubjectTransformers\CommentSubjectToPostSubjectTransformer::class)->setPublic(true);
192 $container->autowire(\MailPoet\Automation\Integrations\WordPress\ContextFactory::class)->setPublic(true);
193 // Automation - MailPoet integration
194 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\ContextFactory::class)->setPublic(true);
195 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\MailPoetIntegration::class)->setPublic(true);
196 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Fields\SubscriberFieldsFactory::class)->setPublic(true)->setShared(false);
197 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Fields\SubscriberAutomationFieldsFactory::class)->setPublic(true)->setShared(false);
198 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Fields\SubscriberCustomFieldsFactory::class)->setPublic(true)->setShared(false);
199 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Fields\SubscriberStatisticFieldsFactory::class)->setPublic(true)->setShared(false);
200 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Fields\NewsletterLinkFieldsFactory::class)->setPublic(true)->setShared(false);
201 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Subjects\SegmentSubject::class)->setPublic(true)->setShared(false);
202 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Subjects\SubscriberSubject::class)->setPublic(true)->setShared(false);
203 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Subjects\NewsletterLinkSubject::class)->setPublic(true)->setShared(false);
204 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Subjects\AbandonedCartSubject::class)->setPublic(true)->setShared(false);
205 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Triggers\SomeoneSubscribesTrigger::class)->setPublic(true)->setShared(false);
206 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Triggers\SomeoneUnsubscribesTrigger::class)->setPublic(true)->setShared(false);
207 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Triggers\UserRegistrationTrigger::class)->setPublic(true)->setShared(false);
208 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Actions\SendEmailAction::class)->setPublic(true);
209 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Actions\SendLatestNewsletterAction::class)->setPublic(true);
210 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Hooks\AutomationEditorLoadingHooks::class)->setPublic(true);
211 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Hooks\CreateAutomationRunHook::class)->setPublic(true);
212 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\SubjectTransformers\OrderSubjectToSubscriberSubjectTransformer::class)->setPublic(true)->setShared(false);
213 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\SubjectTransformers\OrderSubjectToSegmentSubjectTransformer::class)->setPublic(true)->setShared(false);
214 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\SubjectTransformers\SubscriberSubjectToWordPressUserSubjectTransformer::class)->setPublic(true)->setShared(false);
215 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\SubjectTransformers\CommentSubjectToSubscriberSubjectTransformer::class)->setPublic(true)->setShared(false);
216 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\SubjectTransformers\CustomerSubjectToSubscriberSubjectTransformer::class)->setPublic(true)->setShared(false);
217 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Templates\TemplatesFactory::class)->setPublic(true)->setShared(false);
218 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Templates\EmailFactory::class)->setPublic(true);
219 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Templates\TemplateEmailPreviewRenderer::class)->setPublic(true);
220
221 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\AbandonedCart\AbandonedCartTrigger::class)->setPublic(true);
222 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\AbandonedCart\AbandonedCartHandler::class)->setPublic(true);
223
224 // Automation - WooCommerce integration
225 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\WooCommerce::class)->setPublic(true);
226 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\ContextFactory::class)->setPublic(true);
227 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\WooCommerceIntegration::class)->setPublic(true);
228 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\SubjectTransformers\CustomerSubjectToWordPressUserSubjectTransformer::class)->setPublic(true)->setShared(false);
229 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\SubjectTransformers\OrderSubjectToWordPressUserSubjectTransformer::class)->setPublic(true)->setShared(false);
230 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Fields\CustomerFieldsFactory::class)->setPublic(true);
231 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Fields\CustomerOrderFieldsFactory::class)->setPublic(true);
232 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Fields\CustomerReviewFieldsFactory::class)->setPublic(true);
233 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Fields\CustomerSubscriptionFieldsFactory::class)->setPublic(true);
234 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Fields\OrderFieldsFactory::class)->setPublic(true);
235 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Fields\TermOptionsBuilder::class)->setPublic(true);
236 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Fields\TermParentsLoader::class)->setPublic(true);
237 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\Orders\OrderStatusChangedTrigger::class)->setPublic(true)->setShared(false);
238 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\Orders\OrderCreatedTrigger::class)->setPublic(true)->setShared(false);
239 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\Orders\OrderCompletedTrigger::class)->setPublic(true)->setShared(false);
240 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\Orders\OrderCancelledTrigger::class)->setPublic(true)->setShared(false);
241 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\Orders\OrderNoteAddedTrigger::class)->setPublic(true)->setShared(false);
242 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\BuysAProductTrigger::class)->setPublic(true)->setShared(false);
243 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\BuysFromACategoryTrigger::class)->setPublic(true)->setShared(false);
244 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Triggers\BuysFromATagTrigger::class)->setPublic(true)->setShared(false);
245 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Subjects\OrderSubject::class)->setPublic(true)->setShared(false);
246 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Subjects\OrderStatusChangeSubject::class)->setPublic(true)->setShared(false);
247 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\Subjects\CustomerSubject::class)->setPublic(true)->setShared(false);
248 $container->autowire(\MailPoet\Automation\Integrations\WooCommerce\SubjectTransformers\WordPressUserSubjectToWooCommerceCustomerSubjectTransformer::class)->setPublic(true)->setShared(false);
249
250 //Automation Analytics
251 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Analytics\Analytics::class)->setPublic(true);
252 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Analytics\Endpoints\AutomationFlowEndpoint::class)->setPublic(true);
253 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Analytics\Endpoints\UpdateRunStatusEndpoint::class)->setPublic(true);
254 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Analytics\Endpoints\OverviewEndpoint::class)->setPublic(true);
255 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Analytics\Controller\AutomationTimeSpanController::class)->setPublic(true);
256 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Analytics\Controller\StepStatisticController::class)->setPublic(true);
257 $container->autowire(\MailPoet\Automation\Integrations\MailPoet\Analytics\Controller\OverviewStatisticsController::class)->setPublic(true);
258
259 // Config
260 $container->autowire(\MailPoet\Config\AccessControl::class)->setPublic(true);
261 $container->autowire(\MailPoet\Config\Activator::class)->setPublic(true);
262 $container->autowire(\MailPoet\Config\AssetsLoader::class)->setPublic(true);
263 $container->autowire(\MailPoet\Config\Populator::class)->setPublic(true);
264 $container->autowire(\MailPoet\Config\Changelog::class)->setPublic(true);
265 $container->autowire(\MailPoet\Config\Hooks::class)->setPublic(true);
266 $container->autowire(\MailPoet\Config\HooksWooCommerce::class)->setPublic(true);
267 $container->autowire(\MailPoet\Config\Initializer::class)->setPublic(true);
268 $container->autowire(\MailPoet\Config\Localizer::class);
269 $container->autowire(\MailPoet\Config\Menu::class)->setPublic(true);
270 $container->autowire(\MailPoet\Config\RendererFactory::class)->setPublic(true);
271 $container->autowire(\MailPoet\Config\ServicesChecker::class)->setPublic(true);
272 $container->autowire(\MailPoet\Config\Router::class)->setPublic(true);
273 $container->autowire(\MailPoet\Config\SubscriberChangesNotifier::class);
274 $container->autowire(\MailPoet\Config\Shortcodes::class)
275 ->setShared(false) // Get a new instance each time $container->get() is called, needed for tests
276 ->setPublic(true);
277 $container->register(\MailPoet\Config\Renderer::class)
278 ->setPublic(true)
279 ->setFactory([new Reference(\MailPoet\Config\RendererFactory::class), 'getRenderer']);
280 $container->autowire(\MailPoet\Config\PersonalDataExporters::class)->setPublic(true);
281 // Doctrine
282 $container->autowire(\MailPoet\Doctrine\Annotations\AnnotationReaderProvider::class);
283 $container->autowire(\MailPoet\Doctrine\ConfigurationFactory::class);
284 $container->autowire(\MailPoet\Doctrine\ConnectionFactory::class)->setPublic(true);
285 $container->autowire(\MailPoet\Doctrine\EntityManagerFactory::class)->setPublic(true);
286 $container->autowire(\MailPoetVendor\Doctrine\ORM\Configuration::class)
287 ->setFactory([new Reference(\MailPoet\Doctrine\ConfigurationFactory::class), 'createConfiguration']);
288 $container->autowire(\MailPoetVendor\Doctrine\DBAL\Connection::class)
289 ->setFactory([new Reference(\MailPoet\Doctrine\ConnectionFactory::class), 'createConnection'])
290 ->setPublic(true);
291 $container->autowire(\MailPoetVendor\Doctrine\ORM\EntityManager::class)
292 ->setFactory([new Reference(\MailPoet\Doctrine\EntityManagerFactory::class), 'createEntityManager'])
293 ->setPublic(true);
294 $container->autowire(\MailPoet\Doctrine\EventListeners\EmojiEncodingListener::class)->setPublic(true);
295 $container->autowire(\MailPoet\Doctrine\EventListeners\LastSubscribedAtListener::class)->setPublic(true);
296 $container->autowire(\MailPoet\Doctrine\EventListeners\NewsletterListener::class)->setPublic(true);
297 $container->autowire(\MailPoet\Doctrine\EventListeners\TimestampListener::class)->setPublic(true);
298 $container->autowire(\MailPoet\Doctrine\EventListeners\ValidationListener::class);
299 $container->autowire(\MailPoet\Doctrine\EventListeners\SubscriberListener::class);
300 $container->autowire(\MailPoet\Doctrine\Validator\ValidatorFactory::class);
301 $container->autowire(\MailPoetVendor\Symfony\Component\Validator\Validator\ValidatorInterface::class)
302 ->setFactory([new Reference(\MailPoet\Doctrine\Validator\ValidatorFactory::class), 'createValidator']);
303 $container->autowire(\MailPoet\PostEditorBlocks\PostEditorBlock::class);
304 $container->autowire(\MailPoet\PostEditorBlocks\SubscriptionFormBlock::class);
305 $container->autowire(\MailPoet\PostEditorBlocks\NewsletterBlock::class)->setPublic(true);
306 $container->autowire(\MailPoet\PostEditorBlocks\ManageSubscriptionBlock::class)->setPublic(true);
307 $container->autowire(\MailPoet\PostEditorBlocks\WooCommerceBlocksIntegration::class);
308 // Subscribers import CLI
309 $container->autowire(\MailPoet\Subscribers\ImportExport\Import\Cli::class)->setPublic(true);
310 // Migrations
311 $container->autowire(\MailPoet\Migrator\Cli::class)->setPublic(true);
312 $container->autowire(\MailPoet\Migrator\Migrator::class)->setPublic(true);
313 $container->autowire(\MailPoet\Migrator\Repository::class)->setPublic(true);
314 $container->autowire(\MailPoet\Migrator\Runner::class)->setPublic(true);
315 $container->autowire(\MailPoet\Migrator\Store::class)->setPublic(true);
316 // Cron
317 $container->autowire(\MailPoet\Cron\CliCommands\ClaimedTaskRunner::class)->setPublic(true);
318 $container->autowire(\MailPoet\Cron\CliCommands\Cli::class)->setPublic(true);
319 $container->autowire(\MailPoet\Cron\CliCommands\CronCommand::class)->setPublic(true);
320 $container->autowire(\MailPoet\Cron\CliCommands\DaemonRunner::class)->setPublic(true);
321 $container->autowire(\MailPoet\Cron\CliCommands\ExecutionLimitOverride::class)->setPublic(true);
322 $container->autowire(\MailPoet\Cron\CliCommands\ScheduledTaskResolver::class)->setPublic(true);
323 $container->autowire(\MailPoet\Cron\CliCommands\ScheduledTasksLister::class)->setPublic(true);
324 $container->autowire(\MailPoet\Cron\CliCommands\TaskAdder::class)->setPublic(true);
325 $container->autowire(\MailPoet\Cron\CliCommands\TaskCanceller::class)->setPublic(true);
326 $container->autowire(\MailPoet\Cron\CliCommands\TaskRunner::class)->setPublic(true);
327 $container->autowire(\MailPoet\Cron\CliCommands\TaskTrigger::class)->setPublic(true);
328 $container->autowire(\MailPoet\Cron\CliCommands\WorkerTypesCatalog::class)->setPublic(true);
329 $container->autowire(\MailPoet\Cron\CronHelper::class)->setPublic(true);
330 $container->autowire(\MailPoet\Cron\CronTrigger::class)->setPublic(true);
331 $container->autowire(\MailPoet\Cron\CronWorkerRunner::class)->setPublic(true);
332 $container->autowire(\MailPoet\Cron\CronWorkerScheduler::class)->setPublic(true);
333 $container->autowire(\MailPoet\Cron\Daemon::class)->setPublic(true);
334 $container->autowire(\MailPoet\Cron\DaemonHttpRunner::class)->setPublic(true);
335 $container->autowire(\MailPoet\Cron\Supervisor::class)->setPublic(true);
336 $container->autowire(\MailPoet\Cron\Triggers\WordPress::class)->setPublic(true);
337 $container->autowire(\MailPoet\Cron\Workers\WorkersFactory::class)->setPublic(true);
338 $container->autowire(\MailPoet\Cron\DaemonActionSchedulerRunner::class)->setPublic(true);
339 $container->autowire(\MailPoet\Cron\ActionScheduler\ActionScheduler::class)->setPublic(true);
340 $container->autowire(\MailPoet\Cron\ActionScheduler\RemoteExecutorHandler::class)->setPublic(true);
341 $container->autowire(\MailPoet\Cron\ActionScheduler\Actions\DaemonRun::class)->setPublic(true);
342 $container->autowire(\MailPoet\Cron\ActionScheduler\Actions\DaemonTrigger::class)->setPublic(true);
343 $container->autowire(\MailPoet\Cron\Workers\SendingQueue\SendingErrorHandler::class)->setPublic(true);
344 $container->autowire(\MailPoet\Cron\Workers\SendingQueue\SendingThrottlingHandler::class)->setPublic(true);
345 $container->autowire(\MailPoet\Cron\Workers\BulkConfirmationEmailResend::class)->setPublic(true);
346 $container->autowire(\MailPoet\Cron\Workers\StatsNotifications\Scheduler::class);
347 $container->autowire(\MailPoet\Cron\Workers\StatsNotifications\StatsNotificationsRepository::class)->setPublic(true);
348 $container->autowire(\MailPoet\Cron\Workers\StatsNotifications\NewsletterLinkRepository::class)->setPublic(true);
349 $container->autowire(\MailPoet\Cron\Workers\SendingQueue\Tasks\Mailer::class)->setPublic(true);
350 // Cron workers
351 $container->autowire(\MailPoet\Cron\Workers\Scheduler::class)->setPublic(true);
352 $container->autowire(\MailPoet\Cron\Workers\SendingQueue\SendingQueue::class)->setPublic(true);
353 $container->autowire(\MailPoet\Cron\Workers\SendingQueue\Tasks\Links::class)->setPublic(true);
354 $container->autowire(\MailPoet\Cron\Workers\StatsNotifications\Worker::class)->setPublic(true);
355 $container->autowire(\MailPoet\Cron\Workers\StatsNotifications\AutomatedEmails::class)->setPublic(true);
356 $container->autowire(\MailPoet\Cron\Workers\KeyCheck\SendingServiceKeyCheck::class)->setPublic(true);
357 $container->autowire(\MailPoet\Cron\Workers\KeyCheck\PremiumKeyCheck::class)->setPublic(true);
358 $container->autowire(\MailPoet\Cron\Workers\Bounce::class)->setPublic(true);
359 $container->autowire(\MailPoet\Cron\Workers\WooCommerceSync::class)->setPublic(true);
360 $container->autowire(\MailPoet\Cron\Workers\ExportFilesCleanup::class)->setPublic(true);
361 $container->autowire(\MailPoet\Cron\Workers\LogCleanup::class)->setPublic(true);
362 $container->autowire(\MailPoet\Cron\Workers\SendingTaskSubscribersCleanup::class)->setPublic(true);
363 $container->autowire(\MailPoet\Cron\Workers\BounceTaskSubscribersCleanup::class)->setPublic(true);
364 $container->autowire(\MailPoet\Cron\Workers\SendingQueueBodyCleanup::class)->setPublic(true);
365 $container->autowire(\MailPoet\Cron\Workers\InactiveSubscribersMaintenance::class)->setPublic(true);
366 $container->autowire(\MailPoet\Cron\Workers\UnconfirmedSubscribersCleanup::class)->setPublic(true);
367 $container->autowire(\MailPoet\Cron\Workers\Mixpanel::class)->setPublic(true);
368 $container->autowire(\MailPoet\Cron\Workers\Tracks::class)->setPublic(true);
369 $container->autowire(\MailPoet\Cron\Workers\StatisticsExport::class)->setPublic(true);
370 $container->autowire(\MailPoet\Cron\Workers\UnsubscribeTokens::class)->setPublic(true);
371 $container->autowire(\MailPoet\Cron\Workers\SubscriberLinkTokens::class)->setPublic(true);
372 $container->autowire(\MailPoet\Cron\Workers\AuthorizedSendingEmailsCheck::class)->setPublic(true);
373 $container->autowire(\MailPoet\Cron\Workers\BackfillEngagementData::class)->setPublic(true);
374 $container->autowire(\MailPoet\Cron\Workers\SubscribersSegmentsCountSync::class)->setPublic(true);
375 $container->autowire(\MailPoet\Cron\Workers\WooCommercePastOrders::class)->setPublic(true);
376 $container->autowire(\MailPoet\Cron\Workers\ReEngagementEmailsScheduler::class)->setPublic(true);
377 $container->autowire(\MailPoet\Cron\Workers\SubscribersEngagementScore::class)->setPublic(true);
378 $container->autowire(\MailPoet\Cron\Workers\SubscribersLastEngagement::class)->setPublic(true);
379 $container->autowire(\MailPoet\Cron\Workers\SubscribersCountCacheRecalculation::class)->setPublic(true);
380 $container->autowire(\MailPoet\Cron\Workers\SubscribersStatsReport::class)->setPublic(true);
381 $container->autowire(\MailPoet\Cron\Workers\NewsletterTemplateThumbnails::class)->setPublic(true);
382 $container->autowire(\MailPoet\Cron\Workers\Automations\AbandonedCartWorker::class)->setPublic(true);
383 $container->autowire(\MailPoet\Cron\Workers\SubscriberLimitNotificationWorker::class)->setPublic(true);
384 // Custom field
385 $container->autowire(\MailPoet\CustomFields\ApiDataSanitizer::class);
386 $container->autowire(\MailPoet\CustomFields\CustomFieldsRepository::class)->setPublic(true);
387 // Email Editor
388 $container->register(\Automattic\WooCommerce\EmailEditor\Engine\Renderer\Css_Inliner::class)
389 ->setPublic(true)
390 ->setFactory([\MailPoet\EmailEditor\Integrations\MailPoet\MailpoetCssInlinerFactory::class, 'create']);
391
392 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Cli::class)->setPublic(true);
393 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\EmailEditor::class)->setPublic(true);
394 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Endpoints\GenerateSubjectSuggestionsEndpoint::class)->setPublic(true);
395 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\EditorPageRenderer::class)->setPublic(true);
396 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\MailPoetCssInliner::class)->setPublic(true);
397 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\EmailApiController::class)->setPublic(true);
398 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\EmailEditorPreviewEmail::class)->setPublic(true);
399 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\BlockEmailContentDetector::class)->setPublic(true);
400 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\DependencyNotice::class)->setPublic(true);
401 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Blocks\BlockTypesController::class)->setPublic(true);
402 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\AutomationEmailContextProvider::class)->setPublic(true);
403 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\AutomationEmailPreviewOrderProvider::class)->setPublic(true);
404 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Blocks\BlockTypes\PoweredByMailpoet::class)->setPublic(true);
405 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Coupons\CouponBlockDetector::class)->setPublic(true);
406 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Coupons\CouponBlockFailureTranslator::class)->setPublic(true);
407 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Coupons\CouponBlockGenerationFailureCollector::class)->setPublic(true);
408 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Coupons\CouponBlockGenerator::class)->setPublic(true);
409 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Coupons\CouponBlockValidator::class)->setPublic(true);
410 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Coupons\EmailContextBuilder::class)->setPublic(true);
411 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Patterns\PatternsController::class)->setPublic(true);
412 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\ProductCollection\OrderProductCollectionProcessor::class)->setPublic(true);
413 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\ProductCollection\ProductCollectionEmailRendererRegistrar::class)->setPublic(true);
414 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\PersonalizationTags\Date::class)->setPublic(true);
415 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\PersonalizationTags\Link::class)->setPublic(true);
416 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\PersonalizationTags\LinksToShortcodesConvertor::class)->setPublic(true);
417 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\PersonalizationTags\Newsletter::class)->setPublic(true);
418 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\PersonalizationTags\OrderReviewUrl::class)->setPublic(true);
419 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\PersonalizationTags\Site::class)->setPublic(true);
420 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\PersonalizationTags\Subscriber::class)->setPublic(true);
421 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\PersonalizationTagManager::class)->setPublic(true);
422 $container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Templates\TemplatesController::class)->setPublic(true);
423 // Features
424 $container->autowire(\MailPoet\Features\FeaturesController::class)->setPublic(true);
425 $container->autowire(\MailPoet\Features\FeatureFlagsController::class)->setPublic(true);
426 $container->autowire(\MailPoet\Features\FeatureFlagsRepository::class)->setPublic(true);
427 // Form
428 $container->autowire(\MailPoet\Form\Util\FieldNameObfuscator::class)->setPublic(true);
429 $container->autowire(\MailPoet\Form\ApiDataSanitizer::class)->setPublic(true);
430 $container->autowire(\MailPoet\Form\AssetsController::class)->setPublic(true);
431 $container->autowire(\MailPoet\Form\DisplayFormInWPContent::class);
432 $container->autowire(\MailPoet\Form\FormsRepository::class)->setPublic(true);
433 $container->autowire(\MailPoet\Form\Renderer::class)->setPublic(true);
434 $container->autowire(\MailPoet\Form\BlocksRenderer::class);
435 $container->autowire(\MailPoet\Form\BlockStylesRenderer::class);
436 $container->autowire(\MailPoet\Form\BlockWrapperRenderer::class);
437 $container->autowire(\MailPoet\Form\Block\BlockRendererHelper::class)->setPublic(true);
438 $container->autowire(\MailPoet\Form\Block\Column::class);
439 $container->autowire(\MailPoet\Form\Block\Columns::class);
440 $container->autowire(\MailPoet\Form\Block\Checkbox::class);
441 $container->autowire(\MailPoet\Form\Block\Date::class)->setPublic(true);
442 $container->autowire(\MailPoet\Form\Block\Divider::class);
443 $container->autowire(\MailPoet\Form\Block\Html::class);
444 $container->autowire(\MailPoet\Form\Block\Heading::class);
445 $container->autowire(\MailPoet\Form\Block\Image::class);
446 $container->autowire(\MailPoet\Form\Block\Paragraph::class);
447 $container->autowire(\MailPoet\Form\Block\Radio::class);
448 $container->autowire(\MailPoet\Form\Block\Segment::class);
449 $container->autowire(\MailPoet\Form\Block\Select::class);
450 $container->autowire(\MailPoet\Form\Block\Close::class);
451 $container->autowire(\MailPoet\Form\Block\Submit::class);
452 $container->autowire(\MailPoet\Form\Block\Text::class);
453 $container->autowire(\MailPoet\Form\Block\Textarea::class);
454 $container->autowire(\MailPoet\Form\FormHtmlSanitizer::class)->setPublic(true);
455 $container->autowire(\MailPoet\Form\FormMessageController::class)->setPublic(true);
456 $container->autowire(\MailPoet\Form\FormSaveController::class)->setPublic(true);
457 $container->autowire(\MailPoet\Form\Listing\FormListingRepository::class)->setPublic(true);
458 $container->autowire(\MailPoet\Form\PreviewPage::class);
459 $container->autowire(\MailPoet\Form\Templates\TemplateRepository::class);
460 $container->autowire(\MailPoet\Form\Util\Styles::class);
461 $container->autowire(\MailPoet\Form\Util\CustomFonts::class)->setPublic(true);
462 $container->autowire(\MailPoet\SystemReport\SystemReportCollector::class)->setPublic(true);
463 // Homepage
464 $container->autowire(\MailPoet\Homepage\HomepageDataController::class)->setPublic(true);
465 // Listing
466 $container->autowire(\MailPoet\Listing\Handler::class)->setPublic(true);
467 $container->autowire(\MailPoet\Listing\PageLimit::class)->setPublic(true);
468 // Logging
469 $container->autowire(\MailPoet\Logging\LoggerFactory::class)->setPublic(true);
470 $container->autowire(\MailPoet\Logging\LogRepository::class)->setPublic(true);
471 $container->autowire(\MailPoet\Logging\LogListingRepository::class)->setPublic(true);
472 // Notices
473 $container->autowire(\MailPoet\Util\Notices\PermanentNotices::class);
474 $container->autowire(\MailPoet\Util\Notices\PendingApprovalNotice::class)->setPublic(true);
475 $container->autowire(\MailPoet\Util\Notices\SenderDomainAuthenticationNotices::class)->setPublic(true);
476 //Referrals
477 $container->autowire(\MailPoet\Referrals\ReferralDetector::class);
478 // Router
479 $container->autowire(\MailPoet\Router\Endpoints\CronDaemon::class)->setPublic(true);
480 $container->autowire(\MailPoet\Router\Endpoints\FormPreview::class)->setPublic(true);
481 $container->autowire(\MailPoet\Router\Endpoints\Subscription::class)->setPublic(true);
482 $container->autowire(\MailPoet\Router\Endpoints\ViewInBrowser::class)->setPublic(true);
483 $container->autowire(\MailPoet\Router\Endpoints\ExportDownload::class)->setPublic(true);
484 $container->autowire(\MailPoet\Router\Endpoints\TemplateImage::class)->setPublic(true);
485 $container->autowire(\MailPoet\Router\Endpoints\Track::class)->setPublic(true);
486 $container->autowire(\MailPoet\Router\Endpoints\Captcha::class)->setPublic(true);
487 // Statistics
488 $container->autowire(\MailPoet\Statistics\Track\Clicks::class)->setPublic(true);
489 $container->autowire(\MailPoet\Statistics\Track\Opens::class)->setPublic(true);
490 $container->autowire(\MailPoet\Statistics\Track\PageViewCookie::class)->setPublic(true);
491 $container->autowire(\MailPoet\Statistics\Track\SubscriberActivityTracker::class)->setPublic(true);
492 $container->autowire(\MailPoet\Statistics\Track\SubscriberCookie::class)->setPublic(true);
493 $container->autowire(\MailPoet\Statistics\Track\SubscriberHandler::class)->setPublic(true);
494 $container->autowire(\MailPoet\Statistics\Track\WooCommercePurchases::class);
495 $container->autowire(\MailPoet\Statistics\Track\Unsubscribes::class)->setPublic(true);
496 $container->autowire(\MailPoet\Statistics\UnsubscribeReasonTracker::class)->setPublic(true);
497 $container->autowire(\MailPoet\Statistics\StatisticsFormsRepository::class)->setPublic(true);
498 $container->autowire(\MailPoet\Statistics\StatisticsBouncesRepository::class)->setPublic(true);
499 $container->autowire(\MailPoet\Statistics\StatisticsClicksRepository::class)->setPublic(true);
500 $container->autowire(\MailPoet\Statistics\StatisticsNewslettersRepository::class)->setPublic(true);
501 $container->autowire(\MailPoet\Statistics\StatisticsOpensRepository::class)->setPublic(true);
502 $container->autowire(\MailPoet\Statistics\StatisticsUnsubscribesRepository::class)->setPublic(true);
503 $container->autowire(\MailPoet\Statistics\StatisticsWooCommercePurchasesRepository::class)->setPublic(true);
504 $container->autowire(\MailPoet\Statistics\UserAgentsRepository::class)->setPublic(true);
505 $container->autowire(\MailPoet\Router\Router::class)
506 ->setArgument('$container', new Reference(ContainerWrapper::class));
507 // Mailer
508 $container->autowire(\MailPoet\Mailer\MailerFactory::class)->setPublic(true);
509 $container->autowire(\MailPoet\Mailer\WordPress\WordpressMailerReplacer::class);
510 $container->autowire(\MailPoet\Mailer\Methods\Common\BlacklistCheck::class);
511 $container->autowire(\MailPoet\Mailer\MetaInfo::class);
512 $container->autowire(\MailPoet\Mailer\Methods\ErrorMappers\MailPoetMapper::class)->setPublic(true);
513 // Subscribers
514 $container->autowire(\MailPoet\Subscribers\NewSubscriberNotificationMailer::class)->setPublic(true);
515 $container->autowire(\MailPoet\Subscribers\SubscriberLimitNotificationEvaluator::class)->setPublic(true);
516 $container->autowire(\MailPoet\Subscribers\SubscriberLimitNotificationMailer::class)->setPublic(true);
517 $container->autowire(\MailPoet\Subscribers\SubscriberLimitNotificationScheduler::class)->setPublic(true);
518 $container->autowire(\MailPoet\Subscribers\ConfirmationEmailMailer::class)->setPublic(true);
519 $container->autowire(\MailPoet\Subscribers\BulkActionController::class)->setPublic(true);
520 $container->autowire(\MailPoet\Subscribers\BulkConfirmationEmailResender::class)->setPublic(true);
521 $container->autowire(\MailPoet\Subscribers\RequiredCustomFieldValidator::class)->setPublic(true);
522 $container->autowire(\MailPoet\Subscribers\SubscriberActions::class)->setPublic(true);
523 $container->autowire(\MailPoet\Subscribers\SubscribersEmailCountsController::class);
524 $container->autowire(\MailPoet\Subscribers\EngagementDataBackfiller::class)->setPublic(true);
525 $container->autowire(\MailPoet\Subscribers\InactiveSubscribersController::class);
526 $container->autowire(\MailPoet\Subscribers\LinkTokens::class)->setPublic(true);
527 $container->autowire(\MailPoet\Subscribers\SubscribersRepository::class)->setPublic(true);
528 $container->autowire(\MailPoet\Subscribers\SubscriberIPsRepository::class)->setPublic(true);
529 $container->autowire(\MailPoet\Subscribers\SubscriberListingRepository::class)->setPublic(true);
530 $container->autowire(\MailPoet\Subscribers\SubscriberSegmentRepository::class)->setPublic(true);
531 $container->autowire(\MailPoet\Subscribers\SegmentsCountRecalculator::class)->setPublic(true);
532 $container->autowire(\MailPoet\Subscribers\SubscriberTagRepository::class)->setPublic(true);
533 $container->autowire(\MailPoet\Subscribers\SubscriberCustomFieldRepository::class)->setPublic(true);
534 $container->autowire(\MailPoet\Subscribers\SubscriberPersonalDataEraser::class)->setPublic(true);
535 $container->autowire(\MailPoet\Subscribers\SubscriberSaveController::class)->setPublic(true);
536 $container->autowire(\MailPoet\Subscribers\SubscriberSubscribeController::class)->setPublic(true);
537 $container->autowire(\MailPoet\Subscribers\ImportExport\ImportExportRepository::class)->setPublic(true);
538 $container->autowire(\MailPoet\Subscribers\ImportExport\PersonalDataExporters\SubscriberExporter::class)->setPublic(true);
539 $container->autowire(\MailPoet\Subscribers\ImportExport\PersonalDataExporters\NewslettersExporter::class)->setPublic(true);
540 $container->autowire(\MailPoet\Subscribers\ImportExport\PersonalDataExporters\NewsletterOpensExporter::class)->setPublic(true);
541 $container->autowire(\MailPoet\Subscribers\ImportExport\PersonalDataExporters\NewsletterClicksExporter::class)->setPublic(true);
542 $container->autowire(\MailPoet\Subscribers\Statistics\SubscriberStatisticsRepository::class)->setPublic(true);
543 $container->autowire(\MailPoet\Subscribers\SubscribersCountsController::class)->setPublic(true);
544 $container->autowire(\MailPoet\Subscribers\ConfirmationEmailCustomizer::class)->setPublic(true);
545 $container->autowire(\MailPoet\Subscribers\ConfirmationEmailResolver::class)->setPublic(true);
546 $container->autowire(\MailPoet\Subscribers\TrackingConsentController::class)->setPublic(true);
547 // Segments
548 $container->autowire(\MailPoet\Segments\WooCommerce::class)->setPublic(true);
549 $container->autowire(\MailPoet\Segments\WP::class)->setPublic(true);
550 $container->autowire(\MailPoet\Segments\SubscribersFinder::class)->setPublic(true);
551 $container->autowire(\MailPoet\Segments\SegmentsFinder::class)->setPublic(true);
552 $container->autowire(\MailPoet\Segments\SegmentsRepository::class)->setPublic(true);
553 $container->autowire(\MailPoet\Segments\SegmentSubscribersRepository::class)->setPublic(true);
554 $container->autowire(\MailPoet\Segments\SegmentListingRepository::class)->setPublic(true);
555 $container->autowire(\MailPoet\Segments\SegmentsSimpleListRepository::class)->setPublic(true);
556 $container->autowire(\MailPoet\Segments\SegmentSaveController::class)->setPublic(true);
557 $container->autowire(\MailPoet\Segments\SegmentDependencyValidator::class)->setPublic(true);
558 $container->autowire(\MailPoet\Segments\DynamicSegments\DynamicSegmentsListingRepository::class)->setPublic(true);
559 $container->autowire(\MailPoet\Segments\DynamicSegments\FilterFactory::class)->setPublic(true);
560 $container->autowire(\MailPoet\Segments\DynamicSegments\FilterHandler::class)->setPublic(true);
561 $container->autowire(\MailPoet\Segments\DynamicSegments\DynamicSegmentFilterRepository::class)->setPublic(true);
562 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\AutomationsEvents::class)->setPublic(true);
563 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\DateFilterHelper::class)->setPublic(true);
564 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\EmailAction::class)->setPublic(true);
565 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\EmailActionClickAny::class)->setPublic(true);
566 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\EmailOpensAbsoluteCountAction::class)->setPublic(true);
567 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\EmailsReceived::class)->setPublic(true);
568 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\FilterHelper::class)->setPublic(true);
569 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\MailPoetCustomFields::class)->setPublic(true);
570 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\NumberOfClicks::class)->setPublic(true);
571 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberDateField::class)->setPublic(true);
572 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberScore::class)->setPublic(true);
573 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberSubscribedViaForm::class)->setPublic(true);
574 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberSegment::class)->setPublic(true);
575 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberTag::class)->setPublic(true);
576 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberTextField::class)->setPublic(true);
577 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\UserRole::class)->setPublic(true);
578 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceAverageSpent::class)->setPublic(true);
579 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceCategory::class)->setPublic(true);
580 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceCountry::class)->setPublic(true);
581 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceCustomerTextField::class)->setPublic(true);
582 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceFirstOrder::class)->setPublic(true);
583 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceMembership::class)->setPublic(true);
584 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceNumberOfOrders::class)->setPublic(true);
585 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceNumberOfReviews::class)->setPublic(true);
586 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceProduct::class)->setPublic(true);
587 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceProductVariation::class)->setPublic(true);
588 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommercePurchaseDate::class)->setPublic(true);
589 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommercePurchasedWithAttribute::class)->setPublic(true);
590 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceSingleOrderValue::class)->setPublic(true);
591 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceTotalSpent::class)->setPublic(true);
592 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceSubscription::class)->setPublic(true);
593 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceUsedCouponCode::class)->setPublic(true);
594 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceUsedPaymentMethod::class)->setPublic(true);
595 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceUsedShippingMethod::class)->setPublic(true);
596 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceTag::class)->setPublic(true);
597 $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooFilterHelper::class)->setPublic(true);
598 $container->autowire(\MailPoet\Segments\DynamicSegments\SegmentSaveController::class)->setPublic(true);
599 $container->autowire(\MailPoet\Segments\DynamicSegments\FilterDataMapper::class)->setPublic(true);
600 // Services
601 $container->autowire(\MailPoet\Services\Bridge::class)->setPublic(true);
602 $container->autowire(\MailPoet\Services\AuthorizedEmailsController::class)->setPublic(true);
603 $container->autowire(\MailPoet\Services\CongratulatoryMssEmailController::class)->setPublic(true);
604 $container->autowire(\MailPoet\Services\AuthorizedSenderDomainController::class)->setPublic(true);
605 $container->autowire(\MailPoet\Services\SubscribersCountReporter::class)->setPublic(true);
606 $container->autowire(\MailPoet\Services\Validator::class)->setPublic(true);
607 // Settings
608 $container->autowire(\MailPoet\Settings\SettingsController::class)->setPublic(true);
609 $container->autowire(\MailPoet\Settings\SettingsChangeHandler::class)->setPublic(true);
610 $container->autowire(\MailPoet\Settings\SettingsRepository::class)->setPublic(true);
611 $container->autowire(\MailPoet\Settings\TrackingConfig::class)->setPublic(true);
612 // User Flags
613 $container->autowire(\MailPoet\Settings\UserFlagsController::class);
614 $container->autowire(\MailPoet\Settings\UserFlagsRepository::class)->setPublic(true);
615 // Subscription
616 $container->autowire(\MailPoet\Subscription\Comment::class)->setPublic(true);
617 $container->autowire(\MailPoet\Subscription\Form::class)->setPublic(true);
618 $container->autowire(\MailPoet\Subscription\Manage::class)->setPublic(true);
619 $container->autowire(\MailPoet\Subscription\ManageSubscriptionFormRenderer::class)->setPublic(true);
620 $container->autowire(\MailPoet\Subscription\Pages::class)->setPublic(true)
621 ->setShared(false); // Get a new instance each time $container->get() is called, needed for tests
622 $container->autowire(\MailPoet\Subscription\Registration::class)->setPublic(true);
623 $container->autowire(\MailPoet\Subscription\Throttling::class)->setPublic(true);
624 $container->autowire(\MailPoet\Subscription\SubscriptionUrlFactory::class)->setPublic(true);
625 $container->autowire(\MailPoet\Subscription\AdminUserSubscription::class)->setPublic(true);
626 // Newsletter
627 $container->autowire(\MailPoet\Newsletter\ApiDataSanitizer::class)->setPublic(true);
628 $container->autowire(\MailPoet\Newsletter\AutomatedLatestContent::class)->setPublic(true);
629 $container->autowire(\MailPoet\Newsletter\DynamicProducts::class)->setPublic(true);
630 $container->autowire(\MailPoet\Newsletter\NewsletterSaveController::class)->setPublic(true);
631 $container->autowire(\MailPoet\Newsletter\NewsletterDeleteController::class)->setPublic(true);
632 $container->autowire(\MailPoet\Newsletter\BulkActionController::class)->setPublic(true);
633 $container->autowire(\MailPoet\Newsletter\StatusController::class)->setPublic(true);
634 $container->autowire(\MailPoet\Newsletter\NewsletterResendController::class)->setPublic(true);
635 $container->autowire(\MailPoet\Newsletter\NewsletterPostsRepository::class)->setPublic(true);
636 $container->autowire(\MailPoet\Newsletter\NewslettersRepository::class)->setPublic(true);
637 $container->autowire(\MailPoet\Newsletter\AutomaticEmailsRepository::class)->setPublic(true);
638 $container->autowire(\MailPoet\Newsletter\NewsletterHtmlSanitizer::class)->setPublic(true);
639 $container->autowire(\MailPoet\Newsletter\Url::class)->setPublic(true);
640 $container->autowire(\MailPoet\Newsletter\NewsletterValidator::class)->setPublic(true);
641 $container->autowire(\MailPoet\Newsletter\Links\Links::class)->setPublic(true);
642 $container->autowire(\MailPoet\Newsletter\Listing\NewsletterListingRepository::class)->setPublic(true);
643 $container->autowire(\MailPoet\Newsletter\Options\NewsletterOptionsRepository::class)->setPublic(true);
644 $container->autowire(\MailPoet\Newsletter\Options\NewsletterOptionFieldsRepository::class)->setPublic(true);
645 $container->autowire(\MailPoet\Newsletter\Preview\SendPreviewController::class)->setPublic(true);
646 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\AbandonedCartContent::class)->setPublic(true);
647 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\AutomatedLatestContentBlock::class)->setPublic(true);
648 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Button::class);
649 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Divider::class);
650 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Footer::class);
651 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Header::class);
652 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Image::class);
653 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Placeholder::class);
654 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Renderer::class)->setPublic(true);
655 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Social::class);
656 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Spacer::class);
657 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Text::class);
658 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Coupon::class);
659 $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\DynamicProductsBlock::class)->setPublic(true);
660 $container->autowire(\MailPoet\Newsletter\Renderer\Columns\Renderer::class)->setPublic(true);
661 $container->autowire(\MailPoet\Newsletter\Renderer\Preprocessor::class)->setPublic(true);
662 $container->autowire(\MailPoet\Newsletter\Renderer\BodyRenderer::class)->setPublic(true);
663 $container->autowire(\MailPoet\Newsletter\Renderer\Renderer::class)->setPublic(true);
664 $container->autowire(\MailPoet\Newsletter\Segment\NewsletterSegmentRepository::class)->setPublic(true);
665 $container->autowire(\MailPoet\Newsletter\Shortcodes\ShortcodesHelper::class)->setPublic(true);
666 $container->autowire(\MailPoet\Newsletter\Shortcodes\Shortcodes::class)->setPublic(true);
667 $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Date::class)->setPublic(true);
668 $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Link::class)->setPublic(true);
669 $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Newsletter::class)->setPublic(true);
670 $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Subscriber::class)->setPublic(true);
671 $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Site::class)->setPublic(true);
672 $container->autowire(\MailPoet\Newsletter\Embed\NewsletterEmbedService::class)->setPublic(true);
673 $container->autowire(\MailPoet\Newsletter\Embed\RestApi\Endpoints\NewsletterEmbedSelectorEndpoint::class)->setPublic(true);
674 $container->autowire(\MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository::class)->setPublic(true);
675 $container->autowire(\MailPoet\Newsletter\Statistics\Export\StatisticsExporter::class)->setPublic(true);
676 $container->autowire(\MailPoet\Newsletter\Scheduler\AutomaticEmailScheduler::class)->setPublic(true);
677 $container->autowire(\MailPoet\Newsletter\Scheduler\AutomationEmailScheduler::class)->setPublic(true);
678 $container->autowire(\MailPoet\Newsletter\Scheduler\LatestNewsletterScheduler::class)->setPublic(true);
679 $container->autowire(\MailPoet\Newsletter\Scheduler\WelcomeScheduler::class)->setPublic(true);
680 $container->autowire(\MailPoet\Newsletter\Scheduler\PostNotificationScheduler::class)->setPublic(true);
681 $container->autowire(\MailPoet\Newsletter\Scheduler\ReEngagementScheduler::class)->setPublic(true);
682 $container->autowire(\MailPoet\Newsletter\Sending\ScheduledTasksRepository::class)->setPublic(true);
683 $container->autowire(\MailPoet\Newsletter\Sending\ScheduledTaskSubscribersRepository::class)->setPublic(true);
684 $container->autowire(\MailPoet\Newsletter\Sending\ScheduledTaskSubscribersListingRepository::class)->setPublic(true);
685 $container->autowire(\MailPoet\Newsletter\Sending\SendingQueuesRepository::class)->setPublic(true);
686 $container->autowire(\MailPoet\Newsletter\Sending\TimeZoneCampaignScheduler::class)->setPublic(true);
687 $container->autowire(\MailPoet\Newsletter\Sharing\PublicEmailController::class)->setPublic(true);
688 $container->autowire(\MailPoet\Newsletter\Sharing\PublicEmailRoute::class)->setPublic(true);
689 $container->autowire(\MailPoet\Newsletter\Sharing\ShareMetadataBuilder::class)->setPublic(true);
690 $container->autowire(\MailPoet\Newsletter\Sharing\ShareVisibility::class)->setPublic(true);
691 $container->autowire(\MailPoet\Newsletter\ViewInBrowser\ViewInBrowserController::class)->setPublic(true);
692 $container->autowire(\MailPoet\Newsletter\ViewInBrowser\ViewInBrowserRenderer::class)->setPublic(true);
693 $container->autowire(\MailPoet\Newsletter\NewsletterCoupon::class)->setPublic(true);
694 $container->autowire(\MailPoet\Statistics\GATracking::class)->setPublic(true);
695 $container->autowire(\MailPoet\Newsletter\Preview\WooCommerceDummyData::class)->setPublic(true);
696 // Newsletter templates
697 $container->autowire(\MailPoet\NewsletterTemplates\NewsletterTemplatesRepository::class)->setPublic(true);
698 $container->autowire(\MailPoet\NewsletterTemplates\TemplateImageLoader::class)->setPublic(true);
699 $container->autowire(\MailPoet\NewsletterTemplates\ThumbnailSaver::class)->setPublic(true);
700 $container->autowire(\MailPoet\NewsletterTemplates\BrandStyles::class)->setPublic(true);
701 // Util
702 $container->autowire(\MailPoet\Util\DataInconsistency\DataInconsistencyController::class)->setPublic(true);
703 $container->autowire(\MailPoet\Util\DataInconsistency\DataInconsistencyRepository::class)->setPublic(true);
704 $container->autowire(\MailPoet\Util\Cookies::class)->setPublic(true);
705 $container->autowire(\MailPoet\Util\DBCollationChecker::class);
706 $container->autowire(\MailPoet\Util\FreeDomains::class);
707 $container->autowire(\MailPoet\Util\Url::class)->setPublic(true);
708 $container->autowire(\MailPoet\Util\Installation::class);
709 $container->autowire(\MailPoet\Util\Security::class);
710 $container->autowire(\MailPoet\Util\License\Features\CapabilitiesManager::class)->setPublic(true);
711 $container->autowire(\MailPoet\Util\License\Features\Subscribers::class)->setPublic(true);
712 $container->autowire(\MailPoet\Util\License\License::class)->setPublic(true);
713 $container->register(\MailPoet\Util\CdnAssetUrl::class)
714 ->setPublic(true)
715 ->setFactory([__CLASS__, 'getCdnAssetsUrl']);
716 $container->autowire(\MailPoet\Newsletter\Scheduler\Scheduler::class)->setPublic(true);
717 $container->autowire(\MailPoet\Util\Request::class)->setPublic(true);
718 // Validator
719 $container->autowire(Validator::class)->setPublic(true);
720 // WooCommerce
721 $container->autowire(\MailPoet\WooCommerce\Helper::class)->setPublic(true);
722 $container->autowire(\MailPoet\WooCommerce\Integrations\AutomateWooHooks::class)->setPublic(true);
723 $container->autowire(\MailPoet\WooCommerce\OrderAttributionRevenueReader::class)->setPublic(true);
724 $container->autowire(\MailPoet\WooCommerce\OrderAttributionWriter::class)->setPublic(true);
725 $container->autowire(\MailPoet\WooCommerce\Settings::class)->setPublic(true);
726 $container->autowire(\MailPoet\WooCommerce\SubscriberEngagement::class)->setPublic(true);
727 $container->autowire(\MailPoet\WooCommerce\Subscription::class)->setPublic(true);
728 $container->autowire(\MailPoet\WooCommerce\TransactionalEmailHooks::class)->setPublic(true);
729 $container->autowire(\MailPoet\WooCommerce\TransactionalEmails::class)->setPublic(true);
730 $container->autowire(\MailPoet\WooCommerce\Tracker::class)->setPublic(true);
731 $container->autowire(\MailPoet\WooCommerce\TransactionalEmails\Template::class)->setPublic(true);
732 $container->autowire(\MailPoet\WooCommerce\TransactionalEmails\Renderer::class)->setPublic(true);
733 $container->autowire(\MailPoet\WooCommerce\TransactionalEmails\FontFamilyValidator::class)->setPublic(true);
734 $container->autowire(\MailPoet\WooCommerce\TransactionalEmails\ContentPreprocessor::class)->setPublic(true);
735 $container->autowire(\MailPoet\WooCommerce\CouponPreProcessor::class)->setPublic(true);
736 $container->autowire(\MailPoet\WooCommerce\RandomCouponCodeGenerator::class)->setPublic(true);
737 $container->autowire(\MailPoet\WooCommerce\WooSystemInfo::class)->setPublic(true);
738 $container->autowire(\MailPoet\WooCommerce\WooSystemInfoController::class)->setPublic(true);
739 $container->autowire(\MailPoet\WooCommerce\MultichannelMarketing\MPMarketingChannelController::class)->setPublic(true);
740 $container->autowire(\MailPoet\WooCommerce\MultichannelMarketing\MPMarketingChannelDataController::class)->setPublic(true);
741 // CAPTCHA
742 $container->autowire(\MailPoet\Captcha\CaptchaUrlFactory::class)->setPublic(true);
743 $container->autowire(\MailPoet\Captcha\CaptchaFormRenderer::class)->setPublic(true);
744 $container->autowire(\MailPoet\Captcha\PageRenderer::class)->setPublic(true);
745 $container->autowire(\MailPoet\Captcha\CaptchaConstants::class)->setPublic(true);
746 $container->autowire(\MailPoet\Captcha\CaptchaSession::class)->setPublic(true);
747 $container->autowire(\MailPoet\Captcha\CaptchaRenderer::class)->setPublic(true);
748 $container->autowire(\MailPoet\Captcha\CaptchaHooks::class)->setPublic(true);
749 $container->autowire(\MailPoet\Captcha\CaptchaPhrase::class);
750 $container->autowire(\MailPoet\Captcha\BehavioralSignals::class);
751 $container->autowire(\MailPoet\Captcha\Validator\CaptchaValidator::class)->setPublic(true);
752 $container->autowire(\MailPoet\Captcha\Validator\RecaptchaValidator::class)->setPublic(true);
753
754 // WooCommerce Subscriptions
755 $container->autowire(\MailPoet\WooCommerce\WooCommerceSubscriptions\Helper::class)->setPublic(true);
756
757 // WooCommerce Bookings
758 $container->autowire(\MailPoet\WooCommerce\WooCommerceBookings\Helper::class)->setPublic(true);
759
760 // WordPress
761 $container->autowire(\MailPoet\WP\Emoji::class)->setPublic(true);
762 $container->autowire(\MailPoet\WP\Functions::class)->setPublic(true);
763 $container->autowire(\MailPoet\WP\AutocompletePostListLoader::class)->setPublic(true);
764 // WordPress.com
765 $container->autowire(\MailPoet\WPCOM\DotcomLicenseProvisioner::class)->setPublic(true);
766 $container->autowire(\MailPoet\WPCOM\DotcomHelperFunctions::class)->setPublic(true);
767 // Third party classes
768 $container->autowire(\MailPoetVendor\CSS::class)->setClass(\MailPoetVendor\CSS::class)->setPublic(true);
769 $container->autowire(\MailPoetVendor\csstidy::class)->setClass(\MailPoetVendor\csstidy::class);
770 // Cache
771 $container->autowire(\MailPoet\Cache\TransientCache::class)->setPublic(true);
772 // Tags
773 $container->autowire(\MailPoet\Tags\TagRepository::class)->setPublic(true);
774 $container->autowire(\MailPoet\Tags\RestApi\Api::class)->setPublic(true);
775 $container->autowire(\MailPoet\Tags\RestApi\Endpoints\TagsGetEndpoint::class)->setPublic(true);
776 $container->autowire(\MailPoet\Tags\RestApi\Endpoints\TagsPostEndpoint::class)->setPublic(true);
777 $container->autowire(\MailPoet\Tags\RestApi\Endpoints\TagPutEndpoint::class)->setPublic(true);
778 $container->autowire(\MailPoet\Tags\RestApi\Endpoints\TagDeleteEndpoint::class)->setPublic(true);
779 $container->autowire(\MailPoet\Tags\RestApi\Endpoints\TagsBulkDeleteEndpoint::class)->setPublic(true);
780 // Custom fields REST API
781 $container->autowire(\MailPoet\CustomFields\RestApi\Api::class)->setPublic(true);
782 $container->autowire(\MailPoet\CustomFields\RestApi\Endpoints\CustomFieldsDuplicateEndpoint::class)->setPublic(true);
783 $container->autowire(\MailPoet\CustomFields\RestApi\Endpoints\CustomFieldsGetEndpoint::class)->setPublic(true);
784 $container->autowire(\MailPoet\CustomFields\RestApi\Endpoints\CustomFieldsPostEndpoint::class)->setPublic(true);
785 $container->autowire(\MailPoet\CustomFields\RestApi\Endpoints\CustomFieldsPutEndpoint::class)->setPublic(true);
786 $container->autowire(\MailPoet\CustomFields\RestApi\Endpoints\CustomFieldsBulkActionEndpoint::class)->setPublic(true);
787 // Forms REST API
788 $container->autowire(\MailPoet\Form\RestApi\Api::class)->setPublic(true);
789 $container->autowire(\MailPoet\Form\RestApi\Endpoints\FormsListingEndpoint::class)->setPublic(true);
790 $container->autowire(\MailPoet\Form\RestApi\Endpoints\FormsBulkActionEndpoint::class)->setPublic(true);
791 // Segments REST API
792 $container->autowire(\MailPoet\Segments\RestApi\Api::class)->setPublic(true);
793 $container->autowire(\MailPoet\Segments\RestApi\Endpoints\SegmentsListingEndpoint::class)->setPublic(true);
794 $container->autowire(\MailPoet\Segments\RestApi\Endpoints\SegmentsBulkActionEndpoint::class)->setPublic(true);
795 $container->autowire(\MailPoet\Segments\RestApi\Endpoints\DynamicSegmentsListingEndpoint::class)->setPublic(true);
796 $container->autowire(\MailPoet\Segments\RestApi\Endpoints\DynamicSegmentsBulkActionEndpoint::class)->setPublic(true);
797 // Logs REST API
798 $container->autowire(\MailPoet\Logging\RestApi\Api::class)->setPublic(true);
799 $container->autowire(\MailPoet\Logging\RestApi\Endpoints\LogsListingEndpoint::class)->setPublic(true);
800 $container->autowire(\MailPoet\Logging\RestApi\Endpoints\LogsDeleteEndpoint::class)->setPublic(true);
801 $container->autowire(\MailPoet\Logging\LogsDownload::class)->setPublic(true);
802 // Subscribers REST API
803 $container->autowire(\MailPoet\Subscribers\RestApi\Api::class)->setPublic(true);
804 $container->autowire(\MailPoet\Subscribers\RestApi\Endpoints\SubscribersListingEndpoint::class)->setPublic(true);
805 $container->autowire(\MailPoet\Subscribers\RestApi\Endpoints\SubscribersBulkActionEndpoint::class)->setPublic(true);
806 $container->autowire(\MailPoet\Subscribers\RestApi\Endpoints\SubscriberConfirmationEmailEndpoint::class)->setPublic(true);
807 // Newsletters REST API
808 $container->autowire(\MailPoet\Newsletter\RestApi\Api::class)->setPublic(true);
809 $container->autowire(\MailPoet\Newsletter\RestApi\Endpoints\NewslettersListingEndpoint::class)->setPublic(true);
810 $container->autowire(\MailPoet\Newsletter\RestApi\Endpoints\NewslettersBulkActionEndpoint::class)->setPublic(true);
811 $container->autowire(\MailPoet\Newsletter\RestApi\Endpoints\NewsletterDuplicateEndpoint::class)->setPublic(true);
812 $container->autowire(\MailPoet\Newsletter\RestApi\Endpoints\NewsletterStatusEndpoint::class)->setPublic(true);
813 $container->autowire(\MailPoet\Newsletter\RestApi\Endpoints\SendingStatusListingEndpoint::class)->setPublic(true);
814 $container->autowire(\MailPoet\Newsletter\RestApi\Endpoints\SendingStatusResendEndpoint::class)->setPublic(true);
815 // CAPTCHA
816 $container->autowire(\MailPoet\Captcha\ReCaptchaHooks::class)->setPublic(true);
817 $container->autowire(\MailPoet\Captcha\ReCaptchaValidator::class)->setPublic(true);
818 $container->autowire(\MailPoet\Captcha\ReCaptchaRenderer::class)->setPublic(true);
819 $container->autowire(\MailPoet\Captcha\TurnstileHooks::class)->setPublic(true);
820 $container->autowire(\MailPoet\Captcha\TurnstileValidator::class)->setPublic(true);
821 $container->autowire(\MailPoet\Captcha\TurnstileRenderer::class)->setPublic(true);
822 $container->autowire(\MailPoet\Captcha\Validator\TurnstileValidator::class)->setPublic(true);
823 return $container;
824 }
825
826 public static function getPremiumService($id, ?ContainerInterface $container = null) {
827 if ($container === null) {
828 return null;
829 }
830 if (!$container->has(IContainerConfigurator::PREMIUM_CONTAINER_SERVICE_SLUG)) {
831 return null;
832 }
833 $premiumContainer = $container->get(IContainerConfigurator::PREMIUM_CONTAINER_SERVICE_SLUG);
834 if (!$premiumContainer instanceof ContainerInterface) {
835 return null;
836 }
837 return $premiumContainer->get($id);
838 }
839
840 public static function getCdnAssetsUrl(): \MailPoet\Util\CdnAssetUrl {
841 return new \MailPoet\Util\CdnAssetUrl((string)Env::$baseUrl);
842 }
843 }
844