* CalDAV/CardDAV: only advertice sync-collection report, if we track deleted entries (history-logging enabled, not working otherwise)

This commit is contained in:
Ralf Becker 2014-01-07 11:10:51 +00:00
parent 08f8b755b1
commit 6fd7ed4b2d
3 changed files with 17 additions and 10 deletions

View File

@ -843,11 +843,14 @@ class addressbook_groupdav extends groupdav_handler
'addressbook-multiget' => HTTP_WebDAV_Server::mkprop('supported-report',array(
HTTP_WebDAV_Server::mkprop('report',array(
HTTP_WebDAV_Server::mkprop(groupdav::CARDDAV,'addressbook-multiget',''))))),
// rfc 6578 sync-collection report
'sync-collection' => HTTP_WebDAV_Server::mkprop('supported-report',array(
HTTP_WebDAV_Server::mkprop('report',array(
HTTP_WebDAV_Server::mkprop('sync-collection',''))))),
);
// only advertice rfc 6578 sync-collection report, if "delete-prevention" is switched on (deleted entries get marked deleted but not actualy deleted
if ($GLOBALS['egw_info']['server']['history'])
{
$props['supported-report-set']['sync-collection'] = HTTP_WebDAV_Server::mkprop('supported-report',array(
HTTP_WebDAV_Server::mkprop('report',array(
HTTP_WebDAV_Server::mkprop('sync-collection','')))));
}
return $props;
}

View File

@ -1441,7 +1441,8 @@ class calendar_groupdav extends groupdav_handler
HTTP_WebDAV_Server::mkprop(groupdav::CALDAV,'free-busy-query',''))))),
);
// rfc 6578 sync-collection report for everything but outbox
if (strpos($path, '/outbox/') === false)
// only if "delete-prevention" is switched on (deleted entries get marked deleted but not actualy deleted
if (strpos($path, '/outbox/') === false && $GLOBALS['egw_info']['server']['calendar_delete_history'])
{
$props['supported-report-set']['sync-collection'] = HTTP_WebDAV_Server::mkprop('supported-report',array(
HTTP_WebDAV_Server::mkprop('report',array(

View File

@ -783,12 +783,15 @@ class infolog_groupdav extends groupdav_handler
'calendar-multiget' => HTTP_WebDAV_Server::mkprop('supported-report',array(
HTTP_WebDAV_Server::mkprop('report',array(
HTTP_WebDAV_Server::mkprop(groupdav::CALDAV,'calendar-multiget',''))))),
// rfc 6578 sync-collection report
'sync-collection' => HTTP_WebDAV_Server::mkprop('supported-report',array(
HTTP_WebDAV_Server::mkprop('report',array(
HTTP_WebDAV_Server::mkprop('sync-collection',''))))),
);
// only advertice rfc 6578 sync-collection report, if "delete-prevention" is switched on (deleted entries get marked deleted but not actualy deleted
$config = config::read('infolog');
if ($config['history'])
{
$props['supported-report-set']['sync-collection'] = HTTP_WebDAV_Server::mkprop('supported-report',array(
HTTP_WebDAV_Server::mkprop('report',array(
HTTP_WebDAV_Server::mkprop('sync-collection','')))));
}
// get timezone of calendar
if ($this->groupdav->prop_requested('calendar-timezone'))
{