/** * This method is used to search for principals matching a set of * properties. * * This search is specifically used by RFC3744's principal-property-search * REPORT. You should at least allow searching on * http://sabredav.org/ns}email-address. * * The actual search should be a unicode-non-case-sensitive search. The * keys in searchProperties are the WebDAV property names, while the values * are the property values to search on. * * If multiple properties are being searched on, the search should be * AND'ed. * * This method should simply return a list of 'child names', which may be * used to call $this->getChild in the future. * * @param array $searchProperties * @return array */ public function searchPrincipals(array $searchProperties) { $result = $this->principalBackend->searchPrincipals($this->principalPrefix, $searchProperties); $r = array(); foreach ($result as $row) { list(, $r[]) = DAV\URLUtil::splitPath($row); } return $r; }
/** * Updates this principals properties. * * @param array $mutations * @see SabreForRainLoop\DAV\IProperties::updateProperties * @return bool|array */ public function updateProperties($mutations) { return $this->principalBackend->updatePrincipal($this->principalProperties['uri'], $mutations); }
/** * Sets a list of group members * * If this principal is a group, this method sets all the group members. * The list of members is always overwritten, never appended to. * * This method should throw an exception if the members could not be set. * * @param array $principals * @return void */ public function setGroupMemberSet(array $principals) { $this->principalBackend->setGroupMemberSet($this->getPrincipalUrl(), $principals); }