Refactor code to the common place

[MAILPOET-1859]
This commit is contained in:
Pavel Dohnal
2019-07-17 14:41:13 +02:00
committed by M. Shull
parent 8f5fb52f15
commit d58b2ed40e
5 changed files with 72 additions and 52 deletions

View File

@ -44,7 +44,7 @@ class AutomatedEmails extends SimpleWorker {
function processTaskStrategy(ScheduledTask $task) { function processTaskStrategy(ScheduledTask $task) {
// TODO // TODO
// TODO refactor \MailPoet\Cron\Workers\StatsNotifications\Worker and Scheduler and share the code // TODO refactor \MailPoet\Cron\Workers\StatsNotifications\Worker and Scheduler and share the code
// TODO refactor the views templates mailpoet/views/emails/statsNotification.html and txt and share them // TODO settings isn't saved properly :(
} }
static function getNextRunDate() { static function getNextRunDate() {

View File

@ -128,6 +128,26 @@ class Functions extends AbstractExtension {
[$this, 'getWPStartOfWeek'], [$this, 'getWPStartOfWeek'],
['is_safe' => ['all']] ['is_safe' => ['all']]
), ),
new TwigFunction(
'opened_stats_color',
[$this, 'openedStatsColor'],
['is_safe' => ['all']]
),
new TwigFunction(
'clicked_stats_color',
[$this, 'clickedStatsColor'],
['is_safe' => ['all']]
),
new TwigFunction(
'opened_stats_text',
[$this, 'openedStatsText'],
['is_safe' => ['all']]
),
new TwigFunction(
'clicked_stats_text',
[$this, 'clickedStatsText'],
['is_safe' => ['all']]
),
]; ];
} }
@ -225,4 +245,44 @@ class Functions extends AbstractExtension {
function isWoocommerceActive() { function isWoocommerceActive() {
return $this->woocommerce_helper->isWooCommerceActive(); return $this->woocommerce_helper->isWooCommerceActive();
} }
function openedStatsColor($opened) {
if ($opened > 30) {
return '#2993ab';
} elseif ($opened > 10) {
return '#f0b849';
} else {
return '#d54e21';
}
}
function clickedStatsColor($clicked) {
if ($clicked > 3) {
return '#2993ab';
} elseif ($clicked > 1) {
return '#f0b849';
} else {
return '#d54e21';
}
}
function openedStatsText($opened) {
if ($opened > 30) {
return __('EXCELLENT', 'mailpoet');
} elseif ($opened > 10) {
return __('GOOD', 'mailpoet');
} else {
return __('BAD', 'mailpoet');
}
}
function clickedStatsText($clicked) {
if ($clicked > 3) {
return __('EXCELLENT', 'mailpoet');
} elseif ($clicked > 1) {
return __('GOOD', 'mailpoet');
} else {
return __('BAD', 'mailpoet');
}
}
} }

View File

