[Tickets #8571] Only one e-Mail Address is synced with SIF-C (Funambol)
bugs at horde.org
bugs at horde.org
Fri Sep 11 07:22:10 UTC 2009
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/8571
------------------------------------------------------------------------------
Ticket | 8571
Created By | lst_hoe02 at kwsoft.de
Summary | Only one e-Mail Address is synced with SIF-C (Funambol)
Queue | SyncML
Type | Enhancement
State | New
Priority | 1. Low
Milestone |
Patch | 1
Owners |
------------------------------------------------------------------------------
lst_hoe02 at kwsoft.de (2009-09-11 03:22) wrote:
Outlook has 3 mail addresses and these are translatet to
Email1Address, Email2Address, Email3Address in SIF-C. Newer Funambol
clients map these to
EMAIL
EMAIL:HOME
EMAIL:WORK
The patch does this for vacrd->SIF and the otherway around to sync
more than one address.
--- lib/SyncML/Device/Sync4j.php.orig 2009-08-14
17:01:24.000000000 +0200
+++ lib/SyncML/Device/Sync4j.php.patch 2009-09-11
09:10:36.000000000 +0200
@@ -253,8 +253,8 @@
'OtherTelephoneNumber' => array('TEL'),
'OtherFaxNumber' => array('TEL'),
'Email1Address' => array('EMAIL'),
- 'Email2Address' => array('EMAIL'),
- 'Email3Address' => array('EMAIL'),
+ 'Email2Address' => array('EMAIL', array('TYPE' => 'HOME')),
+ 'Email3Address' => array('EMAIL', array('TYPE' => 'WORK')),
'HomeLabel' => array('LABEL', array('TYPE' => 'HOME')),
'BusinessLabel' => array('LABEL', array('TYPE' => 'WORK')),
'OtherLabel' => array('LABEL'),
@@ -729,9 +729,34 @@
break;
case 'EMAIL':
- if (isset($item['params']['PREF']) ||
!isset($hash['email'])) {
- $hash['Email1Address'] =
Horde_iCalendar_vcard::getBareEmail($item['value']);
- $hash['Email1AddressType'] = 'SMTP';
+ if (isset($item['params']['TYPE'])) {
+ if (!is_array($item['params']['TYPE'])) {
+ $item['params']['TYPE'] =
array($item['params']['TYPE']);
+ }
+ // For vCard 3.0.
+ foreach ($item['params']['TYPE'] as $mail) {
+ if (String::upper($mail) == 'WORK') {
+ $hash['Email3Address'] =
Horde_iCalendar_vcard::getBareEmail($item['value']);
+ $hash['Email3AddressType'] = 'SMTP';
+ } elseif (String::upper($mail) == 'HOME') {
+ $hash['Email2Address'] =
Horde_iCalendar_vcard::getBareEmail($item['value']);
+ $hash['Email2AddressType'] = 'SMTP';
+ } else {
+ $hash['Email1Address'] =
Horde_iCalendar_vcard::getBareEmail($item['value']);
+ $hash['Email1AddressType'] = 'SMTP';
+ }
+ }
+ } else {
+ if (isset($item['params']['HOME'])) {
+ $hash['Email2Address'] =
Horde_iCalendar_vcard::getBareEmail($item['value']);
+ $hash['Email2AddressType'] = 'SMTP';
+ } elseif (isset($item['params']['WORK'])) {
+ $hash['Email3Address'] =
Horde_iCalendar_vcard::getBareEmail($item['value']);
+ $hash['Email3AddressType'] = 'SMTP';
+ } else {
+ $hash['Email1Address'] =
Horde_iCalendar_vcard::getBareEmail($item['value']);
+ $hash['Email1AddressType'] = 'SMTP';
+ }
}
break;
More information about the bugs
mailing list