"- 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:36:02 +00:00
parent 519b385186
commit 1eb956fdf5

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 * 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 * a string, if the session-id is NOT found, not false. Returning false terminates the script
* with a fatal error! * with a fatal error!
* *
* @param string $id * @param string $id
* @return string|boolean false on error, '' for not found session otherwise session data * @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'); $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 // 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; $lifetime = 600;
} }