Skip to content

Commit b90dfac

Browse files
committed
Session::clean() clears all null values from the session
1 parent 8ab4151 commit b90dfac

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

351351
$nf = &$_SESSION['__NF'];
352-
foreach ($nf['META'] ?? [] as $name => $foo) {
352+
foreach ($nf['DATA'] ?? [] as $name => $data) {
353+
foreach ($data ?? [] as $k => $v) {
354+
if ($v === null) {
355+
unset($nf['DATA'][$name][$k], $nf['META'][$name][$k]);
356+
}
357+
}
358+
if (empty($nf['DATA'][$name])) {
359+
unset($nf['DATA'][$name], $nf['META'][$name]);
360+
}
361+
}
362+
foreach ($nf['META'] ?? [] as $name => $data) {
353363
if (empty($nf['META'][$name])) {
354364
unset($nf['META'][$name]);
355365
}

0 commit comments

Comments
 (0)