aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/sabre/vobject
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/sabre/vobject')
-rw-r--r--vendor/sabre/vobject/.gitignore15
-rw-r--r--vendor/sabre/vobject/.php_cs.dist2
-rw-r--r--vendor/sabre/vobject/.travis.yml29
-rw-r--r--vendor/sabre/vobject/CHANGELOG.md31
-rw-r--r--vendor/sabre/vobject/composer.json30
-rw-r--r--vendor/sabre/vobject/lib/Cli.php14
-rw-r--r--vendor/sabre/vobject/lib/Component.php10
-rw-r--r--vendor/sabre/vobject/lib/Component/VAvailability.php3
-rw-r--r--vendor/sabre/vobject/lib/Component/VCalendar.php160
-rw-r--r--vendor/sabre/vobject/lib/Component/VCard.php135
-rw-r--r--vendor/sabre/vobject/lib/Component/VEvent.php5
-rw-r--r--vendor/sabre/vobject/lib/Component/VFreeBusy.php3
-rw-r--r--vendor/sabre/vobject/lib/Component/VJournal.php3
-rw-r--r--vendor/sabre/vobject/lib/Component/VTodo.php3
-rw-r--r--vendor/sabre/vobject/lib/Document.php4
-rw-r--r--vendor/sabre/vobject/lib/FreeBusyGenerator.php12
-rw-r--r--vendor/sabre/vobject/lib/ITip/Broker.php39
-rw-r--r--vendor/sabre/vobject/lib/Node.php2
-rw-r--r--vendor/sabre/vobject/lib/PHPUnitAssertions.php5
-rw-r--r--vendor/sabre/vobject/lib/Parameter.php2
-rw-r--r--vendor/sabre/vobject/lib/Parser/Json.php10
-rw-r--r--vendor/sabre/vobject/lib/Parser/MimeDir.php9
-rw-r--r--vendor/sabre/vobject/lib/Parser/XML.php22
-rw-r--r--vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php2
-rw-r--r--vendor/sabre/vobject/lib/Property.php6
-rw-r--r--vendor/sabre/vobject/lib/Property/Binary.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/Boolean.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/FloatValue.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php22
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Period.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Recur.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/IntegerValue.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/Text.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/Time.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/Uri.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/UtcOffset.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/VCard/Date.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/VCard/PhoneNumber.php30
-rw-r--r--vendor/sabre/vobject/lib/Recur/EventIterator.php2
-rw-r--r--vendor/sabre/vobject/lib/Recur/NoInstancesException.php2
-rw-r--r--vendor/sabre/vobject/lib/Recur/RDateIterator.php5
-rw-r--r--vendor/sabre/vobject/lib/Recur/RRuleIterator.php33
-rw-r--r--vendor/sabre/vobject/lib/Settings.php2
-rw-r--r--vendor/sabre/vobject/lib/TimeZoneUtil.php2
-rw-r--r--vendor/sabre/vobject/lib/VCardConverter.php25
-rw-r--r--vendor/sabre/vobject/lib/Version.php2
-rw-r--r--vendor/sabre/vobject/lib/Writer.php7
-rw-r--r--vendor/sabre/vobject/phpstan.neon5
-rw-r--r--vendor/sabre/vobject/tests/bootstrap.php10
-rw-r--r--vendor/sabre/vobject/tests/phpunit.xml12
51 files changed, 353 insertions, 394 deletions
diff --git a/vendor/sabre/vobject/.gitignore b/vendor/sabre/vobject/.gitignore
index f08b31359..82b7dad3f 100644
--- a/vendor/sabre/vobject/.gitignore
+++ b/vendor/sabre/vobject/.gitignore
@@ -3,20 +3,7 @@ vendor/
composer.lock
tests/cov/
tests/temp
-
-#vim
-.*.swp
-
-#binaries
-bin/phpunit
-bin/phpcs
-bin/php-cs-fixer
-bin/sabre-cs-fixer
-bin/hoa
+tests/.phpunit.result.cache
# Development stuff
-testdata/
.php_cs.cache
-
-# OS X
-.DS_Store
diff --git a/vendor/sabre/vobject/.php_cs.dist b/vendor/sabre/vobject/.php_cs.dist
index 8d61ee259..c5c78a971 100644
--- a/vendor/sabre/vobject/.php_cs.dist
+++ b/vendor/sabre/vobject/.php_cs.dist
@@ -6,7 +6,7 @@ $config->getFinder()
->in(__DIR__);
$config->setRules([
'@PSR1' => true,
- '@Symfony' =>true
+ '@Symfony' => true
]);
return $config; \ No newline at end of file
diff --git a/vendor/sabre/vobject/.travis.yml b/vendor/sabre/vobject/.travis.yml
index 2619562ab..d1feb60de 100644
--- a/vendor/sabre/vobject/.travis.yml
+++ b/vendor/sabre/vobject/.travis.yml
@@ -1,38 +1,37 @@
language: php
-sudo: required
php:
- - 5.5
- - 5.6
- - 7.0
- 7.1
- 7.2
- 7.3
+ - 7.4
env:
global:
+ - MEMCACHED_SERVER=127.0.0.1
- RUN_PHPSTAN="FALSE"
+ matrix:
+ - PREFER_LOWEST="" REPORT_COVERAGE="TRUE" WITH_COVERAGE="--coverage-clover=coverage.xml"
+ - PREFER_LOWEST="--prefer-lowest" REPORT_COVERAGE="FALSE" WITH_COVERAGE=""
matrix:
include:
- name: 'PHPStan'
- php: 7.2
- env: RUN_PHPSTAN="TRUE"
+ php: 7.4
+ env:
+ - RUN_PHPSTAN="TRUE"
+ - REPORT_COVERAGE="FALSE"
fast_finish: true
- allow_failures:
- - php: 5.5
-
-install:
- - if [ $RUN_PHPSTAN == "TRUE" ]; then wget https://github.com/phpstan/phpstan/releases/download/0.10.3/phpstan.phar; fi
before_script:
- - composer install
+ - composer update $PREFER_LOWEST
script:
- - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/phpunit --configuration tests/phpunit.xml --coverage-clover=coverage.xml; fi
- - if [ $RUN_PHPSTAN == "TRUE" ]; then php phpstan.phar analyse -c phpstan.neon lib; fi
+ - if [ $RUN_PHPSTAN == "FALSE" ]; then php vendor/bin/php-cs-fixer fix --dry-run --diff; fi
+ - if [ $RUN_PHPSTAN == "FALSE" ]; then php vendor/bin/phpunit --configuration tests/phpunit.xml $WITH_COVERAGE; fi
+ - if [ $RUN_PHPSTAN == "TRUE" ]; then composer phpstan; fi
after_success:
- - bash <(curl -s https://codecov.io/bash)
+ - if [ $REPORT_COVERAGE == "TRUE" ]; then bash <(curl -s https://codecov.io/bash); fi
cache:
directories:
diff --git a/vendor/sabre/vobject/CHANGELOG.md b/vendor/sabre/vobject/CHANGELOG.md
index 7a2c935fb..69e14154b 100644
--- a/vendor/sabre/vobject/CHANGELOG.md
+++ b/vendor/sabre/vobject/CHANGELOG.md
@@ -1,6 +1,37 @@
ChangeLog
=========
+4.3.1 (2020-07-13)
+------------------
+
+* #510: Fix an incomplete phpdoc type annotation (@mstilkerich)
+* #505: Refactor unit test code for phpunit9 (@phil-davis)
+* #500: Standardize CI (@phil-davis)
+* #496: CI tooling changes (@JeroenVanOort)
+
+4.3.0 (2020-01-31)
+------------------
+
+* Added support for PHP 7.4, dropped support for PHP 7.0 (@phil-davis)
+* #487: Added phpstan coverage, updated testsuite for phpunit8 (@phil-davis, @JeroenVanOort)
+* #495: refactored maps to use ::class notation (@JeroenVanOort)
+
+4.2.2 (2020-01-14)
+------------------
+
+* #465: Add TZ in iTip REPLY iTip messages
+* #486: Add PHONE-NUMBER value type (used for TEL in vCard 3.0)
+
+4.2.1 (2019-12-18)
+------------------
+
+* #469, #451: fix compat with php 7.4
+* #443: prevent running in indefinte loop
+* #449: Preventing creating a component for a root document
+* #450: Fix parse with option Forgiving with trailing equal
+* #459: fixed typo in VCalendar which resulting in usage of the wrong TimeZone
+* #462: Broker::parseEventForOrganizer copies DTSTAMP from $eventInfo that causes broken scheduling
+
4.2.0 (2019-02-19)
------------------
diff --git a/vendor/sabre/vobject/composer.json b/vendor/sabre/vobject/composer.json
index ad026879e..d4fa56a31 100644
--- a/vendor/sabre/vobject/composer.json
+++ b/vendor/sabre/vobject/composer.json
@@ -32,12 +32,14 @@
"homepage" : "http://sabre.io/vobject/",
"license" : "BSD-3-Clause",
"require" : {
- "php" : ">=5.5",
+ "php" : "^7.1",
"ext-mbstring" : "*",
- "sabre/xml" : ">=1.5 <3.0"
+ "sabre/xml" : "^2.1"
},
"require-dev" : {
- "phpunit/phpunit" : "> 4.8.35, <6.0.0"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit" : "^7.5 || ^8.5 || ^9.0",
+ "phpstan/phpstan": "^0.12"
},
"suggest" : {
"hoa/bench" : "If you would like to run the benchmark scripts"
@@ -71,6 +73,11 @@
"Sabre\\VObject\\" : "lib/"
}
},
+ "autoload-dev" : {
+ "psr-4" : {
+ "Sabre\\VObject\\" : "tests/VObject"
+ }
+ },
"bin" : [
"bin/vobject",
"bin/generate_vcards"
@@ -80,7 +87,20 @@
"dev-master" : "4.0.x-dev"
}
},
- "config" : {
- "bin-dir" : "bin"
+ "scripts": {
+ "phpstan": [
+ "phpstan analyse lib tests"
+ ],
+ "cs-fixer": [
+ "php-cs-fixer fix"
+ ],
+ "phpunit": [
+ "phpunit --configuration tests/phpunit.xml"
+ ],
+ "test": [
+ "composer phpstan",
+ "composer cs-fixer",
+ "composer phpunit"
+ ]
}
}
diff --git a/vendor/sabre/vobject/lib/Cli.php b/vendor/sabre/vobject/lib/Cli.php
index 70b5e8d6e..f3e419b15 100644
--- a/vendor/sabre/vobject/lib/Cli.php
+++ b/vendor/sabre/vobject/lib/Cli.php
@@ -29,7 +29,7 @@ class Cli
protected $showHelp = false;
/**
- * Wether to spit out 'mimedir' or 'json' format.
+ * Whether to spit out 'mimedir' or 'json' format.
*
* @var string
*/
@@ -289,7 +289,7 @@ class Cli
$this->log($this->colorize('green', ' validate').' source_file Validates a file for correctness.');
$this->log($this->colorize('green', ' repair').' source_file [output_file] Repairs a file.');
$this->log($this->colorize('green', ' convert').' source_file [output_file] Converts a file.');
- $this->log($this->colorize('green', ' color').' source_file Colorize a file, useful for debbugging.');
+ $this->log($this->colorize('green', ' color').' source_file Colorize a file, useful for debugging.');
$this->log(
<<<HELP
@@ -312,8 +312,6 @@ HELP
/**
* Validates a VObject file.
*
- * @param Component $vObj
- *
* @return int
*/
protected function validate(Component $vObj)
@@ -354,8 +352,6 @@ HELP
/**
* Repairs a VObject file.
*
- * @param Component $vObj
- *
* @return int
*/
protected function repair(Component $vObj)
@@ -516,7 +512,7 @@ HELP
*
* A higher score means the item will be lower in the list.
* To avoid score collisions, each "score category" has a reasonable
- * space to accomodate elements. The $key is added to the $score to
+ * space to accommodate elements. The $key is added to the $score to
* preserve the original relative order of elements.
*
* @param int $key
@@ -582,8 +578,6 @@ HELP
/**
* Colorizes a property.
- *
- * @param Property $property
*/
protected function serializeProperty(Property $property)
{
@@ -642,8 +636,6 @@ HELP
/**
* Parses the list of arguments.
- *
- * @param array $argv
*/
protected function parseArguments(array $argv)
{
diff --git a/vendor/sabre/vobject/lib/Component.php b/vendor/sabre/vobject/lib/Component.php
index a33b7d577..da45eb29f 100644
--- a/vendor/sabre/vobject/lib/Component.php
+++ b/vendor/sabre/vobject/lib/Component.php
@@ -43,10 +43,8 @@ class Component extends Node
* an iCalendar object, this may be something like CALSCALE:GREGORIAN. To
* ensure that this does not happen, set $defaults to false.
*
- * @param Document $root
- * @param string $name such as VCALENDAR, VEVENT
- * @param array $children
- * @param bool $defaults
+ * @param string $name such as VCALENDAR, VEVENT
+ * @param bool $defaults
*/
public function __construct(Document $root, $name, array $children = [], $defaults = true)
{
@@ -276,7 +274,7 @@ class Component extends Node
*
* A higher score means the item will be lower in the list.
* To avoid score collisions, each "score category" has a reasonable
- * space to accomodate elements. The $key is added to the $score to
+ * space to accommodate elements. The $key is added to the $score to
* preserve the original relative order of elements.
*
* @param int $key
@@ -433,7 +431,7 @@ class Component extends Node
*
* @param string $name
*
- * @return Property
+ * @return Property|null
*/
public function __get($name)
{
diff --git a/vendor/sabre/vobject/lib/Component/VAvailability.php b/vendor/sabre/vobject/lib/Component/VAvailability.php
index 6f3e7f13c..04ec38dcb 100644
--- a/vendor/sabre/vobject/lib/Component/VAvailability.php
+++ b/vendor/sabre/vobject/lib/Component/VAvailability.php
@@ -26,9 +26,6 @@ class VAvailability extends VObject\Component
*
* https://tools.ietf.org/html/draft-daboo-calendar-availability-05#section-3.1
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
diff --git a/vendor/sabre/vobject/lib/Component/VCalendar.php b/vendor/sabre/vobject/lib/Component/VCalendar.php
index 4687a092b..40e09a1c0 100644
--- a/vendor/sabre/vobject/lib/Component/VCalendar.php
+++ b/vendor/sabre/vobject/lib/Component/VCalendar.php
@@ -37,15 +37,15 @@ class VCalendar extends VObject\Document
* @var array
*/
public static $componentMap = [
- 'VCALENDAR' => 'Sabre\\VObject\\Component\\VCalendar',
- 'VALARM' => 'Sabre\\VObject\\Component\\VAlarm',
- 'VEVENT' => 'Sabre\\VObject\\Component\\VEvent',
- 'VFREEBUSY' => 'Sabre\\VObject\\Component\\VFreeBusy',
- 'VAVAILABILITY' => 'Sabre\\VObject\\Component\\VAvailability',
- 'AVAILABLE' => 'Sabre\\VObject\\Component\\Available',
- 'VJOURNAL' => 'Sabre\\VObject\\Component\\VJournal',
- 'VTIMEZONE' => 'Sabre\\VObject\\Component\\VTimeZone',
- 'VTODO' => 'Sabre\\VObject\\Component\\VTodo',
+ 'VCALENDAR' => self::class,
+ 'VALARM' => VAlarm::class,
+ 'VEVENT' => VEvent::class,
+ 'VFREEBUSY' => VFreeBusy::class,
+ 'VAVAILABILITY' => VAvailability::class,
+ 'AVAILABLE' => Available::class,
+ 'VJOURNAL' => VJournal::class,
+ 'VTIMEZONE' => VTimeZone::class,
+ 'VTODO' => VTodo::class,
];
/**
@@ -54,21 +54,21 @@ class VCalendar extends VObject\Document
* @var array
*/
public static $valueMap = [
- 'BINARY' => 'Sabre\\VObject\\Property\\Binary',
- 'BOOLEAN' => 'Sabre\\VObject\\Property\\Boolean',
- 'CAL-ADDRESS' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
- 'DATE' => 'Sabre\\VObject\\Property\\ICalendar\\Date',
- 'DATE-TIME' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DURATION' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
- 'FLOAT' => 'Sabre\\VObject\\Property\\FloatValue',
- 'INTEGER' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'PERIOD' => 'Sabre\\VObject\\Property\\ICalendar\\Period',
- 'RECUR' => 'Sabre\\VObject\\Property\\ICalendar\\Recur',
- 'TEXT' => 'Sabre\\VObject\\Property\\Text',
- 'TIME' => 'Sabre\\VObject\\Property\\Time',
- 'UNKNOWN' => 'Sabre\\VObject\\Property\\Unknown', // jCard / jCal-only.
- 'URI' => 'Sabre\\VObject\\Property\\Uri',
- 'UTC-OFFSET' => 'Sabre\\VObject\\Property\\UtcOffset',
+ 'BINARY' => VObject\Property\Binary::class,
+ 'BOOLEAN' => VObject\Property\Boolean::class,
+ 'CAL-ADDRESS' => VObject\Property\ICalendar\CalAddress::class,
+ 'DATE' => VObject\Property\ICalendar\Date::class,
+ 'DATE-TIME' => VObject\Property\ICalendar\DateTime::class,
+ 'DURATION' => VObject\Property\ICalendar\Duration::class,
+ 'FLOAT' => VObject\Property\FloatValue::class,
+ 'INTEGER' => VObject\Property\IntegerValue::class,
+ 'PERIOD' => VObject\Property\ICalendar\Period::class,
+ 'RECUR' => VObject\Property\ICalendar\Recur::class,
+ 'TEXT' => VObject\Property\Text::class,
+ 'TIME' => VObject\Property\Time::class,
+ 'UNKNOWN' => VObject\Property\Unknown::class, // jCard / jCal-only.
+ 'URI' => VObject\Property\Uri::class,
+ 'UTC-OFFSET' => VObject\Property\UtcOffset::class,
];
/**
@@ -78,78 +78,78 @@ class VCalendar extends VObject\Document
*/
public static $propertyMap = [
// Calendar properties
- 'CALSCALE' => 'Sabre\\VObject\\Property\\FlatText',
- 'METHOD' => 'Sabre\\VObject\\Property\\FlatText',
- 'PRODID' => 'Sabre\\VObject\\Property\\FlatText',
- 'VERSION' => 'Sabre\\VObject\\Property\\FlatText',
+ 'CALSCALE' => VObject\Property\FlatText::class,
+ 'METHOD' => VObject\Property\FlatText::class,
+ 'PRODID' => VObject\Property\FlatText::class,
+ 'VERSION' => VObject\Property\FlatText::class,
// Component properties
- 'ATTACH' => 'Sabre\\VObject\\Property\\Uri',
- 'CATEGORIES' => 'Sabre\\VObject\\Property\\Text',
- 'CLASS' => 'Sabre\\VObject\\Property\\FlatText',
- 'COMMENT' => 'Sabre\\VObject\\Property\\FlatText',
- 'DESCRIPTION' => 'Sabre\\VObject\\Property\\FlatText',
- 'GEO' => 'Sabre\\VObject\\Property\\FloatValue',
- 'LOCATION' => 'Sabre\\VObject\\Property\\FlatText',
- 'PERCENT-COMPLETE' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'PRIORITY' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'RESOURCES' => 'Sabre\\VObject\\Property\\Text',
- 'STATUS' => 'Sabre\\VObject\\Property\\FlatText',
- 'SUMMARY' => 'Sabre\\VObject\\Property\\FlatText',
+ 'ATTACH' => VObject\Property\Uri::class,
+ 'CATEGORIES' => VObject\Property\Text::class,
+ 'CLASS' => VObject\Property\FlatText::class,
+ 'COMMENT' => VObject\Property\FlatText::class,
+ 'DESCRIPTION' => VObject\Property\FlatText::class,
+ 'GEO' => VObject\Property\FloatValue::class,
+ 'LOCATION' => VObject\Property\FlatText::class,
+ 'PERCENT-COMPLETE' => VObject\Property\IntegerValue::class,
+ 'PRIORITY' => VObject\Property\IntegerValue::class,
+ 'RESOURCES' => VObject\Property\Text::class,
+ 'STATUS' => VObject\Property\FlatText::class,
+ 'SUMMARY' => VObject\Property\FlatText::class,
// Date and Time Component Properties
- 'COMPLETED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DTEND' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DUE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DTSTART' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DURATION' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
- 'FREEBUSY' => 'Sabre\\VObject\\Property\\ICalendar\\Period',
- 'TRANSP' => 'Sabre\\VObject\\Property\\FlatText',
+ 'COMPLETED' => VObject\Property\ICalendar\DateTime::class,
+ 'DTEND' => VObject\Property\ICalendar\DateTime::class,
+ 'DUE' => VObject\Property\ICalendar\DateTime::class,
+ 'DTSTART' => VObject\Property\ICalendar\DateTime::class,
+ 'DURATION' => VObject\Property\ICalendar\Duration::class,
+ 'FREEBUSY' => VObject\Property\ICalendar\Period::class,
+ 'TRANSP' => VObject\Property\FlatText::class,
// Time Zone Component Properties
- 'TZID' => 'Sabre\\VObject\\Property\\FlatText',
- 'TZNAME' => 'Sabre\\VObject\\Property\\FlatText',
- 'TZOFFSETFROM' => 'Sabre\\VObject\\Property\\UtcOffset',
- 'TZOFFSETTO' => 'Sabre\\VObject\\Property\\UtcOffset',
- 'TZURL' => 'Sabre\\VObject\\Property\\Uri',
+ 'TZID' => VObject\Property\FlatText::class,
+ 'TZNAME' => VObject\Property\FlatText::class,
+ 'TZOFFSETFROM' => VObject\Property\UtcOffset::class,
+ 'TZOFFSETTO' => VObject\Property\UtcOffset::class,
+ 'TZURL' => VObject\Property\Uri::class,
// Relationship Component Properties
- 'ATTENDEE' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
- 'CONTACT' => 'Sabre\\VObject\\Property\\FlatText',
- 'ORGANIZER' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
- 'RECURRENCE-ID' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'RELATED-TO' => 'Sabre\\VObject\\Property\\FlatText',
- 'URL' => 'Sabre\\VObject\\Property\\Uri',
- 'UID' => 'Sabre\\VObject\\Property\\FlatText',
+ 'ATTENDEE' => VObject\Property\ICalendar\CalAddress::class,
+ 'CONTACT' => VObject\Property\FlatText::class,
+ 'ORGANIZER' => VObject\Property\ICalendar\CalAddress::class,
+ 'RECURRENCE-ID' => VObject\Property\ICalendar\DateTime::class,
+ 'RELATED-TO' => VObject\Property\FlatText::class,
+ 'URL' => VObject\Property\Uri::class,
+ 'UID' => VObject\Property\FlatText::class,
// Recurrence Component Properties
- 'EXDATE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'RDATE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'RRULE' => 'Sabre\\VObject\\Property\\ICalendar\\Recur',
- 'EXRULE' => 'Sabre\\VObject\\Property\\ICalendar\\Recur', // Deprecated since rfc5545
+ 'EXDATE' => VObject\Property\ICalendar\DateTime::class,
+ 'RDATE' => VObject\Property\ICalendar\DateTime::class,
+ 'RRULE' => VObject\Property\ICalendar\Recur::class,
+ 'EXRULE' => VObject\Property\ICalendar\Recur::class, // Deprecated since rfc5545
// Alarm Component Properties
- 'ACTION' => 'Sabre\\VObject\\Property\\FlatText',
- 'REPEAT' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'TRIGGER' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
+ 'ACTION' => VObject\Property\FlatText::class,
+ 'REPEAT' => VObject\Property\IntegerValue::class,
+ 'TRIGGER' => VObject\Property\ICalendar\Duration::class,
// Change Management Component Properties
- 'CREATED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DTSTAMP' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'LAST-MODIFIED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'SEQUENCE' => 'Sabre\\VObject\\Property\\IntegerValue',
+ 'CREATED' => VObject\Property\ICalendar\DateTime::class,
+ 'DTSTAMP' => VObject\Property\ICalendar\DateTime::class,
+ 'LAST-MODIFIED' => VObject\Property\ICalendar\DateTime::class,
+ 'SEQUENCE' => VObject\Property\IntegerValue::class,
// Request Status
- 'REQUEST-STATUS' => 'Sabre\\VObject\\Property\\Text',
+ 'REQUEST-STATUS' => VObject\Property\Text::class,
// Additions from draft-daboo-valarm-extensions-04
- 'ALARM-AGENT' => 'Sabre\\VObject\\Property\\Text',
- 'ACKNOWLEDGED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'PROXIMITY' => 'Sabre\\VObject\\Property\\Text',
- 'DEFAULT-ALARM' => 'Sabre\\VObject\\Property\\Boolean',
+ 'ALARM-AGENT' => VObject\Property\Text::class,
+ 'ACKNOWLEDGED' => VObject\Property\ICalendar\DateTime::class,
+ 'PROXIMITY' => VObject\Property\Text::class,
+ 'DEFAULT-ALARM' => VObject\Property\Boolean::class,
// Additions from draft-daboo-calendar-availability-05
- 'BUSYTYPE' => 'Sabre\\VObject\\Property\\Text',
+ 'BUSYTYPE' => VObject\Property\Text::class,
];
/**
@@ -276,10 +276,8 @@ class VCalendar extends VObject\Document
* In addition, this method will cause timezone information to be stripped,
* and normalized to UTC.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- * @param DateTimeZone $timeZone reference timezone for floating dates and
- * times
+ * @param DateTimeZone $timeZone reference timezone for floating dates and
+ * times
*
* @return VCalendar
*/
@@ -336,7 +334,7 @@ class VCalendar extends VObject\Document
foreach ($recurringEvents as $events) {
try {
- $it = new EventIterator($events, $timeZone);
+ $it = new EventIterator($events, null, $timeZone);
} catch (NoInstancesException $e) {
// This event is recurring, but it doesn't have a single
// instance. We are skipping this event from the output
diff --git a/vendor/sabre/vobject/lib/Component/VCard.php b/vendor/sabre/vobject/lib/Component/VCard.php
index 860e45ffa..51321949f 100644
--- a/vendor/sabre/vobject/lib/Component/VCard.php
+++ b/vendor/sabre/vobject/lib/Component/VCard.php
@@ -39,7 +39,7 @@ class VCard extends VObject\Document
* @var array
*/
public static $componentMap = [
- 'VCARD' => 'Sabre\\VObject\\Component\\VCard',
+ 'VCARD' => VCard::class,
];
/**
@@ -48,22 +48,23 @@ class VCard extends VObject\Document
* @var array
*/
public static $valueMap = [
- 'BINARY' => 'Sabre\\VObject\\Property\\Binary',
- 'BOOLEAN' => 'Sabre\\VObject\\Property\\Boolean',
- 'CONTENT-ID' => 'Sabre\\VObject\\Property\\FlatText', // vCard 2.1 only
- 'DATE' => 'Sabre\\VObject\\Property\\VCard\\Date',
- 'DATE-TIME' => 'Sabre\\VObject\\Property\\VCard\\DateTime',
- 'DATE-AND-OR-TIME' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime', // vCard only
- 'FLOAT' => 'Sabre\\VObject\\Property\\FloatValue',
- 'INTEGER' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'LANGUAGE-TAG' => 'Sabre\\VObject\\Property\\VCard\\LanguageTag',
- 'TIMESTAMP' => 'Sabre\\VObject\\Property\\VCard\\TimeStamp',
- 'TEXT' => 'Sabre\\VObject\\Property\\Text',
- 'TIME' => 'Sabre\\VObject\\Property\\Time',
- 'UNKNOWN' => 'Sabre\\VObject\\Property\\Unknown', // jCard / jCal-only.
- 'URI' => 'Sabre\\VObject\\Property\\Uri',
- 'URL' => 'Sabre\\VObject\\Property\\Uri', // vCard 2.1 only
- 'UTC-OFFSET' => 'Sabre\\VObject\\Property\\UtcOffset',
+ 'BINARY' => VObject\Property\Binary::class,
+ 'BOOLEAN' => VObject\Property\Boolean::class,
+ 'CONTENT-ID' => VObject\Property\FlatText::class, // vCard 2.1 only
+ 'DATE' => VObject\Property\VCard\Date::class,
+ 'DATE-TIME' => VObject\Property\VCard\DateTime::class,
+ 'DATE-AND-OR-TIME' => VObject\Property\VCard\DateAndOrTime::class, // vCard only
+ 'FLOAT' => VObject\Property\FloatValue::class,
+ 'INTEGER' => VObject\Property\IntegerValue::class,
+ 'LANGUAGE-TAG' => VObject\Property\VCard\LanguageTag::class,
+ 'PHONE-NUMBER' => VObject\Property\VCard\PhoneNumber::class, // vCard 3.0 only
+ 'TIMESTAMP' => VObject\Property\VCard\TimeStamp::class,
+ 'TEXT' => VObject\Property\Text::class,
+ 'TIME' => VObject\Property\Time::class,
+ 'UNKNOWN' => VObject\Property\Unknown::class, // jCard / jCal-only.
+ 'URI' => VObject\Property\Uri::class,
+ 'URL' => VObject\Property\Uri::class, // vCard 2.1 only
+ 'UTC-OFFSET' => VObject\Property\UtcOffset::class,
];
/**
@@ -73,68 +74,68 @@ class VCard extends VObject\Document
*/
public static $propertyMap = [
// vCard 2.1 properties and up
- 'N' => 'Sabre\\VObject\\Property\\Text',
- 'FN' => 'Sabre\\VObject\\Property\\FlatText',
- 'PHOTO' => 'Sabre\\VObject\\Property\\Binary',
- 'BDAY' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
- 'ADR' => 'Sabre\\VObject\\Property\\Text',
- 'LABEL' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
- 'TEL' => 'Sabre\\VObject\\Property\\FlatText',
- 'EMAIL' => 'Sabre\\VObject\\Property\\FlatText',
- 'MAILER' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
- 'GEO' => 'Sabre\\VObject\\Property\\FlatText',
- 'TITLE' => 'Sabre\\VObject\\Property\\FlatText',
- 'ROLE' => 'Sabre\\VObject\\Property\\FlatText',
- 'LOGO' => 'Sabre\\VObject\\Property\\Binary',
+ 'N' => VObject\Property\Text::class,
+ 'FN' => VObject\Property\FlatText::class,
+ 'PHOTO' => VObject\Property\Binary::class,
+ 'BDAY' => VObject\Property\VCard\DateAndOrTime::class,
+ 'ADR' => VObject\Property\Text::class,
+ 'LABEL' => VObject\Property\FlatText::class, // Removed in vCard 4.0
+ 'TEL' => VObject\Property\FlatText::class,
+ 'EMAIL' => VObject\Property\FlatText::class,
+ 'MAILER' => VObject\Property\FlatText::class, // Removed in vCard 4.0
+ 'GEO' => VObject\Property\FlatText::class,
+ 'TITLE' => VObject\Property\FlatText::class,
+ 'ROLE' => VObject\Property\FlatText::class,
+ 'LOGO' => VObject\Property\Binary::class,
// 'AGENT' => 'Sabre\\VObject\\Property\\', // Todo: is an embedded vCard. Probably rare, so
// not supported at the moment
- 'ORG' => 'Sabre\\VObject\\Property\\Text',
- 'NOTE' => 'Sabre\\VObject\\Property\\FlatText',
- 'REV' => 'Sabre\\VObject\\Property\\VCard\\TimeStamp',
- 'SOUND' => 'Sabre\\VObject\\Property\\FlatText',
- 'URL' => 'Sabre\\VObject\\Property\\Uri',
- 'UID' => 'Sabre\\VObject\\Property\\FlatText',
- 'VERSION' => 'Sabre\\VObject\\Property\\FlatText',
- 'KEY' => 'Sabre\\VObject\\Property\\FlatText',
- 'TZ' => 'Sabre\\VObject\\Property\\Text',
+ 'ORG' => VObject\Property\Text::class,
+ 'NOTE' => VObject\Property\FlatText::class,
+ 'REV' => VObject\Property\VCard\TimeStamp::class,
+ 'SOUND' => VObject\Property\FlatText::class,
+ 'URL' => VObject\Property\Uri::class,
+ 'UID' => VObject\Property\FlatText::class,
+ 'VERSION' => VObject\Property\FlatText::class,
+ 'KEY' => VObject\Property\FlatText::class,
+ 'TZ' => VObject\Property\Text::class,
// vCard 3.0 properties
- 'CATEGORIES' => 'Sabre\\VObject\\Property\\Text',
- 'SORT-STRING' => 'Sabre\\VObject\\Property\\FlatText',
- 'PRODID' => 'Sabre\\VObject\\Property\\FlatText',
- 'NICKNAME' => 'Sabre\\VObject\\Property\\Text',
- 'CLASS' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
+ 'CATEGORIES' => VObject\Property\Text::class,
+ 'SORT-STRING' => VObject\Property\FlatText::class,
+ 'PRODID' => VObject\Property\FlatText::class,
+ 'NICKNAME' => VObject\Property\Text::class,
+ 'CLASS' => VObject\Property\FlatText::class, // Removed in vCard 4.0
// rfc2739 properties
- 'FBURL' => 'Sabre\\VObject\\Property\\Uri',
- 'CAPURI' => 'Sabre\\VObject\\Property\\Uri',
- 'CALURI' => 'Sabre\\VObject\\Property\\Uri',
- 'CALADRURI' => 'Sabre\\VObject\\Property\\Uri',
+ 'FBURL' => VObject\Property\Uri::class,
+ 'CAPURI' => VObject\Property\Uri::class,
+ 'CALURI' => VObject\Property\Uri::class,
+ 'CALADRURI' => VObject\Property\Uri::class,
// rfc4770 properties
- 'IMPP' => 'Sabre\\VObject\\Property\\Uri',
+ 'IMPP' => VObject\Property\Uri::class,
// vCard 4.0 properties
- 'SOURCE' => 'Sabre\\VObject\\Property\\Uri',
- 'XML' => 'Sabre\\VObject\\Property\\FlatText',
- 'ANNIVERSARY' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
- 'CLIENTPIDMAP' => 'Sabre\\VObject\\Property\\Text',
- 'LANG' => 'Sabre\\VObject\\Property\\VCard\\LanguageTag',
- 'GENDER' => 'Sabre\\VObject\\Property\\Text',
- 'KIND' => 'Sabre\\VObject\\Property\\FlatText',
- 'MEMBER' => 'Sabre\\VObject\\Property\\Uri',
- 'RELATED' => 'Sabre\\VObject\\Property\\Uri',
+ 'SOURCE' => VObject\Property\Uri::class,
+ 'XML' => VObject\Property\FlatText::class,
+ 'ANNIVERSARY' => VObject\Property\VCard\DateAndOrTime::class,
+ 'CLIENTPIDMAP' => VObject\Property\Text::class,
+ 'LANG' => VObject\Property\VCard\LanguageTag::class,
+ 'GENDER' => VObject\Property\Text::class,
+ 'KIND' => VObject\Property\FlatText::class,
+ 'MEMBER' => VObject\Property\Uri::class,
+ 'RELATED' => VObject\Property\Uri::class,
// rfc6474 properties
- 'BIRTHPLACE' => 'Sabre\\VObject\\Property\\FlatText',
- 'DEATHPLACE' => 'Sabre\\VObject\\Property\\FlatText',
- 'DEATHDATE' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
+ 'BIRTHPLACE' => VObject\Property\FlatText::class,
+ 'DEATHPLACE' => VObject\Property\FlatText::class,
+ 'DEATHDATE' => VObject\Property\VCard\DateAndOrTime::class,
// rfc6715 properties
- 'EXPERTISE' => 'Sabre\\VObject\\Property\\FlatText',
- 'HOBBY' => 'Sabre\\VObject\\Property\\FlatText',
- 'INTEREST' => 'Sabre\\VObject\\Property\\FlatText',
- 'ORG-DIRECTORY' => 'Sabre\\VObject\\Property\\FlatText',
+ 'EXPERTISE' => VObject\Property\FlatText::class,
+ 'HOBBY' => VObject\Property\FlatText::class,
+ 'INTEREST' => VObject\Property\FlatText::class,
+ 'ORG-DIRECTORY' => VObject\Property\FlatText::class,
];
/**
@@ -525,8 +526,8 @@ class VCard extends VObject\Document
$className = parent::getClassNameForPropertyName($propertyName);
// In vCard 4, BINARY no longer exists, and we need URI instead.
- if ('Sabre\\VObject\\Property\\Binary' == $className && self::VCARD40 === $this->getDocumentType()) {
- return 'Sabre\\VObject\\Property\\Uri';
+ if (VObject\Property\Binary::class == $className && self::VCARD40 === $this->getDocumentType()) {
+ return VObject\Property\Uri::class;
}
return $className;
diff --git a/vendor/sabre/vobject/lib/Component/VEvent.php b/vendor/sabre/vobject/lib/Component/VEvent.php
index 09f37033c..6ea93ed5e 100644
--- a/vendor/sabre/vobject/lib/Component/VEvent.php
+++ b/vendor/sabre/vobject/lib/Component/VEvent.php
@@ -25,9 +25,6 @@ class VEvent extends VObject\Component
* The rules used to determine if an event falls within the specified
* time-range is based on the CalDAV specification.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
@@ -36,7 +33,7 @@ class VEvent extends VObject\Component
try {
$it = new EventIterator($this, null, $start->getTimezone());
} catch (NoInstancesException $e) {
- // If we've catched this exception, there are no instances
+ // If we've caught this exception, there are no instances
// for the event that fall into the specified time-range.
return false;
}
diff --git a/vendor/sabre/vobject/lib/Component/VFreeBusy.php b/vendor/sabre/vobject/lib/Component/VFreeBusy.php
index 558a85233..fef418b53 100644
--- a/vendor/sabre/vobject/lib/Component/VFreeBusy.php
+++ b/vendor/sabre/vobject/lib/Component/VFreeBusy.php
@@ -21,9 +21,6 @@ class VFreeBusy extends VObject\Component
* Checks based on the contained FREEBUSY information, if a timeslot is
* available.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isFree(DateTimeInterface $start, DatetimeInterface $end)
diff --git a/vendor/sabre/vobject/lib/Component/VJournal.php b/vendor/sabre/vobject/lib/Component/VJournal.php
index 9bd336776..9b7f1b873 100644
--- a/vendor/sabre/vobject/lib/Component/VJournal.php
+++ b/vendor/sabre/vobject/lib/Component/VJournal.php
@@ -23,9 +23,6 @@ class VJournal extends VObject\Component
* The rules used to determine if an event falls within the specified
* time-range is based on the CalDAV specification.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
diff --git a/vendor/sabre/vobject/lib/Component/VTodo.php b/vendor/sabre/vobject/lib/Component/VTodo.php
index 9de77e841..6f022ba6d 100644
--- a/vendor/sabre/vobject/lib/Component/VTodo.php
+++ b/vendor/sabre/vobject/lib/Component/VTodo.php
@@ -23,9 +23,6 @@ class VTodo extends VObject\Component
* The rules used to determine if an event falls within the specified
* time-range is based on the CalDAV specification.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
diff --git a/vendor/sabre/vobject/lib/Document.php b/vendor/sabre/vobject/lib/Document.php
index 0cb2e0978..14a77c911 100644
--- a/vendor/sabre/vobject/lib/Document.php
+++ b/vendor/sabre/vobject/lib/Document.php
@@ -160,7 +160,7 @@ abstract class Document extends Component
public function createComponent($name, array $children = null, $defaults = true)
{
$name = strtoupper($name);
- $class = 'Sabre\\VObject\\Component';
+ $class = Component::class;
if (isset(static::$componentMap[$name])) {
$class = static::$componentMap[$name];
@@ -258,7 +258,7 @@ abstract class Document extends Component
if (isset(static::$propertyMap[$propertyName])) {
return static::$propertyMap[$propertyName];
} else {
- return 'Sabre\\VObject\\Property\\Unknown';
+ return Property\Unknown::class;
}
}
}
diff --git a/vendor/sabre/vobject/lib/FreeBusyGenerator.php b/vendor/sabre/vobject/lib/FreeBusyGenerator.php
index adb214c08..a1c24044c 100644
--- a/vendor/sabre/vobject/lib/FreeBusyGenerator.php
+++ b/vendor/sabre/vobject/lib/FreeBusyGenerator.php
@@ -109,8 +109,6 @@ class FreeBusyGenerator
* for setting things like the METHOD, CALSCALE, VERSION, etc..
*
* The VFREEBUSY object will be automatically added though.
- *
- * @param Document $vcalendar
*/
public function setBaseObject(Document $vcalendar)
{
@@ -119,8 +117,6 @@ class FreeBusyGenerator
/**
* Sets a VAVAILABILITY document.
- *
- * @param Document $vcalendar
*/
public function setVAvailability(Document $vcalendar)
{
@@ -176,8 +172,6 @@ class FreeBusyGenerator
/**
* Sets the reference timezone for floating times.
- *
- * @param DateTimeZone $timeZone
*/
public function setTimeZone(DateTimeZone $timeZone)
{
@@ -208,9 +202,6 @@ class FreeBusyGenerator
/**
* This method takes a VAVAILABILITY component and figures out all the
* available times.
- *
- * @param FreeBusyData $fbData
- * @param VCalendar $vavailability
*/
protected function calculateAvailability(FreeBusyData $fbData, VCalendar $vavailability)
{
@@ -363,8 +354,7 @@ class FreeBusyGenerator
* This method takes an array of iCalendar objects and applies its busy
* times on fbData.
*
- * @param FreeBusyData $fbData
- * @param VCalendar[] $objects
+ * @param VCalendar[] $objects
*/
protected function calculateBusy(FreeBusyData $fbData, array $objects)
{
diff --git a/vendor/sabre/vobject/lib/ITip/Broker.php b/vendor/sabre/vobject/lib/ITip/Broker.php
index b1cfee367..c09cdf3be 100644
--- a/vendor/sabre/vobject/lib/ITip/Broker.php
+++ b/vendor/sabre/vobject/lib/ITip/Broker.php
@@ -104,7 +104,6 @@ class Broker
*
* If the iTip message was not supported, we will always return false.
*
- * @param Message $itipMessage
* @param VCalendar $existingObject
*
* @return VCalendar|null
@@ -263,8 +262,6 @@ class Broker
* This is message from an organizer, and is either a new event
* invite, or an update to an existing one.
*
- *
- * @param Message $itipMessage
* @param VCalendar $existingObject
*
* @return VCalendar|null
@@ -300,7 +297,6 @@ class Broker
* attendee got removed from an event, or an event got cancelled
* altogether.
*
- * @param Message $itipMessage
* @param VCalendar $existingObject
*
* @return VCalendar|null
@@ -326,7 +322,6 @@ class Broker
* The message is a reply. This is for example an attendee telling
* an organizer he accepted the invite, or declined it.
*
- * @param Message $itipMessage
* @param VCalendar $existingObject
*
* @return VCalendar|null
@@ -452,10 +447,6 @@ class Broker
* We will detect which attendees got added, which got removed and create
* specific messages for these situations.
*
- * @param VCalendar $calendar
- * @param array $eventInfo
- * @param array $oldEventInfo
- *
* @return array
*/
protected function parseEventForOrganizer(VCalendar $calendar, array $eventInfo, array $oldEventInfo)
@@ -505,23 +496,25 @@ class Broker
$message->recipient = $attendee['href'];
$message->recipientName = $attendee['name'];
+ // Creating the new iCalendar body.
+ $icalMsg = new VCalendar();
+
+ foreach ($calendar->select('VTIMEZONE') as $timezone) {
+ $icalMsg->add(clone $timezone);
+ }
+
if (!$attendee['newInstances']) {
// If there are no instances the attendee is a part of, it
// means the attendee was removed and we need to send him a
// CANCEL.
$message->method = 'CANCEL';
- // Creating the new iCalendar body.
- $icalMsg = new VCalendar();
$icalMsg->METHOD = $message->method;
- foreach ($calendar->select('VTIMEZONE') as $timezone) {
- $icalMsg->add(clone $timezone);
- }
-
$event = $icalMsg->add('VEVENT', [
'UID' => $message->uid,
'SEQUENCE' => $message->sequence,
+ 'DTSTAMP' => gmdate('Ymd\\THis\\Z'),
]);
if (isset($calendar->VEVENT->SUMMARY)) {
$event->add('SUMMARY', $calendar->VEVENT->SUMMARY->getValue());
@@ -544,14 +537,8 @@ class Broker
// The attendee gets the updated event body
$message->method = 'REQUEST';
- // Creating the new iCalendar body.
- $icalMsg = new VCalendar();
$icalMsg->METHOD = $message->method;
- foreach ($calendar->select('VTIMEZONE') as $timezone) {
- $icalMsg->add(clone $timezone);
- }
-
// We need to find out that this change is significant. If it's
// not, systems may opt to not send messages.
//
@@ -607,6 +594,7 @@ class Broker
}
}
+ $currentEvent->DTSTAMP = gmdate('Ymd\\THis\\Z');
$icalMsg->add($currentEvent);
}
}
@@ -623,10 +611,7 @@ class Broker
*
* This function figures out if we need to send a reply to an organizer.
*
- * @param VCalendar $calendar
- * @param array $eventInfo
- * @param array $oldEventInfo
- * @param string $attendee
+ * @param string $attendee
*
* @return Message[]
*/
@@ -709,6 +694,10 @@ class Broker
$icalMsg = new VCalendar();
$icalMsg->METHOD = 'REPLY';
+ foreach ($calendar->select('VTIMEZONE') as $timezone) {
+ $icalMsg->add(clone $timezone);
+ }
+
$hasReply = false;
foreach ($instances as $instance) {
diff --git a/vendor/sabre/vobject/lib/Node.php b/vendor/sabre/vobject/lib/Node.php
index 154a7fac5..4c0c04f72 100644
--- a/vendor/sabre/vobject/lib/Node.php
+++ b/vendor/sabre/vobject/lib/Node.php
@@ -115,8 +115,6 @@ abstract class Node implements \IteratorAggregate, \ArrayAccess, \Countable, \Js
* Sets the overridden iterator.
*
* Note that this is not actually part of the iterator interface
- *
- * @param ElementList $iterator
*/
public function setIterator(ElementList $iterator)
{
diff --git a/vendor/sabre/vobject/lib/PHPUnitAssertions.php b/vendor/sabre/vobject/lib/PHPUnitAssertions.php
index d77e4b1ed..45c0a21c6 100644
--- a/vendor/sabre/vobject/lib/PHPUnitAssertions.php
+++ b/vendor/sabre/vobject/lib/PHPUnitAssertions.php
@@ -15,7 +15,7 @@ namespace Sabre\VObject;
trait PHPUnitAssertions
{
/**
- * This method tests wether two vcards or icalendar objects are
+ * This method tests whether two vcards or icalendar objects are
* semantically identical.
*
* It supports objects being supplied as strings, streams or
@@ -34,8 +34,7 @@ trait PHPUnitAssertions
*/
public function assertVObjectEqualsVObject($expected, $actual, $message = '')
{
- $self = $this;
- $getObj = function ($input) use ($self) {
+ $getObj = function ($input) {
if (is_resource($input)) {
$input = stream_get_contents($input);
}
diff --git a/vendor/sabre/vobject/lib/Parameter.php b/vendor/sabre/vobject/lib/Parameter.php
index 2c9a8e7fd..e39d320a1 100644
--- a/vendor/sabre/vobject/lib/Parameter.php
+++ b/vendor/sabre/vobject/lib/Parameter.php
@@ -201,8 +201,6 @@ class Parameter extends Node
/**
* Sets multiple values for this parameter.
- *
- * @param array $value
*/
public function setParts(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Parser/Json.php b/vendor/sabre/vobject/lib/Parser/Json.php
index 3fd307e97..f33603207 100644
--- a/vendor/sabre/vobject/lib/Parser/Json.php
+++ b/vendor/sabre/vobject/lib/Parser/Json.php
@@ -7,6 +7,8 @@ use Sabre\VObject\Component\VCard;
use Sabre\VObject\Document;
use Sabre\VObject\EofException;
use Sabre\VObject\ParseException;
+use Sabre\VObject\Property\FlatText;
+use Sabre\VObject\Property\Text;
/**
* Json Parser.
@@ -87,8 +89,6 @@ class Json extends Parser
/**
* Parses a component.
*
- * @param array $jComp
- *
* @return \Sabre\VObject\Component
*/
public function parseComponent(array $jComp)
@@ -124,8 +124,6 @@ class Json extends Parser
/**
* Parses properties.
*
- * @param array $jProp
- *
* @return \Sabre\VObject\Property
*/
public function parseProperty(array $jProp)
@@ -160,8 +158,8 @@ class Json extends Parser
// represents TEXT values. We have to normalize these here. In the
// future we can get rid of FlatText once we're allowed to break BC
// again.
- if ('Sabre\VObject\Property\FlatText' === $defaultPropertyClass) {
- $defaultPropertyClass = 'Sabre\VObject\Property\Text';
+ if (FlatText::class === $defaultPropertyClass) {
+ $defaultPropertyClass = Text::class;
}
// If the value type we received (e.g.: TEXT) was not the default value
diff --git a/vendor/sabre/vobject/lib/Parser/MimeDir.php b/vendor/sabre/vobject/lib/Parser/MimeDir.php
index 10dcec89c..ea5ac0326 100644
--- a/vendor/sabre/vobject/lib/Parser/MimeDir.php
+++ b/vendor/sabre/vobject/lib/Parser/MimeDir.php
@@ -124,7 +124,7 @@ class MimeDir extends Parser
$this->startLine = 0;
if (is_string($input)) {
- // Convering to a stream.
+ // Converting to a stream.
$stream = fopen('php://temp', 'r+');
fwrite($stream, $input);
rewind($stream);
@@ -195,6 +195,9 @@ class MimeDir extends Parser
{
// Start of a new component
if ('BEGIN:' === strtoupper(substr($line, 0, 6))) {
+ if (substr($line, 6) === $this->root->name) {
+ throw new ParseException('Invalid MimeDir file. Unexpected component: "'.$line.'" in document type '.$this->root->name);
+ }
$component = $this->root->createComponent(substr($line, 6), [], false);
while (true) {
@@ -477,7 +480,7 @@ class MimeDir extends Parser
* vCard 3.0 says:
* * (rfc2425) Backslashes, newlines (\n or \N) and comma's must be
* escaped, all time time.
- * * Comma's are used for delimeters in multiple values
+ * * Comma's are used for delimiters in multiple values
* * (rfc2426) Adds to to this that the semi-colon MUST also be escaped,
* as in some properties semi-colon is used for separators.
* * Properties using semi-colons: N, ADR, GEO, ORG
@@ -655,7 +658,7 @@ class MimeDir extends Parser
// missing a whitespace. So if 'forgiving' is turned on, we will take
// those as well.
if ($this->options & self::OPTION_FORGIVING) {
- while ('=' === substr($value, -1)) {
+ while ('=' === substr($value, -1) && $this->lineBuffer) {
// Reading the line
$this->readLine();
// Grabbing the raw form
diff --git a/vendor/sabre/vobject/lib/Parser/XML.php b/vendor/sabre/vobject/lib/Parser/XML.php
index 90f262d9e..78773173d 100644
--- a/vendor/sabre/vobject/lib/Parser/XML.php
+++ b/vendor/sabre/vobject/lib/Parser/XML.php
@@ -112,8 +112,6 @@ class XML extends Parser
/**
* Parse a xCalendar component.
- *
- * @param Component $parentComponent
*/
protected function parseVCalendarComponents(Component $parentComponent)
{
@@ -134,8 +132,6 @@ class XML extends Parser
/**
* Parse a xCard component.
- *
- * @param Component $parentComponent
*/
protected function parseVCardComponents(Component $parentComponent)
{
@@ -146,8 +142,7 @@ class XML extends Parser
/**
* Parse xCalendar and xCard properties.
*
- * @param Component $parentComponent
- * @param string $propertyNamePrefix
+ * @param string $propertyNamePrefix
*/
protected function parseProperties(Component $parentComponent, $propertyNamePrefix = '')
{
@@ -302,8 +297,6 @@ class XML extends Parser
/**
* Parse a component.
- *
- * @param Component $parentComponent
*/
protected function parseComponent(Component $parentComponent)
{
@@ -327,11 +320,10 @@ class XML extends Parser
/**
* Create a property.
*
- * @param Component $parentComponent
- * @param string $name
- * @param array $parameters
- * @param string $type
- * @param mixed $value
+ * @param string $name
+ * @param array $parameters
+ * @param string $type
+ * @param mixed $value
*/
protected function createProperty(Component $parentComponent, $name, $parameters, $type, $value)
{
@@ -359,9 +351,9 @@ class XML extends Parser
if (is_string($input)) {
$reader = new SabreXml\Reader();
$reader->elementMap['{'.self::XCAL_NAMESPACE.'}period']
- = 'Sabre\VObject\Parser\XML\Element\KeyValue';
+ = XML\Element\KeyValue::class;
$reader->elementMap['{'.self::XCAL_NAMESPACE.'}recur']
- = 'Sabre\VObject\Parser\XML\Element\KeyValue';
+ = XML\Element\KeyValue::class;
$reader->xml($input);
$input = $reader->parse();
}
diff --git a/vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php b/vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php
index e26540036..c0bbf0d9b 100644
--- a/vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php
+++ b/vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php
@@ -18,7 +18,7 @@ class KeyValue extends SabreXml\Element\KeyValue
/**
* The deserialize method is called during xml parsing.
*
- * This method is called staticly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/vobject/lib/Property.php b/vendor/sabre/vobject/lib/Property.php
index 6105cb0f0..f9cf8e38e 100644
--- a/vendor/sabre/vobject/lib/Property.php
+++ b/vendor/sabre/vobject/lib/Property.php
@@ -123,8 +123,6 @@ abstract class Property extends Node
/**
* Sets a multi-valued property.
- *
- * @param array $parts
*/
public function setParts(array $parts)
{
@@ -262,8 +260,6 @@ abstract class Property extends Node
* Sets the JSON value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
@@ -309,8 +305,6 @@ abstract class Property extends Node
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/Binary.php b/vendor/sabre/vobject/lib/Property/Binary.php
index 830dd9028..ec6713fdd 100644
--- a/vendor/sabre/vobject/lib/Property/Binary.php
+++ b/vendor/sabre/vobject/lib/Property/Binary.php
@@ -100,8 +100,6 @@ class Binary extends Property
* Sets the json value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/Boolean.php b/vendor/sabre/vobject/lib/Property/Boolean.php
index 1b219bb8c..9fb2bce35 100644
--- a/vendor/sabre/vobject/lib/Property/Boolean.php
+++ b/vendor/sabre/vobject/lib/Property/Boolean.php
@@ -8,7 +8,7 @@ use
/**
* Boolean property.
*
- * This object represents BOOLEAN values. These are always the case-insenstive
+ * This object represents BOOLEAN values. These are always the case-insensitive
* string TRUE or FALSE.
*
* Automatic conversion to PHP's true and false are done.
@@ -59,8 +59,6 @@ class Boolean extends Property
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/FloatValue.php b/vendor/sabre/vobject/lib/Property/FloatValue.php
index 208d74516..0d0346968 100644
--- a/vendor/sabre/vobject/lib/Property/FloatValue.php
+++ b/vendor/sabre/vobject/lib/Property/FloatValue.php
@@ -93,8 +93,6 @@ class FloatValue extends Property
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php b/vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php
index 7eb3e0bb7..f2dbdeba3 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php
@@ -38,8 +38,6 @@ class DateTime extends Property
* Sets a multi-valued property.
*
* You may also specify DateTime objects here.
- *
- * @param array $parts
*/
public function setParts(array $parts)
{
@@ -175,7 +173,6 @@ class DateTime extends Property
/**
* Sets the property as a DateTime object.
*
- * @param DateTimeInterface $dt
* @param bool isFloating If set to true, timezones will be ignored
*/
public function setDateTime(DateTimeInterface $dt, $isFloating = false)
@@ -279,8 +276,6 @@ class DateTime extends Property
* Sets the json value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
@@ -343,8 +338,8 @@ class DateTime extends Property
$messages = parent::validate($options);
$valueType = $this->getValueType();
$values = $this->getParts();
- try {
- foreach ($values as $value) {
+ foreach ($values as $value) {
+ try {
switch ($valueType) {
case 'DATE':
DateTimeParser::parseDate($value);
@@ -353,13 +348,14 @@ class DateTime extends Property
DateTimeParser::parseDateTime($value);
break;
}
+ } catch (InvalidDataException $e) {
+ $messages[] = [
+ 'level' => 3,
+ 'message' => 'The supplied value ('.$value.') is not a correct '.$valueType,
+ 'node' => $this,
+ ];
+ break;
}
- } catch (InvalidDataException $e) {
- $messages[] = [
- 'level' => 3,
- 'message' => 'The supplied value ('.$value.') is not a correct '.$valueType,
- 'node' => $this,
- ];
}
return $messages;
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
index 17bfa5c5c..eb3752770 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
@@ -67,8 +67,6 @@ class Period extends Property
* Sets the json value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
index baeda781e..3d632fec1 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
@@ -88,8 +88,6 @@ class Recur extends Property
/**
* Sets a multi-valued property.
- *
- * @param array $parts
*/
public function setParts(array $parts)
{
diff --git a/vendor/sabre/vobject/lib/Property/IntegerValue.php b/vendor/sabre/vobject/lib/Property/IntegerValue.php
index ddd71d731..6f709bfff 100644
--- a/vendor/sabre/vobject/lib/Property/IntegerValue.php
+++ b/vendor/sabre/vobject/lib/Property/IntegerValue.php
@@ -9,7 +9,7 @@ use
* Integer property.
*
* This object represents INTEGER values. These are always a single integer.
- * They may be preceeded by either + or -.
+ * They may be preceded by either + or -.
*
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
@@ -68,8 +68,6 @@ class IntegerValue extends Property
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/Text.php b/vendor/sabre/vobject/lib/Property/Text.php
index 23c945551..ac8aa066b 100644
--- a/vendor/sabre/vobject/lib/Property/Text.php
+++ b/vendor/sabre/vobject/lib/Property/Text.php
@@ -111,7 +111,7 @@ class Text extends Property
// that.
//
// We also don't have to unescape \\, so all we need to look for is a ;
- // that's not preceeded with a \.
+ // that's not preceded with a \.
$regex = '# (?<!\\\\) ; #x';
$matches = preg_split($regex, $val);
$this->setValue($matches);
diff --git a/vendor/sabre/vobject/lib/Property/Time.php b/vendor/sabre/vobject/lib/Property/Time.php
index 7aeafc8d0..544b5ced3 100644
--- a/vendor/sabre/vobject/lib/Property/Time.php
+++ b/vendor/sabre/vobject/lib/Property/Time.php
@@ -40,8 +40,6 @@ class Time extends Text
* Sets the JSON value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
@@ -119,8 +117,6 @@ class Time extends Text
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/Uri.php b/vendor/sabre/vobject/lib/Property/Uri.php
index 3449ba1f2..830cd3f18 100644
--- a/vendor/sabre/vobject/lib/Property/Uri.php
+++ b/vendor/sabre/vobject/lib/Property/Uri.php
@@ -72,7 +72,7 @@ class Uri extends Text
{
// Normally we don't need to do any type of unescaping for these
// properties, however.. we've noticed that Google Contacts
- // specifically escapes the colon (:) with a blackslash. While I have
+ // specifically escapes the colon (:) with a backslash. While I have
// no clue why they thought that was a good idea, I'm unescaping it
// anyway.
//
diff --git a/vendor/sabre/vobject/lib/Property/UtcOffset.php b/vendor/sabre/vobject/lib/Property/UtcOffset.php
index 732239e23..248ed40ea 100644
--- a/vendor/sabre/vobject/lib/Property/UtcOffset.php
+++ b/vendor/sabre/vobject/lib/Property/UtcOffset.php
@@ -38,8 +38,6 @@ class UtcOffset extends Text
* Sets the JSON value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/VCard/Date.php b/vendor/sabre/vobject/lib/Property/VCard/Date.php
index a018ccbb8..fc679d572 100644
--- a/vendor/sabre/vobject/lib/Property/VCard/Date.php
+++ b/vendor/sabre/vobject/lib/Property/VCard/Date.php
@@ -28,8 +28,6 @@ class Date extends DateAndOrTime
/**
* Sets the property as a DateTime object.
- *
- * @param \DateTimeInterface $dt
*/
public function setDateTime(\DateTimeInterface $dt)
{
diff --git a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
index b7e17492a..09918b31a 100644
--- a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
+++ b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
@@ -45,8 +45,6 @@ class DateAndOrTime extends Property
* Sets a multi-valued property.
*
* You may also specify DateTimeInterface objects here.
- *
- * @param array $parts
*/
public function setParts(array $parts)
{
@@ -80,8 +78,6 @@ class DateAndOrTime extends Property
/**
* Sets the property as a DateTime object.
- *
- * @param DateTimeInterface $dt
*/
public function setDateTime(DateTimeInterface $dt)
{
diff --git a/vendor/sabre/vobject/lib/Property/VCard/PhoneNumber.php b/vendor/sabre/vobject/lib/Property/VCard/PhoneNumber.php
new file mode 100644
index 000000000..b714ffd03
--- /dev/null
+++ b/vendor/sabre/vobject/lib/Property/VCard/PhoneNumber.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Sabre\VObject\Property\VCard;
+
+use Sabre\VObject\Property;
+
+/**
+ * PhoneNumber property.
+ *
+ * This object encodes PHONE-NUMBER values.
+ *
+ * @author Christian Kraus <christian@kraus.work>
+ */
+class PhoneNumber extends Property\Text
+{
+ protected $structuredValues = [];
+
+ /**
+ * Returns the type of value.
+ *
+ * This corresponds to the VALUE= parameter. Every property also has a
+ * 'default' valueType.
+ *
+ * @return string
+ */
+ public function getValueType()
+ {
+ return 'PHONE-NUMBER';
+ }
+}
diff --git a/vendor/sabre/vobject/lib/Recur/EventIterator.php b/vendor/sabre/vobject/lib/Recur/EventIterator.php
index 135ecf00e..fd904b383 100644
--- a/vendor/sabre/vobject/lib/Recur/EventIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/EventIterator.php
@@ -380,8 +380,6 @@ class EventIterator implements \Iterator
/**
* Quickly jump to a date in the future.
- *
- * @param DateTimeInterface $dateTime
*/
public function fastForward(DateTimeInterface $dateTime)
{
diff --git a/vendor/sabre/vobject/lib/Recur/NoInstancesException.php b/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
index b55af567d..348c02306 100644
--- a/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
+++ b/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
@@ -7,7 +7,7 @@ use Exception;
/**
* This exception gets thrown when a recurrence iterator produces 0 instances.
*
- * This may happen when every occurence in a rrule is also in EXDATE.
+ * This may happen when every occurrence in a rrule is also in EXDATE.
*
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
diff --git a/vendor/sabre/vobject/lib/Recur/RDateIterator.php b/vendor/sabre/vobject/lib/Recur/RDateIterator.php
index 013694b95..d117e152c 100644
--- a/vendor/sabre/vobject/lib/Recur/RDateIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/RDateIterator.php
@@ -24,8 +24,7 @@ class RDateIterator implements Iterator
/**
* Creates the Iterator.
*
- * @param string|array $rrule
- * @param DateTimeInterface $start
+ * @param string|array $rrule
*/
public function __construct($rrule, DateTimeInterface $start)
{
@@ -107,8 +106,6 @@ class RDateIterator implements Iterator
/**
* This method allows you to quickly go to the next occurrence after the
* specified date.
- *
- * @param DateTimeInterface $dt
*/
public function fastForward(DateTimeInterface $dt)
{
diff --git a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
index 554507f19..55581e9ac 100644
--- a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
@@ -27,8 +27,7 @@ class RRuleIterator implements Iterator
/**
* Creates the Iterator.
*
- * @param string|array $rrule
- * @param DateTimeInterface $start
+ * @param string|array $rrule
*/
public function __construct($rrule, DateTimeInterface $start)
{
@@ -67,6 +66,9 @@ class RRuleIterator implements Iterator
*/
public function valid()
{
+ if (null === $this->currentDate) {
+ return false;
+ }
if (!is_null($this->count)) {
return $this->counter < $this->count;
}
@@ -129,8 +131,6 @@ class RRuleIterator implements Iterator
/**
* This method allows you to quickly go to the next occurrence after the
* specified date.
- *
- * @param DateTimeInterface $dt
*/
public function fastForward(DateTimeInterface $dt)
{
@@ -229,7 +229,7 @@ class RRuleIterator implements Iterator
*
* This is an array of weekdays
*
- * This may also be preceeded by a positive or negative integer. If present,
+ * This may also be preceded by a positive or negative integer. If present,
* this indicates the nth occurrence of a specific day within the monthly or
* yearly rrule. For instance, -2TU indicates the second-last tuesday of
* the month, or year.
@@ -322,14 +322,17 @@ class RRuleIterator implements Iterator
return;
}
+ $recurrenceHours = [];
if (!empty($this->byHour)) {
$recurrenceHours = $this->getHours();
}
+ $recurrenceDays = [];
if (!empty($this->byDay)) {
$recurrenceDays = $this->getDays();
}
+ $recurrenceMonths = [];
if (!empty($this->byMonth)) {
$recurrenceMonths = $this->getMonths();
}
@@ -338,7 +341,7 @@ class RRuleIterator implements Iterator
if ($this->byHour) {
if ('23' == $this->currentDate->format('G')) {
// to obey the interval rule
- $this->currentDate = $this->currentDate->modify('+'.$this->interval - 1 .' days');
+ $this->currentDate = $this->currentDate->modify('+'.($this->interval - 1).' days');
}
$this->currentDate = $this->currentDate->modify('+1 hours');
@@ -372,10 +375,12 @@ class RRuleIterator implements Iterator
return;
}
+ $recurrenceHours = [];
if ($this->byHour) {
$recurrenceHours = $this->getHours();
}
+ $recurrenceDays = [];
if ($this->byDay) {
$recurrenceDays = $this->getDays();
}
@@ -398,7 +403,7 @@ class RRuleIterator implements Iterator
// We need to roll over to the next week
if ($currentDay === $firstDay && (!$this->byHour || '0' == $currentHour)) {
- $this->currentDate = $this->currentDate->modify('+'.$this->interval - 1 .' weeks');
+ $this->currentDate = $this->currentDate->modify('+'.($this->interval - 1).' weeks');
// We need to go to the first day of this week, but only if we
// are not already on this first day of this week.
@@ -436,6 +441,7 @@ class RRuleIterator implements Iterator
return;
}
+ $occurrence = -1;
while (true) {
$occurrences = $this->getMonthlyOccurrences();
@@ -461,6 +467,14 @@ class RRuleIterator implements Iterator
// This goes to 0 because we need to start counting at the
// beginning.
$currentDayOfMonth = 0;
+
+ // To prevent running this forever (better: until we hit the max date of DateTimeImmutable) we simply
+ // stop at 9999-12-31. Looks like the year 10000 problem is not solved in php ....
+ if ($this->currentDate->getTimestamp() > 253402300799) {
+ $this->currentDate = null;
+
+ return;
+ }
}
$this->currentDate = $this->currentDate->setDate(
@@ -597,6 +611,7 @@ class RRuleIterator implements Iterator
// If we got a byDay or getMonthDay filter, we must first expand
// further.
if ($this->byDay || $this->byMonthDay) {
+ $occurrence = -1;
while (true) {
$occurrences = $this->getMonthlyOccurrences();
@@ -760,7 +775,7 @@ class RRuleIterator implements Iterator
$this->byMonth = (array) $value;
foreach ($this->byMonth as $byMonth) {
if (!is_numeric($byMonth) || (int) $byMonth < 1 || (int) $byMonth > 12) {
- throw new InvalidDataException('BYMONTH in RRULE must have value(s) betweeen 1 and 12!');
+ throw new InvalidDataException('BYMONTH in RRULE must have value(s) between 1 and 12!');
}
}
break;
@@ -937,7 +952,7 @@ class RRuleIterator implements Iterator
{
$recurrenceDays = [];
foreach ($this->byDay as $byDay) {
- // The day may be preceeded with a positive (+n) or
+ // The day may be preceded with a positive (+n) or
// negative (-n) integer. However, this does not make
// sense in 'weekly' so we ignore it here.
$recurrenceDays[] = $this->dayMap[substr($byDay, -2)];
diff --git a/vendor/sabre/vobject/lib/Settings.php b/vendor/sabre/vobject/lib/Settings.php
index afc586b0c..b0bb80a82 100644
--- a/vendor/sabre/vobject/lib/Settings.php
+++ b/vendor/sabre/vobject/lib/Settings.php
@@ -46,7 +46,7 @@ class Settings
* specific events that recur many, many times, potentially DDOSing the
* server.
*
- * The default (3500) allows creation of a dialy event that goes on for 10
+ * The default (3500) allows creation of a daily event that goes on for 10
* years, which is hopefully long enough for most.
*
* Set this value to -1 to disable this control altogether.
diff --git a/vendor/sabre/vobject/lib/TimeZoneUtil.php b/vendor/sabre/vobject/lib/TimeZoneUtil.php
index 5b1a775c2..2c407fee6 100644
--- a/vendor/sabre/vobject/lib/TimeZoneUtil.php
+++ b/vendor/sabre/vobject/lib/TimeZoneUtil.php
@@ -139,7 +139,7 @@ class TimeZoneUtil
// PHP has a bug that logs PHP warnings even it shouldn't:
// https://bugs.php.net/bug.php?id=67881
//
- // That's why we're checking if we'll be able to successfull instantiate
+ // That's why we're checking if we'll be able to successfully instantiate
// \DateTimeZone() before doing so. Otherwise we could simply instantiate
// and catch the exception.
$tzIdentifiers = \DateTimeZone::listIdentifiers();
diff --git a/vendor/sabre/vobject/lib/VCardConverter.php b/vendor/sabre/vobject/lib/VCardConverter.php
index 156b83b4e..04932fe67 100644
--- a/vendor/sabre/vobject/lib/VCardConverter.php
+++ b/vendor/sabre/vobject/lib/VCardConverter.php
@@ -26,8 +26,7 @@ class VCardConverter
*
* If input and output version are identical, a clone is returned.
*
- * @param Component\VCard $input
- * @param int $targetVersion
+ * @param int $targetVersion
*/
public function convert(Component\VCard $input, $targetVersion)
{
@@ -62,10 +61,7 @@ class VCardConverter
/**
* Handles conversion of a single property.
*
- * @param Component\VCard $input
- * @param Component\VCard $output
- * @param Property $property
- * @param int $targetVersion
+ * @param int $targetVersion
*/
protected function convertProperty(Component\VCard $input, Component\VCard $output, Property $property, $targetVersion)
{
@@ -83,6 +79,9 @@ class VCardConverter
if (!$valueType) {
$valueType = $property->getValueType();
}
+ if (Document::VCARD30 !== $targetVersion && 'PHONE-NUMBER' === $valueType) {
+ $valueType = null;
+ }
$newProperty = $output->createProperty(
$property->name,
$property->getParts(),
@@ -227,7 +226,7 @@ class VCardConverter
// Lastly, we need to see if there's a need for a VALUE parameter.
//
- // We can do that by instantating a empty property with that name, and
+ // We can do that by instantiating a empty property with that name, and
// seeing if the default valueType is identical to the current one.
$tempProperty = $output->createProperty($newProperty->name);
if ($tempProperty->getValueType() !== $newProperty->getValueType()) {
@@ -242,8 +241,7 @@ class VCardConverter
*
* vCard 4.0 no longer supports BINARY properties.
*
- * @param Component\VCard $output
- * @param Property\Uri $property the input property
+ * @param Property\Uri $property the input property
* @param $parameters list of parameters that will eventually be added to
* the new property
*
@@ -296,8 +294,7 @@ class VCardConverter
* be valid in vCard 3.0 as well, we should convert those to BINARY if
* possible, to improve compatibility.
*
- * @param Component\VCard $output
- * @param Property\Uri $property the input property
+ * @param Property\Uri $property the input property
*
* @return Property\Binary|null
*/
@@ -344,9 +341,6 @@ class VCardConverter
/**
* Adds parameters to a new property for vCard 4.0.
- *
- * @param Property $newProperty
- * @param array $parameters
*/
protected function convertParameters40(Property $newProperty, array $parameters)
{
@@ -383,9 +377,6 @@ class VCardConverter
/**
* Adds parameters to a new property for vCard 3.0.
- *
- * @param Property $newProperty
- * @param array $parameters
*/
protected function convertParameters30(Property $newProperty, array $parameters)
{
diff --git a/vendor/sabre/vobject/lib/Version.php b/vendor/sabre/vobject/lib/Version.php
index 257e66a79..e5ab9af38 100644
--- a/vendor/sabre/vobject/lib/Version.php
+++ b/vendor/sabre/vobject/lib/Version.php
@@ -14,5 +14,5 @@ class Version
/**
* Full version number.
*/
- const VERSION = '4.2.0';
+ const VERSION = '4.3.1';
}
diff --git a/vendor/sabre/vobject/lib/Writer.php b/vendor/sabre/vobject/lib/Writer.php
index c70a6ae4d..cbd22022e 100644
--- a/vendor/sabre/vobject/lib/Writer.php
+++ b/vendor/sabre/vobject/lib/Writer.php
@@ -19,8 +19,6 @@ class Writer
/**
* Serializes a vCard or iCalendar object.
*
- * @param Component $component
- *
* @return string
*/
public static function write(Component $component)
@@ -31,8 +29,7 @@ class Writer
/**
* Serializes a jCal or jCard object.
*
- * @param Component $component
- * @param int $options
+ * @param int $options
*
* @return string
*/
@@ -44,8 +41,6 @@ class Writer
/**
* Serializes a xCal or xCard object.
*
- * @param Component $component
- *
* @return string
*/
public static function writeXml(Component $component)
diff --git a/vendor/sabre/vobject/phpstan.neon b/vendor/sabre/vobject/phpstan.neon
index e50c5be6e..c705178c9 100644
--- a/vendor/sabre/vobject/phpstan.neon
+++ b/vendor/sabre/vobject/phpstan.neon
@@ -1,3 +1,4 @@
parameters:
- level: 0
- bootstrap: %currentWorkingDirectory%/vendor/autoload.php
+ level: 1
+ universalObjectCratesClasses:
+ - \Sabre\VObject\Component
diff --git a/vendor/sabre/vobject/tests/bootstrap.php b/vendor/sabre/vobject/tests/bootstrap.php
index 46e9014cb..2496aa4ff 100644
--- a/vendor/sabre/vobject/tests/bootstrap.php
+++ b/vendor/sabre/vobject/tests/bootstrap.php
@@ -13,13 +13,3 @@ foreach ($try as $path) {
break;
}
}
-
-$autoLoader->addPsr4('Sabre\\VObject\\', __DIR__.'/VObject');
-
-if (!defined('SABRE_TEMPDIR')) {
- define('SABRE_TEMPDIR', __DIR__.'/temp/');
-}
-
-if (!file_exists(SABRE_TEMPDIR)) {
- mkdir(SABRE_TEMPDIR);
-}
diff --git a/vendor/sabre/vobject/tests/phpunit.xml b/vendor/sabre/vobject/tests/phpunit.xml
index 46dad6a3d..c0588d460 100644
--- a/vendor/sabre/vobject/tests/phpunit.xml
+++ b/vendor/sabre/vobject/tests/phpunit.xml
@@ -6,18 +6,16 @@
convertWarningsToExceptions="true"
beStrictAboutTestsThatDoNotTestAnything="true"
beStrictAboutOutputDuringTests="true"
- beStrictAboutTestSize="true"
>
- <testsuite name="Sabre\VObject">
- <directory>VObject/</directory>
- </testsuite>
+ <testsuites>
+ <testsuite name="Sabre\VObject">
+ <directory>.</directory>
+ </testsuite>
+ </testsuites>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">../lib/</directory>
- <exclude>
- <file>../lib/Sabre/VObject/includes.php</file>
- </exclude>
</whitelist>
</filter>
</phpunit>