* CardDAV/Addresbook: contacts containing photos were broken and iOS showed phone number labels like "WORK instead of work

This commit is contained in:
Ralf Becker 2015-07-20 15:41:20 +00:00
parent a6c9157fdc
commit 3d816ed6f5

View File

@ -319,6 +319,8 @@ class addressbook_vcal extends addressbook_bo
$options['ENCODING'] = 'BASE64'; $options['ENCODING'] = 'BASE64';
} }
$hasdata++; $hasdata++;
// need to encode binary image, not done in Horde Icalendar
$value = base64_encode($value);
} }
else else
{ {
@ -480,7 +482,11 @@ class addressbook_vcal extends addressbook_bo
$vCard->setAttribute($vcardField, $value, $options, true, $values); $vCard->setAttribute($vcardField, $value, $options, true, $values);
} }
$result = $vCard->exportvCalendar($_charset); // current iOS 8.4 shows TEL;TYPE="WORK,VOICE":+49 123 4567890 as '"WORK'
// old (patched) Horde iCalendar, did not enclosed parameter in quotes
$result = preg_replace('/^TEL;TYPE="([^"]+)":/m', 'TEL;TYPE=$1:',
$vCard->exportvCalendar($_charset));
if ($this->log) if ($this->log)
{ {
error_log(__FILE__.'['.__LINE__.'] '.__METHOD__ . error_log(__FILE__.'['.__LINE__.'] '.__METHOD__ .