HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/delta/wp-content/plugins/w3-total-cache/Extension_Amp_Plugin_Admin.php
<?php
/**
 * File: Extension_Amp_Plugin_Admin.php
 *
 * @package W3TC
 */

namespace W3TC;

/**
 * Class Extension_Amp_Plugin_Admin
 *
 * phpcs:disable Generic.CodeAnalysis.UnusedFunctionParameter
 */
class Extension_Amp_Plugin_Admin {
	/**
	 * Modifies the extensions array to include AMP extension details.
	 *
	 * @param array  $extensions Array of current extensions.
	 * @param object $config     Configuration object.
	 *
	 * @return array Modified extensions array with AMP extension.
	 */
	public static function w3tc_extensions( $extensions, $config ) {
		$enabled          = true;
		$disabled_message = '';

		$requirements = array();

		$extensions['amp'] = array(
			'name'             => 'AMP',
			'author'           => 'W3 EDGE',
			'description'      => __( 'Adds compatibility for accelerated mobile pages (AMP) to minify.', 'w3-total-cache' ),
			'author_uri'       => 'https://www.w3-edge.com/',
			'extension_uri'    => 'https://www.w3-edge.com/',
			'extension_id'     => 'amp',
			'settings_exists'  => true,
			'version'          => '0.1',
			'enabled'          => $enabled,
			'disabled_message' => $disabled_message,
			'requirements'     => implode( ', ', $requirements ),
			'path'             => 'w3-total-cache/Extension_Amp_Plugin.php',
		);

		return $extensions;
	}

	/**
	 * Loads the AMP extension's admin functionalities.
	 *
	 * @return void
	 */
	public static function w3tc_extension_load_admin() {
		$o = new Extension_Amp_Plugin_Admin();

		add_action( 'w3tc_extension_page_amp', array( $o, 'w3tc_extension_page_amp' ) );
		add_action( 'w3tc_config_save', array( $o, 'w3tc_config_save' ), 10, 1 );
	}

	/**
	 * Displays the AMP extension settings page.
	 *
	 * @return void
	 */
	public function w3tc_extension_page_amp() {
		include W3TC_DIR . '/Extension_Amp_Page_View.php';
	}

	/**
	 * Saves the AMP configuration settings.
	 *
	 * @param object $config Configuration object containing AMP settings.
	 *
	 * @return void
	 */
	public function w3tc_config_save( $config ) {
		// frontend activity.
		$url_type         = $config->get_string( array( 'amp', 'url_type' ) );
		$is_active_dropin = ( 'querystring' === $url_type );

		$config->set_extension_active_dropin( 'amp', $is_active_dropin );
	}
}