diff options
Diffstat (limited to 'vendor/sabre/vobject')
-rw-r--r-- | vendor/sabre/vobject/CHANGELOG.md | 16 | ||||
-rw-r--r-- | vendor/sabre/vobject/composer.json | 2 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/ITip/Broker.php | 20 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Parser/MimeDir.php | 8 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Property.php | 5 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Property/Text.php | 5 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Recur/RRuleIterator.php | 6 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Version.php | 2 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/timezonedata/php-bc.php | 1 |
9 files changed, 46 insertions, 19 deletions
diff --git a/vendor/sabre/vobject/CHANGELOG.md b/vendor/sabre/vobject/CHANGELOG.md index 56a36f99c..269b3dbff 100644 --- a/vendor/sabre/vobject/CHANGELOG.md +++ b/vendor/sabre/vobject/CHANGELOG.md @@ -1,6 +1,22 @@ ChangeLog ========= +4.1.5 (2018-03-08) +------------------ + +* Serialization: Performance boost for long properties (@gharlan) + +4.1.4 (2017-12-22) +------------------ + +* #383: Fix possible infinite loop in RRuleIterator, when the RRule FREQ + is YEARLY and it uses BYYEARDAY only (@mvdnes). +* #392: Improved significant change detection. This should reduce the number of + unneeded update emails in scheduling systems. (@alecpl). +* #395: Removed `Canada/East-Saskatchewan` timezone, as it got removed + from PHP as well. (@remicollet). + + 4.1.3 (2017-10-18) ------------------ diff --git a/vendor/sabre/vobject/composer.json b/vendor/sabre/vobject/composer.json index 1f22f6de1..2407cabb1 100644 --- a/vendor/sabre/vobject/composer.json +++ b/vendor/sabre/vobject/composer.json @@ -37,7 +37,7 @@ "sabre/xml" : ">=1.5 <3.0" }, "require-dev" : { - "phpunit/phpunit" : "> 4.8, <6.0.0", + "phpunit/phpunit" : "> 4.8.35, <6.0.0", "sabre/cs" : "^1.0.0" }, diff --git a/vendor/sabre/vobject/lib/ITip/Broker.php b/vendor/sabre/vobject/lib/ITip/Broker.php index effa74317..b9a30611b 100644 --- a/vendor/sabre/vobject/lib/ITip/Broker.php +++ b/vendor/sabre/vobject/lib/ITip/Broker.php @@ -849,6 +849,7 @@ class Broker { $exdate = []; foreach ($calendar->VEVENT as $vevent) { + $rrule = []; if (is_null($uid)) { $uid = $vevent->UID->getValue(); @@ -889,6 +890,18 @@ class Broker { } sort($exdate); } + if (isset($vevent->RRULE)) { + foreach ($vevent->select('RRULE') as $rr) { + foreach ($rr->getParts() as $key => $val) { + // ignore default values (https://github.com/sabre-io/vobject/issues/126) + if ($key === 'INTERVAL' && $val == 1) { + continue; + } + $rrule[] = "$key=$val"; + } + } + sort($rrule); + } if (isset($vevent->STATUS)) { $status = strtoupper($vevent->STATUS->getValue()); } @@ -953,19 +966,16 @@ class Broker { $significantChangeHash .= $prop . ':'; if ($prop === 'EXDATE') { - $significantChangeHash .= implode(',', $exdate) . ';'; - + } elseif ($prop === 'RRULE') { + $significantChangeHash .= implode(',', $rrule) . ';'; } else { - foreach ($propertyValues as $val) { $significantChangeHash .= $val->getValue() . ';'; } - } } } - } $significantChangeHash = md5($significantChangeHash); diff --git a/vendor/sabre/vobject/lib/Parser/MimeDir.php b/vendor/sabre/vobject/lib/Parser/MimeDir.php index fa75a1a3b..78e5bf385 100644 --- a/vendor/sabre/vobject/lib/Parser/MimeDir.php +++ b/vendor/sabre/vobject/lib/Parser/MimeDir.php @@ -464,13 +464,13 @@ class MimeDir extends Parser { // vCard 2.1 allows the character set to be specified per property. $charset = (string)$propObj['CHARSET']; } - switch ($charset) { - case 'UTF-8' : + switch (strtolower($charset)) { + case 'utf-8' : break; - case 'ISO-8859-1' : + case 'iso-8859-1' : $property['value'] = utf8_encode($property['value']); break; - case 'Windows-1252' : + case 'windows-1252' : $property['value'] = mb_convert_encoding($property['value'], 'UTF-8', $charset); break; default : diff --git a/vendor/sabre/vobject/lib/Property.php b/vendor/sabre/vobject/lib/Property.php index 1aaa3ed58..96855f1f7 100644 --- a/vendor/sabre/vobject/lib/Property.php +++ b/vendor/sabre/vobject/lib/Property.php @@ -249,8 +249,9 @@ abstract class Property extends Node { $out = ''; while (strlen($str) > 0) { if (strlen($str) > 75) { - $out .= mb_strcut($str, 0, 75, 'utf-8') . "\r\n"; - $str = ' ' . mb_strcut($str, 75, strlen($str), 'utf-8'); + $part = mb_strcut($str, 0, 75, 'utf-8'); + $out .= $part . "\r\n"; + $str = ' ' . substr($str, strlen($part)); } else { $out .= $str . "\r\n"; $str = ''; diff --git a/vendor/sabre/vobject/lib/Property/Text.php b/vendor/sabre/vobject/lib/Property/Text.php index 476dcde4d..bb7ab34ee 100644 --- a/vendor/sabre/vobject/lib/Property/Text.php +++ b/vendor/sabre/vobject/lib/Property/Text.php @@ -275,8 +275,9 @@ class Text extends Property { $out = ''; while (strlen($str) > 0) { if (strlen($str) > 75) { - $out .= mb_strcut($str, 0, 75, 'utf-8') . "\r\n"; - $str = ' ' . mb_strcut($str, 75, strlen($str), 'utf-8'); + $part = mb_strcut($str, 0, 75, 'utf-8'); + $out .= $part . "\r\n"; + $str = ' ' . substr($str, strlen($part)); } else { $out .= $str . "\r\n"; $str = ''; diff --git a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php index 20f34ef42..dbea1155d 100644 --- a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php +++ b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php @@ -592,11 +592,11 @@ class RRuleIterator implements Iterator { // loop through all YearDay and Days to check all the combinations foreach ($this->byYearDay as $byYearDay) { $date = clone $this->currentDate; - $date->setDate($currentYear, 1, 1); + $date = $date->setDate($currentYear, 1, 1); if ($byYearDay > 0) { - $date->add(new \DateInterval('P' . $byYearDay . 'D')); + $date = $date->add(new \DateInterval('P' . $byYearDay . 'D')); } else { - $date->sub(new \DateInterval('P' . abs($byYearDay) . 'D')); + $date = $date->sub(new \DateInterval('P' . abs($byYearDay) . 'D')); } if ($date > $this->currentDate && in_array($date->format('N'), $dayOffsets)) { diff --git a/vendor/sabre/vobject/lib/Version.php b/vendor/sabre/vobject/lib/Version.php index 24c51a604..67e8a4037 100644 --- a/vendor/sabre/vobject/lib/Version.php +++ b/vendor/sabre/vobject/lib/Version.php @@ -14,6 +14,6 @@ class Version { /** * Full version number. */ - const VERSION = '4.1.3'; + const VERSION = '4.1.5'; } diff --git a/vendor/sabre/vobject/lib/timezonedata/php-bc.php b/vendor/sabre/vobject/lib/timezonedata/php-bc.php index 906ccb0e4..83f38f507 100644 --- a/vendor/sabre/vobject/lib/timezonedata/php-bc.php +++ b/vendor/sabre/vobject/lib/timezonedata/php-bc.php @@ -68,7 +68,6 @@ return [ 'Brazil/West', 'Canada/Atlantic', 'Canada/Central', - 'Canada/East-Saskatchewan', 'Canada/Eastern', 'Canada/Mountain', 'Canada/Newfoundland', |