installed plugin W3 Total Cache
version 2.3.2
This commit is contained in:
109
wp-content/plugins/w3-total-cache/BrowserCache_Core.php
Normal file
109
wp-content/plugins/w3-total-cache/BrowserCache_Core.php
Normal file
@ -0,0 +1,109 @@
|
||||
<?php
|
||||
namespace W3TC;
|
||||
|
||||
/**
|
||||
* Browsercache core
|
||||
*/
|
||||
class BrowserCache_Core {
|
||||
/**
|
||||
* Returns replace extensions
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function get_replace_extensions( $config ) {
|
||||
$types = array();
|
||||
$extensions = array();
|
||||
|
||||
if ( $config->get_boolean( 'browsercache.cssjs.replace' ) ) {
|
||||
$types = array_merge( $types, array_keys( $this->_get_cssjs_types() ) );
|
||||
}
|
||||
|
||||
if ( $config->get_boolean( 'browsercache.html.replace' ) ) {
|
||||
$types = array_merge( $types, array_keys( $this->_get_html_types() ) );
|
||||
}
|
||||
|
||||
if ( $config->get_boolean( 'browsercache.other.replace' ) ) {
|
||||
$types = array_merge( $types, array_keys( $this->_get_other_types() ) );
|
||||
}
|
||||
|
||||
foreach ( $types as $type ) {
|
||||
$extensions = array_merge( $extensions, explode( '|', $type ) );
|
||||
}
|
||||
|
||||
return $extensions;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Returns replace extensions
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function get_replace_querystring_extensions( $config ) {
|
||||
$extensions = array();
|
||||
|
||||
if ( $config->get_boolean( 'browsercache.cssjs.replace' ) )
|
||||
$this->_fill_extensions( $extensions, $this->_get_cssjs_types(), 'replace' );
|
||||
if ( $config->get_boolean( 'browsercache.html.replace' ) )
|
||||
$this->_fill_extensions( $extensions, $this->_get_html_types(), 'replace' );
|
||||
if ( $config->get_boolean( 'browsercache.other.replace' ) )
|
||||
$this->_fill_extensions( $extensions, $this->_get_other_types(), 'replace' );
|
||||
|
||||
if ( $config->get_boolean( 'browsercache.cssjs.querystring' ) )
|
||||
$this->_fill_extensions( $extensions, $this->_get_cssjs_types(), 'querystring' );
|
||||
if ( $config->get_boolean( 'browsercache.html.querystring' ) )
|
||||
$this->_fill_extensions( $extensions, $this->_get_html_types(), 'querystring' );
|
||||
if ( $config->get_boolean( 'browsercache.other.querystring' ) )
|
||||
$this->_fill_extensions( $extensions, $this->_get_other_types(), 'querystring' );
|
||||
|
||||
return $extensions;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private function _fill_extensions( &$extensions, $types, $operation ) {
|
||||
foreach ( array_keys( $types ) as $type ) {
|
||||
$type_extensions = explode( '|', $type );
|
||||
foreach ( $type_extensions as $ext ) {
|
||||
if ( !isset( $extensions[$ext] ) )
|
||||
$extensions[$ext] = array();
|
||||
$extensions[$ext][$operation] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns CSS/JS mime types
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function _get_cssjs_types() {
|
||||
$mime_types = include W3TC_INC_DIR . '/mime/cssjs.php';
|
||||
return $mime_types;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Returns HTML mime types
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function _get_html_types() {
|
||||
$mime_types = include W3TC_INC_DIR . '/mime/html.php';
|
||||
return $mime_types;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Returns other mime types
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function _get_other_types() {
|
||||
$mime_types = include W3TC_INC_DIR . '/mime/other.php';
|
||||
return $mime_types;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user