aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/vobject/lib/Component/VEvent.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/vobject/lib/Component/VEvent.php')
-rw-r--r--vendor/sabre/vobject/lib/Component/VEvent.php96
1 files changed, 53 insertions, 43 deletions
diff --git a/vendor/sabre/vobject/lib/Component/VEvent.php b/vendor/sabre/vobject/lib/Component/VEvent.php
index 09f37033c..7f6861190 100644
--- a/vendor/sabre/vobject/lib/Component/VEvent.php
+++ b/vendor/sabre/vobject/lib/Component/VEvent.php
@@ -16,8 +16,8 @@ use Sabre\VObject\Recur\NoInstancesException;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class VEvent extends VObject\Component
-{
+class VEvent extends VObject\Component {
+
/**
* Returns true or false depending on if the event falls in the specified
* time-range. This is used for filtering purposes.
@@ -30,15 +30,20 @@ class VEvent extends VObject\Component
*
* @return bool
*/
- public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
- {
+ function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end) {
+
if ($this->RRULE) {
+
try {
+
$it = new EventIterator($this, null, $start->getTimezone());
+
} catch (NoInstancesException $e) {
+
// If we've catched this exception, there are no instances
// for the event that fall into the specified time-range.
return false;
+
}
$it->fastForward($start);
@@ -49,11 +54,13 @@ class VEvent extends VObject\Component
//
// If the starttime of the recurrence did not exceed the
// end of the time range as well, we have a match.
- return $it->getDTStart() < $end && $it->getDTEnd() > $start;
+ return ($it->getDTStart() < $end && $it->getDTEnd() > $start);
+
}
$effectiveStart = $this->DTSTART->getDateTime($start->getTimezone());
if (isset($this->DTEND)) {
+
// The DTEND property is considered non inclusive. So for a 3 day
// event in july, dtstart and dtend would have to be July 1st and
// July 4th respectively.
@@ -61,6 +68,7 @@ class VEvent extends VObject\Component
// See:
// http://tools.ietf.org/html/rfc5545#page-54
$effectiveEnd = $this->DTEND->getDateTime($end->getTimezone());
+
} elseif (isset($this->DURATION)) {
$effectiveEnd = $effectiveStart->add(VObject\DateTimeParser::parseDuration($this->DURATION));
} elseif (!$this->DTSTART->hasTime()) {
@@ -68,10 +76,10 @@ class VEvent extends VObject\Component
} else {
$effectiveEnd = $effectiveStart;
}
-
- return
+ return (
($start < $effectiveEnd) && ($end > $effectiveStart)
- ;
+ );
+
}
/**
@@ -79,12 +87,13 @@ class VEvent extends VObject\Component
*
* @return array
*/
- protected function getDefaults()
- {
+ protected function getDefaults() {
+
return [
- 'UID' => 'sabre-vobject-'.VObject\UUIDUtil::getUUID(),
- 'DTSTAMP' => gmdate('Ymd\\THis\\Z'),
+ 'UID' => 'sabre-vobject-' . VObject\UUIDUtil::getUUID(),
+ 'DTSTAMP' => date('Ymd\\THis\\Z'),
];
+
}
/**
@@ -102,42 +111,43 @@ class VEvent extends VObject\Component
*
* @var array
*/
- public function getValidationRules()
- {
- $hasMethod = isset($this->parent->METHOD);
+ function getValidationRules() {
+ $hasMethod = isset($this->parent->METHOD);
return [
- 'UID' => 1,
- 'DTSTAMP' => 1,
- 'DTSTART' => $hasMethod ? '?' : '1',
- 'CLASS' => '?',
- 'CREATED' => '?',
- 'DESCRIPTION' => '?',
- 'GEO' => '?',
+ 'UID' => 1,
+ 'DTSTAMP' => 1,
+ 'DTSTART' => $hasMethod ? '?' : '1',
+ 'CLASS' => '?',
+ 'CREATED' => '?',
+ 'DESCRIPTION' => '?',
+ 'GEO' => '?',
'LAST-MODIFIED' => '?',
- 'LOCATION' => '?',
- 'ORGANIZER' => '?',
- 'PRIORITY' => '?',
- 'SEQUENCE' => '?',
- 'STATUS' => '?',
- 'SUMMARY' => '?',
- 'TRANSP' => '?',
- 'URL' => '?',
+ 'LOCATION' => '?',
+ 'ORGANIZER' => '?',
+ 'PRIORITY' => '?',
+ 'SEQUENCE' => '?',
+ 'STATUS' => '?',
+ 'SUMMARY' => '?',
+ 'TRANSP' => '?',
+ 'URL' => '?',
'RECURRENCE-ID' => '?',
- 'RRULE' => '?',
- 'DTEND' => '?',
- 'DURATION' => '?',
-
- 'ATTACH' => '*',
- 'ATTENDEE' => '*',
- 'CATEGORIES' => '*',
- 'COMMENT' => '*',
- 'CONTACT' => '*',
- 'EXDATE' => '*',
+ 'RRULE' => '?',
+ 'DTEND' => '?',
+ 'DURATION' => '?',
+
+ 'ATTACH' => '*',
+ 'ATTENDEE' => '*',
+ 'CATEGORIES' => '*',
+ 'COMMENT' => '*',
+ 'CONTACT' => '*',
+ 'EXDATE' => '*',
'REQUEST-STATUS' => '*',
- 'RELATED-TO' => '*',
- 'RESOURCES' => '*',
- 'RDATE' => '*',
+ 'RELATED-TO' => '*',
+ 'RESOURCES' => '*',
+ 'RDATE' => '*',
];
+
}
+
}