PATH:
home
/
shotlining
/
public_html
/
wp-content
/
plugins
/
w3-total-cache
<?php /** * File: CdnEngine_Azure_MI_Utility.php * * Microsoft Azure Managed Identities are available only for services running on Azure when a "system assigned" identity is enabled. * * A system assigned managed identity is restricted to one per resource and is tied to the lifecycle of a resource. * You can grant permissions to the managed identity by using Azure role-based access control (Azure RBAC). * The managed identity is authenticated with Microsoft Entra ID, so you don’t have to store any credentials in code. * * @package W3TC * @since 2.7.7 */ namespace W3TC; /** * Class: CdnEngine_Azure_MI_Utility * * This class defines utility functions for Azure blob storage access using Managed Identity. * * @since 2.7.7 * @author Zubair <zmohammed@microsoft.com> * @author BoldGrid <development@boldgrid.com> * * phpcs:disable WordPress.WP.AlternativeFunctions */ class CdnEngine_Azure_MI_Utility { /** * Entra API version. * * @since 2.7.7 * * @var string */ const ENTRA_API_VERSION = '2019-08-01'; /** * Entra resource URI. * * @since 2.7.7 * * @var string */ const ENTRA_RESOURCE_URI = 'https://storage.azure.com'; /** * Blob API version. * * @since 2.7.7 * * @var string */ const BLOB_API_VERSION = '2020-10-02'; /** * Retrieves an access token from the Managed Identity endpoint. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @return string $access_token * @throws \RuntimeException Runtine Exception. */ public static function get_access_token( string $entra_client_id ): string { // Get environment variables. $identity_header = \getenv( 'IDENTITY_HEADER' ); $identity_endpoint = \getenv( 'IDENTITY_ENDPOINT' ); // Validate variables. if ( empty( $identity_endpoint ) || empty( $identity_header ) || empty( $entra_client_id ) ) { throw new \RuntimeException( \esc_html__( 'Error: get_access_token - missing required environment variables.', 'w3-total-cache' ) ); } // Construct URL for cURL request. $url = $identity_endpoint . '?' . http_build_query( array( 'api-version' => self::ENTRA_API_VERSION, 'resource' => self::ENTRA_RESOURCE_URI, 'client_id' => $entra_client_id, ) ); // Initialize and execute cURL request. $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, $url ); \curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'GET' ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'X-IDENTITY-HEADER: ' . $identity_header ) ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: get_access_token - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 200 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: get_access_token - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: get_access_token - invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } // Parse JSON response and extract access_token. $json_response = \json_decode( $response, true ); if ( \json_last_error() !== JSON_ERROR_NONE ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 JSON last error message. \__( 'Error: get_access_token - failed to parse the JSON response: %1$s', 'w3-total-cache' ), \json_last_error_msg() ) ) ); } if ( empty( $json_response['access_token'] ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: get_access_token - no token found in response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return $json_response['access_token']; } /** * Get Azure Blob Storage blob properties. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $blob Blob ID. * @return array * @throws \RuntimeException Runtine Exception. */ public static function get_blob_properties( string $entra_client_id, string $storage_account, string $container_id, $blob ): array { $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '/' . $blob ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', time() ), ) ); \curl_setopt( $ch, CURLOPT_HEADER, true ); \curl_setopt( $ch, CURLOPT_NOBODY, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: get_blob_properties - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 200 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: get_blob_properties - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: get_blob_properties - invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return self::parse_header( $response ); } /** * Create block blob. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $blob Blob ID. * @param mixed $contents Contents. * @param string $content_type Content type. * @param string $content_md5 Content MD5 hash. * @param string $cache_control Cache control header value. * @return array * @throws \RuntimeException Runtine Exception. */ public static function create_block_blob( string $entra_client_id, string $storage_account, string $container_id, string $blob, $contents, string $content_type = null, string $content_md5 = null, string $cache_control = null ): array { $headers = array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), 'x-ms-blob-type: BlockBlob', ); if ( $content_type ) { $headers[] = 'x-ms-blob-content-type: ' . $content_type; } if ( $content_md5 ) { $headers[] = 'x-ms-blob-content-md5: ' . $content_md5; } if ( $cache_control ) { $headers[] = 'x-ms-blob-cache-control: ' . $cache_control; } $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '/' . $blob ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'PUT' ); \curl_setopt( $ch, CURLOPT_POSTFIELDS, $contents ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HEADER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: create_block_blob - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 201 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: create_block_blob - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: create_block_blob - invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return self::parse_header( $response ); } /** * Delete blob. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $blob Blob ID. * @return array * @throws \RuntimeException Runtine Exception. */ public static function delete_blob( string $entra_client_id, string $storage_account, string $container_id, string $blob ) { $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '/' . $blob ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'DELETE' ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), ) ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HEADER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: delete_blob - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = curl_getinfo( $ch, CURLINFO_HTTP_CODE ); curl_close( $ch ); if ( 202 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: delete_blob - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: delete_blob - invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return self::parse_header( $response ); } /** * Create an Azure Blob Storage container/bucket. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $public_access_type Public access type. * @return array * @throws \RuntimeException Runtine Exception. */ public static function create_container( string $entra_client_id, string $storage_account, string $container_id, string $public_access_type = 'blob' ): array { $headers = array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), 'Content-Length: 0', ); if ( $public_access_type ) { $headers[] = "x-ms-blob-public-access: $public_access_type"; } $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '?restype=container' ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'PUT' ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HEADER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: create_container - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 201 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: create_container - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html__( 'Error: create_container - empty response.', 'w3-total-cache' ) ); } return self::parse_header( $response ); } /** * List Azure Blob Storage containers. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @return array * @throws \RuntimeException Runtine Exception. */ public static function list_containers( string $entra_client_id, string $storage_account ): array { $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/?comp=list' ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), ) ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: list_containers - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 200 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: list_containers - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: list_containers - Invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } // Parse XML response to array. $xml = \simplexml_load_string( $response ); $json = \json_encode( $xml ); $response = \json_decode( $json, true ); $array_response = array(); if ( ! empty( $response['Containers']['Container'] ) ) { $array_response = self::get_array( $response['Containers']['Container'] ); } return $array_response; } /** * Get blob. * * @since 2.7.7 * * @param string $entra_client_id Entra ID. * @param string $storage_account Storage account name. * @param string $container_id Container ID. * @param string $blob Blob ID. * @return array * @throws \RuntimeException Runtine Exception. */ public static function get_blob( string $entra_client_id, string $storage_account, string $container_id, string $blob ): array { $ch = \curl_init(); \curl_setopt( $ch, CURLOPT_URL, 'https://' . $storage_account . '.blob.core.windows.net/' . $container_id . '/' . $blob ); \curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); \curl_setopt( $ch, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' . self::get_access_token( $entra_client_id ), 'x-ms-version: ' . self::BLOB_API_VERSION, 'x-ms-date: ' . \gmdate( 'D, d M Y H:i:s T', \time() ), ) ); \curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, true ); \curl_setopt( $ch, CURLOPT_HEADER, true ); $response = \curl_exec( $ch ); if ( \curl_errno( $ch ) ) { $error = \curl_error( $ch ); \curl_close( $ch ); throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Error message. \__( 'Error: get_blob - cURL request failed: %1$s', 'w3-total-cache' ), $error ) ) ); } $header_size = \curl_getinfo( $ch, CURLINFO_HEADER_SIZE ); $http_code = \curl_getinfo( $ch, CURLINFO_HTTP_CODE ); \curl_close( $ch ); if ( 200 !== $http_code ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 HTTP status code. \__( 'Error: get_blob - HTTP request failed with status code: %1$s', 'w3-total-cache' ), $http_code ) ) ); } if ( empty( $response ) ) { throw new \RuntimeException( \esc_html( sprintf( // Translators: 1 Response. \__( 'Error: get_blob - Invalid response data: %1$s', 'w3-total-cache' ), $response ) ) ); } return array( 'headers' => self::parse_header( \substr( $response, 0, $header_size ) ), 'data' => \substr( $response, $header_size ), ); } /** * Get array. * * @since 2.7.7 * @access private * * @param mixed $input Variable used to get array. * * @return array */ private static function get_array( $input ): array { if ( empty( $input ) || ! \is_array( $input ) ) { return array(); } foreach ( $input as $value ) { if ( ! \is_array( $value ) ) { return array( $input ); } return $input; } } /** * Parse header from string to array. * * @since 2.7.7 * @access private * * @param string $header Header. * @return array */ private static function parse_header( string $header ): array { $headers = array(); $header_text = \substr( $header, 0, \strpos( $header, "\r\n\r\n" ) ); $header_parts = \explode( "\r\n", $header_text ); foreach ( $header_parts as $header ) { if ( \strpos( $header, ':' ) !== false ) { $header_parts = \explode( ':', $header ); $headers[ $header_parts[0] ] = \trim( $header_parts[1] ); } } return $headers; } }
[+]
..
[-] 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]