@ -1,21 +1,5 @@
<% extends 'emails/statsNotificationLayout.html' %> <% extends 'emails/statsNotificationLayout.html' %>
<% if opened > 30 %>
<% set openedColor = '2993ab' %>
<% elseif opened > 10 %>
<% set openedColor = 'f0b849' %>
<% else %>
<% set openedColor = 'd54e21' %>
<% endif %>
<% if clicked > 3 %>
<% set clickedColor = '2993ab' %>
<% elseif clicked > 1 %>
<% set clickedColor = 'f0b849' %>
<% else %>
<% set clickedColor = 'd54e21' %>
<% endif %>
<% block content %> <% block content %>
<tr> <tr>
<td class="mailpoet_content" align="center" style="border-collapse:collapse"> <td class="mailpoet_content" align="center" style="border-collapse:collapse">
@ -82,14 +66,8 @@
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse"> <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse">
<tr> <tr>
<td class="mailpoet_button-container" style="text-align:center;border-collapse:collapse"> <td class="mailpoet_button-container" style="text-align:center;border-collapse:collapse">
<a class="mailpoet_button" href="" style="display:inline-block;-webkit-text-size-adjust:none;mso-hide:all;text-decoration:none;text-align:center;background-color:#<%= openedColor %> ;border-color:#0074a2 ;border-width:0px ;border-radius:3px ;border-style:solid ;width:100px ;line-height:20px ;color:#ffffff ;font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif ;font-size:10px ;font-weight:normal "> <a class="mailpoet_button" href="" style="display:inline-block;-webkit-text-size-adjust:none;mso-hide:all;text-decoration:none;text-align:center;background-color:<%= opened_stats_color(opened) %> ;border-color:#0074a2 ;border-width:0px ;border-radius:3px ;border-style:solid ;width:100px ;line-height:20px ;color:#ffffff ;font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif ;font-size:10px ;font-weight:normal ">
<% if opened > 30 %> <%= opened_stats_text(opened) %>
<%= __('EXCELLENT') %>
<% elseif opened > 10 %>
<%= __('GOOD') %>
<% else %>
<%= __('BAD') %>
<% endif %>
</a></td> </a></td>
</tr> </tr>
</table> </table>
@ -99,7 +77,7 @@
<tr> <tr>
<td class="mailpoet_text mailpoet_padded_vertical mailpoet_padded_side" valign="top" style="word-break:break-word;word-wrap:break-word;padding-top:0;border-collapse:collapse;padding-left:20px;padding-right:20px"> <td class="mailpoet_text mailpoet_padded_vertical mailpoet_padded_side" valign="top" style="word-break:break-word;word-wrap:break-word;padding-top:0;border-collapse:collapse;padding-left:20px;padding-right:20px">
<h2 style="text-align:center;padding:0;font-style:normal;font-weight:normal;margin:0 0 12px;color:#222222;font-family:'Courier New',Courier,'Lucida Sans Typewriter','Lucida Typewriter',monospace;font-size:40px;line-height:64px"> <h2 style="text-align:center;padding:0;font-style:normal;font-weight:normal;margin:0 0 12px;color:#222222;font-family:'Courier New',Courier,'Lucida Sans Typewriter','Lucida Typewriter',monospace;font-size:40px;line-height:64px">
<span style="color: #<%= openedColor %>;"> <span style="color: <%= opened_stats_color(opened) %>;">
<strong><%= number_format_i18n(opened, 1) %>%</strong> <strong><%= number_format_i18n(opened, 1) %>%</strong>
</span> </span>
</h2> </h2>
@ -110,7 +88,7 @@
<table style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse" width="100%" cellpadding="0"> <table style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse" width="100%" cellpadding="0">
<tr> <tr>
<td class="mailpoet_paragraph" style="word-break:break-word;word-wrap:break-word;text-align:center;border-collapse:collapse;color:#000000;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:16px;line-height:25.6px"> <td class="mailpoet_paragraph" style="word-break:break-word;word-wrap:break-word;text-align:center;border-collapse:collapse;color:#000000;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:16px;line-height:25.6px">
<span style="color: #<%= openedColor %>;"> <span style="color: <%= opened_stats_color(opened) %>">
<%= __('open rate') %> <%= __('open rate') %>
</span> </span>
</td> </td>
@ -133,14 +111,8 @@
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse"> <table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse">
<tr> <tr>
<td class="mailpoet_button-container" style="text-align:center;border-collapse:collapse"> <td class="mailpoet_button-container" style="text-align:center;border-collapse:collapse">
<a class="mailpoet_button" href="" style="display:inline-block;-webkit-text-size-adjust:none;mso-hide:all;text-decoration:none;text-align:center;background-color:#<%= clickedColor %> ;border-color:#0074a2 ;border-width:0px ;border-radius:3px ;border-style:solid ;width:100px ;line-height:20px ;color:#ffffff ;font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif ;font-size:10px ;font-weight:normal "> <a class="mailpoet_button" href="" style="display:inline-block;-webkit-text-size-adjust:none;mso-hide:all;text-decoration:none;text-align:center;background-color:<%= clicked_stats_color(clicked) %> ;border-color:#0074a2 ;border-width:0px ;border-radius:3px ;border-style:solid ;width:100px ;line-height:20px ;color:#ffffff ;font-family:Arial, 'Helvetica Neue', Helvetica, sans-serif ;font-size:10px ;font-weight:normal ">
<% if clicked > 3 %> <%= clicked_stats_text(clicked) %>
<%= __('EXCELLENT') %>
<% elseif clicked > 1 %>
<%= __('GOOD') %>
<% else %>
<%= __('BAD') %>
<% endif %>
</a> </a>
</td> </td>
</tr> </tr>
@ -151,7 +123,7 @@
<tr> <tr>
<td class="mailpoet_text mailpoet_padded_vertical mailpoet_padded_side" valign="top" style="word-break:break-word;word-wrap:break-word;padding-top:0;border-collapse:collapse;padding-left:20px;padding-right:20px"> <td class="mailpoet_text mailpoet_padded_vertical mailpoet_padded_side" valign="top" style="word-break:break-word;word-wrap:break-word;padding-top:0;border-collapse:collapse;padding-left:20px;padding-right:20px">
<h2 style="text-align:center;padding:0;font-style:normal;font-weight:normal;margin:0 0 12px;color:#222222;font-family:'Courier New',Courier,'Lucida Sans Typewriter','Lucida Typewriter',monospace;font-size:40px;line-height:64px"> <h2 style="text-align:center;padding:0;font-style:normal;font-weight:normal;margin:0 0 12px;color:#222222;font-family:'Courier New',Courier,'Lucida Sans Typewriter','Lucida Typewriter',monospace;font-size:40px;line-height:64px">
<span style="color: #<%= clickedColor %>;"> <span style="color: <%= clicked_stats_color(clicked) %>">
<strong><%= number_format_i18n(clicked, 1) %>%</strong> <strong><%= number_format_i18n(clicked, 1) %>%</strong>
</span> </span>
</h2> </h2>
@ -162,7 +134,7 @@
<table style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse" width="100%" cellpadding="0"> <table style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse" width="100%" cellpadding="0">
<tr> <tr>
<td class="mailpoet_paragraph" style="word-break:break-word;word-wrap:break-word;text-align:center;border-collapse:collapse;color:#000000;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:16px;line-height:25.6px"> <td class="mailpoet_paragraph" style="word-break:break-word;word-wrap:break-word;text-align:center;border-collapse:collapse;color:#000000;font-family:Arial,'Helvetica Neue',Helvetica,sans-serif;font-size:16px;line-height:25.6px">
<span style="color: #<%= clickedColor %>;"> <span style="color: <%= clicked_stats_color(clicked) %>">
<%= __('click rate') %> <%= __('click rate') %>
</span> </span>
</td> </td>

