** will be displayed. This function returns the imap connection handle.
******************************************************************************/
function sqimap_login ($username, $password, $imap_server_address, $imap_port, $hide) {
- global $color;
+ global $color, $squirrelmail_language, $HTTP_ACCEPT_LANGUAGE;
+
$imap_stream = fsockopen ($imap_server_address, $imap_port, &$error_number, &$error_string);
$server_info = fgets ($imap_stream, 1024);
+ // This function can sometimes be called before the check for
+ // gettext is done.
+ if (!function_exists("_")) {
+ function _($string) {
+ return $string;
+ }
+ }
+
/** Do some error correction **/
if (!$imap_stream) {
if (!$hide) {
- echo "Error connecting to IMAP server: $imap_server_address.<br>\r\n";
+ printf (_("Error connecting to IMAP server: %s.")."<br>\r\n", $imap_server_address);
echo "$error_number : $error_string<br>\r\n";
}
exit;
if (substr($read, 0, 7) != "a001 OK") {
if (!$hide) {
if (substr($read, 0, 8) == "a001 BAD") {
- echo "Bad request: $read<br>\r\n";
+ printf (_("Bad request: %s")."<br>\r\n", $read);
exit;
} else if (substr($read, 0, 7) == "a001 NO") {
+ // If the user does not log in with the correct
+ // username and password it is not possible to get the
+ // correct locale from the user's preferences.
+ // Therefore, apply the same hack as on the login
+ // screen.
+
+ // $squirrelmail_language is set by a cookie when
+ // the user selects language and logs out
+
+ // Use HTTP content language negotiation if cookie
+ // not set
+ if (!isset($squirrelmail_language) && isset($HTTP_ACCEPT_LANGUAGE)) {
+ $squirrelmail_language = substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
+ }
+
+ if (isset($squirrelmail_language)) {
+ if ($squirrelmail_language != "en" && $squirrelmail_language != "") {
+ putenv("LC_ALL=".$squirrelmail_language);
+ bindtextdomain("squirrelmail", "../locale/");
+ textdomain("squirrelmail");
+ header ("Content-Type: text/html; charset=".$languages[$squirrelmail_language]["CHARSET"]);
+ }
+ }
+
?>
<html>
<body bgcolor=ffffff>
session_destroy();
exit;
} else {
- echo "Unknown error: $read<br>";
+ printf (_("Unknown error: %s")."<br>", $read);
exit;
}
} else {
if (isset($squirrelmail_language)) {
setcookie("squirrelmail_language", $squirrelmail_language, time()+2592000);
}
-?>
-<HTML><HEAD>
-<?php
+
include ("../config/config.php");
include ("../functions/prefs.php");
include ("../functions/imap.php");
$imapConnection = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
include ("../src/load_prefs.php");
-
+
+ echo "<html><head\n";
echo "<TITLE>";
echo "$org_title";
echo "</TITLE>";