Node
This node represents a single notification.
The signature is mostly identical to that of Sabre\DAV\IFile, but the get() method MUST return an xml document that matches the requirements of the 'caldav-notifications.txt' spec.
- Full name:
\Sabre\CalDAV\Notifications\Node
- Parent class:
\Sabre\DAV\File
- This class implements:
\Sabre\CalDAV\Notifications\INode
,\Sabre\DAVACL\IACL
Properties
caldavBackend
The notification backend.
notification
The actual notification.
principalUri
Owner principal of the notification.
Methods
__construct
Constructor.
public __construct(\Sabre\CalDAV\Backend\NotificationSupport $caldavBackend, string $principalUri, \Sabre\CalDAV\Xml\Notification\NotificationInterface $notification): mixed
Parameters:
Parameter | Type | Description |
---|---|---|
$caldavBackend |
\Sabre\CalDAV\Backend\NotificationSupport | |
$principalUri |
string | |
$notification |
\Sabre\CalDAV\Xml\Notification\NotificationInterface |
getName
Returns the path name for this notification.
getETag
Returns the etag for the notification.
The etag must be surrounded by litteral double-quotes.
getNotificationType
This method must return an xml element, using the Sabre\CalDAV\Xml\Notification\NotificationInterface classes.
delete
Deletes this notification.
getOwner
Returns the owner principal.
This must be a url to a principal, or null if there's no owner
Inherited methods
getLastModified
Returns the last modification time as a unix timestamp.
If the information is not available, return null.
delete
Deletes the current node.
Throws:
setName
Renames the node.
Parameters:
Parameter | Type | Description |
---|---|---|
$name |
string | The new name |
Throws:
put
Replaces the contents of the file.
The data argument is a readable stream resource.
After a successful put operation, you may choose to return an ETag. The etag must always be surrounded by double-quotes. These quotes must appear in the actual string you're returning.
Clients may use the ETag from a PUT request to later on make sure that when they update the file, the contents haven't changed in the mean time.
If you don't plan to store the file byte-by-byte, and you return a different object on a subsequent GET you are strongly recommended to not return an ETag, and just return null.
Parameters:
Parameter | Type | Description |
---|---|---|
$data |
string|resource |
get
Returns the data.
This method may either return a string or a readable stream resource
getSize
Returns the size of the file, in bytes.
getETag
Returns the ETag for a file.
An ETag is a unique identifier representing the current version of the file. If the file changes, the ETag MUST change. The ETag is an arbitrary string, but MUST be surrounded by double-quotes.
Return null if the ETag can not effectively be determined
getContentType
Returns the mime-type for a file.
If null is returned, we'll assume application/octet-stream
getOwner
Returns the owner principal.
This must be a url to a principal, or null if there's no owner
getGroup
Returns a group principal.
This must be a url to a principal, or null if there's no owner
getACL
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.
setACL
Updates the ACL.
This method will receive a list of new ACE's as an array argument.
Parameters:
Parameter | Type | Description |
---|---|---|
$acl |
array |
getSupportedPrivilegeSet
Returns the list of supported privileges for this node.
The returned data structure is a list of nested privileges. See Sabre\DAVACL\Plugin::getDefaultSupportedPrivilegeSet for a simple standard structure.
If null is returned from this method, the default privilege set is used, which is fine for most common usecases.
Automatically generated on 2025-03-18