1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-21 14:59:46 +02:00

[ticket/15583] Update session time in AJAX request only once a minute

PHPBB3-15583
This commit is contained in:
kasimi 2018-03-09 23:31:57 +01:00
parent adc75b700f
commit 85eceeccbe
No known key found for this signature in database
GPG Key ID: 3163AB573241193A

View File

@ -1614,13 +1614,15 @@ class session
return; return;
} }
// Do not update the session page for ajax requests, so the view online still works as intended
$page_changed = $this->update_session_page && $this->data['session_page'] != $this->page['page'] && !$request->is_ajax();
// Only update session DB a minute or so after last update or if page changes // Only update session DB a minute or so after last update or if page changes
if ($this->time_now - ((isset($this->data['session_time'])) ? $this->data['session_time'] : 0) > 60 || ($this->update_session_page && $this->data['session_page'] != $this->page['page'])) if ($this->time_now - ((isset($this->data['session_time'])) ? $this->data['session_time'] : 0) > 60 || $page_changed)
{ {
$sql_ary = array('session_time' => $this->time_now); $sql_ary = array('session_time' => $this->time_now);
// Do not update the session page for ajax requests, so the view online still works as intended if ($page_changed)
if ($this->update_session_page && !$request->is_ajax())
{ {
$sql_ary['session_page'] = substr($this->page['page'], 0, 199); $sql_ary['session_page'] = substr($this->page['page'], 0, 199);
$sql_ary['session_forum_id'] = $this->page['forum']; $sql_ary['session_forum_id'] = $this->page['forum'];