_top frame problem fix
[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 (!isset($frame_top)) {
48 $frame_top = '_top';
49 }
50
51 // If a user hits reload on the last page, $base_uri isn't set
52 // because it was deleted with the session.
53 if (! isset($base_uri)) {
54 ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
55 $base_uri = $regs[1];
56 }
57
58 do_hook('logout');
59 setcookie('username', '', 0, $base_uri);
60 setcookie('key', '', 0, $base_uri);
61 session_destroy();
62
63 if ($signout_page) {
64 header("Status: 303 See Other");
65 header("Location: $signout_page");
66 exit; /* we send no content if we're redirecting. */
67 }
68 ?>
69 <HTML>
70 <HEAD>
71 <?php
72 if ($theme_css != '') {
73 ?>
74 <LINK REL="stylesheet" TYPE="text/css" HREF="<?php echo $theme_css ?>">
75 <?php
76 }
77 ?>
78 <TITLE><?php echo $org_title ?> - Signout</TITLE>
79 </HEAD>
80 <BODY TEXT="<?php echo $color[8] ?>" BGCOLOR="<?php echo $color[4] ?>"
81 LINK="<?php echo $color[7] ?>" VLINK="<?php echo $color[7] ?>"
82 ALINK="<?php echo $color[7] ?>">
83 <BR><BR>
84 <TABLE BGCOLOR="<?php echo $color[4]; ?>" BORDER="0" COLS="1" WIDTH="50%" CELLSPACING="0"
85 CELLPADDING="2" ALIGN="CENTER">
86 <TR BGCOLOR="<?php echo $color[0] ?>" WIDTH="100%">
87 <TD ALIGN="CENTER">
88 <B><?php echo _("Sign Out") ?></B>
89 </TD>
90 </TR>
91 <TR BGCOLOR="<?php echo $color[4] ?>" WIDTH="100%">
92 <TD ALIGN="CENTER">
93 <?php do_hook('logout_above_text'); ?>
94 <?php echo _("You have been successfully signed out.") ?><BR>
95 <A HREF="login.php" TARGET="<?php echo $frame_top ?>">
96 <?php echo _("Click here to log back in.") ?>
97 </A><BR><BR>
98 </TD>
99 </TR>
100 <TR BGCOLOR="<?php echo $color[0] ?>" WIDTH="100%">
101 <TD ALIGN="CENTER">
102 <BR>
103 </TD>
104 </TR>
105 </TABLE>
106 </BODY>
107 </HTML>