aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/vobject/lib/Recur/EventIterator.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/vobject/lib/Recur/EventIterator.php')
-rw-r--r--vendor/sabre/vobject/lib/Recur/EventIterator.php17
1 files changed, 15 insertions, 2 deletions
diff --git a/vendor/sabre/vobject/lib/Recur/EventIterator.php b/vendor/sabre/vobject/lib/Recur/EventIterator.php
index e42ca1360..61f05d7de 100644
--- a/vendor/sabre/vobject/lib/Recur/EventIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/EventIterator.php
@@ -198,6 +198,7 @@ class EventIterator implements \Iterator
*
* @return DateTimeImmutable
*/
+ #[\ReturnTypeWillChange]
public function current()
{
if ($this->currentDate) {
@@ -229,9 +230,13 @@ class EventIterator implements \Iterator
if (!$this->valid()) {
return;
}
- $end = clone $this->currentDate;
+ if ($this->currentOverriddenEvent && $this->currentOverriddenEvent->DTEND) {
+ return $this->currentOverriddenEvent->DTEND->getDateTime($this->timeZone);
+ } else {
+ $end = clone $this->currentDate;
- return $end->modify('+'.$this->eventDuration.' seconds');
+ return $end->modify('+'.$this->eventDuration.' seconds');
+ }
}
/**
@@ -281,6 +286,7 @@ class EventIterator implements \Iterator
*
* @return int
*/
+ #[\ReturnTypeWillChange]
public function key()
{
// The counter is always 1 ahead.
@@ -293,6 +299,7 @@ class EventIterator implements \Iterator
*
* @return bool
*/
+ #[\ReturnTypeWillChange]
public function valid()
{
if ($this->counter > Settings::$maxRecurrences && -1 !== Settings::$maxRecurrences) {
@@ -304,7 +311,10 @@ class EventIterator implements \Iterator
/**
* Sets the iterator back to the starting point.
+ *
+ * @return void
*/
+ #[\ReturnTypeWillChange]
public function rewind()
{
$this->recurIterator->rewind();
@@ -327,7 +337,10 @@ class EventIterator implements \Iterator
/**
* Advances the iterator with one step.
+ *
+ * @return void
*/
+ #[\ReturnTypeWillChange]
public function next()
{
$this->currentOverriddenEvent = null;