Skip to content

Commit cd4026a

Browse files
committed
Session::clean() clears all null values from the session
1 parent 85d541a commit cd4026a

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

src/Http/Session.php

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,17 @@ private function clean(): void
342342
Nette\Utils\Arrays::invoke($this->onWrite, $this);
343343

344344
$nf = &$_SESSION['__NF'];
345-
foreach ($nf['META'] ?? [] as $name => $foo) {
345+
foreach ($nf['DATA'] ?? [] as $name => $data) {
346+
foreach ($data ?? [] as $k => $v) {
347+
if ($v === null) {
348+
unset($nf['DATA'][$name][$k], $nf['META'][$name][$k]);
349+
}
350+
}
351+
if (empty($nf['DATA'][$name])) {
352+
unset($nf['DATA'][$name], $nf['META'][$name]);
353+
}
354+
}
355+
foreach ($nf['META'] ?? [] as $name => $data) {
346356
if (empty($nf['META'][$name])) {
347357
unset($nf['META'][$name]);
348358
}

0 commit comments

Comments
 (0)