PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.3.1
GiveWP – Donation Plugin and Fundraising Platform v3.3.1
4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / vendor-prefixed / symfony / http-foundation / ServerBag.php
give / vendor / vendor-prefixed / symfony / http-foundation Last commit date
Exception 2 years ago File 2 years ago Session 2 years ago Tests 2 years ago AcceptHeader.php 2 years ago AcceptHeaderItem.php 2 years ago ApacheRequest.php 2 years ago BinaryFileResponse.php 2 years ago Cookie.php 2 years ago ExpressionRequestMatcher.php 2 years ago FileBag.php 2 years ago HeaderBag.php 2 years ago IpUtils.php 2 years ago JsonResponse.php 2 years ago LICENSE 2 years ago ParameterBag.php 2 years ago RedirectResponse.php 2 years ago Request.php 2 years ago RequestMatcher.php 2 years ago RequestMatcherInterface.php 2 years ago RequestStack.php 2 years ago Response.php 2 years ago ResponseHeaderBag.php 2 years ago ServerBag.php 2 years ago StreamedResponse.php 2 years ago
ServerBag.php
106 lines
1 <?php
2
3 /*
4 * This file is part of the Symfony package.
5 *
6 * (c) Fabien Potencier <fabien@symfony.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 *
11 * Modified by impress-org on 23-January-2024 using Strauss.
12 * @see https://github.com/BrianHenryIE/strauss
13 */
14
15 namespace Give\Vendors\Symfony\Component\HttpFoundation;
16
17 /**
18 * ServerBag is a container for HTTP headers from the $_SERVER variable.
19 *
20 * @author Fabien Potencier <fabien@symfony.com>
21 * @author Bulat Shakirzyanov <mallluhuct@gmail.com>
22 * @author Robert Kiss <kepten@gmail.com>
23 */
24 class ServerBag extends ParameterBag
25 {
26 /**
27 * Gets the HTTP headers.
28 *
29 * @return array
30 */
31 public function getHeaders()
32 {
33 $headers = [];
34 $contentHeaders = ['CONTENT_LENGTH' => true, 'CONTENT_MD5' => true, 'CONTENT_TYPE' => true];
35 foreach ($this->parameters as $key => $value) {
36 if (0 === strpos($key, 'HTTP_')) {
37 $headers[substr($key, 5)] = $value;
38 }
39 // CONTENT_* are not prefixed with HTTP_
40 elseif (isset($contentHeaders[$key])) {
41 $headers[$key] = $value;
42 }
43 }
44
45 if (isset($this->parameters['PHP_AUTH_USER'])) {
46 $headers['PHP_AUTH_USER'] = $this->parameters['PHP_AUTH_USER'];
47 $headers['PHP_AUTH_PW'] = isset($this->parameters['PHP_AUTH_PW']) ? $this->parameters['PHP_AUTH_PW'] : '';
48 } else {
49 /*
50 * php-cgi under Apache does not pass HTTP Basic user/pass to PHP by default
51 * For this workaround to work, add these lines to your .htaccess file:
52 * RewriteCond %{HTTP:Authorization} .+
53 * RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
54 *
55 * A sample .htaccess file:
56 * RewriteEngine On
57 * RewriteCond %{HTTP:Authorization} .+
58 * RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
59 * RewriteCond %{REQUEST_FILENAME} !-f
60 * RewriteRule ^(.*)$ app.php [QSA,L]
61 */
62
63 $authorizationHeader = null;
64 if (isset($this->parameters['HTTP_AUTHORIZATION'])) {
65 $authorizationHeader = $this->parameters['HTTP_AUTHORIZATION'];
66 } elseif (isset($this->parameters['REDIRECT_HTTP_AUTHORIZATION'])) {
67 $authorizationHeader = $this->parameters['REDIRECT_HTTP_AUTHORIZATION'];
68 }
69
70 if (null !== $authorizationHeader) {
71 if (0 === stripos($authorizationHeader, 'basic ')) {
72 // Decode AUTHORIZATION header into PHP_AUTH_USER and PHP_AUTH_PW when authorization header is basic
73 $exploded = explode(':', base64_decode(substr($authorizationHeader, 6)), 2);
74 if (2 == \count($exploded)) {
75 list($headers['PHP_AUTH_USER'], $headers['PHP_AUTH_PW']) = $exploded;
76 }
77 } elseif (empty($this->parameters['PHP_AUTH_DIGEST']) && (0 === stripos($authorizationHeader, 'digest '))) {
78 // In some circumstances PHP_AUTH_DIGEST needs to be set
79 $headers['PHP_AUTH_DIGEST'] = $authorizationHeader;
80 $this->parameters['PHP_AUTH_DIGEST'] = $authorizationHeader;
81 } elseif (0 === stripos($authorizationHeader, 'bearer ')) {
82 /*
83 * XXX: Since there is no PHP_AUTH_BEARER in PHP predefined variables,
84 * I'll just set $headers['AUTHORIZATION'] here.
85 * https://php.net/reserved.variables.server
86 */
87 $headers['AUTHORIZATION'] = $authorizationHeader;
88 }
89 }
90 }
91
92 if (isset($headers['AUTHORIZATION'])) {
93 return $headers;
94 }
95
96 // PHP_AUTH_USER/PHP_AUTH_PW
97 if (isset($headers['PHP_AUTH_USER'])) {
98 $headers['AUTHORIZATION'] = 'Basic '.base64_encode($headers['PHP_AUTH_USER'].':'.$headers['PHP_AUTH_PW']);
99 } elseif (isset($headers['PHP_AUTH_DIGEST'])) {
100 $headers['AUTHORIZATION'] = $headers['PHP_AUTH_DIGEST'];
101 }
102
103 return $headers;
104 }
105 }
106