X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsignout.php;h=655b2660610928c2b5d6e5808cd665e8d21bd7e6;hb=a571cff36ff1c340cbd2130ce9c0e2ab7ef96977;hp=7088c7c9110493dbca420f8fed19d923a47fd430;hpb=d65993087963fcc1e7283e544e3100c492f7a742;p=squirrelmail.git diff --git a/src/signout.php b/src/signout.php index 7088c7c9..655b2660 100644 --- a/src/signout.php +++ b/src/signout.php @@ -3,56 +3,25 @@ /** * signout.php -- cleans up session and logs the user out * - * Copyright (c) 1999-2004 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. * + * @copyright © 1999-2006 The SquirrelMail Project Team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail */ /** - * Path for SquirrelMail required files. - * @ignore + * Include the SquirrelMail initialization file. */ -define('SM_PATH','../'); - -/* 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; -} +require('../include/init.php'); -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'); - -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); - } - } +/* Erase any lingering attachments */ +sqgetGlobalVar('compose_messages', $compose_messages, SQ_SESSION); + +if (!empty($compose_message) && is_array($compose_messages)) { + foreach($compose_messages as $composeMessage) { + $composeMessage->purgeAttachments(); } } @@ -63,54 +32,49 @@ if (!isset($frame_top)) { /* If a user hits reload on the last page, $base_uri isn't set * because it was deleted with the session. */ if (! sqgetGlobalVar('base_uri', $base_uri, SQ_SESSION) ) { - require_once(SM_PATH . 'functions/display_messages.php'); $base_uri = sqm_baseuri(); } -do_hook('logout'); +$login_uri = 'login.php'; + +do_hook('logout', $login_uri); sqsession_destroy(); if ($signout_page) { - header('Status: 303 See Other'); + // Status 303 header is disabled. PHP fastcgi bug. See 1.91 changelog. + //header('Status: 303 See Other'); header("Location: $signout_page"); exit; /* we send no content if we're redirecting. */ } -?> - - - - - -assign($var, (isset($$var) ? $$var : NULL)); } -?> - <?php echo $org_title . ' - ' . _("Signout"); ?> - - -

-' . - _("Click here to log back in.") . '
' , - 'center' ) , - '', $color[4], 'width="100%"' ) . - html_tag( 'tr', - html_tag( 'td', '
', 'center' ) , - '', $color[0], 'width="100%"' ) , -'center', $color[4], 'width="50%" cols="1" cellpadding="2" cellspacing="0" border="0"' ) -?> - - +} + +// The error handler object is probably also not initialized on a refresh +$oErrorHandler = new ErrorHandler($oTemplate,'error_message.tpl'); + +/* internal gettext functions will fail, if language is not set */ +set_up_language($squirrelmail_language, true, true); + +displayHtmlHeader($org_title . ' - ' . _("Signout")); + +$oTemplate->assign('frame_top', $frame_top); +$oTemplate->assign('login_uri', $login_uri); + +$oTemplate->display('signout.tpl'); + +$oTemplate->display('footer.tpl'); +