PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.15.2
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.15.2
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 2 years ago languages 2 years ago nitropack-sdk 2 years ago view 2 years ago advanced-cache.php 2 years ago batcache-compat.php 4 years ago constants.php 2 years ago diagnostics.php 2 years ago functions.php 2 years ago helpers.php 3 years ago main.php 2 years ago readme.txt 2 years ago uninstall.php 2 years ago wp-cli.php 2 years 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