ILIAS
release_5-4 Revision v5.4.26-12-gabc799a52e6
|
This class is used to determine new for a recurring event, when the next events occur. More...
Data Structures | |
class | ExpandFloatingTimesTest |
class | FifthTuesdayProblemTest |
class | HandleRDateExpandTest |
This is a unittest for Issue #53. More... | |
class | IncorrectExpandTest |
This is a unittest for Issue #53. More... | |
class | InfiniteLoopProblemTest |
class | Issue26Test |
class | MainTest |
class | MaxInstancesTest |
class | MissingOverriddenTest |
Public Member Functions | |
__construct ($input, $uid=null, DateTimeZone $timeZone=null) | |
Creates the iterator. More... | |
current () | |
Returns the date for the current position of the iterator. More... | |
getDtStart () | |
This method returns the start date for the current iteration of the event. More... | |
getDtEnd () | |
This method returns the end date for the current iteration of the event. More... | |
getEventObject () | |
Returns a VEVENT for the current iterations of the event. More... | |
key () | |
Returns the current position of the iterator. More... | |
valid () | |
This is called after next, to see if the iterator is still at a valid position, or if it's at the end. More... | |
rewind () | |
Sets the iterator back to the starting point. More... | |
next () | |
Advances the iterator with one step. More... | |
fastForward (DateTimeInterface $dateTime) | |
Quickly jump to a date in the future. More... | |
isInfinite () | |
Returns true if this recurring event never ends. More... | |
Protected Attributes | |
$timeZone | |
$allDay = false | |
$recurIterator | |
$eventDuration | |
The duration, in seconds, of the master event. More... | |
$masterEvent | |
$overriddenEvents = [] | |
$overriddenEventsIndex | |
$exceptions = [] | |
$counter | |
$startDate | |
$currentDate | |
$nextDate | |
$currentOverriddenEvent | |
This class is used to determine new for a recurring event, when the next events occur.
This iterator may loop infinitely in the future, therefore it is important that if you use this class, you set hard limits for the amount of iterations you want to handle.
Note that currently there is not full support for the entire iCalendar specification, as it's very complex and contains a lot of permutations that's not yet used very often in software.
For the focus has been on features as they actually appear in Calendaring software, but this may well get expanded as needed / on demand
The following RRULE properties are supported
Anything beyond this is 'undefined', which means that it may get ignored, or you may get unexpected results. The effect is that in some applications the specified recurrence may look incorrect, or is missing.
The recurrence iterator also does not yet support THISANDFUTURE.
Definition at line 61 of file EventIterator.php.
Sabre\VObject\Recur\EventIterator::__construct | ( | $input, | |
$uid = null , |
|||
DateTimeZone | $timeZone = null |
||
) |
Creates the iterator.
There's three ways to set up the iterator.
Only the second method is recomended. The other 1 and 3 will be removed at some point in the future.
The $uid parameter is only required for the first method.
Component | array | $input | |
string | null | $uid | |
DateTimeZone | $timeZone | Reference timezone for floating dates and times. |
Definition at line 96 of file EventIterator.php.
References $end, $events, Sabre\VObject\$input, Sabre\VObject\Recur\EventIterator\$startDate, Sabre\VObject\Recur\EventIterator\$timeZone, Sabre\VObject\Recur\EventIterator\rewind(), and Sabre\VObject\Recur\EventIterator\valid().
Sabre\VObject\Recur\EventIterator::current | ( | ) |
Returns the date for the current position of the iterator.
Definition at line 213 of file EventIterator.php.
References Sabre\VObject\Recur\EventIterator\$currentDate.
Sabre\VObject\Recur\EventIterator::fastForward | ( | DateTimeInterface | $dateTime | ) |
Quickly jump to a date in the future.
DateTimeInterface | $dateTime |
Definition at line 410 of file EventIterator.php.
References Sabre\VObject\Recur\EventIterator\getDtEnd(), Sabre\VObject\Recur\EventIterator\next(), and Sabre\VObject\Recur\EventIterator\valid().
Referenced by Sabre\VObject\Component\VEvent\isInTimeRange().
Sabre\VObject\Recur\EventIterator::getDtEnd | ( | ) |
This method returns the end date for the current iteration of the event.
Definition at line 241 of file EventIterator.php.
References Sabre\VObject\Recur\EventIterator\$currentDate, $end, and Sabre\VObject\Recur\EventIterator\valid().
Referenced by Sabre\VObject\Recur\EventIterator\fastForward(), and Sabre\VObject\Recur\EventIterator\getEventObject().
Sabre\VObject\Recur\EventIterator::getDtStart | ( | ) |
This method returns the start date for the current iteration of the event.
Definition at line 227 of file EventIterator.php.
References Sabre\VObject\Recur\EventIterator\$currentDate.
Referenced by Sabre\VObject\Recur\EventIterator\getEventObject().
Sabre\VObject\Recur\EventIterator::getEventObject | ( | ) |
Returns a VEVENT for the current iterations of the event.
This VEVENT will have a recurrence id, and it's DTSTART and DTEND altered.
Definition at line 259 of file EventIterator.php.
References Sabre\VObject\Recur\EventIterator\$currentOverriddenEvent, Sabre\VObject\Recur\EventIterator\$masterEvent, Sabre\VObject\Recur\EventIterator\getDtEnd(), and Sabre\VObject\Recur\EventIterator\getDtStart().
Sabre\VObject\Recur\EventIterator::isInfinite | ( | ) |
Returns true if this recurring event never ends.
Definition at line 423 of file EventIterator.php.
Sabre\VObject\Recur\EventIterator::key | ( | ) |
Returns the current position of the iterator.
This is for us simply a 0-based index.
Definition at line 298 of file EventIterator.php.
Referenced by Sabre\VObject\Recur\EventIterator\next().
Sabre\VObject\Recur\EventIterator::next | ( | ) |
Advances the iterator with one step.
Definition at line 349 of file EventIterator.php.
References Sabre\VObject\Recur\EventIterator\$nextDate, $timestamp, and Sabre\VObject\Recur\EventIterator\key().
Referenced by Sabre\VObject\Recur\EventIterator\fastForward(), and Sabre\VObject\Recur\EventIterator\rewind().
Sabre\VObject\Recur\EventIterator::rewind | ( | ) |
Sets the iterator back to the starting point.
Definition at line 323 of file EventIterator.php.
References $index, $key, Sabre\VObject\Recur\EventIterator\$startDate, and Sabre\VObject\Recur\EventIterator\next().
Referenced by Sabre\VObject\Recur\EventIterator\__construct().
Sabre\VObject\Recur\EventIterator::valid | ( | ) |
This is called after next, to see if the iterator is still at a valid position, or if it's at the end.
Definition at line 311 of file EventIterator.php.
References Sabre\VObject\Recur\EventIterator\$currentDate, and Sabre\VObject\Settings\$maxRecurrences.
Referenced by Sabre\VObject\Recur\EventIterator\__construct(), Sabre\VObject\Recur\EventIterator\fastForward(), and Sabre\VObject\Recur\EventIterator\getDtEnd().
|
protected |
Definition at line 75 of file EventIterator.php.
|
protected |
Definition at line 480 of file EventIterator.php.
|
protected |
Definition at line 494 of file EventIterator.php.
Referenced by Sabre\VObject\Recur\EventIterator\current(), Sabre\VObject\Recur\EventIterator\getDtEnd(), Sabre\VObject\Recur\EventIterator\getDtStart(), and Sabre\VObject\Recur\EventIterator\valid().
|
protected |
Definition at line 511 of file EventIterator.php.
Referenced by Sabre\VObject\Recur\EventIterator\getEventObject().
|
protected |
The duration, in seconds, of the master event.
We use this to calculate the DTEND for subsequent events.
Definition at line 441 of file EventIterator.php.
|
protected |
Definition at line 473 of file EventIterator.php.
|
protected |
Definition at line 448 of file EventIterator.php.
Referenced by Sabre\VObject\Recur\EventIterator\getEventObject().
|
protected |
Definition at line 504 of file EventIterator.php.
Referenced by Sabre\VObject\Recur\EventIterator\next().
|
protected |
Definition at line 455 of file EventIterator.php.
|
protected |
Definition at line 465 of file EventIterator.php.
|
protected |
Definition at line 434 of file EventIterator.php.
|
protected |
Definition at line 487 of file EventIterator.php.
Referenced by Sabre\VObject\Recur\EventIterator\__construct(), and Sabre\VObject\Recur\EventIterator\rewind().
|
protected |
Definition at line 68 of file EventIterator.php.
Referenced by Sabre\VObject\Recur\EventIterator\__construct().