Fix #542812, mdn checkboxes were not being preserved.
[squirrelmail.git] / src / signout.php
index 179cfb0f2de534220ede371f21cfb13c19b0e793..1b095056580fd703c43998d527f64de28f18595e 100644 (file)
@@ -1,84 +1,93 @@
 <?php
-   /**
-    **  signout.php -- cleans up session and logs the user out
-    **
-    **  Copyright (c) 1999-2000 The SquirrelMail development team
-    **  Licensed under the GNU GPL. For full terms see the file COPYING.
-    **
-    **  Cleans up after the user. Resets cookies and terminates
-    **  session.
-    **
-    **  $Id$
-    **/
 
-   session_start();
+/**
+ * signout.php -- cleans up session and logs the user out
+ *
+ * Copyright (c) 1999-2002 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.
+ *
+ * $Id$
+ */
 
-   if (!isset($strings_php))
-      include('../functions/strings.php');
+require_once('../src/validate.php');
+require_once('../functions/prefs.php');
+require_once('../functions/plugin.php');
+require_once('../functions/strings.php');
 
-   include ('../src/load_prefs.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);
+        }
+    }
+}
 
-   if (!isset($config_php))
-      include('../config/config.php');
-   if (!isset($i18n_php))
-      include('../functions/i18n.php');
-   if (!isset($prefs_php))
-      include ('../functions/prefs.php');
-   if (!isset($plugin_php))
-      include ('../functions/plugin.php');
+if (!isset($frame_top)) {
+    $frame_top = '_top';
+}
 
-   set_up_language(getPref($data_dir, $username, 'language'));
+/* If a user hits reload on the last page, $base_uri isn't set
+ * because it was deleted with the session. */
+if (!isset($base_uri)) {
+    if (!function_exists('sqm_baseuri')){
+        require_once('../functions/display_messages.php');
+    }
+    $base_uri = sqm_baseuri();
+}
 
-   // If a user hits reload on the last page, $base_uri isn't set
-   // because it was deleted with the session.
-   if (! isset($base_uri))
-   {
-       ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
-       $base_uri = $regs[1];
-   }
+do_hook('logout');
+setcookie('username', '', 0, $base_uri);
+setcookie('key', '', 0, $base_uri);
+session_destroy();
 
-   do_hook('logout');
-   setcookie('username', '', 0, $base_uri);
-   setcookie('key', '', 0, $base_uri);
-   setcookie('logged_in', '', 0, $base_uri);
-   session_destroy();
+if ($signout_page) {
+    header('Status: 303 See Other');
+    header("Location: $signout_page");
+    exit; /* we send no content if we're redirecting. */
+}
 ?>
 <HTML>
    <HEAD>
 <?php
-   if ($theme_css != '') {
-      printf ('<LINK REL="stylesheet" TYPE="text/css" HREF="%s">', 
-               $theme_css);
-      echo "\n";
-   }
-   
-   echo "<TITLE>$org_title - Signout</TITLE>\n";
-   echo "</HEAD><BODY TEXT=$color[8] BGCOLOR=$color[4] LINK=$color[7] VLINK=$color[7] ALINK=$color[7]>\n";
-   echo '<BR><BR><TABLE BGCOLOR="FFFFFF" BORDER="0" COLS="1" WIDTH="50%" CELLSPACING="0" CELLPADDING="2" ALIGN="CENTER">';
-   echo "   <TR BGCOLOR=$color[0] WIDTH=100%>";
-   echo '      <TD ALIGN="CENTER">';
-   echo '         <B>';
-   echo _("Sign Out");
-   echo '</B>';
-   echo '      </TD>';
-   echo '   </TR>';
-   echo "   <TR BGCOLOR=$color[4] WIDTH=100%>";
-   echo '      <TD ALIGN=CENTER>';
-   echo '         <BR>';
-   echo _("You have been successfully signed out.");
-   echo '<BR>';
-   echo '<A HREF="login.php" TARGET=_top>';
-   echo _("Click here to log back in.");
-   echo '</A><BR><BR>';
-   echo '      </TD>';
-   echo '   </TR>';
-   echo "   <TR BGCOLOR=$color[0] WIDTH=100%>";
-   echo '      <TD ALIGN="CENTER">;
-       echo '                  <br>';
-   echo '      </TD>';
-   echo '   </TR>';
-   echo '</TABLE>';
-       echo '<br><br>';
+    if ($theme_css != '') {
 ?>
+<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>
+<TABLE BGCOLOR="<?php echo $color[4]; ?>" BORDER="0" COLS="1" WIDTH="50%" CELLSPACING="0" 
+CELLPADDING="2" ALIGN="CENTER">
+  <TR BGCOLOR="<?php echo $color[0] ?>" WIDTH="100%">
+    <TD ALIGN="CENTER">
+      <B><?php echo _("Sign Out") ?></B>
+    </TD>
+  </TR>
+  <TR BGCOLOR="<?php echo $color[4] ?>" WIDTH="100%">
+    <TD ALIGN="CENTER">
+      <?php do_hook('logout_above_text'); ?>
+      <?php echo _("You have been successfully signed out.") ?><BR>
+      <A HREF="login.php" TARGET="<?php echo $frame_top ?>">
+      <?php echo _("Click here to log back in.") ?>
+      </A><BR><BR>
+    </TD>
+  </TR>
+  <TR BGCOLOR="<?php echo $color[0] ?>" WIDTH="100%">
+    <TD ALIGN="CENTER">
+      <BR>
+    </TD>
+  </TR>
+</TABLE>
 </BODY>
-</HTML>
+</HTML>
\ No newline at end of file