*
* 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);
/* 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);
-?>
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
-<html>
-<head>
-<?php
- if ($theme_css != '') {
-?>
- <link rel="stylesheet" type="text/css" href="<?php echo $theme_css; ?>" />
-<?php
- }
-?>
- <meta name="robots" content="noindex,nofollow">
- <title><?php echo $org_title . ' - ' . _("Signout"); ?></title>
-</head>
-<body text="<?php echo $color[8]; ?>" bgcolor="<?php echo $color[4]; ?>"
-link="<?php echo $color[7]; ?>" vlink="<?php echo $color[7]; ?>"
-alink="<?php echo $color[7]; ?>">
-<br /><br />
-<?php
-$plugin_message = concat_hook_function('logout_above_text');
-echo
-html_tag( 'table',
- html_tag( 'tr',
- html_tag( 'th', _("Sign Out"), 'center' ) ,
- '', $color[0] ) .
- $plugin_message .
- html_tag( 'tr',
- html_tag( 'td', _("You have been successfully signed out.") .
- '<br /><a href="login.php" target="' . $frame_top . '">' .
- _("Click here to log back in.") . '</a><br />' ,
- 'center' ) ,
- '', $color[4] ) .
- html_tag( 'tr',
- html_tag( 'td', '<br />', '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');
-?>
+