* @var array
*/
protected $_calendarQueryCache = null;
-
+
+
+
/**
* (non-PHPdoc)
* @see Sabre\DAV\Collection::getChild()
return $children;
}
-
+
/**
* Returns the list of properties
*
$properties = array(
'{http://calendarserver.org/ns/}getctag' => $ctags,
+ '{DAV:}sync-token' => Tinebase_WebDav_Plugin_SyncToken::SYNCTOKEN_PREFIX . $ctags,
'id' => $this->_container->getId(),
'uri' => $this->_useIdAsName == true ? $this->_container->getId() : $this->_container->name,
'{DAV:}resource-id' => 'urn:uuid:' . $this->_container->getId(),
*/
protected function _getMaxPeriodFrom()
{
+ //if the client does support sync tokens and the plugin Tinebase_WebDav_Plugin_SyncToken is active, allow to filter for all calendar events => return 100 years
+ if (Calendar_Convert_Event_VCalendar_Factory::supportsSyncToken($_SERVER['HTTP_USER_AGENT'])) {
+ return 100;
+ }
return Calendar_Config::getInstance()->get(Calendar_Config::MAX_FILTER_PERIOD_CALDAV, 2);
}
{
}
+
+ /**
+ * indicates whether the concrete class supports sync-token
+ *
+ * @return bool
+ */
+ public function supportsSyncToken()
+ {
+ return true;
+ }
}