|
|
|
|
@ -173,22 +173,25 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
|
|
|
|
->execute();
|
|
|
|
|
|
|
|
|
|
while($row = $result->fetch()) {
|
|
|
|
|
if (isset($addressBooks[$row['id']])) {
|
|
|
|
|
continue;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
list(, $name) = URLUtil::splitPath($row['principaluri']);
|
|
|
|
|
$uri = $row['uri'] . '_shared_by_' . $name;
|
|
|
|
|
$displayName = $row['displayname'] . ' (' . $this->getUserDisplayName($name) . ')';
|
|
|
|
|
if (!isset($addressBooks[$row['id']])) {
|
|
|
|
|
$addressBooks[$row['id']] = [
|
|
|
|
|
'id' => $row['id'],
|
|
|
|
|
'uri' => $uri,
|
|
|
|
|
'principaluri' => $principalUriOriginal,
|
|
|
|
|
'{DAV:}displayname' => $displayName,
|
|
|
|
|
'{' . Plugin::NS_CARDDAV . '}addressbook-description' => $row['description'],
|
|
|
|
|
'{http://calendarserver.org/ns/}getctag' => $row['synctoken'],
|
|
|
|
|
'{http://sabredav.org/ns}sync-token' => $row['synctoken']?$row['synctoken']:'0',
|
|
|
|
|
'{' . \OCA\DAV\DAV\Sharing\Plugin::NS_OWNCLOUD . '}owner-principal' => $row['principaluri'],
|
|
|
|
|
'{' . \OCA\DAV\DAV\Sharing\Plugin::NS_OWNCLOUD . '}read-only' => (int)$row['access'] === Backend::ACCESS_READ,
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$addressBooks[$row['id']] = [
|
|
|
|
|
'id' => $row['id'],
|
|
|
|
|
'uri' => $uri,
|
|
|
|
|
'principaluri' => $principalUriOriginal,
|
|
|
|
|
'{DAV:}displayname' => $displayName,
|
|
|
|
|
'{' . Plugin::NS_CARDDAV . '}addressbook-description' => $row['description'],
|
|
|
|
|
'{http://calendarserver.org/ns/}getctag' => $row['synctoken'],
|
|
|
|
|
'{http://sabredav.org/ns}sync-token' => $row['synctoken']?$row['synctoken']:'0',
|
|
|
|
|
'{' . \OCA\DAV\DAV\Sharing\Plugin::NS_OWNCLOUD . '}owner-principal' => $row['principaluri'],
|
|
|
|
|
'{' . \OCA\DAV\DAV\Sharing\Plugin::NS_OWNCLOUD . '}read-only' => (int)$row['access'] === Backend::ACCESS_READ,
|
|
|
|
|
];
|
|
|
|
|
}
|
|
|
|
|
$result->closeCursor();
|
|
|
|
|
|
|
|
|
|
|