View File

@ -6,22 +6,10 @@
<%= subject %> <%= subject %>
<%= __('open rate') %>: <%= number_format_i18n(opened) %>% <%= __('open rate') %>: <%= number_format_i18n(opened) %>%
<% if opened > 30 %> <%= opened_stats_text(opened) %>
<%= __('EXCELLENT') %>
<% elseif opened > 10 %>
<%= __('GOOD') %>
<% else %>
<%= __('BAD') %>
<% endif %>
<%= __('click rate') %>: <%= number_format_i18n(clicked) %>% <%= __('click rate') %>: <%= number_format_i18n(clicked) %>%
<% if clicked > 3 %> <%= clicked_stats_text(opened) %>
<%= __('EXCELLENT') %>
<% elseif clicked > 1 %>
<%= __('GOOD') %>
<% else %>
<%= __('BAD') %>
<% endif %>
<% if topLinkClicks > 0 %> <% if topLinkClicks > 0 %>
<%= __('Most clicked link') %> <%= __('Most clicked link') %>

View File

@ -28,7 +28,7 @@
<table class="mailpoet_template" border="0" width="100%" cellpadding="0" cellspacing="0" style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse"> <table class="mailpoet_template" border="0" width="100%" cellpadding="0" cellspacing="0" style="border-spacing:0;mso-table-lspace:0;mso-table-rspace:0;border-collapse:collapse">
<tbody> <tbody>
<tr> <tr>
<% if preheader %> <% if preheader is defined %>
<td class="mailpoet_preheader" style="-webkit-text-size-adjust:none;font-size:1px;line-height:1px;color:#ffffff;border-collapse:collapse;display:none;visibility:hidden;mso-hide:all;max-height:0;max-width:0;opacity:0;overflow:hidden" height="1"> <td class="mailpoet_preheader" style="-webkit-text-size-adjust:none;font-size:1px;line-height:1px;color:#ffffff;border-collapse:collapse;display:none;visibility:hidden;mso-hide:all;max-height:0;max-width:0;opacity:0;overflow:hidden" height="1">
<%= preheader %> <%= preheader %>
</td> </td>