Browse Source

allow sharing addressbooks with circles

Signed-off-by: Georg Ehrke <developer@georgehrke.com>
tags/v16.0.0beta1
Georg Ehrke 5 years ago
parent
commit
34601f8623
No account linked to committer's email address

+ 3
- 1
apps/dav/lib/CardDAV/CardDavBackend.php View File

@@ -167,8 +167,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
}
$result->closeCursor();

// query for shared calendars
// query for shared addressbooks
$principals = $this->principalBackend->getGroupMembership($principalUriOriginal, true);
$principals = array_merge($principals, $this->principalBackend->getCircleMembership($principalUriOriginal));

$principals = array_map(function($principal) {
return urldecode($principal);
}, $principals);

+ 1
- 2
apps/dav/lib/Connector/Sabre/Principal.php View File

@@ -426,13 +426,12 @@ class Principal implements BackendInterface {
* @return array
* @throws Exception
*/
public function getCircleMembership($principal) {
public function getCircleMembership($principal):array {
if (!\OC::$server->getAppManager()->isEnabledForUser('circles') || !class_exists('\OCA\Circles\ShareByCircleProvider')) {
return [];
}

list($prefix, $name) = \Sabre\Uri\split($principal);

if ($this->hasCircles && $prefix === $this->principalPrefix) {
$user = $this->userManager->get($name);
if (!$user) {

Loading…
Cancel
Save