From d899be312483eaf05d9d7f8e42a2caab73e69e7c Mon Sep 17 00:00:00 2001 From: Christian Binder Date: Sat, 2 Jan 2010 13:19:32 +0000 Subject: [PATCH] backport to 1.6: implemented different priority values for funambol/outlook clients since outlook does not support the RFC defined PRIORITY values, fixed some typos --- calendar/inc/class.calendar_ical.inc.php | 41 +++++++++++++++++++++--- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/calendar/inc/class.calendar_ical.inc.php b/calendar/inc/class.calendar_ical.inc.php index 8ced529b66..fe7da77448 100644 --- a/calendar/inc/class.calendar_ical.inc.php +++ b/calendar/inc/class.calendar_ical.inc.php @@ -57,7 +57,7 @@ class calendar_ical extends calendar_boupdate ); /** - * @var array $status_ical2egw conversion of the priority egw => ical + * @var array $priority_egw2ical conversion of the priority egw => ical */ var $priority_egw2ical = array( 0 => 0, // undefined @@ -67,7 +67,7 @@ class calendar_ical extends calendar_boupdate ); /** - * @var array $status_ical2egw conversion of the priority ical => egw + * @var array $priority_ical2egw conversion of the priority ical => egw */ var $priority_ical2egw = array( 0 => 0, // undefined @@ -75,6 +75,25 @@ class calendar_ical extends calendar_boupdate 5 => 2, // normal 4 => 3, 3 => 3, 2 => 3, 1 => 3, // high ); + + /** + * @var array $priority_egw2funambol conversion of the priority egw => funambol + */ + var $priority_egw2funambol = array( + 0 => 1, // undefined (mapped to normal since undefined does not exist) + 1 => 0, // low + 2 => 1, // normal + 3 => 2, // high + ); + + /** + * @var array $priority_funambol2egw conversion of the priority funambol => egw + */ + var $priority_funambol2egw = array( + 0 => 1, // low + 1 => 2, // normal + 2 => 3, // high + ); /** * @var array $recur_egw2ical_2_0 converstaion of egw recur-type => ical FREQ @@ -536,8 +555,15 @@ class calendar_ical extends calendar_boupdate break; case 'PRIORITY': + if($this->productManufacturer == 'funambol') + { + $attributes['PRIORITY'] = (int) $this->priority_egw2funambol[$event['priority']]; + } + else + { $attributes['PRIORITY'] = (int) $this->priority_egw2ical[$event['priority']]; - break; + } + break; case 'TRANSP': if ($version == '1.0') @@ -1860,7 +1886,14 @@ class calendar_ical extends calendar_boupdate } break; case 'PRIORITY': - $vcardData['priority'] = (int) $this->priority_ical2egw[$attributes['value']]; + if($this->productManufacturer == 'funambol') + { + $vcardData['priority'] = (int) $this->priority_funambol2egw[$attributes['value']]; + } + else + { + $vcardData['priority'] = (int) $this->priority_ical2egw[$attributes['value']]; + } break; case 'CATEGORIES': if ($attributes['value'])