diff options
Diffstat (limited to 'vendor/sabre/vobject/lib/Property')
-rw-r--r-- | vendor/sabre/vobject/lib/Property/ICalendar/Recur.php | 24 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Property/Text.php | 2 |
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) { |