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 / AcceptHeaderItem.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
AcceptHeaderItem.php
212 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 * Represents an Accept-* header item.
19 *
20 * @author Jean-François Simon <contact@jfsimon.fr>
21 */
22 class AcceptHeaderItem
23 {
24 private $value;
25 private $quality = 1.0;
26 private $index = 0;
27 private $attributes = [];
28
29 /**
30 * @param string $value
31 */
32 public function __construct($value, array $attributes = [])
33 {
34 $this->value = $value;
35 foreach ($attributes as $name => $value) {
36 $this->setAttribute($name, $value);
37 }
38 }
39
40 /**
41 * Builds an AcceptHeaderInstance instance from a string.
42 *
43 * @param string $itemValue
44 *
45 * @return self
46 */
47 public static function fromString($itemValue)
48 {
49 $bits = preg_split('/\s*(?:;*("[^"]+");*|;*(\'[^\']+\');*|;+)\s*/', $itemValue, 0, \PREG_SPLIT_NO_EMPTY | \PREG_SPLIT_DELIM_CAPTURE);
50 $value = array_shift($bits);
51 $attributes = [];
52
53 $lastNullAttribute = null;
54 foreach ($bits as $bit) {
55 if (($start = substr($bit, 0, 1)) === ($end = substr($bit, -1)) && ('"' === $start || '\'' === $start)) {
56 $attributes[$lastNullAttribute] = substr($bit, 1, -1);
57 } elseif ('=' === $end) {
58 $lastNullAttribute = $bit = substr($bit, 0, -1);
59 $attributes[$bit] = null;
60 } else {
61 $parts = explode('=', $bit);
62 $attributes[$parts[0]] = isset($parts[1]) && \strlen($parts[1]) > 0 ? $parts[1] : '';
63 }
64 }
65
66 return new self(($start = substr($value, 0, 1)) === ($end = substr($value, -1)) && ('"' === $start || '\'' === $start) ? substr($value, 1, -1) : $value, $attributes);
67 }
68
69 /**
70 * Returns header value's string representation.
71 *
72 * @return string
73 */
74 public function __toString()
75 {
76 $string = $this->value.($this->quality < 1 ? ';q='.$this->quality : '');
77 if (\count($this->attributes) > 0) {
78 $string .= ';'.implode(';', array_map(function ($name, $value) {
79 return sprintf(preg_match('/[,;=]/', $value) ? '%s="%s"' : '%s=%s', $name, $value);
80 }, array_keys($this->attributes), $this->attributes));
81 }
82
83 return $string;
84 }
85
86 /**
87 * Set the item value.
88 *
89 * @param string $value
90 *
91 * @return $this
92 */
93 public function setValue($value)
94 {
95 $this->value = $value;
96
97 return $this;
98 }
99
100 /**
101 * Returns the item value.
102 *
103 * @return string
104 */
105 public function getValue()
106 {
107 return $this->value;
108 }
109
110 /**
111 * Set the item quality.
112 *
113 * @param float $quality
114 *
115 * @return $this
116 */
117 public function setQuality($quality)
118 {
119 $this->quality = $quality;
120
121 return $this;
122 }
123
124 /**
125 * Returns the item quality.
126 *
127 * @return float
128 */
129 public function getQuality()
130 {
131 return $this->quality;
132 }
133
134 /**
135 * Set the item index.
136 *
137 * @param int $index
138 *
139 * @return $this
140 */
141 public function setIndex($index)
142 {
143 $this->index = $index;
144
145 return $this;
146 }
147
148 /**
149 * Returns the item index.
150 *
151 * @return int
152 */
153 public function getIndex()
154 {
155 return $this->index;
156 }
157
158 /**
159 * Tests if an attribute exists.
160 *
161 * @param string $name
162 *
163 * @return bool
164 */
165 public function hasAttribute($name)
166 {
167 return isset($this->attributes[$name]);
168 }
169
170 /**
171 * Returns an attribute by its name.
172 *
173 * @param string $name
174 * @param mixed $default
175 *
176 * @return mixed
177 */
178 public function getAttribute($name, $default = null)
179 {
180 return isset($this->attributes[$name]) ? $this->attributes[$name] : $default;
181 }
182
183 /**
184 * Returns all attributes.
185 *
186 * @return array
187 */
188 public function getAttributes()
189 {
190 return $this->attributes;
191 }
192
193 /**
194 * Set an attribute.
195 *
196 * @param string $name
197 * @param string $value
198 *
199 * @return $this
200 */
201 public function setAttribute($name, $value)
202 {
203 if ('q' === $name) {
204 $this->quality = (float) $value;
205 } else {
206 $this->attributes[$name] = (string) $value;
207 }
208
209 return $this;
210 }
211 }
212