57 foreach ($required as
$r) {
58 if (!isset($subscriptionInfo[$r])) {
59 throw new \InvalidArgumentException(
'The ' . $r .
' field is required when creating a subscription node');
74 return $this->subscriptionInfo[
'uri'];
85 if (isset($this->subscriptionInfo[
'lastmodified'])) {
86 return $this->subscriptionInfo[
'lastmodified'];
98 $this->caldavBackend->deleteSubscription(
99 $this->subscriptionInfo[
'id']
129 return $this->caldavBackend->updateSubscription(
130 $this->subscriptionInfo[
'id'],
155 foreach ($properties as $prop) {
158 case '{http://calendarserver.org/ns/}source' :
159 $r[$prop] =
new Href($this->subscriptionInfo[
'source']);
162 if (array_key_exists($prop, $this->subscriptionInfo)) {
163 $r[$prop] = $this->subscriptionInfo[$prop];
183 return $this->subscriptionInfo[
'principaluri'];
203 'privilege' =>
'{DAV:}all',
208 'privilege' =>
'{DAV:}all',
209 'principal' => $this->
getOwner() .
'/calendar-proxy-write',
213 'privilege' =>
'{DAV:}read',
214 'principal' => $this->
getOwner() .
'/calendar-proxy-read',
getLastModified()
Returns the last modification time.
This class represents a set of properties that are going to be updated.
getOwner()
Returns the owner principal.
__construct(SubscriptionSupport $caldavBackend, array $subscriptionInfo)
Constructor.
getChildren()
Returns an array with all the child nodes.
getProperties($properties)
Returns a list of properties for this nodes.
Every CalDAV backend must at least implement this interface.
getName()
Returns the name of the node.
propPatch(PropPatch $propPatch)
Updates properties on this node.
getACL()
Returns a list of ACE's for this node.