Andrew Ruthven
c3970f3be2
Fix RRULE for BYHOUR, BYMINUTE and BYSECOND
...
Closes #283 .
2023-02-15 07:28:35 +00:00
Andrew Ruthven
8444347b02
We no longer support PHP 5.1, assume that DateTime is available
2023-02-15 07:28:35 +00:00
Andrew Ruthven
a323ba8dae
Don't change the day of the month to 28, if it is > 28
...
Gosh. The logic was saying, if the modified date has a day of the
month > 28, change it to 28. Which is rather odd. Don't do that.
This closes #248 . It also fixes a bug with FREQ=MONTHLY;BYMONTHDAY=-1
as it turns out.
2022-12-18 13:52:48 +13:00
Andrew Ruthven
6e68c221e9
Add more logging to investigate the 28th problem on issue #248
...
I reckon this is useful logging to have, keep it around.
2022-12-18 13:52:48 +13:00
Andrew Ruthven
7a8c7b5b25
Convert loop_limit to a config item
2022-12-15 20:50:44 +00:00
Andrew Ruthven
d93a5196b8
Increase loop limit for finding next instance for Recurrence Rules.
...
With complex rules, it make take more than 10 expansions to find the
next valid date. Increase this to 100, it doesn't slow things down too
much.
I've also added some additional error logging if this issue occurs
again.
Closes #268 .
2022-12-15 20:50:44 +00:00
Andrew Ruthven
0fdb3ff558
Add more logging to try and find the root cause for issue 268
2022-12-15 20:50:44 +00:00
Andrew Ruthven
3909ec52f1
Convert RRule debugging to use dbg_error_log
...
This stops the debugging from being sent to stdout, which goes to the client and
mucks up the test results.
2022-12-15 20:50:44 +00:00
Andrew Ruthven
6ad794eae6
freq_name is only used locally
...
This doesn't need to be an object field.
2022-12-10 14:37:31 +13:00
Andrew Ruthven
aab8ddfd30
Ensure that all fields are defined, not added dynamically.
...
PHP 8.2 deprecates dynmically adding properties. See:
https://php.watch/versions/8.2/dynamic-properties-deprecated
2022-12-10 14:37:31 +13:00
Andrew Ruthven
8096807c6d
Fixes for warnings in PHP 8.1
2022-02-12 23:41:28 +13:00
Piotr Filip
467a6bf890
fix: Rfc5545Duration __toString returns "P" when in_duration==0
2021-09-18 13:48:39 +00:00
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