ss)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberScore::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberSubscribedViaForm::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberSegment::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberTag::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\SubscriberTextField::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\UserRole::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceAverageSpent::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceCategory::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceCountry::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceCustomerTextField::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceFirstOrder::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceMembership::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceNumberOfOrders::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceNumberOfReviews::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceProduct::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommercePurchaseDate::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommercePurchasedWithAttribute::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceSingleOrderValue::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceTotalSpent::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceSubscription::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceUsedCouponCode::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceUsedPaymentMethod::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceUsedShippingMethod::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooCommerceTag::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\Filters\WooFilterHelper::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\SegmentSaveController::class)->setPublic(true); $container->autowire(\MailPoet\Segments\DynamicSegments\FilterDataMapper::class)->setPublic(true); // Services $container->autowire(\MailPoet\Services\Bridge::class)->setPublic(true); $container->autowire(\MailPoet\Services\AuthorizedEmailsController::class)->setPublic(true); $container->autowire(\MailPoet\Services\CongratulatoryMssEmailController::class)->setPublic(true); $container->autowire(\MailPoet\Services\AuthorizedSenderDomainController::class)->setPublic(true); $container->autowire(\MailPoet\Services\SubscribersCountReporter::class)->setPublic(true); $container->autowire(\MailPoet\Services\Validator::class)->setPublic(true); // Settings $container->autowire(\MailPoet\Settings\SettingsController::class)->setPublic(true); $container->autowire(\MailPoet\Settings\SettingsChangeHandler::class)->setPublic(true); $container->autowire(\MailPoet\Settings\SettingsRepository::class)->setPublic(true); $container->autowire(\MailPoet\Settings\TrackingConfig::class)->setPublic(true); // User Flags $container->autowire(\MailPoet\Settings\UserFlagsController::class); $container->autowire(\MailPoet\Settings\UserFlagsRepository::class)->setPublic(true); // Subscription $container->autowire(\MailPoet\Subscription\Comment::class)->setPublic(true); $container->autowire(\MailPoet\Subscription\Form::class)->setPublic(true); $container->autowire(\MailPoet\Subscription\Manage::class)->setPublic(true); $container->autowire(\MailPoet\Subscription\ManageSubscriptionFormRenderer::class)->setPublic(true); $container->autowire(\MailPoet\Subscription\Pages::class)->setPublic(true) ->setShared(false); // Get a new instance each time $container->get() is called, needed for tests $container->autowire(\MailPoet\Subscription\Registration::class)->setPublic(true); $container->autowire(\MailPoet\Subscription\Throttling::class)->setPublic(true); $container->autowire(\MailPoet\Subscription\SubscriptionUrlFactory::class)->setPublic(true); $container->autowire(\MailPoet\Subscription\AdminUserSubscription::class)->setPublic(true); // Newsletter $container->autowire(\MailPoet\Newsletter\ApiDataSanitizer::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\AutomatedLatestContent::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\DynamicProducts::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\NewsletterSaveController::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\NewsletterDeleteController::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\NewsletterPostsRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\NewslettersRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\AutomaticEmailsRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\NewsletterHtmlSanitizer::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Url::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\NewsletterValidator::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Links\Links::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Listing\NewsletterListingRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Options\NewsletterOptionsRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Options\NewsletterOptionFieldsRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Preview\SendPreviewController::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\AbandonedCartContent::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\AutomatedLatestContentBlock::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Button::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Divider::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Footer::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Header::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Image::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Placeholder::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Renderer::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Social::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Spacer::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Text::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\Coupon::class); $container->autowire(\MailPoet\Newsletter\Renderer\Blocks\DynamicProductsBlock::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Renderer\Columns\Renderer::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Renderer\Preprocessor::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Renderer\BodyRenderer::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Renderer\Renderer::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Segment\NewsletterSegmentRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Shortcodes\ShortcodesHelper::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Shortcodes\Shortcodes::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Date::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Link::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Newsletter::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Subscriber::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Shortcodes\Categories\Site::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Scheduler\AutomaticEmailScheduler::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Scheduler\AutomationEmailScheduler::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Scheduler\WelcomeScheduler::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Scheduler\PostNotificationScheduler::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Scheduler\ReEngagementScheduler::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Sending\ScheduledTasksRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Sending\ScheduledTaskSubscribersRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Sending\ScheduledTaskSubscribersListingRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Sending\SendingQueuesRepository::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\ViewInBrowser\ViewInBrowserController::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\ViewInBrowser\ViewInBrowserRenderer::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\NewsletterCoupon::class)->setPublic(true); $container->autowire(\MailPoet\Statistics\GATracking::class)->setPublic(true); $container->autowire(\MailPoet\Newsletter\Preview\WooCommerceDummyData::class)->setPublic(true); // Newsletter templates $container->autowire(\MailPoet\NewsletterTemplates\NewsletterTemplatesRepository::class)->setPublic(true); $container->autowire(\MailPoet\NewsletterTemplates\TemplateImageLoader::class)->setPublic(true); $container->autowire(\MailPoet\NewsletterTemplates\ThumbnailSaver::class)->setPublic(true); $container->autowire(\MailPoet\NewsletterTemplates\BrandStyles::class)->setPublic(true); // Util $container->autowire(\MailPoet\Util\DataInconsistency\DataInconsistencyController::class)->setPublic(true); $container->autowire(\MailPoet\Util\DataInconsistency\DataInconsistencyRepository::class)->setPublic(true); $container->autowire(\MailPoet\Util\Cookies::class)->setPublic(true); $container->autowire(\MailPoet\Util\DBCollationChecker::class); $container->autowire(\MailPoet\Util\FreeDomains::class); $container->autowire(\MailPoet\Util\Url::class)->setPublic(true); $container->autowire(\MailPoet\Util\Installation::class); $container->autowire(\MailPoet\Util\Security::class); $container->autowire(\MailPoet\Util\License\Features\CapabilitiesManager::class)->setPublic(true); $container->autowire(\MailPoet\Util\License\Features\Subscribers::class)->setPublic(true); $container->autowire(\MailPoet\Util\License\License::class)->setPublic(true); $container->register(\MailPoet\Util\CdnAssetUrl::class) ->setPublic(true) ->setFactory([__CLASS__, 'getCdnAssetsUrl']); $container->autowire(\MailPoet\Newsletter\Scheduler\Scheduler::class)->setPublic(true); $container->autowire(\MailPoet\Util\Request::class)->setPublic(true); // Validator $container->autowire(Validator::class)->setPublic(true); // WooCommerce $container->autowire(\MailPoet\WooCommerce\Helper::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\Integrations\AutomateWooHooks::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\Settings::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\SubscriberEngagement::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\Subscription::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\TransactionalEmailHooks::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\TransactionalEmails::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\Tracker::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\TransactionalEmails\Template::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\TransactionalEmails\Renderer::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\TransactionalEmails\FontFamilyValidator::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\TransactionalEmails\ContentPreprocessor::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\CouponPreProcessor::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\WooSystemInfo::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\WooSystemInfoController::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\MultichannelMarketing\MPMarketingChannelController::class)->setPublic(true); $container->autowire(\MailPoet\WooCommerce\MultichannelMarketing\MPMarketingChannelDataController::class)->setPublic(true); // CAPTCHA $container->autowire(\MailPoet\Captcha\CaptchaUrlFactory::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\CaptchaFormRenderer::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\PageRenderer::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\CaptchaConstants::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\CaptchaSession::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\CaptchaRenderer::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\CaptchaHooks::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\CaptchaPhrase::class); $container->autowire(\MailPoet\Captcha\Validator\CaptchaValidator::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\Validator\RecaptchaValidator::class)->setPublic(true); // WooCommerce Subscriptions $container->autowire(\MailPoet\WooCommerce\WooCommerceSubscriptions\Helper::class)->setPublic(true); // WooCommerce Bookings $container->autowire(\MailPoet\WooCommerce\WooCommerceBookings\Helper::class)->setPublic(true); // WordPress $container->autowire(\MailPoet\WP\Emoji::class)->setPublic(true); $container->autowire(\MailPoet\WP\Functions::class)->setPublic(true); $container->autowire(\MailPoet\WP\AutocompletePostListLoader::class)->setPublic(true); // WordPress.com $container->autowire(\MailPoet\WPCOM\DotcomLicenseProvisioner::class)->setPublic(true); $container->autowire(\MailPoet\WPCOM\DotcomHelperFunctions::class)->setPublic(true); // Third party classes $container->autowire(\MailPoetVendor\CSS::class)->setClass(\MailPoetVendor\CSS::class)->setPublic(true); $container->autowire(\MailPoetVendor\csstidy::class)->setClass(\MailPoetVendor\csstidy::class); // Cache $container->autowire(\MailPoet\Cache\TransientCache::class)->setPublic(true); // Tags $container->autowire(\MailPoet\Tags\TagRepository::class)->setPublic(true); // CAPTCHA $container->autowire(\MailPoet\Captcha\ReCaptchaHooks::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\ReCaptchaValidator::class)->setPublic(true); $container->autowire(\MailPoet\Captcha\ReCaptchaRenderer::class)->setPublic(true); return $container; } public static function getPremiumService($id, ?ContainerInterface $container = null) { if ($container === null) { return null; } if (!$container->has(IContainerConfigurator::PREMIUM_CONTAINER_SERVICE_SLUG)) { return null; } return $container->get(IContainerConfigurator::PREMIUM_CONTAINER_SERVICE_SLUG)->get($id); } public static function getCdnAssetsUrl(): \MailPoet\Util\CdnAssetUrl { return new \MailPoet\Util\CdnAssetUrl((string)Env::$baseUrl); } }