summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGunnar Wrobel <wrobel@pardus.de>2009-04-16 18:55:03 (GMT)
committerGunnar Wrobel <wrobel@pardus.de>2009-04-16 18:55:03 (GMT)
commit9a6e92737471f71d771845b9101d70de57dbbd65 (patch)
tree14efe0c8c1b5e1fccc00d372c5e6fbc1ddda8b94
parent69ff5ba58dc57d9808868bb84021d5274b45e7dd (diff)
downloadserver-9a6e92737471f71d771845b9101d70de57dbbd65.tar.gz
kolab/issue3558 (whole-day events broken for resources)
-rw-r--r--php-kolab/Kolab_Filter/ChangeLog5
-rw-r--r--php-kolab/Kolab_Filter/Kolab_Filter.spec2
-rw-r--r--php-kolab/Kolab_Filter/Makefile2
-rw-r--r--php-kolab/Kolab_Filter/issue3558.patch45
4 files changed, 53 insertions, 1 deletions
diff --git a/php-kolab/Kolab_Filter/ChangeLog b/php-kolab/Kolab_Filter/ChangeLog
index 13b4945..fad56a0 100644
--- a/php-kolab/Kolab_Filter/ChangeLog
+++ b/php-kolab/Kolab_Filter/ChangeLog
@@ -1,3 +1,8 @@
+2009-04-16 Gunnar Wrobel <p@rdus.de>
+
+ * Kolab_Filter.spec: kolab/issue3558 (whole-day events broken for
+ resources)
+
2009-04-01 Gunnar Wrobel <p@rdus.de>
* Kolab_Filter.spec: kolab/issue3521 (kolabmailboxfilter does not
diff --git a/php-kolab/Kolab_Filter/Kolab_Filter.spec b/php-kolab/Kolab_Filter/Kolab_Filter.spec
index 1fac17e..d81bbf4 100644
--- a/php-kolab/Kolab_Filter/Kolab_Filter.spec
+++ b/php-kolab/Kolab_Filter/Kolab_Filter.spec
@@ -25,6 +25,7 @@ Patch2: issue3441.patch
Patch3: dovecotlda-quoting.patch
Patch4: revert_issue2499.patch
Patch5: issue3521.patch
+Patch6: issue3558.patch
# Build Info
Prefix: %{l_prefix}
@@ -65,6 +66,7 @@ resource management as well as some Kolab server sender policies.
%patch -p1 -P 3
%patch -p3 -P 4
%patch -p3 -P 5
+ %patch -p1 -P 6
cp %{S:1} .
%build
diff --git a/php-kolab/Kolab_Filter/Makefile b/php-kolab/Kolab_Filter/Makefile
index a5345ac..8835765 100644
--- a/php-kolab/Kolab_Filter/Makefile
+++ b/php-kolab/Kolab_Filter/Makefile
@@ -21,7 +21,7 @@ endif
SOURCE_URL=http://pear.horde.org/get
SOURCE_0=$(PACKAGE)-$(VERSION).tgz
-EXTRA=ChangeLog issue3521.patch revert_issue2499.patch issue3435.patch issue3192.patch issue3441.patch dovecotlda-quoting.patch package.xml
+EXTRA=ChangeLog issue3521.patch revert_issue2499.patch issue3435.patch issue3192.patch issue3441.patch issue3558.patch dovecotlda-quoting.patch package.xml
.PHONY: all
all: $(PACKAGE)-$(VERSION)-$(RELEASE).src.rpm
diff --git a/php-kolab/Kolab_Filter/issue3558.patch b/php-kolab/Kolab_Filter/issue3558.patch
new file mode 100644
index 0000000..6ed80ce
--- /dev/null
+++ b/php-kolab/Kolab_Filter/issue3558.patch
@@ -0,0 +1,45 @@
+--- a/lib/Horde/Kolab/Resource.php.orig 2009-04-16 20:00:58.000000000 +0200
++++ b/lib/Horde/Kolab/Resource.php 2009-04-16 20:46:05.000000000 +0200
+@@ -247,8 +247,17 @@
+ $object['summary'] = $itip->getAttributeDefault('SUMMARY', '');
+ $object['location'] = $itip->getAttributeDefault('LOCATION', '');
+ $object['body'] = $itip->getAttributeDefault('DESCRIPTION', '');
+- $object['start-date'] = $itip->getAttributeDefault('DTSTART', '');
+- $object['end-date'] = $itip->getAttributeDefault('DTEND', '');
++ $dtend = $itip->getAttributeDefault('DTEND', '');
++ if (is_array($dtend)) {
++ $object['_is_all_day'] = true;
++ /**
++ * Substract a day (86400 seconds) using epochs to take number of
++ * days per month into account
++ */
++ $dtend = $this->convert2epoch($dtend) - 86400;
++ }
++ $object['start-date'] = $this->convert2epoch($itip->getAttributeDefault('DTSTART', ''));
++ $object['end-date'] = $this->convert2epoch($dtend);
+ if ($itip->getAttributeDefault('TRANSP', 'OPAQUE') == 'TRANSPARENT') {
+ $object['show-time-as'] = $itip->getAttributeDefault('DTEND', '');
+ }
+@@ -997,17 +1006,16 @@
+ */
+ function cleanArray($ical_date)
+ {
+- if (array_key_exists('hour', $ical_date)) {
+- $temp['hour'] = array_key_exists('hour', $ical_date) ? $ical_date['hour'] : '00';
+- $temp['minute'] = array_key_exists('minute', $ical_date) ? $ical_date['minute'] : '00';
+- $temp['second'] = array_key_exists('second', $ical_date) ? $ical_date['second'] : '00';
+- $temp['zone'] = array_key_exists('zone', $ical_date) ? $ical_date['zone'] : 'UTC';
+- } else {
++ if (!array_key_exists('hour', $ical_date)) {
+ $temp['DATE'] = '1';
+ }
++ $temp['hour'] = array_key_exists('hour', $ical_date) ? $ical_date['hour'] : '00';
++ $temp['minute'] = array_key_exists('minute', $ical_date) ? $ical_date['minute'] : '00';
++ $temp['second'] = array_key_exists('second', $ical_date) ? $ical_date['second'] : '00';
+ $temp['year'] = array_key_exists('year', $ical_date) ? $ical_date['year'] : '0000';
+ $temp['month'] = array_key_exists('month', $ical_date) ? $ical_date['month'] : '00';
+ $temp['mday'] = array_key_exists('mday', $ical_date) ? $ical_date['mday'] : '00';
++ $temp['zone'] = array_key_exists('zone', $ical_date) ? $ical_date['zone'] : 'UTC';
+
+ return $temp;
+ }