PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.18.5
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.18.5
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / advanced-cache.php
nitropack Last commit date
classes 10 months ago languages 1 year ago nitropack-sdk 11 months ago view 10 months ago advanced-cache.php 1 year ago batcache-compat.php 1 year ago constants.php 10 months ago diagnostics.php 11 months ago functions.php 10 months ago helpers.php 1 year ago main.php 10 months ago readme.txt 10 months ago uninstall.php 10 months ago
advanced-cache.php
67 lines
1 <?php
2
3 defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
4
5 if (strpos($_SERVER["REQUEST_URI"], "nitroHealthcheck") !== false) {
6 // This healthcheck is used to quickly check test whether the PHP application is able to handle the requests
7 // Mainly used to check for errors after .htaccess has been modified
8 echo "Healthy";
9 exit;
10 }
11
12 $nitropack_functions_file = '/*NITROPACK_FUNCTIONS_FILE*/';
13 $nitropack_abspath = '/*NITROPACK_ABSPATH*/';
14
15 // We need the ABSPATH check in order to verify that the functions file which we are about to load belongs to the expected WP installation.
16 // Otherwise issues may occur when a site is being duplicated in a subdir on the same server.
17 if (file_exists($nitropack_functions_file) && ABSPATH == $nitropack_abspath) {
18 define( 'NITROPACK_ADVANCED_CACHE', true);
19 define( 'NITROPACK_ADVANCED_CACHE_VERSION', '/*NP_VERSION*/');
20 define( 'NITROPACK_LOGGED_IN_COOKIE', '/*LOGIN_COOKIES*/' );
21 require_once $nitropack_functions_file;
22 }
23
24 if (defined("NITROPACK_VERSION") && defined("NITROPACK_ADVANCED_CACHE_VERSION") && NITROPACK_VERSION == NITROPACK_ADVANCED_CACHE_VERSION && nitropack_is_dropin_cache_allowed()) {
25 nitropack_handle_request("drop-in");
26 $nitro = get_nitropack_sdk();
27
28 if (null !== $nitro) {
29 $np_siteConfig = nitropack_get_site_config();
30 if ( !empty($np_siteConfig["alwaysBuffer"]) || ($nitro->isAJAXRequest() && $nitro->isAllowedAJAX()) ) {
31 define( 'NITROPACK_IS_BUFFERING', true );
32 ob_start(function($buffer) use (&$nitro) {
33
34 $respHeaders = headers_list();
35 $contentType = NULL;
36 foreach ($respHeaders as $respHeader) {
37 if (stripos(trim($respHeader), 'Content-Type:') === 0) {
38 $contentType = $respHeader;
39 }
40 }
41
42 // If the content type header was detected and it's value does not contain 'text/html',
43 // don't attach the beacon script.
44 $contentHeaderIsCorrect = true;
45 if ($contentType !== NULL && stripos($contentType, 'text/html') === false) {
46 $contentHeaderIsCorrect = false;
47 }
48
49 if ($contentHeaderIsCorrect && !preg_match("/<html.*?\s(amp|⚡)(\s|=|>)/", $buffer)) {
50 if (nitropack_passes_cookie_requirements() && nitropack_passes_page_requirements(false) && !defined("NITROPACK_BEACON_PRINTED")) {
51 define("NITROPACK_BEACON_PRINTED", true);
52 $buffer = str_replace("</body", nitropack_get_beacon_script() . "</body", $buffer);
53 }
54 }
55
56
57 if ($nitro->isAJAXRequest() && $nitro->isAllowedAJAX()) {
58 $nitro->pageCache->setContent($buffer, []);
59 }
60 return $buffer;
61 }, 0, PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE);
62 } else {
63 define( 'NITROPACK_IS_BUFFERING', false );
64 }
65 }
66 }
67