Commit Graph

52 Commits

Author SHA1 Message Date
Ralf Becker
2d88f9db75 full implementation of draft-murchison-webdav-prefer-05, incl. return=representation for 412 conflicts 2013-10-01 10:55:44 +00:00
Ralf Becker
188328b1d0 fixed wrong condition only giving a location header if requests fails, not if it succeeds 2013-08-02 19:27:35 +00:00
Ralf Becker
0e957053dc * CalDAV/CardDAV: removed unnecessary (double) etag generation and improved calendar etag generation for recurring events 2013-02-25 11:18:32 +00:00
Ralf Becker
c6cb7196dc fixed wrong call name2id to get account_lid of owner, causing lot of database access and returning nothing, as account_id for given 2013-02-25 10:31:14 +00:00
Ralf Becker
637bc916af * CardDAV: fixed wrong privileges for accounts addressbook, causing clients to report it read-only even for admins 2013-01-22 08:39:42 +00:00
Ralf Becker
5758ad91c3 consistently send ETag by using and extending put_response_headers 2012-10-29 12:24:31 +00:00
Ralf Becker
dcb99a352f * 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-10-16 12:17:32 +00:00
Ralf Becker
a735c5886b * CalDAV/CardDAV: sync-collection report for calendar allowing a more efficient sync 2012-10-16 11:11:29 +00:00
Ralf Becker
28f8d4e2b7 * InfoLog/CalDAV: sync-collection report, thought reminder app on OS X 10.8.2 does not use it, moved logic for sync-token to baseclass and determine availablity on supported-report-set 2012-10-16 11:08:33 +00:00
Ralf Becker
9df39d8dfc * CalDAV/CardDAV: Max OS X 10.8 (Mountain Lion) support: automatic sync of all addressbooks in one 2012-09-26 08:06:48 +00:00
Ralf Becker
476dc6ad93 * 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, which is now also handled correct.
2012-07-15 09:15:57 +00:00
Ralf Becker
19f1721839 add own agent for dmfs.org, to not recognice it as dataaccessd/iOS 2012-02-29 16:46:42 +00:00
Ralf Becker
587c2cf595 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:05:35 +00:00
Ralf Becker
5b12fe97dc * CalDAV/CardDAV/GroupDAV: as all clients dislike not getting an ETag for a PUT, we sending it again even not storing byte-by-byte 2012-02-20 11:34:15 +00:00
Ralf Becker
34393ca041 propagate data from settings hook to handlers, to fix failed installs because setup was not detected 2012-02-14 17:39:40 +00:00
Ralf Becker
ceef3a3866 as SOGO Connector requires ETag header to recognice as successful PUT, we are sending them again for it 2012-02-10 11:46:57 +00:00
Ralf Becker
e789762727 resurrect preference to sync all ABs into one (allways implied for OS X) and new pref to "Distributionlists as groups", plus explenation of the prefs
r37966: many bugfixes around distribution-lists/groups and some code restructuring
2012-02-10 11:44:52 +00:00
Ralf Becker
21dfe8ac02 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-10 11:28:56 +00:00
Ralf Becker
9d85196706 move logic of which addressbook/calendars are shared into app-handler
move app-specific settings to app-handler
2012-02-10 11:27:26 +00:00
Ralf Becker
43f4aa81c4 fixed iCal did not allow user to update calendar color or name --> needs "write-properties" priviledge, which we now return for all calendar/addressbook collections 2012-02-10 11:01:24 +00:00
Ralf Becker
83653c362f * CalDAV/CardDAV: /addressbook-accounts/ and PROPPATCH for addressbooks/calendars for every namespace but CalDAV, CardDAV or Calendarserver (displayname or *-describtion are ok) 2012-02-10 08:58:08 +00:00
Ralf Becker
1aca51010a fixed not working update of events, as etag2value still expected EGw- -wGE around ETag and adding Apple iCal 5.0.1 under OS X 10.7.2 user-agent 2011-11-08 21:10:37 +00:00
Ralf Becker
80510b5412 * CalDAV/CardDAV: major rework fixing lots of bugs/incompatibilites and adding new features: eg. autocompletion of accounts and resources under iCal, searchable addressbook gateway for all addressbooks available
merged changes from Trunk up to r37094 from addressbook, calendar, infolog, phpgwapi, egw-pear and resources (only CalDAV/CardDAV related stuff of cause)
2011-11-06 09:40:33 +00:00
Ralf Becker
21f4b6e887 * GroupDAV/KDE assume KDE 4.7+ uses native Akonadi resource, while below pre-Akonadi GroupDAV resource is used: unfortunately both have contradicting requirements 2011-09-26 10:21:25 +00:00
Ralf Becker
5686c441f6 * CalDAV: user agent detection of OS X 10.7 Lion iCal app (CoreDav instead of DavKit) 2011-08-02 13:01:21 +00:00
Ralf Becker
18b818bd57 reverting accidently commit r34595 2011-04-10 15:05:47 +00:00
Ralf Becker
bd4f019062 some more PostgreSQL stuff from ADOdb 5.11 2011-04-10 15:04:40 +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
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
00dd0b090b add Evolution as know GroupDAV client 2011-03-07 14:00:37 +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
89b8f68f7e new debug-level user-preference, show getctag in autoindex and do NOT treat webkit browsers like kde clients 2010-10-31 07:56:29 +00:00
Ralf Becker
2575da2575 * GroupDAV preference for addressbook-home-set (requires to register hooks) 2010-10-19 23:30:16 +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
44c3c7eb9a Improve iPhone iCal support 2010-08-15 06:42:05 +00:00
Klaus Leithoff
09100671ee put out Unrecogniced GroupDAV client Message only, when debug bis enabled -> does not work, as the function is static, commented the error_log 2010-07-08 09:41:06 +00:00
Klaus Leithoff
129eaec0e3 put out Unrecogniced GroupDAV client Message only, when debug bis enabled 2010-07-08 09:37:24 +00:00
Jörg Lehrke
a88fbb756f 2nd Fix Evolution CalDAV HTTP_IF_MATCH issue (Stylite#601) 2010-06-14 07:38:41 +00:00
Jörg Lehrke
78103fd02a Fix Evolution CalDAV HTTP_IF_MATCH issue (Stylite#601) 2010-06-11 09:59:36 +00:00
Jörg Lehrke
df36afa1ed Fix DAV issue for neon for GroupDAV, too 2010-05-18 10:45:46 +00:00
Jörg Lehrke
50ff02da4d Add CardDAV support for Apple's latest Addressbook.app 2010-04-21 17:44:36 +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
a8804a44ef GroupDAV updates 2010-03-06 23:06:43 +00:00
Ralf Becker
1bcb356a25 fixed propfind_iterator sometimes not returning any item 2010-03-03 08:17:20 +00:00
Ralf Becker
0d48d6021e "setting a higher CHUNK_SIZE to improve performance" 2009-10-19 07:47:06 +00:00
Ralf Becker
447c8b618a Using an iterator to query addressbook in chunks of 100 contacts to
allow to do propfinds on hugh addressbooks independent of memory_limit:
- regular groupdav_handler::profind() method gets split in a method just
  computing a filter and a callback to run that filter on the backend
- groupdav_propfind_iterator class is returned from profind method
  instead of an array with information about the files
- iterator calls groupdav_hander::propfind_callback if there are no more
  entries from the previous call
- constructor of groupdav_propfind_iterator allows to pass an extra array
  with files to return, to simplify modifying existing implementation
  (were eg. information about the current path, get's supplied from
  calling groupdav class).
2009-10-17 09:13:36 +00:00
Klaus Leithoff
b8601d92d7 njv: phpgwapi/groupdav work to improve groupdav compatibility and various sync proplems connected 2009-04-02 12:39:52 +00:00
Ralf Becker
43f860ba8f Reworked GroupDAV and iCal/vCard handler to set 'GroupDAV' as product
manufacturer and the recogniced GroupDAV client as product name.
This way we are able to handle different GroupDAV clients, as we
allready do with different SyncML clients.
Also removed the no longer needed code enabling the use of the real UID, 
as SyncML does no longer misuse the UID for it's GUID.
2008-11-03 09:36:20 +00:00
Ralf Becker
9f30e824b0 enforce a certain strength of uid, as some clients set quite weak ones) 2008-05-20 04:59:26 +00:00
Ralf Becker
a659e4eb6b propagate base_uri and debug level to handlers 2008-05-17 12:54:26 +00:00