sending_error_handler = $sending_error_handler; $this->statsNotificationsScheduler = $statsNotificationsScheduler; $this->mailer = $mailer; $this->renderer = $renderer; $this->settings = $settings; $this->cron_helper = $cron_helper; $this->woocommerce_segment = $woocommerce_segment; $this->inactive_subscribers_controller = $inactive_subscribers_controller; $this->woocommerce_helper = $woocommerce_helper; $this->woocommerce_purchases = $woocommerce_purchases; $this->authorized_emails_controller = $authorized_emails_controller; $this->subscribers_finder = $subscribers_finder; $this->mailerMetaInfo = $mailerMetaInfo; $this->logger_factory = $logger_factory; $this->stats_notifications_repository = $stats_notifications_repository; $this->entity_manager = $entity_manager; $this->newsletters_repository = $newsletters_repository; $this->newsletter_link_repository = $newsletter_link_repository; $this->newsletter_statistics_repository = $newsletter_statistics_repository; } /** @return SchedulerWorker */ function createScheduleWorker() { return new SchedulerWorker($this->subscribers_finder, $this->logger_factory, $this->cron_helper); } /** @return SendingQueueWorker */ function createQueueWorker() { return new SendingQueueWorker( $this->sending_error_handler, $this->statsNotificationsScheduler, $this->logger_factory, $this->newsletters_repository, $this->cron_helper ); } /** @return StatsNotificationsWorker */ function createStatsNotificationsWorker() { return new StatsNotificationsWorker( $this->mailer, $this->renderer, $this->settings, $this->cron_helper, $this->mailerMetaInfo, $this->stats_notifications_repository, $this->newsletter_link_repository, $this->newsletter_statistics_repository, $this->entity_manager ); } /** @return StatsNotificationsWorkerForAutomatedEmails */ function createStatsNotificationsWorkerForAutomatedEmails() { return new StatsNotificationsWorkerForAutomatedEmails( $this->mailer, $this->renderer, $this->settings, $this->newsletters_repository, $this->newsletter_statistics_repository, $this->mailerMetaInfo ); } /** @return SendingServiceKeyCheckWorker */ function createSendingServiceKeyCheckWorker() { return new SendingServiceKeyCheckWorker($this->settings); } /** @return PremiumKeyCheckWorker */ function createPremiumKeyCheckWorker() { return new PremiumKeyCheckWorker($this->settings); } /** @return BounceWorker */ function createBounceWorker() { return new BounceWorker($this->settings); } /** @return MigrationWorker */ function createMigrationWorker() { return new MigrationWorker(); } /** @return WooCommerceSyncWorker */ function createWooCommerceSyncWorker() { return new WooCommerceSyncWorker($this->woocommerce_segment, $this->woocommerce_helper); } /** @return ExportFilesCleanup */ function createExportFilesCleanupWorker() { return new ExportFilesCleanup(); } /** @return Beamer */ function createBeamerkWorker() { return new Beamer($this->settings, WPFunctions::get()); } /** @return InactiveSubscribers */ function createInactiveSubscribersWorker() { return new InactiveSubscribers($this->inactive_subscribers_controller, $this->settings); } /** @return UnsubscribeTokens */ function createUnsubscribeTokensWorker() { return new UnsubscribeTokens(); } /** @return SubscriberLinkTokens */ function createSubscriberLinkTokensWorker() { return new SubscriberLinkTokens(); } /** @return AuthorizedSendingEmailsCheck */ function createAuthorizedSendingEmailsCheckWorker() { return new AuthorizedSendingEmailsCheck($this->authorized_emails_controller); } /** @return WooCommercePastOrders */ function createWooCommercePastOrdersWorker() { return new WooCommercePastOrders($this->woocommerce_helper, $this->woocommerce_purchases); } }