X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fredirect.php;h=f48de676470d505576e098158a8006e27be26542;hb=48d015b4373687e272b90168c0859ab4617babc0;hp=ac31a2c7e52f73129678255f3d2534f964b385d8;hpb=202bcbcc2b67c7c153db1b09b608b62beeba0496;p=squirrelmail.git diff --git a/src/redirect.php b/src/redirect.php index ac31a2c7..f48de676 100644 --- a/src/redirect.php +++ b/src/redirect.php @@ -70,7 +70,7 @@ if (!sqsession_is_registered('user_is_logged_in')) { /* regenerate the session id to avoid session hyijacking */ sqsession_destroy(); - sqsession_is_active(); + @sqsession_is_active(); session_regenerate_id(); /** * The cookie part. session_start and session_regenerate_session normally set @@ -106,6 +106,11 @@ if (!sqsession_is_registered('user_is_logged_in')) { sqsession_register($sqimap_capabilities, 'sqimap_capabilities'); $delimiter = sqimap_get_delimiter ($imapConnection); + if (isset($sqimap_capabilities['NAMESPACE']) && $sqimap_capabilities['NAMESPACE'] == true) { + $namespace = sqimap_get_namespace($imapConnection); + sqsession_register($namespace, 'sqimap_namespace'); + } + sqimap_logout($imapConnection); sqsession_register($delimiter, 'delimiter'); @@ -143,13 +148,15 @@ $redirect_url = $location . '/webmail.php'; if ( sqgetGlobalVar('session_expired_location', $session_expired_location, SQ_SESSION) ) { sqsession_unregister('session_expired_location'); - $compose_new_win = getPref($data_dir, $username, 'compose_new_win', 0); - if ($compose_new_win) { - // do not prefix $location here because $session_expired_location is set to PHP_SELF - // of the last page - $redirect_url = $session_expired_location; - } elseif ( strpos($session_expired_location, 'webmail.php') === FALSE ) { - $redirect_url = $location.'/webmail.php?right_frame='.urldecode($session_expired_location); + if ( strpos($session_expired_location, 'compose.php') !== FALSE ) { + $compose_new_win = getPref($data_dir, $username, 'compose_new_win', 0); + if ($compose_new_win) { + // do not prefix $location here because $session_expired_location is set to PHP_SELF + // of the last page + $redirect_url = $session_expired_location; + } else { + $redirect_url = $location.'/webmail.php?right_frame='.urldecode($session_expired_location); + } } unset($session_expired_location); }