Use Subscribers feature instead of Installer

[MAILPOET-5429]
This commit is contained in:
Jan Lysý
2023-07-31 16:43:57 +02:00
committed by Aschepikov
parent d31483db2d
commit edaefea5b7

View File

@@ -5,7 +5,6 @@ namespace MailPoet\AdminPages\Pages;
use MailPoet\AdminPages\PageRenderer; use MailPoet\AdminPages\PageRenderer;
use MailPoet\AutomaticEmails\AutomaticEmails; use MailPoet\AutomaticEmails\AutomaticEmails;
use MailPoet\Config\Env; use MailPoet\Config\Env;
use MailPoet\Config\Installer;
use MailPoet\Config\Menu; use MailPoet\Config\Menu;
use MailPoet\Entities\NewsletterEntity; use MailPoet\Entities\NewsletterEntity;
use MailPoet\Listing\PageLimit; use MailPoet\Listing\PageLimit;
@@ -15,6 +14,7 @@ use MailPoet\Segments\SegmentsSimpleListRepository;
use MailPoet\Services\AuthorizedSenderDomainController; use MailPoet\Services\AuthorizedSenderDomainController;
use MailPoet\Services\Bridge; use MailPoet\Services\Bridge;
use MailPoet\Settings\SettingsController; use MailPoet\Settings\SettingsController;
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
use MailPoet\WooCommerce\TransactionalEmails; use MailPoet\WooCommerce\TransactionalEmails;
use MailPoet\WP\AutocompletePostListLoader as WPPostListLoader; use MailPoet\WP\AutocompletePostListLoader as WPPostListLoader;
use MailPoet\WP\DateTime; use MailPoet\WP\DateTime;
@@ -54,6 +54,9 @@ class Newsletters {
/** @var AuthorizedSenderDomainController */ /** @var AuthorizedSenderDomainController */
private $senderDomainController; private $senderDomainController;
/** @var SubscribersFeature */
private $subscribersFeature;
public function __construct( public function __construct(
PageRenderer $pageRenderer, PageRenderer $pageRenderer,
PageLimit $listingPageLimit, PageLimit $listingPageLimit,
@@ -65,7 +68,8 @@ class Newsletters {
SegmentsSimpleListRepository $segmentsListRepository, SegmentsSimpleListRepository $segmentsListRepository,
NewslettersRepository $newslettersRepository, NewslettersRepository $newslettersRepository,
Bridge $bridge, Bridge $bridge,
AuthorizedSenderDomainController $senderDomainController AuthorizedSenderDomainController $senderDomainController,
SubscribersFeature $subscribersFeature
) { ) {
$this->pageRenderer = $pageRenderer; $this->pageRenderer = $pageRenderer;
$this->listingPageLimit = $listingPageLimit; $this->listingPageLimit = $listingPageLimit;
@@ -78,6 +82,7 @@ class Newsletters {
$this->newslettersRepository = $newslettersRepository; $this->newslettersRepository = $newslettersRepository;
$this->bridge = $bridge; $this->bridge = $bridge;
$this->senderDomainController = $senderDomainController; $this->senderDomainController = $senderDomainController;
$this->subscribersFeature = $subscribersFeature;
} }
public function render() { public function render() {
@@ -116,7 +121,7 @@ class Newsletters {
$data['sent_newsletters_count'] = $this->newslettersRepository->countBy(['status' => NewsletterEntity::STATUS_SENT]); $data['sent_newsletters_count'] = $this->newslettersRepository->countBy(['status' => NewsletterEntity::STATUS_SENT]);
$data['woocommerce_transactional_email_id'] = $this->settings->get(TransactionalEmails::SETTING_EMAIL_ID); $data['woocommerce_transactional_email_id'] = $this->settings->get(TransactionalEmails::SETTING_EMAIL_ID);
$data['display_detailed_stats'] = Installer::getPremiumStatus()['premium_plugin_initialized']; $data['display_detailed_stats'] = $this->subscribersFeature->hasValidPremiumKey() && !$this->subscribersFeature->check();
$data['newsletters_templates_recently_sent_count'] = $this->newsletterTemplatesRepository->getRecentlySentCount(); $data['newsletters_templates_recently_sent_count'] = $this->newsletterTemplatesRepository->getRecentlySentCount();
$data['product_categories'] = $this->wpPostListLoader->getWooCommerceCategories(); $data['product_categories'] = $this->wpPostListLoader->getWooCommerceCategories();