[packaging] Branch 'ucs/3.1/kolab-2.3' - 4 commits - debian/changelog debian/patches

Christoph Wickert wickert at kolabsys.com
Tue Mar 5 16:19:56 CET 2013


 debian/changelog                                                               |   16 +
 debian/patches/0001-Fix-recurring-event-handling-when-first-instance-is-.patch |  120 ++++++++++
 debian/patches/0001-Subscribe-to-default-folders-of-other-than-mail-type.patch |   34 ++
 debian/patches/0002-Fix-background-image-in-calendars-listing.patch            |   25 ++
 debian/patches/0003-Fix-javascript-syntax-to-work-on-IE7.patch                 |   34 ++
 debian/patches/0005-Fix-javascript-errors-trown-by-CSS-expressions.patch       |   34 ++
 debian/patches/0007-Adapt-fix-for-349.patch                                    |   29 ++
 debian/patches/series                                                          |    6 
 8 files changed, 298 insertions(+)

New commits:
commit dab298723dfd756432d1a3a5ee30b83a10fab543
Author: Christoph Wickert <wickert at kolabsys.com>
Date:   Tue Mar 5 16:06:48 2013 +0100

    3.0~horde~eadc0fd5[...]-9: Update changlog

diff --git a/debian/changelog b/debian/changelog
index 19e12d3..8e7cf4f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+roundcube-plugins-kolab (3.0~horde~eadc0fd571cb3359c7e2c2cb781500cb398fc374-10) unstable; urgency=low
+
+  * Fix recurring event handling (#1505 and OTRS #1002074)
+
+ -- Christoph Wickert <wickert at kolabsys.com>  Tue, 05 Mar 2013 16:03:46 +0100
+
 roundcube-plugins-kolab (3.0~horde~eadc0fd571cb3359c7e2c2cb781500cb398fc374-9) unstable; urgency=low
 
   * Subscribe to default folders (#1654)


commit 16f9db71151d6afc6376088ca170bbec2a47d9a3
Author: Christoph Wickert <wickert at kolabsys.com>
Date:   Tue Mar 5 16:06:18 2013 +0100

    Add 0001-Fix-recurring-event-handling-when-first-instance-is-.patch (#1505 and OTRS #1002074)

diff --git a/debian/patches/0001-Fix-recurring-event-handling-when-first-instance-is-.patch b/debian/patches/0001-Fix-recurring-event-handling-when-first-instance-is-.patch
new file mode 100644
index 0000000..cddd09f
--- /dev/null
+++ b/debian/patches/0001-Fix-recurring-event-handling-when-first-instance-is-.patch
@@ -0,0 +1,120 @@
+From e674448c265df4bd3d10795d615ec12ffb34c258 Mon Sep 17 00:00:00 2001
+From: Thomas Bruederli <bruederli at kolabsys.com>
+Date: Wed, 9 Jan 2013 11:12:19 +0100
+Subject: [PATCH] Fix recurring event handling when first instance is modified
+ and excluded (#1505)
+
+---
+ plugins/calendar/drivers/kolab/kolab_calendar.php |   26 +++++++++++++++++----
+ plugins/calendar/drivers/kolab/kolab_driver.php   |   23 ++++++++++++++----
+ 2 files changed, 40 insertions(+), 9 deletions(-)
+
+diff --git a/plugins/calendar/drivers/kolab/kolab_calendar.php b/plugins/calendar/drivers/kolab/kolab_calendar.php
+index c4e7f9f..33aa551 100644
+--- a/plugins/calendar/drivers/kolab/kolab_calendar.php
++++ b/plugins/calendar/drivers/kolab/kolab_calendar.php
+@@ -249,7 +249,21 @@ class kolab_calendar
+       // list events in requested time window
+       if ($event['start'] <= $end && $event['end'] >= $start) {
+         unset($event['_attendees']);
+-        $events[] = $event;
++        $add = true;
++
++        // skip the first instance of a recurring event if listed in exdate
++        if ($virtual && !empty($event['recurrence']['EXDATE'])) {
++          $event_date = $event['start']->format('Ymd');
++          foreach ($event['recurrence']['EXDATE'] as $exdate) {
++            if ($exdate->format('Ymd') == $event_date) {
++              $add = false;
++              break;
++            }
++          }
++        }
++
++        if ($add)
++          $events[] = $event;
+       }
+       
+       // resolve recurring events
+@@ -411,9 +425,9 @@ class kolab_calendar
+       else if ($next_event['start'] > $end)  // stop loop if out of range
+         break;
+ 
+-	  // avoid endless recursion loops
+-	  if ($i > 1000)
+-		  break;
++      // avoid endless recursion loops
++      if ($i > 1000)
++          break;
+     }
+     
+     return $events;
+@@ -460,6 +474,10 @@ class kolab_calendar
+     if (is_array($record['categories']))
+       $record['categories'] = $record['categories'][0];
+ 
++    // remove empty recurrence array
++    if (empty($record['recurrence']))
++      unset($record['recurrence']);
++
+     // remove internals
+     unset($record['_mailbox'], $record['_msguid'], $record['_formatobj'], $record['_attachments']);
+ 
+diff --git a/plugins/calendar/drivers/kolab/kolab_driver.php b/plugins/calendar/drivers/kolab/kolab_driver.php
+index 58c7e8a..a68d96f 100644
+--- a/plugins/calendar/drivers/kolab/kolab_driver.php
++++ b/plugins/calendar/drivers/kolab/kolab_driver.php
+@@ -389,10 +389,10 @@ class kolab_driver extends calendar_driver
+   public function remove_event($event, $force = true)
+   {
+     $success = false;
+-    $_savemode = $event['_savemode'];
++    $savemode = $event['_savemode'];
+ 
+     if (($storage = $this->calendars[$event['calendar']]) && ($event = $storage->get_event($event['id']))) {
+-      $event['_savemode'] = $_savemode;
++      $event['_savemode'] = $savemode;
+       $savemode = 'all';
+       $master = $event;
+ 
+@@ -407,7 +407,7 @@ class kolab_driver extends calendar_driver
+       switch ($savemode) {
+         case 'current':
+           $_SESSION['calendar_restore_event_data'] = $master;
+-          
++
+           // removing the first instance => just move to next occurence
+           if ($master['id'] == $event['id']) {
+             $limit = clone $event['end'];
+@@ -567,13 +567,26 @@ class kolab_driver extends calendar_driver
+         break;
+         
+       case 'current':
+-        // add exception to master event
+-        $master['recurrence']['EXDATE'][] = $old['start'];
++        // modifying the first instance => just move to next occurence
++        if ($master['id'] == $event['id']) {
++          $limit = clone $old['end'];
++          $limit->add(new DateInterval('P370D'));
++          $recurring = reset($storage->_get_recurring_events($event, $event['start'], $limit, $event['id'].'-1'));
++          $master['start'] = $recurring['start'];
++          $master['end'] = $recurring['end'];
++          if ($master['recurrence']['COUNT'])
++            $master['recurrence']['COUNT']--;
++        }
++        else {  // add exception to master event
++          $master['recurrence']['EXDATE'][] = $old['start'];
++		}
++
+         $storage->update_event($master);
+         
+         // insert new event for this occurence
+         $event += $old;
+         $event['recurrence'] = array();
++        unset($event['recurrence_id']);
+         $event['uid'] = $this->cal->generate_uid();
+         $success = $storage->insert_event($event);
+         break;
+-- 
+1.7.10.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 5c27e00..a7dbd8e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,3 +11,4 @@ libkolab_horde5_buggy_headers.diff
 0003-Fix-javascript-syntax-to-work-on-IE7.patch
 0005-Fix-javascript-errors-trown-by-CSS-expressions.patch
 0007-Adapt-fix-for-349.patch
+0001-Fix-recurring-event-handling-when-first-instance-is-.patch


commit 92132cc9754b5dfca54bd4056725890284159d77
Author: Christoph Wickert <wickert at kolabsys.com>
Date:   Thu Feb 28 17:45:33 2013 +0100

    3.0~horde~eadc0fd57[...]-9: Update changlog

diff --git a/debian/changelog b/debian/changelog
index 08e5ecd..19e12d3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+roundcube-plugins-kolab (3.0~horde~eadc0fd571cb3359c7e2c2cb781500cb398fc374-9) unstable; urgency=low
+
+  * Subscribe to default folders (#1654)
+  * Fix background image in calendars listing
+  * Fix javascript syntax to work on IE7 (OTRS #1002064)
+  * Fix javascript errors trown by CSS expressions
+  * Fix triggering problem with special characters (1669)
+
+ -- Christoph Wickert <wickert at kolabsys.com>  Thu, 28 Feb 2013 17:28:27 +0100
+
 roundcube-plugins-kolab (3.0~horde~eadc0fd571cb3359c7e2c2cb781500cb398fc374-8) unstable; urgency=low
 
   * Handle bogous headers created by buggy clients


commit 37724bb2fffa96c35c9fa784d64241dedbcc63bc
Author: Christoph Wickert <wickert at kolabsys.com>
Date:   Thu Feb 28 17:45:25 2013 +0100

    Add patches from git to fix #1654, #1669 and OTRS #1002064

diff --git a/debian/patches/0001-Subscribe-to-default-folders-of-other-than-mail-type.patch b/debian/patches/0001-Subscribe-to-default-folders-of-other-than-mail-type.patch
new file mode 100644
index 0000000..03e4a07
--- /dev/null
+++ b/debian/patches/0001-Subscribe-to-default-folders-of-other-than-mail-type.patch
@@ -0,0 +1,34 @@
+From 13062c0a5fd7a9cd1b56c1620888e2443854e78d Mon Sep 17 00:00:00 2001
+From: Aleksander Machniak <machniak at kolabsys.com>
+Date: Thu, 28 Feb 2013 11:08:08 +0100
+Subject: [PATCH 1/7] Subscribe to default folders of other than 'mail' type
+ too (Bug #1654)
+
+---
+ plugins/kolab_folders/kolab_folders.php |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/kolab_folders/kolab_folders.php b/plugins/kolab_folders/kolab_folders.php
+index 80389f6..172f531 100644
+--- a/plugins/kolab_folders/kolab_folders.php
++++ b/plugins/kolab_folders/kolab_folders.php
+@@ -28,6 +28,7 @@ class kolab_folders extends rcube_plugin
+ 
+     public $types = array('mail', 'event', 'journal', 'task', 'note', 'contact', 'configuration', 'file', 'freebusy');
+     public $mail_types = array('inbox', 'drafts', 'sentitems', 'outbox', 'wastebasket', 'junkemail');
++    public $subs_types = array('mail', 'event', 'journal', 'task', 'note', 'contact', 'file');
+ 
+     private $rc;
+     private static $instance;
+@@ -459,7 +460,7 @@ class kolab_folders extends rcube_plugin
+ 
+             // create folder
+             if (!$exists && !$storage->folder_exists($foldername)) {
+-                $storage->create_folder($foldername, $type1 == 'mail');
++                $storage->create_folder($foldername, in_array($type1, $this->subs_types));
+             }
+ 
+             // set type
+-- 
+1.7.10.4
+
diff --git a/debian/patches/0002-Fix-background-image-in-calendars-listing.patch b/debian/patches/0002-Fix-background-image-in-calendars-listing.patch
new file mode 100644
index 0000000..1029dc1
--- /dev/null
+++ b/debian/patches/0002-Fix-background-image-in-calendars-listing.patch
@@ -0,0 +1,25 @@
+From 23380fead023bcb039012b8ad29dfbbc441685cc Mon Sep 17 00:00:00 2001
+From: Thomas Bruederli <bruederli at kolabsys.com>
+Date: Thu, 28 Feb 2013 14:19:58 +0100
+Subject: [PATCH 2/7] Fix background image in calendars listing
+
+---
+ plugins/calendar/skins/classic/iehacks.css |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plugins/calendar/skins/classic/iehacks.css b/plugins/calendar/skins/classic/iehacks.css
+index 831266f..2b6d6be 100644
+--- a/plugins/calendar/skins/classic/iehacks.css
++++ b/plugins/calendar/skins/classic/iehacks.css
+@@ -36,7 +36,7 @@ html #calendartoolbar a.buttonPas {
+ 	filter: alpha(opacity=40);
+ }
+ 
+-#calendarslist li span {
++#calendarslist li span.handle {
+ 	background-image: url(images/calendars.gif);
+ }
+ 
+-- 
+1.7.10.4
+
diff --git a/debian/patches/0003-Fix-javascript-syntax-to-work-on-IE7.patch b/debian/patches/0003-Fix-javascript-syntax-to-work-on-IE7.patch
new file mode 100644
index 0000000..8c0df6a
--- /dev/null
+++ b/debian/patches/0003-Fix-javascript-syntax-to-work-on-IE7.patch
@@ -0,0 +1,34 @@
+From 0c088213b2e3f1b37fde5970f66cf544815892fd Mon Sep 17 00:00:00 2001
+From: Thomas Bruederli <bruederli at kolabsys.com>
+Date: Thu, 28 Feb 2013 14:20:41 +0100
+Subject: [PATCH 3/7] Fix javascript syntax to work on IE7
+
+---
+ plugins/kolab_activesync/kolab_activesync.js |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/kolab_activesync/kolab_activesync.js b/plugins/kolab_activesync/kolab_activesync.js
+index c28a877..c5fb6d1 100644
+--- a/plugins/kolab_activesync/kolab_activesync.js
++++ b/plugins/kolab_activesync/kolab_activesync.js
+@@ -108,7 +108,7 @@ function kolab_activesync_config()
+     var data = {
+       cmd: 'save',
+       id: rcmail.env.active_device,
+-      devicealias: $('#config-device-alias').val(),
++      devicealias: $('#config-device-alias').val()
+ //      syncmode: $('#config-device-mode option:selected').val(),
+ //      laxpic: $('#config-device-laxpic').get(0).checked ? 1 : 0
+     };
+@@ -137,7 +137,7 @@ function kolab_activesync_config()
+       parent.window.activesync_object.update_list(p.id, p.alias);
+ 
+     // device deleted
+-    if (p.success && p.id && p.delete) {
++    if (p.success && p.id && p['delete']) {
+       active_device = null;
+       device_select();
+       devicelist.remove_row(p.id);
+-- 
+1.7.10.4
+
diff --git a/debian/patches/0005-Fix-javascript-errors-trown-by-CSS-expressions.patch b/debian/patches/0005-Fix-javascript-errors-trown-by-CSS-expressions.patch
new file mode 100644
index 0000000..40e756f
--- /dev/null
+++ b/debian/patches/0005-Fix-javascript-errors-trown-by-CSS-expressions.patch
@@ -0,0 +1,34 @@
+From 2d2a8536852a3f6ac45e98e81ab7f6d9dc6fc2f2 Mon Sep 17 00:00:00 2001
+From: Thomas Bruederli <bruederli at kolabsys.com>
+Date: Thu, 28 Feb 2013 15:25:47 +0100
+Subject: [PATCH 5/7] Fix javascript errors trown by CSS expressions
+
+---
+ plugins/calendar/skins/classic/iehacks.css |    6 +++---
+ plugins/calendar/skins/larry/iehacks.css   |    8 ++++----
+ 2 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/plugins/calendar/skins/classic/iehacks.css b/plugins/calendar/skins/classic/iehacks.css
+index 2b6d6be..42bd736 100644
+--- a/plugins/calendar/skins/classic/iehacks.css
++++ b/plugins/calendar/skins/classic/iehacks.css
+@@ -5,13 +5,13 @@
+ 	height: expression(Math.max(300, parseInt(document.documentElement.clientHeight)-100)+'px');
+ }
+ 
+-#sidebar,
+-#sidebartoggle {
++#calendarsidebar,
++#calendarsidebartoggle {
+ 	height: expression((parseInt(this.parentNode.offsetHeight)-37)+'px');
+ }
+ 
+ #calendar {
+-	width: expression((parseInt(this.parentNode.offsetWidth)-parseInt(document.getElementById('sidebartoggle').offsetWidth)-parseInt(document.getElementById('sidebartoggle').offsetLeft)-4)+'px');
++	width: expression((parseInt(this.parentNode.offsetWidth)-parseInt(document.getElementById('calendarsidebartoggle').offsetWidth)-parseInt(document.getElementById('calendarsidebartoggle').offsetLeft)-4)+'px');
+ 	height: expression(parseInt(this.parentNode.offsetHeight)+'px');
+ }
+ 
+-- 
+1.7.10.4
+
diff --git a/debian/patches/0007-Adapt-fix-for-349.patch b/debian/patches/0007-Adapt-fix-for-349.patch
new file mode 100644
index 0000000..190b323
--- /dev/null
+++ b/debian/patches/0007-Adapt-fix-for-349.patch
@@ -0,0 +1,29 @@
+From 825651e5652d5f0e9efec32d0ab098f1fdb5aac1 Mon Sep 17 00:00:00 2001
+From: Thomas Bruederli <bruederli at kolabsys.com>
+Date: Thu, 28 Feb 2013 16:02:16 +0100
+Subject: [PATCH 7/7] Adapt fix for #349
+
+---
+ plugins/libkolab/lib/kolab_storage_folder.php |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/libkolab/lib/kolab_storage_folder.php b/plugins/libkolab/lib/kolab_storage_folder.php
+index d3659fa..9facc8d 100644
+--- a/plugins/libkolab/lib/kolab_storage_folder.php
++++ b/plugins/libkolab/lib/kolab_storage_folder.php
+@@ -829,7 +829,11 @@ class kolab_storage_folder
+         case 'event':
+             if ($this->get_namespace() == 'personal') {
+                 $result = $this->trigger_url(
+-                    sprintf('%s/trigger/%s/%s.pfb', kolab_storage::get_freebusy_server(), $owner, $this->imap->mod_folder($this->name)),
++                    sprintf('%s/trigger/%s/%s.pfb',
++                        kolab_storage::get_freebusy_server(),
++                        urlencode($owner),
++                        urlencode($this->imap->mod_folder($this->name))
++                    ),
+                     $this->imap->options['user'],
+                     $this->imap->options['password']
+                 );
+-- 
+1.7.10.4
+
diff --git a/debian/patches/series b/debian/patches/series
index e76d8ae..5c27e00 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -6,3 +6,8 @@ roundcube-plugins-kolab-1485.patch
 0003-Sanity-check-for-Horde_Date_Recurrence-results-that-.patch
 0004-Fix-computation-of-yearly-recurring-events-choose-a-.patch
 libkolab_horde5_buggy_headers.diff
+0001-Subscribe-to-default-folders-of-other-than-mail-type.patch
+0002-Fix-background-image-in-calendars-listing.patch
+0003-Fix-javascript-syntax-to-work-on-IE7.patch
+0005-Fix-javascript-errors-trown-by-CSS-expressions.patch
+0007-Adapt-fix-for-349.patch




More information about the packaging-commits mailing list