mirror of
https://gitlab.com/davical-project/davical.git
synced 2026-05-21 01:54:23 +00:00
We should respond with sync-token if PROPFIND asks too.
This commit is contained in:
parent
34cff0d299
commit
a96c609cb4
@ -1259,6 +1259,22 @@ EOQRY;
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the current sync_token for this collection, or the containing collection
|
||||||
|
*/
|
||||||
|
function sync_token() {
|
||||||
|
if ( !isset($this->sync_token) ) {
|
||||||
|
$sql = 'SELECT sync_token FROM sync_tokens WHERE collection_id = :collection_id ORDER BY sync_token DESC LIMIT 1';
|
||||||
|
$params = array( ':collection_id' => $this->collection_id());
|
||||||
|
$qry = new AwlQuery($sql, $params );
|
||||||
|
if ( !$qry->Exec() || !$row = $qry->Fetch() ) {
|
||||||
|
if ( !$qry->QDo('SELECT new_sync_token( 0, :collection_id) AS sync_token', $params) ) throw new Exception('Problem with database query');
|
||||||
|
}
|
||||||
|
$this->sync_token = 'data:,'.$row->sync_token;
|
||||||
|
}
|
||||||
|
return $this->sync_token;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Checks whether the target collection is publicly_readable
|
* Checks whether the target collection is publicly_readable
|
||||||
*/
|
*/
|
||||||
@ -1608,6 +1624,11 @@ EOQRY;
|
|||||||
$reply->NSElement($prop, $tag, $this->unique_tag() );
|
$reply->NSElement($prop, $tag, $this->unique_tag() );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'DAV::sync-token':
|
||||||
|
if ( ! $this->_is_collection ) return false;
|
||||||
|
$reply->NSElement($prop, $tag, $this->sync_token() );
|
||||||
|
break;
|
||||||
|
|
||||||
case 'http://calendarserver.org/ns/:calendar-proxy-read-for':
|
case 'http://calendarserver.org/ns/:calendar-proxy-read-for':
|
||||||
$proxy_type = 'read';
|
$proxy_type = 'read';
|
||||||
case 'http://calendarserver.org/ns/:calendar-proxy-write-for':
|
case 'http://calendarserver.org/ns/:calendar-proxy-write-for':
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user