40 Commits

Author SHA1 Message Date
Andrew McMillan
13ce4c147a Add support for writing local scheduling requests on PUT.
In the new Scheduling Extensions for CalDAV the server is expected
to construct iCalendar METHOD:REQUEST invitations and put them into
the scheduling inbox for each (local) attendee.  This patch does
that, and hopefully breaks the back of implementing the full
scheduling extensions.
2011-09-07 23:40:28 +12:00
Andrew McMillan
4edb01930f Only include override components if they happen within the period. 2011-08-26 02:20:12 +12:00
Andrew McMillan
a6c23f3e1a [Incomplete] Add overridden components into event expansion.
We need to make sure this only inserts overrides that are within
the expansion period, or which override events within the expansion
period, but this quick hack is better than not doing it at all!
2011-08-25 15:07:04 +12:00
Andrew McMillan
996bbedab2 Allow the calendar-query expansion to return all events in floating time. 2011-05-31 23:08:32 -07:00
Andrew McMillan
4278ace1f7 Display RECURRENCE-ID as appropriate.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-08 13:33:52 +13:00
Andrew McMillan
7e0443e866 Add a special option to allow keeping the RRULE, RDATE and EXDATE
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-05 16:01:49 +13:00
Andrew McMillan
e28f200c5f Only add a recurrence-id if this is actually a repeating instance.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-05 11:55:35 +13:00
Andrew McMillan
ca6668c608 Always add a recurrence-id so a client can tell this repeats.
If the recurrence-id is missing the client can't provide an indication
that this is a repeating event.

Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-05 09:10:47 +13:00
Andrew McMillan
9e32df7ee1 More RRule polishing.
This includes a much improved function for converting two times to a
RFC5545 duration, and a clarification of the UTC() and FloatOrUTC()
methods.  Plus a couple of small bugfixes.

Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-04 22:51:57 +13:00
Andrew McMillan
52e9ad0018 Fix function declarations. Add comment.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-04 16:59:24 +13:00
Andrew McMillan
7d135d39fa Correct handling of floating events & BYYEARDAY.
Also some minor refactoring.  Regression tests for all NZ holidays
from 2005 to 2011 (only the calculatable ones for 2005-2008).

Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-04 16:46:57 +13:00
Andrew McMillan
b15fcb3f77 Refactoring of RRule-v2, which incidentally fixes a bug!
VALUE=DATE:YYYYMMDD dates should now work better, and all date
parsing is much more robust.

Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2010-12-26 17:41:52 +13:00
Andrew McMillan
c189b36c28 Fix references to internal static variable. 2010-12-26 01:52:44 +13:00
Andrew McMillan
86216cd291 Refactored RRule to add support for initialisation from a vProperty. 2010-12-26 01:38:17 +13:00
Andrew McMillan
60315362dd Starting to add better support for handling floating time.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2010-12-25 15:52:16 +13:00
Andrew McMillan
844b7b2e94 Handle stuff like DTSTART;TZID=America/New_York:20101119T231307
Thanks to Matthias Althaus for pointing out that while the class
attempts to handle this kind of thing, it doesn't actually work.
2010-11-19 23:13:30 +13:00
Andrew McMillan
0200ad8269 Minor restructuring. 2010-10-09 08:54:08 -04:00
Andrew McMillan
499313c9ca Fix handling of iCalendar durations containing negative elements. 2010-10-07 15:18:47 -04:00
Andrew McMillan
60fea594ae Handle events which don't have either DTEND *or* DURATION. 2010-10-07 14:20:35 -04:00
Andrew McMillan
04f17a65af Rewrite __construct() method of RepeatRuleDateTimeZone to be more robust. 2010-10-07 13:43:07 -04:00
Andrew McMillan
c452f07e73 Try harder to get the right duration for an event. 2010-09-02 23:03:57 +12:00
Andrew McMillan
3503f2f0fa Add support for weeks in durations.
Possibly weeks aren't standard, but I use one in my regression
tests historically.
2010-08-30 18:54:38 +12:00
Andrew McMillan
fa67ef987e Refactoring free/busy handling to a single core routine with RRule-2 2010-08-30 09:08:17 +12:00
Andrew McMillan
cee251d700 Move RRule expansion functions into RRule include. 2010-05-07 22:43:41 +12:00
Andrew McMillan
27da222920 Override the DateTime::modify function with our own.
Since it doesn't handle RRULE durations, but we want to do that.
2010-04-28 14:07:23 +12:00
Andrew McMillan
e15c3d3b58 Use the new olson_from_tzstring() function to extract the Olson tz. 2010-04-15 20:25:32 +12:00
Andrew McMillan
dd425fadc2 Add some support for VALUE=DATE in our DateTime wrapper. 2010-03-27 17:01:57 +13:00
Andrew McMillan
3074d04916 Apply offset from UTC in the right direction :-) 2010-03-27 12:56:17 +13:00
Andrew McMillan
f59b0a84e8 Fix timezone handling in RRULE expansion. 2010-03-27 11:45:51 +13:00
Andrew McMillan
1e3dbd208d Parse out those silly timezone names better. 2010-03-25 18:48:29 -07:00
Andrew McMillan
5ee5c1ff4a RRULE expansion now working correctly. 2010-03-13 00:01:57 +13:00
Andrew McMillan
4be420e8ec RepeatRule bug fixes during testing. 2010-03-12 18:29:14 +13:00
Andrew McMillan
4e7ad35dfb Apparently CentOS 5 doesn't have DateTime class in it's PHP :-( 2010-02-24 16:41:31 +13:00
Andrew McMillan
b374f17b99 This will not be active in 0.9.8.2, but it's included nonetheless. 2010-02-23 22:59:38 +13:00
Andrew McMillan
d3a9d02b2e Expanding functionality in RepeatRuleDateTime class. 2010-02-23 22:59:37 +13:00
Andrew McMillan
cb553dbfe3 Closer to new RepeatRule. 2010-02-18 00:22:06 +13:00
Andrew McMillan
3035e0c1b6 New RepeatRule - mostly working. 2010-02-16 12:33:23 +13:00
Andrew McMillan
d2d6bf137a More progress on RepeatRule object. 2010-02-16 10:34:23 +13:00
Andrew McMillan
ba2ddd24c0 New RRULE (still a work in progress) and tester. 2010-02-15 23:15:31 +13:00
Andrew McMillan
cb03b462bd A new RepeatRule object to be used for expanding events. 2010-02-15 22:51:51 +13:00