Branch 'roundcubemail-plugins-kolab-0.7' - 3 commits - plugins/calendar

Thomas Brüderli bruederli at kolabsys.com
Wed Jan 23 09:56:44 CET 2013


 plugins/calendar/calendar.php                     |    2 +-
 plugins/calendar/drivers/kolab/kolab_calendar.php |    1 +
 plugins/calendar/lib/calendar_ical.php            |    9 ++++++---
 3 files changed, 8 insertions(+), 4 deletions(-)

New commits:
commit 4a978d991f43b3ce36a68702e959776062c55484
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Jan 23 09:56:22 2013 +0100

    Update last-modifcation-date in updated events to make iTip requests contain the latest date

diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php
index 82a735d..cbab7e1 100644
--- a/plugins/calendar/drivers/kolab/kolab_calendar.php
+++ b/plugins/calendar/drivers/kolab/kolab_calendar.php
@@ -329,6 +329,7 @@ class kolab_calendar
     }
     else {
       $updated = true;
+      $object['last-modification-date'] = time();  // set last-modification timestamp
       $this->events[$event['id']] = $this->_to_rcube_event($object);
     }
 


commit 6cec714f3165e7fdb002ab172b7cf1d10ce3fbc8
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Jan 23 09:55:07 2013 +0100

    Search for existing events in personal namespace only (#1406)

diff --git a/plugins/calendar/calendar.php b/plugins/calendar/calendar.php
index b0abceb..4acab52 100644
--- a/plugins/calendar/calendar.php
+++ b/plugins/calendar/calendar.php
@@ -2173,7 +2173,7 @@ class calendar extends rcube_plugin
         $event['calendar'] = $calendar['id'];
         
         // check for existing event with the same UID
-        $existing = $this->driver->get_event($event['uid'], true);
+        $existing = $this->driver->get_event($event['uid'], true, false, true);
         
         if ($existing) {
           // only update attendee status


commit bbdd59862cc2c7ff5fe3aea9c78e96511aabbb62
Author: Thomas Bruederli <bruederli at kolabsys.com>
Date:   Wed Jan 23 09:40:33 2013 +0100

    Fix ical export with (invalid) timezone +00:00; avoid fatal errors on invalid dates (#1489)

diff --git a/plugins/calendar/lib/calendar_ical.php b/plugins/calendar/lib/calendar_ical.php
index fbb4aa6..956d2f5 100644
--- a/plugins/calendar/lib/calendar_ical.php
+++ b/plugins/calendar/lib/calendar_ical.php
@@ -169,8 +169,10 @@ class calendar_ical
       $event['end'] = new DateTime('@'.($event['end']->format('U') - 23*3600));
     
     // assign current timezone to event start/end
-    $event['start']->setTimezone($this->cal->user_timezone);
-    $event['end']->setTimezone($this->cal->user_timezone);
+    if (is_a($event['start'], 'DateTime'))
+        $event['start']->setTimezone($this->cal->user_timezone);
+    if (is_a($event['end'], 'DateTime'))
+        $event['end']->setTimezone($this->cal->user_timezone);
     
     // map other attributes to internal fields
     $_attendees = array();
@@ -458,7 +460,8 @@ class calendar_ical
     else {
       // <ATTR>;TZID=Europe/Zurich:20120706T210000
       $tz = $dt->getTimezone();
-      $tzid = $tz && $tz->getName() != 'UTC' ? ';TZID=' . $tz->getName() : '';
+      $tzname = $tz ? $tz->getName() : null;
+      $tzid = $tzname && $tzname != 'UTC' && $tzname != '+00:00' ? ';TZID=' . $tzname : '';
       return $attr . $tzid . ':' . $dt->format('Ymd\THis' . ($tzid ? '' : '\Z'));
     }
   }





More information about the commits mailing list