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