83cc1fca2c191d8b1db83fd1656011085bc1ef30
[squirrelmail.git] / src / signout.php
1 <?php
2
3 /**
4 * signout.php -- cleans up session and logs the user out
5 *
6 * Copyright (c) 1999-2002 The SquirrelMail Project Team
7 * Licensed under the GNU GPL. For full terms see the file COPYING.
8 *
9 * Cleans up after the user. Resets cookies and terminates session.
10 *
11 * $Id$
12 */
13
14 /*****************************************************************/
15 /*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/
16 /*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/
17 /*** + Base level indent should begin at left margin, as ***/
18 /*** the require_once below looks. ***/
19 /*** + All identation should consist of four space blocks ***/
20 /*** + Tab characters are evil. ***/
21 /*** + all comments should use "slash-star ... star-slash" ***/
22 /*** style -- no pound characters, no slash-slash style ***/
23 /*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/
24 /*** ALWAYS USE { AND } CHARACTERS!!! ***/
25 /*** + Please use ' instead of ", when possible. Note " ***/
26 /*** should always be used in _( ) function calls. ***/
27 /*** Thank you for your help making the SM code more readable. ***/
28 /*****************************************************************/
29
30 require_once('../src/validate.php');
31 require_once('../functions/prefs.php');
32 require_once('../functions/plugin.php');
33 require_once('../functions/strings.php');
34
35 // Erase any lingering attachments
36 if (! isset($attachments)) {
37 $attachments = array();
38 }
39 $hashed_attachment_dir = getHashedDir($username, $attachment_dir);
40 foreach ($attachments as $info) {
41 $attached_file = "$hashed_attachment_dir/$info[localfilename]";
42 if (file_exists($attached_file)) {
43 unlink($attached_file);
44 }
45 }
46
47 // If a user hits reload on the last page, $base_uri isn't set
48 // because it was deleted with the session.
49 if (! isset($base_uri)) {
50 ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
51 $base_uri = $regs[1];
52 }
53
54 do_hook('logout');
55 setcookie('username', '', 0, $base_uri);
56 setcookie('key', '', 0, $base_uri);
57 session_destroy();
58
59 if ($signout_page) {
60 header("Status: 303 See Other");
61 header("Location: $signout_page");
62 exit; /* we send no content if we're redirecting. */
63 }
64 ?>
65 <HTML>
66 <HEAD>
67 <?php
68 if ($theme_css != '') {
69 ?>
70 <LINK REL="stylesheet" TYPE="text/css" HREF="<?php echo $theme_css ?>">
71 <?php
72 }
73 ?>
74 <TITLE><?php echo $org_title ?> - Signout</TITLE>
75 </HEAD>
76 <BODY TEXT="<?php echo $color[8] ?>" BGCOLOR="<?php echo $color[4] ?>"
77 LINK="<?php echo $color[7] ?>" VLINK="<?php echo $color[7] ?>"
78 ALINK="<?php echo $color[7] ?>">
79 <BR><BR>
80 <TABLE BGCOLOR="FFFFFF" BORDER="0" COLS="1" WIDTH="50%" CELLSPACING="0"
81 CELLPADDING="2" ALIGN="CENTER">
82 <TR BGCOLOR="<?php echo $color[0] ?>" WIDTH="100%">
83 <TD ALIGN="CENTER">
84 <B><?php echo _("Sign Out") ?></B>
85 </TD>
86 </TR>
87 <TR BGCOLOR="<?php echo $color[4] ?>" WIDTH="100%">
88 <TD ALIGN="CENTER">
89 <?php do_hook('logout_above_text'); ?>
90 <?php echo _("You have been successfully signed out.") ?><BR>
91 <A HREF="login.php" TARGET="_top">
92 <?php echo _("Click here to log back in.") ?>
93 </A><BR><BR>
94 </TD>
95 </TR>
96 <TR BGCOLOR="<?php echo $color[0] ?>" WIDTH="100%">
97 <TD ALIGN="CENTER">
98 <BR>
99 </TD>
100 </TR>
101 </TABLE>
102 </BODY>
103 </HTML>