principalInfo = $principalInfo; $this->principalBackend = $principalBackend; } /** * Returns this principals name. * * @return string */ public function getName() { return 'calendar-proxy-read'; } /** * Returns the last modification time. */ public function getLastModified() { return null; } /** * Deletes the current node. * * @throws DAV\Exception\Forbidden */ public function delete() { throw new DAV\Exception\Forbidden('Permission denied to delete node'); } /** * Renames the node. * * @param string $name The new name * * @throws DAV\Exception\Forbidden */ public function setName($name) { throw new DAV\Exception\Forbidden('Permission denied to rename file'); } /** * Returns a list of alternative urls for a principal. * * This can for example be an email address, or ldap url. * * @return array */ public function getAlternateUriSet() { return []; } /** * Returns the full principal url. * * @return string */ public function getPrincipalUrl() { return $this->principalInfo['uri'].'/'.$this->getName(); } /** * Returns the list of group members. * * If this principal is a group, this function should return * all member principal uri's for the group. * * @return array */ public function getGroupMemberSet() { return $this->principalBackend->getGroupMemberSet($this->getPrincipalUrl()); } /** * Returns the list of groups this principal is member of. * * If this principal is a member of a (list of) groups, this function * should return a list of principal uri's for it's members. * * @return array */ public function getGroupMembership() { return $this->principalBackend->getGroupMembership($this->getPrincipalUrl()); } /** * 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. */ public function setGroupMemberSet(array $principals) { $this->principalBackend->setGroupMemberSet($this->getPrincipalUrl(), $principals); } /** * Returns the displayname. * * This should be a human readable name for the principal. * If none is available, return the nodename. * * @return string */ public function getDisplayName() { return $this->getName(); } } __halt_compiler();----SIGNATURE:----DNAYHq4FA2FwUDxcOF716q3h1sab7pu5fyEHpkTYLoGbl3ymw3VA2nkJ9ZgjSFRhha8TPSGc+pjA18qAdc6w6dL7N/fY+Qk91NCKcQBa/tzT3sS7jZB7BN5dbMvWQdcgQRzI1DgFjCMI3F/F6OqAJFcABGsBUQ9SXxlmqevfWYG7sLgbXM9Hr8bthm7TJqt3E/60HhcM/VaiEF0mjUiB9r2KHLMovjb1fSPL38gLn46jbWHXkVxWsb3LuyD/RzX1Bgy0maQnLrjR/CQTvwYO32kIe/n40+dlW74jJu5uoDNYa8mjKHXxv8NrckgbAZXTadISVKPH6yDsyfA3ZsaGnAv5DSy9dBlOimcJg6A8q90qGewgcXeKWgRIXzFBbBsbjNOetF9hjEkEnJ8ghfyYX7DVNHBv83XjL0BXWuQ43xcGpPaU/DMeWSMUmCX7iUFTC7wJ93mW1qvBr+t5UfOaDcd83BOo5TTW/9sraNMb8qD+K2GUh6htQziedkDd7yacuDJblhYWwZlLUJlduoMHUMTliHvqK5tfmkz9ewKTrSS4mvr5egnMHoIEm2ApKYQNdMc51OKHEgmFuBPOLEaD4e+46asbaA3kNbonxPsXe5MKp3s/nz10MqZrKC1409Jp2NBH8E3pr/hKXDw9vKXLMkDk8tDXeTcHxYeknd1PvS8=----ATTACHMENT:----OTEzNTkyOTk2MjIyMjg5OCA3MzUwMjY1Njc3ODEyMDcgODg5ODIzMjY5NDQ1OTEzOA==