Skip to content

CalendarObject

The CalendarObject represents a single VEVENT or VTODO within a Calendar.

Properties

caldavBackend

Sabre\CalDAV\Backend\BackendInterface.

protected \Sabre\CalDAV\Backend\AbstractBackend $caldavBackend

objectData

Array with information about this CalendarObject.

protected array $objectData

calendarInfo

Array with information about the containing calendar.

protected array $calendarInfo

Methods

__construct

Constructor.

public __construct(\Sabre\CalDAV\Backend\BackendInterface $caldavBackend, array $calendarInfo, array $objectData): mixed

The following properties may be passed within $objectData:

  • calendarid - This must refer to a calendarid from a caldavBackend
  • uri - A unique uri. Only the 'basename' must be passed.
  • calendardata (optional) - The iCalendar data
  • etag - (optional) The etag for this object, MUST be encloded with double-quotes.
  • size - (optional) The size of the data in bytes.
  • lastmodified - (optional) format as a unix timestamp.
  • acl - (optional) Use this to override the default ACL for the node.

Parameters:

Parameter Type Description
$caldavBackend \Sabre\CalDAV\Backend\BackendInterface
$calendarInfo array
$objectData array

getName

Returns the uri for this object.

public getName(): string

get

Returns the ICalendar-formatted object.

public get(): string

put

Updates the ICalendar-formatted object.

public put(string|resource $calendarData): string

Parameters:

Parameter Type Description
$calendarData string|resource

delete

Deletes the calendar object.

public delete(): mixed

getContentType

Returns the mime content-type.

public getContentType(): string

getETag

Returns an ETag for this object.

public getETag(): string

The ETag is an arbitrary string, but MUST be surrounded by double-quotes.


getLastModified

Returns the last modification date as a unix timestamp.

public getLastModified(): int

getSize

Returns the size of this object in bytes.

public getSize(): int

getOwner

Returns the owner principal.

public getOwner(): string|null

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.

public getACL(): array

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.


Inherited methods

getLastModified

Returns the last modification time as a unix timestamp.

public getLastModified(): int

If the information is not available, return null.


delete

Deletes the current node.

public delete(): mixed

Throws:


setName

Renames the node.

public setName(string $name): mixed

Parameters:

Parameter Type Description
$name string The new name

Throws:


put

Replaces the contents of the file.

public put(string|resource $data): string|null

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.

public get(): mixed

This method may either return a string or a readable stream resource


getSize

Returns the size of the file, in bytes.

public getSize(): int

getETag

Returns the ETag for a file.

public getETag(): string|null

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.

public getContentType(): string|null

If null is returned, we'll assume application/octet-stream


getOwner

Returns the owner principal.

public getOwner(): string|null

This must be a url to a principal, or null if there's no owner


getGroup

Returns a group principal.

public getGroup(): string|null

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.

public getACL(): array

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.

public setACL(array $acl): mixed

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.

public getSupportedPrivilegeSet(): array|null

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