Mercurial > SimpleWebPresenter
annotate Flag.inc @ 115:b9668126e52e
Remove comments.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Thu, 17 Mar 2016 22:32:33 +0100 |
| parents | 6f5939bf53c3 |
| children | 16c3ee204330 |
| 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 |
|
77
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
10 /// @cond |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
11 $scriptCache = ScriptIncludeCache::instance(__FILE__); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
12 $scriptCache->includeOnce('Language.inc'); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
13 $scriptCache->includeOnce('common-functions.inc'); |
|
78
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
14 $scriptCache->includeOnce('Page.inc'); |
|
77
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
15 /// @endcond |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
16 |
|
77
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
17 /** |
|
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
18 * Functionality for generating a flag based on state options |
|
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
19 */ |
|
78
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
20 class Flag extends Page |
|
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
21 { |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
22 private $active; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
23 private $lang; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
24 |
|
77
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
25 /** |
|
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
26 * Constructs a flag object |
|
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
27 * |
|
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
28 * @param $masterCache link this objects cache to this masterCache |
|
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
29 */ |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
30 function __construct($masterCache) |
|
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 $this->active = $_GET['active']; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
33 $lang = $_GET['lang']; |
|
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 if(!$lang) { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
36 $lang = "no"; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
37 $langs = Language::accepted(); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
38 foreach ($langs as $l => $val) { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
39 if (file_exists($l)) { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
40 $lang = $l; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
41 break; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
42 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
43 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
44 } |
|
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 $this->lang = $lang; |
|
108
f2996720e6d6
Embed some flags, support for overriding.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
48 foreach ( [ 'img', '../img' ] as $dir) { |
|
f2996720e6d6
Embed some flags, support for overriding.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
49 $this->name = "${dir}/flag-${lang}"; |
|
f2996720e6d6
Embed some flags, support for overriding.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
50 if ($this->active) |
|
f2996720e6d6
Embed some flags, support for overriding.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
51 $this->name .= "-active"; |
|
f2996720e6d6
Embed some flags, support for overriding.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
52 $this->name .= ".png"; |
|
f2996720e6d6
Embed some flags, support for overriding.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
53 if (file_exists($this->name)) |
|
f2996720e6d6
Embed some flags, support for overriding.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
54 break; |
|
f2996720e6d6
Embed some flags, support for overriding.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
99
diff
changeset
|
55 } |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
56 |
|
78
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
57 $cache = new CacheTimeCheck($this->name); |
|
110
6f5939bf53c3
Set flag cache expiry time to today + 30 days
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
108
diff
changeset
|
58 $cache->setMaxAge(30*86400); |
|
78
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
59 $cache->addParent($masterCache); |
|
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
60 $this->setCache($cache); |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
61 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
62 |
|
78
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
63 function cacheCheck() |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
64 { |
|
99
d98e315308cd
Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
92
diff
changeset
|
65 return Cacheable::YES; |
|
78
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
66 } |
|
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
67 |
|
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
68 function mayCompress() |
|
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
69 { |
|
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
70 return false; |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
71 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
72 |
|
91
1d4c980f4255
Change the way headers are set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
86
diff
changeset
|
73 function mayValidate() |
|
1d4c980f4255
Change the way headers are set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
86
diff
changeset
|
74 { |
|
1d4c980f4255
Change the way headers are set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
86
diff
changeset
|
75 return false; |
|
1d4c980f4255
Change the way headers are set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
86
diff
changeset
|
76 } |
|
1d4c980f4255
Change the way headers are set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
86
diff
changeset
|
77 |
|
77
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
78 /** |
| 79 | 79 * Produce the actual content |
|
77
9d766788f0bc
Fix remaining documentation errors.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
80 */ |
|
78
7c68015b211a
Common source for all page generators.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
76
diff
changeset
|
81 function generateContent() |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
82 { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
83 $flag = loadFile($this->name); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
84 |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
85 if (floatval($flag) < 0) { |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
86 errorPage('Resource not found', 404); |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
87 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
88 else { |
|
86
b9654b9c4a66
Make headers a part of the content, rather than setting them directly.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
79
diff
changeset
|
89 $flag = new PageContent($flag); |
|
91
1d4c980f4255
Change the way headers are set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
86
diff
changeset
|
90 $flag->setHeader('Content-Type', 'image/png'); |
|
76
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
91 return $flag; |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
92 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
93 } |
|
fae4322d6c29
Refactored Flag into a separate class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
94 } |
