Mercurial > SimpleWebPresenter
annotate Flag.inc @ 76:fae4322d6c29
Refactored Flag into a separate class.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Fri, 12 Oct 2012 01:54:51 +0200 |
| parents | |
| children | 9d766788f0bc 7c68015b211a |
| rev | line source |
|---|---|
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 <?php |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
2 /** |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
3 * @file |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
4 * Displays a flag, in an active or disabled state, depending on parameters |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
5 */ |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
6 define(DEBUG,0); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
7 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
8 include_once 'CacheTimeCheck.inc'; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
9 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
10 $scriptCache = ScriptIncludeCache::instance(__FILE__); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
11 $scriptCache->includeOnce('Language.inc'); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
12 $scriptCache->includeOnce('common-functions.inc'); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
13 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
14 class Flag { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
15 private $active; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
16 private $lang; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
17 private $cache; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
18 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
19 function __construct($masterCache) |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
20 { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
21 $this->active = $_GET['active']; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
22 $lang = $_GET['lang']; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
23 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
24 if(!$lang) { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
25 $lang = "no"; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
26 $langs = Language::accepted(); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
27 foreach ($langs as $l => $val) { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
28 if (file_exists($l)) { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
29 $lang = $l; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
30 break; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
31 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
32 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
33 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
34 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
35 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
36 $this->lang = $lang; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
37 $this->name = "../img/flag-${lang}"; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
38 if ($this->active) |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
39 $this->name .= "-active"; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
40 $this->name .= ".png"; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
41 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
42 $this->cache = new CacheTimeCheck($this->name); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
43 $this->cache->addParent($masterCache); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
44 $this->cache->cache_time($this->name); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
45 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
46 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
47 function getPage() |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
48 { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
49 $this->cache->CheckHttpModified(); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
50 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
51 $flag = loadFile($this->name); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
52 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
53 if (floatval($flag) < 0) { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
54 errorPage('Resource not found', 404); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
55 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
56 else { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
57 header("Content-Type: image/png"); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
58 return $flag; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
59 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
60 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
61 } |
