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