[#11688] Problems with adding events to calendar from IMP
Summary Problems with adding events to calendar from IMP
Queue Horde Framework Packages
Queue Version Git master
Type Bug
State Assigned
Priority 1. Low
Owners Jan Schneider <jan (at) horde (dot) org>
Requester jens (dot) gruentjes (at) ebira (dot) de
Created 11/12/2012 (192 days ago)
Due
Updated 05/16/2013 (7 days ago)
Assigned 01/10/2013 (133 days ago)
Resolved
Attachments calendar.ics Download
Date.php.diff Download
0001-Hotfix-for-11688-problems-importing-strange-timezone.patch Download
Milestone 5.1
Patch No

History
05/16/2013 12:22:43 PM janne (dot) peltonen (at) helsinki (dot) fi Comment #11 Reply to this comment
I'm sorry if this is a stupid comment, but doesn't Horde already 
include code to handle these arbitrarily named time zones? 
http://bugs.horde.org/ticket/4399 - and if I import an ics file from 
the Kronolith import command (click Edit (pen image) next to my 
calendar's name, then Import), everything seems to work perfectly. 
With the same timezone names that cause trouble from within IMP.

pear/Horde/Icalendar/Vtimezone.php

Or am I being too optimistic here?
05/05/2013 06:01:21 PM Ralf Lang (B1 Systems GmbH) Comment #10
New Attachment: 0001-Hotfix-for-11688-problems-importing-strange-timezone.patch Download
Reply to this comment
amended hotfix for the timezone problem. This is based on the previous 
patch by another user and does NOT address the issues raised by 
michael. It addresses outlook + 2 lotus timezones as far as I found 
them different from outlook. It does not handle arbitrary timezone 
names.

This list should probably move somewhere else (where?) and only be 
searched after an initial exception but for my client this fixes it.

05/02/2013 01:22:58 PM Ralf Lang (B1 Systems GmbH) Comment #9 Reply to this comment
Lotus also seems to have an own set of identifiers.

Example:


BEGIN:VCALENDAR
X-LOTUS-CHARSET:UTF-8
VERSION:2.0
PRODID:-//Lotus Development Corporation//NONSGML Notes 8.5.3//EN_C
METHOD:REQUEST
BEGIN:VTIMEZONE
TZID:W. Europe
BEGIN:STANDARD
DTSTART:19501029T020000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19500326T020000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
RRULE:FREQ=YEARLY;BYMINUTE=0;BYHOUR=2;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID="W. Europe":20130513T140000
DTEND;TZID="W. Europe":20130513T170000
TRANSP:OPAQUE
DTSTAMP:20130429T083902Z
SEQUENCE:0
CLASS:PUBLIC
SUMMARY:Vorstellung some product
ORGANIZER;CN="Somebody"
  :mailto:some.body@company.de
UID:2B3B27C604A380AFC1257B5C002E4B8F-Lotus_Notes_Generated
X-LOTUS-BROADCAST:FALSE
X-LOTUS-UPDATE-SEQ:1
X-LOTUS-UPDATE-WISL:$S:1;$L:1;$B:1;$R:1;$E:1;$W:1;$O:1;$M:1
X-LOTUS-NOTESVERSION:2
X-LOTUS-NOTICETYPE:I
X-LOTUS-APPTTYPE:3
X-LOTUS-CHILD-UID:2B3B27C604A380AFC1257B5C002E4B8F
END:VEVENT
END:VCALENDAR

Haven't found a list on these yet :(
04/03/2013 04:28:04 PM Michael Slusarz Comment #8 Reply to this comment
throwing an exception is not right here.

regarding to the rfc 
http://tools.ietf.org/html/rfc5545#section-3.2.19 TZID should also 
be checked against VTIMEZONE and the values from there must be used. 
because there is no naming convention for TZID everybody can name it 
like he wants, which is also written in the rfc.
http://marc.info/?l=horde&m=135777681025345&w=2
04/03/2013 03:13:44 PM michael (at) bigmichi1 (dot) de Comment #7 Reply to this comment
throwing an exception is not right here.

regarding to the rfc http://tools.ietf.org/html/rfc5545#section-3.2.19 
TZID should also be checked against VTIMEZONE and the values from 
there must be used. because there is no naming convention for TZID 
everybody can name it like he wants, which is also written in the rfc.
01/11/2013 10:01:13 PM Git Commit Comment #6 Reply to this comment
Changes have been made in Git (master):

commit 4d9387d7c8ec33a4774599adbe76bd585d5965d7
Author: Jan Schneider <jan@horde.org>
Date:   Fri Jan 11 23:00:44 2013 +0100

     Add test case for invalid timezones (Bug #11688).

  kronolith/package.xml                              |    8 ++-
  .../Kronolith/Integration/FromIcalendarTest.php    |   13 +++++
  kronolith/test/Kronolith/fixtures/bug11688.ics     |   53 
++++++++++++++++++++
  3 files changed, 71 insertions(+), 3 deletions(-)

http://git.horde.org/horde-git/-/commit/4d9387d7c8ec33a4774599adbe76bd585d5965d7
01/11/2013 10:01:08 PM Git Commit Comment #5 Reply to this comment
Changes have been made in Git (master):

commit 11d058f3f401385b42c62c53c32fc60e1150ce26
Author: Jan Schneider <jan@horde.org>
Date:   Fri Jan 11 22:58:52 2013 +0100

     Throw Horde_Date_Exception on invalide timezones (Bug #11688).

  framework/Date/lib/Horde/Date.php |   10 +++++++---
  1 files changed, 7 insertions(+), 3 deletions(-)

http://git.horde.org/horde-git/-/commit/11d058f3f401385b42c62c53c32fc60e1150ce26
01/10/2013 05:57:48 PM delrio (at) mie (dot) utoronto (dot) ca Comment #4
New Attachment: Date.php.diff Download
Reply to this comment
With the attached "quick fix" for Horde/Date.php I was able to import 
and edit Exchange events.
The array is from unicode.org windowsZones.xml, omitting UTC => Etc/Gmt

This is unlikely to be the proper fix, but a quick fix for those who 
can't to wait for the real fix.

01/10/2013 10:40:12 AM Jan Schneider Comment #3
Milestone ⇒ 5.1
State ⇒ Assigned
Assigned to Jan Schneider
Reply to this comment
01/08/2013 07:33:59 PM Michael Slusarz Comment #2
Queue ⇒ Horde Framework Packages
Version ⇒ Git master
Reply to this comment
This seems to be an issue with Icalendar/TZ parsing instead, so moving 
to framework queue.
11/12/2012 10:55:59 AM jens (dot) gruentjes (at) ebira (dot) de Comment #1
State ⇒ Unconfirmed
New Attachment: calendar.ics Download
Patch ⇒ No
Milestone ⇒
Queue ⇒ Horde Groupware
Summary ⇒ Problems with adding events to calendar from IMP
Type ⇒ Bug
Priority ⇒ 1. Low
Reply to this comment
The attached event is neither added to the calendar nor the answer is 
sent. The error message below says that there is an invalid timezone:

2012-11-09T13:06:24+01:00 DEBUG: HORDE [kronolith] 
DateTimeZone::__construct(): Unknown or bad timezone (W. Europe 
Standard Time) [pid 25779 on line 27 of 
"/usr/share/php/Horde/Core/Notification/Handler/Decorator/Hordelog.php"]