浏览代码

Fixed the cookie language problem. Thank Przemek Piotrowski

philippe_mingo 24 年之前
父节点
当前提交
a1aa1b1f6d
共有 4 个文件被更改,包括 10 次插入4 次删除
  1. 1 1
      functions/i18n.php
  2. 4 1
      src/options.php
  3. 1 1
      src/redirect.php
  4. 4 1
      src/webmail.php

+ 1 - 1
functions/i18n.php

@@ -832,7 +832,7 @@
          $sm_language = substr($HTTP_ACCEPT_LANGUAGE, 0, 2);
       }
       if (!$sm_language && isset($squirrelmail_default_language))
-         $sm_language = $squirrelmail_default_language;
+         $squirrelmail_language = $squirrelmail_default_language;
       $sm_notAlias = $sm_language;
       while (isset($languages[$sm_notAlias]['ALIAS']))
          $sm_notAlias = $languages[$sm_notAlias]['ALIAS'];

+ 4 - 1
src/options.php

@@ -15,9 +15,12 @@
    require_once('../functions/display_messages.php');
    require_once('../functions/imap.php');
    require_once('../functions/array.php');
+   
+  ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
+  $base_uri = $regs[1];   
 
    if (isset($language)) {
-      setcookie('squirrelmail_language', $language, time()+2592000);
+      setcookie('squirrelmail_language', $language, time()+2592000, $base_uri);
       $squirrelmail_language = $language;
    }   
 

+ 1 - 1
src/redirect.php

@@ -49,7 +49,7 @@
 
    // Refresh the language cookie.
    if (isset($squirrelmail_language)) {
-      setcookie('squirrelmail_language', $squirrelmail_language, time()+2592000);
+      setcookie('squirrelmail_language', $squirrelmail_language, time()+2592000,$base_uri);
    }
 
 

+ 4 - 1
src/webmail.php

@@ -21,6 +21,9 @@
    require_once('../functions/i18n.php');
    require_once('../functions/auth.php');
 
+   ereg ("(^.*/)[^/]+/[^/]+$", $PHP_SELF, $regs);
+   $base_uri = $regs[1];
+
    session_start();
    is_logged_in();
    checkForPrefs($data_dir, $username);
@@ -32,7 +35,7 @@
    // such discrepancy.
    $my_language=getPref($data_dir, $username, "language");
    if ($my_language != $squirrelmail_language)
-     setcookie('squirrelmail_language', $my_language, time()+2592000);
+     setcookie('squirrelmail_language', $my_language, time()+2592000, $base_uri);
 
    set_up_language(getPref($data_dir, $username, 'language'));