Aleksander Machniak
2013-03-15 a02c77c584906f629d382409e76f0df4d2cfaf01
program/steps/mail/compose.inc
@@ -183,9 +183,18 @@
if (!empty($msg_uid) && empty($COMPOSE['as_attachment']))
{
  // similar as in program/steps/mail/show.inc
  // re-set 'prefer_html' to have possibility to use html part for compose
  $CONFIG['prefer_html'] = $CONFIG['prefer_html'] || $CONFIG['htmleditor'] || $compose_mode == RCUBE_COMPOSE_DRAFT || $compose_mode == RCUBE_COMPOSE_EDIT;
  $mbox_name = $RCMAIL->storage->get_folder();
  // set format before rcube_message construction
  // use the same format as for the message view
  if (isset($_SESSION['msg_formats'][$mbox_name.':'.$msg_uid])) {
    $RCMAIL->config->set('prefer_html', $_SESSION['msg_formats'][$mbox_name.':'.$msg_uid]);
  }
  else {
    $prefer_html = $CONFIG['prefer_html'] || $CONFIG['htmleditor'] || $compose_mode == RCUBE_COMPOSE_DRAFT || $compose_mode == RCUBE_COMPOSE_EDIT;
    $RCMAIL->config->set('prefer_html', $prefer_html);
  }
  $MESSAGE = new rcube_message($msg_uid);
  // make sure message is marked as read
@@ -509,7 +518,7 @@
function rcmail_compose_editor_mode()
{
  global $RCMAIL, $MESSAGE, $compose_mode;
  global $RCMAIL, $compose_mode;
  static $useHtml;
  if ($useHtml !== null)
@@ -521,13 +530,13 @@
    $useHtml = !empty($_POST['_is_html']);
  }
  else if ($compose_mode == RCUBE_COMPOSE_DRAFT || $compose_mode == RCUBE_COMPOSE_EDIT) {
    $useHtml = $MESSAGE->has_html_part(false, true);
    $useHtml = rcmail_message_is_html();
  }
  else if ($compose_mode == RCUBE_COMPOSE_REPLY) {
    $useHtml = ($html_editor == 1 || ($html_editor >= 2 && $MESSAGE->has_html_part(false, true)));
    $useHtml = ($html_editor == 1 || ($html_editor >= 2 && rcmail_message_is_html()));
  }
  else if ($compose_mode == RCUBE_COMPOSE_FORWARD) {
    $useHtml = ($html_editor == 1 || ($html_editor == 3 && $MESSAGE->has_html_part(false, true)));
    $useHtml = ($html_editor == 1 || ($html_editor == 3 && rcmail_message_is_html()));
  }
  else {
    $useHtml = ($html_editor == 1);
@@ -536,6 +545,11 @@
  return $useHtml;
}
function rcmail_message_is_html()
{
    global $RCMAIL, $MESSAGE;
    return $RCMAIL->config->get('prefer_html') && ($MESSAGE instanceof rcube_message) && $MESSAGE->has_html_part(true);
}
function rcmail_prepare_message_body()
{
@@ -669,9 +683,6 @@
            $len = $compose_mode == RCUBE_COMPOSE_REPLY ? $LINE_LENGTH-2 : $LINE_LENGTH;
            $txt = new rcube_html2text($body, false, true, $len);
            $body = $txt->get_text();
        }
        else if ($part->ctype_secondary == 'enriched') {
            $body = rcube_enriched::to_html($body);
        }
        else {
            if ($part->ctype_secondary == 'plain' && $part->ctype_parameters['format'] == 'flowed') {