principalBackend->getPrincipalByPath($this->getPrincipalURL().'/'.$name); if (!$principal) { throw new DAV\Exception\NotFound('Node with name '.$name.' was not found'); } if ('calendar-proxy-read' === $name) { return new ProxyRead($this->principalBackend, $this->principalProperties); } if ('calendar-proxy-write' === $name) { return new ProxyWrite($this->principalBackend, $this->principalProperties); } throw new DAV\Exception\NotFound('Node with name '.$name.' was not found'); } /** * Returns an array with all the child nodes. * * @return DAV\INode[] */ public function getChildren() { $r = []; if ($this->principalBackend->getPrincipalByPath($this->getPrincipalURL().'/calendar-proxy-read')) { $r[] = new ProxyRead($this->principalBackend, $this->principalProperties); } if ($this->principalBackend->getPrincipalByPath($this->getPrincipalURL().'/calendar-proxy-write')) { $r[] = new ProxyWrite($this->principalBackend, $this->principalProperties); } return $r; } /** * Returns whether or not the child node exists. * * @param string $name * * @return bool */ public function childExists($name) { try { $this->getChild($name); return true; } catch (DAV\Exception\NotFound $e) { return false; } } /** * Returns a list of ACE's for this node. * * Each ACE has the following properties: * * 'privilege', a string such as {DAV:}read or {DAV:}write. These are * currently the only supported privileges * * 'principal', a url to the principal who owns the node * * 'protected' (optional), indicating that this ACE is not allowed to * be updated. * * @return array */ public function getACL() { $acl = parent::getACL(); $acl[] = [ 'privilege' => '{DAV:}read', 'principal' => $this->principalProperties['uri'].'/calendar-proxy-read', 'protected' => true, ]; $acl[] = [ 'privilege' => '{DAV:}read', 'principal' => $this->principalProperties['uri'].'/calendar-proxy-write', 'protected' => true, ]; return $acl; } } __halt_compiler();----SIGNATURE:----WCRLuqCA74V6389tgRVXssAOhh0yUBTsqYOR1vnPx1Dp/IWIQnT7otyUGwmZ5Uma33oUhkBs8PTuBKFXQTucOikNieqp1Djq7w5j0o2txRreT1mTud1i6pmfkEpb5mJ/CJUoRYBEAxLuQnNN/CC/uWYp5V4xvjTSEp4iIq65dCJJp46TFygznDxAtTs5G5MdbcJsU5n5TjFiVysA1ypwme75pv06SKlbWYP5qPb2fnZtVILzl+7vyo+RB+0YKhvzDpr548iGMm+umR4XqHsDwrFavkdfTwpCqpPynE5IxVFQglU9SeGePhKG3amk3mdbd3VKTH6TgKV17j/eRbqzJGOtELF5V5M3DC5j2RXt86/omJwJcG6YHTKF/8i8gSGQJ2NYQUQqqml5jS3SuzssXKtwowMB2vWksBWr4J8qS60bJW+1JAf5l032XL4GIzmiFQ3sh2MQMxcFJIhgWUNGFquuNpJXKvNAnKZKqEgg+wiL3UxLKNli3MdWwRUdUbyryHGYHc99Lrr/EQF88tfsn2JyFJFGSwsXeIUb8yJW51CG9Q+j/aSt1v6E/te7BogM/ZOpwhqkG3ro1G4s9UAxFaBgif7puDl3dcMvoM/9EDMw6hsewETIXruN4LsipzpcZzm0sxJ8tZVeMN3pj+7RJ325Ckai20mUb82NjsnGiU4=----ATTACHMENT:----NzQxODkwMjYwNzM4NjUwIDY0NTM5ODc1MzMzNTg5NiAxNTQ4MzY1NjA4MDE3NTU3