Replacing tabs with spaces, trimming white space at EOL and newline at EOF
[squirrelmail.git] / src / signout.php
index ae78e121efd3d932845d9953b6ae415ac995dc56..ed52ffe1ab0de89b8cb439c0b5071f943c138802 100644 (file)
@@ -1,59 +1,97 @@
-<?
-       /**
-        **  signout.php
-        **
-        **  Clears the cookie, and logs them out.
-        **
-        **/
-       
-       $username = "";
-       $key = "";
-       $logged_in = 0;
-
-        // $squirrelmail_language is set by a cookie when the user
-        // selects language
-        if (isset($squirrelmail_language)) {
-           if ($squirrelmail_language != "en") {
-              putenv("LANG=".$squirrelmail_language);
-              bindtextdomain("squirrelmail", "../locale/");
-              textdomain("squirrelmail");
-           }
+<?php
+
+/**
+ * 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.
+ *
+ * @version $Id$
+ * @package squirrelmail
+ */
+
+/**
+ * Path for SquirrelMail required files.
+ * @ignore
+ */
+define('SM_PATH','../');
+
+/* SquirrelMail required files. */
+require_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');
+
+/* 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);
         }
-       
-       setcookie("username", "", time(), "/");
-       setcookie("key", "", time(), "/");
-       setcookie("logged_in", 0, time(), "/");
+    }
+}
+
+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) ) {
+    require_once(SM_PATH . 'functions/display_messages.php');
+    $base_uri = sqm_baseuri();
+}
+
+do_hook('logout');
+
+sqsession_destroy();
+
+if ($signout_page) {
+    header('Status: 303 See Other');
+    header("Location: $signout_page");
+    exit; /* we send no content if we're redirecting. */
+}
 ?>
-<HTML>
-<?
-   echo "<BODY TEXT=000000 BGCOLOR=FFFFFF LINK=0000CC VLINK=0000CC ALINK=0000CC>\n";
-   echo "<BR><BR><TABLE BGCOLOR=FFFFFF BORDER=0 COLS=1 WIDTH=50% CELLSPACING=0 CELLPADDING=2 ALIGN=CENTER>";
-   echo "   <TR BGCOLOR=DCDCDC WIDTH=100%>";
-   echo "      <TD ALIGN=CENTER>";
-   echo "         <FONT FACE=\"Arial,Helvetica\"><B>";
-   echo _("Sign Out");
-   echo "</B></FONT>";
-   echo "      </TD>";
-   echo "   </TR>";
-   echo "   <TR BGCOLOR=FFFFFF WIDTH=100%>";
-   echo "      <TD ALIGN=CENTER>";
-   echo "         <FONT FACE=\"Arial,Helvetica\"><BR>";
-   echo _("You have been successfully signed out.");
-   echo "<BR></FONT>";
-   echo "         <FONT FACE=\"Arial,Helvetica\">";
-   echo _("Click here to ");
-   echo "<A HREF=\"login.php\" TARGET=_top>";
-   echo _("log back in.");
-   echo "</A></FONT><BR><BR>";
-   echo "      </TD>";
-   echo "   </TR>";
-   echo "   <TR BGCOLOR=DCDCDC WIDTH=100%>";
-   echo "      <TD ALIGN=CENTER>";
-   echo "         <FONT FACE=\"Arial,Helvetica\"><BR></FONT>";
-   echo "      </TD>";
-   echo "   </TR>";
-   echo "</TABLE>";
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<?php
+    if ($theme_css != '') {
 ?>
-</BODY>
-</HTML>
-
+   <link rel="stylesheet" type="text/css" href="<?php echo $theme_css; ?>" />
+<?php
+    }
+?>
+   <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], 'width="100%"' ) .
+    $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], 'width="100%"' ) .
+    html_tag( 'tr',
+         html_tag( 'td', '<br />', 'center' ) ,
+    '', $color[0], 'width="100%"' ) ,
+'center', $color[4], 'width="50%" cols="1" cellpadding="2" cellspacing="0" border="0"' )
+?>
+</body>
+</html>
\ No newline at end of file