X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsignout.php;h=ff442fab5a769a913fbdc2581ecd8c78aca4e495;hb=6c84ba1ec45ab854c37b6f65c5b4d84ab1c7aad4;hp=ed52ffe1ab0de89b8cb439c0b5071f943c138802;hpb=91e0dccca7b2452d8b450791cae3aa4125e8889e;p=squirrelmail.git diff --git a/src/signout.php b/src/signout.php index ed52ffe1..ff442fab 100644 --- a/src/signout.php +++ b/src/signout.php @@ -3,7 +3,7 @@ /** * signout.php -- cleans up session and logs the user out * - * Copyright (c) 1999-2004 The SquirrelMail Project Team + * Copyright (c) 1999-2005 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * Cleans up after the user. Resets cookies and terminates session. @@ -18,21 +18,40 @@ */ define('SM_PATH','../'); -/* SquirrelMail required files. */ -require_once(SM_PATH . 'include/validate.php'); -require_once(SM_PATH . 'functions/prefs.php'); +/* check if we're already logged out (e.g. when this page is reloaded), + * so we can skip to the output and not give error messages */ +if( ! isset($_SESSION) || empty($_SESSION['user_is_logged_in']) ) { + $loggedin = false; +} else { + $loggedin = true; +} + +if($loggedin) { + require_once(SM_PATH . 'include/validate.php'); + require_once(SM_PATH . 'functions/prefs.php'); +} else { + // this comes in through validate.php usually + require_once(SM_PATH . 'config/config.php'); + require_once(SM_PATH . 'functions/i18n.php'); + require_once(SM_PATH . 'functions/page_header.php'); + if (@file_exists($theme[$theme_default]['PATH'])) { + @include ($theme[$theme_default]['PATH']); + } +} require_once(SM_PATH . 'functions/plugin.php'); require_once(SM_PATH . 'functions/strings.php'); require_once(SM_PATH . 'functions/html.php'); -/* Erase any lingering attachments */ -if (isset($attachments) && is_array($attachments) - && sizeof($attachments)){ - $hashed_attachment_dir = getHashedDir($username, $attachment_dir); - foreach ($attachments as $info) { - $attached_file = "$hashed_attachment_dir/$info[localfilename]"; - if (file_exists($attached_file)) { - unlink($attached_file); +if($loggedin) { + /* Erase any lingering attachments */ + if (isset($attachments) && is_array($attachments) + && sizeof($attachments)){ + $hashed_attachment_dir = getHashedDir($username, $attachment_dir); + foreach ($attachments as $info) { + $attached_file = "$hashed_attachment_dir/$info[localfilename]"; + if (file_exists($attached_file)) { + unlink($attached_file); + } } } } @@ -57,6 +76,9 @@ if ($signout_page) { header("Location: $signout_page"); exit; /* we send no content if we're redirecting. */ } + +/* internal gettext functions will fail, if language is not set */ +set_up_language($squirrelmail_language, true, true); ?> @@ -94,4 +116,4 @@ html_tag( 'table', 'center', $color[4], 'width="50%" cols="1" cellpadding="2" cellspacing="0" border="0"' ) ?> - \ No newline at end of file +