Fix attachments handling (Bug #1172)
This commit is contained in:
parent
a5e723d3d7
commit
f7b2e543e2
2 changed files with 19 additions and 8 deletions
|
@ -143,14 +143,14 @@ class kolab_format_event extends kolab_format_xcal
|
|||
$attach = $vattach->get($i);
|
||||
|
||||
// skip cid: attachments which are mime message parts handled by kolab_storage_folder
|
||||
if (substr($attach->uri(), 0, 4) != 'cid') {
|
||||
if (substr($attach->uri(), 0, 4) != 'cid:') {
|
||||
$name = $attach->label();
|
||||
$data = $attach->data();
|
||||
$object['_attachments'][$name] = array(
|
||||
'name' => $name,
|
||||
'name' => $name,
|
||||
'mimetype' => $attach->mimetype(),
|
||||
'size' => strlen($data),
|
||||
'content' => $data,
|
||||
'size' => strlen($data),
|
||||
'content' => $data,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -445,12 +445,23 @@ class kolab_storage_folder
|
|||
$xml = $part->body ? $part->body : $message->get_part_content($part->mime_id);
|
||||
}
|
||||
else if ($part->filename || $part->content_id) {
|
||||
$key = $part->content_id ? trim($part->content_id, '<>') : $part->filename;
|
||||
$key = $part->content_id ? trim($part->content_id, '<>') : $part->filename;
|
||||
$size = null;
|
||||
|
||||
// Use Content-Disposition 'size' as for the Kolab Format spec.
|
||||
if (isset($part->d_parameters['size'])) {
|
||||
$size = $part->d_parameters['size'];
|
||||
}
|
||||
// we can trust part size only if it's not encoded
|
||||
else if ($part->encoding == 'binary' || $part->encoding == '7bit' || $part->encoding == '8bit') {
|
||||
$size = $part->size;
|
||||
}
|
||||
|
||||
$attachments[$key] = array(
|
||||
'id' => $part->mime_id,
|
||||
'name' => $part->filename,
|
||||
'id' => $part->mime_id,
|
||||
'name' => $part->filename,
|
||||
'mimetype' => $part->mimetype,
|
||||
'size' => $part->size,
|
||||
'size' => $size,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue