JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
update wfpl and templates
[contractor-progress.git] / css_mangler.php
index 03e55f9..bc60051 100644 (file)
@@ -1,5 +1,6 @@
 <?php
 
+require_once('code/wfpl/http.php');
 require_once('code/wfpl/file.php');
 require_once('code/ie_detect.php');
 
@@ -13,7 +14,23 @@ function css_mangler() {
 
        $file = substr($file, 1);
 
-       header('Content-Type: text/css');
+       # links like style_77.css will return style.css
+
+       # This feature is used as part of a strategy to make sure that the css
+       # file is not cached longer than the html. Also I can shorten loading times
+       # by allowing caching forever.
+
+       $file = ereg_replace('_[0-9]*[.]css', '.css', $file);
+
+       if(!file_exists($file)) {
+               header('HTTP/1.0 404 File Not Found');
+               header('Content-Type: text/plain');
+               print("File \"$file\" not found.");
+               return;
+       }
+
+       header('Content-Type: text/plain');
+       http_cache_forever('private'); # serves different content for old IE versions, so no sharing the cache
 
        if(ie5or6()) {
                echo(ereg_replace("\n[^\n]*remove this line for IE 5.5 and 6[^\n]*\n", "\n", read_whole_file($file)));