Server : LiteSpeed System : Linux server321.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : apotdzgr ( 7060) PHP Version : 8.0.30 Disable Function : NONE Directory : /home/apotdzgr/konapotheek.com/wp-content/plugins/nextend-facebook-connect/NSL/ |
Upload File : |
<?php namespace NSL; use NSL\Persistent\Persistent; use WP_Error; class Notices { private static $notices; private static $instance; public static function init() { if (self::$instance === null) { self::$instance = new self; } } private function __construct() { if (is_admin() || (isset($_GET['nsl-notice']) && $_GET['nsl-notice'] == 1)) { add_action('init', array( $this, 'load' ), 11); if ((!empty($_SERVER['PHP_SELF']) && basename($_SERVER['PHP_SELF']) !== 'options-general.php') || empty($_GET['page']) || $_GET['page'] !== 'nextend-social-login') { add_action('admin_notices', array( $this, 'admin_notices' )); } add_action('admin_print_footer_scripts', array( $this, 'notices_fallback' )); add_action('wp_print_footer_scripts', array( $this, 'notices_fallback' )); } } public function load() { self::$notices = maybe_unserialize(self::get()); if (!is_array(self::$notices)) { self::$notices = array(); } } private static function add($type, $message) { if (!isset(self::$notices[$type])) { self::$notices[$type] = array(); } if (!in_array($message, self::$notices[$type])) { self::$notices[$type][] = $message; } self::set(); } /** * @param $message string|WP_Error */ public static function addError($message) { if (is_wp_error($message)) { foreach ($message->get_error_messages() as $m) { self::add('error', $m); } } else { self::add('error', $message); } } public static function getErrors() { if (isset(self::$notices['error'])) { $errors = self::$notices['error']; unset(self::$notices['error']); self::set(); return $errors; } return false; } public static function addSuccess($message) { self::add('success', $message); } public static function displayNotices() { $html = self::getHTML(); if (!empty($html)) { echo '<div class="nsl-admin-notices">' . $html . '</div>'; } } public function admin_notices() { echo self::getHTML(); } /** * Displays the non-displayed notices in lightbox as a fallback */ public function notices_fallback() { $html = self::getHTML(); if (!empty($html)) { ?> <div id="nsl-notices-fallback" onclick="this.parentNode.removeChild(this);"> <?php echo $html; \NextendSocialLogin::noticeStyles(); ?> </div> <?php } } private static function getHTML() { $html = ''; if (isset(self::$notices['success'])) { foreach (self::$notices['success'] AS $message) { $html .= '<div class="updated"><p>' . $message . '</p></div>'; } } if (isset(self::$notices['error'])) { foreach (self::$notices['error'] AS $message) { $html .= '<div class="error"><p>' . $message . '</p></div>'; } } self::clear(); return $html; } private static function get() { return Persistent::get('notices'); } private static function set() { Persistent::set('notices', self::$notices); } public static function clear() { Persistent::delete('notices'); self::$notices = array(); } public static function hasErrors() { if (isset(self::$notices['error'])) { return true; } return false; } }