annotate index.php @ 47:66382989353f

Extract baseDir only once. Function for generating cacheset. Added logger functionality. Removed hardcoded location for flagScript. BUGFIX: masterdocument was not added to the cacheset. BUGFIX: When two options existed next to eachother, the last was not read.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Mon, 08 Oct 2012 17:35:08 +0200
parents 79f708a48a7c
children 2cfea6e84694
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
44
79f708a48a7c Added a constants include.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 41
diff changeset
2 include_once 'constants.inc';
6
6c0162497d56 Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 5
diff changeset
3
20
ac24b41a12ad Something strange got committed in last comit, correct commit.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 19
diff changeset
4 $cacheable = true;
6
6c0162497d56 Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 5
diff changeset
5
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
6 include_once 'CacheTimeCheck.inc';
0
d2da64705bce Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
7
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
8 $baseDir = dirname(__FILE__);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
9
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
10 $cache = CacheTimeCheck::instance(__FILE__);
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
11 $cache->includeOnce('Options.inc', $baseDir);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
12 $cache->includeOnce('accept-language.inc', $baseDir);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
13 $cache->includeOnce('common-functions.inc', $baseDir);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
14 $cache->includeOnce('filters.inc', $baseDir);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
15 $cache->includeOnce('inputParser.inc', $baseDir);
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
16 $cache->includeOnce('logger.inc', $baseDir);
32
7b19be62ea94 Remove yet another global, replace by CacheTimeCheck class.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 28
diff changeset
17
44
79f708a48a7c Added a constants include.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 41
diff changeset
18 if (DEBUG_LEVEL >= VERBOSITY_DEBUG) {
79f708a48a7c Added a constants include.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 41
diff changeset
19 var_dump($_SERVER);
79f708a48a7c Added a constants include.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 41
diff changeset
20 }
79f708a48a7c Added a constants include.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 41
diff changeset
21
24
5c4d7c758fda Remove name as hardcoded attribute.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 23
diff changeset
22 $master = new DOMDocument();
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
23 $masterName = basePath() . "/master.xml";
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
24 $cache->cache_time($masterName);
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
25 $master->load($masterName);
5
18aafb1a8986 Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 4
diff changeset
26
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
27 $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
28 $options->setCache($cache);
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
29 $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
30
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
31 $options->setUrlParams(array('name', 'lang'));
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 32
diff changeset
32
41
2a3ff56697db Don't set values if they are empty in URL.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 40
diff changeset
33 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
34 $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
35 }
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
36 else {
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
37 $options->setLang($options->getDefaultLang());
0
d2da64705bce Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
38 }
d2da64705bce Refactored everything in the CMS into this repos.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
39
41
2a3ff56697db Don't set values if they are empty in URL.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 40
diff changeset
40 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
41 $options->setName($_GET['name']);
24
5c4d7c758fda Remove name as hardcoded attribute.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 23
diff changeset
42 }
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
43
26
d8c7b328899e Removed globals, and introduced Options object for passing values
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 25
diff changeset
44 $params = $master->getElementsByTagName("param");
24
5c4d7c758fda Remove name as hardcoded attribute.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 23
diff changeset
45
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
46 foreach ($params as $param) {
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
47 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
48 $doc = getInput($master, $param, $options);
5
18aafb1a8986 Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 4
diff changeset
49
23
814296ea84a9 Move functionality into inputParser.inc
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 22
diff changeset
50 $parent = $param->parentNode;
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
51 foreach ($doc->firstChild->childNodes as $child) {
23
814296ea84a9 Move functionality into inputParser.inc
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 22
diff changeset
52 $clonedChild = $master->importNode($child, true);
814296ea84a9 Move functionality into inputParser.inc
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 22
diff changeset
53 $parent->insertBefore($clonedChild, $param);
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
54 }
25
da86ec2814e2 Whitespace cleanup.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 24
diff changeset
55 $parent->removeChild($param);
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
56 }
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
57 }
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
58
20
ac24b41a12ad Something strange got committed in last comit, correct commit.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 19
diff changeset
59 if (CACHING && $cacheable)
39
bd82b719a0de Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 38
diff changeset
60 $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
61
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
62 print $master->saveXml($master);
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 44
diff changeset
63 //print_r($cache->cacheSet(1));
11
ba6f0818018b Made recursive input evaluation into a function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 10
diff changeset
64
23
814296ea84a9 Move functionality into inputParser.inc
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 22
diff changeset
65 ?>