X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsignout.php;h=621f8b9ac1b995d3e7676fe8472cd03707e1da87;hb=918fcc1d131a60df5ba01212d61d82d753014468;hp=e3275c4dcd172800cc91b66d7243385f227ab318;hpb=c6d6fe73f0e01b1415594cf719e9f610cc66c38d;p=squirrelmail.git diff --git a/src/signout.php b/src/signout.php index e3275c4d..621f8b9a 100644 --- a/src/signout.php +++ b/src/signout.php @@ -1,83 +1,81 @@ - -\n"; - echo "

"; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo " "; - echo "
"; - echo " "; - echo _("Sign Out"); - echo ""; - echo "
"; - echo "
"; - echo _("You have been successfully signed out."); - echo "
"; - echo ""; - echo _("Click here to log back in."); - echo "

"; - echo "
"; - echo "
"; - echo "
"; - echo "

"; -?> - - + +/** + * signout.php -- cleans up session and logs the user out + * + * 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 + */ + +/** + * Include the SquirrelMail initialization file. + */ +require('../include/init.php'); + +/* 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(); + } +} + +if (!isset($frame_top)) { + $frame_top = '_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) ) { + $base_uri = sqm_baseuri(); +} + +do_hook('logout'); + +sqsession_destroy(); + +if ($signout_page) { + // 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. */ +} + +/* After a reload of signout.php, $oTemplate might not exist anymore. + * Recover, so that we don't get all kinds of errors in that situation. */ +if ( !isset($oTemplate) || !is_object($oTemplate) ) { + require_once(SM_PATH . 'class/template/template.class.php'); + $aTemplateSet = ( !isset($aTemplateSet) ? array() : $aTemplateSet ); + $templateset_default = ( !isset($templateset_default) ? 0 : $templateset_default ); + + $sTplDir = !isset($aTemplateSet[$templateset_default]['PATH']) ? SM_PATH . 'templates/default/' : $aTemplateSet[$templateset_default]['PATH']; + $icon_theme_path = !$use_icons ? NULL : $sTplDir . 'images/'; + $oTemplate = new Template($sTplDir); + + // We want some variables to always be available to the template + $always_include = array('sTplDir', 'icon_theme_path'); + foreach ($always_include as $var) { + $oTemplate->assign($var, (isset($$var) ? $$var : NULL)); + } +} + +// The error handler object is probably also not initialized on a refresh +require_once(SM_PATH . 'class/error.class.php'); +$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->display('signout.tpl'); + +$oTemplate->display('footer.tpl'); +