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 }