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/Recur.php24
-rw-r--r--vendor/sabre/vobject/lib/Property/Text.php2
2 files changed, 22 insertions, 4 deletions
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
index a3c36dc64..8392a5cc1 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
@@ -260,21 +260,39 @@ class Recur extends Property {
foreach ($values as $key => $value) {
- if (empty($value)) {
+ if ($value === '') {
$warnings[] = [
- 'level' => $repair ? 3 : 1,
+ 'level' => $repair ? 1 : 3,
'message' => 'Invalid value for ' . $key . ' in ' . $this->name,
'node' => $this
];
if ($repair) {
unset($values[$key]);
}
+ } elseif ($key == 'BYMONTH') {
+ $byMonth = (array)$value;
+ foreach ($byMonth as $i => $v) {
+ if (!is_numeric($v) || (int)$v < 1 || (int)$v > 12) {
+ $warnings[] = [
+ 'level' => $repair ? 1 : 3,
+ 'message' => 'BYMONTH in RRULE must have value(s) between 1 and 12!',
+ 'node' => $this
+ ];
+ if ($repair) {
+ if (is_array($value)) {
+ unset($values[$key][$i]);
+ } else {
+ unset($values[$key]);
+ }
+ }
+ }
+ }
}
}
if (!isset($values['FREQ'])) {
$warnings[] = [
- 'level' => $repair ? 3 : 1,
+ 'level' => $repair ? 1 : 3,
'message' => 'FREQ is required in ' . $this->name,
'node' => $this
];
diff --git a/vendor/sabre/vobject/lib/Property/Text.php b/vendor/sabre/vobject/lib/Property/Text.php
index 2e16ac534..abc17563f 100644
--- a/vendor/sabre/vobject/lib/Property/Text.php
+++ b/vendor/sabre/vobject/lib/Property/Text.php
@@ -397,7 +397,7 @@ class Text extends Property {
if (count($parts) < $minimum) {
$warnings[] = [
'level' => $options & self::REPAIR ? 1 : 3,
- 'message' => 'The ' . $this->name . ' property must have at least ' . $minimum . ' values. It only has ' . count($parts),
+ 'message' => 'The ' . $this->name . ' property must have at least ' . $minimum . ' values. It only has ' . count($parts),
'node' => $this,
];
if ($options & self::REPAIR) {