PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.3.1
GiveWP – Donation Plugin and Fundraising Platform v3.3.1
4.16.7.2 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 / Session / Storage / MetadataBag.php
give / vendor / vendor-prefixed / symfony / http-foundation / Session / Storage Last commit date
Handler 2 years ago Proxy 2 years ago MetadataBag.php 2 years ago MockArraySessionStorage.php 2 years ago MockFileSessionStorage.php 2 years ago NativeSessionStorage.php 2 years ago PhpBridgeSessionStorage.php 2 years ago SessionStorageInterface.php 2 years ago
MetadataBag.php
172 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\Session\Storage;
16
17 use Give\Vendors\Symfony\Component\HttpFoundation\Session\SessionBagInterface;
18
19 /**
20 * Metadata container.
21 *
22 * Adds metadata to the session.
23 *
24 * @author Drak <drak@zikula.org>
25 */
26 class MetadataBag implements SessionBagInterface
27 {
28 const CREATED = 'c';
29 const UPDATED = 'u';
30 const LIFETIME = 'l';
31
32 /**
33 * @var string
34 */
35 private $name = '__metadata';
36
37 /**
38 * @var string
39 */
40 private $storageKey;
41
42 /**
43 * @var array
44 */
45 protected $meta = [self::CREATED => 0, self::UPDATED => 0, self::LIFETIME => 0];
46
47 /**
48 * Unix timestamp.
49 *
50 * @var int
51 */
52 private $lastUsed;
53
54 /**
55 * @var int
56 */
57 private $updateThreshold;
58
59 /**
60 * @param string $storageKey The key used to store bag in the session
61 * @param int $updateThreshold The time to wait between two UPDATED updates
62 */
63 public function __construct($storageKey = '_sf2_meta', $updateThreshold = 0)
64 {
65 $this->storageKey = $storageKey;
66 $this->updateThreshold = $updateThreshold;
67 }
68
69 /**
70 * {@inheritdoc}
71 */
72 public function initialize(array &$array)
73 {
74 $this->meta = &$array;
75
76 if (isset($array[self::CREATED])) {
77 $this->lastUsed = $this->meta[self::UPDATED];
78
79 $timeStamp = time();
80 if ($timeStamp - $array[self::UPDATED] >= $this->updateThreshold) {
81 $this->meta[self::UPDATED] = $timeStamp;
82 }
83 } else {
84 $this->stampCreated();
85 }
86 }
87
88 /**
89 * Gets the lifetime that the session cookie was set with.
90 *
91 * @return int
92 */
93 public function getLifetime()
94 {
95 return $this->meta[self::LIFETIME];
96 }
97
98 /**
99 * Stamps a new session's metadata.
100 *
101 * @param int $lifetime Sets the cookie lifetime for the session cookie. A null value
102 * will leave the system settings unchanged, 0 sets the cookie
103 * to expire with browser session. Time is in seconds, and is
104 * not a Unix timestamp.
105 */
106 public function stampNew($lifetime = null)
107 {
108 $this->stampCreated($lifetime);
109 }
110
111 /**
112 * {@inheritdoc}
113 */
114 public function getStorageKey()
115 {
116 return $this->storageKey;
117 }
118
119 /**
120 * Gets the created timestamp metadata.
121 *
122 * @return int Unix timestamp
123 */
124 public function getCreated()
125 {
126 return $this->meta[self::CREATED];
127 }
128
129 /**
130 * Gets the last used metadata.
131 *
132 * @return int Unix timestamp
133 */
134 public function getLastUsed()
135 {
136 return $this->lastUsed;
137 }
138
139 /**
140 * {@inheritdoc}
141 */
142 public function clear()
143 {
144 // nothing to do
145 }
146
147 /**
148 * {@inheritdoc}
149 */
150 public function getName()
151 {
152 return $this->name;
153 }
154
155 /**
156 * Sets name.
157 *
158 * @param string $name
159 */
160 public function setName($name)
161 {
162 $this->name = $name;
163 }
164
165 private function stampCreated($lifetime = null)
166 {
167 $timeStamp = time();
168 $this->meta[self::CREATED] = $this->meta[self::UPDATED] = $this->lastUsed = $timeStamp;
169 $this->meta[self::LIFETIME] = (null === $lifetime) ? ini_get('session.cookie_lifetime') : $lifetime;
170 }
171 }
172