Aleksander Machniak
2015-08-01 d5f6d655da2b95da2851d50e421665af8bf5f2f1
program/steps/mail/sendmail.inc
@@ -297,16 +297,22 @@
        $message_body = preg_replace(
            array(
                // remove empty signature div
                '/<div id="_rc_sig">(&nbsp;)?<\/div>[\s\r\n]*$/',
                // remove signature's div ID
                '/\s*id="_rc_sig"/',
                // add inline css for blockquotes and container
                '/<blockquote>/',
                '/<div class="pre">/'
                '/<div class="pre">/',
                // convert TinyMCE's new-line sequences (#1490463)
                '/<p>&nbsp;<\/p>/',
            ),
            array(
                '',
                '',
                '<blockquote type="cite" style="'.$b_style.'">',
                '<div class="pre" style="'.$pre_style.'">'
                '<div class="pre" style="'.$pre_style.'">',
                '<p><br /></p>',
            ),
            $message_body);
    }
@@ -640,24 +646,24 @@
            $OUTPUT->send('iframe');
        }
    }
    // delete previous saved draft
    if ($saved && ($old_id = rcube_utils::get_input_value('_draft_saveid', rcube_utils::INPUT_POST))) {
        $deleted = $RCMAIL->storage->delete_message($old_id, $drafts_mbox);
        // raise error if deletion of old draft failed
        if (!$deleted) {
            rcube::raise_error(array('code' => 800, 'type' => 'imap',
                'file' => __FILE__, 'line' => __LINE__,
                'message' => "Could not delete message from $drafts_mbox"), true, false);
        }
    }
}
// remove temp file
else if ($mailbody_file) {
    unlink($mailbody_file);
}
// delete previous saved draft
$old_id = rcube_utils::get_input_value('_draft_saveid', rcube_utils::INPUT_POST);
if ($old_id && ($sent || $saved)) {
    $deleted = $RCMAIL->storage->delete_message($old_id, $drafts_mbox);
    // raise error if deletion of old draft failed
    if (!$deleted) {
        rcube::raise_error(array('code' => 800, 'type' => 'imap',
            'file' => __FILE__, 'line' => __LINE__,
            'message' => "Could not delete message from $drafts_mbox"), true, false);
    }
}
if ($savedraft) {
    // remember new draft-uid ($saved could be an UID or true/false here)
@@ -958,3 +964,19 @@
    return false;
}
/**
 * clear message composing settings
 */
function rcmail_compose_cleanup($id)
{
    if (!isset($_SESSION['compose_data_'.$id])) {
        return;
    }
    $rcmail = rcmail::get_instance();
    $rcmail->plugins->exec_hook('attachments_cleanup', array('group' => $id));
    $rcmail->session->remove('compose_data_'.$id);
    $_SESSION['last_compose_session'] = $id;
}