X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=src%2Fsignout.php;h=621f8b9ac1b995d3e7676fe8472cd03707e1da87;hb=b28e73038621072dea0b1e73e39c3faa206011cd;hp=888b96002211dd0cecdbce3971e8f034bffbec86;hpb=20db5033a7f36d40c7fe11d561069de9c9a2a970;p=squirrelmail.git
diff --git a/src/signout.php b/src/signout.php
index 888b9600..621f8b9a 100644
--- a/src/signout.php
+++ b/src/signout.php
@@ -1,41 +1,81 @@
-
- /**
- ** signout.php3
- **
- ** Clears the cookie, and logs them out.
- **
- **/
-
- $username = "";
- $key = "";
- $logged_in = 0;
-
- setcookie("username", "", time(), "/");
- setcookie("key", "", time(), "/");
- setcookie("logged_in", 0, time(), "/");
-?>
-
-
-
- echo "
";
- echo " ";
- echo " ";
- echo " Sign Out";
- echo " | ";
- echo "
";
- echo " ";
- echo " ";
- echo " You have been successfully signed out. ";
- echo " Click here to log back in.
";
- echo " | ";
- echo "
";
- echo " ";
- echo " ";
- echo " ";
- echo " | ";
- echo "
";
- echo "
";
-?>
-
-
+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');