"- do not send session data for clients doing no sessions to memcached

- use 10min session lifetime for GroupDAV as for anonymous sessions"
This commit is contained in:
Ralf Becker 2008-11-25 19:37:35 +00:00
parent 1ffcad251a
commit 68d6f0fe69

View File

@ -106,7 +106,7 @@ class egw_session_memcache
* According to a commentary on php.net (session_set_save_handler) this function has to return
* a string, if the session-id is NOT found, not false. Returning false terminates the script
* with a fatal error!
*
*
* @param string $id
* @return string|boolean false on error, '' for not found session otherwise session data
*/
@ -137,8 +137,13 @@ class egw_session_memcache
{
$lifetime = (int)ini_get('session.gc_maxlifetime');
if ($id == 'no-session')
{
return true; // no need to save
}
// give anon sessions only a lifetime of 10min
if (is_object($GLOBALS['egw']->session) && $GLOBALS['egw']->session->session_flags == 'A')
if (is_object($GLOBALS['egw']->session) && $GLOBALS['egw']->session->session_flags == 'A' ||
$GLOBALS['egw_info']['flags']['currentapp'] == 'groupdav')
{
$lifetime = 600;
}