The logout_above_text hook was misplaced. Got it back where it should be.
[squirrelmail.git] / src / signout.php
index e3275c4dcd172800cc91b66d7243385f227ab318..1fb84845af327a9b1753805eba98724450c5f7c6 100644 (file)
@@ -1,83 +1,97 @@
 <?php
-   session_start();
 
-   /**
   **  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.
-    **
   **/
+/**
* signout.php -- cleans up session and logs the user out
+ *
* Copyright (c) 1999-2003 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$
+ */
 
-   include ("../src/load_prefs.php");
+/* Path for SquirrelMail required files. */
+define('SM_PATH','../');
 
-   if (!isset($i18n_php))
-      include("../functions/i18n.php");
-   if (!isset($prefs_php))
-      include ("../functions/prefs.php");
-   if (!isset($plugin_php))
-      include ("../functions/plugin.php");
+/* 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');
 
-   // Quick Fix for Gettext in LogOut Screen
-   if (!function_exists("_")) {
-      function _($string) {
-         return $string;
-      }
-   }
+/* 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);
+        }
+    }
+}
 
-   $squirrelmail_language = getPref ($data_dir, $username, "language");
-   if (isset($squirrelmail_language)) {
-      if ($squirrelmail_language != "en" && $squirrelmail_language != "") {
-         putenv("LC_ALL=".$squirrelmail_language);
-         bindtextdomain("squirrelmail", "../locale/");
-         textdomain("squirrelmail");
-         header ("Content-Type: text/html; charset=".$languages[$squirrelmail_language]["CHARSET"]);
+if (!isset($frame_top)) {
+    $frame_top = '_top';
+}
 
-         // Setting cookie to use on the login screen the next time the
-         // same user logs in.
-         setcookie("squirrelmail_language", $squirrelmail_language, 
-                   time()+2592000);
+/* If a user hits reload on the last page, $base_uri isn't set
+ * because it was deleted with the session. */
+if (!isset($_SESSION['base_uri'])) {
+    if (!function_exists('sqm_baseuri')){
+        require_once(SM_PATH . 'functions/display_messages.php');
+    }
+    $base_uri = sqm_baseuri();
+} else {
+    $base_uri = $_SESSION['base_uri'];
+}
 
-      }
-   }
+do_hook('logout');
 
-   do_hook("logout");
-   setcookie("username", "", 0, $base_uri);
-   setcookie("key", "", 0, $base_uri);
-   setcookie("logged_in", "", 0, $base_uri);
-   session_destroy();
+sqsession_destroy();
+
+if ($signout_page) {
+    header('Status: 303 See Other');
+    header("Location: $signout_page");
+    exit; /* we send no content if we're redirecting. */
+}
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<?php
+    if ($theme_css != '') {
+?>
+   <link rel="stylesheet" type="text/css" href="<?php echo $theme_css ?>" />
+<?php
+    }
 ?>
-<HTML>
+   <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
-   echo "<BODY TEXT=000000 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>";
+$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>
+</body>
+</html>