From b98e71900de9ea6c1e965e2a389b1a99166a944e Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Tue, 10 Jan 2012 16:42:06 -0500
Subject: [PATCH] Allow plugins to extend the vcard fieldmap for contact data

---
 program/include/rcube_contacts.php |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/program/include/rcube_contacts.php b/program/include/rcube_contacts.php
index ab3b181..2185b6f 100644
--- a/program/include/rcube_contacts.php
+++ b/program/include/rcube_contacts.php
@@ -31,6 +31,7 @@
     protected $db_name = 'contacts';
     protected $db_groups = 'contactgroups';
     protected $db_groupmembers = 'contactgroupmembers';
+    protected $vcard_fieldmap = array();
 
     /**
      * Store database connection.
@@ -692,7 +693,7 @@
 
         if ($sql_arr['vcard']) {
             unset($sql_arr['email']);
-            $vcard = new rcube_vcard($sql_arr['vcard']);
+            $vcard = new rcube_vcard($sql_arr['vcard'], RCMAIL_CHARSET, false, $this->vcard_fieldmap);
             $record += $vcard->get_assoc() + $sql_arr;
         }
         else {
@@ -711,7 +712,7 @@
         $words = '';
 
         // copy values into vcard object
-        $vcard = new rcube_vcard($record['vcard'] ? $record['vcard'] : $save_data['vcard']);
+        $vcard = new rcube_vcard($record['vcard'] ? $record['vcard'] : $save_data['vcard'], RCMAIL_CHARSET, false, $this->vcard_fieldmap);
         $vcard->reset();
         foreach ($save_data as $key => $values) {
             list($field, $section) = explode(':', $key);

--
Gitblit v1.9.1