From db23f5b91cb7e97a85c0035c6f2d20bde0c26aed Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Tue, 10 Sep 2019 14:14:39 +0200 Subject: [PATCH] Add a feature flag [MAILPOET-2274] --- lib/AdminPages/Pages/Premium.php | 13 ++- lib/Features/FeaturesController.php | 2 + views/premium_old.html | 163 ++++++++++++++++++++++++++++ 3 files changed, 176 insertions(+), 2 deletions(-) create mode 100644 views/premium_old.html diff --git a/lib/AdminPages/Pages/Premium.php b/lib/AdminPages/Pages/Premium.php index 45ed5a95f9..67f99e31d9 100644 --- a/lib/AdminPages/Pages/Premium.php +++ b/lib/AdminPages/Pages/Premium.php @@ -4,14 +4,19 @@ namespace MailPoet\AdminPages\Pages; use MailPoet\AdminPages\PageRenderer; use MailPoet\Config\Menu; +use MailPoet\Features\FeaturesController; use MailPoet\Models\Subscriber; class Premium { /** @var PageRenderer */ private $page_renderer; - function __construct(PageRenderer $page_renderer) { + /** @var FeaturesController */ + private $features_controller; + + function __construct(PageRenderer $page_renderer, FeaturesController $features_controller) { $this->page_renderer = $page_renderer; + $this->features_controller = $features_controller; } function render() { @@ -21,6 +26,10 @@ class Premium { 'display_discount' => time() <= strtotime('2018-11-30 23:59:59'), ]; - $this->page_renderer->displayPage('premium.html', $data); + if ($this->features_controller->isSupported(FeaturesController::NEW_PREMIUM_PAGE)) { + $this->page_renderer->displayPage('premium.html', $data); + } else { + $this->page_renderer->displayPage('premium_old.html', $data); + } } } diff --git a/lib/Features/FeaturesController.php b/lib/Features/FeaturesController.php index b489c554e0..5d58e94b06 100644 --- a/lib/Features/FeaturesController.php +++ b/lib/Features/FeaturesController.php @@ -8,12 +8,14 @@ class FeaturesController { // const FEATURE_NAME_OF_FEATURE = 'name-of-feature'; const NEW_DEFAULT_LIST_NAME = 'new-default-list-name'; const SEND_WORDPRESS_MAILS_WITH_MP3 = 'send-wordpress-mails-with-mp3'; + const NEW_PREMIUM_PAGE = 'new-premium-page'; // Define feature defaults in the array below in the following form: // self::FEATURE_NAME_OF_FEATURE => true, private $defaults = [ self::NEW_DEFAULT_LIST_NAME => false, self::SEND_WORDPRESS_MAILS_WITH_MP3 => false, + self::NEW_PREMIUM_PAGE => false, ]; /** @var array */ diff --git a/views/premium_old.html b/views/premium_old.html new file mode 100644 index 0000000000..91487d9191 --- /dev/null +++ b/views/premium_old.html @@ -0,0 +1,163 @@ +<% extends 'layout.html' %> + +<% block content %> +
+ + <% if display_discount %> +
+

<%= __('Discounts up to 50% for a limited time') %>

+

<%= __('Don’t miss out on our only sale of the year which ends on November 30.') %>

+

<%= __('There’s never been a better time to change gears.') %>

+ + <%= __('Save up to 50%') %> + +
+ <% endif %> + +

<%= __('What is MailPoet Premium?') %>

+ +

<%= __("Check out the brief video below. Or, keep reading!") %>

+ +
+ +
+
+ +
+
+ +
+ +

<%= __("Insightful Statistics") %>

+ +
+

<%= __("Which links get the most clicks? Which subscribers opened your emails? With MailPoet's stats program, it's easy to find out. Need even more details? Integrating with Google Analytics is as easy as 1-2-3.") %>

+ <% set video_url = cdn_url('premium/premium-page-animated-stats.mp4') %> + +
+ +
+ +

<%= __("Hello Inbox, Goodbye Spambox!") %>

+ +
+

<%= __("Having issues with reaching your subscribers? Always ending up in the spam box? Don't panic! You're not alone - over a quarter of our plugin users have sending issues, usually because they are sending emails via their web host. Instead, try using the new MailPoet Sending Service.") %>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
<%= __("MailPoet") %><%= __("Web host") %><%= __("Third party") %>
<%= __("Speed") %><%= __("50,000 / hour") %><%= __("300 / hour") %><%= __("2,000 / hour") %>
<%= __("Daily email limits") %><%= __("None") %><%= __("Yes") %><%= __("Depends") %>
<%= __("Personal deliverability support") %><%= __("Yes!") %><%= __("No") %><%= __("No") %>
<%= __("SPF and DKIM Signatures") %><%= __("No need!") %><%= __("Update your DNS") %><%= __("Depends") %>
<%= __("Double opt-in") %><%= __("Enforced") %><%= __("Not enforced") %><%= __("Depends") %>
+ +
+

<%= __("Spammers are ineligible to use the MailPoet Sending Service. We reserve the right to cancel any sending plan if we detect more than 5% hard bounces. [link]Customers are required to clean their lists before joining MailPoet[/link].") + |replaceLinkTags('https://kb.mailpoet.com/article/127-checklist-before-importing-subscribers?utm_source=plugin&utm_medium=premium&utm_campaign=clean-lists', {'target': '_blank', 'data-beacon-article': '57ce07ffc6979108399a044b'}) + |raw + %>

+
+ +
+ +
+

<%= __("We’re Here to Help!") %>

+ <% set video_url = cdn_url('premium/premium-page-animated-support.mp4') %> + +

<%= __("We pride ourselves on giving nearly round-the-clock support. Our remote team spans several continents, hemispheres, and time-zones! If you’ve got a problem, we will help you fix it!") %>

+
+ +
+ +

<%= __("Get Started for Just $15") %>

+ +
+

<%= __("Our plans start at just $15 per month. Plus, if you pay annually, you’ll get two months for free!") %>

+
+

+ <%= __("Purchase Now") %> +

+
+
+

<%= __("Already a Premium customer? [link]Add your Key in the Settings page[/link].") + |replaceLinkTags(admin_url('admin.php?page=mailpoet-settings#premium'), {'target': '_blank'}) + |raw + %>

+

<%= __("Don’t need to use our sending service? Not a problem; we understand. You can also [link]buy the Premium[/link] features separately. Prices start at $149 per year for 1 website, $249 for 4 sites and $499 for an unlimited number of sites.") + |replaceLinkTags(add_referral_id('https://account.mailpoet.com/premium?utm_source=plugin&utm_medium=premium&utm_campaign=buy-premium'), {'target': '_blank'}) + |raw + %>

+
+
+ +
+ +<% endblock %> + +<% block after_javascript %> + +<% endblock %>