PATH:
home
/
shotlining
/
public_html
/
wp-content
/
plugins
/
w3-total-cache
<?php /** * File: Cache_File.php * * @package W3TC */ namespace W3TC; /** * Class Cache_File * * phpcs:disable PSR2.Classes.PropertyDeclaration.Underscore * phpcs:disable PSR2.Methods.MethodDeclaration.Underscore * phpcs:disable WordPress.PHP.NoSilencedErrors.Discouraged * phpcs:disable WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize * phpcs:disable WordPress.PHP.DiscouragedPHPFunctions.serialize_unserialize * phpcs:disable WordPress.WP.AlternativeFunctions */ class Cache_File extends Cache_Base { /** * Path to cache dir * * @var string */ protected $_cache_dir = ''; /** * Directory to flush * * @var string */ protected $_flush_dir = ''; /** * Exclude files * * @var array */ protected $_exclude = array(); /** * Flush time limit * * @var int */ protected $_flush_timelimit = 0; /** * File locking * * @var boolean */ protected $_locking = false; /** * If path should be generated based on wp_hash * * @var bool */ protected $_use_wp_hash = false; /** * Constructs the Cache_File instance. * * Initializes the cache file settings using the provided configuration array. Sets up the cache directory, exclusions, flush * time limits, locking behavior, and flushing directory based on the configuration. If specific configurations are not provided, * defaults are determined using environment utilities. * * @param array $config { * Optional. Configuration options for the cache file. * * @type string $cache_dir The directory where cache files are stored. * @type array $exclude List of items to exclude from caching. * @type int $flush_timelimit The time limit for flushing the cache. * @type bool $locking Whether to use locking for cache file access. * @type string $flush_dir The directory where cache flush operations occur. * @type bool $use_wp_hash Whether to use WordPress-specific hashing for cache files. * } * * @return void */ public function __construct( $config = array() ) { parent::__construct( $config ); if ( isset( $config['cache_dir'] ) ) { $this->_cache_dir = trim( $config['cache_dir'] ); } else { $this->_cache_dir = Util_Environment::cache_blog_dir( $config['section'], $config['blog_id'] ); } $this->_exclude = isset( $config['exclude'] ) ? (array) $config['exclude'] : array(); $this->_flush_timelimit = isset( $config['flush_timelimit'] ) ? (int) $config['flush_timelimit'] : 180; $this->_locking = isset( $config['locking'] ) ? (bool) $config['locking'] : false; if ( isset( $config['flush_dir'] ) ) { $this->_flush_dir = $config['flush_dir']; } elseif ( $config['blog_id'] <= 0 && ! isset( $config['cache_dir'] ) ) { // Clear whole section if we operate on master cache and in a mode when cache_dir not strictly specified. $this->_flush_dir = Util_Environment::cache_dir( $config['section'] ); } else { $this->_flush_dir = $this->_cache_dir; } if ( isset( $config['use_wp_hash'] ) && $config['use_wp_hash'] ) { $this->_use_wp_hash = true; } } /** * Adds a value to the cache if it does not already exist. * * Attempts to retrieve the value using the specified key and group. If the key does not exist in the cache, the value is * added with the specified expiration time. * * @param string $key The cache key. * @param mixed $value The variable to store in the cache. * @param int $expire Optional. Time in seconds until the cache entry expires. Default is 0 (no expiration). * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return bool True if the value was added, false if it already exists or on failure. */ public function add( $key, &$value, $expire = 0, $group = '' ) { if ( $this->get( $key, $group ) === false ) { return $this->set( $key, $value, $expire, $group ); } return false; } /** * Stores the value in the cache with the specified expiration time. The data is serialized and written to a file with a * header indicating the expiration time. File locking can be used for write operations if enabled. * * @param string $key An MD5 of the DB query. * @param mixed $content Data to be cached. * @param int $expiration Optional. Time in seconds until the cache entry expires. Default is 0 (no expiration). * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return bool True on success, false on failure. */ public function set( $key, $content, $expiration = 0, $group = '' ) { /** * Get the file pointer of the cache file. * The $key is transformed to a storage key (format "w3tc_INSTANCEID_HOST_BLOGID_dbcache_HASH"). * The file path is in the format: CACHEDIR/db/BLOGID/GROUP/[0-9a-f]{3}/[0-9a-f]{3}/[0-9a-f]{32}. */ $fp = $this->fopen_write( $key, $group, 'wb' ); if ( ! $fp ) { return false; } if ( $this->_locking ) { @flock( $fp, LOCK_EX ); } if ( $expiration <= 0 || $expiration > W3TC_CACHE_FILE_EXPIRE_MAX ) { $expiration = W3TC_CACHE_FILE_EXPIRE_MAX; } $expires_at = time() + $expiration; @fputs( $fp, pack( 'L', $expires_at ) ); @fputs( $fp, '<?php exit; ?>' ); @fputs( $fp, @serialize( $content ) ); @fclose( $fp ); if ( $this->_locking ) { @flock( $fp, LOCK_UN ); } return true; } /** * Retrieves a value from the cache along with its old state information. * * Fetches the cached value for the specified key and group. If the cache entry has expired but old data usage is enabled, the * expired data can still be returned while updating its expiration time temporarily. * * @param string $key The cache key. * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return array An array containing the unserialized cached data (or null if not found) and a boolean indicating if old data was used. */ public function get_with_old( $key, $group = '' ) { list( $data, $has_old_data ) = $this->_get_with_old_raw( $key, $group ); if ( ! empty( $data ) ) { $data_unserialized = @unserialize( $data ); } else { $data_unserialized = $data; } return array( $data_unserialized, $has_old_data ); } /** * Retrieves the raw cached data and expiration status for a key. * * Reads the cached data file to determine the expiration time and fetches the data if it is valid. If the data is expired and * old data usage is enabled, the expiration time is updated temporarily and the expired data is returned. * * @param string $key The cache key. * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return array An array containing the raw cached data (or null if not found) and a boolean indicating if old data was used. */ private function _get_with_old_raw( $key, $group = '' ) { $has_old_data = false; $storage_key = $this->get_item_key( $key ); $path = $this->_cache_dir . DIRECTORY_SEPARATOR . $this->_get_path( $storage_key, $group ); if ( ! is_readable( $path ) ) { return array( null, $has_old_data ); } $fp = @fopen( $path, 'rb' ); if ( ! $fp || 4 > filesize( $path ) ) { return array( null, $has_old_data ); } if ( $this->_locking ) { @flock( $fp, LOCK_SH ); } $expires_at = @fread( $fp, 4 ); $data = null; if ( false !== $expires_at ) { list( , $expires_at ) = @unpack( 'L', $expires_at ); if ( time() > $expires_at ) { if ( $this->_use_expired_data ) { // update expiration so other threads will use old data. $fp2 = @fopen( $path, 'cb' ); if ( $fp2 ) { @fputs( $fp2, pack( 'L', time() + 30 ) ); @fclose( $fp2 ); } $has_old_data = true; } } else { $data = ''; while ( ! @feof( $fp ) ) { $data .= @fread( $fp, 4096 ); } $data = substr( $data, 14 ); } } if ( $this->_locking ) { @flock( $fp, LOCK_UN ); } @fclose( $fp ); return array( $data, $has_old_data ); } /** * Replaces an existing cache value with a new one. * * Updates the cache entry for the specified key and group if it already exists. If the key does not exist, no action is taken. * * @param string $key The cache key. * @param mixed $value The variable to store in the cache. * @param int $expire Optional. Time in seconds until the cache entry expires. Default is 0 (no expiration). * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return bool True if the value was replaced, false otherwise. */ public function replace( $key, &$value, $expire = 0, $group = '' ) { if ( false !== $this->get( $key, $group ) ) { return $this->set( $key, $value, $expire, $group ); } return false; } /** * Deletes a value from the cache. * * Removes the cache entry for the specified key and group. If "use expired data" is enabled, the expiration time of the cache * entry is set to zero instead of deleting the file. * * @param string $key The cache key. * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return bool True if the value was successfully deleted, false otherwise. */ public function delete( $key, $group = '' ) { $storage_key = $this->get_item_key( $key ); $path = $this->_cache_dir . DIRECTORY_SEPARATOR . $this->_get_path( $storage_key, $group ); if ( ! file_exists( $path ) ) { return true; } if ( $this->_use_expired_data ) { $fp = @fopen( $path, 'cb' ); if ( $fp ) { if ( $this->_locking ) { @flock( $fp, LOCK_EX ); } @fputs( $fp, pack( 'L', 0 ) ); // make it expired. @fclose( $fp ); if ( $this->_locking ) { @flock( $fp, LOCK_UN ); } return true; } } return @unlink( $path ); } /** * Performs a hard delete of a cache entry. * * Completely removes the cache file for the specified key and group without checking for expiration or other conditions. * * @param string $key The cache key. * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return bool True if the file was successfully deleted, false otherwise. */ public function hard_delete( $key, $group = '' ) { $key = $this->get_item_key( $key ); $path = $this->_cache_dir . DIRECTORY_SEPARATOR . $this->_get_path( $key, $group ); return @unlink( $path ); } /** * Flushes all cache entries or those belonging to a specific group. * * Deletes all files in the cache directory or a specific group subdirectory. If the group is "sitemaps", the flush is performed * based on a regular expression defined in the configuration. * * @param string $group Optional. The group to flush. Default is an empty string. * * @return bool Always returns true. */ public function flush( $group = '' ) { @set_time_limit( $this->_flush_timelimit ); // phpcs:ignore Squiz.PHP.DiscouragedFunctions.Discouraged if ( 'sitemaps' === $group ) { $config = Dispatcher::config(); $sitemap_regex = $config->get_string( 'pgcache.purge.sitemap_regex' ); $this->_flush_based_on_regex( $sitemap_regex ); } else { $flush_dir = $group ? $this->_cache_dir . DIRECTORY_SEPARATOR . $group . DIRECTORY_SEPARATOR : $this->_flush_dir; Util_File::emptydir( $flush_dir, $this->_exclude ); } return true; } /** * Retrieves an extension array for ahead-of-generation cache handling. * * Returns an array containing the current timestamp for cache generation purposes. * * @param string $group The cache group. * * @return array An array with the `before_time` key set to the current timestamp. */ public function get_ahead_generation_extension( $group ) { return array( 'before_time' => time(), ); } /** * Flushes a cache group after ahead-of-generation processing. * * Performs any cleanup or flushing required for a cache group after an ahead-of-generation operation. * * @param string $group The cache group. * @param array $extension { * An extension array with generation metadata. * * @type mixed $before_time The time before the generation. * } * * @return void */ public function flush_group_after_ahead_generation( $group, $extension ) { $dir = $this->_flush_dir; $extension['before_time']; } /** * Retrieves the last modified time of a cache file. * * Returns the modification time of the cache file for the specified key and group. * * @param string $key The cache key. * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return int|false The file modification time as a Unix timestamp, or false if the file does not exist. */ public function mtime( $key, $group = '' ) { $path = $this->_cache_dir . DIRECTORY_SEPARATOR . $this->_get_path( $key, $group ); if ( file_exists( $path ) ) { return @filemtime( $path ); } return false; } /** * Returns subpath for the cache file (format: [0-9a-f]{3}/[0-9a-f]{3}/[0-9a-f]{32}). * * Creates the file path for the cache file based on the key and group. A hash of the key is used to create subdirectories * for organizational purposes. * * @param string $key Storage key (format: "w3tc_INSTANCEID_HOST_BLOGID_dbcache_HASH"). * @param string $group Optional. The group to which the cache belongs. Default is an empty string. * * @return string The file path for the cache entry. */ public function _get_path( $key, $group = '' ) { if ( $this->_use_wp_hash && function_exists( 'wp_hash' ) ) { $hash = wp_hash( $key ); // Most common. } else { $hash = md5( $key ); // Less common, but still used in some cases. } return ( $group ? $group . DIRECTORY_SEPARATOR : '' ) . sprintf( '%s/%s/%s.php', substr( $hash, 0, 3 ), substr( $hash, 3, 3 ), $hash ); } /** * Calculates the size of the cache directory. * * Recursively calculates the total size and number of files in the cache directory. Stops processing if the timeout is exceeded. * * @param string $timeout_time The timeout timestamp. * * @return array An array containing the total size (`bytes`), the number of items (`items`), and whether a timeout occurred * (`timeout_occurred`). */ public function get_stats_size( $timeout_time ) { $size = array( 'bytes' => 0, 'items' => 0, 'timeout_occurred' => false, ); $size = $this->dirsize( $this->_cache_dir, $size, $timeout_time ); return $size; } /** * Recursively calculates the size of a directory. * * Iterates through all files and subdirectories within the specified directory to calculate the total size and count of items. * Checks for timeouts every 1000 items. * * @param string $path The directory path. * @param array $size { * The size data array. * * @type int $bytes The total size of the directory in bytes. * @type int $items The total number of items (files/subdirectories). * @type bool $timeout_occurred Flag indicating whether a timeout has occurred. * } * @param int $timeout_time The timeout timestamp. * * @return array Updated size data. */ private function dirsize( $path, $size, $timeout_time ) { $dir = @opendir( $path ); if ( $dir ) { $entry = @readdir( $dir ); while ( ! $size['timeout_occurred'] && false !== $entry ) { if ( '.' === $entry || '..' === $entry ) { $entry = @readdir( $dir ); continue; } $full_path = $path . DIRECTORY_SEPARATOR . $entry; if ( @is_dir( $full_path ) ) { $size = $this->dirsize( $full_path, $size, $timeout_time ); } else { $size['bytes'] += @filesize( $full_path ); // dont check time() for each file, quite expensive. ++$size['items']; if ( 0 === $size['items'] % 1000 ) { $size['timeout_occurred'] |= ( time() > $timeout_time ); } } $entry = @readdir( $dir ); } @closedir( $dir ); } return $size; } /** * Sets a new value if the old value matches the current value. * * This method checks if the current value in the cache matches the provided old value. If they match, it sets the new value. * Cannot guarantee atomicity due to potential file lock failures. * * @param string $key Cache key. * @param mixed $old_value The expected current value. * @param mixed $new_value The value to set if the old value matches. * * @return bool True if the value was set, false otherwise. */ public function set_if_maybe_equals( $key, $old_value, $new_value ) { // Cant guarantee atomic action here, filelocks fail often. $value = $this->get( $key ); if ( isset( $old_value['content'] ) && $value['content'] !== $old_value['content'] ) { return false; } return $this->set( $key, $new_value ); } /** * Increments a counter stored in the cache by a given value. * * This method appends the increment value to the counter file. If the value is 1, it stores it as 'x' for efficiency. Larger * increments are stored as space-separated integers. * * @param string $key Cache key. * @param int $value The increment value (must be non-zero). * * @return bool True on success, false on failure. */ public function counter_add( $key, $value ) { if ( 0 === $value ) { return true; } $fp = $this->fopen_write( $key, '', 'a' ); if ( ! $fp ) { return false; } // use "x" to store increment, since it's most often case // and it will save 50% of size if only increments are used. if ( 1 === $value ) { @fputs( $fp, 'x' ); } else { @fputs( $fp, ' ' . (int) $value ); } @fclose( $fp ); return true; } /** * Sets a counter value in the cache. * * This method initializes a counter file with the provided value, along with an expiration time and a PHP exit directive to * prevent execution. * * @param string $key Cache key. * @param int $value The counter value to set. * * @return bool True on success, false on failure. */ public function counter_set( $key, $value ) { $fp = $this->fopen_write( $key, '', 'wb' ); if ( ! $fp ) { return false; } $expire = W3TC_CACHE_FILE_EXPIRE_MAX; $expires_at = time() + $expire; @fputs( $fp, pack( 'L', $expires_at ) ); @fputs( $fp, '<?php exit; ?>' ); @fputs( $fp, (int) $value ); @fclose( $fp ); return true; } /** * Retrieves the value of a counter from the cache. * * This method reads the counter file and calculates the total value by counting occurrences of 'x' and summing other stored values. * * @param string $key Cache key. * * @return int The counter value, or 0 if the key does not exist. */ public function counter_get( $key ) { list( $value, $old_data ) = $this->_get_with_old_raw( $key ); if ( empty( $value ) ) { return 0; } $original_length = strlen( $value ); $cut_value = str_replace( 'x', '', $value ); $count = $original_length - strlen( $cut_value ); // values more than 1 are stored as <space>value. $a = explode( ' ', $cut_value ); foreach ( $a as $counter_value ) { $count += (int) $counter_value; } return $count; } /** * Open the cache file for writing and return the file pointer. * * Ensures the directory structure exists before attempting to open the file. * * @param string $key An MD5 of the DB query. * @param string $group Cache group. * @param string $mode File mode. For example: 'wb' for write binary. * * @return resource|false File pointer on success, false on failure. */ private function fopen_write( $key, $group, $mode ) { // Get the storage key (format: "w3tc_INSTANCEID_HOST_BLOGID_dbcache_$key"). $storage_key = $this->get_item_key( $key ); // Get the subpath for the cache file (format: [0-9a-f]{3}/[0-9a-f]{3}/[0-9a-f]{32}). $sub_path = $this->_get_path( $storage_key, $group ); // Ge the entire path of the cache file. $path = $this->_cache_dir . DIRECTORY_SEPARATOR . $sub_path; // Create the directory if it does not exist. $dir = dirname( $path ); if ( ! @is_dir( $dir ) ) { if ( ! Util_File::mkdir_from( $dir, dirname( W3TC_CACHE_DIR ) ) ) { return false; } } // Open the cache file for writing. return @fopen( $path, $mode ); } /** * Flushes cache files matching a specific regex pattern. * * This method scans a directory and removes cache files that match the provided regular expression. Supports multisite setups. * * @since 2.7.1 * * @param string $regex The regular expression pattern to match file names. * * @return void */ private function _flush_based_on_regex( $regex ) { if ( Util_Environment::is_wpmu() && ! Util_Environment::is_wpmu_subdomain() ) { $domain = get_home_url(); $parsed = parse_url( $domain ); $host = $parsed['host']; $path = isset( $parsed['path'] ) ? '/' . trim( $parsed['path'], '/' ) : ''; $flush_dir = W3TC_CACHE_PAGE_ENHANCED_DIR . DIRECTORY_SEPARATOR . $host . $path; } else { $flush_dir = W3TC_CACHE_PAGE_ENHANCED_DIR . DIRECTORY_SEPARATOR . Util_Environment::host(); } $dir = @opendir( $flush_dir ); if ( $dir ) { $entry = @readdir( $dir ); while ( false !== $entry ) { if ( '.' === $entry || '..' === $entry ) { $entry = @readdir( $dir ); continue; } if ( preg_match( '~' . $regex . '~', basename( $entry ) ) ) { Util_File::rmdir( $flush_dir . DIRECTORY_SEPARATOR . $entry ); } $entry = @readdir( $dir ); } @closedir( $dir ); } } }
[+]
..
[-] SystemOpCache_AdminActions.php
[edit]
[-] Generic_Plugin_AdminCompatibility.php
[edit]
[-] Util_Admin.php
[edit]
[+]
inc
[-] Extension_Swarmify_Core.php
[edit]
[-] Cdn_RackSpaceCdn_Page_View.js
[edit]
[-] Extension_CloudFlare_Popup_View_Intro.php
[edit]
[-] Extension_ImageService_Widget_View.php
[edit]
[-] UsageStatistics_Page_PageCacheRequests_View.php
[edit]
[-] Cdn_GoogleDrive_Popup_AuthReturn_View.php
[edit]
[-] Extension_Genesis_Page.php
[edit]
[-] Cache_File_Cleaner.php
[edit]
[-] SystemOpCache_Core.php
[edit]
[-] Cdnfsd_TransparentCDN_Page.php
[edit]
[-] Util_WpFile_FilesystemCopyException.php
[edit]
[-] Extension_CloudFlare_Popup.php
[edit]
[-] Extension_ImageService_Plugin_Admin.css
[edit]
[-] Extension_FragmentCache_Page_View.php
[edit]
[-] Extension_NewRelic_Widget_View.js
[edit]
[-] Cdn_RackSpaceCloudFiles_Popup_View_Regions.php
[edit]
[-] Generic_Page_General.php
[edit]
[-] UserExperience_LazyLoad_Mutator_Picture.php
[edit]
[-] Cdnfsd_BunnyCdn_Popup_View_Deauthorize.php
[edit]
[-] Generic_Page_Dashboard_View.css
[edit]
[-] Extension_Genesis_Plugin_Admin.php
[edit]
[-] BrowserCache_Environment.php
[edit]
[-] Extension_NewRelic_Api.php
[edit]
[-] Extension_ImageService_Environment.php
[edit]
[-] Cache_Memcache.php
[edit]
[-] PgCache_Environment.php
[edit]
[-] PageSpeed_Page_View_FromAPI.php
[edit]
[-] Cdn_Util.php
[edit]
[-] UserExperience_LazyLoad_Page_View.php
[edit]
[-] Generic_WidgetServices_View.php
[edit]
[-] Extension_CloudFlare_Widget.php
[edit]
[-] CdnEngine_GoogleDrive.php
[edit]
[-] PageSpeed_Widget_View.css
[edit]
[-] Cdnfsd_CloudFront_Popup_View_Intro.php
[edit]
[-] Cdnfsd_BunnyCdn_Engine.php
[edit]
[-] Cdn_RackSpace_Api_Cdn.php
[edit]
[-] BrowserCache_Core.php
[edit]
[-] Extension_FragmentCache_Page.php
[edit]
[-] Cdn_GoogleDrive_Popup_AuthReturn.php
[edit]
[-] Util_WpmuBlogmap.php
[edit]
[-] ModuleStatus.php
[edit]
[-] UsageStatistics_Source_AccessLog.php
[edit]
[-] Cdn_Page.php
[edit]
[-] UserExperience_Emoji_Extension.php
[edit]
[-] Cdn_GoogleDrive_AdminActions.php
[edit]
[-] Cdn_RackSpace_Api_CloudFiles.php
[edit]
[-] Extension_FragmentCache_WpObjectCache.php
[edit]
[-] PgCache_Page.php
[edit]
[-] Minify_Plugin.php
[edit]
[-] Cache_Xcache.php
[edit]
[-] PageSpeed_Api.php
[edit]
[-] Generic_WidgetBoldGrid_View.php
[edit]
[-] readme.txt
[edit]
[-] Cdnfsd_Core.php
[edit]
[-] Minify_ConfigLabels.php
[edit]
[-] UsageStatistics_Sources.php
[edit]
[-] BrowserCache_Environment_LiteSpeed.php
[edit]
[-] Cdn_RackSpaceCdn_Page.php
[edit]
[+]
extension-example
[-] Extension_Swarmify_Page_View.php
[edit]
[-] Extension_AlwaysCached_Page.php
[edit]
[-] UserExperience_Remove_CssJs_Page_View.php
[edit]
[-] Extension_CloudFlare_Plugin.php
[edit]
[-] CdnEngine_Azure_MI_Utility.php
[edit]
[-] Util_Mime.php
[edit]
[+]
languages
[-] BrowserCache_Page_View_QuickReference.php
[edit]
[-] UserExperience_DeferScripts_Script.js
[edit]
[+]
vendor
[-] Util_UsageStatistics.php
[edit]
[-] Extension_CloudFlare_Page_View.php
[edit]
[-] UserExperience_DeferScripts_Extension.php
[edit]
[-] UserExperience_LazyLoad_GoogleMaps_GoogleMapsEasy.php
[edit]
[-] Cdn_BunnyCdn_Popup.php
[edit]
[-] CdnEngine_Mirror_CloudFront.php
[edit]
[-] UsageStatistics_Page_ObjectCacheLog_View.php
[edit]
[-] ObjectCache_DiskPopup.js
[edit]
[-] Extension_NewRelic_Popup.php
[edit]
[-] Extension_NewRelic_Service.php
[edit]
[-] Extension_NewRelic_GeneralPage.php
[edit]
[-] Generic_Plugin_Admin_View_Faq.php
[edit]
[-] Extension_Wpml_Plugin_Admin.php
[edit]
[-] press.txt
[edit]
[-] Util_File.php
[edit]
[-] Cdn_RackSpaceCdn_Popup.php
[edit]
[-] Extension_ImageService_Widget.js
[edit]
[-] UsageStatistics_Page_DbRequests_View.php
[edit]
[-] Cdnfsd_BunnyCdn_Popup_View_Configured.php
[edit]
[-] Cdn_RackSpaceCdn_Popup_View_Regions.php
[edit]
[-] Util_Activation.php
[edit]
[-] Generic_WidgetAccount_View.php
[edit]
[-] UserExperience_LazyLoad_Plugin.php
[edit]
[-] Cdnfsd_CloudFront_Page_View.js
[edit]
[-] UsageStatistics_AdminActions.php
[edit]
[-] Cdnfsd_Util.php
[edit]
[-] PageSpeed_Widget.php
[edit]
[-] Cdn_RackSpaceCdn_Popup_View_Service_Create.php
[edit]
[-] PageSpeed_Page_View.css
[edit]
[-] Extension_FragmentCache_Plugin.php
[edit]
[-] Extension_AlwaysCached_Queue.php
[edit]
[-] CdnEngine.php
[edit]
[-] PgCache_Page_View.js
[edit]
[-] SystemOpCache_Plugin_Admin.php
[edit]
[-] Cache_File.php
[edit]
[-] Generic_Environment.php
[edit]
[-] Util_Installed.php
[edit]
[-] Licensing_AdminActions.php
[edit]
[-] CacheFlush.php
[edit]
[-] ObjectCache_DiskPopup_View.php
[edit]
[-] SetupGuide_Plugin_Admin.php
[edit]
[-] Extension_AlwaysCached_Page_View_BoxQueue.php
[edit]
[-] Util_Environment_Exception.php
[edit]
[-] Cdn_AdminNotes.php
[edit]
[-] UsageStatistics_Page_View.php
[edit]
[-] Cdn_RackSpaceCdn_Popup_View_Service_Created.php
[edit]
[-] Extension_AlwaysCached_Plugin.php
[edit]
[-] Generic_Page_About.php
[edit]
[+]
wp-content
[-] UsageStatistics_StorageWriter.php
[edit]
[-] Extension_Genesis_Page_View.php
[edit]
[-] Cdn_Core_Admin.php
[edit]
[-] Support_Page.php
[edit]
[-] Extension_NewRelic_Plugin.php
[edit]
[-] Minify_GeneralPage_View_ShowHelp.js
[edit]
[-] w3-total-cache-old-php.php
[edit]
[-] PgCache_ContentGrabber.php
[edit]
[-] Util_PageUrls.php
[edit]
[-] DbCache_Plugin.php
[edit]
[-] Cdnfsd_BunnyCdn_Popup_View_Intro.php
[edit]
[-] Cdn_RackSpaceCdn_AdminActions.php
[edit]
[-] BrowserCache_Page_View_SectionSecurity.php
[edit]
[-] Cdnfsd_TransparentCDN_Page_View.php
[edit]
[-] DbCache_WpdbBase.php
[edit]
[-] Cdn_AdminActions.php
[edit]
[-] CacheGroups_Plugin_Admin.php
[edit]
[-] Cdn_Plugin.php
[edit]
[-] Generic_WidgetServices.php
[edit]
[-] ObjectCache_Plugin.php
[edit]
[-] CdnEngine_S3.php
[edit]
[-] Dispatcher.php
[edit]
[-] Util_WpFile_FilesystemMkdirException.php
[edit]
[-] Generic_WidgetPartners_View.php
[edit]
[-] Generic_Plugin_AdminNotices.css
[edit]
[-] Root_AdminActions.php
[edit]
[-] Cache_File_Cleaner_Generic.php
[edit]
[-] UserExperience_LazyLoad_Mutator.php
[edit]
[-] UserExperience_LazyLoad_GoogleMaps_WPGoogleMapPlugin.php
[edit]
[-] Generic_ConfigLabels.php
[edit]
[-] PageSpeed_Data.php
[edit]
[-] Minify_Extract.php
[edit]
[-] PgCache_ConfigLabels.php
[edit]
[-] Cdn_BunnyCdn_Popup_View_Deauthorized.php
[edit]
[-] DbCache_Wpdb.php
[edit]
[-] Extension_NewRelic_Widget_View.css
[edit]
[-] Generic_GeneralPage_View_ShowEdge.js
[edit]
[-] Generic_WidgetBoldGrid_AdminActions.php
[edit]
[-] Extension_WordPressSeo_Plugin.php
[edit]
[-] DbCache_WpdbNew.php
[edit]
[-] Cdn_BunnyCdn_Widget_View_Authorized.php
[edit]
[-] UsageStatistics_Page_View.js
[edit]
[-] Extension_CloudFlare_Page_View.js
[edit]
[-] Generic_Plugin_Admin.php
[edit]
[-] CdnEngine_RackSpaceCloudFiles.php
[edit]
[-] Util_Environment.php
[edit]
[-] CdnEngine_Ftp.php
[edit]
[-] UserExperience_Page_View.php
[edit]
[-] DbCache_Environment.php
[edit]
[-] Root_AdminActivation.php
[edit]
[-] Generic_Page_Dashboard.php
[edit]
[-] Cdn_RackSpaceCloudFiles_Popup_View_Containers.php
[edit]
[-] Generic_WidgetSpreadTheWord_Plugin.php
[edit]
[-] Cdn_RackSpaceCloudFiles_Page_View.js
[edit]
[-] UserExperience_Remove_CssJs_Mutator.php
[edit]
[-] Util_Rule.php
[edit]
[-] UsageStatistics_Sources_Memcached.php
[edit]
[-] Extension_FragmentCache_GeneralPage.php
[edit]
[-] Cdnfsd_CloudFront_Engine.php
[edit]
[-] security.md
[edit]
[-] ObjectCache_Page.php
[edit]
[-] Extension_NewRelic_AdminActions.php
[edit]
[-] Cdn_CacheFlush.php
[edit]
[-] Extension_FragmentCache_Core.php
[edit]
[-] Cdn_GoogleDrive_Page.php
[edit]
[-] FeatureShowcase_Plugin_Admin.php
[edit]
[-] CdnEngine_Mirror_BunnyCdn.php
[edit]
[-] ConfigUtil.php
[edit]
[-] UserExperience_DeferScripts_Page_View.php
[edit]
[-] Extension_Amp_Plugin.php
[edit]
[-] Cdn_Page_View_Fsd_HeaderActions.php
[edit]
[-] ConfigSettingsTabs.php
[edit]
[-] Util_WpFile_FilesystemOperationException.php
[edit]
[-] ConfigSettingsTabsKeys.php
[edit]
[-] Cdn_RackSpaceCloudFiles_Popup_View_Intro.php
[edit]
[-] Cdnfsd_Plugin_Admin.php
[edit]
[-] Extension_FragmentCache_Api.php
[edit]
[-] Generic_Plugin_AdminNotices.js
[edit]
[-] Mobile_Redirect.php
[edit]
[-] Util_Http.php
[edit]
[-] Util_Ui.php
[edit]
[-] Minify_Plugin_Admin.php
[edit]
[-] Extensions_AdminActions.php
[edit]
[-] Cache_Base.php
[edit]
[-] UserExperience_LazyLoad_GoogleMaps_WPGoogleMaps.php
[edit]
[-] Generic_Faq.php
[edit]
[-] Extension_WordPressSeo_Plugin_Admin.php
[edit]
[-] Extension_FragmentCache_Environment.php
[edit]
[-] CdnEngine_Mirror_Cotendo.php
[edit]
[-] Extension_NewRelic_Page_View_Apm.php
[edit]
[-] Generic_Page_Install.php
[edit]
[-] Minify_Core.php
[edit]
[-] Cdnfsd_CloudFront_Popup_View_Distribution.php
[edit]
[-] Generic_AdminActions_Config.php
[edit]
[-] Cdn_Environment.php
[edit]
[-] UserExperience_Plugin_Admin.php
[edit]
[-] Generic_WidgetStats.php
[edit]
[+]
lib
[-] Extension_CloudFlare_Plugin_Admin.php
[edit]
[-] Cdnfsd_BunnyCdn_Page_View.php
[edit]
[-] LICENSE
[edit]
[-] Licensing_Plugin_Admin.php
[edit]
[-] Cdn_RackSpaceCloudFiles_Page_View.php
[edit]
[-] Cdn_GeneralPage_View.php
[edit]
[-] Extension_CloudFlare_Widget_View.css
[edit]
[-] Cdnfsd_GeneralPage_View.php
[edit]
[-] Extension_CloudFlare_Popup_View_Zones.php
[edit]
[-] Extension_AlwaysCached_Worker.php
[edit]
[-] Cdn_BunnyCdn_Page_View.php
[edit]
[-] UsageStatistics_Source_DbQueriesLog.php
[edit]
[-] UsageStatistics_Page_View_Ad.php
[edit]
[-] DbCache_WpdbLegacy.php
[edit]
[-] Util_PageSpeed.php
[edit]
[-] Minify_HelpPopup_View.php
[edit]
[-] Extension_ImageService_Page_View.php
[edit]
[-] Generic_WidgetPartners.php
[edit]
[-] Enterprise_SnsServer.php
[edit]
[-] Extension_CloudFlare_GeneralPage_View.php
[edit]
[-] Extension_ImageService_Plugin_Admin.js
[edit]
[-] w3-total-cache.php
[edit]
[-] Cdn_BunnyCdn_Page_View.js
[edit]
[-] ConfigState.php
[edit]
[-] Generic_AdminActions_Test.php
[edit]
[-] Cache_Nginx_Memcached.php
[edit]
[-] PgCache_Plugin.php
[edit]
[-] Util_Environment_Exceptions.php
[edit]
[-] Cdnfsd_CloudFront_Page_View.php
[edit]
[-] UsageStatistics_Sources_Redis.php
[edit]
[-] UsageStatistics_Page_View_Disabled.php
[edit]
[-] Extension_CloudFlare_AdminActions.php
[edit]
[-] Extension_AlwaysCached_AdminActions.php
[edit]
[-] Extension_CloudFlare_Page.php
[edit]
[-] Cache_File_Generic.php
[edit]
[-] Cache_Memcached_Stats.php
[edit]
[-] CdnEngine_Mirror.php
[edit]
[-] Extension_ImageService_Widget.php
[edit]
[-] Util_WpFile.php
[edit]
[-] Cache_Apc.php
[edit]
[-] ObjectCache_Plugin_Admin.php
[edit]
[-] Cdnfsd_BunnyCdn_Popup.php
[edit]
[-] Extension_NewRelic_Widget_View_NotConfigured.php
[edit]
[-] PageSpeed_Widget_View.php
[edit]
[-] Licensing_Core.php
[edit]
[-] UserExperience_LazyLoad_Mutator_Unmutable.php
[edit]
[-] Minify_Page.php
[edit]
[-] Extensions_Page.php
[edit]
[-] Util_AttachToActions.php
[edit]
[-] Generic_AdminNotes.php
[edit]
[-] Cdn_BunnyCdn_Page_View_Purge_Urls.php
[edit]
[-] Cdnfsd_BunnyCdn_Page_View.js
[edit]
[-] Minify_AutoJs.php
[edit]
[-] Cdn_RackSpaceCloudFiles_Popup.php
[edit]
[-] UserExperience_Preload_Requests_Page_View.php
[edit]
[-] Generic_WidgetSpreadTheWord.js
[edit]
[-] Util_Request.php
[edit]
[-] Generic_WidgetBoldGrid_Logo.svg
[edit]
[-] Cdn_RackSpaceCdn_Popup_View_Services.php
[edit]
[-] ObjectCache_ConfigLabels.php
[edit]
[-] UsageStatistics_StorageReader.php
[edit]
[-] BrowserCache_Page.php
[edit]
[-] Extension_CloudFlare_SettingsForUi.php
[edit]
[-] Cdn_BunnyCdn_Widget_View_Unauthorized.php
[edit]
[-] CdnEngine_Mirror_RackSpaceCdn.php
[edit]
[-] Util_WpFile_FilesystemModifyException.php
[edit]
[-] Extension_Swarmify_AdminActions.php
[edit]
[-] DbCache_WpdbInjection.php
[edit]
[-] Extension_AlwaysCached_Page_View.js
[edit]
[-] Support_Page_View_DoneContent.php
[edit]
[-] BrowserCache_Plugin.php
[edit]
[-] Util_Bus.php
[edit]
[-] UsageStatistics_Plugin.php
[edit]
[-] Cache_File_Cleaner_Generic_HardDelete.php
[edit]
[-] Generic_Page_PurgeLog.php
[edit]
[-] Cdnfsd_BunnyCdn_Page.php
[edit]
[-] Util_WpFile_FilesystemChmodException.php
[edit]
[-] Generic_AdminActions_Flush.php
[edit]
[-] Extension_Swarmify_Page.php
[edit]
[-] Extension_CloudFlare_Api.php
[edit]
[-] PageSpeed_Instructions.php
[edit]
[-] Extension_Genesis_Plugin.php
[edit]
[-] Util_Theme.php
[edit]
[-] CdnEngine_CloudFront.php
[edit]
[-] Cdnfsd_CacheFlush.php
[edit]
[-] Cdn_Environment_LiteSpeed.php
[edit]
[-] Cdn_BunnyCdn_Api.php
[edit]
[-] UserExperience_OEmbed_Extension.php
[edit]
[-] PgCache_QsExempts.php
[edit]
[-] BrowserCache_Environment_Nginx.php
[edit]
[-] Extension_ImageService_Plugin_Admin.php
[edit]
[-] Cdn_RackSpace_Api_CaCert-example.pem
[edit]
[-] Extension_NewRelic_Popup_View_ListApplications.php
[edit]
[-] UserExperience_GeneralPage_View.php
[edit]
[-] ConfigKeys.php
[edit]
[-] Extension_ImageService_Api.php
[edit]
[-] Extension_NewRelic_Plugin_Admin.php
[edit]
[-] w3-total-cache-api.php
[edit]
[-] Mobile_UserAgent.php
[edit]
[-] Util_WpFile_FilesystemRmException.php
[edit]
[-] CdnEngine_Base.php
[edit]
[-] UserExperience_GeneralPage.php
[edit]
[-] ConfigCompiler.php
[edit]
[-] PgCache_Flush.php
[edit]
[-] PageSpeed_Page.php
[edit]
[-] PageSpeed_Page_View.js
[edit]
[-] Generic_WidgetSettings_View.php
[edit]
[-] Root_Environment.php
[edit]
[-] SystemOpCache_GeneralPage_View.php
[edit]
[-] Extension_AlwaysCached_Page_Queue_View.php
[edit]
[-] UsageStatistics_Page_View_NoDebugMode.php
[edit]
[-] Cdn_RackSpaceCdn_Popup_View_Intro.php
[edit]
[-] ObjectCache_WpObjectCache_Regular.php
[edit]
[-] Extension_CloudFlare_View_Dashboard.js
[edit]
[-] Cdnfsd_BunnyCdn_Popup_View_Pull_Zones.php
[edit]
[-] Extension_Wpml_Plugin.php
[edit]
[-] Minify_AutoCss.php
[edit]
[-] Generic_WidgetSpreadTheWord_View.php
[edit]
[-] UserExperience_Plugin_Jquery.php
[edit]
[-] Extension_ImageService_Plugin.php
[edit]
[-] CdnEngine_Azure_MI.php
[edit]
[-] Util_ConfigLabel.php
[edit]
[-] Extension_ImageService_Cron.php
[edit]
[-] UsageStatistics_GeneralPage.php
[edit]
[-] index.html
[edit]
[-] ConfigCache.php
[edit]
[-] Extension_NewRelic_AdminNotes.php
[edit]
[-] Generic_WidgetBoldGrid_View.js
[edit]
[-] ObjectCache_WpObjectCache.php
[edit]
[-] Cdnfsd_TransparentCDN_Page_View.js
[edit]
[-] ConfigStateNote.php
[edit]
[-] Mobile_Base.php
[edit]
[-] Cdnfsd_CloudFront_Popup.php
[edit]
[-] Generic_WidgetAccount.php
[edit]
[-] Generic_WidgetSettings.php
[edit]
[-] Generic_Plugin_AdminNotices.php
[edit]
[-] Enterprise_CacheFlush_MakeSnsEvent.php
[edit]
[-] Extension_Swarmify_Plugin.php
[edit]
[-] Support_Page_View_PageContent.php
[edit]
[-] Generic_AdminActions_Default.php
[edit]
[-] Cdn_GoogleDrive_Page_View.php
[edit]
[-] Cdnfsd_CloudFront_Popup_View_Distributions.php
[edit]
[-] PageSpeed_Page_View.php
[edit]
[-] Extension_AlwaysCached_Page_View.php
[edit]
[-] Generic_WidgetStats.js
[edit]
[-] Extension_NewRelic_Page.php
[edit]
[-] UserExperience_Remove_CssJs_Page_View.js
[edit]
[-] Cdnfsd_Plugin.php
[edit]
[-] Cache_Memcached.php
[edit]
[-] CdnEngine_Mirror_Edgecast.php
[edit]
[-] Support_AdminActions.php
[edit]
[-] UserExperience_Page.php
[edit]
[-] Cdnfsd_CloudFront_Popup_View_Success.php
[edit]
[-] Cdn_RackSpace_Api_CloudFilesCdn.php
[edit]
[-] Cdn_RackSpaceCdn_Popup_View_ConfigureDomains.php
[edit]
[-] Extension_NewRelic_GeneralPage_View.php
[edit]
[-] Varnish_Plugin.php
[edit]
[+]
pub
[-] UsageStatistics_Page_View.css
[edit]
[-] Cdn_BunnyCdn_Popup_View_Deauthorize.php
[edit]
[-] UsageStatistics_Sources_Apc.php
[edit]
[-] UsageStatistics_Page.php
[edit]
[-] Extension_NewRelic_Popup_View.js
[edit]
[-] Extension_AlwaysCached_Page_View_BoxFlushAll.php
[edit]
[-] DbCache_Plugin_Admin.php
[edit]
[-] UsageStatistics_Source_Wpdb.php
[edit]
[-] Extension_Amp_Plugin_Admin.php
[edit]
[-] Extension_CloudFlare_Widget_Logo.png
[edit]
[-] changelog.txt
[edit]
[-] UsageStatistics_Plugin_Admin.php
[edit]
[-] Cdn_RackSpaceCdn_Popup_View_Service_Actualize.php
[edit]
[-] Cdn_Core.php
[edit]
[-] Util_Content.php
[edit]
[-] CacheFlush_Locally.php
[edit]
[-] Config.php
[edit]
[-] CdnEngine_Mirror_Att.php
[edit]
[-] Generic_WidgetBoldGrid.php
[edit]
[-] Cli.php
[edit]
[-] Cdn_GoogleDrive_Page_View.js
[edit]
[-] Extension_NewRelic_Popup_View_Intro.php
[edit]
[-] DbCache_WpdbInjection_QueryCaching.php
[edit]
[-] Extension_AlwaysCached_Page_View_Exclusions.php
[edit]
[-] Minify_GeneralPage_View_ShowHelpForce.js
[edit]
[-] CacheGroups_Plugin_Admin_View.php
[edit]
[-] DbCache_Page.php
[edit]
[-] Extension_CloudFlare_Cdn_Page_View.php
[edit]
[-] Enterprise_SnsBase.php
[edit]
[-] Cdn_Environment_Nginx.php
[edit]
[-] Extension_AlwaysCached_Page_View_BoxCron.php
[edit]
[-] Extension_FragmentCache_GeneralPage_View.php
[edit]
[-] CacheGroups_Plugin_Admin_View.js
[edit]
[-] UsageStatistics_Source_ObjectCacheLog.php
[edit]
[-] Cdnfsd_CloudFront_Page.php
[edit]
[-] Extension_Amp_Page_View.php
[edit]
[-] Util_Widget.php
[edit]
[-] Cdn_BunnyCdn_Page.php
[edit]
[-] Cdn_RackSpaceCloudFiles_Page.php
[edit]
[-] Cdn_RackSpaceCdn_Page_View.php
[edit]
[-] CdnEngine_Mirror_Akamai.php
[edit]
[-] Cdn_BunnyCdn_Widget.php
[edit]
[-] Extension_NewRelic_Widget_View_Apm.php
[edit]
[-] BrowserCache_Plugin_Admin.php
[edit]
[-] BrowserCache_ConfigLabels.php
[edit]
[-] CdnEngine_Azure.php
[edit]
[-] DbCache_ConfigLabels.php
[edit]
[-] PageSpeed_Widget_View.js
[edit]
[-] Minify_MinifiedFileRequestHandler.php
[edit]
[-] Extension_FragmentCache_Plugin_Admin.php
[edit]
[-] Extension_AlwaysCached_Plugin_Admin.php
[edit]
[-] BrowserCache_Environment_Apache.php
[edit]
[-] Extension_AlwaysCached_Environment.php
[edit]
[-] Generic_Plugin.php
[edit]
[-] Generic_Page_PurgeLog_View.php
[edit]
[-] Cdnfsd_BunnyCdn_Popup_View_Deauthorized.php
[edit]
[-] Extensions_Util.php
[edit]
[-] Extensions_Plugin_Admin.php
[edit]
[-] Root_Loader.php
[edit]
[-] Extension_NewRelic_Widget.php
[edit]
[-] Minify_Environment_LiteSpeed.php
[edit]
[+]
ini
[-] Cdn_ConfigLabels.php
[edit]
[-] Cdn_Plugin_Admin.php
[edit]
[-] DbCache_Core.php
[edit]
[-] Util_WpFile_FilesystemWriteException.php
[edit]
[-] Base_Page_Settings.php
[edit]
[-] UsageStatistics_Page_View_Free.php
[edit]
[-] Minify_ContentMinifier.php
[edit]
[-] Cdn_BunnyCdn_Widget_View.css
[edit]
[-] Cache_Apcu.php
[edit]
[-] Util_Debug.php
[edit]
[-] ConfigDbStorage.php
[edit]
[-] UsageStatistics_GeneralPage_View.php
[edit]
[-] Cache_Wincache.php
[edit]
[-] PgCache_Plugin_Admin.php
[edit]
[-] UserExperience_Remove_CssJs_Extension.php
[edit]
[-] Cache_Redis.php
[edit]
[-] Util_DebugPurgeLog_Reader.php
[edit]
[-] Generic_Plugin_Survey.php
[edit]
[-] Cache.php
[edit]
[-] Varnish_Flush.php
[edit]
[-] UsageStatistics_Core.php
[edit]
[-] Extension_CloudFlare_Widget_View.php
[edit]
[-] Extension_NewRelic_Core.php
[edit]
[-] Cdn_BunnyCdn_Popup_View_Configured.php
[edit]
[-] Cdnfsd_TransparentCDN_Engine.php
[edit]
[-] Cache_Eaccelerator.php
[edit]
[-] PageSpeed_Widget_View_FromApi.php
[edit]
[-] ObjectCache_Page_View_PurgeLog.php
[edit]
[-] Cdn_BunnyCdn_Popup_View_Pull_Zones.php
[edit]
[-] Minify_Environment.php
[edit]
[-] Cdn_BunnyCdn_Popup_View_Intro.php
[edit]
[-] Util_WpFile_FilesystemRmdirException.php
[edit]
[-] Mobile_Referrer.php
[edit]
[-] CdnEngine_S3_Compatible.php
[edit]
[-] Cdn_RackSpace_Api_Tokens.php
[edit]
[-] Enterprise_Dbcache_WpdbInjection_Cluster.php
[edit]
[-] Extension_NewRelic_Widget_View_Browser.php
[edit]
[-] UserExperience_DeferScripts_Mutator.php
[edit]
[-] UsageStatistics_Source_PageCacheLog.php
[edit]
[-] Generic_Plugin_AdminRowActions.php
[edit]
[-] FeatureShowcase_Plugin_Admin_View.php
[edit]
[-] Root_AdminMenu.php
[edit]
[-] ObjectCache_Environment.php
[edit]
[-] UserExperience_Preload_Requests_Extension.php
[edit]
[-] Extension_Swarmify_Plugin_Admin.php
[edit]