Mercurial > SimpleWebPresenter
annotate index.php @ 7:350a8c63bd14
Support for recursive includes.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Fri, 20 May 2011 23:34:33 +0200 |
| parents | 6c0162497d56 |
| children | 19dfa6f3e2be 1ac66bef193a |
| rev | line source |
|---|---|
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 <?php |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
2 define(DEBUG,0); |
|
7
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
3 define(MAX_RECURSE,50); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
4 |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
5 if (DEBUG) { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
6 error_reporting(E_ALL); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
7 ini_set("display_errors", 1); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
8 } |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
9 |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
10 |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
11 include 'php/cache_check.inc'; |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
12 include 'php/accept-language.inc'; |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
13 include 'php/filters.inc'; |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
14 include 'php/common-functions.inc'; |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
15 |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
16 $URL_PARAMS=array('name','lang'); |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
17 |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
18 #Globals |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
19 $name = $_GET['name']; |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
20 $lang = $_GET['lang']; |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
21 |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
22 if(!$name) { |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
23 $name="home"; |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
24 } |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
25 |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
26 if(!$lang) { |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
27 $lang="no"; |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
28 $langs=acceptedLanguages(); |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
29 foreach ($langs as $l => $val) { |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
30 if (file_exists($l)) { |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
31 $lang=$l; |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
32 break; |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
33 } |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
34 } |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
35 } |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
36 |
|
1
d91abe5f6214
Support for evaluated configuration files.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
0
diff
changeset
|
37 $title="Dummy title"; |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
38 |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
39 $config=loadFile("${lang}/${name}.xml"); |
|
1
d91abe5f6214
Support for evaluated configuration files.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
0
diff
changeset
|
40 |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
41 $confFile="${lang}/${name}.xml"; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
42 if (!file_exists($confFile)) { |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
43 errorPage("Resource not available"); |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
44 } |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
45 $doc = new DOMDocument(); |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
46 $doc->load($confFile); |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
47 |
|
7
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
48 $includes=$doc->getElementsByTagName("include"); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
49 $recurse=0; |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
50 |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
51 while($includes->length>0) { |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
52 if(++$recurse>MAX_RECURSE) { |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
53 errorPage('Recursion limit exceeded', 500); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
54 } |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
55 foreach ($includes as $include) { |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
56 $src=$include->getAttribute("src"); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
57 $subdoc = new DOMDocument(); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
58 $subdoc->load("${lang}/${src}"); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
59 $parent=$include->parentNode; |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
60 $xml=getElementByTagName($subdoc,"xml"); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
61 foreach($xml->childNodes as $child) { |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
62 $text=$subdoc->saveXml($child); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
63 $clonedChild=$doc->importNode($child,true); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
64 $parent->insertBefore($clonedChild,$include); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
65 } |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
66 $parent->removeChild($include); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
67 } |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
68 $includes=$doc->getElementsByTagName("include"); |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
69 } |
|
350a8c63bd14
Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
70 |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
71 $head=getElementByTagName($doc,"head"); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
72 $title=$head->getAttribute("title"); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
73 |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
74 $css=getElementByTagName($head,"css"); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
75 $css=$doc->saveXML($css); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
76 $css=preg_replace('/\s*<\/?\s*css\s*>\s*/s', '', $css); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
77 |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
78 $body=getElementByTagName($doc,"body"); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
79 $files=$body->getElementsByTagName("file"); |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
80 |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
81 |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
82 $out= '<?xml version="1.0" encoding="UTF-8"?>'; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
83 |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
84 $out.= '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
85 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
86 <html xmlns="http://www.w3.org/1999/xhtml"> |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
87 <head> |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
88 <title>'; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
89 |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
90 $out.= "$title"; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
91 $out.= ' |
|
1
d91abe5f6214
Support for evaluated configuration files.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
0
diff
changeset
|
92 </title> |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
93 '; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
94 $out.= "$css"; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
95 $out.= ' |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
96 </head> |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
97 <body> |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
98 <div id="container"> |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
99 '; |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
100 |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
101 function getParam($param) { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
102 $param_type=$param->getAttribute("type"); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
103 $param_value; |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
104 if (!$param_type) |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
105 $param_type="scalar"; |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
106 |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
107 if($param_type == "scalar") { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
108 $param_subst=$param->getAttribute("subst"); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
109 $param_value=$param->getAttribute("value"); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
110 if ($param_subst) { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
111 /* |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
112 $param_value=preg_replace("/name/", $name, $param_subst); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
113 $param_value=preg_replace('/lang/', $lang, $param_value); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
114 */ |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
115 } |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
116 } |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
117 elseif($param_type == "array") { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
118 $params=$param->getElementsByTagName("param"); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
119 $param_value=array(); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
120 foreach ($param->childNodes as $param) { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
121 if ($param->nodeType == XML_ELEMENT_NODE) |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
122 { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
123 array_push($param_value, getParam($param)); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
124 } |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
125 } |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
126 } |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
127 return $param_value; |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
128 } |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
129 |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
130 foreach ($files as $file) { |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
131 $src=$file->getAttribute("src"); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
132 $file_content=loadFile("${lang}/${src}"); |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
133 if(floatval($file_content)<0) { |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
134 errorPage("Resource not found '${lang}/${src}'"); |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
135 } |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
136 |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
137 $filters=$file->getElementsByTagName("filter"); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
138 foreach($filters as $filter) { |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
139 $func=$filter->getAttribute("function"); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
140 $params=$filter->getElementsByTagName("param"); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
141 $callString="\$file_content=${func}(\$file_content"; |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
142 $param_values=array(); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
143 $i=0; |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
144 foreach ($filter->childNodes as $param) { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
145 if ($param->nodeType == XML_ELEMENT_NODE) |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
146 { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
147 $param_value[$i]=getParam($param); |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
148 $callString.=",\$param_value[$i]"; |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
149 $i++; |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
150 } |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
151 } |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
152 $callString.=");"; |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
153 eval($callString); |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
154 } |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
155 $out.= $file_content; |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
3
diff
changeset
|
156 } |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
157 |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
158 $out.=' |
|
0
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
159 </div> |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
160 </body> |
|
d2da64705bce
Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
161 </html> |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
162 '; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
163 |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
164 print $out; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
165 ?> |
