Fix excessive session data after accessing and voting on many documents and comments

This commit is contained in:
Kijin Sung 2024-12-07 21:55:14 +09:00
parent 8f20339549
commit 6a93e0c12d
5 changed files with 42 additions and 0 deletions

View file

@ -1716,6 +1716,12 @@ class CommentController extends Comment
$output->add('blamed_count', $trigger_obj->after_point);
}
// Prevent session data getting too large
if (count($_SESSION['voted_comment']) > 200)
{
$_SESSION['voted_comment'] = array_slice($_SESSION['voted_comment'], 100, null, true);
}
return $output;
}
@ -1875,6 +1881,12 @@ class CommentController extends Comment
// leave into the session information
$_SESSION['declared_comment'][$comment_srl] = TRUE;
// Prevent session data getting too large
if (count($_SESSION['declared_comment']) > 200)
{
$_SESSION['declared_comment'] = array_slice($_SESSION['declared_comment'], 100, null, true);
}
$this->setMessage('success_declared');
}

View file

@ -241,6 +241,10 @@ class CommentItem extends BaseObject
{
$_SESSION['accessible'][$this->comment_srl] = $this->get('last_update');
}
if(is_array($_SESSION['accessible']) && count($_SESSION['accessible']) > 200)
{
$_SESSION['accessible'] = array_slice($_SESSION['accessible'], 100, null, true);
}
}
function isEditable()