HEX
Server: LiteSpeed
System: Linux cde2.duelhost.dk 4.18.0-553.34.1.lve.el8.x86_64 #1 SMP Thu Jan 9 16:30:32 UTC 2025 x86_64
User: dtptviut (1121)
PHP: 8.0.30
Disabled: exec,system,passthru,shell_exec,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/dtptviut/public_html/wp-content/plugins/nitropack/classes/Integration/Hosting/Raidboxes.php
<?php
/**
 * Raidboxes Class
 *
 * @package nitropack
 */

namespace NitroPack\Integration\Hosting;

use \NitroPack\SDK\Filesystem;

/**
 * Raidboxes Class
 */
class Raidboxes extends Hosting {
    const STAGE = "very_early";

    private $nginx_cache_path = ABSPATH . 'wp-content/nginx_cache';
    private $wordpress_gt_cache_path = ABSPATH . 'wp-content/gt-cache';

    /**
     * Detect if Raidboxes is active
     *
     * @return bool
     */
    public static function detect() {
        return substr(gethostname(), 0, 4) == "box-" && Filesystem::fileExists(nitropack_trailingslashit(ABSPATH) . 'rb-plugins');
    }

    /**
     * Initialize Raidboxes
     *
     * @param $stage
     * @return void
     */
    public function init($stage) {
        if (self::detect()) {
            add_action('nitropack_execute_purge_url', [$this, 'purgeCache']);
            add_action('nitropack_execute_purge_all', [$this, 'purgeCache']);
        }
    }

    private function purgeCacheDirectory($directory) {
        try {
            Filesystem::deleteDir($directory);
        } catch (\Exception $e) {
            // TODO: Log this
            return false;
        }
    }

    public function purgeCache() {
        $this->purgeCacheDirectory($this->nginx_cache_path);
        $this->purgeCacheDirectory($this->wordpress_gt_cache_path);
    }
}