Added feature #11509: Move automatic session data garbage collection to separate...
authorOliver Hader <oliver.hader@typo3.org>
Mon, 20 Jul 2009 11:36:42 +0000 (11:36 +0000)
committerOliver Hader <oliver.hader@typo3.org>
Mon, 20 Jul 2009 11:36:42 +0000 (11:36 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@5727 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/cms/tslib/class.tslib_feuserauth.php

index 63aa31d..5abf7fb 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-07-20  Oliver Hader  <oliver@typo3.org>
+
+       * Added feature #11509: Move automatic session data garbage collection to separate method
+
 2009-07-19  Oliver Hader  <oliver@typo3.org>
 
        * Fixed bug #6875: IRRE - Sorting of child records is inverted on moving parent record to different page (thanks to Nabil Saleh)
index 068d4b1..29c59ae 100644 (file)
@@ -377,11 +377,6 @@ class tslib_feUserAuth extends t3lib_userAuth {
                        }
                        $GLOBALS['TYPO3_DB']->sql_free_result($dbres);
                }
-                       // delete old data:
-               if ((rand()%100) <= 1) {                // a possibility of 1 % for garbage collection.
-                       $timeoutTimeStamp = intval($GLOBALS['EXEC_TIME'] - $this->sessionDataLifetime);
-                       $GLOBALS['TYPO3_DB']->exec_DELETEquery('fe_session_data', 'tstamp < ' . $timeoutTimeStamp);
-               }
        }
 
        /**
@@ -423,6 +418,19 @@ class tslib_feUserAuth extends t3lib_userAuth {
        }
 
        /**
+        * Executes the garbage collection of session data and session.
+        * The lifetime of session data is defined by $TYPO3_CONF_VARS['FE']['sessionDataLifetime'].
+        *
+        * @return      void
+        */
+       public function gc() {
+               $timeoutTimeStamp = intval($GLOBALS['EXEC_TIME'] - $this->sessionDataLifetime);
+               $GLOBALS['TYPO3_DB']->exec_DELETEquery('fe_session_data', 'tstamp < ' . $timeoutTimeStamp);
+
+               parent::gc();
+       }
+
+       /**
         * Returns session data for the fe_user; Either persistent data following the fe_users uid/profile (requires login) or current-session based (not available when browse is closed, but does not require login)
         *
         * @param       string          Session data type; Either "user" (persistent, bound to fe_users profile) or "ses" (temporary, bound to current session cookie)