Current path: home/webdevt/www/demo2/wp-content/plugins/divi-contact-form-helper/d4/app/Admin/Controllers/
?? Go up: /home/webdevt/www/demo2/wp-content/plugins/divi-contact-form-helper/d4/app/Admin
<?php
namespace KS_PAC_DCFH\Admin\Controllers;
if (!defined('ABSPATH')) {
exit;
}
class Admin_Notice
{
private static $_instance;
private const NOTICE_FIELD = '_dcfh_temp_admin_notice';
public static function instance(): self
{
if (self::$_instance === null) {
self::$_instance = new self();
}
return self::$_instance;
}
public static function show_admin_notice(): void
{
$options = get_option(self::NOTICE_FIELD);
if (!empty($options)) {
foreach ($options as $type => $messages) {
$messages = array_filter($messages, 'strlen');
$messages = array_values($messages);
echo "<div class='notice $type is-dismissible'>"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
if (count($messages) === 1) {
echo sprintf('<p>%s</p>', $messages[0]); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
} elseif (count($messages) > 1) {
echo '<ul>';
foreach ($messages as $message) {
echo "<li>$message</li>"; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
}
echo '</ul>';
}
echo "</div>";
}
delete_option(self::NOTICE_FIELD);
}
}
public static function add_error_message($message): void
{
self::save($message, 'notice-error');
}
public static function add_warning_message($message): void
{
self::save($message, 'notice-warning');
}
public static function add_info_message($message): void
{
self::save($message, 'notice-info');
}
public static function add_success_message($message): void
{
self::save($message, 'notice-success');
}
public static function get_settings_errors(): void
{
$alerts = get_settings_errors();
if (!empty($alerts[0]['message'])) {
$is_error = ($alerts[0]['type'] === 'error');
$messages = explode(',', $alerts[0]['message']);
if (!empty($messages)) {
foreach ($messages as $message) {
if ($is_error) {
self::add_error_message($message);
} else {
self::add_success_message($message);
}
}
}
}
}
protected static function save($message, $notice_level): void
{
$options = get_option(self::NOTICE_FIELD);
if ($options === false || !is_array($options)) {
$options = [];
}
$options[$notice_level][] = $message;
update_option(self::NOTICE_FIELD, $options, 'no');
}
}