dokuwiki-matrixnotifierwas-plugin – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | <?php |
2 | |||
3 | if (!function_exists('getallheaders')) { |
||
4 | |||
5 | /** |
||
6 | * Get all HTTP header key/values as an associative array for the current request. |
||
7 | * |
||
8 | * @return string[string] The HTTP header key/value pairs. |
||
9 | */ |
||
10 | function getallheaders() |
||
11 | { |
||
12 | $headers = array(); |
||
13 | |||
14 | $copy_server = array( |
||
15 | 'CONTENT_TYPE' => 'Content-Type', |
||
16 | 'CONTENT_LENGTH' => 'Content-Length', |
||
17 | 'CONTENT_MD5' => 'Content-Md5', |
||
18 | ); |
||
19 | |||
20 | foreach ($_SERVER as $key => $value) { |
||
21 | if (substr($key, 0, 5) === 'HTTP_') { |
||
22 | $key = substr($key, 5); |
||
23 | if (!isset($copy_server[$key]) || !isset($_SERVER[$key])) { |
||
24 | $key = str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', $key)))); |
||
25 | $headers[$key] = $value; |
||
26 | } |
||
27 | } elseif (isset($copy_server[$key])) { |
||
28 | $headers[$copy_server[$key]] = $value; |
||
29 | } |
||
30 | } |
||
31 | |||
32 | if (!isset($headers['Authorization'])) { |
||
33 | if (isset($_SERVER['REDIRECT_HTTP_AUTHORIZATION'])) { |
||
34 | $headers['Authorization'] = $_SERVER['REDIRECT_HTTP_AUTHORIZATION']; |
||
35 | } elseif (isset($_SERVER['PHP_AUTH_USER'])) { |
||
36 | $basic_pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; |
||
37 | $headers['Authorization'] = 'Basic ' . base64_encode($_SERVER['PHP_AUTH_USER'] . ':' . $basic_pass); |
||
38 | } elseif (isset($_SERVER['PHP_AUTH_DIGEST'])) { |
||
39 | $headers['Authorization'] = $_SERVER['PHP_AUTH_DIGEST']; |
||
40 | } |
||
41 | } |
||
42 | |||
43 | return $headers; |
||
44 | } |
||
45 | |||
46 | } |