116 Commits

Author SHA1 Message Date
Frank Steinberg
136fc88c12 Fixed some logging labels. 2016-09-15 00:40:46 +02:00
Florian Schlichting
bb8ae530f5 a helpful comment
(and a lot of whitespace cleanup)
2016-09-14 23:46:41 +02:00
Andrew McMillan
eb80496511 Provide some more useful error details in various PUT failure situations. 2016-06-22 22:36:06 +01:00
Andrew McMillan
0f41ade035 Bugs pointed out by PHPStorm. 2016-06-22 22:27:16 +01:00
Florian Schlichting
71e27e50cb fix Thunderbird mutilating external attendees
semicolon is a separator in iCal, and even though we send it enclosed in
double quotes TB will choke on it and produce a mess
2016-01-08 14:27:37 +01:00
Florian Schlichting
fd5e7450f2 Fix scheduling replies with mixed internal and external (ignored) attendees
"new DAVPrincipal" always returns an object, so $attendee_principal will
never be false
2016-01-06 16:04:00 +01:00
Benedikt Spranger
c35704cc4b handle events started before 1900 (closes: #58)
DTSTART/DTEND can be DATE values instead of DATE-TIME. Our database uses
TIMESTAMP WITH TIME ZONE as field type, which seems to accept 19011224
but not values before 1900, such as 18961224. This patch changes values
between 1000 and 1900 to DATE-TIME by adding "T000000Z"

Patch contributed by Benedikt Spranger <b.spranger@linutronix.de>

Patch limited to dates between 1000 and 1900 by Florian Schlichting
<fsfs@debian.org>
2016-01-01 22:36:25 +01:00
Florian Schlichting
e3789ba10e set dav_name of imported address books to .vcf instead of .ics (fixes #39)
and correct a number of typos and documentation inaccuracies on the way
2015-10-02 23:58:33 +02:00
Matthias
da750a8092 Fixed broken import function (fixes #38) 2015-04-22 13:31:10 +02:00
Kribbio
af774dd89c Create array Organizer for merged with array Attendee on 'handle_schedule_reply' function. 2014-09-25 10:36:41 +12:00
Kribbio
bddab50aac Name property is 'schedule-inbox' and not 'schedule_inbox' 2014-09-25 10:27:45 +12:00
“Paul
96a5a31203 Fixed fetching new external resources on BIND 2014-06-23 21:55:11 +02:00
Ján Máté
31af435cec various cheduling related fixes (there are still few remaining bugs) 2014-05-14 13:32:48 +02:00
Christoph Anton Mitterer
c092a6153e make debug files pathnames more FHS compliant
* Changed the pathnames of the debug files to be a bit more FHS compliant.
2013-09-02 14:40:46 +12: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
Matthias
92c15bed64 Fixed schedule reply handling for missing organizer 2013-09-02 14:27:40 +12:00
Andrew McMillan
bc5edf09cf Handle the ?after=(duration|date) syntax when receiving a PUT of a calendar. 2013-05-29 12:50:50 +12:00
Andrew McMillan
5200c6d996 Allow adding an 'after=YYYY-MM-DD' or 'after=P72D' parameter
Only applies to PUT of a collection.  This will mean that only events
after that date (or absolute duration prior to today).  All repeating
events will still be included.
2013-05-23 13:37:00 +12:00
Andrew McMillan
8417e59918 Better timezone handling for alarm times. 2012-06-30 16:03:53 +12:00
Andrew McMillan
35a5518971 Catch 'events' without a DTSTART gracefully and ignore them. 2012-06-25 08:02:08 +12:00
Frank Steinberg
0c582b9147 Attendees can only modify own event instance and own PARTSTAT on all attendees' instances. Lookup event upon incoming scheduling messages in ANY calendar, not just the default schedule calendar.
Hi,

this proposed patch does the following:

- When an attendee (not the organizer) modifies an object, these modifications should be applied completely to that user's instance of the object. However, the organizer's and other attendees' instances should not be modified in most aspects: Only the attendee's own PARTSTAT modification should be distributed to the organizer's and other attendees' instances. E.g. modifications on VALARMs or TRANSP settings are individual to that single user that sends the modification.
  However, I have doubts whether the organizer should be able to apply such modifications on all attendees' instances, once they exist for other attendees. Currently, I did not yet change this behavior.

- When a user receives an invitation in his schedule-default-calendar, he might move it to another calendar. When a subsequent modification to the event arrives, another instance (with the same UID!), is created in the schedule-default-calendar. This patch makes the server search for an instance of the event in any of the receiving user's calendar, so that no event duplicates are created.

I am not really familiar with the code as a whole, so that the way I implemented these changes is probably not "correct".

Regards,

 -frank
2012-05-07 09:30:03 +12:00
Andrew McMillan
11cb332603 Make sure we increment the sync-token on PUT / DELETE. 2012-04-11 00:39:07 +12:00
Andrew McMillan
a34203a7b8 Sometimes we want the action hook to be post commit.
This adds another hook, and makes log_caldav_action() regular
across both PUT and DELETE (in a transaction), adding post_commit_hook()
as a method with the same signature which is called after the actual
commit, and also matches in both cases.
2012-04-10 23:30:07 +12:00
Andrew McMillan
7a3f2c4744 Make it so that PUT of a calendar collection becomes a synchronisation.
We only write events which differ, and only delete events which aren't
present in the new upload.  If done in append mode then events which
already exist will be updated more cleanly too.
2012-04-06 14:03:55 +12:00
Andrew McMillan
9c7083be24 Fix problems calling import collection from external contexts. 2012-01-30 22:25:03 -08:00
Rob Ostensen
5359e6fb98 ischedule: make invites and replies work 2012-01-31 00:19:45 -06:00
Andrew McMillan
67541c73c2 Handle addressbook import along with calendar import. 2012-01-13 17:42:20 +13:00
Andrew McMillan
91d6a69899 Strip URL-unfriendly characters from UID before using it as URL segment. 2011-11-30 09:17:28 +13:00
Andrew McMillan
54e89d407b Don't allow a / in the UID to infect the path on import. 2011-11-09 09:55:57 +13:00
Andrew McMillan
8ba55217df More fixes to CalDAV Scheduling
- Handle REPLY from ATTENDEE accepting/declining meeting.
- Handle processing on ORGANIZER further changing meeting.
2011-10-24 18:38:48 +13:00
Andrew McMillan
fbd08e42c6 Fixes to calendar_auto_schedule.
- Update the SCHEDULE-STATUS parameter correctly when writing the event
to the organiser.
- Don't include ETag in PUT response when scheduling actions occur.
- Write scheduling resources to attendee calendars even when this is
an event modification.
2011-10-20 12:19:08 +13:00
Andrew McMillan
4d1f936a8b Fix tools.php to allow importing of a directory of calendars again. 2011-10-14 11:08:17 +13:00
Andrew McMillan
147abf71c6 When we create a timezone on PUT we should set the last_modified.
Ideally from the LAST-MODIFIED property in the VTIMEZONE, but failing
that we should at least use the gmdate() of the current time.
2011-10-05 17:00:37 +02:00
Andrew McMillan
5f4b40a643 One more fix for timezone database changes. 2011-09-18 17:03:37 +12:00
Andrew McMillan
f9ad324ba1 Adjustments to timezones representation in the database to support timezone protocol. 2011-09-17 23:40:04 +12:00
Andrew McMillan
963de077d8 Fix typo in "SCHEDULE-AGENT" parameter name. 2011-09-14 11:26:53 +12:00
Rob Ostensen
b947e1c7e2 skip scheduling attendees with schedule-agent set to something other than server
Signed-off-by: Rob Ostensen <rob@boxacle.net>
2011-09-14 11:25:28 +12:00
Andrew McMillan
4e5b824302 Make PUT processing use olson_from_tzstring(). 2011-09-13 13:12:35 +12:00
Rob Ostensen
a4523dc7dd don't deliver to the current user when scheduling 2011-09-10 11:22:11 +12:00
Andrew McMillan
9a5f021173 To better represent the line where errors occurred... 2011-09-10 09:09:14 +12:00
Andrew McMillan
4f01fe0a17 Add items to attendee's calendars as well as to their inboxes on PUT. 2011-09-10 00:17:27 +12:00
Andrew McMillan
14e59fa781 Changing signatures of the write_resource() function. 2011-09-08 23:27:44 +12:00
Andrew McMillan
3b76856b44 Refactor write_resource to accept a DAVResource rather than just a path. 2011-09-08 13:51:31 +12:00
Andrew McMillan
d78620398c Fix METHOD on scheduling request. 2011-09-08 09:40:47 +12:00
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
7214c586ae Logging here should be as 'PUT', in general. 2011-08-26 01:03:53 +12:00
Andrew McMillan
06dcb0b166 Tidy up formatting. 2011-06-03 13:41:53 -07:00
Andrew McMillan
4a72ff16a3 Respond with 5.3; no Scheduling Support for user rather than 3.7
Also allow for this response when someone manually disables
the scheduling extensions support.
2011-05-17 00:21:08 +12:00
DAViCal Administrator
13fa85d8ab Only rollback if we are in a transaction. 2011-05-12 17:44:52 -04:00
Andrew McMillan
72baec50a7 Handle triggers that are after the thing they are related to.
Signed-off-by: Andrew McMillan <andrew@morphoss.com>
2011-04-04 18:02:42 +12:00