Mercurial > SimpleWebPresenter
annotate common-functions.inc @ 51:2cfea6e84694
Documentation update.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Thu, 11 Oct 2012 00:06:26 +0200 |
| parents | 15879e2aab65 |
| children | 2e6ba7259281 |
| rev | line source |
|---|---|
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 <?php |
|
51
2cfea6e84694
Documentation update.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
46
diff
changeset
|
2 /** |
|
2cfea6e84694
Documentation update.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
46
diff
changeset
|
3 * @file |
|
2cfea6e84694
Documentation update.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
46
diff
changeset
|
4 * Functionality which doesn't belong anywhere else |
|
2cfea6e84694
Documentation update.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
46
diff
changeset
|
5 */ |
|
39
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
6 include_once 'CacheTimeCheck.inc'; |
|
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
7 |
|
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
8 $cache = CacheTimeCheck::instance(__FILE__); |
|
40
fbbb82ced6de
Fixes for CacheTimeCheck->includeOnce paths.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
39
diff
changeset
|
9 $cache->includeOnce('http-response-status-codes.inc', dirname(__FILE__)); |
|
39
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
10 |
|
46
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
11 function repMapString($map) |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
12 { |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
13 $opt = 'array('; |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
14 $start = True; |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
15 |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
16 foreach($map as $param => $value) { |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
17 if ($start) { |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
18 $start = False; |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
19 $opt .= "\"${param}\" => \"${value}\""; |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
20 } |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
21 else { |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
22 $opt .= ", \"${param}\" => \"${value}\""; |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
23 } |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
24 } |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
25 $opt .= ')'; |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
26 return $opt; |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
27 } |
|
15879e2aab65
Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
45
diff
changeset
|
28 |
|
39
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
29 function basePath() |
|
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
30 { |
|
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
31 $l = strrpos($_SERVER['SCRIPT_FILENAME'], $_SERVER['SCRIPT_NAME']); |
|
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
32 return substr($_SERVER['SCRIPT_FILENAME'], 0, $l); |
|
bd82b719a0de
Make CacheTimeCheck a singleton.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
33 } |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
34 |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
35 function loadFile($sFilename, $sCharset = 'UTF-8') |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
36 { |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
37 if (floatval(phpversion()) >= 4.3) { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
38 if (!file_exists($sFilename)) |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
39 return -3; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
40 $sData = file_get_contents($sFilename); |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
41 } |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
42 else { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
43 if (!file_exists($sFilename)) |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
44 return -3; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
45 $rHandle = fopen($sFilename, 'r'); |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
46 if (!$rHandle) |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
47 return -2; |
|
34
ca76d31b7d48
Whitespace clean.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
33
diff
changeset
|
48 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
49 $sData = ''; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
50 while(!feof($rHandle)) |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
51 $sData .= fread($rHandle, filesize($sFilename)); |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
52 fclose($rHandle); |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
53 } |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
54 if ($sEncoding = mb_detect_encoding($sData, 'auto', true) != $sCharset) { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
55 if ($sEncoding != 1) { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
56 $sData = mb_convert_encoding($sData, $sCharset, $sEncoding); |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
57 } |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
58 } |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
59 return $sData; |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
60 } |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
61 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
62 function errorPage($errorText, $errorCode = 403) |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
63 { |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
64 header(StatusCodes::httpHeaderFor($errorCode)); |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
65 print "<div id=\"page\"><h1>${errorText}</h1></div>"; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
66 exit; |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
67 } |
|
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
68 |
|
45
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
69 function genUrl($urlParams, $keys = array(), $nonQueryParams = array()) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
70 $out = ''; |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
71 $first = 1; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
72 $new_params = $urlParams; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
73 foreach($keys as $param => $val) { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
74 $new_params[$param] = $val; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
75 } |
|
45
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
76 |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
77 foreach($nonQueryParams as $nqp) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
78 if (array_key_exists($nqp, $new_params)) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
79 $val = $new_params[$nqp]; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
80 if ($val) |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
81 $out .= "/${val}"; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
82 unset($new_params[$nqp]); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
83 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
84 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
85 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
86 foreach($new_params as $param => $val) { |
|
45
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
87 if ($val) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
88 if($first) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
89 $first = 0; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
90 $out .= "?"; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
91 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
92 else |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
93 $out .= "&"; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
94 $out .= urlencode($param) . '=' . urlencode($val); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
95 } |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
96 } |
|
45
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
97 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
98 return $out; |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
99 } |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
100 |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
101 function getElementByTagName($obj, $name) { |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
102 $elems = $obj->getElementsByTagName($name); |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
103 if ($elems->length != 1) { |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
104 exit; |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
105 } |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
106 $elem = $elems->item(0); |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
107 return $elem; |
|
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
108 } |
|
8
19dfa6f3e2be
Support for scripts.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
109 |
|
19dfa6f3e2be
Support for scripts.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
110 function getXmlContent($node) |
|
19dfa6f3e2be
Support for scripts.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
111 { |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
112 $text = $node->ownerDocument->saveXml($node); |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
113 $pattern = "/^<" . $node->tagName."[^>]*>/is"; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
114 $text = preg_replace($pattern, '' , $text); |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
115 $pattern = '/<\/' . $node->tagName . '[^>]*>$/is'; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
116 $text = preg_replace($pattern, '' , $text); |
|
8
19dfa6f3e2be
Support for scripts.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
117 |
|
19dfa6f3e2be
Support for scripts.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
118 return $text; |
|
19dfa6f3e2be
Support for scripts.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
119 } |
|
19dfa6f3e2be
Support for scripts.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
120 |
|
45
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
121 function startswith($haystack, $needle) |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
122 { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
123 return strpos($haystack, $needle) === 0; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
124 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
125 |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
126 function endsWith($haystack, $needle) |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
127 { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
128 $l = strlen($haystack) - strlen($needle); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
129 return strrpos($haystack, $needle) === $l; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
130 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
131 |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
132 function getHeaders($url) |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
133 { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
134 $response = http_head($url, array("timeout"=>1), $info); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
135 $headers = array(); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
136 $str = explode("\n", $response); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
137 foreach($str as $kv) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
138 $p = strpos($kv, ":"); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
139 if ($p) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
140 $key = substr($kv, 0, $p); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
141 $value = trim(substr($kv, $p + 1)); |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
142 $headers[$key] = $value; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
143 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
144 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
145 return $headers; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
146 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
147 |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
148 function opttostring($opts) |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
149 { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
150 $str = ''; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
151 foreach (array_keys($opts) as $key) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
152 $value = $opts[$key]; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
153 if ($str) { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
154 $str .= "&${key}=${value}"; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
155 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
156 else { |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
157 $str = "?${key}=${value}"; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
158 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
159 } |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
160 return $str; |
|
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
40
diff
changeset
|
161 } |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
162 ?> |
