From 583850d00cb61771333a19ed57bef753ac140fe0 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Thu, 08 May 2008 05:07:04 -0400
Subject: [PATCH] - Corrected message headers decoding when charset isn't specified and improved   support for native languages (#1485050, #1485048)

---
 program/include/rcube_imap.php |   15 +++++----------
 1 files changed, 5 insertions(+), 10 deletions(-)

diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 4ac033a..9acb60b 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -602,7 +602,6 @@
 
       }
 
-
     // return empty array if no messages found
     if (!is_array($a_msg_headers) || empty($a_msg_headers)) {
       return array();
@@ -669,7 +668,7 @@
 
     // fetch reuested headers from server
     $a_msg_headers = array();
-    $this->_fetch_headers($mailbox, join(',', $msgs), $a_msg_headers, NULL);
+    $this->_fetch_headers($mailbox, $msgs, $a_msg_headers, NULL);
 
     // return empty array if no messages found
     if (!is_array($a_msg_headers) || empty($a_msg_headers))
@@ -2362,7 +2361,7 @@
       }
       
     // no encoding information, use fallback
-    return rcube_charset_convert($input, !empty($fallback) ? $fallback : 'ISO-8859-1');
+    return rcube_charset_convert($input, !empty($fallback) ? $fallback : $this->default_charset);
     }
 
 
@@ -2837,13 +2836,9 @@
     */
    function position_of($seqnum)
    {
-      $c = count($this->sequence_numbers);
-      for ($pos = 0; $pos <= $c; $pos++)
-      {
-         if ($this->sequence_numbers[$pos] == $seqnum)
-            return $pos;
-      }
-      return -1;
+      $pos = array_search($seqnum, $this->sequence_numbers);
+      if ($pos === false) return -1;
+      return $pos;
    }
  
    /**

--
Gitblit v1.9.1