Fix ServicesChecker behavior, make MSS check stricter [MAILPOET-890]
This commit is contained in:
@@ -305,14 +305,18 @@ class Menu {
|
||||
$settings = Setting::getAll();
|
||||
$flags = $this->_getFlags();
|
||||
|
||||
// force MSS key check even if the method isn't active
|
||||
$checker = new ServicesChecker();
|
||||
$mp_api_key_valid = $checker->isMailPoetAPIKeyValid(false, true);
|
||||
|
||||
$data = array(
|
||||
'settings' => $settings,
|
||||
'segments' => Segment::getSegmentsWithSubscriberCount(),
|
||||
'cron_trigger' => CronTrigger::getAvailableMethods(),
|
||||
'total_subscribers' => Subscriber::getTotalSubscribers(),
|
||||
'premium_plugin_active' => License::getLicense(),
|
||||
'premium_key_valid' => isset($this->premium_key_valid) ? $this->premium_key_valid : null,
|
||||
'mss_key_valid' => isset($this->mp_api_key_valid) ? $this->mp_api_key_valid : null,
|
||||
'premium_key_valid' => !empty($this->premium_key_valid),
|
||||
'mss_key_valid' => !empty($mp_api_key_valid),
|
||||
'pages' => Pages::getAll(),
|
||||
'flags' => $flags,
|
||||
'current_user' => wp_get_current_user(),
|
||||
|
@@ -12,17 +12,18 @@ use MailPoet\WP\Notice as WPNotice;
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
class ServicesChecker {
|
||||
function isMailPoetAPIKeyValid($display_error_notice = true) {
|
||||
if(!Bridge::isMPSendingServiceEnabled()) {
|
||||
$display_error_notice = false;
|
||||
function isMailPoetAPIKeyValid($display_error_notice = true, $force_check = false) {
|
||||
if(!$force_check && !Bridge::isMPSendingServiceEnabled()) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$mss_key_specified = Bridge::isMSSKeySpecified();
|
||||
$mss_key = Setting::getValue(Bridge::API_KEY_STATE_SETTING_NAME);
|
||||
if(empty($mss_key['state']) || $mss_key['state'] == Bridge::MAILPOET_KEY_VALID) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if($mss_key['state'] == Bridge::MAILPOET_KEY_INVALID) {
|
||||
if(!$mss_key_specified
|
||||
|| empty($mss_key['state'])
|
||||
|| $mss_key['state'] == Bridge::MAILPOET_KEY_INVALID
|
||||
) {
|
||||
if($display_error_notice) {
|
||||
$error = Helpers::replaceLinkTags(
|
||||
__('All sending is currently paused! Your key to send with MailPoet is invalid. [link]Visit MailPoet.com to purchase a key[/link]', 'mailpoet'),
|
||||
@@ -45,9 +46,11 @@ class ServicesChecker {
|
||||
WPNotice::displayWarning($error);
|
||||
}
|
||||
return true;
|
||||
} elseif($mss_key['state'] == Bridge::MAILPOET_KEY_VALID) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
function isPremiumKeyValid($display_error_notice = true) {
|
||||
|
Reference in New Issue
Block a user