Skip to content

Commit e177e63

Browse files
committed
Session::clean() clears all null values from the session
1 parent 5c1c184 commit e177e63

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
@@ -331,7 +331,17 @@ private function clean(): void
331331
Nette\Utils\Arrays::invoke($this->onBeforeWrite, $this);
332332

333333
$nf = &$_SESSION['__NF'];
334-
foreach ($nf['META'] ?? [] as $name => $foo) {
334+
foreach ($nf['DATA'] ?? [] as $name => $data) {
335+
foreach ($data ?? [] as $k => $v) {
336+
if ($v === null) {
337+
unset($nf['DATA'][$name][$k], $nf['META'][$name][$k]);
338+
}
339+
}
340+
if (empty($nf['DATA'][$name])) {
341+
unset($nf['DATA'][$name], $nf['META'][$name]);
342+
}
343+
}
344+
foreach ($nf['META'] ?? [] as $name => $data) {
335345
if (empty($nf['META'][$name])) {
336346
unset($nf['META'][$name]);
337347
}

0 commit comments

Comments
 (0)