Use DI for ServicesChecker
[MAILPOET-1787]
This commit is contained in:
@@ -51,6 +51,8 @@ class Menu {
|
|||||||
private $settings;
|
private $settings;
|
||||||
/** @var WPFunctions */
|
/** @var WPFunctions */
|
||||||
private $wp;
|
private $wp;
|
||||||
|
/** @var ServicesChecker */
|
||||||
|
private $servicesChecker;
|
||||||
|
|
||||||
private $subscribers_over_limit;
|
private $subscribers_over_limit;
|
||||||
|
|
||||||
@@ -59,13 +61,15 @@ class Menu {
|
|||||||
AccessControl $access_control,
|
AccessControl $access_control,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
WooCommerceHelper $woocommerce_helper
|
WooCommerceHelper $woocommerce_helper,
|
||||||
|
ServicesChecker $servicesChecker
|
||||||
) {
|
) {
|
||||||
$this->renderer = $renderer;
|
$this->renderer = $renderer;
|
||||||
$this->access_control = $access_control;
|
$this->access_control = $access_control;
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->woocommerce_helper = $woocommerce_helper;
|
$this->woocommerce_helper = $woocommerce_helper;
|
||||||
|
$this->servicesChecker = $servicesChecker;
|
||||||
}
|
}
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
@@ -445,8 +449,7 @@ class Menu {
|
|||||||
$flags = $this->_getFlags();
|
$flags = $this->_getFlags();
|
||||||
|
|
||||||
// force MSS key check even if the method isn't active
|
// force MSS key check even if the method isn't active
|
||||||
$checker = new ServicesChecker();
|
$mp_api_key_valid = $this->servicesChecker->isMailPoetAPIKeyValid(false, true);
|
||||||
$mp_api_key_valid = $checker->isMailPoetAPIKeyValid(false, true);
|
|
||||||
|
|
||||||
$data = array(
|
$data = array(
|
||||||
'settings' => $settings,
|
'settings' => $settings,
|
||||||
@@ -825,7 +828,7 @@ class Menu {
|
|||||||
if (self::isOnMailPoetAdminPage()) {
|
if (self::isOnMailPoetAdminPage()) {
|
||||||
$show_notices = isset($_REQUEST['page'])
|
$show_notices = isset($_REQUEST['page'])
|
||||||
&& stripos($_REQUEST['page'], self::MAIN_PAGE_SLUG) === false;
|
&& stripos($_REQUEST['page'], self::MAIN_PAGE_SLUG) === false;
|
||||||
$checker = $checker ?: new ServicesChecker();
|
$checker = $checker ?: $this->servicesChecker;
|
||||||
$this->mp_api_key_valid = $checker->isMailPoetAPIKeyValid($show_notices);
|
$this->mp_api_key_valid = $checker->isMailPoetAPIKeyValid($show_notices);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -833,13 +836,13 @@ class Menu {
|
|||||||
function checkPremiumKey(ServicesChecker $checker = null) {
|
function checkPremiumKey(ServicesChecker $checker = null) {
|
||||||
$show_notices = isset($_SERVER['SCRIPT_NAME'])
|
$show_notices = isset($_SERVER['SCRIPT_NAME'])
|
||||||
&& stripos($_SERVER['SCRIPT_NAME'], 'plugins.php') !== false;
|
&& stripos($_SERVER['SCRIPT_NAME'], 'plugins.php') !== false;
|
||||||
$checker = $checker ?: new ServicesChecker();
|
$checker = $checker ?: $this->servicesChecker;
|
||||||
$this->premium_key_valid = $checker->isPremiumKeyValid($show_notices);
|
$this->premium_key_valid = $checker->isPremiumKeyValid($show_notices);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function checkFromEmailAuthorization() {
|
private function checkFromEmailAuthorization() {
|
||||||
if (self::isOnMailPoetAdminPage()) {
|
if (self::isOnMailPoetAdminPage()) {
|
||||||
$checker = new ServicesChecker();
|
$checker = $this->servicesChecker;
|
||||||
$checker->isFromEmailAuthorized();
|
$checker->isFromEmailAuthorized();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -43,7 +43,7 @@ class MenuTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItChecksMailpoetAPIKey() {
|
function testItChecksMailpoetAPIKey() {
|
||||||
$renderer = Stub::make(new Renderer());
|
$renderer = Stub::make(new Renderer());
|
||||||
$menu = new Menu($renderer, new AccessControl(new Functions()), new SettingsController(), new Functions(), new WooCommerceHelper);
|
$menu = new Menu($renderer, new AccessControl(new Functions()), new SettingsController(), new Functions(), new WooCommerceHelper, new ServicesChecker);
|
||||||
|
|
||||||
$_REQUEST['page'] = 'mailpoet-newsletters';
|
$_REQUEST['page'] = 'mailpoet-newsletters';
|
||||||
$checker = Stub::make(
|
$checker = Stub::make(
|
||||||
@@ -65,7 +65,7 @@ class MenuTest extends \MailPoetTest {
|
|||||||
|
|
||||||
function testItChecksPremiumKey() {
|
function testItChecksPremiumKey() {
|
||||||
$renderer = Stub::make(new Renderer());
|
$renderer = Stub::make(new Renderer());
|
||||||
$menu = new Menu($renderer, new AccessControl(new Functions()), new SettingsController(), new Functions(), new WooCommerceHelper);
|
$menu = new Menu($renderer, new AccessControl(new Functions()), new SettingsController(), new Functions(), new WooCommerceHelper, new ServicesChecker);
|
||||||
|
|
||||||
$_REQUEST['page'] = 'mailpoet-newsletters';
|
$_REQUEST['page'] = 'mailpoet-newsletters';
|
||||||
$checker = Stub::make(
|
$checker = Stub::make(
|
||||||
|
Reference in New Issue
Block a user