annotate Options.inc.php @ 135:2fe6713ccd64

Added functionality for storing an internal Url.
author Tom Fredrik Blenning <bfg@bfgconsult.no>
date Mon, 23 Jan 2023 00:16:26 +0100
parents b6b4a58c7625
children
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 /**
99
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
3 */
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
4 abstract class Cacheable {
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
5 const NO = 0;
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
6 const YES = 1;
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
7 const UNDETERMINED = -1;
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
8 }
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
9
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
10 /**
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
11 * Contains alle configurable parameters, and "globals"
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
12 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
13 * @author Tom Fredrik Blenning Klaussen
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
14 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
15 class Options
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
16 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
17 private $defaultLang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
18 private $lang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
19 private $name;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
20 private $acceptedLanguages = array();
29
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
21 private $inputDefaults = array();
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
22 private $cache;
35
aec57ed6f5f6 Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 33
diff changeset
23 private $urlParams = array();
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
24 private $basePath;
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
25 private $flagUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
26 private $baseUrl;
135
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
27 private $internalUrl;
99
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
28 private $cacheable = Cacheable::YES;
26
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 default 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 getDefaultLang()
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->defaultLang;
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 * Gets the selected language
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 two letter code for the language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
44 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
45 function getLang()
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
46 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
47 return $this->lang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
48 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
49
66
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
50 /**
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
51 * Sets wether or not this page may be cached
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
52 *
99
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
53 * @param $cacheable Cacheable
66
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
54 */
62
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
55 function setCacheable($cacheable)
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
56 {
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
57 $this->cacheable = $cacheable;
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
58 }
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
59
66
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
60 /**
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
61 * Gets wether or not this page may be cached
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
62 *
99
d98e315308cd Improved caching of flag and sitemap.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 81
diff changeset
63 * @return Cacheable, default is YES
66
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 62
diff changeset
64 */
62
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
65 function getCacheable()
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
66 {
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
67 return $this->cacheable;
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
68 }
b7efe2ecbc11 Wrapped everything in inputParser in a class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 48
diff changeset
69
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
70 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
71 * 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
72 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
73 * @return the baseurl for the scripts
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
74 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
75 function getBaseUrl()
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
76 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
77 if ($this->baseUrl)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
78 return $this->baseUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
79
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
80 $request = $_SERVER['REQUEST_URI'];
81
2a8e2f571b24 Make Page abstract.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 66
diff changeset
81
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
82 $l = strpos($request, '?');
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
83 $base = ($l) ? substr($request, 0 , $l) : $request;
81
2a8e2f571b24 Make Page abstract.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 66
diff changeset
84 $base = rtrim($base, '/');
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
85
119
df158368051e PHP7 compatibility and support for http and https
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 99
diff changeset
86 return "//" . $_SERVER['HTTP_HOST'] . $base;
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
87 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
88
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
89 /**
135
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
90 * Get the internal url, or if non set, use external
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
91 *
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
92 * @return the internal url
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
93 */
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
94 function getInternalUrl()
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
95 {
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
96 if ($this->internalUrl)
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
97 return $this->internalUrl;
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
98 else
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
99 return $this->getBaseUrl();
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
100 }
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
101
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
102 /**
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
103 * Get the internal url, or if non set, use external
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
104 *
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
105 * @return the internal url
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
106 */
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
107 function getInternalFromExternal($location, $baseUrl)
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
108 {
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
109 if ($this->internalUrl && str_starts_with($location, $baseUrl)) {
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
110 $str=substr($location, strlen($baseUrl));
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
111 return $this->getInternalUrl().$str;
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
112 }
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
113 return $location;
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
114 }
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
115
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
116 /**
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
117 * Replaces placeholder variables, with actual values.
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
118 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
119 * Currently supported values:
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
120 * @li \%HOST\%
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
121 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
122 * @param $value string to replace values in
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
123 * @return the processed string
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
124 */
127
14959382c901 Mark static function.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 119
diff changeset
125 static function replacePlaceholders($value)
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
126 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
127 $value = preg_replace('/%HOST%/', $_SERVER['HTTP_HOST'], $value);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
128 return $value;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
129 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
130
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
131 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
132 * Sets the base url where scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
133 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
134 * @param $baseUrl the url where scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
135 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
136 function setBaseUrl($baseUrl)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
137 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
138 $baseUrl = self::replacePlaceholders($baseUrl);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
139 $this->baseUrl = $baseUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
140 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
141
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
142 /**
135
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
143 * Sets the internal url which can be used if the server is hosted
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
144 * behind a proxy
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
145 *
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
146 * @param $internalUrl url accessible by internal network
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
147 */
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
148 function setInternalUrl($internalUrl)
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
149 {
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
150 $this->internalUrl = $internalUrl;
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
151 }
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
152
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
153 /**
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
154 * Sets the url for the flag script
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
155 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
156 * @param $flagUrl for flag script
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
157 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
158 function setFlagUrl($flagUrl)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
159 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
160 $flagUrl = self::replacePlaceholders($flagUrl);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
161 $this->flagUrl = $flagUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
162 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
163
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
164 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
165 * 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
166 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
167 * @return url for flag script
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
168 */
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
169 function getFlagUrl()
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
170 {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
171 if ($this->flagUrl)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
172 return $this->flagUrl;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
173
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
174 return $this->getBaseUrl() . "/flag.php";
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
175 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
176
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
177 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
178 * Sets the selected language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
179 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
180 * @param $lang two letter code for the language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
181 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
182 function setLang($lang)
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
183 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
184 $this->lang = $lang;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
185 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
186
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
187 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
188 * Gets the path where the scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
189 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
190 * @return path where scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
191 */
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
192 function getBasePath()
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
193 {
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
194 return $this->basePath;
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
195 }
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
196
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
197 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
198 * Sets the path where the scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
199 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
200 * @param $basePath path where scripts are located
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
201 */
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
202 function setBasePath($basePath)
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
203 {
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
204 $this->basePath = $basePath;
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
205 }
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
206
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
207 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
208 * Sets a set of urlparameters
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
209 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
210 * @param $urlParams list of parameters to get from the URL
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
211 */
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
212 function setUrlParams($urlParams)
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
213 {
35
aec57ed6f5f6 Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 33
diff changeset
214 foreach($urlParams as $key) {
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
215 $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
216 $this->urlParams[$key] = $value;
aec57ed6f5f6 Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 33
diff changeset
217 }
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
218 }
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
219
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
220 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
221 * Gets the default language
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
222 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
223 * @return associative array of key and value for the url parameters
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
224 */
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
225 function getUrlParams()
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
226 {
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
227 return $this->urlParams;
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
228 }
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
229
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
230 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
231 * Sets the name(identity) for this page
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
232 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
233 * @param $name name(identity)
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
234 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
235 function setName($name)
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
236 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
237 $this->name = $name;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
238 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
239
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
240 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
241 * Gets the name(identity) for this page
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
242 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
243 * @return name(identity)
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
244 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
245 function getName()
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
246 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
247 return $this->name;
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
248 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
249
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
250 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
251 * Sets a cache object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
252 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
253 * @param $cache CacheTimeCheck object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
254 */
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
255 function setCache($cache)
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
256 {
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
257 $this->cache = $cache;
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
258 }
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
259
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
260 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
261 * Gets the cache object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
262 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
263 * @return cache object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
264 */
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
265 function getCache()
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
266 {
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
267 return $this->cache;
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
268 }
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 29
diff changeset
269
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
270 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
271 * A list of languages which this configuration supports.
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
272 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
273 * @return array of two letter language codes
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
274 */
29
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
275 function getAcceptedLanguages()
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
276 {
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
277 return $this->acceptedLanguages;
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
278 }
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
279
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
280 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
281 * Gets the default value associated whith the key
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
282 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
283 * @param $key as specified in master xml file.
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
284 * @return associated default
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
285 */
29
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
286 function getInputDefault($key)
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
287 {
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
288 return $this->inputDefaults[$key];
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
289 }
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
290
48
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
291 /**
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
292 * Constructs an options object
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
293 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
294 * This contstructor will consume any tag with the type option, and
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
295 * extract values from any tag with type input
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
296 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
297 * @include master.xml
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
298 *
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
299 * @param $baseDocument An open xml file
c6d0892f81ff Documentation.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 47
diff changeset
300 */
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
301 function __construct($baseDocument)
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
302 {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
303 $params = $baseDocument->getElementsByTagName("param");
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
304 $toRemove = array();
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
305 foreach ($params as $param) {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
306 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
307 $id = $param->getAttribute("id");
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
308 if ($id == "lang") {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
309 $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
310 $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
311 foreach($accepts as $accept) {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
312 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
313 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
314 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
315 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
316 }
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
317 elseif ($id == "baseUrl") {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
318 $value = $param->getAttribute("value");
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
319 if($value)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
320 $this->setBaseUrl($value);
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
321 }
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
322 elseif ($id == "flagUrl") {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
323 $value = $param->getAttribute("value");
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
324 if($value)
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
325 $this->setFlagUrl($value);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
326 }
135
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
327 elseif ($id == "internalUrl") {
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
328 $value = $param->getAttribute("value");
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
329 if($value)
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
330 $this->setInternalUrl($value);
2fe6713ccd64 Added functionality for storing an internal Url.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 134
diff changeset
331 }
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
332 else {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
333 warn("Invalid option: ${id}");
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
334 }
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
335 //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
336 //so best shifting.
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
337 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
338 }
29
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
339 elseif ($param->getAttribute("type") == "input") {
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
340 $id = $param->getAttribute("id");
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
341 $default = $param->getAttribute("default");
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
342 $this->inputDefaults[$id] = $default;
394b5df43d1a Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 26
diff changeset
343 }
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
344 }
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
345 foreach($toRemove as $param) {
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
346 $parent = $param->parentNode;
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
347 $parent->removeChild($param);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
348 }
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
349 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
350 }
127
14959382c901 Mark static function.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents: 119
diff changeset
351 ?>