42 Commits

Author SHA1 Message Date
Andrew Ruthven
ccedbd1be9 Include the UID of the card which caused us to hit the RRULE limit
This will helpfully assist tracking down issues with recurrence rules.
2021-02-06 20:19:03 +13:00
Piotr Filip
e98bf7b682 fix: events with recurrence rule are sometimes counted one too many times in freebusy 2021-01-25 00:08:13 +13:00
Milan Crha
710bc6cccd Add missing 'break;' into RRule.php 2019-06-19 09:20:56 +00:00
Jamie McClymont
b07019ed96 Make calquery expansion aware of the calendar default timezone
This fixes cases where we emit floating times
2019-02-28 16:00:19 +13:00
Florian Schlichting
97a2686459 fix more PHP7+ type hints for PHP5 compatibility (fixes #197) 2019-02-13 08:49:19 +01:00
Andrew Ruthven
ebd169e555 Merge branch 'JJJollyjim/davical-freebusy-modified-instances' 2019-01-30 22:19:25 +13:00
Andrew Ruthven
8966a044a2 Merge branch 'JJJollyjim/davical-rrule-expansion-limit' 2019-01-29 23:06:03 +13:00
Jamie McClymont
cf2f019419 Increase, and make configurable, the limit for rrule expansion 2019-01-28 04:51:37 +00:00
Jamie McClymont
aea6be279b RRule Expansion: Do not emit recurrences for instances with RRULEs
This matches the behaviour of Evolution and Thunderbird
2019-01-28 17:17:28 +13:00
Jamie McClymont
ffa06343a3 Fix bugs in expansion of events with overridden instances 2019-01-28 15:29:55 +13:00
Jamie McClymont
cf7de16e59 Handle default timezones in getVCalendarRange
Also includes some PHPUnit-based tests for this function!
2019-01-03 17:48:42 +13:00
Jamie McClymont
5fc3875345 Pull the freebusy floating-time handling into a function 2019-01-03 16:04:28 +13:00
Andrew Ruthven
2873c89149 Fix a typo of this.
Closes #145
2018-10-02 19:53:44 +13:00
Andrew Ruthven
22e0e4aa38 Improve parsing of RFC5545 durations
The previous regex failed to parse PT15M which is a valid duration.

This version more correctly implements:
  https://tools.ietf.org/html/rfc5545#section-3.3.6

It isn't totally correct as it incorrectly allows:

  PT10H20S

Which is invalid due to no minutes being present. Oh well.
2017-05-17 11:06:29 +12:00
Florian Schlichting
eaef540766 replace RRule with RRule-v2 2016-12-30 08:54:14 +01:00
Andrew McMillan
31400d3d7e Not the whole solution, but this is more correct than the other. 2010-08-30 17:00:26 +12:00
Andrew McMillan
8223e2e9f7 Replace deprecated split() calls. 2010-04-26 19:46:23 +12:00
Andrew McMillan
e8b722f9e1 Fix RenderGMT() to render GMT correctly. 2010-04-16 12:45:17 +12:00
Andrew McMillan
cb8cd84d81 Comment out debugging messages for peformance. 2009-12-28 00:23:48 +13:00
Andrew McMillan
471d0025f1 Call by reference is naughty, according to the PHP developers :-( 2009-09-10 22:00:43 +12:00
Andrew McMillan
897ac95221 Fix bug in duration handling. Allow wider input possibilities. 2009-06-16 22:44:57 +12:00
Andrew McMillan
1fba1ff769 Add a RenderGMT() method to iCalDate. 2009-03-31 22:18:10 +13:00
Andrew McMillan
28bb70e6fd Fix RRule problem and remove uninitialised variable warnings. 2008-10-27 16:52:33 +13:00
Andrew McMillan
1dae32c106 Correct DAILY with BYDAY rule handling. 2008-10-26 22:16:20 +13:00
Andrew McMillan
40212665ca Make 'WEEKLY' a first-class frequency. 2008-10-25 13:12:10 +13:00
Andrew McMillan
f7c7620dea [RRule] Fix bug in GetNext for a daily event with a BYDAY rule. 2008-10-24 18:02:01 +13:00
Andrew McMillan
5c8cfa4031 Rename @package to davical. 2008-09-18 12:03:00 +12:00
Andrew McMillan
7009f8ed81 Remove closing PHP tag. 2008-06-06 20:13:37 +12:00
Andrew McMillan
bf996862a8 Correct comments to reflect reality. 2008-01-24 07:49:44 +13:00
Andrew McMillan
9a32c2c806 Fix a bug in addition of durations. 2007-11-24 23:06:36 +13:00
Andrew McMillan
48f43b18b3 Final tweaks to RRule, removing debugging and with tests that are now better. 2007-03-07 22:12:39 +13:00
Andrew McMillan
bc15ec03e6 Many fixes to the RRule handling both for correctness and PHP5. 2007-03-07 12:39:38 +13:00
Andrew McMillan
37b754f073 Lots of fixes for PHP5 and correctness. Nearly done... 2007-03-07 09:17:08 +13:00
Andrew McMillan
f058968e87 Fix typo which becomes obvious when this is run under PHP5. 2007-03-05 14:39:13 +13:00
Andrew McMillan
cea76a8fbb An hour is >= 60 minutes, not just > ... and so on. 2006-12-17 21:37:05 +13:00
Andrew McMillan
2e50a0721a Allow first parameter to RRule constructor to be an iCalDate. 2006-12-17 21:36:26 +13:00
Andrew McMillan
530409877f An RRule library that seems to cover most of the basic and some of the not
so basic use of RRULE in iCalendar.  And a few test cases.
2006-12-17 18:59:31 +13:00
Andrew McMillan
5a72ac12b5 Mostly implemented BYDAY for MONTHLY frequency now. 2006-12-16 22:31:15 +13:00
Andrew McMillan
6db1a293df Now working for some very basic repeat rules. 2006-12-12 21:30:55 +13:00
Andrew McMillan
a69862189b The iCalDate class is well on it's way now. 2006-12-12 00:41:23 +13:00
Andrew McMillan
db108b48de More work on an RRule class. 2006-12-11 23:08:25 +13:00
Andrew McMillan
a83752f81d New library for parsing iCalendar RRule and generally dealing with iCal dates 2006-12-11 21:47:17 +13:00