Append subscribers limit notice with info about WP users segment

[MAILPOET-3143]
This commit is contained in:
Rostislav Wolny
2021-01-07 15:36:16 +01:00
committed by Veljko V
parent 0eb60a4880
commit e576002d70
5 changed files with 33 additions and 1 deletions

View File

@ -3,8 +3,10 @@
namespace MailPoet\AdminPages;
use MailPoet\Config\Renderer;
use MailPoet\Entities\SegmentEntity;
use MailPoet\Features\FeaturesController;
use MailPoet\Referrals\ReferralDetector;
use MailPoet\Segments\SegmentsRepository;
use MailPoet\Settings\SettingsController;
use MailPoet\Settings\UserFlagsController;
use MailPoet\Tracy\DIPanel\DIPanel;
@ -24,16 +26,21 @@ class PageRenderer {
/** @var UserFlagsController */
private $userFlags;
/** @var SegmentsRepository */
private $segmentRepository;
public function __construct(
Renderer $renderer,
FeaturesController $featuresController,
SettingsController $settings,
UserFlagsController $userFlags
UserFlagsController $userFlags,
SegmentsRepository $segmentRepository
) {
$this->renderer = $renderer;
$this->featuresController = $featuresController;
$this->settings = $settings;
$this->userFlags = $userFlags;
$this->segmentRepository = $segmentRepository;
}
/**
@ -44,12 +51,16 @@ class PageRenderer {
public function displayPage($template, array $data = []) {
$lastAnnouncementDate = $this->settings->get('last_announcement_date');
$lastAnnouncementSeen = $this->userFlags->get('last_announcement_seen');
$wpSegment = $this->segmentRepository->getWPUsersSegment();
$wpSegmentState = ($wpSegment instanceof SegmentEntity) && $wpSegment->getDeletedAt() === null ?
SegmentEntity::SEGMENT_ENABLED : SegmentEntity::SEGMENT_DISABLED;
$defaults = [
'feature_flags' => $this->featuresController->getAllFlags(),
'referral_id' => $this->settings->get(ReferralDetector::REFERRAL_SETTING_NAME),
'mailpoet_api_key_state' => $this->settings->get('mta.mailpoet_api_key_state'),
'last_announcement_seen' => $lastAnnouncementSeen,
'feature_announcement_has_news' => (empty($lastAnnouncementSeen) || $lastAnnouncementSeen < $lastAnnouncementDate),
'wp_segment_state' => $wpSegmentState,
];
try {
if (class_exists(Debugger::class)) {