/** * This method is triggered whenever properties are requested for a node. * We intercept this to see if we must return a {DAV:}sync-token. * * @param DAV\PropFind $propFind * @param DAV\INode $node * @return void */ function propFind(DAV\PropFind $propFind, DAV\INode $node) { $propFind->handle('{DAV:}sync-token', function () use($node) { if (!$node instanceof ISyncCollection || !($token = $node->getSyncToken())) { return; } return self::SYNCTOKEN_PREFIX . $token; }); }