diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php index d813c1c2c2..af39d3c60b 100644 --- a/lib/DI/ContainerConfigurator.php +++ b/lib/DI/ContainerConfigurator.php @@ -200,6 +200,7 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\Subscribers\SubscriberActions::class)->setPublic(true); $container->autowire(\MailPoet\Subscribers\InactiveSubscribersController::class); $container->autowire(\MailPoet\Subscribers\LinkTokens::class); + $container->autowire(\MailPoet\Subscribers\SubscribersRepository::class); // Segments $container->autowire(\MailPoet\Segments\SubscribersListings::class)->setPublic(true); $container->autowire(\MailPoet\Segments\WooCommerce::class)->setPublic(true); diff --git a/lib/Subscribers/SubscribersRepository.php b/lib/Subscribers/SubscribersRepository.php new file mode 100644 index 0000000000..d330fb366a --- /dev/null +++ b/lib/Subscribers/SubscribersRepository.php @@ -0,0 +1,37 @@ +entity_manager + ->createQueryBuilder() + ->select('count(n.id)') + ->from(SubscriberEntity::class, 'n') + ->where('n.status IN (:statuses)') + ->setParameter(':statuses', [ + SubscriberEntity::STATUS_SUBSCRIBED, + SubscriberEntity::STATUS_UNCONFIRMED, + SubscriberEntity::STATUS_INACTIVE, + ]) + ->getQuery(); + return (int)$query->getSingleScalarResult(); + } +} \ No newline at end of file