<?php
+ /**
+ * redirect.php
+ * Derived from webmail.php by Ralf Kraudelt <kraude@wiwi.uni-rostock.de>
+ *
+ * Copyright (c) 1999-2001 The Squirrelmail Development Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * Prevents users from reposting their form data after a successful logout.
+ *
+ * $Id$
+ */
- /**
- ** redirect.php -- derived from webmail.php by Ralf Kraudelt
- ** kraude@wiwi.uni-rostock.de
- **
- ** Copyright (c) 1999-2000 ...
- ** Licensed under the GNU GPL. For full terms see the file COPYING.
- **
- ** prevents users from reposting their form data after a
- ** successful logout
- **
- **/
-
- if (!isset($strings_php))
- include ("../functions/strings.php");
-
- // Before starting the session, the base URI must be known.
- // Assuming that this file is in the src/ subdirectory (or
- // something).
- ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
- $base_uri = $regs[1];
-
- header("Pragma: no-cache");
- $location = get_location();
- header("Location: $location/webmail.php");
-
- session_set_cookie_params (0, $base_uri);
- session_start();
-
- session_register ("base_uri");
-
- if(!isset($username)) {
- exit;
- }
-
- // Refresh the language cookie.
- if (isset($squirrelmail_language)) {
- setcookie("squirrelmail_language", $squirrelmail_language, time()+2592000);
- }
-
-
- include ("../config/config.php");
- include ("../functions/prefs.php");
- include ("../functions/imap.php");
- if (!isset($plugin_php))
- include ("../functions/plugin.php");
- if (!isset($auth_php))
- include ("../functions/auth.php");
- if (!isset($strings_php))
- include ("../functions/strings.php");
-
- if (!session_is_registered("user_is_logged_in") || $logged_in != 1) {
- do_hook ("login_before");
-
- $onetimepad = OneTimePadCreate(strlen($secretkey));
- $key = OneTimePadEncrypt($secretkey, $onetimepad);
- session_register("onetimepad");
- // verify that username and password are correct
- $imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
- sqimap_logout($imapConnection);
-
- setcookie("username", $username, 0, $base_uri);
- setcookie("key", $key, 0, $base_uri);
- setcookie("logged_in", 1, 0, $base_uri);
- do_hook ("login_verified");
- }
-
- session_register ("user_is_logged_in");
- $user_is_logged_in = true;
+ require_once('../functions/i18n.php');
+ require_once('../functions/strings.php');
+ require_once('../config/config.php');
+ /* Before starting the session, the base URI must be known. Assuming */
+ /* that this file is in the src/ subdirectory (or something). */
+ ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
+ $base_uri = $regs[1];
+
+ header('Pragma: no-cache');
+ $location = get_location();
+
+ session_set_cookie_params (0, $base_uri);
+ session_start();
+
+ session_unregister ('user_is_logged_in');
+ session_register ('base_uri');
+
+ if (! isset($squirrelmail_language)) {
+ $squirrelmail_language = '';
+ }
+ set_up_language($squirrelmail_language, true);
+
+ if (!isset($login_username)) {
+ echo "<HTML><BODY BGCOLOR=\"#ffffff\">\n";
+ echo "<BR><BR>\n";
+ echo "<CENTER>\n";
+ echo ' <B>' . _("You must be logged in to access this page.") . "</B><BR>";
+ echo ' <A HREF="../src/login.php">' . _("Go to the login page") . "</A>\n";
+ echo "</CENTER>\n";
+ echo "</BODY></HTML>\n";
+ exit;
+ }
+
+ /* Refresh the language cookie. */
+ if (isset($squirrelmail_language)) {
+ setcookie('squirrelmail_language', $squirrelmail_language, time()+2592000,$base_uri);
+ }
+
+ require_once('../functions/prefs.php');
+ require_once('../functions/imap.php');
+ require_once('../functions/plugin.php');
+ require_once('../functions/constants.php');
+
+ if (!session_is_registered('user_is_logged_in')) {
+ do_hook ('login_before');
+
+ $onetimepad = OneTimePadCreate(strlen($secretkey));
+ $key = OneTimePadEncrypt($secretkey, $onetimepad);
+ session_register('onetimepad');
+
+ /* Verify that username and password are correct. */
+ if ($force_username_lowercase) {
+ $login_username = strtolower($login_username);
+ }
+
+ $imapConnection = sqimap_login($login_username, $key, $imapServerAddress, $imapPort, 0);
+ if (!$imapConnection) {
+ echo "<html><body bgcolor=\"#ffffff\">\n";
+ echo "<br><br>";
+ echo "<center>";
+ echo "<b>"._("There was an error contacting the mail server.")."</b><br>";
+ echo _("Contact your administrator for help.")."\n";
+ echo "</center>";
+ echo "</body></html>\n";
+ exit;
+ } else {
+ $delimiter = sqimap_get_delimiter ($imapConnection);
+ }
+ sqimap_logout($imapConnection);
+
+ $username = $login_username;
+ session_register ('username');
+ setcookie('key', $key, 0, $base_uri);
+ setcookie('delimiter', $delimiter, 0, $base_uri);
+ do_hook ('login_verified');
+ }
+
+ /* Set the login variables. */
+ $user_is_logged_in = true;
+ $just_logged_in = true;
+
+ /* And register with them with the session. */
+ session_register ('user_is_logged_in');
+ session_register ('just_logged_in');
+
+ /* Complete autodetection of Javascript. */
+ checkForPrefs($data_dir, $username);
+ $javascript_setting = getPref($data_dir, $username, 'javascript_setting', SMPREF_JS_AUTODETECT);
+ $js_autodetect_results = (isset($js_autodetect_results) ? $js_autodetect_results : SMPREF_JS_OFF);
+ if ($javascript_setting == SMPREF_JS_AUTODETECT) {
+ if ($js_autodetect_results == SMPREF_JS_ON) {
+ setPref($data_dir, $username, 'javascript_on', SMPREF_JS_ON);
+ } else {
+ setPref($data_dir, $username, 'javascript_on', SMPREF_JS_OFF);
+ }
+ } else {
+ setPref($data_dir, $username, 'javascript_on', SMPREF_JS_OFF);
+ }
+
+ /* Compute the URL to forward the user to. */
+ if(isset($rcptemail)) {
+ $redirect_url = 'webmail.php?right_frame=compose.php&rcptaddress=';
+ $redirect_url .= urlencode($rcptemail);
+ } else {
+ $redirect_url = 'webmail.php';
+ }
+
+ /* Send them off to the appropriate page. */
+ header("Location: $redirect_url");
?>