Adding a hook on the signout page within the HTML output.
[squirrelmail.git] / src / signout.php
index e3275c4dcd172800cc91b66d7243385f227ab318..d7258a77c2c50c9fbaebf159bc9daabb9e1ff00e 100644 (file)
@@ -1,6 +1,4 @@
 <?php
-   session_start();
-
    /**
     **  signout.php -- cleans up session and logs the user out
     **
     **  Cleans up after the user. Resets cookies and terminates
     **  session.
     **
+    **  $Id$
     **/
 
-   include ("../src/load_prefs.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");
+   include('../src/validate.php');
+   include ('../functions/prefs.php');
+   include ('../functions/plugin.php');
 
-   // Quick Fix for Gettext in LogOut Screen
-   if (!function_exists("_")) {
-      function _($string) {
-         return $string;
-      }
+   // Erase any lingering attachments
+   if (! isset($attachments)) {
+       $attachments = array();
+   }
+   foreach ($attachments as $info) {
+       if (file_exists($attachment_dir . $info['localfilename'])) {
+           unlink($attachment_dir . $info['localfilename']);
+       }
    }
 
-   $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"]);
-
-         // 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($base_uri)) {
+       ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
+       $base_uri = $regs[1];
    }
 
-   do_hook("logout");
-   setcookie("username", "", 0, $base_uri);
-   setcookie("key", "", 0, $base_uri);
-   setcookie("logged_in", "", 0, $base_uri);
+   do_hook('logout');
+   setcookie('username', '', 0, $base_uri);
+   setcookie('key', '', 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
-   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>";
+   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="FFFFFF" 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="_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>