Example #1
0
$header = array('js' => 'Content-Type: application/x-javascript', 'css' => 'Content-Type: text/css', 'jpg' => 'Content-Type: image/jpg', 'gif' => 'Content-Type: image/gif', 'png' => 'Content-Type: image/png', 'jpeg' => 'Content-Type: image/jpeg', 'swf' => 'Content-Type: application/x-shockwave-flash');
if (isset($header[$type])) {
    header($header[$type]);
}
if (file_exists($cache_file) && filemtime($cache_file) + $etag_expires > $setting['info']['time_start'] / 1000) {
    $result = GetFile($cache_file);
} else {
    switch ($type) {
        case "css":
            $css = $mystep->getCSS();
            for ($i = 0, $m = count($css); $i < $m; $i++) {
                $result .= CSSMin::minify(GetFile($css[$i]));
            }
            break;
        case "js":
            $js = $mystep->getJS();
            for ($i = 0, $m = count($js); $i < $m; $i++) {
                $result .= JSMin::minify(GetFile($js[$i]));
            }
            break;
        default:
            break;
    }
    if (!empty($result)) {
        WriteFile($cache_file, $result, "wb");
    }
}
header("Accept-Ranges: bytes");
header("Accept-Length: " . strlen($result));
echo $result;
$mystep->pageEnd(false);