| Server IP : 193.146.211.90 / Your IP : 10.85.6.55 Web Server : Apache System : Linux wordpress-gti-69dcdb54f7-n4wdq 6.11.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 x86_64 User : 1001 ( 1001) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /bitnami/wordpress/wp-content/plugins/w3-total-cache/ |
Upload File : |
<?php
/**
* File: Cdnfsd_Core.php
*
* @package W3TC
*/
namespace W3TC;
/**
* Core for FSD CDN.
*/
class Cdnfsd_Core {
/**
* Get the CDN engine object.
*
* @returns object
* @throws \Exception Exception.
*/
public function get_engine() {
static $engine_object = null;
if ( is_null( $engine_object ) ) {
$c = Dispatcher::config();
$engine = $c->get_string( 'cdnfsd.engine' );
switch ( $engine ) {
case 'cloudflare':
$engine_object = null; // Extension handles everything.
break;
case 'transparentcdn':
$engine_object = new Cdnfsd_TransparentCDN_Engine(
array(
'company_id' => $c->get_string( 'cdnfsd.transparentcdn.company_id' ),
'client_id' => $c->get_string( 'cdnfsd.transparentcdn.client_id' ),
'client_secret' => $c->get_string( 'cdnfsd.transparentcdn.client_secret' ),
)
);
break;
case 'cloudfront':
$engine_object = new Cdnfsd_CloudFront_Engine(
array(
'access_key' => $c->get_string( 'cdnfsd.cloudfront.access_key' ),
'secret_key' => $c->get_string( 'cdnfsd.cloudfront.secret_key' ),
'distribution_id' => $c->get_string( 'cdnfsd.cloudfront.distribution_id' ),
)
);
break;
case 'limelight':
$engine_object = new Cdnfsd_LimeLight_Engine(
array(
'short_name' => $c->get_string( 'cdnfsd.limelight.short_name' ),
'username' => $c->get_string( 'cdnfsd.limelight.username' ),
'api_key' => $c->get_string( 'cdnfsd.limelight.api_key' ),
'debug' => $c->get_string( 'cdnfsd.debug' ),
)
);
break;
case 'stackpath':
$engine_object = new Cdnfsd_StackPath_Engine(
array(
'api_key' => $c->get_string( 'cdnfsd.stackpath.api_key' ),
'zone_id' => $c->get_integer( 'cdnfsd.stackpath.zone_id' ),
)
);
break;
case 'stackpath2':
$state = Dispatcher::config_state();
$engine_object = new Cdnfsd_StackPath2_Engine(
array(
'client_id' => $c->get_string( 'cdnfsd.stackpath2.client_id' ),
'client_secret' => $c->get_string( 'cdnfsd.stackpath2.client_secret' ),
'stack_id' => $c->get_string( 'cdnfsd.stackpath2.stack_id' ),
'site_root_domain' => $c->get_string( 'cdnfsd.stackpath2.site_root_domain' ),
'domain' => $c->get_array( 'cdnfsd.stackpath2.domain' ),
'ssl' => $c->get_string( 'cdnfsd.stackpath2.ssl' ),
'access_token' => $state->get_string( 'cdnfsd.stackpath2.access_token' ),
'on_new_access_token' => array( $this, 'on_stackpath2_new_access_token' ),
)
);
break;
case 'bunnycdn':
$engine_object = new Cdnfsd_BunnyCdn_Engine(
array(
'account_api_key' => $c->get_string( 'cdn.bunnycdn.account_api_key' ),
'pull_zone_id' => $c->get_integer( 'cdnfsd.bunnycdn.pull_zone_id' ),
)
);
break;
default:
throw new \Exception( esc_html( __( 'Unknown engine', 'w3-total-cache' ) . ' ' . $engine ) );
break;
}
}
return $engine_object;
}
/**
* Save new StackPath access token.
*
* @param string $access_token Access token.
*/
public function on_stackpath2_new_access_token( $access_token ) {
$state = Dispatcher::config_state();
$state->set( 'cdnfsd.stackpath2.access_token', $access_token );
$state->save();
}
}