HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: 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_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/hcv/wp-content/plugins/w3-total-cache/Cdn_Environment_Nginx.php
<?php
namespace W3TC;

/**
 * CDN rules generation for Nginx
 */
class Cdn_Environment_Nginx {
	private $c;



	public function __construct( $config ) {
		$this->c = $config;
	}



	public function generate( $cdnftp ) {
		$rules = '';
		$rule = $this->generate_canonical( $cdnftp );
		if ( !empty( $rule ) ) {
			$rules = $rule . "\n";
		}

		if ( $this->c->get_boolean( 'cdn.cors_header') ) {
			$rules_a = Dispatcher::nginx_rules_for_browsercache_section(
				$this->c, 'other', true );
			$rules_a[] = 'add_header Access-Control-Allow-Origin "*";';

			$rules .=
			"location ~ \\.(ttf|ttc|otf|eot|woff|woff2|font.css)\$ {\n" .
			'    ' . implode( "\n    ", $rules_a ) . "\n" .
			"}\n";
		}

		if ( strlen( $rules ) > 0 ) {
			$rules =
				W3TC_MARKER_BEGIN_CDN . "\n" .
				$rules .
				W3TC_MARKER_END_CDN . "\n";
		}

		return $rules;
	}



	public function generate_canonical( $cdnftp = false ) {
		if ( !$this->c->get_boolean( 'cdn.canonical_header' ) ) {
			return null;
		}

		$home = ( $cdnftp ? Util_Environment::home_url_host() : '$host' );

		return 'add_header Link "<$scheme://' .	$home .
			'$request_uri>; rel=\"canonical\"";';
	}



	public function w3tc_browsercache_rules_section_extensions(
			$extensions, $section ) {
		// CDN adds own rules for those extensions
		unset( $extensions['ttf|ttc'] );
		unset( $extensions['otf'] );
		unset( $extensions['eot'] );
		unset( $extensions['woff'] );
		unset( $extensions['woff2'] );

		return $extensions;
	}
}