|
|
@ -195,6 +195,33 @@ class CardDavBackend implements BackendInterface, SyncSupport { |
|
|
|
return array_values($addressBooks); |
|
|
|
return array_values($addressBooks); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function getUsersOwnAddressBooks($principalUri) { |
|
|
|
|
|
|
|
$principalUriOriginal = $principalUri; |
|
|
|
|
|
|
|
$principalUri = $this->convertPrincipal($principalUri, true); |
|
|
|
|
|
|
|
$query = $this->db->getQueryBuilder(); |
|
|
|
|
|
|
|
$query->select(['id', 'uri', 'displayname', 'principaluri', 'description', 'synctoken']) |
|
|
|
|
|
|
|
->from('addressbooks') |
|
|
|
|
|
|
|
->where($query->expr()->eq('principaluri', $query->createNamedParameter($principalUri))); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$addressBooks = []; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$result = $query->execute(); |
|
|
|
|
|
|
|
while($row = $result->fetch()) { |
|
|
|
|
|
|
|
$addressBooks[$row['id']] = [ |
|
|
|
|
|
|
|
'id' => $row['id'], |
|
|
|
|
|
|
|
'uri' => $row['uri'], |
|
|
|
|
|
|
|
'principaluri' => $this->convertPrincipal($row['principaluri'], false), |
|
|
|
|
|
|
|
'{DAV:}displayname' => $row['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', |
|
|
|
|
|
|
|
]; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
$result->closeCursor(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return array_values($addressBooks); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
private function getUserDisplayName($uid) { |
|
|
|
private function getUserDisplayName($uid) { |
|
|
|
if (!isset($this->userDisplayNames[$uid])) { |
|
|
|
if (!isset($this->userDisplayNames[$uid])) { |
|
|
|
$user = $this->userManager->get($uid); |
|
|
|
$user = $this->userManager->get($uid); |
|
|
|