Mercurial > SimpleWebPresenter
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 37:da1726860524 | 38:42533600214b |
|---|---|
| 1 <?php | 1 <?php |
| 2 define(DEBUG,0); | 2 define(DEBUG,0); |
| 3 | 3 |
| 4 include 'cache_check.inc'; | 4 include_once 'CacheTimeCheck.inc'; |
| 5 include 'accept-language.inc'; | |
| 6 | 5 |
| 7 function loadFile($sFilename, $sCharset = 'UTF-8') | 6 $cache = new CacheTimeCheck(filemtime(__FILE__)); |
| 8 { | 7 $cache->includeOnce('accept-language.inc'); |
| 9 if (floatval(phpversion()) >= 4.3) { | 8 $cache->includeOnce('common-functions.inc'); |
| 10 if (!file_exists($sFilename)) return -3; | |
| 11 $sData = file_get_contents($sFilename); | |
| 12 } else { | |
| 13 if (!file_exists($sFilename)) return -3; | |
| 14 $rHandle = fopen($sFilename, 'r'); | |
| 15 if (!$rHandle) return -2; | |
| 16 | |
| 17 $sData = ''; | |
| 18 while(!feof($rHandle)) | |
| 19 $sData .= fread($rHandle, filesize($sFilename)); | |
| 20 fclose($rHandle); | |
| 21 } | |
| 22 if ($sEncoding = mb_detect_encoding($sData, 'auto', true) != $sCharset) { | |
| 23 if ($sEncoding != 1) { | |
| 24 $sData = mb_convert_encoding($sData, $sCharset, $sEncoding); | |
| 25 } | |
| 26 } | |
| 27 return $sData; | |
| 28 } | |
| 29 | |
| 30 | 9 |
| 31 $active = $_GET['active']; | 10 $active = $_GET['active']; |
| 32 $lang = $_GET['lang']; | 11 $lang = $_GET['lang']; |
| 33 | 12 |
| 34 if(!$name) { | |
| 35 $name="home"; | |
| 36 } | |
| 37 if(!$lang) { | 13 if(!$lang) { |
| 38 $lang="no"; | 14 $lang = "no"; |
| 39 $langs=acceptedLanguages(); | 15 $langs = acceptedLanguages(); |
| 40 foreach ($langs as $l => $val) { | 16 foreach ($langs as $l => $val) { |
| 41 if (file_exists($l)) { | 17 if (file_exists($l)) { |
| 42 $lang=$l; | 18 $lang = $l; |
| 43 break; | 19 break; |
| 44 } | 20 } |
| 45 } | 21 } |
| 46 } | 22 } |
| 47 | 23 |
| 48 $name="../img/flag-${lang}"; | 24 $name = "../img/flag-${lang}"; |
| 49 if ($active) | 25 if ($active) |
| 50 $name.="-active"; | 26 $name .= "-active"; |
| 51 $name.=".png"; | 27 $name .= ".png"; |
| 52 | 28 |
| 53 $flag=loadFile("${name}"); | 29 $cache->cache_time($name); |
| 30 $cache->CheckHttpModified(); | |
| 54 | 31 |
| 55 if (floatval($flag)<0) { | 32 $flag = loadFile($name); |
| 56 header('HTTP/1.0 404 Not Found'); | 33 |
| 57 print '<div id="page"><h1>Resource not found</h1></div>'; | 34 if (floatval($flag) < 0) { |
| 35 errorPage('Resource not found', 404); | |
| 58 } | 36 } |
| 59 else { | 37 else { |
| 60 header("Content-Type: image/png"); | 38 header("Content-Type: image/png"); |
| 61 print $flag; | 39 print $flag; |
| 62 } | 40 } |
