File/inc/RRule-v2.php

Description

Class for parsing RRule and getting us the dates

Classes
Class Description
 class RepeatRuleTimeZone Wrap the DateTimeZone class to allow parsing some iCalendar TZID strangenesses
 class Rfc5545Duration Provide a useful way of dealing with RFC5545 duration strings of the form
 class 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.
 class 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.
 class 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 1099)
Constants
DEBUG_RRULE = false (line 34)
Functions
expand_event_instances (line 1180)

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 1394)

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 1449)

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 1110)

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 1138)

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 Fri, 13 Jan 2012 23:44:56 +1300 by phpDocumentor 1.4.3