annotate Options.inc @ 48:c6d0892f81ff

Documentation.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Tue, 09 Oct 2012 20:05:12 +0200
parents 66382989353f
children b7efe2ecbc11
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
1 <?php
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
2 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
3 * Contains alle configurable parameters, and "globals"
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
4 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
5 * @author Tom Fredrik Blenning Klaussen
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
6 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
7 class Options
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
8 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
9 private $defaultLang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
10 private $lang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
11 private $name;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
12 private $acceptedLanguages = array();
29
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
13 private $inputDefaults = array();
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
14 private $cache;
35
aec57ed6f5f6 Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 33
diff changeset
15 private $urlParams = array();
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
16 private $basePath;
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
17 private $flagUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
18 private $baseUrl;
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
19
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
20 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
21 * Gets the default language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
22 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
23 * @return two letter code for the language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
24 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
25 function getDefaultLang()
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
26 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
27 return $this->defaultLang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
28 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
29
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
30 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
31 * Gets the selected language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
32 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
33 * @return two letter code for the language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
34 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
35 function getLang()
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
36 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
37 return $this->lang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
38 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
39
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
40 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
41 * Get the base url, or if non set, extracts it from _SERVER
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
42 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
43 * @return the baseurl for the scripts
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
44 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
45 function getBaseUrl()
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
46 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
47 if ($this->baseUrl)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
48 return $this->baseUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
49
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
50 $request = $_SERVER['REQUEST_URI'];
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
51 $l = strpos($request, '?');
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
52 $base = ($l) ? substr($request, 0 , $l) : $request;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
53
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
54 return "http://" . $_SERVER['HTTP_HOST'] . $base;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
55 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
56
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
57 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
58 * Replaces placeholder variables, with actual values.
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
59 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
60 * Currently supported values:
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
61 * @li \%HOST\%
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
62 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
63 * @param $value string to replace values in
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
64 * @return the processed string
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
65 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
66 function replacePlaceholders($value)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
67 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
68 $value = preg_replace('/%HOST%/', $_SERVER['HTTP_HOST'], $value);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
69 return $value;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
70 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
71
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
72 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
73 * Sets the base url where scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
74 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
75 * @param $baseUrl the url where scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
76 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
77 function setBaseUrl($baseUrl)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
78 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
79 $baseUrl = self::replacePlaceholders($baseUrl);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
80 $this->baseUrl = $baseUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
81 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
82
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
83 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
84 * Sets the url for the flag script
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
85 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
86 * @param $flagUrl for flag script
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
87 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
88 function setFlagUrl($flagUrl)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
89 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
90 $flagUrl = self::replacePlaceholders($flagUrl);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
91 $this->flagUrl = $flagUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
92 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
93
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
94 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
95 * Gets the url for the flag script, or autogenerate if not set
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
96 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
97 * @return url for flag script
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
98 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
99 function getFlagUrl()
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
100 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
101 if ($this->flagUrl)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
102 return $this->flagUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
103
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
104 return $this->getBaseUrl() . "/flag.php";
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
105 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
106
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
107 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
108 * Sets the selected language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
109 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
110 * @param $lang two letter code for the language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
111 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
112 function setLang($lang)
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
113 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
114 $this->lang = $lang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
115 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
116
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
117 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
118 * Gets the path where the scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
119 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
120 * @return path where scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
121 */
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
122 function getBasePath()
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
123 {
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
124 return $this->basePath;
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
125 }
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
126
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
127 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
128 * Sets the path where the scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
129 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
130 * @param $basePath path where scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
131 */
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
132 function setBasePath($basePath)
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
133 {
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
134 $this->basePath = $basePath;
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
135 }
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
136
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
137 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
138 * Sets a set of urlparameters
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
139 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
140 * @param $urlParams list of parameters to get from the URL
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
141 */
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
142 function setUrlParams($urlParams)
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
143 {
35
aec57ed6f5f6 Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 33
diff changeset
144 foreach($urlParams as $key) {
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
145 $value = array_key_exists($key, $_GET) ? $_GET[$key] : '';
35
aec57ed6f5f6 Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 33
diff changeset
146 $this->urlParams[$key] = $value;
aec57ed6f5f6 Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 33
diff changeset
147 }
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
148 }
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
149
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
150 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
151 * Gets the default language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
152 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
153 * @return associative array of key and value for the url parameters
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
154 */
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
155 function getUrlParams()
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
156 {
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
157 return $this->urlParams;
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
158 }
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
159
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
160 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
161 * Sets the name(identity) for this page
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
162 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
163 * @param $name name(identity)
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
164 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
165 function setName($name)
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
166 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
167 $this->name = $name;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
168 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
169
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
170 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
171 * Gets the name(identity) for this page
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
172 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
173 * @return name(identity)
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
174 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
175 function getName()
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
176 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
177 return $this->name;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
178 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
179
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
180 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
181 * Sets a cache object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
182 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
183 * @param $cache CacheTimeCheck object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
184 */
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
185 function setCache($cache)
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
186 {
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
187 $this->cache = $cache;
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
188 }
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
189
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
190 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
191 * Gets the cache object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
192 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
193 * @return cache object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
194 */
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
195 function getCache()
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
196 {
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
197 return $this->cache;
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
198 }
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
199
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
200 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
201 * A list of languages which this configuration supports.
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
202 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
203 * @return array of two letter language codes
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
204 */
29
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
205 function getAcceptedLanguages()
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
206 {
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
207 return $this->acceptedLanguages;
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
208 }
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
209
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
210 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
211 * Gets the default value associated whith the key
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
212 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
213 * @param $key as specified in master xml file.
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
214 * @return associated default
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
215 */
29
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
216 function getInputDefault($key)
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
217 {
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
218 return $this->inputDefaults[$key];
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
219 }
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
220
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
221 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
222 * Constructs an options object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
223 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
224 * This contstructor will consume any tag with the type option, and
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
225 * extract values from any tag with type input
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
226 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
227 * @include master.xml
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
228 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
229 * @param $baseDocument An open xml file
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
230 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
231 function __construct($baseDocument)
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
232 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
233 $params = $baseDocument->getElementsByTagName("param");
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
234 $toRemove = array();
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
235 foreach ($params as $param) {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
236 if ($param->getAttribute("type") == "option") {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
237 $id = $param->getAttribute("id");
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
238 if ($id == "lang") {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
239 $this->defaultLang = $param->getAttribute("default");
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
240 $accepts = $param->getElementsByTagName("accept_value");
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
241 foreach($accepts as $accept) {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
242 foreach($accept->childNodes as $child) {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
243 array_push($this->acceptedLanguages, $child->nodeValue);
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
244 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
245 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
246 }
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
247 elseif ($id == "baseUrl") {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
248 $value = $param->getAttribute("value");
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
249 if($value)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
250 $this->setBaseUrl($value);
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
251 }
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
252 elseif ($id == "flagUrl") {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
253 $value = $param->getAttribute("value");
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
254 if($value)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
255 $this->setFlagUrl($value);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
256 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
257 else {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
258 warn("Invalid option: ${id}");
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
259 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
260 //We need to iterate in the opposite direction when removing,
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
261 //so best shifting.
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
262 array_unshift($toRemove, $param);
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
263 }
29
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
264 elseif ($param->getAttribute("type") == "input") {
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
265 $id = $param->getAttribute("id");
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
266 $default = $param->getAttribute("default");
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
267 $this->inputDefaults[$id] = $default;
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
268 }
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
269 }
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
270 foreach($toRemove as $param) {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
271 $parent = $param->parentNode;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
272 $parent->removeChild($param);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
273 }
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
274 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
275 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
276 ?>