aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/vobject/lib/Property
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/vobject/lib/Property')
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Duration.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Period.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Recur.php48
-rw-r--r--vendor/sabre/vobject/lib/Property/Text.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/Uri.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php24
6 files changed, 65 insertions, 17 deletions
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php b/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php
index 66d366960..7b7e1ce8e 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject\Property\ICalendar;
-use Sabre\VObject\Property;
use Sabre\VObject\DateTimeParser;
+use Sabre\VObject\Property;
/**
* Duration property.
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
index a4561d929..d35b425aa 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject\Property\ICalendar;
-use Sabre\VObject\Property;
use Sabre\VObject\DateTimeParser;
+use Sabre\VObject\Property;
use Sabre\Xml;
/**
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
index 8392a5cc1..434b77088 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
@@ -287,6 +287,54 @@ class Recur extends Property {
}
}
}
+ // if there is no valid entry left, remove the whole value
+ if (is_array($value) && empty($values[$key])) {
+ unset($values[$key]);
+ }
+ } elseif ($key == 'BYWEEKNO') {
+ $byWeekNo = (array)$value;
+ foreach ($byWeekNo as $i => $v) {
+ if (!is_numeric($v) || (int)$v < -53 || (int)$v == 0 || (int)$v > 53) {
+ $warnings[] = [
+ 'level' => $repair ? 1 : 3,
+ 'message' => 'BYWEEKNO in RRULE must have value(s) from -53 to -1, or 1 to 53!',
+ 'node' => $this
+ ];
+ if ($repair) {
+ if (is_array($value)) {
+ unset($values[$key][$i]);
+ } else {
+ unset($values[$key]);
+ }
+ }
+ }
+ }
+ // if there is no valid entry left, remove the whole value
+ if (is_array($value) && empty($values[$key])) {
+ unset($values[$key]);
+ }
+ } elseif ($key == 'BYYEARDAY') {
+ $byYearDay = (array)$value;
+ foreach ($byYearDay as $i => $v) {
+ if (!is_numeric($v) || (int)$v < -366 || (int)$v == 0 || (int)$v > 366) {
+ $warnings[] = [
+ 'level' => $repair ? 1 : 3,
+ 'message' => 'BYYEARDAY in RRULE must have value(s) from -366 to -1, or 1 to 366!',
+ 'node' => $this
+ ];
+ if ($repair) {
+ if (is_array($value)) {
+ unset($values[$key][$i]);
+ } else {
+ unset($values[$key]);
+ }
+ }
+ }
+ }
+ // if there is no valid entry left, remove the whole value
+ if (is_array($value) && empty($values[$key])) {
+ unset($values[$key]);
+ }
}
}
diff --git a/vendor/sabre/vobject/lib/Property/Text.php b/vendor/sabre/vobject/lib/Property/Text.php
index abc17563f..476dcde4d 100644
--- a/vendor/sabre/vobject/lib/Property/Text.php
+++ b/vendor/sabre/vobject/lib/Property/Text.php
@@ -2,10 +2,10 @@
namespace Sabre\VObject\Property;
-use Sabre\VObject\Property;
use Sabre\VObject\Component;
-use Sabre\VObject\Parser\MimeDir;
use Sabre\VObject\Document;
+use Sabre\VObject\Parser\MimeDir;
+use Sabre\VObject\Property;
use Sabre\Xml;
/**
diff --git a/vendor/sabre/vobject/lib/Property/Uri.php b/vendor/sabre/vobject/lib/Property/Uri.php
index 58e676e60..88fcfaab8 100644
--- a/vendor/sabre/vobject/lib/Property/Uri.php
+++ b/vendor/sabre/vobject/lib/Property/Uri.php
@@ -2,8 +2,8 @@
namespace Sabre\VObject\Property;
-use Sabre\VObject\Property;
use Sabre\VObject\Parameter;
+use Sabre\VObject\Property;
/**
* URI property.
diff --git a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
index 650e19cbf..3b4ae3bb5 100644
--- a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
+++ b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
@@ -2,9 +2,9 @@
namespace Sabre\VObject\Property\VCard;
-use DateTimeInterface;
-use DateTimeImmutable;
use DateTime;
+use DateTimeImmutable;
+use DateTimeInterface;
use Sabre\VObject\DateTimeParser;
use Sabre\VObject\InvalidDataException;
use Sabre\VObject\Property;
@@ -45,7 +45,7 @@ class DateAndOrTime extends Property {
/**
* Sets a multi-valued property.
*
- * You may also specify DateTime objects here.
+ * You may also specify DateTimeInterface objects here.
*
* @param array $parts
*
@@ -56,7 +56,7 @@ class DateAndOrTime extends Property {
if (count($parts) > 1) {
throw new \InvalidArgumentException('Only one value allowed');
}
- if (isset($parts[0]) && $parts[0] instanceof \DateTime) {
+ if (isset($parts[0]) && $parts[0] instanceof DateTimeInterface) {
$this->setDateTime($parts[0]);
} else {
parent::setParts($parts);
@@ -69,15 +69,15 @@ class DateAndOrTime extends Property {
*
* This may be either a single, or multiple strings in an array.
*
- * Instead of strings, you may also use DateTime here.
+ * Instead of strings, you may also use DateTimeInterface here.
*
- * @param string|array|\DateTime $value
+ * @param string|array|DateTimeInterface $value
*
* @return void
*/
function setValue($value) {
- if ($value instanceof \DateTime) {
+ if ($value instanceof DateTimeInterface) {
$this->setDateTime($value);
} else {
parent::setValue($value);
@@ -261,8 +261,8 @@ class DateAndOrTime extends Property {
protected function xmlSerializeValue(Xml\Writer $writer) {
$valueType = strtolower($this->getValueType());
- $parts = DateTimeParser::parseVCardDateAndOrTime($this->getValue());
- $value = '';
+ $parts = DateTimeParser::parseVCardDateAndOrTime($this->getValue());
+ $value = '';
// $d = defined
$d = function($part) use ($parts) {
@@ -280,7 +280,7 @@ class DateAndOrTime extends Property {
// value-date = element date {
// xsd:string { pattern = "\d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d" }
// }
- if (($d('year') || $d('month') || $d('date'))
+ if (($d('year') || $d('month') || $d('date'))
&& (!$d('hour') && !$d('minute') && !$d('second') && !$d('timezone'))) {
if ($d('year') && $d('month') && $d('date')) {
@@ -298,8 +298,8 @@ class DateAndOrTime extends Property {
// xsd:string { pattern = "(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)"
// ~ "(Z|[+\-]\d\d(\d\d)?)?" }
// }
- } elseif ((!$d('year') && !$d('month') && !$d('date'))
- && ($d('hour') || $d('minute') || $d('second'))) {
+ } elseif ((!$d('year') && !$d('month') && !$d('date'))
+ && ($d('hour') || $d('minute') || $d('second'))) {
if ($d('hour')) {
$value .= $r('hour') . $r('minute') . $r('second');