From 159d672a1d42cc4a4034e7367b217be96992f0af Mon Sep 17 00:00:00 2001 From: "Aleksander Machniak (Kolab Systems)" Date: Mon, 1 Aug 2011 20:39:11 +0200 Subject: [PATCH] Fixed setting mimetype of attachments on create/update event (#244) --- plugins/calendar/drivers/kolab/kolab_calendar.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php index c1261057..cb66a4c5 100644 --- a/plugins/calendar/drivers/kolab/kolab_calendar.php +++ b/plugins/calendar/drivers/kolab/kolab_calendar.php @@ -289,6 +289,7 @@ class kolab_calendar $old = $this->storage->getObject($event['id']); $object = array_merge($old, $this->_from_rcube_event($event)); $saved = $this->storage->save($object, $event['id']); + if (PEAR::isError($saved)) { raise_error(array( 'code' => 600, 'type' => 'php', @@ -702,7 +703,7 @@ class kolab_calendar // Roundcube ID has nothing to do with Horde ID, remove it if ($attachment['content']) unset($attachment['id']); - + // Horde code assumes that there will be no more than // one file with the same name: make filenames unique $filename = $attachment['name']; @@ -710,12 +711,16 @@ class kolab_calendar $ext = preg_match('/(\.[a-z0-9]{1,6})$/i', $filename, $m) ? $m[1] : null; $attachment['name'] = basename($filename, $ext) . '-' . $collisions[$filename] . $ext; } - + + // set type parameter + if ($attachment['mimetype']) + $attachment['type'] = $attachment['mimetype']; + $object['_attachments'][$attachment['name']] = $attachment; unset($event['attachments'][$idx]); } } - + // process event attendees foreach ((array)$event['attendees'] as $attendee) { $role = $attendee['role'];