-<?
- /**
- ** signout.php
- **
- ** Clears the cookie, and logs them out.
- **
- **/
-
- $username = "";
- $key = "";
- $logged_in = 0;
-
- setcookie("username", "", time(), "/");
- setcookie("key", "", time(), "/");
- setcookie("logged_in", 0, time(), "/");
+<?php
+
+/**
+ * signout.php -- cleans up session and logs the user out
+ *
+ * Copyright (c) 1999-2001 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$
+ */
+
+/*****************************************************************/
+/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/
+/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/
+/*** + Base level indent should begin at left margin, as ***/
+/*** the require_once below looks. ***/
+/*** + All identation should consist of four space blocks ***/
+/*** + Tab characters are evil. ***/
+/*** + all comments should use "slash-star ... star-slash" ***/
+/*** style -- no pound characters, no slash-slash style ***/
+/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/
+/*** ALWAYS USE { AND } CHARACTERS!!! ***/
+/*** + Please use ' instead of ", when possible. Note " ***/
+/*** should always be used in _( ) function calls. ***/
+/*** Thank you for your help making the SM code more readable. ***/
+/*****************************************************************/
+
+require_once('../src/validate.php');
+require_once('../functions/prefs.php');
+require_once('../functions/plugin.php');
+
+ // Erase any lingering attachments
+ if (! isset($attachments)) {
+ $attachments = array();
+ }
+ $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 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();
+
+ if ($signout_page) {
+ header("Status: 303 See Other");
+ header("Location: $signout_page");
+ exit; /* we send no content if we're redirecting. */
+ }