X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fsignout.php;h=2c5dac51e1995444469c2f51975fe6ac4f12ecbe;hp=82712e1bf517065f0fecfa0457cb308640898717;hb=db962a6055db4fcfc25aa35689cbade25fbc564f;hpb=5c4ff7bfc6e04337bd6bcf76743b1fbb92556233 diff --git a/src/signout.php b/src/signout.php index 82712e1b..2c5dac51 100644 --- a/src/signout.php +++ b/src/signout.php @@ -5,23 +5,19 @@ * * Cleans up after the user. Resets cookies and terminates session. * - * @copyright © 1999-2006 The SquirrelMail Project Team + * @copyright © 1999-2007 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail */ +/** This is the signout page */ +define('PAGE_NAME', 'signout'); + /** - * Path for SquirrelMail required files. - * @ignore + * Include the SquirrelMail initialization file. */ -define('SM_PATH','../'); - -include_once(SM_PATH . 'include/validate.php'); -require_once(SM_PATH . 'functions/prefs.php'); -require_once(SM_PATH . 'functions/plugin.php'); -require_once(SM_PATH . 'functions/strings.php'); -require_once(SM_PATH . 'functions/html.php'); +require('../include/init.php'); /* Erase any lingering attachments */ sqgetGlobalVar('compose_messages', $compose_messages, SQ_SESSION); @@ -39,58 +35,51 @@ 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. */ } +/* 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'); + $sTemplateID = Template::get_default_template_set(); + $icon_theme_path = !$use_icons ? NULL : Template::calculate_template_images_directory($sTemplateID); + $oTemplate = Template::construct_template($sTemplateID); + + // We want some variables to always be available to the template + $oTemplate->assign('javascript_on', checkForJavascript()); + $oTemplate->assign('base_uri', sqm_baseuri()); + $always_include = array('sTemplateID', '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 +$oErrorHandler = new ErrorHandler($oTemplate,'error_message.tpl'); + /* internal gettext functions will fail, if language is not set */ set_up_language($squirrelmail_language, true, true); -?> - - - - - - - - <?php echo $org_title . ' - ' . _("Signout"); ?> - - -

-' . - _("Click here to log back in.") . '
' , - 'center' ) , - '', $color[4] ) . - html_tag( 'tr', - html_tag( 'td', '
', 'center' ) , - '', $color[0] ) , -'center', $color[4], 'width="50%" cellpadding="2" cellspacing="0" border="0"' ) + +displayHtmlHeader($org_title . ' - ' . _("Signout")); + +$oTemplate->assign('frame_top', $frame_top); +$oTemplate->assign('login_uri', $login_uri); + +$oTemplate->display('signout.tpl'); $oTemplate->display('footer.tpl'); -?> \ No newline at end of file +