?? GreyFile — Mystic File Browser

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

?? Viewing: Admin_Notice.php

<?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');
    }

}


??

??