/**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * 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);
 }
Ejemplo n.º 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 $principals)
 {
     $this->principalBackend->setGroupMemberSet($this->getPrincipalUrl(), $principals);
 }