Exemple #1
0
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;
    }
}
Exemple #2
0
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;
    }
}