diff options
Diffstat (limited to 'program')
-rw-r--r-- | program/include/main.inc | 1 | ||||
-rw-r--r-- | program/include/rcube_imap.inc | 9 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 3 |
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'], |