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/hcv/wp-content/plugins/w3-total-cache/Generic_Page_PurgeLog.php
<?php
namespace W3TC;



class Generic_Page_PurgeLog {
	private $plugins_regexp = null;



	public function __construct() {
		$p = dirname( dirname( __FILE__ ) );
		if ( $this->starts_with( $p, ABSPATH ) ) {
			$p = substr( $p, strlen( ABSPATH ) );
		}

		$this->plugins_regexp = '~^(' . Util_Environment::preg_quote( $p ) .
			'/)([^/]+)(.*)~';
	}



	public function render_content() {
		$module = Util_Request::get_label( 'module' );
		$log_filename = Util_Debug::log_filename( $module . '-purge' );
		if ( file_exists( $log_filename ) ) {
			$log_filefize = $this->to_human( filesize( $log_filename ) );
		} else {
			$log_filefize = 'n/a';
		}

		$lines = Util_DebugPurgeLog_Reader::read( $module );

		$purgelog_modules = array();
		$c = Dispatcher::config();
		if ( $c->get_boolean( 'pgcache.debug_purge' ) ) {
			$purgelog_modules[] = array(
				'label' => 'pagecache',
				'name' => 'Page Cache',
				'postfix' => ''
			);
		}
		if ( $c->get_boolean( 'dbcache.debug_purge' ) ) {
			$purgelog_modules[] = array(
				'label' => 'dbcache',
				'name' => 'Database Cache',
				'postfix' => ''
			);
		}
		if ( $c->get_boolean( 'objectcache.debug_purge' ) ) {
			$purgelog_modules[] = array(
				'label' => 'objectcache',
				'name' => 'Object Cache',
				'postfix' => ''
			);
		}

		for ( $n = 0; $n < count( $purgelog_modules ) - 1; $n++ ) {
			$purgelog_modules[$n]['postfix'] = '|';
		}

		require( __DIR__ . '/Generic_Page_PurgeLog_View.php' );
	}



	private function to_human($bytes, $decimals = 2) {
		$size = array('B','kB','MB','GB','TB','PB','EB','ZB','YB');
		$factor = floor((strlen($bytes) - 1) / 3);
		return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$size[$factor];
	}



	private function starts_with( $s, $prefix ) {
		return substr( $s, 0, strlen( $prefix ) ) == $prefix;
	}



	private function esc_filename( $filename ) {
		$m = null;
		if ( preg_match( $this->plugins_regexp, $filename, $m ) ) {
			return esc_html( $m[1] ) .
				'<strong>' . esc_html( $m[2] ) . '</strong>' .
				esc_html( $m[3] );
		}

		return esc_html( $filename );
	}
}