aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/vobject
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/vobject')
-rw-r--r--vendor/sabre/vobject/CHANGELOG.md16
-rw-r--r--vendor/sabre/vobject/composer.json2
-rw-r--r--vendor/sabre/vobject/lib/ITip/Broker.php20
-rw-r--r--vendor/sabre/vobject/lib/Parser/MimeDir.php8
-rw-r--r--vendor/sabre/vobject/lib/Property.php5
-rw-r--r--vendor/sabre/vobject/lib/Property/Text.php5
-rw-r--r--vendor/sabre/vobject/lib/Recur/RRuleIterator.php6
-rw-r--r--vendor/sabre/vobject/lib/Version.php2
-rw-r--r--vendor/sabre/vobject/lib/timezonedata/php-bc.php1
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',