svncommit
2007-01-07 bb85623f8ab1eb263cb0bfac6e1758438eaa5bd2
fixed display of HTML attachments

4 files modified
31 ■■■■■ changed files
CHANGELOG 6 ●●●●● patch | view | raw | blame | history
program/include/rcube_imap.inc 2 ●●● patch | view | raw | blame | history
program/steps/mail/func.inc 5 ●●●●● patch | view | raw | blame | history
program/steps/mail/get.inc 18 ●●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,11 +1,17 @@
CHANGELOG RoundCube Webmail
---------------------------
2007/01/07 (estadtherr)
----------
- Fixed display of HTML message attachments (closes #1484178)
2007/01/07 (thomasb)
----------
- Applied patch for preview caching (closes #1484186)
- Added Thai and Vietnamese localization files
2006/12/29 (thomasb)
----------
- Added error handling for attachment uploads
program/include/rcube_imap.inc
@@ -1121,7 +1121,7 @@
    
  
  /**
   * Return a flat array with references to all parts, indexed by part numbmers
   * Return a flat array with references to all parts, indexed by part numbers
   *
   * @param object Message body structure
   * @return Array with part number -> object pairs
program/steps/mail/func.inc
@@ -973,7 +973,7 @@
      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->ctype_parameters['name'])))
        {
        // skip apple ressource files
        // skip apple resource forks
        if ($message_ctype_secondary=='appledouble' && $secondary_type=='applefile')
          continue;
@@ -994,7 +994,6 @@
          }
        }
      }
    // if this was a related part try to resolve references
    if ($message_ctype_secondary=='related' && sizeof($sa_inline_objects))
@@ -1501,4 +1500,4 @@
  }
  
  
?>
?>
program/steps/mail/get.inc
@@ -88,15 +88,20 @@
    if ($ctype_primary=='text' && $ctype_secondary=='html')
      {
      // we have to analyze the whole structure again to find inline objects
      list($MESSAGE['parts']) = rcmail_parse_message($MESSAGE['structure'],
                                                     array('safe' => (bool)$_GET['_safe'],
                                                           'prefer_html' => TRUE,
                                                           'get_url' => $GET_URL.'&_part=%s'));
      $part = &$MESSAGE['parts'][0];
      list($new_parts, $new_attachments) =
        rcmail_parse_message($MESSAGE['structure'],
                             array('safe' => (bool)$_GET['_safe'],
                                   'prefer_html' => TRUE,
                                   'get_url' => $GET_URL.'&_part=%s'));
      $all_parts = array_merge($new_parts, $new_attachments);
      for ($partix = 0; $partix < sizeof($all_parts); $partix++)
        if ($all_parts[$partix]->mime_id == $pid)
          $part = &$all_parts[$partix];
      // get part body if not available
      if (!$part->body)
        $part->body = $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part);
        $part->body = $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part);
      $OUTPUT = new rcube_html_page();
      $OUTPUT->write(rcmail_print_body($part, (bool)$_GET['_safe']));
@@ -104,7 +109,6 @@
    else
      {
      // turn off output buffering and print part content
      //@ob_end_clean();
      $IMAP->get_message_part($MESSAGE['UID'], $part->mime_id, $part->encoding, true);
      }