fix: Added automatic cleanup of expired sessions

- on page load for site admins
pull/1438/head
iglocska 2016-08-15 22:43:46 +02:00
parent a386628f09
commit 5ffa4cf842
2 changed files with 12 additions and 6 deletions

View File

@ -322,8 +322,15 @@ class AppController extends Controller {
} else {
$this->set('me', false);
}
if (Configure::read('site_admin_debug') && $this->_isSiteAdmin() && (Configure::read('debug') < 2)) {
if ($this->_isSiteAdmin()) {
$this->loadModel('Server');
$sessionStatus = $this->Server->sessionDiagnostics();
if ($sessionStatus == 1) {
$this->Server->updateDatabase('cleanSessionTable');
}
if (Configure::read('site_admin_debug') && (Configure::read('debug') < 2)) {
Configure::write('debug', 1);
}
}
$this->debugMode = 'debugOff';

View File

@ -2548,7 +2548,7 @@ class Server extends AppModel {
return $proxyStatus;
}
public function sessionDiagnostics(&$diagnostic_errors, &$sessionCount) {
public function sessionDiagnostics(&$diagnostic_errors = 0, &$sessionCount = '') {
if (Configure::read('Session.defaults') !== 'database') {
$sessionCount = 'N/A';
return 2;
@ -2560,12 +2560,11 @@ class Server extends AppModel {
$sessionCount = 'Error';
return 3;
}
$sessionStatus = 0;
if ($sessionCount > 100) {
$sessionStatus = 1;
if ($sessionCount > 1000) {
$diagnostic_errors++;
return 1;
}
return $sessionStatus;
return 0;
}
public function workerDiagnostics(&$workerIssueCount) {