## /inc/RRule-v2.php

Description

Class for parsing RRule and getting us the dates

- author: Andrew McMillan <andrew@mcmillan.net.nz>
- copyright: Morphoss Ltd
- license: GNU GPL v2 or later

Classes

Class | Description
--- | ---
RepeatRuleTimeZone | Wrap the DateTimeZone class to allow parsing some iCalendar TZID strangenesses
Rfc5545Duration | Provide a useful way of dealing with RFC5545 duration strings of the form
RepeatRuleDateTime | Wrap the DateTime class to make it friendlier to passing in random strings from iCalendar objects, and especially the random stuff used to identify timezones. We also add some utility methods and stuff too, in order to simplify some of the operations we need to do with dates.
RepeatRuleDateRange | This class is used to hold a pair of dates defining a range. The range may be open-ended by including a null for one end or the other, or both.
RepeatRule | This class is an implementation of RRULE parsing and expansion, as per RFC5545. It should be reasonably complete, except that it does not handle changing the WKST - there may be a few errors in unusual rules also, but all of the common cases should be handled correctly.

Includes
require_once ("vComponent.php") (line 1102)
Constants
DEBUG_RRULE = false (line 34)
Functions
expand_event_instances (line 1183)

Expand the event instances for an iCalendar VEVENT (or VTODO)

Note: expansion here does not apply modifications to instances other than modifying start/end/due/duration.

- return: The original vComponent, with the instances of the internal components expanded.

vComponent expand_event_instances (object $vResource, [object $range_start = null], [object $range_end = null], [ $return_floating_times = false])

- object $vResource: A vComponent which is a VCALENDAR containing components needing expansion
- object $range_start: A RepeatRuleDateTime which is the beginning of the range for events, default -6 weeks
- object $range_end: A RepeatRuleDateTime which is the end of the range for events, default +6 weeks
- $return_floating_times

getComponentRange (line 1397)

Return a date range for this component.

- throws: Exception (1) When DTSTART is not present but the RFC says MUST and (2) when we get an unsupported component

RepeatRuleDateRange getComponentRange ( $comp)

- vComponent $comp

getVCalendarRange (line 1452)

Return a RepeatRuleDateRange from the earliest start to the latest end of the event.

- return: Representing the range of time covered by the event.

RepeatRuleDateRange getVCalendarRange (object $vResource)

- object $vResource: A vComponent which is a VCALENDAR containing components needing expansion

olson_from_vtimezone (line 19)

Try and extract something like "Pacific/Auckland" or "America/Indiana/Indianapolis" if possible, given the VTIMEZONE component that is passed in. This is much more complex than olson_from_tzstring since we start to examine the rules and work out what actual timezone this might be.

void olson_from_vtimezone ( $vtz)

- vComponent $vtz

rdate_expand (line 1113)

Expand the event instances for an RDATE or EXDATE property

- return: An array keyed on the UTC dates, referring to the component

array rdate_expand ( $dtstart, string $property, array $component, [array $range_end = null], [ $is_date = null], [ $return_floating_times = false])

- string $property: RDATE or EXDATE, depending...
- array $component: A vComponent which is a VEVENT, VTODO or VJOURNAL
- array $range_end: A date after which we care less about expansion
- $dtstart
- $is_date
- $return_floating_times

rrule_expand (line 1141)

Expand the event instances for an RRULE property

- return: An array keyed on the UTC dates, referring to the component

array rrule_expand (object $dtstart, string $property, array $component, array $range_end, [ $is_date = null], [ $return_floating_times = false])

- object $dtstart: A RepeatRuleDateTime which is the master dtstart
- string $property: RDATE or EXDATE, depending...
- array $component: A vComponent which is a VEVENT, VTODO or VJOURNAL
- array $range_end: A date after which we care less about expansion
- $is_date
- $return_floating_times

Documentation generated on Wed, 04 Jul 2012 10:13:09 +0000 by phpDocumentor 1.4.3