Andrew Ruthven
b40c96debb
If time-range is set, only return matching events.
...
Closes #280
2023-03-12 20:19:10 +01:00
Andrew Ruthven
15d01c8bed
Store DTSTART and DTEND from user in shadow columns
...
We want to store the calculated dtstart and dtend in the database so we can
use SQL to fetch records. However, we also need what the user sent us so we
can allow prop-filters to be used as well.
So we store what the user sends us in dtstart_orig and dtend_orig and only
use for relevant prop-filter reports.
2023-03-12 20:17:43 +01:00
Andrew Ruthven
149ec3555f
CLASS is an optional field, don't set it to PUBLIC
...
As specified in RFC5545 the CLASS field is optional, and if it isn't present
is treated as PUBLIC. To allow a is-not-defined prop-filter to find
resources without CLASS set, we need to not store in the database. This
turns out to be okay, because to enforce privacy we always check to see if
it is PRIVATE or CONFIDENTIAL. We never check to see if it is PUBLIC.
Closes #284 .
2023-03-12 20:05:48 +01:00
Andrew Ruthven
4a380b12a2
Fixes to is-defined and is-not-defined prop-filter
...
Gosh, this was completely broken previously. A number of different scenarios now work.
I have used some of the state I've seen in a largish production database with the
presence of NULL and empty strings. I've assumed that empty string should be treated
as is-not-defined. Happy to be talked out of that.
Closes #281 .
2023-03-12 20:05:48 +01:00
Andrew Ruthven
7349944fbc
Remove change entry in file, that's what git history is for
2023-03-12 20:05:48 +01:00
Andrew Ruthven
be60ec1778
Improve on SQL syntax fix to keep logging working, and add regression test.
...
Closes #279 .
2023-02-04 03:09:40 +00:00
Tobias Brox
6e6ff6b115
Fix SQL syntax error if is-not-defined is used as a prop-filter.
2023-02-04 03:09:40 +00:00
Andrew Ruthven
02af0c58ee
Further fixes for PHP 8.1
...
I don't know why this only show up in the gitlab runners. I have PHP 8.1
locally.
2022-02-13 01:04:47 +13:00
Florian Schlichting
007bf95589
use foreach() instead of deprecated each() ( fixes #190 )
2019-12-06 18:21:08 +08:00
Jamie McClymont
9522fd5f3c
Make range-based calendar queries use the new first_instance_start/last_instance_end columns
2019-02-28 16:00:19 +13: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
a51caa38f1
properly check if $row has been unset ( fixes #141 )
...
Also fix deprecation warnings introduced with PHP 7.3 about the use of
continue inside switch statements, see
https://wiki.php.net/rfc/continue_on_switch_deprecation
2018-12-22 19:13:13 +01:00
Scott Balneaves
8052111635
modify hide_older_than logic to allow through recurring events ( fixes #103 , !36 )
2017-04-07 15:08:10 +02:00
Florian Schlichting
404d9ab449
fix remaining apigen errors (duplicate function names etc)
2016-12-30 08:54:24 +01:00
Florian Schlichting
7cadfc9463
lets have only one function check_for_expansion()
2016-12-30 08:54:19 +01:00
Florian Schlichting
eb7f2edc0c
eliminate trailing whitespace, expand tabs
2016-12-30 08:52:44 +01:00
“Paul
9dc026eb28
Support multiple text-match elements within a filter query.
2014-06-23 21:03:01 +02:00
Ján Máté
c2b6be3b65
fix for $c->hide_TODO processing and user-agent extension
...
new option: if set to PHP regex string then hide_TODO is enabled if the client
user-agent string matches the regex for example:
$c->hide_TODO='#^iOS.*dataaccessd.*#';
will hide all todos from non-owner/non-admin users for iOS devices
2013-10-25 12:16:27 +13:00
Ján Máté
16f617b637
fix of major todo synchronization issue if $c->hide_older_than option is set
...
todo without start date was never synced
2013-10-25 12:16:27 +13:00
Christoph Anton Mitterer
8e60bb3124
set line endings of most text files to LF
...
* Changed the end-of-line encodings of all non-Windows-related and non-autogenerated text files to use UNIX LF (lots of them had mixed LF/CRLF).
Conflicts:
inc/caldav-PUT-functions.php
2013-09-02 14:37:23 +12:00
Andrew McMillan
a555fdad40
Deny calendar-query report on root, principal or addressbook
...
Even if recursive report is enabled.
2012-07-02 22:40:43 +12:00
Andrew McMillan
9eb023f7ef
Handle allprop and ommission of prop tag in calendar-query.
2012-06-30 16:04:57 +12:00
Andrew McMillan
ca19d2369a
Fix DISTINCT clause where DAViCal is configured to allow recursive calendars.
2012-06-27 12:16:38 +12:00
Andrew McMillan
51e8ddd032
Use fully namespaced tag.
2012-05-20 21:42:19 +12:00
Andrew McMillan
45d1fd817e
Query efficiency fixes.
2012-05-14 21:03:42 +12:00
Andrew McMillan
acc6c719f7
Simple changes for new XML processing.
2012-04-30 14:13:03 +12:00
Andrew McMillan
612ac73a30
Try to short-circuit so we only do expansion if we know we need it.
2011-12-07 14:53:26 +13:00
Andrew McMillan
10afabbeb9
Rationalise confidential event rewriting and fix $c->hide_alarm function.
2011-10-31 13:15:49 +13:00
Andrew McMillan
e913600c70
Switch calendar query to new getVCalendarRange() function.
...
This fixes various bugs in time-range handling.
2011-10-06 23:34:18 +02:00
Andrew McMillan
84a7ea1150
More tweaking of time-range query construction.
...
And there will be further work on this too...
2011-10-06 11:07:37 +02:00
Andrew McMillan
d6524a87f4
Rewrite time-range SQL clauses for greater clarity.
2011-09-19 12:34:26 +12:00
Andrew McMillan
eaeec0bc02
This is the fix we are looking for regarding time-range queries.
2011-09-19 11:08:44 +12:00
Andrew McMillan
67ccb2ae03
Fix an error in calendar-query handling of time-range queries.
2011-09-17 15:38:57 +12:00
Andrew McMillan
af3478cd25
[Unfinished] Migrating away from deprecated iCalendar class.
...
This is working, to a point... Some regression tests are still failing
and I need to investigate why, but this is substantially finished. The
remaining fixes will need to be in AWL/vCalendar in any case.
2011-09-14 23:05:20 +12:00
Andrew McMillan
bc1e264c6b
Allow null dtstart to match any range, as per Scheduling Draft.
2011-09-14 11:27:15 +12:00
Andrew McMillan
b901981c7c
Fix calendar-query handling of properties.
2011-08-24 20:38:32 +12:00
Andrew McMillan
452cd69100
Handle <prop> following <filter> & a single-ended time filter.
2011-08-23 10:44:37 +12:00
Andrew McMillan
db9083b587
Include tablename qualifier.
2011-06-03 14:46:33 -07:00
Andrew McMillan
2a1af89c77
Fix further issues with prop-filter handling.
2011-06-03 13:59:35 -07:00
Andrew McMillan
5e3ed8dedc
Fix bug handling multiple prop-filter clauses.
2011-06-03 13:43:25 -07: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
f4c73afb03
Finally give up on the SQL rrule pre-processing.
...
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-01-04 23:23:33 +13:00
Andrew McMillan
4614ae6449
Do old TODO and remove it. Nice.
2010-11-06 22:36:22 +13:00
Andrew McMillan
a828daaecd
Support recursive REPORT query if configured to allow it.
2010-11-05 09:54:18 +13:00
Andrew McMillan
3637c99298
Omit the <response> for event outside the time range - when expanded.
2010-10-09 09:00:11 -04:00
Andrew McMillan
845db16c55
Switch event expansion to use vComponent.php rather than iCalendar.
2010-08-30 17:02:17 +12:00
Andrew McMillan
f50d6d7170
Don't exclude NULL DTSTART if reporting on scheduling collection.
2010-03-20 01:07:23 +13:00
Andrew McMillan
58c82938d1
Finally get rid of that PgQuery properly.
2010-03-17 17:32:52 +13:00
Andrew McMillan
73891a9fc0
Migrating REPORT calendar-query to AwlQuery.
2010-03-16 15:08:00 +13:00
Andrew McMillan
961d1c494a
Make calendar-query report work with bound collections.
2010-03-15 23:55:29 +13:00