diff options
Diffstat (limited to 'phpBB/phpbb/session.php')
| -rw-r--r-- | phpBB/phpbb/session.php | 8 | 
1 files changed, 5 insertions, 3 deletions
| diff --git a/phpBB/phpbb/session.php b/phpBB/phpbb/session.php index de9345ca85..80934dc411 100644 --- a/phpBB/phpbb/session.php +++ b/phpBB/phpbb/session.php @@ -1614,13 +1614,15 @@ class session  			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 -		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); -			// Do not update the session page for ajax requests, so the view online still works as intended -			if ($this->update_session_page && !$request->is_ajax()) +			if ($page_changed)  			{  				$sql_ary['session_page'] = substr($this->page['page'], 0, 199);  				$sql_ary['session_forum_id'] = $this->page['forum']; | 
