function serveCacheIfNecessary() { nitroEnableSession(); if (passesPageCacheValidation() == false) { return false; } $nitrocache_time = getPageCacheTime(); $cachefile = NITRO_PAGECACHE_FOLDER . generateNameOfCacheFile(); if (file_exists($cachefile) && time() - $nitrocache_time < filemtime($cachefile)) { $cache_filemtime = filemtime($cachefile); $quick_refresh_file = getQuickCacheRefreshFilename(); if (file_exists($quick_refresh_file)) { if (filemtime($quick_refresh_file) > $cache_filemtime) { return false; } } $before = microtime(true); usleep(1); header('Content-type: text/html; charset=utf-8'); serveBrowserCacheHeadersIfNecessary($cache_filemtime); serveSpecialHeadersIfNecessary($cache_filemtime); if (loadGzipHeadersIfNecessary()) { $cachefile = $cachefile . '.gz'; } readfile($cachefile); $after = microtime(true); nitroEnableSession(); $_SESSION['NitroRenderTime'] = $after - $before; $_SESSION['NitroNameOfCacheFile'] = generateNameOfCacheFile(); exit; } }
function serveCacheIfNecessary() { if (!isset($_SESSION)) { session_start(); } if (passesPageCacheValidation() == false) { return false; } $cachefile = NITRO_PAGECACHE_FOLDER . generateNameOfCacheFile(); if (file_exists($cachefile) && time() - NITROCACHE_TIME < filemtime($cachefile)) { $before = microtime(true); header('Content-type: text/html; charset=utf-8'); serveBrowserCacheHeadersIfNecessary(); if (loadGzipHeadersIfNecessary() == true) { readfile($cachefile . '.gz'); } else { readfile($cachefile); } $after = microtime(true); if (decideToShowFrontWidget()) { $renderTime = $after - $before; $nameOfCacheFile = generateNameOfCacheFile(); $originalRenderTime = (double) getLoadTime(); $faster = (int) ($originalRenderTime / $renderTime); include NITRO_FOLDER . 'core/frontwidget.php'; } exit; } }