annotate index.php @ 41:2a3ff56697db

Don't set values if they are empty in URL.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Fri, 05 Oct 2012 00:48:33 +0200
parents fbbb82ced6de
children 79f708a48a7c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
2 define(VERBOSITY_NONE, 0);
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
3 define(VERBOSITY_ERROR, 1);
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
4 define(VERBOSITY_WARNING, 10);
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
5 define(VERBOSITY_DEBUG, 100);
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
6
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
7 define(DEBUG_LEVEL, VERBOSITY_WARNING);
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
8
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
9 define(DUMP, 0);
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
10 define(MAX_RECURSE, 50);
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
11 define(CACHING, 1);
7
350a8c63bd14 Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 6
diff changeset
12
350a8c63bd14 Support for recursive includes.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 6
diff changeset
13
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
14 if (DEBUG_LEVEL >= VERBOSITY_DEBUG) {
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
15 var_dump($_SERVER);
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
16 }
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
17
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
18 if (DEBUG_LEVEL >= VERBOSITY_WARNING) {
6
6c0162497d56 Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 5
diff changeset
19 error_reporting(E_ALL);
6c0162497d56 Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 5
diff changeset
20 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
21 }
6c0162497d56 Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 5
diff changeset
22
20
ac24b41a12ad Something strange got committed in last comit, correct commit.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 19
diff changeset
23 $cacheable = true;
6
6c0162497d56 Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 5
diff changeset
24
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
25 include_once 'CacheTimeCheck.inc';
0
d2da64705bce Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
26
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
27 $cache = CacheTimeCheck::instance(__FILE__);
40
fbbb82ced6de Fixes for CacheTimeCheck->includeOnce paths.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
28 $cache->includeOnce('Options.inc', dirname(__FILE__));
fbbb82ced6de Fixes for CacheTimeCheck->includeOnce paths.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
29 $cache->includeOnce('accept-language.inc', dirname(__FILE__));
fbbb82ced6de Fixes for CacheTimeCheck->includeOnce paths.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
30 $cache->includeOnce('common-functions.inc', dirname(__FILE__));
fbbb82ced6de Fixes for CacheTimeCheck->includeOnce paths.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
31 $cache->includeOnce('filters.inc', dirname(__FILE__));
fbbb82ced6de Fixes for CacheTimeCheck->includeOnce paths.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 39
diff changeset
32 $cache->includeOnce('inputParser.inc', dirname(__FILE__));
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 28
diff changeset
33
24
5c4d7c758fda Remove name as hardcoded attribute.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 23
diff changeset
34 $master = new DOMDocument();
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
35 $masterName = basePath() . "/master.xml";
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
36 $master->load($masterName);
5
18aafb1a8986 Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 4
diff changeset
37
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
38 $options = new Options($master);
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 28
diff changeset
39 $options->setCache($cache);
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
40 $options->setBasePath(basePath());
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
41
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
42 $options->setUrlParams(array('name', 'lang'));
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
43
41
2a3ff56697db Don't set values if they are empty in URL.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 40
diff changeset
44 if(array_key_exists('lang', $_GET) && $_GET['lang']) {
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
45 $options->setLang($_GET['lang']);
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
46 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
47 else {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
48 $options->setLang($options->getDefaultLang());
0
d2da64705bce Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
49 }
d2da64705bce Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
50
41
2a3ff56697db Don't set values if they are empty in URL.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 40
diff changeset
51 if(array_key_exists('name', $_GET) && $_GET['name']) {
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
52 $options->setName($_GET['name']);
24
5c4d7c758fda Remove name as hardcoded attribute.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 23
diff changeset
53 }
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
54
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
55 $params = $master->getElementsByTagName("param");
24
5c4d7c758fda Remove name as hardcoded attribute.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 23
diff changeset
56
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
57 foreach ($params as $param) {
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
58 if ($param->getAttribute("type") == "input") {
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
59 $doc = getInput($master, $param, $options);
5
18aafb1a8986 Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 4
diff changeset
60
23
814296ea84a9 Move functionality into inputParser.inc
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 22
diff changeset
61 $parent = $param->parentNode;
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
62 foreach ($doc->firstChild->childNodes as $child) {
23
814296ea84a9 Move functionality into inputParser.inc
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 22
diff changeset
63 $clonedChild = $master->importNode($child, true);
814296ea84a9 Move functionality into inputParser.inc
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 22
diff changeset
64 $parent->insertBefore($clonedChild, $param);
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
65 }
25
da86ec2814e2 Whitespace cleanup.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 24
diff changeset
66 $parent->removeChild($param);
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
67 }
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
68 }
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
69
20
ac24b41a12ad Something strange got committed in last comit, correct commit.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 19
diff changeset
70 if (CACHING && $cacheable)
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
71 $options->getCache()->CheckHttpModified();
20
ac24b41a12ad Something strange got committed in last comit, correct commit.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 19
diff changeset
72
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
73 print $master->saveXml($master);
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
74
23
814296ea84a9 Move functionality into inputParser.inc
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 22
diff changeset
75 ?>