From 075e9d5ba25ece5b7fed5470efb38272d519fa27 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 21 Sep 2011 08:22:40 -0400
Subject: [PATCH] - Applied fixes from trunk up to r5259
---
program/include/rcube_imap.php | 23 +++++++++++++----------
1 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/program/include/rcube_imap.php b/program/include/rcube_imap.php
index 7147c14..5f476ab 100644
--- a/program/include/rcube_imap.php
+++ b/program/include/rcube_imap.php
@@ -1505,7 +1505,10 @@
// use message index sort as default sorting
if (!$this->sort_field) {
if ($this->skip_deleted) {
- $a_index = $this->_search_index($mailbox, 'ALL');
+ $a_index = $this->conn->search($mailbox, 'ALL UNDELETED');
+ // I didn't found that SEARCH should return sorted IDs
+ if (is_array($a_index))
+ sort($a_index);
} else if ($max = $this->_messagecount($mailbox)) {
$a_index = range(1, $max);
}
@@ -2491,17 +2494,17 @@
return true;
}
- // Remove NULL characters (#1486189)
- $body = str_replace("\x00", '', $body);
-
// convert charset (if text or message part)
- if ($body && !$skip_charset_conv &&
- preg_match('/^(text|message)$/', $o_part->ctype_primary)
- ) {
- if (!$o_part->charset || strtoupper($o_part->charset) == 'US-ASCII') {
- $o_part->charset = $this->default_charset;
+ if ($body && preg_match('/^(text|message)$/', $o_part->ctype_primary)) {
+ // Remove NULL characters (#1486189)
+ $body = str_replace("\x00", '', $body);
+
+ if (!$skip_charset_conv) {
+ if (!$o_part->charset || strtoupper($o_part->charset) == 'US-ASCII') {
+ $o_part->charset = $this->default_charset;
+ }
+ $body = rcube_charset_convert($body, $o_part->charset);
}
- $body = rcube_charset_convert($body, $o_part->charset);
}
return $body;
--
Gitblit v1.9.1