HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: /home/mirz4654/public_html/wp-content/plugins/wordpress-seo/src/helpers/notification-helper.php
<?php

namespace Yoast\WP\SEO\Helpers;

use Yoast_Notification;
use Yoast_Notification_Center;

/**
 * A helper object for notifications.
 */
class Notification_Helper {

	/**
	 * Restores a notification (wrapper function).
	 *
	 * @codeCoverageIgnore
	 *
	 * @param Yoast_Notification $notification The notification to restore.
	 *
	 * @return bool True if restored, false otherwise.
	 */
	public function restore_notification( Yoast_Notification $notification ) {
		return Yoast_Notification_Center::restore_notification( $notification );
	}

	/**
	 * Return the notifications sorted on type and priority. (wrapper function)
	 *
	 * @codeCoverageIgnore
	 *
	 * @return array|Yoast_Notification[] Sorted Notifications
	 */
	public function get_sorted_notifications() {
		$notification_center = Yoast_Notification_Center::get();

		return $notification_center->get_sorted_notifications();
	}

	/**
	 * Check if the user has dismissed a notification. (wrapper function)
	 *
	 * @param Yoast_Notification $notification The notification to check for dismissal.
	 * @param int|null           $user_id      User ID to check on.
	 *
	 * @codeCoverageIgnore
	 *
	 * @return bool
	 */
	private function is_notification_dismissed( Yoast_Notification $notification, $user_id = null ) {
		return Yoast_Notification_Center::is_notification_dismissed( $notification, $user_id );
	}

	/**
	 * Parses all the notifications to an array with just id, message, nonce, type and dismissed.
	 *
	 * @return array<string,string|bool>
	 */
	public function get_alerts(): array {
		$all_notifications = $this->get_sorted_notifications();

		return \array_map(
			function ( $notification ) {
				return [
					'id'        => $notification->get_id(),
					'message'   => $notification->get_message(),
					'nonce'     => $notification->get_nonce(),
					'type'      => $notification->get_type(),
					'dismissed' => $this->is_notification_dismissed( $notification ),
				];
			},
			$all_notifications
		);
	}
}