Mercurial > SimpleWebPresenter
annotate Options.inc @ 29:394b5df43d1a
Fix some formatting.
Add more elements to options.
Fix bugs which occured if options where forcibly set.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Sun, 30 Sep 2012 03:38:29 +0200 |
| parents | d8c7b328899e |
| children | 7b19be62ea94 |
| 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 |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
2 class Options |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
3 { |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
4 private $defaultLang; |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
5 private $lang; |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
6 private $name; |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
7 private $acceptedLanguages = array(); |
|
29
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
8 private $inputDefaults = array(); |
|
26
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
9 |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
10 function getDefaultLang() |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
11 { |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
12 return $this->defaultLang; |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
13 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
14 |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
15 function getLang() |
|
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 return $this->lang; |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
18 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
19 |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
20 function setLang($lang) |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
21 { |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
22 $this->lang = $lang; |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
23 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
24 |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
25 function setName($name) |
|
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 $this->name = $name; |
|
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 |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
30 function getName() |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
31 { |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
32 return $this->name; |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
33 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
34 |
|
29
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
35 function getAcceptedLanguages() |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
36 { |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
37 return $this->acceptedLanguages; |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
38 } |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
39 |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
40 function getInputDefault($key) |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
41 { |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
42 return $this->inputDefaults[$key]; |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
43 } |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
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 __construct($baseDocument) |
|
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 $params = $baseDocument->getElementsByTagName("param"); |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
48 foreach ($params as $param) { |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
49 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
|
50 $id = $param->getAttribute("id"); |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
51 if ($id == "lang") { |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
52 $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
|
53 $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
|
54 foreach($accepts as $accept) { |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
55 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
|
56 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
|
57 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
58 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
59 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
60 else { |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
61 die("Invalid option : $id"); |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
62 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
63 $parent = $param->parentNode; |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
64 $parent->removeChild($param); |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
65 } |
|
29
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
66 elseif ($param->getAttribute("type") == "input") { |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
67 $id = $param->getAttribute("id"); |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
68 $default = $param->getAttribute("default"); |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
69 $this->inputDefaults[$id] = $default; |
|
394b5df43d1a
Fix some formatting.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
26
diff
changeset
|
70 } |
|
26
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
71 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
72 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
73 } |
|
d8c7b328899e
Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
74 ?> |
