HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
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: /home/thwoodlg/public_html/wp-content/plugins/w3-total-cache/ModuleStatus.php
<?php
namespace W3TC;

class ModuleStatus {

	private $_opcode_engines = array(
		'apc',
		'eaccelerator',
		'xcache',
		'wincache'
	);
	private $_file_engines = array(
		'file',
		'file_generic'
	);
	private $_config;

	public function __construct() {
		$this->_config = Dispatcher::config();
	}

	/**
	 *
	 *
	 * @return bool
	 */
	public function plugin_is_enabled() {
		return $this->is_enabled( 'pgcache' )
			|| $this->is_enabled( 'minify' )
			|| $this->is_enabled( 'dbcache' )
			|| $this->is_enabled( 'objectcache' )
			|| $this->is_enabled( 'browsercache' )
			|| $this->is_enabled( 'cdn' )
			|| $this->is_enabled( 'varnish' )
			|| $this->is_enabled( 'newrelic' )
			|| $this->is_enabled( 'fragmentcache' );
	}

	/**
	 *
	 *
	 * @param unknown $module
	 * @return bool
	 */
	public function is_enabled( $module ) {
		return $this->_config->get_boolean( "$module.enabled" );
	}

	/**
	 * Verifies that the module is actually running and not only enabled.
	 *
	 * @param unknown $module
	 * @return mixed|void
	 */
	public function is_running( $module ) {
		return apply_filters( "w3tc_module_is_running-{$module}", $this->is_enabled( $module ) );
	}

	/**
	 *
	 *
	 * @return bool
	 */
	public function can_empty_memcache() {
		return $this->_enabled_module_uses_engine( 'pgcache', 'memcached' )
			|| $this->_enabled_module_uses_engine( 'dbcache', 'memcached' )
			|| $this->_enabled_module_uses_engine( 'objectcache', 'memcached' )
			|| $this->_enabled_module_uses_engine( 'minify', 'memcached' )
			|| $this->_enabled_module_uses_engine( 'fragmentcache', 'memcached' );
	}

	/**
	 *
	 *
	 * @return bool
	 */
	public function can_empty_opcode() {
		$o = Dispatcher::component( 'SystemOpCache_Core' );
		return $o->is_enabled();
	}

	/**
	 *
	 *
	 * @return bool
	 */
	public function can_empty_file() {
		return $this->_enabled_module_uses_engine( 'pgcache', $this->_file_engines )
			|| $this->_enabled_module_uses_engine( 'dbcache', $this->_file_engines )
			|| $this->_enabled_module_uses_engine( 'objectcache', $this->_file_engines )
			|| $this->_enabled_module_uses_engine( 'minify', $this->_file_engines )
			|| $this->_enabled_module_uses_engine( 'fragmentcache', $this->_file_engines );
	}

	/**
	 *
	 *
	 * @return mixed
	 */
	public function can_empty_varnish() {
		return $this->_config->get_boolean( 'varnish.enabled' );
	}

	/**
	 *
	 *
	 * @param unknown $module
	 * @return mixed
	 */
	public function get_module_engine( $module ) {
		return $this->_config->get_string( "$module.engine" );
	}

	private function _enabled_module_uses_engine( $module, $engine ) {
		if ( is_array( $engine ) )
			return $this->is_enabled( $module ) && in_array( $this->get_module_engine( $module ), $engine );
		else
			return $this->is_enabled( $module ) && $this->get_module_engine( $module ) == $engine;
	}
}