PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.9.1
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.9.1
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 / Hosting / Raidboxes.php
nitropack / classes / Integration / Hosting Last commit date
Closte.php 4 years ago Cloudways.php 4 years ago DreamHost.php 3 years ago Flywheel.php 4 years ago GoDaddyWPaaS.php 4 years ago GridPane.php 4 years ago Hosting.php 4 years ago Kinsta.php 3 years ago Pagely.php 4 years ago PagelyCachePurge.php 4 years ago Pantheon.php 2 years ago Pressable.php 3 years ago Raidboxes.php 2 years ago RocketNet.php 3 years ago Savvii.php 3 years ago SiteGround.php 2 years ago Vimexx.php 3 years ago WPEngine.php 4 years ago WPX.php 3 years ago WPmudev.php 2 years ago
Raidboxes.php
65 lines
1 <?php
2 /**
3 * Raidboxes Class
4 *
5 * @package nitropack
6 */
7
8 namespace NitroPack\Integration\Hosting;
9
10 use \NitroPack\SDK\Filesystem;
11
12 /**
13 * Raidboxes Class
14 */
15 class Raidboxes extends Hosting {
16 const STAGE = "very_early";
17
18 private $isPurgeNeeded = false;
19
20 /**
21 * Detect if Raidboxes is active
22 *
23 * @return bool
24 */
25 public static function detect() {
26 return substr(gethostname(), 0, 4) == "box-" && Filesystem::fileExists(nitropack_trailingslashit(ABSPATH) . 'rb-plugins');
27 }
28
29 /**
30 * Initialize Raidboxes
31 *
32 * @param $stage
33 * @return void
34 */
35 public function init($stage) {
36 if (self::detect()) {
37 switch ($stage) {
38 case "very_early":
39 \NitroPack\Integration::initSemAcquire();
40 \NitroPack\Integration::onShutdown([$this, 'purgeCache']);
41 return true;
42 case "late":
43 \NitroPack\Integration::initSemRelease();
44 break;
45 }
46
47 add_action('nitropack_execute_purge_url', [$this, 'logPurgeNeed']);
48 add_action('nitropack_execute_purge_all', [$this, 'logPurgeNeed']);
49 }
50 }
51
52 public function logPurgeNeed() {
53 $this->isPurgeNeeded = true;
54 }
55
56 public function purgeCache() {
57 if ($this->isPurgeNeeded) {
58 // There isn't a way to purge the cache for a single URL
59 // So we are purging the entire cache :(
60 $rbNginx = new \RaidboxesNginxCacheFunctions();
61 $rbNginx->purge_cache();
62 }
63 }
64 }
65