浏览代码

Adding a strtoupper() call to make sure that charsets are passed to the imap
server in uppercase. Uw-imap seems to think that iso-8859-1 and ISO-8859-1
are two different things.

graf25 23 年之前
父节点
当前提交
2eba205b79
共有 1 个文件被更改,包括 7 次插入3 次删除
  1. 7 3
      functions/imap_search.php

+ 7 - 3
functions/imap_search.php

@@ -54,7 +54,9 @@ function sqimap_search($imapConnection, $search_where, $search_what, $mailbox,
     /* now use $search_string in the imap search */
     if (isset($languages[$squirrelmail_language]['CHARSET']) &&
         $languages[$squirrelmail_language]['CHARSET']) {
-        $ss = "SEARCH CHARSET ".$languages[$squirrelmail_language]['CHARSET']." ALL $search_string";
+        $ss = "SEARCH CHARSET "
+            . strtoupper($languages[$squirrelmail_language]['CHARSET']) 
+            . " ALL $search_string";
     } else {
         $ss = "SEARCH ALL $search_string";
     }
@@ -63,9 +65,11 @@ function sqimap_search($imapConnection, $search_where, $search_what, $mailbox,
     $readin = sqimap_run_command($imapConnection, $ss, true, $result, $message);
 
     /* try US-ASCII charset if search fails */
-    if (isset($languages[$squirrelmail_language]['CHARSET']) && strtolower($result) == 'no') {
+    if (isset($languages[$squirrelmail_language]['CHARSET']) 
+        && strtolower($result) == 'no') {
         $ss = "SEARCH CHARSET \"US-ASCII\" ALL $search_string";
-        $readin = sqimap_run_command ($imapConnection, $ss, true, $result, $message);
+        $readin = sqimap_run_command ($imapConnection, $ss, true, 
+                                      $result, $message);
     }
 
     unset($messagelist);