summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Machniak <alec@alec.pl>2013-06-18 09:59:18 +0200
committerAleksander Machniak <alec@alec.pl>2013-06-18 09:59:18 +0200
commit428764bf346aeffbbc742c365cab969d500ea3dc (patch)
tree5414f4901090bf00625ebd6a17f629cd0268b382
parent38271f246bf4fe982129d69ea492366f7650ab65 (diff)
Fix so exported vCard specifies encoding in v3-compatible format (#1489183)
-rw-r--r--CHANGELOG1
-rw-r--r--program/lib/Roundcube/rcube_vcard.php10
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGELOG b/CHANGELOG
index eaffa7099..27ab5cfe9 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
CHANGELOG Roundcube Webmail
===========================
+- Fix so exported vCard specifies encoding in v3-compatible format (#1489183)
- Fix session issues when local and database time differs (#1486132)
- Fix thread cache syncronization/validation (#1489028)
- Add option show_real_foldernames to disable localization of special folders
diff --git a/program/lib/Roundcube/rcube_vcard.php b/program/lib/Roundcube/rcube_vcard.php
index 90acb2110..a71305c4b 100644
--- a/program/lib/Roundcube/rcube_vcard.php
+++ b/program/lib/Roundcube/rcube_vcard.php
@@ -714,9 +714,15 @@ class rcube_vcard
$value[] = $attrvalues;
}
else if (is_bool($attrvalues)) {
- // true means just tag, not tag=value, as in PHOTO;BASE64:...
+ // true means just a tag, not tag=value, as in PHOTO;BASE64:...
if ($attrvalues) {
- $attr .= strtoupper(";$attrname");
+ // vCard v3 uses ENCODING=B (#1489183)
+ if ($attrname == 'base64') {
+ $attr .= ";ENCODING=B";
+ }
+ else {
+ $attr .= strtoupper(";$attrname");
+ }
}
}
else {