HEX
Server: LiteSpeed
System: Linux s166.bitcommand.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: h340499 (1922)
PHP: 8.2.16
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/h340499/public_html/wp-content/plugins/wp-rocket/inc/Engine/Preload/Links/AdminSubscriber.php
<?php

namespace WP_Rocket\Engine\Preload\Links;

use WP_Rocket\Admin\Options_Data;
use WP_Rocket\Event_Management\Subscriber_Interface;

class AdminSubscriber implements Subscriber_Interface {
	/**
	 * Options Data instance
	 *
	 * @var Options_Data
	 */
	private $options;

	/**
	 * Instantiate the class.
	 *
	 * @param Options_Data $options Options Data instance.
	 */
	public function __construct( Options_Data $options ) {
		$this->options = $options;
	}

	/**
	 * Events this subscriber wants to listen to.
	 *
	 * @return array
	 */
	public static function get_subscribed_events() {
		return [
			'rocket_first_install_options' => 'add_option',
			'rocket_plugins_to_deactivate' => 'add_incompatible_plugins',
		];
	}

	/**
	 * Adds the option key & value to the WP Rocket options array
	 *
	 * @since 3.7
	 *
	 * @param array $options WP Rocket options array.
	 * @return array
	 */
	public function add_option( $options ) {
		$options = (array) $options;

		$options['preload_links'] = 1;

		return $options;
	}

	/**
	 * Adds plugins incompatible with preload links to our notice.
	 *
	 * @since 3.7
	 *
	 * @param array $plugins Array of incompatible plugins.
	 * @return array
	 */
	public function add_incompatible_plugins( $plugins ) {
		if ( ! (bool) $this->options->get( 'preload_links', 0 ) ) {
			return $plugins;
		}

		$plugins['flying-pages'] = 'flying-pages/flying-pages.php';
		$plugins['instant-page'] = 'instant-page/instantpage.php';
		$plugins['quicklink']    = 'quicklink/quicklink.php';

		return $plugins;
	}
}