diff flag.php @ 38:42533600214b

Rename cache_check.inc to CacheTimeCheck.inc. Proper caching in flag.php.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Thu, 04 Oct 2012 22:07:19 +0200
parents da86ec2814e2
children bd82b719a0de
line wrap: on
line diff
--- a/flag.php	Thu Oct 04 21:30:57 2012 +0200
+++ b/flag.php	Thu Oct 04 22:07:19 2012 +0200
@@ -1,62 +1,40 @@
 <?php
 define(DEBUG,0);
 
-include 'cache_check.inc';
-include 'accept-language.inc';
-
-function loadFile($sFilename, $sCharset = 'UTF-8')
-{
-    if (floatval(phpversion()) >= 4.3) {
-      if (!file_exists($sFilename)) return -3;
-      $sData = file_get_contents($sFilename);
-    } else {
-        if (!file_exists($sFilename)) return -3;
-        $rHandle = fopen($sFilename, 'r');
-        if (!$rHandle) return -2;
+include_once 'CacheTimeCheck.inc';
 
-        $sData = '';
-        while(!feof($rHandle))
-            $sData .= fread($rHandle, filesize($sFilename));
-        fclose($rHandle);
-    }
-    if ($sEncoding = mb_detect_encoding($sData, 'auto', true) != $sCharset) {
-       if ($sEncoding != 1) {
-       	 $sData = mb_convert_encoding($sData, $sCharset, $sEncoding);
-       }
-    }
-    return $sData;
-}
-
+$cache = new CacheTimeCheck(filemtime(__FILE__));
+$cache->includeOnce('accept-language.inc');
+$cache->includeOnce('common-functions.inc');
 
 $active = $_GET['active'];
 $lang = $_GET['lang'];
 
-if(!$name) {
-  $name="home";
-}
 if(!$lang) {
-  $lang="no";
-  $langs=acceptedLanguages();
+  $lang = "no";
+  $langs = acceptedLanguages();
   foreach ($langs as $l => $val) {
     if (file_exists($l)) {
-      $lang=$l;
+      $lang = $l;
       break;
     }
   }
 }
 
-$name="../img/flag-${lang}";
+$name = "../img/flag-${lang}";
 if ($active)
-  $name.="-active";
-$name.=".png";
+  $name .= "-active";
+$name .= ".png";
 
-$flag=loadFile("${name}");
+$cache->cache_time($name);
+$cache->CheckHttpModified();
 
-if (floatval($flag)<0) {
-  header('HTTP/1.0 404 Not Found');
-  print '<div id="page"><h1>Resource not found</h1></div>';
+$flag = loadFile($name);
+
+if (floatval($flag) < 0) {
+  errorPage('Resource not found', 404);
 }
 else {
   header("Content-Type: image/png");
   print $flag;
-}
+}
\ No newline at end of file