Skip to content

Commit 4f156a9

Browse files
committed
Session::clean() clears all null values from the session
1 parent 20937c3 commit 4f156a9

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

src/Http/Session.php

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,19 @@ private function clean(): void
346346
Nette\Utils\Arrays::invoke($this->onBeforeWrite, $this);
347347

348348
$nf = &$_SESSION['__NF'];
349-
foreach ($nf['META'] ?? [] as $name => $foo) {
349+
foreach ($nf['DATA'] ?? [] as $name => $data) {
350+
foreach ($data ?? [] as $k => $v) {
351+
if ($v === null) {
352+
unset($nf['DATA'][$name][$k], $nf['META'][$name][$k]);
353+
}
354+
}
355+
356+
if (empty($nf['DATA'][$name])) {
357+
unset($nf['DATA'][$name], $nf['META'][$name]);
358+
}
359+
}
360+
361+
foreach ($nf['META'] ?? [] as $name => $data) {
350362
if (empty($nf['META'][$name])) {
351363
unset($nf['META'][$name]);
352364
}

0 commit comments

Comments
 (0)