Use the updated component in subscriber and segment listings [MAILPOET-2917]
This commit is contained in:
@ -128,7 +128,12 @@ function DynamicSegmentList(props) {
|
||||
|
||||
<SubscribersInPlan
|
||||
subscribersInPlan={window.mailpoet_subscribers_in_plan_count}
|
||||
hasValidApiKey={window.mailpoet_has_valid_api_key}
|
||||
subscribersInPlanLimit={window.mailpoet_subscribers_limit}
|
||||
mailpoetSubscribers={window.mailpoet_premium_subscribers_count}
|
||||
mailpoetSubscribersLimit={window.mailpoet_subscribers_limit}
|
||||
hasPremiumSupport={window.mailpoet_has_premium_support}
|
||||
wpUsersCount={window.mailpoet_wp_users_count}
|
||||
mssActive={window.mailpoet_mss_active}
|
||||
/>
|
||||
|
||||
<Tabs />
|
||||
|
@ -305,7 +305,12 @@ class SegmentList extends React.Component {
|
||||
|
||||
<SubscribersInPlan
|
||||
subscribersInPlan={window.mailpoet_subscribers_in_plan_count}
|
||||
hasValidApiKey={window.mailpoet_has_valid_api_key}
|
||||
subscribersInPlanLimit={window.mailpoet_subscribers_limit}
|
||||
mailpoetSubscribers={window.mailpoet_premium_subscribers_count}
|
||||
mailpoetSubscribersLimit={window.mailpoet_subscribers_limit}
|
||||
hasPremiumSupport={window.mailpoet_has_premium_support}
|
||||
wpUsersCount={window.mailpoet_wp_users_count}
|
||||
mssActive={window.mailpoet_mss_active}
|
||||
/>
|
||||
|
||||
<SubscribersLimitNotice />
|
||||
|
@ -82,7 +82,7 @@ const messages = {
|
||||
MailPoet.Notice.success(message);
|
||||
},
|
||||
onNoItemsFound: (group) => {
|
||||
if (group === 'bounced' && !window.mailpoet_premium_active && !window.mss_active) {
|
||||
if (group === 'bounced' && !window.mailpoet_premium_active && !window.mailpoet_mss_active) {
|
||||
return (
|
||||
<div>
|
||||
<p>{MailPoet.I18n.t('bouncedSubscribersHelp')}</p>
|
||||
@ -379,7 +379,12 @@ class SubscriberList extends React.Component {
|
||||
|
||||
<SubscribersInPlan
|
||||
subscribersInPlan={window.mailpoet_subscribers_in_plan_count}
|
||||
hasValidApiKey={window.mailpoet_has_valid_api_key}
|
||||
subscribersInPlanLimit={window.mailpoet_subscribers_limit}
|
||||
mailpoetSubscribers={window.mailpoet_premium_subscribers_count}
|
||||
mailpoetSubscribersLimit={window.mailpoet_subscribers_limit}
|
||||
hasPremiumSupport={window.mailpoet_has_premium_support}
|
||||
wpUsersCount={window.mailpoet_wp_users_count}
|
||||
mssActive={window.mailpoet_mss_active}
|
||||
/>
|
||||
|
||||
<SubscribersLimitNotice />
|
||||
|
@ -6,7 +6,9 @@ use MailPoet\AdminPages\PageRenderer;
|
||||
use MailPoet\Config\ServicesChecker;
|
||||
use MailPoet\Listing\PageLimit;
|
||||
use MailPoet\Models\Newsletter;
|
||||
use MailPoet\Models\Segment;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Services\Bridge;
|
||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
@ -50,10 +52,23 @@ class Segments {
|
||||
$data = [];
|
||||
$data['items_per_page'] = $this->listingPageLimit->getLimitPerPage('segments');
|
||||
|
||||
$data['mss_active'] = Bridge::isMPSendingServiceEnabled();
|
||||
|
||||
$data['subscribers_limit'] = $this->subscribersFeature->getSubscribersLimit();
|
||||
$data['subscribers_limit_reached'] = $this->subscribersFeature->check();
|
||||
$data['has_valid_api_key'] = $this->subscribersFeature->hasValidApiKey();
|
||||
$data['subscriber_count'] = Subscriber::getTotalSubscribers();
|
||||
$data['premium_subscriber_count'] = $this->subscribersFeature->getSubscribersCount();
|
||||
$data['has_premium_support'] = $this->subscribersFeature->hasPremiumSupport();
|
||||
|
||||
$data['wp_users_count'] = false;
|
||||
if (!$data['has_premium_support']) {
|
||||
$wpSegment = Segment::getWPSegment()->withSubscribersCount();
|
||||
$subscribersCount = $wpSegment->subscribersCount;
|
||||
$data['wp_users_count'] = $subscribersCount[Subscriber::STATUS_SUBSCRIBED]
|
||||
+ $subscribersCount[Subscriber::STATUS_UNCONFIRMED]
|
||||
+ $subscribersCount[Subscriber::STATUS_INACTIVE];
|
||||
}
|
||||
|
||||
$data['mss_key_invalid'] = ($this->servicesChecker->isMailPoetAPIKeyValid() === false);
|
||||
|
||||
|
@ -89,6 +89,17 @@ class Subscribers {
|
||||
$data['subscribers_limit_reached'] = $this->subscribersFeature->check();
|
||||
$data['has_valid_api_key'] = $this->subscribersFeature->hasValidApiKey();
|
||||
$data['subscriber_count'] = Subscriber::getTotalSubscribers();
|
||||
$data['premium_subscriber_count'] = $this->subscribersFeature->getSubscribersCount();
|
||||
$data['has_premium_support'] = $this->subscribersFeature->hasPremiumSupport();
|
||||
|
||||
$data['wp_users_count'] = false;
|
||||
if (!$data['has_premium_support']) {
|
||||
$wpSegment = Segment::getWPSegment()->withSubscribersCount();
|
||||
$subscribersCount = $wpSegment->subscribersCount;
|
||||
$data['wp_users_count'] = $subscribersCount[Subscriber::STATUS_SUBSCRIBED]
|
||||
+ $subscribersCount[Subscriber::STATUS_UNCONFIRMED]
|
||||
+ $subscribersCount[Subscriber::STATUS_INACTIVE];
|
||||
}
|
||||
|
||||
$this->pageRenderer->displayPage('subscribers/subscribers.html', $data);
|
||||
}
|
||||
|
@ -30,14 +30,17 @@ class Subscribers {
|
||||
public function check() {
|
||||
$limit = $this->getSubscribersLimit();
|
||||
if ($limit === false) return false;
|
||||
if ($this->hasPremiumSupport()) {
|
||||
$subscribersCount = $this->subscribersRepository->getTotalSubscribersWithoutWPUsers();
|
||||
} else {
|
||||
$subscribersCount = $this->subscribersRepository->getTotalSubscribers();
|
||||
}
|
||||
$subscribersCount = $this->getSubscribersCount();
|
||||
return $subscribersCount > $limit;
|
||||
}
|
||||
|
||||
public function getSubscribersCount() {
|
||||
if ($this->hasPremiumSupport()) {
|
||||
return $this->subscribersRepository->getTotalSubscribersWithoutWPUsers();
|
||||
}
|
||||
return $this->subscribersRepository->getTotalSubscribers();
|
||||
}
|
||||
|
||||
public function hasValidApiKey() {
|
||||
return $this->hasValidMssKey() || $this->hasValidPremiumKey();
|
||||
}
|
||||
@ -84,7 +87,7 @@ class Subscribers {
|
||||
return (int)$this->settings->get(self::PREMIUM_SUBSCRIBERS_LIMIT_SETTING_KEY);
|
||||
}
|
||||
|
||||
private function hasPremiumSupport() {
|
||||
public function hasPremiumSupport() {
|
||||
return $this->hasValidPremiumKey() && $this->settings->get(self::PREMIUM_SUPPORT_SETTING_KEY) === 'premium';
|
||||
}
|
||||
|
||||
|
@ -15,11 +15,16 @@
|
||||
'5a574bd92c7d3a194368233e',
|
||||
'59a89621042863033a1c82e6'
|
||||
];
|
||||
var mailpoet_mss_active = <%= json_encode(mss_active) %>;
|
||||
var mailpoet_subscribers_limit = <%= subscribers_limit ? subscribers_limit : 'false' %>;
|
||||
var mailpoet_subscribers_limit_reached = <%= subscribers_limit_reached ? 'true' : 'false' %>;
|
||||
var mailpoet_has_valid_api_key = <%= has_valid_api_key ? 'true' : 'false' %>;
|
||||
var mailpoet_subscribers_count = <%= subscriber_count %>;
|
||||
var mailpoet_mss_key_invalid = <%= mss_key_invalid ? 'true' : 'false' %>;
|
||||
var mailpoet_subscribers_count = <%= subscriber_count %>;
|
||||
var mailpoet_subscribers_in_plan_count = <%= subscriber_count %>;
|
||||
var mailpoet_premium_subscribers_count = <%= premium_subscriber_count %>;
|
||||
var mailpoet_has_premium_support = <%= has_premium_support ? 'true' : 'false' %>;
|
||||
var mailpoet_wp_users_count = <%= wp_users_count ? wp_users_count : 'false' %>;
|
||||
var wordpress_editable_roles_list = <%= json_encode(wordpress_editable_roles_list) %>;
|
||||
var mailpoet_newsletters_list = <%= json_encode(newsletters_list) %>;
|
||||
var mailpoet_product_categories = <%= json_encode(product_categories) %>;
|
||||
@ -33,7 +38,6 @@
|
||||
return product;
|
||||
});
|
||||
var is_woocommerce_active = <%= json_encode(is_woocommerce_active) %>;
|
||||
var mailpoet_subscribers_in_plan_count = <%= subscriber_count %>;
|
||||
|
||||
</script>
|
||||
<% endblock %>
|
||||
|
@ -11,7 +11,6 @@
|
||||
var mailpoet_date_formats = <%= json_encode(date_formats) %>;
|
||||
var mailpoet_premium_active = <%= json_encode(premium_plugin_active) %>;
|
||||
var mailpoet_max_confirmation_emails = <%= max_confirmation_emails %>;
|
||||
var mss_active = <%= json_encode(mss_active) %>;
|
||||
var mailpoet_beacon_articles = [
|
||||
'57ce07ffc6979108399a044b',
|
||||
'57ce079f903360649f6e56fc',
|
||||
@ -19,12 +18,16 @@
|
||||
'5cbf19622c7d3a026fd3efe1',
|
||||
'58a5a7502c7d3a576d353c78',
|
||||
];
|
||||
var mailpoet_mss_active = <%= json_encode(mss_active) %>;
|
||||
var mailpoet_subscribers_limit = <%= subscribers_limit ? subscribers_limit : 'false' %>;
|
||||
var mailpoet_subscribers_limit_reached = <%= subscribers_limit_reached ? 'true' : 'false' %>;
|
||||
var mailpoet_has_valid_api_key = <%= has_valid_api_key ? 'true' : 'false' %>;
|
||||
var mailpoet_mss_key_invalid = <%= mss_key_invalid ? 'true' : 'false' %>;
|
||||
var mailpoet_subscribers_count = <%= subscriber_count %>;
|
||||
var mailpoet_subscribers_in_plan_count = <%= subscriber_count %>;
|
||||
var mailpoet_premium_subscribers_count = <%= premium_subscriber_count %>;
|
||||
var mailpoet_has_premium_support = <%= has_premium_support ? 'true' : 'false' %>;
|
||||
var mailpoet_wp_users_count = <%= wp_users_count ? wp_users_count : 'false' %>;
|
||||
</script>
|
||||
<% endblock %>
|
||||
|
||||
|
Reference in New Issue
Block a user