list; } // Check if there is (at least) one widget that disables cache foreach ($list as $widget) { $data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/widgets/$widget/feature.json")); if (json_last_error() == JSON_ERROR_NONE) { if (isset($data->cache)) { if (is_bool($data->cache)) { $cache = $data->cache; if ($data->cache == false) { rlgps("Widget \"$widget\" prevents the use of cache"); } } } } else { rlgps("Warning: Metadata for the widget \"$widget\" is corrupted"); } } // Check if an update has been installed if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/webcontent/cache/last_version")) { if (file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/data/webcontent/cache/last_version") == file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/api/version")) {} else { $cache = false; require $_SERVER['DOCUMENT_ROOT'] . "/api/admin/cache_content_reset.php"; file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/data/webcontent/cache/last_version", file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/api/version")); } } else { $cache = false; require $_SERVER['DOCUMENT_ROOT'] . "/api/admin/cache_content_reset.php"; file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/data/webcontent/cache/last_version", file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/api/version")); } // Is there any widget that disables cache? if ($cache) { // no // Does the cached version exists? if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/data/webcontent/cache/page-" . $page)) { // yes header("X-FNS-NeutronCache: yes"); echo(file_get_contents($_SERVER['DOCUMENT_ROOT'] . "/data/webcontent/cache/page-" . $page)); // So let's output it require_once $_SERVER['DOCUMENT_ROOT'] . "/resources/private/debug.php";debugDump(); // And debug if needed return true; } else { // no header("X-FNS-NeutronCache: no"); return false; // Let the engine-cyclic render the page } } else { // yes header("X-FNS-NeutronCache: no"); return false; // Let the engine-cyclic render the page } */ // Cache is now completely disabled due to problems return false; }