Add warning to stats notification
[MAILPOET-2394]
This commit is contained in:
committed by
Jack Kitterhing
parent
c9052d71d4
commit
d0369e96c9
@ -13,9 +13,11 @@ use MailPoet\Mailer\Mailer;
|
|||||||
use MailPoet\Mailer\MetaInfo;
|
use MailPoet\Mailer\MetaInfo;
|
||||||
use MailPoet\Models\NewsletterLink;
|
use MailPoet\Models\NewsletterLink;
|
||||||
use MailPoet\Models\ScheduledTask;
|
use MailPoet\Models\ScheduledTask;
|
||||||
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository;
|
use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Tasks\Sending;
|
use MailPoet\Tasks\Sending;
|
||||||
|
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
use MailPoetVendor\Doctrine\ORM\EntityManager;
|
||||||
|
|
||||||
@ -51,6 +53,9 @@ class Worker {
|
|||||||
/** @var NewsletterStatisticsRepository */
|
/** @var NewsletterStatisticsRepository */
|
||||||
private $newsletter_statistics_repository;
|
private $newsletter_statistics_repository;
|
||||||
|
|
||||||
|
/** @var SubscribersFeature */
|
||||||
|
private $subscribers_feature;
|
||||||
|
|
||||||
function __construct(
|
function __construct(
|
||||||
Mailer $mailer,
|
Mailer $mailer,
|
||||||
Renderer $renderer,
|
Renderer $renderer,
|
||||||
@ -60,7 +65,8 @@ class Worker {
|
|||||||
StatsNotificationsRepository $repository,
|
StatsNotificationsRepository $repository,
|
||||||
NewsletterLinkRepository $newsletter_link_repository,
|
NewsletterLinkRepository $newsletter_link_repository,
|
||||||
NewsletterStatisticsRepository $newsletter_statistics_repository,
|
NewsletterStatisticsRepository $newsletter_statistics_repository,
|
||||||
EntityManager $entity_manager
|
EntityManager $entity_manager,
|
||||||
|
SubscribersFeature $subscribers_feature
|
||||||
) {
|
) {
|
||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
$this->mailer = $mailer;
|
$this->mailer = $mailer;
|
||||||
@ -71,6 +77,7 @@ class Worker {
|
|||||||
$this->entity_manager = $entity_manager;
|
$this->entity_manager = $entity_manager;
|
||||||
$this->newsletter_link_repository = $newsletter_link_repository;
|
$this->newsletter_link_repository = $newsletter_link_repository;
|
||||||
$this->newsletter_statistics_repository = $newsletter_statistics_repository;
|
$this->newsletter_statistics_repository = $newsletter_statistics_repository;
|
||||||
|
$this->subscribers_feature = $subscribers_feature;
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @throws \Exception */
|
/** @throws \Exception */
|
||||||
@ -114,6 +121,7 @@ class Worker {
|
|||||||
$opened = ($statistics->getOpenCount() * 100) / $statistics->getTotalSentCount();
|
$opened = ($statistics->getOpenCount() * 100) / $statistics->getTotalSentCount();
|
||||||
$unsubscribed = ($statistics->getUnsubscribeCount() * 100) / $statistics->getTotalSentCount();
|
$unsubscribed = ($statistics->getUnsubscribeCount() * 100) / $statistics->getTotalSentCount();
|
||||||
$subject = $newsletter->getLatestQueue()->getNewsletterRenderedSubject();
|
$subject = $newsletter->getLatestQueue()->getNewsletterRenderedSubject();
|
||||||
|
$subscribers_count = Subscriber::getTotalSubscribers();
|
||||||
$context = [
|
$context = [
|
||||||
'subject' => $subject,
|
'subject' => $subject,
|
||||||
'preheader' => sprintf(_x(
|
'preheader' => sprintf(_x(
|
||||||
@ -127,6 +135,9 @@ class Worker {
|
|||||||
'linkStats' => WPFunctions::get()->getSiteUrl(null, '/wp-admin/admin.php?page=mailpoet-newsletters#/stats/' . $newsletter->getId()),
|
'linkStats' => WPFunctions::get()->getSiteUrl(null, '/wp-admin/admin.php?page=mailpoet-newsletters#/stats/' . $newsletter->getId()),
|
||||||
'clicked' => $clicked,
|
'clicked' => $clicked,
|
||||||
'opened' => $opened,
|
'opened' => $opened,
|
||||||
|
'subscribersLimitReached' => $this->subscribers_feature->check(),
|
||||||
|
'subscribersLimit' => $this->subscribers_feature->getSubscribersLimit(),
|
||||||
|
'upgradeNowLink' => 'https://account.mailpoet.com/?s=' . ($subscribers_count + 1),
|
||||||
];
|
];
|
||||||
if ($link) {
|
if ($link) {
|
||||||
$context['topLinkClicks'] = $link->getTotalClicksCount();
|
$context['topLinkClicks'] = $link->getTotalClicksCount();
|
||||||
|
@ -17,6 +17,7 @@ use MailPoet\Models\StatisticsOpens;
|
|||||||
use MailPoet\Models\StatisticsUnsubscribes;
|
use MailPoet\Models\StatisticsUnsubscribes;
|
||||||
use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository;
|
use MailPoet\Newsletter\Statistics\NewsletterStatisticsRepository;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
|
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||||
use MailPoetVendor\Idiorm\ORM;
|
use MailPoetVendor\Idiorm\ORM;
|
||||||
use PHPUnit\Framework\MockObject\MockObject;
|
use PHPUnit\Framework\MockObject\MockObject;
|
||||||
|
|
||||||
@ -71,7 +72,8 @@ class WorkerTest extends \MailPoetTest {
|
|||||||
$this->repository,
|
$this->repository,
|
||||||
$this->newsletter_link_repository,
|
$this->newsletter_link_repository,
|
||||||
ContainerWrapper::getInstance()->get(NewsletterStatisticsRepository::class),
|
ContainerWrapper::getInstance()->get(NewsletterStatisticsRepository::class),
|
||||||
$this->entity_manager
|
$this->entity_manager,
|
||||||
|
ContainerWrapper::getInstance()->get(SubscribersFeature::class)
|
||||||
);
|
);
|
||||||
$this->settings->set(Worker::SETTINGS_KEY, [
|
$this->settings->set(Worker::SETTINGS_KEY, [
|
||||||
'enabled' => true,
|
'enabled' => true,
|
||||||
|
@ -45,6 +45,84 @@
|
|||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<% if subscribersLimitReached %>
|
||||||
|
<tr>
|
||||||
|
<td class="mailpoet_content" align="center" style="border-collapse:collapse;background-color:#fe5301!important" bgcolor="#fe5301">
|
||||||
|
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0;mso-table-lspace:0;mso-table-rspace:0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td style="border-collapse:collapse;padding-left:0;padding-right:0">
|
||||||
|
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="mailpoet_cols-one" style="border-collapse:collapse;border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;table-layout:fixed;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="mailpoet_spacer" height="26" valign="top" style="border-collapse:collapse"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mailpoet_text mailpoet_padded_vertical mailpoet_padded_side" valign="top" style="border-collapse:collapse;padding-top:10px;padding-bottom:10px;padding-left:20px;padding-right:20px;word-break:break-word;word-wrap:break-word">
|
||||||
|
<table style="border-collapse:collapse;border-spacing:0;mso-table-lspace:0;mso-table-rspace:0" width="100%" cellpadding="0">
|
||||||
|
<tbody><tr>
|
||||||
|
<td class="mailpoet_paragraph" style="border-collapse:collapse;color:#000000;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:16px;line-height:25.6px;word-break:break-word;word-wrap:break-word;text-align:left">
|
||||||
|
<span style="color: #ffffff;"><strong><%= __('Congratulations, you now have more than [subscribersLimit] subscribers!')|replace({'[subscribersLimit]': subscribersLimit}) %></strong></span><br><br>
|
||||||
|
</td>
|
||||||
|
</tr></tbody></table>
|
||||||
|
<table style="border-collapse:collapse;border-spacing:0;mso-table-lspace:0;mso-table-rspace:0" width="100%" cellpadding="0">
|
||||||
|
<tbody><tr>
|
||||||
|
<td class="mailpoet_paragraph" style="border-collapse:collapse;color:#000000;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:16px;line-height:25.6px;word-break:break-word;word-wrap:break-word;text-align:left">
|
||||||
|
<span style="color: #ffffff;"><strong></strong></span>
|
||||||
|
</td>
|
||||||
|
</tr></tbody></table>
|
||||||
|
<table style="border-collapse:collapse;border-spacing:0;mso-table-lspace:0;mso-table-rspace:0" width="100%" cellpadding="0">
|
||||||
|
<tbody><tr>
|
||||||
|
<td class="mailpoet_paragraph" style="border-collapse:collapse;color:#000000;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:16px;line-height:25.6px;word-break:break-word;word-wrap:break-word;text-align:left">
|
||||||
|
<span style="color: #ffffff;"><%= __('Our free version is limited to [subscribersLimit] subscribers. You need to upgrade now to be able to continue using MailPoet.')|replace({'[subscribersLimit]': subscribersLimit}) %></span>
|
||||||
|
</td>
|
||||||
|
</tr></tbody></table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mailpoet_padded_vertical mailpoet_padded_side" valign="top" style="border-collapse:collapse;padding-top:10px;padding-bottom:10px;padding-left:20px;padding-right:20px">
|
||||||
|
<div>
|
||||||
|
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-collapse:collapse;border-spacing:0;mso-table-lspace:0;mso-table-rspace:0">
|
||||||
|
<tbody><tr>
|
||||||
|
<td class="mailpoet_button-container" style="border-collapse:collapse;text-align:center"><!--[if mso]>
|
||||||
|
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word"
|
||||||
|
href=""
|
||||||
|
style="height:50px;
|
||||||
|
width:288px;
|
||||||
|
v-text-anchor:middle;"
|
||||||
|
arcsize="6%"
|
||||||
|
strokeweight="0px"
|
||||||
|
strokecolor="#0074a2"
|
||||||
|
fillcolor="#ffffff">
|
||||||
|
<w:anchorlock/>
|
||||||
|
<center style="color:#fe5301;
|
||||||
|
font-family:Arial;
|
||||||
|
font-size:20px;
|
||||||
|
font-weight:bold;">Upgrade Now
|
||||||
|
</center>
|
||||||
|
</v:roundrect>
|
||||||
|
<![endif]--><a class="mailpoet_button" href="<%= upgradeNowLink %>" style="color:#fe5301;text-decoration:none !important;display:inline-block;-webkit-text-size-adjust:none;mso-hide:all;text-align:center;background-color:#ffffff;border-color:#0074a2;border-width:0px;border-radius:3px;border-style:solid;width:288px;line-height:50px;font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif;font-size:20px;font-weight:normal"> Upgrade Now</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mailpoet_spacer" height="26" valign="top" style="border-collapse:collapse"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td class="mailpoet_spacer" bgcolor="#ffffff" height="26" valign="top" style="border-collapse:collapse"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<% endif %>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="mailpoet_content-cols-two" align="left" style="border-collapse:collapse">
|
<td class="mailpoet_content-cols-two" align="left" style="border-collapse:collapse">
|
||||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse">
|
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse">
|
||||||
|
@ -5,6 +5,15 @@
|
|||||||
|
|
||||||
<%= subject %>
|
<%= subject %>
|
||||||
|
|
||||||
|
<% if subscribersLimitReached %>
|
||||||
|
<%= __('Congratulations, you now have more than [subscribersLimit] subscribers!')|replace({'[subscribersLimit]': subscribersLimit}) %>
|
||||||
|
|
||||||
|
<%= __('Our free version is limited to [subscribersLimit] subscribers. You need to upgrade now to be able to continue using MailPoet.')|replace({'[subscribersLimit]': subscribersLimit}) %>
|
||||||
|
|
||||||
|
<%= __('Upgrade Now') %>
|
||||||
|
<%= upgradeNowLink %>
|
||||||
|
<% endif %>
|
||||||
|
|
||||||
<%= __('open rate') %>: <%= number_format_i18n(opened) %>%
|
<%= __('open rate') %>: <%= number_format_i18n(opened) %>%
|
||||||
<%= opened_stats_text(opened) %>
|
<%= opened_stats_text(opened) %>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user