This happens with Sabre 3.2.2. When inviting people with thunderbird, FreeBusy-information is displayed only for some attendees.
In order to produce a FreeBusy-report principalSearch() from DAVACL/Plugin.php is called to find the principal by email-address and get some properties.
function principalSearch(array $searchProperties, array $requestedProperties, $collectionUri = null, $test = 'allof') {
if (!is_null($collectionUri)) {
$uris = [$collectionUri];
} else {
$uris = $this->principalCollectionSet;
}
$lookupResults = [];
foreach ($uris as $uri) {
$principalCollection = $this->server->tree->getNodeForPath($uri);
if (!$principalCollection instanceof IPrincipalCollection) {
// Not a principal collection, we're simply going to ignore
// this.
continue;
}
$results = $principalCollection->searchPrincipals($searchProperties, $test);
foreach ($results as $result) {
$lookupResults[] = rtrim($uri, '/') . '/' . $result;
}
}
$matches = [];
foreach ($lookupResults as $lookupResult) {
list($matches[]) = $this->server->getPropertiesForPath($lookupResult, $requestedProperties, 0);
}
$result will contain one principal in all cases, but getPropertiesForPath() does not find the calendar-home-set property for some principals.
Any ideas why this is happening for some principals only?
The calendar-home-set property of principals/xxx should be $baseUri/calendars/xxx. It's not stored anywhere but will be calculated for every principal. So why should this calculation fail for some principals? So what am I missing here?
Peter
This happens with Sabre 3.2.2. When inviting people with thunderbird, FreeBusy-information is displayed only for some attendees.
In order to produce a FreeBusy-report principalSearch() from DAVACL/Plugin.php is called to find the principal by email-address and get some properties.
$result will contain one principal in all cases, but getPropertiesForPath() does not find the calendar-home-set property for some principals.
Any ideas why this is happening for some principals only?
The calendar-home-set property of principals/xxx should be $baseUri/calendars/xxx. It's not stored anywhere but will be calculated for every principal. So why should this calculation fail for some principals? So what am I missing here?
Peter