| Server IP : 104.21.31.197 / Your IP : 162.159.110.180 Web Server : nginx/1.20.2 System : Linux 172-104-110-161.ip.linodeusercontent.com 3.10.0-1160.36.2.el7.x86_64 #1 SMP Wed Jul 21 11:57:15 UTC 2021 x86_64 User : www ( 1000) PHP Version : 8.1.9 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /www/wwwroot/lenovo-drivers.com/wordpress/wp-content/plugins/w3-total-cache/ |
Upload File : |
<?php
/**
* File: CdnEngine.php
*
* @package W3TC
*/
namespace W3TC;
/**
* Class: CdnEngine
*
* phpcs:disable WordPress.PHP.DiscouragedPHPFunctions.serialize_serialize
*/
class CdnEngine {
/**
* Returns CdnEngine_Base instance.
*
* @param string $engine CDN engine.
* @param array $config Configuration.
*
* @return CdnEngine_Base
*/
public static function instance( $engine, array $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 'azuremi':
$instances[ $instance_key ] = new CdnEngine_Azure_MI( $config );
break;
case 'bunnycdn':
$instances[ $instance_key ] = new CdnEngine_Mirror_BunnyCdn( $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 '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;
default:
empty( $engine ) || trigger_error( 'Incorrect CDN engine', E_USER_WARNING ); // phpcs:ignore WordPress.PHP.DevelopmentFunctions.error_log_trigger_error
$instances[ $instance_key ] = new CdnEngine_Base();
break;
}
}
return $instances[ $instance_key ];
}
}