PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.5.13
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.5.13
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 / classes / Integration / Plugin / Cloudflare.php
nitropack / classes / Integration / Plugin Last commit date
AeliaCurrencySwitcher.php 4 years ago BeaverBuilder.php 4 years ago CF_Helper.php 4 years ago Cloudflare.php 4 years ago CookieNotice.php 4 years ago DownloadManager.php 4 years ago Ezoic.php 4 years ago FusionBuilder.php 4 years ago NginxHelper.php 4 years ago RC.php 4 years ago RocketNet_Helper.php 4 years ago ShortPixel.php 4 years ago ThriveTheme.php 4 years ago WPCacheHelper.php 4 years ago WPRocket.php 4 years ago Woocommerce.php 4 years ago WoocommerceCacheHandler.php 4 years ago
Cloudflare.php
71 lines
1 <?php
2
3 namespace NitroPack\Integration\Plugin;
4
5 class Cloudflare {
6 const STAGE = "very_early";
7
8 public static function isApoActive() {
9 if (defined('CLOUDFLARE_PLUGIN_DIR')) {
10 $cfHelper = new CF_Helper();
11 return $cfHelper->isApoEnabled();
12 } else {
13 return false;
14 }
15 }
16
17 public static function isApoRequest() {
18 return !empty($_SERVER["HTTP_CF_DEVICE_TYPE"]);
19 }
20
21 public function init($stage) {
22 switch ($stage) {
23 case "very_early":
24 if (self::isApoRequest()) {
25 $siteConfig = get_nitropack()->getSiteConfig();
26 if ($siteConfig && !empty($siteConfig["isApoActive"])) {
27 add_action('nitropack_early_cache_headers', [$this, 'preventApoCache'], PHP_INT_MAX);
28 add_action('nitropack_cacheable_cache_headers', [$this, 'allowApoCache'], PHP_INT_MAX);
29 add_action('nitropack_cachehit_cache_headers', [$this, 'allowApoCache'], PHP_INT_MAX);
30 }
31 }
32 \NitroPack\Integration::initSemAcquire();
33 return true;
34 case "late":
35 \NitroPack\Integration::initSemRelease();
36 if (self::isApoActive()) {
37 add_action('nitropack_execute_purge_url', [$this, 'purgeUrl']);
38 add_action('nitropack_execute_purge_all', [$this, 'purgeAll']);
39 }
40 default:
41 return false;
42 }
43 }
44
45 public function purgeUrl($url) {
46 if (defined('CLOUDFLARE_PLUGIN_DIR')) {
47 $cfHelper = new CF_Helper();
48 return $cfHelper->purgeUrl($url);
49 } else {
50 return false;
51 }
52 }
53
54 public function purgeAll() {
55 if (defined('CLOUDFLARE_PLUGIN_DIR')) {
56 $cfHelper = new CF_Helper();
57 return $cfHelper->purgeCacheEverything();
58 } else {
59 return false;
60 }
61 }
62
63 public function allowApoCache() {
64 nitropack_header("cf-edge-cache: cache,platform=wordpress");
65 }
66
67 public function preventApoCache() {
68 nitropack_header("cf-edge-cache: no-cache");
69 }
70 }
71