installed plugin W3 Total Cache
version 2.3.2
This commit is contained in:
104
wp-content/plugins/w3-total-cache/CdnEngine.php
Normal file
104
wp-content/plugins/w3-total-cache/CdnEngine.php
Normal file
@ -0,0 +1,104 @@
|
||||
<?php
|
||||
namespace W3TC;
|
||||
|
||||
/**
|
||||
* class CdnEngine
|
||||
*/
|
||||
class CdnEngine {
|
||||
/**
|
||||
* Returns CdnEngine_Base instance
|
||||
*
|
||||
* @param string $engine
|
||||
* @param array $config
|
||||
* @return CdnEngine_Base
|
||||
*/
|
||||
static function instance( $engine, $config = array() ) {
|
||||
static $instances = array();
|
||||
|
||||
$instance_key = sprintf( '%s_%s', $engine, md5( serialize( $config ) ) );
|
||||
|
||||
if ( !isset( $instances[$instance_key] ) ) {
|
||||
switch ( $engine ) {
|
||||
case 'akamai':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_Akamai( $config );
|
||||
break;
|
||||
|
||||
case 'att':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_Att( $config );
|
||||
break;
|
||||
|
||||
case 'azure':
|
||||
$instances[$instance_key] = new CdnEngine_Azure( $config );
|
||||
break;
|
||||
|
||||
case 'cf':
|
||||
$instances[$instance_key] = new CdnEngine_CloudFront( $config );
|
||||
break;
|
||||
|
||||
case 'cf2':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_CloudFront( $config );
|
||||
break;
|
||||
|
||||
case 'cotendo':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_Cotendo( $config );
|
||||
break;
|
||||
|
||||
case 'edgecast':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_Edgecast( $config );
|
||||
break;
|
||||
|
||||
case 'ftp':
|
||||
$instances[$instance_key] = new CdnEngine_Ftp( $config );
|
||||
break;
|
||||
|
||||
case 'google_drive':
|
||||
$instances[$instance_key] = new CdnEngine_GoogleDrive( $config );
|
||||
break;
|
||||
|
||||
case 'highwinds':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_Highwinds( $config );
|
||||
break;
|
||||
|
||||
case 'limelight':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_LimeLight( $config );
|
||||
break;
|
||||
|
||||
case 'mirror':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror( $config );
|
||||
break;
|
||||
|
||||
case 'rackspace_cdn':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_RackSpaceCdn( $config );
|
||||
break;
|
||||
|
||||
case 'rscf':
|
||||
$instances[$instance_key] =
|
||||
new CdnEngine_RackSpaceCloudFiles( $config );
|
||||
break;
|
||||
|
||||
case 's3':
|
||||
$instances[$instance_key] = new CdnEngine_S3( $config );
|
||||
break;
|
||||
|
||||
case 's3_compatible':
|
||||
$instances[$instance_key] = new CdnEngine_S3_Compatible( $config );
|
||||
break;
|
||||
|
||||
case 'stackpath':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_StackPath( $config );
|
||||
break;
|
||||
|
||||
case 'stackpath2':
|
||||
$instances[$instance_key] = new CdnEngine_Mirror_StackPath2( $config );
|
||||
break;
|
||||
|
||||
default :
|
||||
trigger_error( 'Incorrect CDN engine', E_USER_WARNING );
|
||||
$instances[$instance_key] = new CdnEngine_Base();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return $instances[$instance_key];
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user