principalInfo = $principalInfo; $this->principalBackend = $principalBackend; } /** * Returns this principals name. * * @return string */ public function getName() { return 'calendar-proxy-write'; } /** * 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:----A+9ZhSZnpedrVWH/rNzUXRp1IlNEBSigQQrrWYLpCZTcGNeZS/bV2dZ6WV6oFKk/O9PEmcOFIL3lSychj9W+zM7LE7glOcVKV4c65Gcmjyovh3089fNhJvzCOA/WUaAVIZrw70uW+IauvTQWHbFGkdvybKPoQhS4B10yR9ws027toW/POoRpawOsT8vJOZ4a4ehsSsp5U7PAOCwlp+jIG2iTOUas7s7FfJ7tTD0m5tVnf50+0n8tRaetB0J+FoqLutB87cQ5XYNDfD7ITryM12mZEcL9y6O+Xrl4KRCzUbLKXzF81ayXwbuGpd0vsRM/mRKC4Uglu5caf2VgMEO2qOJ/zH2ZFHL1NTXoaNJ+PbrMpPDV8o7SEH6euopq1bD4efDU3p9n6BYaOQ7FmbP4/HrGvx9tLKlLDGbQn0Zh7F33bIy3a6sjtfokWotVpPk2dkVyEbXdw4i+ie1Q/73FN6JPai7kTudev7dKseuikMAFhQ/ALaPTX0A5CtEufaM1VJulYhFTHnZG0tfmj8yuJA/kRVq6x2jzU8SEcf7vn00QS5nr1vA1yyhHwckUeOSNmq38IWmH/fXPLcZxbB7jnutQePYmPtwOizqVMkHj6hRD11mbLKSoMYNTTS481xGshPH/6whbUy+wI6U3xfKGHSEBmxyQtlqQwHCmvxffs/U=----ATTACHMENT:----ODE4MjA3NjEyMDI3MDU0OSA4MDU0NDU2MDk1NzA1MDc1IDEwNjc3NTQ5NDYxMDY2NTQ=