/**
  * 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;
 }
Beispiel #3
0
 /**
  * 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);
 }
Beispiel #4
0
 /**
  * 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);
 }
Beispiel #6
0
 /**
  * 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);
 }