Merge branch 'wip-MDL-60591-master' of git://github.com/marinaglancy/moodle

This commit is contained in:
Eloy Lafuente (stronk7) 2017-11-28 22:35:58 +01:00
commit 7445483873

View File

@ -170,9 +170,20 @@ class reply_handler extends \core\message\inbound\handler {
// We don't trust text coming from e-mail.
$addpost->messagetrust = false;
// Find all attachments. If format is plain text, treat inline attachments as regular ones.
$attachments = !empty($messagedata->attachments['attachment']) ? $messagedata->attachments['attachment'] : [];
$inlineattachments = [];
if (!empty($messagedata->attachments['inline'])) {
if ($addpost->messageformat == FORMAT_HTML) {
$inlineattachments = $messagedata->attachments['inline'];
} else {
$attachments = array_merge($attachments, $messagedata->attachments['inline']);
}
}
// Add attachments to the post.
if (!empty($messagedata->attachments['attachment']) && count($messagedata->attachments['attachment'])) {
$attachmentcount = count($messagedata->attachments['attachment']);
if ($attachments) {
$attachmentcount = count($attachments);
if (!forum_can_create_attachment($forum, $modcontext)) {
// Attachments are not allowed.
mtrace("--> User does not have permission to attach files in this forum. Rejecting e-mail.");
@ -196,7 +207,7 @@ class reply_handler extends \core\message\inbound\handler {
$filesize = 0;
$addpost->attachments = file_get_unused_draft_itemid();
foreach ($messagedata->attachments['attachment'] as $attachment) {
foreach ($attachments as $attachment) {
mtrace("--> Processing {$attachment->filename} as an attachment.");
$this->process_attachment('*', $usercontext, $addpost->attachments, $attachment);
$filesize += $attachment->filesize;
@ -215,8 +226,8 @@ class reply_handler extends \core\message\inbound\handler {
}
// Process any files in the message itself.
if (!empty($messagedata->attachments['inline'])) {
foreach ($messagedata->attachments['inline'] as $attachment) {
if ($inlineattachments) {
foreach ($inlineattachments as $attachment) {
mtrace("--> Processing {$attachment->filename} as an inline attachment.");
$this->process_attachment('*', $usercontext, $addpost->itemid, $attachment);