Commit Graph

57 Commits

Author SHA1 Message Date
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
e69918f583 * CalDAV/CardDAV: return urn:uuid as last record in calendar-user-address-set, as according to iCal4OL developer, some clients might have problems with it, also adding both full uri and just path of principal url, as calendarserver does it 2012-09-24 07:07:57 +00:00
Ralf Becker
bf9efd2acc slightly different expand-property report requested from OS X 10.6.8 iCal requests properties from DAV namespace not explicitly specified 2012-07-17 15:17:22 +00:00
Ralf Becker
727bd06868 fix returned xml for correct expansion is empty 2012-07-15 09:55:46 +00:00
Ralf Becker
b4f087e41e correctly returning multiple expanded properties as eg. calendar-proxy-(read|write)_for example 2012-07-15 09:12:28 +00:00
Ralf Becker
b690d98fc4 * CalDAV: expand-property reports queried by iCal from OS X 10.7.4
- expanded-group-member-set
- expanded-group-membership
- calendar-proxy-read-for
- calendar-proxy-write-for
Both calendar-proxy reports can be combined in one request, this is NOT yet handled correct!
2012-07-14 19:41:43 +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
c3c785de0b * CalDAV: fixed PHP Fatal Error when iCal contains invalid participant url like Lighttnings "invalid:noemail" 2012-04-19 12:51:04 +00:00
Ralf Becker
15c9fd0d32 * CalDAV/CardDAV: log failed requests with ### like exceptions to ease diagnose problems, log if clients requests accounts not visible because of account-selection preference, skip proxys if not visible 2012-04-12 10:44:00 +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
01ce3bd88d * CalDAV/CardDAV: /addressbook-accounts/ and PROPPATCH for addressbooks/calendars for every namespace but CalDAV, CardDAV or Calendarserver (displayname or *-describtion are ok) 2012-01-30 05:11:05 +00:00
Ralf Becker
a679a49196 * CalDAV/CardDAV: show addressbooks/calendars selected to sync in prefs under users addressbook-/calendar-home-set (incl. account addressbook, if enabled) 2012-01-25 03:25:42 +00:00
Ralf Becker
c7dc8748b7 disabling Lightning hack for fixed version 1.1.1, where bug is fixed and added verbose error_log, if Lightning hack is enabled 2012-01-10 00:20:00 +00:00
Ralf Becker
89fdaa7691 disabled NOT working addressbook-findshared report, which is only used in 10.6, but currently creates and error with 10.6 addressbook 2011-11-14 11:54:59 +00:00
Ralf Becker
f993bf1051 no need to add group-members as additional proxys, ACL grants to groups are understood by WebDAV ACL (tested with iCal) 2011-11-02 14:03:36 +00:00
Ralf Becker
69288160ae fixed not working proxy display in iCal, if resource-name contains a german umlaut: names get now transliterated to ascii (they are unique anyway, as prefixed by resource-id) 2011-11-02 13:41:41 +00:00
Ralf Becker
5202d0db2d do NOT query proxys for app user has no rights too, can give SQL error, if app is not even installed, eg. resources 2011-10-25 08:08:01 +00:00
Ralf Becker
e0690d2342 type attribute for principal-property-search report limiting search on a certain type/tree 2011-10-20 20:00:13 +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
586a07924a implementation of (announced, but previously not implemented) acl-principal-prop-set report 2011-10-17 06:44:09 +00:00
Ralf Becker
a949acf031 locations and resources principal tree, should allow (untested!) to add resources via iCal autocomplate and "subscribe" to resource calendars 2011-10-16 08:53:07 +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
b2ea1a7d05 new method groupdav_principals::url2uid to convert a principal url to a calendar uid, fixes emclient uses urn:uuid urls in outbox posts to get freebusy 2011-10-07 06:02:30 +00:00
Ralf Becker
c670740a71 fixed encoding issue with group-name containing a space, causing eg. OS X iCal to not display proxys 2011-10-04 07:27:33 +00:00
Ralf Becker
60ba2b9628 fixed admins not having access to all accounts, if account_selection was none or groupmembers, from which admins are explicitly excepted 2011-10-03 13:40:41 +00:00
Ralf Becker
0837c263ff CalDAV principals: fixed wrong namespace causing iOS5 iCal to NOT autocomplete participants 2011-10-03 09:59:50 +00:00
Ralf Becker
aac290a330 fixed typo: record-type is "users" not "user" 2011-09-26 17:08:36 +00:00
Ralf Becker
14dde4c1ff iOS iCal sends now pricipal-property-search reports to autocomplete participants, but not (yet) displays the result, for whatever reason ... 2011-09-25 12:00:20 +00:00
Ralf Becker
b4b04844fe added two more match-type values from CardDAV:text-match 2011-09-24 21:15:44 +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
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
d5f9c5b93c - show user collections /<username>/(addressbook|calendar|infolog)/ in propfind
- only define addressbook-home-set and calendar-home-set for principal-collections
- advertice /addressbook/ as addressbook-gateway (searchable collection for all contacts accessible to a user)
2011-09-20 19:16:24 +00:00
Ralf Becker
8b74af09c5 correctly handle (forced) user preference account-selection "none" or "groupmembers": do not show other groups or users 2011-09-19 14:15:33 +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
b49aae4675 - using now associative properties for easier extending, which get converted at end of add_collection to HTTP_WebDAV_Server properties
- added addressbook-findshared report to principals
2011-09-17 12:31:47 +00:00
Ralf Becker
6ce0906838 * CalDAV: implemented calendar proxy support and cleaned up principals tree 2011-09-15 22:45:00 +00:00
Ralf Becker
87ee0f0088 * CardDAV: store name part of URL from client PUT request, to fully comply with CardDAV spec 2011-04-05 20:39:13 +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
Ralf Becker
20a409ca52 * iCal on iPhone detects URL now correct
reverted calendar-home-set to report only users calendar, as reporting multiple break propfind
2010-10-20 18:59:27 +00:00
Ralf Becker
4e65bde081 urlencode and decode account_lid in url to cope with group-names with space in it, which stall iPhone OS 4.2 devices 2010-10-20 14:37:48 +00:00
Ralf Becker
20fb58dd6a loop over existing addressbooks, to make sure each ab is only once in addressbook-home-set, even when selected multiple times in the prefs because of symbolic ab like "primary group" 2010-10-20 13:23:19 +00:00
Ralf Becker
261b4521c8 as the pricipal of current user is influenced by GroupDAV prefs, we have to include them in the etag 2010-10-20 12:07:10 +00:00
Ralf Becker
2575da2575 * GroupDAV preference for addressbook-home-set (requires to register hooks) 2010-10-19 23:30:16 +00:00
Jörg Lehrke
80a9456eee cleanup forgotten test code in GroupDAV 2010-10-17 23:12:19 +00:00
Jörg Lehrke
33bd0fed50 Announce all available addressbooks and calendars of the current user with GroupDAV 2010-10-09 22:49:10 +00:00
Ralf Becker
ed733eef42 * iPhone and Mac Addressbook support aka Apple CalDAV/CardDAV autodetection
Addressbook does NOT allow to specify the URL, unlike iCal which allows it after autodetection fails.
This, some XML specifics set now for Apple addressbook user-agents and etags for addressbook collection itself
allow now to use EGroupware with iPhone or Mac addressbook. The later was working before, if you edited the URL
into a decompiled plist file, but failed now because of a new REPORT it tries on the principal, to find out shared
addessbooks, which we not yet support, but failed to tell in the correct way (501 Not Implemented).
Addressbook sync now the personal addressbook, because that is what we tell it as addressbook-home-set.
We should add some configuration so user can choose what addressbook to set as addressbook-home-set, or to set
the "all" addressbook (/addressbook). For the later we could add some prefs like SyncML to specify filters or
eg. a distribution list.
2010-09-25 09:08:37 +00:00
Jörg Lehrke
75b25bb796 Fix FroupDAV report issue 2010-07-02 05:01:15 +00:00
Jörg Lehrke
affd4b1885 Fix CalDAV issues 2010-06-29 09:19:25 +00:00