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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 .= "&amp;";
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 ?>