45 Commits

Author SHA1 Message Date
Andrew Ruthven
1e5c1fd1f3 Disable the debug mode, leave extra debugging output available 2021-09-18 23:22:57 +12:00
Andrew Ruthven
19e69060b9 Enable more debugging so I can see timezone differences in CI 2021-09-18 22:15:27 +12:00
Andrew Ruthven
e4f48ddc1a For RRULE BYMONTHDAY skip expansions where the new day is not the day we expect.
This fixes one of the issues raised in #248.
2021-08-11 22:36:38 +12:00
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