Files
piratepoet/lib/WP/Notice.php
Pavel Dohnal b74be8777a Display warning on Email pages
[PREMIUM-28]
2017-08-29 11:22:51 +02:00

61 lines
1.5 KiB
PHP

<?php
namespace MailPoet\WP;
class Notice {
const TYPE_ERROR = 'error';
const TYPE_WARNING = 'warning';
const TYPE_SUCCESS = 'success';
const TYPE_INFO = 'info';
private $type;
private $message;
private $display_inline;
function __construct($type, $message, $display_inline) {
$this->type = $type;
$this->message = $message;
$this->display_inline = $display_inline;
}
static function displayError($message) {
$message = sprintf(
"<b>%s </b> %s",
__('MailPoet Error:', 'mailpoet'),
$message
);
self::createNotice(self::TYPE_ERROR, $message);
}
static function displayWarning($message) {
self::createNotice(self::TYPE_WARNING, $message);
}
static function displayInlineWarning($message) {
self::createNotice(self::TYPE_WARNING, $message, true);
}
static function displaySuccess($message) {
self::createNotice(self::TYPE_SUCCESS, $message);
}
static function displayInfo($message) {
self::createNotice(self::TYPE_INFO, $message);
}
protected static function createNotice($type, $message, $display_inline = false) {
$notice = new Notice($type, $message, $display_inline);
add_action('admin_notices', array($notice, 'displayWPNotice'));
}
function displayWPNotice() {
$class = sprintf('notice notice-%s mailpoet_notice_server', $this->type);
if($this->display_inline) {
$class .= ' inline';
}
$message = nl2br($this->message);
printf('<div class="%1$s"><p>%2$s</p></div>', $class, $message);
}
}