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/ThirdParty/Plugins/PDFEmbedder.php
<?php
namespace WP_Rocket\ThirdParty\Plugins;

use WP_Rocket\Event_Management\Subscriber_Interface;

/**
 * Subscriber for compatibility with PDF Embedder Free / Premium / Secure plugin.
 *
 * @since  3.6.2
 */
class PDFEmbedder implements Subscriber_Interface {
	/**
	 * Subscribed events.
	 *
	 * @since  3.6.2
	 */
	public static function get_subscribed_events() {
		// All 3 plugins use the same core class.
		if ( ! class_exists( 'core_pdf_embedder' ) ) {
			return [];
		}

		return [
			'rocket_exclude_js' => 'exclude_pdfembedder_scripts',
		];
	}

	/**
	 * Adds PDFEmbedder scripts to defer JS exclusion
	 *
	 * @since 3.6.2
	 *
	 * @param  array $excluded_js Array of scripts to exclude.
	 * @return array
	 */
	public function exclude_pdfembedder_scripts( $excluded_js ) {
		if (
			class_exists( 'PDF_Embedder_Basic' )
			||
			class_exists( 'pdfemb_basic_pdf_embedder' )
		) {
			// Exclude Free version.
			return array_merge(
				$excluded_js,
				$this->pdfembedder_free_scripts()
			);
		}

		if ( class_exists( 'pdfemb_premium_mobile_pdf_embedder' ) ) {
			// Excludes PDFEmbedder-premium.
			return array_merge(
				$excluded_js,
				$this->pdfembedder_premium_scripts()
			);
		}

		if ( class_exists( 'pdfemb_premium_secure_pdf_embedder' ) ) {
			// Excludes PDFEmbedder-premium-secure.
			return array_merge(
				$excluded_js,
				$this->pdfembedder_secure_scripts()
			);
		}

		return $excluded_js;
	}

	/**
	 * PDFEmbedder Free JS scripts.
	 *
	 * @return array JS files to be excluded.
	 */
	private function pdfembedder_free_scripts() {
		return [
			rocket_clean_exclude_file( plugins_url( '/pdf-embedder/js/(.*).js' ) ),
		];
	}

	/**
	 * PDFEmbedder Premium JS scripts.
	 *
	 * @return array JS files to be excluded.
	 */
	private function pdfembedder_premium_scripts() {
		return [
			rocket_clean_exclude_file( plugins_url( '/PDFEmbedder-premium/js/pdfjs/(.*).js' ) ),
			rocket_clean_exclude_file( plugins_url( '/PDFEmbedder-premium/js/(.*).js' ) ),
		];
	}

	/**
	 * PDFEmbedder Secure JS scripts.
	 *
	 * @return array JS files to be excluded.
	 */
	private function pdfembedder_secure_scripts() {
		return [
			rocket_clean_exclude_file( plugins_url( '/PDFEmbedder-premium-secure/js/pdfjs/(.*).js' ) ),
			rocket_clean_exclude_file( plugins_url( '/PDFEmbedder-premium-secure/js/(.*).js' ) ),
		];
	}
}