Add SubscriberLimit and InvalidApi key pages classes
[MAILPOET-2200]
This commit is contained in:
committed by
M. Shull
parent
8693efdea5
commit
cb1dd28ea9
23
lib/AdminPages/Pages/SubscribersAPIKeyInvalid.php
Normal file
23
lib/AdminPages/Pages/SubscribersAPIKeyInvalid.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace MailPoet\AdminPages\Pages;
|
||||
|
||||
use MailPoet\AdminPages\PageRenderer;
|
||||
use MailPoet\Models\Subscriber;
|
||||
|
||||
if (!defined('ABSPATH')) exit;
|
||||
|
||||
class SubscribersAPIKeyInvalid {
|
||||
/** @var PageRenderer */
|
||||
private $page_renderer;
|
||||
|
||||
function __construct(PageRenderer $page_renderer) {
|
||||
$this->page_renderer = $page_renderer;
|
||||
}
|
||||
|
||||
function render() {
|
||||
$this->page_renderer->displayPage('invalidkey.html', [
|
||||
'subscriber_count' => Subscriber::getTotalSubscribers(),
|
||||
]);
|
||||
}
|
||||
}
|
23
lib/AdminPages/Pages/SubscribersLimitExceeded.php
Normal file
23
lib/AdminPages/Pages/SubscribersLimitExceeded.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace MailPoet\AdminPages\Pages;
|
||||
|
||||
use MailPoet\AdminPages\PageRenderer;
|
||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||
|
||||
if (!defined('ABSPATH')) exit;
|
||||
|
||||
class SubscribersLimitExceeded {
|
||||
/** @var PageRenderer */
|
||||
private $page_renderer;
|
||||
|
||||
function __construct(PageRenderer $page_renderer) {
|
||||
$this->page_renderer = $page_renderer;
|
||||
}
|
||||
|
||||
function render() {
|
||||
$this->page_renderer->displayPage('limit.html', [
|
||||
'limit' => SubscribersFeature::SUBSCRIBERS_LIMIT,
|
||||
]);
|
||||
}
|
||||
}
|
@ -2,7 +2,6 @@
|
||||
|
||||
namespace MailPoet\Config;
|
||||
|
||||
use MailPoet\AdminPages\PageRenderer;
|
||||
use MailPoet\AdminPages\Pages\ExperimentalFeatures;
|
||||
use MailPoet\AdminPages\Pages\FormEditor;
|
||||
use MailPoet\AdminPages\Pages\Forms;
|
||||
@ -15,13 +14,14 @@ use MailPoet\AdminPages\Pages\RevenueTrackingPermission;
|
||||
use MailPoet\AdminPages\Pages\Segments;
|
||||
use MailPoet\AdminPages\Pages\Settings;
|
||||
use MailPoet\AdminPages\Pages\Subscribers;
|
||||
use MailPoet\AdminPages\Pages\SubscribersAPIKeyInvalid;
|
||||
use MailPoet\AdminPages\Pages\SubscribersExport;
|
||||
use MailPoet\AdminPages\Pages\SubscribersImport;
|
||||
use MailPoet\AdminPages\Pages\SubscribersLimitExceeded;
|
||||
use MailPoet\AdminPages\Pages\Update;
|
||||
use MailPoet\AdminPages\Pages\WelcomeWizard;
|
||||
use MailPoet\AdminPages\Pages\WooCommerceListImport;
|
||||
use MailPoet\DI\ContainerWrapper;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Util\License\Features\Subscribers as SubscribersFeature;
|
||||
use MailPoet\Util\License\License;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
@ -42,9 +42,6 @@ class Menu {
|
||||
/** @var ServicesChecker */
|
||||
private $servicesChecker;
|
||||
|
||||
/** @var PageRenderer */
|
||||
private $page_renderer;
|
||||
|
||||
/** @var ContainerWrapper */
|
||||
private $container;
|
||||
|
||||
@ -54,13 +51,11 @@ class Menu {
|
||||
AccessControl $access_control,
|
||||
WPFunctions $wp,
|
||||
ServicesChecker $servicesChecker,
|
||||
PageRenderer $page_renderer,
|
||||
ContainerWrapper $containerWrapper
|
||||
) {
|
||||
$this->access_control = $access_control;
|
||||
$this->wp = $wp;
|
||||
$this->servicesChecker = $servicesChecker;
|
||||
$this->page_renderer = $page_renderer;
|
||||
$this->container = $containerWrapper;
|
||||
}
|
||||
|
||||
@ -439,14 +434,14 @@ class Menu {
|
||||
}
|
||||
|
||||
function forms() {
|
||||
if ($this->subscribers_over_limit) return $this->displaySubscriberLimitExceededTemplate();
|
||||
if ($this->subscribers_over_limit) return $this->displaySubscriberLimitExceeded();
|
||||
$this->container->get(Forms::class)->render();
|
||||
}
|
||||
|
||||
function newsletters() {
|
||||
if ($this->subscribers_over_limit) return $this->displaySubscriberLimitExceededTemplate();
|
||||
if ($this->subscribers_over_limit) return $this->displaySubscriberLimitExceeded();
|
||||
if (isset($this->mp_api_key_valid) && $this->mp_api_key_valid === false) {
|
||||
return $this->displayMailPoetAPIKeyInvalidTemplate();
|
||||
return $this->displayMailPoetAPIKeyInvalid();
|
||||
}
|
||||
$this->container->get(Newsletters::class)->render();
|
||||
}
|
||||
@ -467,6 +462,16 @@ class Menu {
|
||||
$this->container->get(FormEditor::class)->render();
|
||||
}
|
||||
|
||||
private function displaySubscriberLimitExceeded() {
|
||||
$this->container->get(SubscribersLimitExceeded::class)->render();
|
||||
exit;
|
||||
}
|
||||
|
||||
private function displayMailPoetAPIKeyInvalid() {
|
||||
$this->container->get(SubscribersAPIKeyInvalid::class)->render();
|
||||
exit;
|
||||
}
|
||||
|
||||
function setPageTitle($title) {
|
||||
return sprintf(
|
||||
'%s - %s',
|
||||
@ -475,20 +480,6 @@ class Menu {
|
||||
);
|
||||
}
|
||||
|
||||
function displaySubscriberLimitExceededTemplate() {
|
||||
$this->page_renderer->displayPage('limit.html', [
|
||||
'limit' => SubscribersFeature::SUBSCRIBERS_LIMIT,
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
function displayMailPoetAPIKeyInvalidTemplate() {
|
||||
$this->page_renderer->displayPage('invalidkey.html', [
|
||||
'subscriber_count' => Subscriber::getTotalSubscribers(),
|
||||
]);
|
||||
exit;
|
||||
}
|
||||
|
||||
static function isOnMailPoetAdminPage(array $exclude = null, $screen_id = null) {
|
||||
if (is_null($screen_id)) {
|
||||
if (empty($_REQUEST['page'])) {
|
||||
|
@ -42,8 +42,10 @@ class ContainerConfigurator implements IContainerConfigurator {
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\Segments::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\Settings::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\Subscribers::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\SubscribersAPIKeyInvalid::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\SubscribersExport::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\SubscribersImport::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\SubscribersLimitExceeded::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\Update::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\WelcomeWizard::class);
|
||||
$container->autowire(\MailPoet\AdminPages\Pages\WooCommerceListImport::class);
|
||||
|
@ -3,7 +3,6 @@
|
||||
namespace MailPoet\Test\Config;
|
||||
|
||||
use Codeception\Util\Stub;
|
||||
use MailPoet\AdminPages\PageRenderer;
|
||||
use MailPoet\Config\AccessControl;
|
||||
use MailPoet\Config\Menu;
|
||||
use MailPoet\Config\ServicesChecker;
|
||||
@ -41,8 +40,7 @@ class MenuTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItChecksMailpoetAPIKey() {
|
||||
$renderer = Stub::make(PageRenderer::class);
|
||||
$menu = $this->getMenu($renderer);
|
||||
$menu = $this->getMenu();
|
||||
|
||||
$_REQUEST['page'] = 'mailpoet-newsletters';
|
||||
$checker = Stub::make(
|
||||
@ -63,8 +61,7 @@ class MenuTest extends \MailPoetTest {
|
||||
}
|
||||
|
||||
function testItChecksPremiumKey() {
|
||||
$renderer = Stub::make(PageRenderer::class);
|
||||
$menu = $this->getMenu($renderer);
|
||||
$menu = $this->getMenu();
|
||||
|
||||
$_REQUEST['page'] = 'mailpoet-newsletters';
|
||||
$checker = Stub::make(
|
||||
@ -84,13 +81,12 @@ class MenuTest extends \MailPoetTest {
|
||||
expect($menu->premium_key_valid)->false();
|
||||
}
|
||||
|
||||
private function getMenu(PageRenderer $renderer) {
|
||||
private function getMenu() {
|
||||
$wp = new WPFunctions;
|
||||
return new Menu(
|
||||
new AccessControl(),
|
||||
$wp,
|
||||
new ServicesChecker,
|
||||
$renderer,
|
||||
ContainerWrapper::getInstance()
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user