nitropack
Last commit date
classes
3 years ago
nitropack-sdk
3 years ago
view
3 years ago
advanced-cache.php
3 years ago
batcache-compat.php
4 years ago
cf-helper.php
5 years ago
constants.php
3 years ago
diagnostics.php
4 years ago
functions.php
3 years ago
integrations.php
4 years ago
main.php
3 years ago
readme.txt
3 years ago
uninstall.php
4 years ago
wp-cli.php
5 years ago
advanced-cache.php
50 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 | if (!defined("NITROPACK_BEACON_PRINTED")) { |
| 34 | if (strpos($buffer, "</body") !== false) { |
| 35 | define("NITROPACK_BEACON_PRINTED", true); |
| 36 | $buffer = str_replace("</body", nitropack_get_beacon_script() . "</body", $buffer); |
| 37 | } |
| 38 | } |
| 39 | |
| 40 | if ($nitro->isAJAXRequest() && $nitro->isAllowedAJAX()) { |
| 41 | $nitro->pageCache->setContent($buffer, []); |
| 42 | } |
| 43 | return $buffer; |
| 44 | }, 0, PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_REMOVABLE); |
| 45 | } else { |
| 46 | define( 'NITROPACK_IS_BUFFERING', false ); |
| 47 | } |
| 48 | } |
| 49 | } |
| 50 |