HEX
Server: Apache
System: Linux sg241.singhost.net 2.6.32-896.16.1.lve1.4.51.el6.x86_64 #1 SMP Wed Jan 17 13:19:23 EST 2018 x86_64
User: honghock (909)
PHP: 8.0.30
Disabled: passthru,system,shell_exec,show_source,exec,popen,proc_open
Upload Files
File: /home/honghock/www/wp-content/plugins/easyjobs/admin/includes/Notice/Utils/NoticeRemover.php
<?php

namespace PriyoMukul\WPNotice\Utils;

use PriyoMukul\WPNotice\Notices;

class NoticeRemover {
	private static $instance = null;

	public static function get_instance( $version ) {
		if ( self::$instance == null ) {
			self::$instance = new static( $version );
		}

		return self::$instance;
	}

	public function __construct( $version = '1.0.0', $instanceOf = null ) {
		add_action( 'init', function () use ( $version, $instanceOf ) {
			global $wp_filter;

			if ( $instanceOf === null ) {
				$instanceOf = Notices::class;
			}

			foreach ( $wp_filter['admin_notices']->callbacks[10] as $callback ) {
				if ( is_array( $callback['function'] ) && $callback['function'][0] instanceof $instanceOf ) {
					$notice = $callback['function'][0];

					if ( $notice->version === $version ) {
						remove_action( 'admin_notices', [ $notice, 'notices' ] );
						remove_action( 'admin_footer', [ $notice, 'scripts' ] );
					}
				}
			}
		} );
	}
}