summaryrefslogtreecommitdiff
path: root/program
diff options
context:
space:
mode:
Diffstat (limited to 'program')
-rw-r--r--program/include/main.inc1
-rw-r--r--program/include/rcube_imap.inc9
-rw-r--r--program/steps/mail/func.inc3
3 files changed, 12 insertions, 1 deletions
diff --git a/program/include/main.inc b/program/include/main.inc
index 5895807a9..adb0b8822 100644
--- a/program/include/main.inc
+++ b/program/include/main.inc
@@ -573,6 +573,7 @@ function parse_template($name='main', $exit=TRUE)
// replace all strings ($varname) with the content of the according global variable
function parse_with_globals($input)
{
+ $GLOBALS['__comm_path'] = $GLOBALS['COMM_PATH'];
$output = preg_replace('/\$(__[a-z0-9_\-]+)/e', '$GLOBALS["\\1"]', $input);
return $output;
}
diff --git a/program/include/rcube_imap.inc b/program/include/rcube_imap.inc
index 8253442ab..44ef24830 100644
--- a/program/include/rcube_imap.inc
+++ b/program/include/rcube_imap.inc
@@ -464,6 +464,7 @@ class rcube_imap
// sort headers by a specific col
$a_headers = iil_SortHeaders($a_msg_headers, $sort_field, $sort_order);
+ $headers_count = count($a_headers);
// free memory
unset($a_msg_headers);
@@ -471,6 +472,14 @@ class rcube_imap
// write headers list to cache
if (!$headers_cached)
$this->update_cache($mailbox.'.msg', $a_headers);
+
+ // update message count cache
+ $a_mailbox_cache = $this->get_cache('messagecount');
+ if (isset($a_mailbox_cache[$mailbox]['ALL']) && $a_mailbox_cache[$mailbox]['ALL'] != $headers_count)
+ {
+ $a_mailbox_cache[$mailbox]['ALL'] = (int)$headers_count;
+ $this->update_cache('messagecount', $a_mailbox_cache);
+ }
if (empty($a_headers))
return array();
diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index e6c58a7c1..4d80c851e 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -793,7 +793,8 @@ function rcmail_parse_message($structure, $arg=array(), $recursive=FALSE)
}
// part is file/attachment
- else if ($mail_part->disposition=='attachment' || $mail_part->disposition=='inline' || $mail_part->headers['content-id'])
+ else if ($mail_part->disposition=='attachment' || $mail_part->disposition=='inline' || $mail_part->headers['content-id'] ||
+ (empty($mail_part->disposition) && ($mail_part->d_parameters['filename'] || $mail_part->d_parameters['name'])))
{
if ($message_ctype_secondary=='related' && $mail_part->headers['content-id'])
$sa_inline_objects[] = array('filename' => $mail_part->d_parameters['filename'],