Encapsulate showing WP notices into a separate Notice class
This commit is contained in:
@@ -4,6 +4,7 @@ namespace MailPoet\Config;
|
|||||||
use MailPoet\Models;
|
use MailPoet\Models;
|
||||||
use MailPoet\Cron\Supervisor;
|
use MailPoet\Cron\Supervisor;
|
||||||
use MailPoet\Router;
|
use MailPoet\Router;
|
||||||
|
use MailPoet\WP\Notice as WPNotice;
|
||||||
|
|
||||||
if(!defined('ABSPATH')) exit;
|
if(!defined('ABSPATH')) exit;
|
||||||
|
|
||||||
@@ -204,26 +205,7 @@ class Initializer {
|
|||||||
add_image_size('mailpoet_newsletter_max', 1320);
|
add_image_size('mailpoet_newsletter_max', 1320);
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleFailedInitialization($error_message) {
|
function handleFailedInitialization($message) {
|
||||||
return $this->displayAdminErrorNotice($error_message);
|
return WPNotice::displayError($message);
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* TODO: Extract notice and error handling into a separate component.
|
|
||||||
*/
|
|
||||||
protected function displayAdminErrorNotice($message) {
|
|
||||||
$this->error_message = $message;
|
|
||||||
return add_action('admin_notices', array($this, 'displayWPNotice'));
|
|
||||||
}
|
|
||||||
|
|
||||||
function displayWPNotice() {
|
|
||||||
$class = 'notice notice-error';
|
|
||||||
$message = sprintf(
|
|
||||||
"<b>%s </b> %s",
|
|
||||||
__('MailPoet Error:'),
|
|
||||||
$this->error_message
|
|
||||||
);
|
|
||||||
|
|
||||||
printf('<div class="%1$s"><p>%2$s</p></div>', $class, $message);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
43
lib/WP/Notice.php
Normal file
43
lib/WP/Notice.php
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
<?php
|
||||||
|
namespace MailPoet\WP;
|
||||||
|
|
||||||
|
class Notice {
|
||||||
|
|
||||||
|
protected function __construct($type, $message) {
|
||||||
|
$this->type = $type;
|
||||||
|
$this->message = $message;
|
||||||
|
}
|
||||||
|
|
||||||
|
static function displayError($message) {
|
||||||
|
$message = sprintf(
|
||||||
|
"<b>%s </b> %s",
|
||||||
|
__('MailPoet Error:'),
|
||||||
|
$message
|
||||||
|
);
|
||||||
|
self::createNotice('error', $message);
|
||||||
|
}
|
||||||
|
|
||||||
|
static function displayWarning($message) {
|
||||||
|
self::createNotice('warning', $message);
|
||||||
|
}
|
||||||
|
|
||||||
|
static function displaySuccess($message) {
|
||||||
|
self::createNotice('success', $message);
|
||||||
|
}
|
||||||
|
|
||||||
|
static function displayInfo($message) {
|
||||||
|
self::createNotice('info', $message);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected static function createNotice($type, $message) {
|
||||||
|
$notice = new Notice($type, $message);
|
||||||
|
add_action('admin_notices', array($notice, 'displayWPNotice'));
|
||||||
|
}
|
||||||
|
|
||||||
|
function displayWPNotice() {
|
||||||
|
$class = sprintf('notice notice-%s', $this->type);
|
||||||
|
$message = nl2br($this->message);
|
||||||
|
|
||||||
|
printf('<div class="%1$s"><p>%2$s</p></div>', $class, $message);
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user