Ralf Becker
4d11e020e8
* Calendar/CalDAV: fixed recuring event disapeared from device, if a rejected recurrence existed and a change from an other user caused a reload (412 Precondition Failed)
2013-03-14 14:47:06 +00:00
Ralf Becker
9d8c2f42c9
* CalDAV: fixed accepting event removed it from calendar, because email address of a deleted account was prefered over regular account, correctly reporting not found URLs in multiget report
2013-01-25 17:52:28 +00:00
Ralf Becker
cea2c54ee1
if we require an extra invite grant, we fail if that does not exist (bind privilege is not given in that case)
2013-01-24 15:32:56 +00:00
Ralf Becker
0fdd106cc2
* CalDAV: remove "bind" privilege (create new events right) on other users or groups calendar, if invite requires special ACL grant, which current user does NOT have
2013-01-24 12:54:08 +00:00
Ralf Becker
8dde16eda6
* CalDAV/Calendar: fixed not working status change, if participant has no edit rights
2013-01-15 13:12:10 +00:00
Ralf Becker
c327cba153
consistently send ETag by using and extending put_response_headers
2012-10-29 12:23:17 +00:00
Ralf Becker
4b0559ab4d
* CalDAV: allow organizer (edit-rights) update with If-Schedule-Tag-Match eg. from iOS or OS X iCal when event series was changed with "this in future" semantics
2012-10-23 11:35:07 +00:00
Ralf Becker
5511838936
new CalendarServer:(created|updated)-by properties used in iOS6
2012-10-08 11:14:07 +00:00
Ralf Becker
edba919994
* CalDAV: deleting an already declined invitation returned 403 Forbidden, instead 204 No Content
2012-10-02 12:57:31 +00:00
Ralf Becker
0af9ed0cd9
disable sync-collection report for inbox and outbox, as the way they are created in EGw, we cant support sync-collection propperly
...
we filter by status unknown, but do not report event as deleted, when status changed to accepted
2012-10-02 10:35:12 +00:00
Ralf Becker
841182ff4e
* CalDAV: privileges in other users calendar where reported wrong, leading clients to believe they have write rights here
2012-10-02 05:17:32 +00:00
Ralf Becker
2e6629a548
use no end-date / limit into the future, as unchanged entries would never be transferted later on, for sync-collection with empty sync-token
2012-09-27 20:19:28 +00:00
Ralf Becker
db4bdb7f74
* CalDAV/Calendar/Resources: calendars of resources can now be accessed or subscribed via CalDAV, to subscribe use CalDAV preferences
2012-09-27 15:46:08 +00:00
Ralf Becker
52675388a3
* CalDAV/CardDAV: sync-collection report for all apps allowing a more efficient sync
2012-09-26 14:30:47 +00:00
Ralf Becker
7bf5b90739
* Calendar/CalDAV/eSync: tracking participant status changes now in modified date and user of calendar entry (main table), fixes sometimes not synced status changes and simplifies code a lot
2012-09-25 11:54:41 +00:00
Ralf Becker
81e1bff44d
* Calendar/CalDAV: fixed not working accepting or rejecting recurrences of event series via CalDAV scheduling (eg. iOS devices)
2012-08-15 15:27:11 +00:00
Ralf Becker
b025809df1
* CalDAV/CardDAV expand-property report for principals used in iCal on OS X 10.7
2012-06-27 20:08:56 +00:00
Ralf Becker
21c49b0b26
* Calendar/CalDAV/eSync: fixed etag generation to NOT query maximum user-modification date for each entry, fixed etag and ctag for eSync to only use recurance master, as ActiveSync event does not contain extra participant data for exceptions (virtual and real)
2012-03-12 08:20:36 +00:00
Ralf Becker
9b71a5c17a
fixed own calendar was listed as shared too
2012-03-01 13:28:38 +00:00
Ralf Becker
2bc821f428
use groupdav->log() for all permanent error-messages, to log the into request-log too, if both If-Match and If-Schdule-Tag-Match given use If-Match for organiser/owner and If-Schedule-Tag-Match for attendees/participants
2012-02-21 20:04:45 +00:00
Ralf Becker
2939d7bbf3
propagate data from settings hook to handlers, to fix failed installs because setup was not detected
2012-02-14 17:38:45 +00:00
Ralf Becker
d89f48d9c1
implement RFC 5995 add member to collection via POST, but not yet set DAV:add-member due to problems with OS X clients
2012-02-04 20:24:01 +00:00
Ralf Becker
c5ca42a4b1
move app-specific settings to app-handler
2012-02-04 01:24:34 +00:00
Ralf Becker
d21be8d871
move logic of which addressbook/calendars are shared into app-handler
2012-02-04 01:03:56 +00:00
Ralf Becker
5d2d28ee96
switching schedule-tag on again, as the issue seems to be a (hard to reproduce) bug, PUTs should either have If-Match or If-Schedule-Tag-Match
2012-01-30 23:55:12 +00:00
Ralf Becker
f2acf7707f
outbox supports VFREEBUSY too, it is required from OS X iCal to autocomplete locations
2012-01-30 23:53:06 +00:00
Ralf Becker
e7269e6d29
do NOT overwrite calendar-description set via PROPPATCH
2012-01-30 00:40:55 +00:00
Ralf Becker
8645bac6a3
implement CalDAV <calendar-data><expand start="..." end="..."/></calendar-data> to return already expanded recurrences in a given time-range, instead of just a recurring event with a recurrence rule
2012-01-24 05:04:35 +00:00
Ralf Becker
f37f8578cf
- fixed calendar_ical::importVCal() to (again) return 0 on etag mis-match, as documented and return 412 Precondition Failed in that case
...
- Disabling Schedule-Tag handling completly, as current implementation seems to create too much trouble with iCal under OS X or iOS, which send If-Schedule-Tag-Match condition event for major updates, not just changing own status or alarms
2011-11-08 21:09:06 +00:00
Ralf Becker
5e132c5a53
Two more fixes (thanks to Roland Scherer):
...
- using maximum from calendar modified and user_modified for getlastmodified, as for the etag
- invitations in inbox have to use METHOD: PUBLISH (not REQUEST)
2011-10-23 08:13:35 +00:00
Ralf Becker
291b540aa7
fix for iCal4OL using WinHTTP only supporting a certain header length
2011-10-23 07:59:05 +00:00
Ralf Becker
8096c34bef
- fixed ORGANIZER/ATTENDEE in iCal for CalDAV:
...
+ do NOT use ORGANIZER for events without further participants or a different organizer
+ do not include event owner/ORGANIZER as participant in his own calendar, if he is only participant
--> all other cases include ORGANZIER and additional as ATTENDEE (tested with iCal on iOS and OS X)
- implemented schedule-tag and If-Schedule-Tag-Match header from CalDAV Scheduling
- allow to change participant status and add/remove alarms with schedule-tag instead of ETag
--> If-Schedule-Tag-Match header has precedence over If-Match (ETag) header, but limits changes to participant status and alarms
--> ToDo: test accepting, rejecting recurrences
2011-10-20 20:10:04 +00:00
Ralf Becker
d898e6c627
calendar-timezone needs full vcalendar component, not just a vtimezone
2011-10-20 14:01:16 +00:00
Ralf Becker
ceaec3d3c1
added calendar-timezone property, changed groupdav_handler::extra_properties signature (removed static and added $user parameter), removed calendar-user-address-set property belonging only to principal
2011-10-20 13:35:01 +00:00
Ralf Becker
512138ed56
diverse fixes for resources&locations, thought iCal only autocompletes locations, no idea why it skips resources, thought resources booked via webgui are shown correct
2011-10-17 15:36:28 +00:00
Ralf Becker
b2fa12eb3e
remove unusual and unnecessary "EGw-...-wGE" prefix/postfix from etag and ctag
2011-10-08 11:34:55 +00:00
Ralf Becker
e05ce4d614
enclosing etag in quotes, as most servers do
2011-10-05 08:15:24 +00:00
Ralf Becker
bedafe6c79
fixed "403 Forbidden" when a participant with a group invitation tried to delete the event from his calendar
2011-10-05 07:39:11 +00:00
Ralf Becker
23584253fd
not returning deleted entries for read, as they might have identical UID for caldav_name as a non-deleted entry and would therefore block access to these
2011-10-04 14:18:35 +00:00
Ralf Becker
0de2f3c527
fixed profind depth 0 directly on a resource contains name-part twice
2011-10-04 12:16:03 +00:00
Ralf Becker
288a88239b
we should not return an etag here, as we never store the PUT ical byte-by-byte
2011-10-03 15:48:24 +00:00
Ralf Becker
175197d7c0
* CalDAV: no METHOD:PUBLISH for CalDAV outside the inbox
2011-10-03 12:53:28 +00:00
Ralf Becker
b11fa0302f
* CalDAV/GroupDAV: return empty collection, as iCal under iOS 5 had problems with returning "404 Not found" status
2011-09-30 12:52:40 +00:00
Ralf Becker
0a7b7e40c8
- improved principal-property-search report to support test=(allof|anyof) and match-type=(contains|starts-with) attributes used by iOS iCal to autocomplete participants
...
--> participants are - thanks to CalDAV scheduling - now setable for new event, thought searching for them does NOT yet work, no idea why ;-)
- added somehow missing calendar-query report to supported-report-set
2011-09-24 21:10:53 +00:00
Ralf Becker
3f830b2bff
- implemented principal-property-search report required for WebDAV ACL and used by Lightning to search for calendar-home-set
...
- had to implement a workaround for Lightning, as it wrongly interprets principal-property-search for calendar-home-set in the principal-collection-set
matching our *DAV root returning all principals, as all have a matching calendar-home-set, as NOT supporting CalDAV scheduling
--> search only current user's principal, when Lightning searches for calendar-home-set
- OPTIONS / return now calendar-auto-scheduling too, as Lightning only searches there, to check if server supports CalDAV scheduling
- fixed outbox freebusy request to cope with no X-CALENDARSERVER-MASK-UID and a single attendee
2011-09-23 12:04:21 +00:00
Ralf Becker
df1d9e81b2
- implemented regular CalDAV free-busy-query report
...
- fixed FBTYPE for tentative accepted invitations: BUSY-TENTATIVE
- fixed typo stalling outbox free-busy request
2011-09-22 19:49:01 +00:00
Ralf Becker
b5269738d7
read-free-busy, schedule-send and schedule-deliver privileges
2011-09-22 18:46:16 +00:00
Ralf Becker
c26fcffda7
first step for CalDAV scheduling
...
- principal reports scheduling-inbox-URL /<username>/inbox/ and scheduling-outbox-URL /<username>/outbox/
- outbox collection contains no events
- outbox correctly answers POST for freebusy information
- outbox respons to all other POST with "204 No Content", ignore client request to deliver invitations
- inbox collection contains events of unknown status (PARTSTAT=NEEDS-ACTION)
- inbox responds to DELETE with "200 Ok"
--> iCal under OS X now shows freebusy times :-)
(had to add "write-content" privilege for calendar collections user has edit rights for, to allow adding events)
2011-09-22 15:22:52 +00:00
Ralf Becker
1f39e5c562
- added WebDAV ACL props supported-privilege-set and current-user-privilege-set
...
+ currently only standard WebDAV privileges: read, read-current-user-privilege-set, write-content, bind and unbind used
+ they get only queried for collections, thought we dont report any write* on collections, as we dont allow to create calendars or change properties
- new groupdav::add_resource() method used to add all resources (incl. collections) to propfind or report requests
- improved autoindex to show nicely indented hierarchical properties
2011-09-21 20:08:21 +00:00
Ralf Becker
03ed1d3ddb
- refactored code to use a single add_collection method in groupdav class
...
--> app groupdav classes now get calling groupdav object as parameter
Had a quick test with iOS & OS X addressbook, calendar and with Lightning
2011-09-18 10:56:56 +00:00
Ralf Becker
17f6dad7eb
* CalDAV: fixed and enabled iterator again, to minimize resource usage, fix for mystylite bug #1942
...
it was disabled because sql query was broken, because we did not use MIN(cal_end) multiple events per cal_id were returned
2011-08-03 16:13:56 +00:00
Ralf Becker
816cae2dfa
* CalDAV/GroupDAV: disabling not working iterator, causing not all events to be returned to client
2011-07-08 08:01:33 +00:00
Ralf Becker
c4a01cd4fc
* CalDAV: handle deleted events, as not existing (404 Not Found)
2011-06-19 08:54:06 +00:00
Ralf Becker
0bfd238e3f
* CalDAV: store name part of URL from client PUT request, to fully comply with CalDAV spec
2011-04-06 19:26:10 +00:00
Ralf Becker
66c61cb74e
- move all filtering into SQL query in calendar_so, to be able to correctly return N rows starting from row M
...
- re-enabling propfind iterator again for calendar (fetching events in chunks of 500), to lower memory footprint
Please note: changed SQL queries used for CalDAV do not take changed participants (or status) in exceptions into account
2011-04-05 15:32:20 +00:00
Ralf Becker
3bb9e89bcf
* CalDAV/Lightning: fixed under some conditions infinit poping up alarms and user not able to add alarms
...
- Lightning pops up alarm, until Sequence/etag get updated: if user has no edit rights on an other users calendar, etag never got updated, now we update it
- fixed user was not able to add alarms via CalDAV, if he had no edit rights for event (was always possible in web UI)
- alarms from other users calendars are not included any more, as they make no sense but a lot of trouble
- fixed wrong condition on adding alarms, causing some alarms no being saved
2011-03-05 10:21:32 +00:00
Jörg Lehrke
c59cb90742
* CalDAV: Apply other users' calendar color, too
2011-02-13 21:08:29 +00:00
Ralf Becker
9981730b29
moved ctag to calendar_bo, to use it in CalDAV and ActiveSync, thought it needs to be reworked, as it is to expensive performance-wise
2010-12-02 22:27:32 +00:00
Ralf Becker
07e09c71d8
move etag to calendar_bo
2010-11-26 21:32:10 +00:00
Ralf Becker
0571fc21e0
* support multiget report on url with uid, as lightning uses multiget after a PUT on the PUT url, which is the uid
2010-11-08 09:25:58 +00:00
Ralf Becker
f08decd739
/infolog/ does not imply setting the current user (for new entries it's done anyway)
2010-10-26 09:35:44 +00:00
Jörg Lehrke
298c4ebaf1
Fix time-range parser for CalDAV
2010-10-23 11:43:52 +00:00
Ralf Becker
8dee351338
avoid invinit recurrence on broken calendar entries (reference AND recur_type set)
2010-10-13 14:08:24 +00:00
Jörg Lehrke
a85fdb55cd
Allow to add events to group calendars via CalDAV
2010-09-29 16:54:16 +00:00
Jörg Lehrke
9ae3b93e63
Fix CalDAV ctag calculation
2010-09-14 05:07:33 +00:00
Jörg Lehrke
6fde93d15b
Improved ctag for CalDAV
2010-09-12 12:44:22 +00:00
Jörg Lehrke
07063ebf7a
Update cal_modified for all required cases; adjust CalDAV ctag function
2010-09-11 18:08:48 +00:00
Jörg Lehrke
44c3c7eb9a
Improve iPhone iCal support
2010-08-15 06:42:05 +00:00
Ralf Becker
a3d06cb638
improved performance by not checking exceptions for referencing a master which mentions them as exceptions
2010-08-05 17:11:13 +00:00
Jörg Lehrke
75b25bb796
Fix FroupDAV report issue
2010-07-02 05:01:15 +00:00
Jörg Lehrke
09bc2c09cd
Fix CTag issues for GroupDAV
2010-06-29 13:52:56 +00:00
Jörg Lehrke
affd4b1885
Fix CalDAV issues
2010-06-29 09:19:25 +00:00
Jörg Lehrke
5cb14e716e
Fix CalDAV delete event issue
2010-06-28 17:34:57 +00:00
Jörg Lehrke
bce68a9e82
Fix CalDAV group attendee issue; various GroupDAV improvements
2010-06-27 22:16:22 +00:00
Jörg Lehrke
53ebb5dc19
Improve charset support for CalDAV
2010-06-14 07:51:28 +00:00
Ralf Becker
a7fd927ae7
doing read (without acl check) first and then check acl on read event, to save reading it multiple times
2010-06-01 09:22:06 +00:00
Jörg Lehrke
4c1e3a9e70
Fix CalDAV series event handling
2010-05-19 16:13:37 +00:00
Jörg Lehrke
03885572b6
Fix etag/ctag issues for CalDAV
2010-05-19 15:25:07 +00:00
Jörg Lehrke
2552476036
Special Lightning CalDAV treatment
2010-05-18 14:41:22 +00:00
Jörg Lehrke
d2c03cd287
Fix CalDAV PUT failure
2010-05-18 10:03:21 +00:00
Jörg Lehrke
27f1fef944
Fix CalDAV invitation issue (Stylite#513)
2010-05-17 14:20:34 +00:00
Ralf Becker
3629e919f5
"disabling not working iterator:
...
Replacement code for in r29270 removed filter
$cal_filters['query']['cal_reference'] = 0;
only works, if all recurrences and the master are returned in a single chunk, otherwise events get returned multiple times"
2010-05-14 17:51:55 +00:00
Jörg Lehrke
362afdb312
Fix GroupDAV private event issue
2010-05-14 08:35:16 +00:00
Ralf Becker
06b8c5ac75
"fix for bub #2579 - PHP Fatal error: Using $this when not in object context
...
--> get_path can NOT be static"
2010-05-09 20:23:53 +00:00
Jörg Lehrke
df6e3195e4
User Calendar CalDAV directory contains only 'not rejected' entries
2010-05-01 16:24:05 +00:00
Jörg Lehrke
211d2818cb
Enable ../groupdav.php/calendar/ again
2010-04-16 21:53:34 +00:00
Jörg Lehrke
4dc9ed98f9
Fix hierarchical properties issue
2010-04-16 18:58:32 +00:00
Jörg Lehrke
30a3296c8e
Optimze and clean up GroupDAV
2010-04-13 15:31:59 +00:00
Jörg Lehrke
fc07594746
Fix GroupDAV iterator issue
2010-03-16 20:44:55 +00:00
Jörg Lehrke
7220d96847
Use iterator approach in GroupDAV; fix various issues
2010-03-15 09:55:16 +00:00
Jörg Lehrke
89f7d50cec
Differentiate GroupDAV collections
2010-03-11 07:30:46 +00:00
Jörg Lehrke
a8804a44ef
GroupDAV updates
2010-03-06 23:06:43 +00:00
Jörg Lehrke
c816b4188e
Fix (pseudo) exception handling in CalDAV
2010-02-26 12:37:07 +00:00
Jörg Lehrke
85b6ba5ef0
Cleanup issues found during backport
2010-02-23 18:19:12 +00:00
Jörg Lehrke
21ccdd5f28
Fix various synchronization issues (SyncML & CalDAV)
2010-02-17 13:29:28 +00:00
Jörg Lehrke
65c06844e5
Fix wrong classification in get_event_info() and UID handling for CalDAV
2010-02-11 20:50:35 +00:00
Christian Binder
a92a3b4a7b
fixed typo
2010-01-22 19:45:25 +00:00
Ralf Becker
dd0a5c1b13
Fixed CalDAV/GroupDAV to include all exceptions of a series in the
...
resource of the series master. Now the status of single recurrences of a
serie are send to the clients as (virtual) exceptions as Jaytrax&Joerg
implemented it already for SyncML.
The implementation is unfortunately a little different, as CalDAV
differs from SyncML and I dont know the SyncML part that well. Maybe we
can re-unify the code again together.
Tested so far with Tb3/Lightning1.0b and a little with iPhone.
Please let me know, if you run into problems with other clients.
2009-12-27 04:21:33 +00:00
Ralf Becker
4f69a5d1b0
using references to loop of items in profind and some cleanups
2009-10-16 08:36:28 +00:00
Ralf Becker
8dc163f04f
some modifications to get iPhone working with EGroupware
2009-07-14 19:51:03 +00:00