Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 25
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3use NewfoldLabs\WP\Module\Performance\BurstSafetyMode\Skip404 as BurstSkip404;
4use NewfoldLabs\WP\Module\Performance\BurstSafetyMode\Browser as BurstBrowser;
5use NewfoldLabs\WP\Module\Performance\Cache\Types\Browser as CacheBrowser;
6use NewfoldLabs\WP\Module\Performance\Cache\ResponseHeaderManager;
7
8$newfold_burst_safety_mode = function_exists( 'get_option' ) ? (bool) get_option( 'newfold_burst_safety_mode', false ) : false;
9$newfold_cache_level       = function_exists( 'newfold_cache_level' ) ? (int) get_option( 'newfold_cache_level', 0 ) : 0;
10
11// Check if Performance feature is enabled and it's necessary reset the cache options
12if ( class_exists( 'NewfoldLabs\WP\Module\Performance\Performance' ) ) {
13    if ( $newfold_burst_safety_mode ) {
14        $browser = new CacheBrowser();
15        $browser::maybeAddRules( $newfold_cache_level );
16
17        $response_header_manager = new ResponseHeaderManager();
18        $response_header_manager->add_header( 'X-Newfold-Cache-Level', $newfold_cache_level );
19
20        delete_option( 'newfold_burst_safety_mode' );
21    }
22} elseif ( ! $newfold_burst_safety_mode && defined( 'BLUEHOST_PLUGIN_DIR' ) ) {
23        $files_to_include = array(
24            'htaccess'                => BLUEHOST_PLUGIN_DIR . 'vendor/wp-forge/wp-htaccess-manager/includes/htaccess.php',
25            'htaccess_functions'      => BLUEHOST_PLUGIN_DIR . 'vendor/wp-forge/wp-htaccess-manager/includes/functions.php',
26            'skip404'                 => BLUEHOST_PLUGIN_DIR . 'vendor/newfold-labs/wp-module-performance/includes/BurstSafetyMode/Skip404.php',
27            'browser'                 => BLUEHOST_PLUGIN_DIR . 'vendor/newfold-labs/wp-module-performance/includes/BurstSafetyMode/Browser.php',
28            'response_header_manager' => BLUEHOST_PLUGIN_DIR . 'vendor/newfold-labs/wp-module-performance/includes/BurstSafetyMode/ResponseHeaderManager.php',
29        );
30
31        foreach ( $files_to_include as $file_path ) {
32            if ( file_exists( $file_path ) ) {
33                require_once $file_path;
34            }
35        }
36
37        define( 'BURST_SAFETY_CACHE_LEVEL', 3 );
38
39        $skip404 = new BurstSkip404();
40
41        if ( BURST_SAFETY_CACHE_LEVEL !== $newfold_cache_level && class_exists( BurstBrowser::class ) ) {
42            $browser = new BurstBrowser();
43        }
44
45        update_option( 'newfold_burst_safety_mode', true );
46}