59177427 |
1 | <?php |
c6d6fe73 |
2 | |
21c3249f |
3 | /** |
5bbe20e4 |
4 | ** webmail.php -- Displays the main frameset |
21c3249f |
5 | ** |
c6d6fe73 |
6 | ** Copyright (c) 1999-2000 The SquirrelMail development team |
5bbe20e4 |
7 | ** Licensed under the GNU GPL. For full terms see the file COPYING. |
8 | ** |
9 | ** This file generates the main frameset. The files that are |
10 | ** shown can be given as parameters. If the user is not logged in |
11 | ** this file will verify username and password. |
21c3249f |
12 | ** |
13 | **/ |
14 | |
5bbe20e4 |
15 | // Before starting the session, the base URI must be known. |
16 | // Assuming that this file is in the src/ subdirectory (or |
17 | // something). |
18 | ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs); |
19 | $base_uri = $regs[1]; |
20 | |
21 | session_set_cookie_params (0, $base_uri); |
2a32fc83 |
22 | session_start(); |
23 | |
5bbe20e4 |
24 | session_register ("base_uri"); |
25 | |
21c3249f |
26 | if(!isset($username)) { |
b581fa60 |
27 | echo _("You need a valid user and password to access this page!"); |
21c3249f |
28 | exit; |
29 | } |
30 | |
288491a4 |
31 | // Refresh the language cookie. |
2a32fc83 |
32 | if (isset($squirrelmail_language)) { |
9f2215a1 |
33 | setcookie("squirrelmail_language", $squirrelmail_language, time()+2592000); |
2a32fc83 |
34 | } |
1b187352 |
35 | |
7ce342dc |
36 | include ("../config/config.php"); |
65b14f90 |
37 | include ("../functions/prefs.php"); |
19acd99f |
38 | include ("../functions/imap.php"); |
27e81758 |
39 | if (!isset($plugin_php)) |
40 | include ("../functions/plugin.php"); |
3c13b9fb |
41 | if (!isset($auth_php)) |
42 | include ("../functions/auth.php"); |
52eefafc |
43 | if (!isset($strings_php)) |
44 | include ("../functions/strings.php"); |
27e81758 |
45 | |
c6d6fe73 |
46 | if (!session_is_registered("user_is_logged_in") || $logged_in != 1) { |
27e81758 |
47 | do_hook ("login_before"); |
52eefafc |
48 | |
49 | $onetimepad = OneTimePadCreate(strlen($secretkey)); |
50 | $key = OneTimePadEncrypt($secretkey, $onetimepad); |
51 | session_register("onetimepad"); |
27e81758 |
52 | // verify that username and password are correct |
53 | $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0); |
1195c340 |
54 | sqimap_logout($imapConnection); |
52eefafc |
55 | |
56 | setcookie("username", $username, 0, $base_uri); |
57 | setcookie("key", $key, 0, $base_uri); |
58 | setcookie("logged_in", 1, 0, $base_uri); |
59 | |
27e81758 |
60 | do_hook ("login_verified"); |
61 | } |
62 | |
3c13b9fb |
63 | session_register ("user_is_logged_in"); |
64 | $user_is_logged_in = true; |
2848c630 |
65 | |
66 | include ("../src/load_prefs.php"); |
1b187352 |
67 | |
3c13b9fb |
68 | echo "<html><head>\n"; |
8105d00f |
69 | echo "<TITLE>"; |
7ce342dc |
70 | echo "$org_title"; |
8105d00f |
71 | echo "</TITLE>"; |
07103a66 |
72 | $ishelp = substr(getenv(REQUEST_URI),-8); // If calling help, set left frame to 300 |
73 | if ($ishelp == "help.php") { |
d76f6440 |
74 | echo "<FRAMESET COLS=\"300, *\" NORESIZE=yes BORDER=0>"; |
07103a66 |
75 | } else { |
76 | echo "<FRAMESET COLS=\"$left_size, *\" NORESIZE BORDER=0>"; |
77 | } |
ad6787f0 |
78 | |
79 | /** |
5a7af78b |
80 | There are three ways to call webmail.php |
ad6787f0 |
81 | 1. webmail.php |
a2222aa3 |
82 | - This just loads the default entry screen. |
907165ca |
83 | 2. webmail.php?right_frame=right_main.php&sort=X&startMessage=X&mailbox=XXXX |
ad6787f0 |
84 | - This loads the frames starting at the given values. |
907165ca |
85 | 3. webmail.php?right_frame=folders.php |
86 | - Loads the frames with the Folder options in the right frame. |
ad6787f0 |
87 | |
88 | This was done to create a pure HTML way of refreshing the folder list since |
89 | we would like to use as little Javascript as possible. |
90 | **/ |
907165ca |
91 | if ($right_frame == "right_main.php") { |
ad6787f0 |
92 | $urlMailbox = urlencode($mailbox); |
9f2215a1 |
93 | echo "<FRAME SRC=\"left_main.php\" NAME=\"left\">"; |
94 | echo "<FRAME SRC=\"right_main.php?mailbox=$urlMailbox&sort=$sort&startMessage=$startMessage\" NAME=\"right\">"; |
c36ed9cf |
95 | } else if ($right_frame == "options.php") { |
96 | echo "<FRAME SRC=\"left_main.php\" NAME=\"left\">"; |
97 | echo "<FRAME SRC=\"options.php\" NAME=\"right\">"; |
907165ca |
98 | } else if ($right_frame == "folders.php") { |
99 | $urlMailbox = urlencode($mailbox); |
9f2215a1 |
100 | echo "<FRAME SRC=\"left_main.php\" NAME=\"left\">"; |
101 | echo "<FRAME SRC=\"folders.php\" NAME=\"right\">"; |
ad6787f0 |
102 | } else { |
9f2215a1 |
103 | echo "<FRAME SRC=\"left_main.php\" NAME=\"left\">"; |
a37f3771 |
104 | if (!isset($just_logged_in)) $just_logged_in = 0; |
105 | echo "<FRAME SRC=\"right_main.php?just_logged_in=$just_logged_in\" NAME=\"right\">"; |
ad6787f0 |
106 | } |
a2222aa3 |
107 | |
ad6787f0 |
108 | ?> |
21c3249f |
109 | </FRAMESET> |
110 | </HEAD></HTML> |