$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);