/** * Returns a child object, by its name. * * @param string $name * @throws Sabre_DAV_Exception_FileNotFound * @return Sabre_DAV_IPrincipal */ public function getChild($name) { $principalInfo = $this->principalBackend->getPrincipalByPath($this->principalPrefix . '/' . $name); if (!$principalInfo) { throw new Sabre_DAV_Exception_FileNotFound('Principal with name ' . $name . ' not found'); } return $this->getChildForPrincipal($principalInfo); }
/** * 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[]) = Sabre_DAV_URLUtil::splitPath($row); } return $r; }
/** * 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 $groupMembers) { $this->principalBackend->setGroupMemberSet($this->principalProperties['uri'], $groupMembers); }
/** * 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); }
/** * Constructor * * @param Sabre_DAVACL_IPrincipalBackend $principalBackend * @param Sabre_CalDAV_Backend_BackendInterface $caldavBackend * @param mixed $userUri */ public function __construct(Sabre_DAVACL_IPrincipalBackend $principalBackend, Sabre_CalDAV_Backend_BackendInterface $caldavBackend, $userUri) { $this->principalBackend = $principalBackend; $this->caldavBackend = $caldavBackend; $this->principalInfo = $principalBackend->getPrincipalByPath($userUri); }
/** * Updates this principals properties. * * @param array $mutations * @see Sabre_DAV_IProperties::updateProperties * @return bool|array */ public function updateProperties($mutations) { return $this->principalBackend->updatePrincipal($this->principalProperties['uri'], $mutations); }
/** * Constructor * * @param Sabre_DAVACL_IPrincipalBackend $principalBackend * @param array|Sabre_CalDAV_Backend_Common[] $caldavBackends * @param mixed $userUri */ public function __construct(Sabre_DAVACL_IPrincipalBackend $principalBackend, $caldavBackends, $userUri) { $this->principalBackend = $principalBackend; $this->caldavBackends = $caldavBackends; $this->principalInfo = $principalBackend->getPrincipalByPath($userUri); }