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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }