diff options
author | Aleksander Machniak <alec@alec.pl> | 2015-02-22 10:43:48 +0100 |
---|---|---|
committer | Aleksander Machniak <alec@alec.pl> | 2015-02-22 10:43:48 +0100 |
commit | bd82526e41e54fa001c851d48b4e7823aa5e7bcd (patch) | |
tree | b85e6b851a9252f3d0a6f1ebdb58f2683808bc96 /program/lib | |
parent | 3ab1b1a6ba4f1f076f1e095bfecfc54054aaf935 (diff) |
Fix missing or not up-to-date CATEGORIES entry in vCard export (#1490277)
Diffstat (limited to 'program/lib')
-rw-r--r-- | program/lib/Roundcube/rcube_contacts.php | 5 | ||||
-rw-r--r-- | program/lib/Roundcube/rcube_vcard.php | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/program/lib/Roundcube/rcube_contacts.php b/program/lib/Roundcube/rcube_contacts.php index 6ac9fd5de..475f15696 100644 --- a/program/lib/Roundcube/rcube_contacts.php +++ b/program/lib/Roundcube/rcube_contacts.php @@ -714,6 +714,11 @@ class rcube_contacts extends rcube_addressbook // copy values into vcard object $vcard = new rcube_vcard($record['vcard'] ? $record['vcard'] : $save_data['vcard'], RCUBE_CHARSET, false, $this->vcard_fieldmap); $vcard->reset(); + + // don't store groups in vCard (#1490277) + $vcard->set('groups', null); + unset($save_data['groups']); + foreach ($save_data as $key => $values) { list($field, $section) = explode(':', $key); $fulltext = in_array($field, $this->fulltext_cols); diff --git a/program/lib/Roundcube/rcube_vcard.php b/program/lib/Roundcube/rcube_vcard.php index 7f6b11851..c0e261df4 100644 --- a/program/lib/Roundcube/rcube_vcard.php +++ b/program/lib/Roundcube/rcube_vcard.php @@ -393,6 +393,10 @@ class rcube_vcard $this->raw[$tag][$index]['type'] = explode(',', ($typemap[$type_uc] ? $typemap[$type_uc] : $type)); } } + else { + unset($this->raw[$tag]); + } + break; } } |