Browse Source

Fixed a few bugs when setting language.

gustavf 25 years ago
parent
commit
12637c99fe
5 changed files with 34 additions and 12 deletions
  1. 4 7
      functions/page_header.php
  2. 14 5
      src/login.php
  3. 2 0
      src/options_submit.php
  4. 10 0
      src/signout.php
  5. 4 0
      src/webmail.php

+ 4 - 7
functions/page_header.php

@@ -17,19 +17,16 @@
 
    // Setting the language to use for gettext if it is not English
    // (the default language) or empty.
-   if (!isset($squirrelmail_language))
-      $squirrelmail_language = getPref ($data_dir, $username, "language");
-
+   $squirrelmail_language = getPref ($data_dir, $username, "language");
    if ($squirrelmail_language != "en" && $squirrelmail_language != "") {
-      putenv("LANG=$use_language");
+      putenv("LANG=$squirrelmail_language");
       bindtextdomain("squirrelmail", "../locale/");
       textdomain("squirrelmail");
 
       // Setting cookie to use on the login screen the next time the
       // same user logs in.
-      if (!isset($HTTP_COOKIE_VARS["squirrelmail_language"]))
-         setcookie("squirrelmail_language", $squirrelmail_language, 
-                   time()+2592000);
+      setcookie("squirrelmail_language", $squirrelmail_language, 
+                time()+2592000);
    }
 
    function displayPageHeader($color, $mailbox) {

+ 14 - 5
src/login.php

@@ -14,12 +14,21 @@
       include("../config/config.php");
    if (!isset($strings_php))
       include("../functions/strings.php");
-   if (!isset($page_header_php))
-      include("../functions/page_header.php");
 
-?>
-<HTML>
-<?
+   // $squirrelmail_language is set by a cookie when the user selects
+   // language
+   if (isset($squirrelmail_language)) {
+      if ($squirrelmail_language != "en") {
+         putenv("LANG=".$squirrelmail_language);
+         bindtextdomain("squirrelmail", "../locale/");
+         textdomain("squirrelmail");
+      }
+   }
+
+   echo "<HTML>";
+   echo "<HEAD><TITLE>";
+   echo _("SquirrelMail Login");
+   echo "</TITLE></HEAD>\n";
    echo "<BODY TEXT=000000 BGCOLOR=FFFFFF LINK=0000CC VLINK=0000CC ALINK=0000CC>\n";
  
    // let's check to see if they compiled with gettext support

+ 2 - 0
src/options_submit.php

@@ -28,6 +28,8 @@
 
    setSig($data_dir, $username, stripslashes($signature_edit));
 
+   setcookie("squirrelmail_language", $language, time()+2592000);
+
    echo "<HTML>";
    echo "<BODY TEXT=\"$color[8]\" BGCOLOR=\"$color[4]\" LINK=\"$color[7]\" VLINK=\"$color[7]\" ALINK=\"$color[7]\">\n";
    displayPageHeader($color, "None");

+ 10 - 0
src/signout.php

@@ -9,6 +9,16 @@
 	$username = "";
 	$key = "";
 	$logged_in = 0;
+
+        // $squirrelmail_language is set by a cookie when the user
+        // selects language
+        if (isset($squirrelmail_language)) {
+           if ($squirrelmail_language != "en") {
+              putenv("LANG=".$squirrelmail_language);
+              bindtextdomain("squirrelmail", "../locale/");
+              textdomain("squirrelmail");
+           }
+        }
 	
 	setcookie("username", "", time(), "/");
 	setcookie("key", "", time(), "/");

+ 4 - 0
src/webmail.php

@@ -14,6 +14,10 @@
    setcookie("username", $username, 0, "/");
    setcookie("key", $key, 0, "/");
    setcookie("logged_in", 1, 0, "/");
+   // Refresh the language cookie.
+   if (isset($squirrelmail_language))
+      setcookie("squirrelmail_language", $squirrelmail_language,
+                time()+2592000);
 ?>
 <HTML><HEAD>
 <?