Mercurial > SimpleWebPresenter
annotate flag.php @ 11:ba6f0818018b
Made recursive input evaluation into a function.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Mon, 28 May 2012 22:57:30 +0200 |
| parents | 1ac66bef193a |
| children | da86ec2814e2 |
| rev | line source |
|---|---|
|
2
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 <?php |
|
10
1ac66bef193a
Updated to new xml format.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
2 define(DEBUG,0); |
|
1ac66bef193a
Updated to new xml format.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
2
diff
changeset
|
3 |
|
2
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
4 include 'cache_check.inc'; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
5 include 'accept-language.inc'; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
6 |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
7 function loadFile($sFilename, $sCharset = 'UTF-8') |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
8 { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
9 if (floatval(phpversion()) >= 4.3) { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
10 if (!file_exists($sFilename)) return -3; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
11 $sData = file_get_contents($sFilename); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
12 } else { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
13 if (!file_exists($sFilename)) return -3; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
14 $rHandle = fopen($sFilename, 'r'); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
15 if (!$rHandle) return -2; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
16 |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
17 $sData = ''; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
18 while(!feof($rHandle)) |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
19 $sData .= fread($rHandle, filesize($sFilename)); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
20 fclose($rHandle); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
21 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
22 if ($sEncoding = mb_detect_encoding($sData, 'auto', true) != $sCharset) { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
23 if ($sEncoding != 1) { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
24 $sData = mb_convert_encoding($sData, $sCharset, $sEncoding); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
25 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
26 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
27 return $sData; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
28 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
29 |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
30 |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
31 $active = $_GET['active']; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
32 $lang = $_GET['lang']; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
33 |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
34 if(!$name) { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
35 $name="home"; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
36 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
37 if(!$lang) { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
38 $lang="no"; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
39 $langs=acceptedLanguages(); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
40 foreach ($langs as $l => $val) { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
41 if (file_exists($l)) { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
42 $lang=$l; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
43 break; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
44 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
45 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
46 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
47 |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
48 $name="../img/flag-${lang}"; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
49 if ($active) |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
50 $name.="-active"; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
51 $name.=".png"; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
52 |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
53 $flag=loadFile("${name}"); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
54 |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
55 if (floatval($flag)<0) { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
56 header('HTTP/1.0 404 Not Found'); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
57 print '<div id="page"><h1>Resource not found</h1></div>'; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
58 } |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
59 else { |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
60 header("Content-Type: image/png"); |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
61 print $flag; |
|
6d420f2a1d91
Add flag generator.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
62 } |
