Namespace om\ICal

Classes
Alarm

VALARM (RFC 5545, section 3.6.6, with UID and ACKNOWLEDGED of RFC 9074). The trigger of the factories is a duration relative to the start of the event or task (e.g. "-PT15M", or to its end with related: 'END'), or an absolute time written in UTC. An alarm repeats $repeat more times after $duration; both are given or neither.

Calendar

VCALENDAR (RFC 5545, section 3.4) with typed access to its components. Components with the same UID form a series: events(), todos() and journals() return the recurring (or single) items, their overrides (RECURRENCE-ID) are available through Item::overrides() and are applied by the occurrence methods.

Component

An immutable calendar component (RFC 5545, section 3.6): a name, properties and child components. Any component is represented, including unknown and X- components. "with" methods return a modified copy.

ContentLine

One unfolded content line (RFC 5545, section 3.1): name *(";" param) ":" value BEGIN and END lines are content lines too, their value is the component name. $line = ContentLine::parse('ATTENDEE;CN="Doe, John";ROLE=REQ-PARTICIPANT:mailto:john@example.com'); $line->name; // "ATTENDEE" $line->parameters->get('CN'); // "Doe, John" $line->value; // "mailto:john@example.com"

Event

VEVENT (RFC 5545, section 3.6.1).

FreeBusy

VFREEBUSY (RFC 5545, section 3.6.4).

Item

Common part of events, tasks, journal entries and free/busy components. All properties stay available through property(); getters return typed values. A recurring item knows its overrides (components with the same UID and a RECURRENCE-ID), so occurrencesBetween() returns the complete series.

Journal

VJOURNAL (RFC 5545, section 3.6.3). A journal entry has no duration.

Location

VLOCATION (RFC 9073, section 7.2): rich information about a location of an event or task, e.g. the venue or the parking. Other properties, such as STRUCTURED-DATA, are available through property() and $component.

Occurrence

One instance of an event, task or journal entry. For a modified instance, $item is the override (the component with the RECURRENCE-ID) and $master the recurring item; otherwise both are the same.

Parameters

Property parameters (RFC 5545, section 3.2). Names are case-insensitive, a parameter may have several values (e.g. MEMBER="mailto:a","mailto:b").

Property

An immutable property: name, parameters and the raw (still escaped) value. Unknown and X- properties are kept like standard ones. Typed values are provided by om\ICal\Value\ValueParser and by the typed components (Event, Todo, ...).

Serializer

Writes components as iCalendar data (RFC 5545, section 3.1): CRLF line breaks and lines folded at 75 octets without splitting UTF-8 characters. Properties are written with their raw values, so unknown and X- properties are kept unchanged.

TimezoneDefinition

A VTIMEZONE component (RFC 5545, section 3.6.5).

Todo

VTODO (RFC 5545, section 3.6.2).

Namespaces
om\ICal\Exception
om\ICal\Parser
om\ICal\Timezone
om\ICal\Validation
om\ICal\Value