diff options
Diffstat (limited to 'vendor/sabre')
359 files changed, 1586 insertions, 3063 deletions
diff --git a/vendor/sabre/dav/.gitignore b/vendor/sabre/dav/.gitignore index 499f7b689..f287cca1a 100644 --- a/vendor/sabre/dav/.gitignore +++ b/vendor/sabre/dav/.gitignore @@ -6,6 +6,9 @@ tests/cov # Custom settings for tests tests/config.user.php +# PHPUnit test Cache +.phpunit.result.cache + # ViM *.swp @@ -14,14 +17,9 @@ composer.lock vendor # Composer binaries -bin/phing -bin/phpunit bin/vobject bin/generate_vcards bin/phpdocmd -bin/phpunit -bin/php-cs-fixer -bin/sabre-cs-fixer # Assuming every .php file in the root is for testing /*.php @@ -39,7 +37,4 @@ build.properties docs/api docs/wikidocs -# Mac -.DS_Store - .php_cs.cache diff --git a/vendor/sabre/dav/.php_cs.dist b/vendor/sabre/dav/.php_cs.dist index 8d61ee259..c5c78a971 100644 --- a/vendor/sabre/dav/.php_cs.dist +++ b/vendor/sabre/dav/.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/dav/.travis.yml b/vendor/sabre/dav/.travis.yml index c98ea59ef..03d18de2f 100644 --- a/vendor/sabre/dav/.travis.yml +++ b/vendor/sabre/dav/.travis.yml @@ -1,10 +1,15 @@ language: php sudo: required + +branches: + only: + - master + php: - - 7.0 - 7.1 - 7.2 - 7.3 + - 7.4 env: global: @@ -13,39 +18,44 @@ env: - SABRE_MYSQLDSN="mysql:host=127.0.0.1;dbname=sabredav_test" - RUN_PHPSTAN="FALSE" matrix: - - LOWEST_DEPS="" TEST_DEPS="" WITH_COVERAGE="--coverage-clover=coverage.xml" - - LOWEST_DEPS="--prefer-lowest" TEST_DEPS="tests/Sabre/" $WITH_COVERAGE="" + - PREFER_LOWEST="" TEST_DEPS="" REPORT_COVERAGE="TRUE" WITH_COVERAGE="--coverage-clover=coverage.xml" + - PREFER_LOWEST="--prefer-lowest" TEST_DEPS="tests/Sabre/" REPORT_COVERAGE="FALSE" WITH_COVERAGE="" matrix: include: - name: 'PHPStan' + php: 7.4 + env: + - RUN_PHPSTAN="TRUE" + - REPORT_COVERAGE="FALSE" + - name: 'Test with streaming propfind' php: 7.2 - env: RUN_PHPSTAN="TRUE" + env: + - RUN_TEST_WITH_STREAMING_PROPFIND="TRUE" + - REPORT_COVERAGE="FALSE" + fast_finish: true services: - mysql - postgresql -install: - - if [ $RUN_PHPSTAN == "TRUE" ]; then wget https://github.com/phpstan/phpstan/releases/download/0.11.8/phpstan.phar; fi - before_script: -# - mysql -u root -h 127.0.0.1 sabredav_test -e 'SELECT VERSION();' -#- mysql -u root -h 127.0.0.1 -e 'create database sabredav_test' + - mysql -u root -h 127.0.0.1 -e 'create database sabredav_test' - psql -c "create database sabredav_test" -U postgres - psql -c "create user sabredav with PASSWORD 'sabredav';GRANT ALL PRIVILEGES ON DATABASE sabredav_test TO sabredav" -U postgres - - composer update --prefer-dist $LOWEST_DEPS + - composer update $PREFER_LOWEST addons: postgresql: "9.5" script: - - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/phpunit --verbose --configuration tests/phpunit.xml.dist $WITH_COVERAGE $TEST_DEPS; 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 $TEST_DEPS; fi - if [ $RUN_PHPSTAN == "FALSE" ]; then rm -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini; fi - - if [ $RUN_PHPSTAN == "TRUE" ]; then php phpstan.phar analyse -c phpstan.neon lib; 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/dav/CHANGELOG.md b/vendor/sabre/dav/CHANGELOG.md index 455b3ae5e..c84a4f5e4 100644 --- a/vendor/sabre/dav/CHANGELOG.md +++ b/vendor/sabre/dav/CHANGELOG.md @@ -1,6 +1,27 @@ ChangeLog ========= +4.1.1 (2020-07-13) +------------------------- +* Fix PHPdoc of Tree:move method +* Allow using custom SAPI implementations +* Include baseUri in lock responses + +4.1.0 (2020-03-20) +------------------------- +* Support PHP 7.4 +* Drop support for PHP 7.0 +* CalDAV: send MIME-Version header in scheduling emails + +4.0.3 (2020-01-10) +------------------------- +* DAV: Streaming PROPFIND server implementation +* DAVACL: Fix uppercase of NotAuthenticated class +* CalDAV: Return only calendar objects owned by principal itself +* CalDAV: Convert scheduling object data from resource to string +* Browser Plugin: Fix content type guessing if setBaseUri is set to a folder + + 4.0.2 (2019-10-18) ------------------------- * Fix error with PHP 7.4 diff --git a/vendor/sabre/dav/README.md b/vendor/sabre/dav/README.md index a06805443..acdb1e03c 100644 --- a/vendor/sabre/dav/README.md +++ b/vendor/sabre/dav/README.md @@ -16,7 +16,7 @@ Build status | branch | status | minimum PHP version | | ------------ | ------ | ------------------- | -| master | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=master)](https://travis-ci.org/sabre-io/dav) | PHP 7.0 | +| master | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=master)](https://travis-ci.org/sabre-io/dav) | PHP 7.1 | | 3.1 | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=3.0)](https://travis-ci.org/sabre-io/dav) | PHP 5.5 | | 3.0 | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=3.0)](https://travis-ci.org/sabre-io/dav) | PHP 5.4 | | 2.1 | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=2.1)](https://travis-ci.org/sabre-io/dav) | PHP 5.4 | diff --git a/vendor/sabre/dav/composer.json b/vendor/sabre/dav/composer.json index 226b2cb30..d4190ae5d 100644 --- a/vendor/sabre/dav/composer.json +++ b/vendor/sabre/dav/composer.json @@ -14,11 +14,11 @@ } ], "require": { - "php": ">=7.0.0", - "sabre/vobject": "^4.2.0-alpha1", + "php": "^7.1.0", + "sabre/vobject": "^4.2.1", "sabre/event" : "^5.0", "sabre/xml" : "^2.0.1", - "sabre/http" : "^5.0", + "sabre/http" : "^5.0.5", "sabre/uri" : "^2.0", "ext-dom": "*", "ext-pcre": "*", @@ -33,7 +33,9 @@ "ext-json": "*" }, "require-dev" : { - "phpunit/phpunit" : "^6", + "friendsofphp/php-cs-fixer": "^2.16.3", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit" : "^7.5 || ^8.5 || ^9.0", "evert/phpdoc-md" : "~0.1.0", "monolog/monolog": "^1.18" }, @@ -50,6 +52,17 @@ "Sabre\\CardDAV\\" : "lib/CardDAV/" } }, + "autoload-dev" : { + "psr-4" : { + "Sabre\\" : "tests/Sabre/", + "Sabre\\CalDAV\\" : "tests/Sabre/CalDAV", + "Sabre\\CardDAV\\" : "tests/Sabre/CardDAV", + "Sabre\\DAV\\" : "tests/Sabre/DAV", + "Sabre\\DAV\\Property\\" : "tests/Sabre/DAV/Xml/Property", + "Sabre\\DAVACL\\" : "tests/Sabre/DAVACL", + "Sabre\\HTTP\\" : "tests/Sabre/HTTP" + } + }, "support" : { "forum" : "https://groups.google.com/group/sabredav-discuss", "source" : "https://github.com/fruux/sabre-dav" @@ -58,7 +71,20 @@ "bin/sabredav", "bin/naturalselection" ], - "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/dav/lib/CalDAV/Backend/AbstractBackend.php b/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php index 336e104c8..c32c86489 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php @@ -30,8 +30,7 @@ abstract class AbstractBackend implements BackendInterface * * Read the PropPatch documentation for more info and examples. * - * @param mixed $calendarId - * @param \Sabre\DAV\PropPatch $propPatch + * @param mixed $calendarId */ public function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch) { @@ -46,7 +45,6 @@ abstract class AbstractBackend implements BackendInterface * If the backend supports this, it may allow for some speed-ups. * * @param mixed $calendarId - * @param array $uris * * @return array */ @@ -103,7 +101,6 @@ abstract class AbstractBackend implements BackendInterface * to think of. * * @param mixed $calendarId - * @param array $filters * * @return array */ @@ -125,9 +122,6 @@ abstract class AbstractBackend implements BackendInterface * This method validates if a filter (as passed to calendarQuery) matches * the given object. * - * @param array $object - * @param array $filters - * * @return bool */ protected function validateFilterForObject(array $object, array $filters) diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php b/vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php index 7d125cf89..8bfa7446a 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php @@ -51,7 +51,6 @@ interface BackendInterface * * @param string $principalUri * @param string $calendarUri - * @param array $properties * * @return mixed */ @@ -69,8 +68,7 @@ interface BackendInterface * * Read the PropPatch documentation for more info and examples. * - * @param mixed $calendarId - * @param \Sabre\DAV\PropPatch $propPatch + * @param mixed $calendarId */ public function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch); @@ -143,7 +141,6 @@ interface BackendInterface * If the backend supports this, it may allow for some speed-ups. * * @param mixed $calendarId - * @param array $uris * * @return array */ @@ -247,7 +244,6 @@ interface BackendInterface * to think of. * * @param mixed $calendarId - * @param array $filters * * @return array */ diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php index 0ba493305..6e48d5454 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php @@ -40,8 +40,7 @@ interface NotificationSupport extends BackendInterface * * This may be called by a client once it deems a notification handled. * - * @param string $principalUri - * @param NotificationInterface $notification + * @param string $principalUri */ public function deleteNotification($principalUri, NotificationInterface $notification); diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php b/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php index 003dc1392..7a07724b3 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php @@ -117,8 +117,6 @@ class PDO extends AbstractBackend implements SyncSupport, SubscriptionSupport, S /** * Creates the backend. - * - * @param \PDO $pdo */ public function __construct(\PDO $pdo) { @@ -220,7 +218,6 @@ SQL * * @param string $principalUri * @param string $calendarUri - * @param array $properties * * @return string */ @@ -290,8 +287,7 @@ SQL * * Read the PropPatch documentation for more info and examples. * - * @param mixed $calendarId - * @param \Sabre\DAV\PropPatch $propPatch + * @param mixed $calendarId */ public function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch) { @@ -483,7 +479,6 @@ SQL * If the backend supports this, it may allow for some speed-ups. * * @param mixed $calendarId - * @param array $uris * * @return array */ @@ -760,7 +755,6 @@ SQL * specific components, and VEVENT time-ranges. * * @param mixed $calendarId - * @param array $filters * * @return array */ @@ -874,6 +868,8 @@ WHERE calendar_instances.principaluri = ? AND calendarobjects.uid = ? + AND + calendar_instances.access = 1 SQL; $stmt = $this->pdo->prepare($query); @@ -1107,7 +1103,6 @@ SQL; * * @param string $principalUri * @param string $uri - * @param array $properties * * @return mixed */ @@ -1286,13 +1281,18 @@ SQL; /** * Creates a new scheduling object. This should land in a users' inbox. * - * @param string $principalUri - * @param string $objectUri - * @param string $objectData + * @param string $principalUri + * @param string $objectUri + * @param string|resource $objectData */ public function createSchedulingObject($principalUri, $objectUri, $objectData) { $stmt = $this->pdo->prepare('INSERT INTO '.$this->schedulingObjectTableName.' (principaluri, calendardata, uri, lastmodified, etag, size) VALUES (?, ?, ?, ?, ?, ?)'); + + if (is_resource($objectData)) { + $objectData = stream_get_contents($objectData); + } + $stmt->execute([$principalUri, $objectData, $objectUri, time(), md5($objectData), strlen($objectData)]); } diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SchedulingSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/SchedulingSupport.php index 7986d8c33..69467e554 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/SchedulingSupport.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/SchedulingSupport.php @@ -58,9 +58,9 @@ interface SchedulingSupport extends BackendInterface /** * Creates a new scheduling object. This should land in a users' inbox. * - * @param string $principalUri - * @param string $objectUri - * @param string $objectData + * @param string $principalUri + * @param string $objectUri + * @param string|resource $objectData */ public function createSchedulingObject($principalUri, $objectUri, $objectData); } diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php b/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php index b6f3c8bef..8f42072c9 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php @@ -44,8 +44,6 @@ class SimplePDO extends AbstractBackend /** * Creates the backend. - * - * @param \PDO $pdo */ public function __construct(\PDO $pdo) { @@ -103,7 +101,6 @@ class SimplePDO extends AbstractBackend * * @param string $principalUri * @param string $calendarUri - * @param array $properties * * @return string */ diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php index 2aaf95cdb..7655c2e11 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php @@ -58,7 +58,6 @@ interface SubscriptionSupport extends BackendInterface * * @param string $principalUri * @param string $uri - * @param array $properties * * @return mixed */ diff --git a/vendor/sabre/dav/lib/CalDAV/Calendar.php b/vendor/sabre/dav/lib/CalDAV/Calendar.php index 717f04f94..9f32e702a 100644 --- a/vendor/sabre/dav/lib/CalDAV/Calendar.php +++ b/vendor/sabre/dav/lib/CalDAV/Calendar.php @@ -39,8 +39,7 @@ class Calendar implements ICalendar, DAV\IProperties, DAV\Sync\ISyncCollection, /** * Constructor. * - * @param Backend\BackendInterface $caldavBackend - * @param array $calendarInfo + * @param array $calendarInfo */ public function __construct(Backend\BackendInterface $caldavBackend, $calendarInfo) { @@ -66,8 +65,6 @@ class Calendar implements ICalendar, DAV\IProperties, DAV\Sync\ISyncCollection, * * To update specific properties, call the 'handle' method on this object. * Read the PropPatch documentation for more information. - * - * @param PropPatch $propPatch */ public function propPatch(PropPatch $propPatch) { @@ -350,8 +347,6 @@ class Calendar implements ICalendar, DAV\IProperties, DAV\Sync\ISyncCollection, * The list of filters are specified as an array. The exact array is * documented by Sabre\CalDAV\CalendarQueryParser. * - * @param array $filters - * * @return array */ public function calendarQuery(array $filters) diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarHome.php b/vendor/sabre/dav/lib/CalDAV/CalendarHome.php index 663d449bf..159ddcc67 100644 --- a/vendor/sabre/dav/lib/CalDAV/CalendarHome.php +++ b/vendor/sabre/dav/lib/CalDAV/CalendarHome.php @@ -43,8 +43,7 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL /** * Constructor. * - * @param Backend\BackendInterface $caldavBackend - * @param array $principalInfo + * @param array $principalInfo */ public function __construct(Backend\BackendInterface $caldavBackend, $principalInfo) { @@ -216,7 +215,6 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL * Creates a new calendar or subscription. * * @param string $name - * @param MkCol $mkCol * * @throws DAV\Exception\InvalidResourceType */ diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarObject.php b/vendor/sabre/dav/lib/CalDAV/CalendarObject.php index 3f28ee7f7..671f4b5db 100644 --- a/vendor/sabre/dav/lib/CalDAV/CalendarObject.php +++ b/vendor/sabre/dav/lib/CalDAV/CalendarObject.php @@ -49,10 +49,6 @@ class CalendarObject extends \Sabre\DAV\File implements ICalendarObject, \Sabre\ * * size - (optional) The size of the data in bytes. * * lastmodified - (optional) format as a unix timestamp. * * acl - (optional) Use this to override the default ACL for the node. - * - * @param Backend\BackendInterface $caldavBackend - * @param array $calendarInfo - * @param array $objectData */ public function __construct(Backend\BackendInterface $caldavBackend, array $calendarInfo, array $objectData) { diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php b/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php index 0e7f1307d..7ce1c05b7 100644 --- a/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php +++ b/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php @@ -27,9 +27,6 @@ class CalendarQueryValidator * * The list of filters must be formatted as parsed by \Sabre\CalDAV\CalendarQueryParser * - * @param VObject\Component\VCalendar $vObject - * @param array $filters - * * @return bool */ public function validate(VObject\Component\VCalendar $vObject, array $filters) @@ -52,9 +49,6 @@ class CalendarQueryValidator * component we're checking should be specified, not the component to check * itself. * - * @param VObject\Component $parent - * @param array $filters - * * @return bool */ protected function validateCompFilters(VObject\Component $parent, array $filters) @@ -116,9 +110,6 @@ class CalendarQueryValidator * property we're checking should be specified, not the property to check * itself. * - * @param VObject\Component $parent - * @param array $filters - * * @return bool */ protected function validatePropFilters(VObject\Component $parent, array $filters) @@ -181,9 +172,6 @@ class CalendarQueryValidator * parameter we're checking should be specified, not the parameter to check * itself. * - * @param VObject\Property $parent - * @param array $filters - * * @return bool */ protected function validateParamFilters(VObject\Property $parent, array $filters) @@ -231,8 +219,7 @@ class CalendarQueryValidator * A single text-match should be specified as well as the specific property * or parameter we need to validate. * - * @param VObject\Node|string $check value to check against - * @param array $textMatch + * @param VObject\Node|string $check value to check against * * @return bool */ @@ -253,9 +240,8 @@ class CalendarQueryValidator * This is all based on the rules specified in rfc4791, which are quite * complex. * - * @param VObject\Node $component - * @param DateTime $start - * @param DateTime $end + * @param DateTime $start + * @param DateTime $end * * @return bool */ diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php b/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php index 42f1a44d5..3038d218f 100644 --- a/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php +++ b/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php @@ -38,9 +38,7 @@ class CalendarRoot extends \Sabre\DAVACL\AbstractPrincipalCollection * actually located in a different path, use the $principalPrefix argument * to override this. * - * @param PrincipalBackend\BackendInterface $principalBackend - * @param Backend\BackendInterface $caldavBackend - * @param string $principalPrefix + * @param string $principalPrefix */ public function __construct(PrincipalBackend\BackendInterface $principalBackend, Backend\BackendInterface $caldavBackend, $principalPrefix = 'principals') { @@ -68,8 +66,6 @@ class CalendarRoot extends \Sabre\DAVACL\AbstractPrincipalCollection * at least contain a uri item. Other properties may or may not be * supplied by the authentication backend. * - * @param array $principal - * * @return \Sabre\DAV\INode */ public function getChildForPrincipal(array $principal) diff --git a/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php b/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php index 3385ad8fe..e94378a68 100644 --- a/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php +++ b/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php @@ -20,9 +20,6 @@ class InvalidComponentType extends DAV\Exception\Forbidden * Adds in extra information in the xml response. * * This method adds the {CALDAV:}supported-calendar-component as defined in rfc4791 - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php b/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php index 717d3a9c9..9171e36e7 100644 --- a/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php +++ b/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php @@ -74,9 +74,6 @@ class ICSExportPlugin extends DAV\ServerPlugin /** * Intercepts GET requests on calendar urls ending with ?export. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @throws BadRequest * @throws DAV\Exception\NotFound * @throws VObject\InvalidDataException @@ -164,14 +161,13 @@ class ICSExportPlugin extends DAV\ServerPlugin /** * This method is responsible for generating the actual, full response. * - * @param string $path - * @param DateTime|null $start - * @param DateTime|null $end - * @param bool $expand - * @param string $componentType - * @param string $format - * @param array $properties - * @param ResponseInterface $response + * @param string $path + * @param DateTime|null $start + * @param DateTime|null $end + * @param bool $expand + * @param string $componentType + * @param string $format + * @param array $properties * * @throws DAV\Exception\NotFound * @throws VObject\InvalidDataException @@ -283,8 +279,7 @@ class ICSExportPlugin extends DAV\ServerPlugin /** * Merges all calendar objects, and builds one big iCalendar blob. * - * @param array $properties Some CalDAV properties - * @param array $inputObjects + * @param array $properties Some CalDAV properties * * @return VObject\Component\VCalendar */ diff --git a/vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php b/vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php index d9346f311..c08a05a8f 100644 --- a/vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php +++ b/vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php @@ -33,8 +33,6 @@ interface ICalendarObjectContainer extends \Sabre\DAV\ICollection * The list of filters are specified as an array. The exact array is * documented by \Sabre\CalDAV\CalendarQueryParser. * - * @param array $filters - * * @return array */ public function calendarQuery(array $filters); diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php index 884f205e4..e2e899683 100644 --- a/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php +++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php @@ -43,8 +43,7 @@ class Collection extends DAV\Collection implements ICollection, DAVACL\IACL /** * Constructor. * - * @param CalDAV\Backend\NotificationSupport $caldavBackend - * @param string $principalUri + * @param string $principalUri */ public function __construct(CalDAV\Backend\NotificationSupport $caldavBackend, $principalUri) { diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php index b1ec13ff4..7d3a3f46b 100644 --- a/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php +++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php @@ -48,9 +48,7 @@ class Node extends DAV\File implements INode, DAVACL\IACL /** * Constructor. * - * @param CalDAV\Backend\NotificationSupport $caldavBackend - * @param string $principalUri - * @param NotificationInterface $notification + * @param string $principalUri */ public function __construct(CalDAV\Backend\NotificationSupport $caldavBackend, $principalUri, NotificationInterface $notification) { diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php index 182b70c8e..56b2fe938 100644 --- a/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php @@ -60,8 +60,6 @@ class Plugin extends ServerPlugin * addPlugin is called. * * This method should set up the required event subscriptions. - * - * @param Server $server */ public function initialize(Server $server) { @@ -80,9 +78,6 @@ class Plugin extends ServerPlugin /** * PropFind. - * - * @param PropFind $propFind - * @param BaseINode $node */ public function propFind(PropFind $propFind, BaseINode $node) { @@ -112,9 +107,6 @@ class Plugin extends ServerPlugin * * We use this to intercept GET calls to notification nodes, and return the * proper response. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function httpGet(RequestInterface $request, ResponseInterface $response) { diff --git a/vendor/sabre/dav/lib/CalDAV/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Plugin.php index 04eaedf73..da172049e 100644 --- a/vendor/sabre/dav/lib/CalDAV/Plugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Plugin.php @@ -183,8 +183,6 @@ class Plugin extends DAV\ServerPlugin /** * Initializes the plugin. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -272,9 +270,6 @@ class Plugin extends DAV\ServerPlugin * This function handles the MKCALENDAR HTTP method, which creates * a new calendar. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpMkCalendar(RequestInterface $request, ResponseInterface $response) @@ -323,9 +318,6 @@ class Plugin extends DAV\ServerPlugin * This method handler is invoked before any after properties for a * resource are fetched. This allows us to add in any CalDAV specific * properties. - * - * @param DAV\PropFind $propFind - * @param DAV\INode $node */ public function propFind(DAV\PropFind $propFind, DAV\INode $node) { @@ -641,8 +633,6 @@ class Plugin extends DAV\ServerPlugin /** * This method is responsible for parsing the request and generating the * response for the CALDAV:free-busy-query REPORT. - * - * @param Xml\Request\FreeBusyQueryReport $report */ protected function freeBusyQueryReport(Xml\Request\FreeBusyQueryReport $report) { @@ -719,11 +709,10 @@ class Plugin extends DAV\ServerPlugin * This plugin uses this method to ensure that CalDAV objects receive * valid calendar data. * - * @param string $path - * @param DAV\IFile $node - * @param resource $data - * @param bool $modified should be set to true, if this event handler - * changed &$data + * @param string $path + * @param resource $data + * @param bool $modified should be set to true, if this event handler + * changed &$data */ public function beforeWriteContent($path, DAV\IFile $node, &$data, &$modified) { @@ -757,11 +746,10 @@ class Plugin extends DAV\ServerPlugin * This plugin uses this method to ensure that newly created calendar * objects contain valid calendar data. * - * @param string $path - * @param resource $data - * @param DAV\ICollection $parentNode - * @param bool $modified should be set to true, if this event handler - * changed &$data + * @param string $path + * @param resource $data + * @param bool $modified should be set to true, if this event handler + * changed &$data */ public function beforeCreateFile($path, &$data, DAV\ICollection $parentNode, &$modified) { @@ -927,9 +915,6 @@ class Plugin extends DAV\ServerPlugin /** * This method is triggered whenever a subsystem reqeuests the privileges * that are supported on a particular node. - * - * @param INode $node - * @param array $supportedPrivilegeSet */ public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet) { @@ -946,8 +931,7 @@ class Plugin extends DAV\ServerPlugin * DAV\Browser\Plugin. This allows us to generate an interface users * can use to create new calendars. * - * @param DAV\INode $node - * @param string $output + * @param string $output * * @return bool */ @@ -974,9 +958,6 @@ class Plugin extends DAV\ServerPlugin * This event is triggered after GET requests. * * This is used to transform data into jCal, if this was requested. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function httpAfterGet(RequestInterface $request, ResponseInterface $response) { diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/Collection.php b/vendor/sabre/dav/lib/CalDAV/Principal/Collection.php index cae29c752..6d0230331 100644 --- a/vendor/sabre/dav/lib/CalDAV/Principal/Collection.php +++ b/vendor/sabre/dav/lib/CalDAV/Principal/Collection.php @@ -23,8 +23,6 @@ class Collection extends DAVACL\PrincipalCollection /** * Returns a child object based on principal information. * - * @param array $principalInfo - * * @return User */ public function getChildForPrincipal(array $principalInfo) diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php index 1b24984bd..7cf70268e 100644 --- a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php +++ b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php @@ -38,9 +38,6 @@ class ProxyRead implements IProxyRead * Creates the object. * * Note that you MUST supply the parent principal information. - * - * @param DAVACL\PrincipalBackend\BackendInterface $principalBackend - * @param array $principalInfo */ public function __construct(DAVACL\PrincipalBackend\BackendInterface $principalBackend, array $principalInfo) { @@ -143,8 +140,6 @@ class ProxyRead implements IProxyRead * The list of members is always overwritten, never appended to. * * This method should throw an exception if the members could not be set. - * - * @param array $principals */ public function setGroupMemberSet(array $principals) { diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php index 7b9c78e0a..2d1ce7c46 100644 --- a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php +++ b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php @@ -38,9 +38,6 @@ class ProxyWrite implements IProxyWrite * Creates the object. * * Note that you MUST supply the parent principal information. - * - * @param DAVACL\PrincipalBackend\BackendInterface $principalBackend - * @param array $principalInfo */ public function __construct(DAVACL\PrincipalBackend\BackendInterface $principalBackend, array $principalInfo) { @@ -143,8 +140,6 @@ class ProxyWrite implements IProxyWrite * The list of members is always overwritten, never appended to. * * This method should throw an exception if the members could not be set. - * - * @param array $principals */ public function setGroupMemberSet(array $principals) { diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php b/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php index d71b3c0f8..e050ac273 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php @@ -81,8 +81,6 @@ class IMipPlugin extends DAV\ServerPlugin /** * Event handler for the 'schedule' event. - * - * @param ITip\Message $iTipMessage */ public function schedule(ITip\Message $iTipMessage) { @@ -132,6 +130,7 @@ class IMipPlugin extends DAV\ServerPlugin $headers = [ 'Reply-To: '.$sender, 'From: '.$iTipMessage->senderName.' <'.$this->senderEmail.'>', + 'MIME-Version: 1.0', 'Content-Type: text/calendar; charset=UTF-8; method='.$iTipMessage->method, ]; if (DAV\Server::$exposeVersion) { diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php index d92f1dd4c..462069096 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php @@ -38,8 +38,7 @@ class Inbox extends DAV\Collection implements IInbox /** * Constructor. * - * @param Backend\SchedulingSupport $caldavBackend - * @param string $principalUri + * @param string $principalUri */ public function __construct(Backend\SchedulingSupport $caldavBackend, $principalUri) { @@ -176,8 +175,6 @@ class Inbox extends DAV\Collection implements IInbox * The list of filters are specified as an array. The exact array is * documented by \Sabre\CalDAV\CalendarQueryParser. * - * @param array $filters - * * @return array */ public function calendarQuery(array $filters) diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php index d2c9b68e9..6f8f68432 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php @@ -94,8 +94,6 @@ class Plugin extends ServerPlugin /** * Initializes the plugin. - * - * @param Server $server */ public function initialize(Server $server) { @@ -158,9 +156,6 @@ class Plugin extends ServerPlugin /** * This method handles POST request for the outbox. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpPost(RequestInterface $request, ResponseInterface $response) @@ -195,9 +190,6 @@ class Plugin extends ServerPlugin * This method handler is invoked during fetching of properties. * * We use this event to add calendar-auto-schedule-specific properties. - * - * @param PropFind $propFind - * @param INode $node */ public function propFind(PropFind $propFind, INode $node) { @@ -297,8 +289,7 @@ class Plugin extends ServerPlugin /** * This method is called during property updates. * - * @param string $path - * @param PropPatch $propPatch + * @param string $path */ public function propPatch($path, PropPatch $propPatch) { @@ -353,8 +344,6 @@ class Plugin extends ServerPlugin /** * This method is responsible for delivering the ITip message. - * - * @param ITip\Message $iTipMessage */ public function deliver(ITip\Message $iTipMessage) { @@ -413,8 +402,6 @@ class Plugin extends ServerPlugin * * This handler attempts to look at local accounts to deliver the * scheduling object. - * - * @param ITip\Message $iTipMessage */ public function scheduleLocalDelivery(ITip\Message $iTipMessage) { @@ -557,9 +544,6 @@ class Plugin extends ServerPlugin * that are supported on a particular node. * * We need to add a number of privileges for scheduling purposes. - * - * @param INode $node - * @param array $supportedPrivilegeSet */ public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet) { @@ -621,8 +605,6 @@ class Plugin extends ServerPlugin * This method may update $newObject to add any status changes. * * @param VCalendar|string $oldObject - * @param VCalendar $newObject - * @param array $addresses * @param array $ignore any addresses to not send messages to * @param bool $modified a marker to indicate that the original object * modified by this process @@ -700,10 +682,6 @@ class Plugin extends ServerPlugin * The latter is from an expired early draft of the CalDAV scheduling * extensions, but iCal depends on a feature from that spec, so we * implement it. - * - * @param IOutbox $outboxNode - * @param RequestInterface $request - * @param ResponseInterface $response */ public function outboxRequest(IOutbox $outboxNode, RequestInterface $request, ResponseInterface $response) { @@ -758,11 +736,6 @@ class Plugin extends ServerPlugin * This method is responsible for parsing a free-busy query request and * returning it's result. * - * @param IOutbox $outbox - * @param VObject\Component $vObject - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return string */ protected function handleFreeBusyRequest(IOutbox $outbox, VObject\Component $vObject, RequestInterface $request, ResponseInterface $response) @@ -852,10 +825,7 @@ class Plugin extends ServerPlugin * * 2.0;description * * 3.7;description * - * @param string $email address - * @param \DateTimeInterface $start - * @param \DateTimeInterface $end - * @param VObject\Component $request + * @param string $email address * * @return array */ @@ -998,8 +968,6 @@ class Plugin extends ServerPlugin * This method checks the 'Schedule-Reply' header * and returns false if it's 'F', otherwise true. * - * @param RequestInterface $request - * * @return bool */ private function scheduleReply(RequestInterface $request) diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php b/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php index d34c92327..b40f28a94 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php @@ -29,9 +29,6 @@ class SchedulingObject extends \Sabre\CalDAV\CalendarObject implements IScheduli * * size - (optional) The size of the data in bytes. * * lastmodified - (optional) format as a unix timestamp. * * acl - (optional) Use this to override the default ACL for the node. - * - * @param Backend\SchedulingSupport $caldavBackend - * @param array $objectData */ public function __construct(Backend\SchedulingSupport $caldavBackend, array $objectData) { diff --git a/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php b/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php index be8c46a9e..090cc34bf 100644 --- a/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php +++ b/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php @@ -67,8 +67,6 @@ class SharingPlugin extends DAV\ServerPlugin * addPlugin is called. * * This method should set up the required event subscriptions. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -99,9 +97,6 @@ class SharingPlugin extends DAV\ServerPlugin * node. * * This allows us to inject any properties early. - * - * @param DAV\PropFind $propFind - * @param DAV\INode $node */ public function propFindEarly(DAV\PropFind $propFind, DAV\INode $node) { @@ -118,9 +113,6 @@ class SharingPlugin extends DAV\ServerPlugin * This method is triggered *after* all properties have been retrieved. * This allows us to inject the correct resourcetype for calendars that * have been shared. - * - * @param DAV\PropFind $propFind - * @param DAV\INode $node */ public function propFindLate(DAV\PropFind $propFind, DAV\INode $node) { @@ -154,8 +146,7 @@ class SharingPlugin extends DAV\ServerPlugin * Even though this is no longer in the current spec, we keep this around * because OS X 10.7 may still make use of this feature. * - * @param string $path - * @param DAV\PropPatch $propPatch + * @param string $path */ public function propPatch($path, DAV\PropPatch $propPatch) { @@ -183,9 +174,6 @@ class SharingPlugin extends DAV\ServerPlugin /** * We intercept this to handle POST requests on calendars. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool|null */ public function httpPost(RequestInterface $request, ResponseInterface $response) diff --git a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php index 238866894..6cfcc1a7b 100644 --- a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php @@ -28,8 +28,6 @@ class Plugin extends ServerPlugin * addPlugin is called. * * This method should set up the required event subscriptions. - * - * @param Server $server */ public function initialize(Server $server) { @@ -57,9 +55,6 @@ class Plugin extends ServerPlugin /** * Triggered after properties have been fetched. - * - * @param PropFind $propFind - * @param INode $node */ public function propFind(PropFind $propFind, INode $node) { diff --git a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php index 0b0282abe..3be1b609e 100644 --- a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php +++ b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php @@ -40,9 +40,6 @@ class Subscription extends Collection implements ISubscription, IACL /** * Constructor. - * - * @param SubscriptionSupport $caldavBackend - * @param array $subscriptionInfo */ public function __construct(SubscriptionSupport $caldavBackend, array $subscriptionInfo) { @@ -115,8 +112,6 @@ class Subscription extends Collection implements ISubscription, IACL * * To update specific properties, call the 'handle' method on this object. * Read the PropPatch documentation for more information. - * - * @param PropPatch $propPatch */ public function propPatch(PropPatch $propPatch) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php index 0d53aeda3..baa4250ab 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php @@ -47,8 +47,6 @@ class CalendarData implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php index 832346eea..929000bb8 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php @@ -44,8 +44,6 @@ class CompFilter implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php index ec9ff753c..1e6dd5946 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php @@ -42,8 +42,6 @@ class ParamFilter implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php index f4600574e..c9a3cb5ac 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php @@ -44,8 +44,6 @@ class PropFilter implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php index 926656674..2dbb0f498 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php @@ -181,8 +181,6 @@ class Invite implements NotificationInterface * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -192,8 +190,6 @@ class Invite implements NotificationInterface /** * This method serializes the entire notification, as it is used in the * response body. - * - * @param Writer $writer */ public function xmlSerializeFull(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php index abcbde151..dbdba3b02 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php @@ -89,8 +89,6 @@ class InviteReply implements NotificationInterface * * hostUrl - A url to the shared calendar. * * summary - Description of the share, can be the same as the * calendar, but may also be modified (optional). - * - * @param array $values */ public function __construct(array $values) { @@ -132,8 +130,6 @@ class InviteReply implements NotificationInterface * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -143,8 +139,6 @@ class InviteReply implements NotificationInterface /** * This method serializes the entire notification, as it is used in the * response body. - * - * @param Writer $writer */ public function xmlSerializeFull(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php index be7490533..e1b393f8b 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php @@ -19,8 +19,6 @@ interface NotificationInterface extends XmlSerializable /** * This method serializes the entire notification, as it is used in the * response body. - * - * @param Writer $writer */ public function xmlSerializeFull(Writer $writer); diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php index 3c656df34..6d196b30c 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php @@ -90,8 +90,6 @@ class SystemStatus implements NotificationInterface * * Important note 2: If you are writing any new elements, you are also * responsible for closing them. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -116,8 +114,6 @@ class SystemStatus implements NotificationInterface /** * This method serializes the entire notification, as it is used in the * response body. - * - * @param Writer $writer */ public function xmlSerializeFull(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php index 224f52c96..58acb6d54 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php @@ -68,8 +68,6 @@ class AllowedSharingModes implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php index 6b28d5df2..84f7ae02f 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php @@ -30,8 +30,6 @@ class EmailAddressSet implements XmlSerializable /** * __construct. - * - * @param array $emails */ public function __construct(array $emails) { @@ -63,8 +61,6 @@ class EmailAddressSet implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php index db456617c..c389ca827 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php @@ -67,8 +67,6 @@ class Invite implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php index 780907169..159522025 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php @@ -76,8 +76,6 @@ class ScheduleCalendarTransp implements Element * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -109,8 +107,6 @@ class ScheduleCalendarTransp implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php index 56fa61b13..d86e7b77c 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php @@ -36,8 +36,6 @@ class SupportedCalendarComponentSet implements Element /** * Creates the property. - * - * @param array $components */ public function __construct(array $components) { @@ -69,8 +67,6 @@ class SupportedCalendarComponentSet implements Element * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -99,8 +95,6 @@ class SupportedCalendarComponentSet implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php index 1c9c4779f..5b0893305 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php @@ -39,8 +39,6 @@ class SupportedCalendarData implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php index b88cd0d92..c5ffeee38 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php @@ -38,8 +38,6 @@ class SupportedCollationSet implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php index 8231de6bd..3b3a94b26 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php @@ -81,8 +81,6 @@ class CalendarMultiGetReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php index e85eccd2d..b3cc299d3 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php @@ -81,8 +81,6 @@ class CalendarQueryReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php index a4d98a8d4..17df05a78 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php @@ -55,8 +55,6 @@ class FreeBusyQueryReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php index 710095bb2..166721eb3 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php @@ -98,8 +98,6 @@ class InviteReply implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php index 7cad98da5..b5701e2ea 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php @@ -55,8 +55,6 @@ class MkCalendar implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php index 60bd579d5..d597b76f1 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php @@ -57,8 +57,6 @@ class Share implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBook.php b/vendor/sabre/dav/lib/CardDAV/AddressBook.php index 434801554..86994f2d5 100644 --- a/vendor/sabre/dav/lib/CardDAV/AddressBook.php +++ b/vendor/sabre/dav/lib/CardDAV/AddressBook.php @@ -36,9 +36,6 @@ class AddressBook extends DAV\Collection implements IAddressBook, DAV\IPropertie /** * Constructor. - * - * @param Backend\BackendInterface $carddavBackend - * @param array $addressBookInfo */ public function __construct(Backend\BackendInterface $carddavBackend, array $addressBookInfo) { @@ -181,8 +178,6 @@ class AddressBook extends DAV\Collection implements IAddressBook, DAV\IPropertie * * To update specific properties, call the 'handle' method on this object. * Read the PropPatch documentation for more information. - * - * @param DAV\PropPatch $propPatch */ public function propPatch(DAV\PropPatch $propPatch) { diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php b/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php index fb03000aa..884e9b24e 100644 --- a/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php +++ b/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php @@ -39,8 +39,7 @@ class AddressBookHome extends DAV\Collection implements DAV\IExtendedCollection, /** * Constructor. * - * @param Backend\BackendInterface $carddavBackend - * @param string $principalUri + * @param string $principalUri */ public function __construct(Backend\BackendInterface $carddavBackend, $principalUri) { @@ -152,7 +151,6 @@ class AddressBookHome extends DAV\Collection implements DAV\IExtendedCollection, * Creates a new address book. * * @param string $name - * @param MkCol $mkCol * * @throws DAV\Exception\InvalidResourceType */ diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php b/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php index 219f98906..ee1721a45 100644 --- a/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php +++ b/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php @@ -41,9 +41,7 @@ class AddressBookRoot extends DAVACL\AbstractPrincipalCollection * actually located in a different path, use the $principalPrefix argument * to override this. * - * @param DAVACL\PrincipalBackend\BackendInterface $principalBackend - * @param Backend\BackendInterface $carddavBackend - * @param string $principalPrefix + * @param string $principalPrefix */ public function __construct(DAVACL\PrincipalBackend\BackendInterface $principalBackend, Backend\BackendInterface $carddavBackend, $principalPrefix = 'principals') { @@ -68,8 +66,6 @@ class AddressBookRoot extends DAVACL\AbstractPrincipalCollection * at least contain a uri item. Other properties may or may not be * supplied by the authentication backend. * - * @param array $principal - * * @return \Sabre\DAV\INode */ public function getChildForPrincipal(array $principal) diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php b/vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php index 6b041ade4..a900c6256 100644 --- a/vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php +++ b/vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php @@ -26,7 +26,6 @@ abstract class AbstractBackend implements BackendInterface * If the backend supports this, it may allow for some speed-ups. * * @param mixed $addressBookId - * @param array $uris * * @return array */ diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php b/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php index 804f09a36..6ef34d173 100644 --- a/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php +++ b/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php @@ -51,8 +51,7 @@ interface BackendInterface * * Read the PropPatch documentation for more info and examples. * - * @param string $addressBookId - * @param \Sabre\DAV\PropPatch $propPatch + * @param string $addressBookId */ public function updateAddressBook($addressBookId, \Sabre\DAV\PropPatch $propPatch); @@ -64,7 +63,6 @@ interface BackendInterface * * @param string $principalUri * @param string $url just the 'basename' of the url - * @param array $properties * * @return mixed */ @@ -123,7 +121,6 @@ interface BackendInterface * If the backend supports this, it may allow for some speed-ups. * * @param mixed $addressBookId - * @param array $uris * * @return array */ diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php b/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php index 0659455e5..a33de48de 100644 --- a/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php +++ b/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php @@ -44,8 +44,6 @@ class PDO extends AbstractBackend implements SyncSupport /** * Sets up the object. - * - * @param \PDO $pdo */ public function __construct(\PDO $pdo) { @@ -93,8 +91,7 @@ class PDO extends AbstractBackend implements SyncSupport * * Read the PropPatch documentation for more info and examples. * - * @param string $addressBookId - * @param \Sabre\DAV\PropPatch $propPatch + * @param string $addressBookId */ public function updateAddressBook($addressBookId, \Sabre\DAV\PropPatch $propPatch) { @@ -143,7 +140,6 @@ class PDO extends AbstractBackend implements SyncSupport * * @param string $principalUri * @param string $url just the 'basename' of the url - * @param array $properties * * @return int Last insert id */ @@ -269,7 +265,6 @@ class PDO extends AbstractBackend implements SyncSupport * If the backend supports this, it may allow for some speed-ups. * * @param mixed $addressBookId - * @param array $uris * * @return array */ diff --git a/vendor/sabre/dav/lib/CardDAV/Card.php b/vendor/sabre/dav/lib/CardDAV/Card.php index 1d544f4aa..c9cd2bbf6 100644 --- a/vendor/sabre/dav/lib/CardDAV/Card.php +++ b/vendor/sabre/dav/lib/CardDAV/Card.php @@ -41,10 +41,6 @@ class Card extends DAV\File implements ICard, DAVACL\IACL /** * Constructor. - * - * @param Backend\BackendInterface $carddavBackend - * @param array $addressBookInfo - * @param array $cardData */ public function __construct(Backend\BackendInterface $carddavBackend, array $addressBookInfo, array $cardData) { diff --git a/vendor/sabre/dav/lib/CardDAV/Plugin.php b/vendor/sabre/dav/lib/CardDAV/Plugin.php index 10398a4d2..09d1f593d 100644 --- a/vendor/sabre/dav/lib/CardDAV/Plugin.php +++ b/vendor/sabre/dav/lib/CardDAV/Plugin.php @@ -59,8 +59,6 @@ class Plugin extends DAV\ServerPlugin /** * Initializes the plugin. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -131,9 +129,6 @@ class Plugin extends DAV\ServerPlugin /** * Adds all CardDAV-specific properties. - * - * @param DAV\PropFind $propFind - * @param DAV\INode $node */ public function propFindEarly(DAV\PropFind $propFind, DAV\INode $node) { @@ -267,11 +262,10 @@ class Plugin extends DAV\ServerPlugin * This plugin uses this method to ensure that Card nodes receive valid * vcard data. * - * @param string $path - * @param DAV\IFile $node - * @param resource $data - * @param bool $modified should be set to true, if this event handler - * changed &$data + * @param string $path + * @param resource $data + * @param bool $modified should be set to true, if this event handler + * changed &$data */ public function beforeWriteContent($path, DAV\IFile $node, &$data, &$modified) { @@ -288,11 +282,10 @@ class Plugin extends DAV\ServerPlugin * This plugin uses this method to ensure that Card nodes receive valid * vcard data. * - * @param string $path - * @param resource $data - * @param DAV\ICollection $parentNode - * @param bool $modified should be set to true, if this event handler - * changed &$data + * @param string $path + * @param resource $data + * @param bool $modified should be set to true, if this event handler + * changed &$data */ public function beforeCreateFile($path, &$data, DAV\ICollection $parentNode, &$modified) { @@ -481,7 +474,6 @@ class Plugin extends DAV\ServerPlugin * Validates if a vcard makes it throught a list of filters. * * @param string $vcardData - * @param array $filters * @param string $test anyof or allof (which means OR or AND) * * @return bool @@ -565,8 +557,6 @@ class Plugin extends DAV\ServerPlugin * property. Any subsequence parameters with the same name are * ignored. * - * @param array $vProperties - * @param array $filters * @param string $test * * @return bool @@ -628,8 +618,6 @@ class Plugin extends DAV\ServerPlugin /** * Validates if a text-filter can be applied to a specific property. * - * @param array $texts - * @param array $filters * @param string $test * * @return bool @@ -672,9 +660,6 @@ class Plugin extends DAV\ServerPlugin * * This event is scheduled late in the process, after most work for * propfind has been done. - * - * @param DAV\PropFind $propFind - * @param DAV\INode $node */ public function propFindLate(DAV\PropFind $propFind, DAV\INode $node) { @@ -699,8 +684,7 @@ class Plugin extends DAV\ServerPlugin * Sabre\DAV\Browser\Plugin. This allows us to generate an interface users * can use to create new addressbooks. * - * @param DAV\INode $node - * @param string $output + * @param string $output * * @return bool */ @@ -727,9 +711,6 @@ class Plugin extends DAV\ServerPlugin * This event is triggered after GET requests. * * This is used to transform data into jCal, if this was requested. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function httpAfterGet(RequestInterface $request, ResponseInterface $response) { diff --git a/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php b/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php index 194927c53..431391e04 100644 --- a/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php +++ b/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php @@ -32,8 +32,6 @@ class VCFExportPlugin extends DAV\ServerPlugin /** * Initializes the plugin and registers event handlers. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -49,9 +47,6 @@ class VCFExportPlugin extends DAV\ServerPlugin /** * Intercepts GET requests on addressbook urls ending with ?export. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpGet(RequestInterface $request, ResponseInterface $response) @@ -112,8 +107,6 @@ class VCFExportPlugin extends DAV\ServerPlugin /** * Merges all vcard objects, and builds one big vcf export. * - * @param array $nodes - * * @return string */ public function generateVCF(array $nodes) diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php index f1b651e76..b60fcebb6 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php @@ -43,8 +43,6 @@ class AddressData implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php index 2d39dea7f..0a7ec0659 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php @@ -43,8 +43,6 @@ abstract class ParamFilter implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php index a22a577c9..5dedac800 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php @@ -43,8 +43,6 @@ class PropFilter implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php index 9d0051698..fe5f976a0 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php @@ -33,8 +33,6 @@ class SupportedAddressData implements XmlSerializable /** * Creates the property. - * - * @param array|null $supportedData */ public function __construct(array $supportedData = null) { @@ -64,8 +62,6 @@ class SupportedAddressData implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php index 66e451a91..b19eddd9c 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php @@ -34,8 +34,6 @@ class SupportedCollationSet implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php index 845796760..c11d2dd73 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php @@ -71,8 +71,6 @@ class AddressBookMultiGetReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php index 0e6f26d38..d3651ae61 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php @@ -115,8 +115,6 @@ class AddressBookQueryReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php index aa8b1f573..3132333b7 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php @@ -86,9 +86,6 @@ abstract class AbstractBasic implements BackendInterface * * principals/users/[username] * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return array */ public function check(RequestInterface $request, ResponseInterface $response) @@ -126,9 +123,6 @@ abstract class AbstractBasic implements BackendInterface * WWW-Authenticate headers may already have been set, and you'll want to * append your own WWW-Authenticate header instead of overwriting the * existing one. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function challenge(RequestInterface $request, ResponseInterface $response) { diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php index a2653b2b0..b6817479f 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php @@ -79,9 +79,6 @@ abstract class AbstractBearer implements BackendInterface * * principals/users/[username] * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return array */ public function check(RequestInterface $request, ResponseInterface $response) @@ -120,9 +117,6 @@ abstract class AbstractBearer implements BackendInterface * WWW-Authenticate headers may already have been set, and you'll want to * append your own WWW-Authenticate header instead of overwriting the * existing one. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function challenge(RequestInterface $request, ResponseInterface $response) { diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php index 06c9ed3a4..297655da3 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php @@ -89,9 +89,6 @@ abstract class AbstractDigest implements BackendInterface * * principals/users/[username] * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return array */ public function check(RequestInterface $request, ResponseInterface $response) @@ -143,9 +140,6 @@ abstract class AbstractDigest implements BackendInterface * WWW-Authenticate headers may already have been set, and you'll want to * append your own WWW-Authenticate header instead of overwriting the * existing one. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function challenge(RequestInterface $request, ResponseInterface $response) { diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php index 201fe615c..ebf67cab2 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php @@ -52,9 +52,6 @@ class Apache implements BackendInterface * * principals/users/[username] * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return array */ public function check(RequestInterface $request, ResponseInterface $response) @@ -89,9 +86,6 @@ class Apache implements BackendInterface * WWW-Authenticate headers may already have been set, and you'll want to * append your own WWW-Authenticate header instead of overwriting the * existing one. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function challenge(RequestInterface $request, ResponseInterface $response) { diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php index 8598791fb..133eac926 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php @@ -40,9 +40,6 @@ interface BackendInterface * * principals/users/[username] * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return array */ public function check(RequestInterface $request, ResponseInterface $response); @@ -63,9 +60,6 @@ interface BackendInterface * WWW-Authenticate headers may already have been set, and you'll want to * append your own WWW-Authenticate header instead of overwriting the * existing one. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function challenge(RequestInterface $request, ResponseInterface $response); } diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php index aab3c5e1c..5a8bb98ce 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php @@ -30,8 +30,6 @@ class BasicCallBack extends AbstractBasic * * A callback must be provided to handle checking the username and * password. - * - * @param callable $callBack */ public function __construct(callable $callBack) { diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php index 87ead6fcd..9a06912d1 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php @@ -31,8 +31,6 @@ class PDO extends AbstractDigest * Creates the backend object. * * If the filename argument is passed in, it will parse out the specified file fist. - * - * @param \PDO $pdo */ public function __construct(\PDO $pdo) { diff --git a/vendor/sabre/dav/lib/DAV/Auth/Plugin.php b/vendor/sabre/dav/lib/DAV/Auth/Plugin.php index 9be90283f..68adbede5 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Plugin.php @@ -67,8 +67,6 @@ class Plugin extends ServerPlugin /** * Adds an authentication backend to the plugin. - * - * @param Backend\BackendInterface $authBackend */ public function addBackend(Backend\BackendInterface $authBackend) { @@ -77,8 +75,6 @@ class Plugin extends ServerPlugin /** * Initializes the plugin. This function is automatically called by the server. - * - * @param Server $server */ public function initialize(Server $server) { @@ -118,9 +114,6 @@ class Plugin extends ServerPlugin /** * This method is called before any HTTP method and forces users to be authenticated. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function beforeMethod(RequestInterface $request, ResponseInterface $response) @@ -176,9 +169,6 @@ class Plugin extends ServerPlugin * unsuccessful. For every auth backend there will be one reason, so usually * there's just one. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return array */ public function check(RequestInterface $request, ResponseInterface $response) @@ -215,9 +205,6 @@ class Plugin extends ServerPlugin * WWW-Authorization header, indicating to the client that it should * authenticate. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return array */ public function challenge(RequestInterface $request, ResponseInterface $response) diff --git a/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php b/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php index 7466babb3..5cda0b842 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php +++ b/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php @@ -49,8 +49,6 @@ class GuessContentType extends DAV\ServerPlugin /** * Initializes the plugin. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -63,9 +61,6 @@ class GuessContentType extends DAV\ServerPlugin * Our PROPFIND handler. * * Here we set a contenttype, if the node didn't already have one. - * - * @param PropFind $propFind - * @param INode $node */ public function propFind(PropFind $propFind, INode $node) { @@ -85,10 +80,12 @@ class GuessContentType extends DAV\ServerPlugin */ protected function getContentType($fileName) { - // Just grabbing the extension - $extension = strtolower(substr($fileName, strrpos($fileName, '.') + 1)); - if (isset($this->extensionMap[$extension])) { - return $this->extensionMap[$extension]; + if (null !== $fileName) { + // Just grabbing the extension + $extension = strtolower(substr($fileName, strrpos($fileName, '.') + 1)); + if (isset($this->extensionMap[$extension])) { + return $this->extensionMap[$extension]; + } } return 'application/octet-stream'; diff --git a/vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php b/vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php index 59b3f5604..be5a28456 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php +++ b/vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php @@ -28,8 +28,6 @@ interface HtmlOutput * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html); diff --git a/vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php b/vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php index a7c747437..0a881abad 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php +++ b/vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php @@ -42,7 +42,6 @@ class HtmlOutputHelper * that can be used to make output a lot shorter. * * @param string $baseUri - * @param array $namespaceMap */ public function __construct($baseUri, array $namespaceMap) { diff --git a/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php b/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php index 25e061128..0bbe70c66 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php +++ b/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php @@ -29,8 +29,6 @@ class MapGetToPropFind extends DAV\ServerPlugin /** * Initializes the plugin and subscribes to events. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -41,9 +39,6 @@ class MapGetToPropFind extends DAV\ServerPlugin /** * This method intercepts GET requests to non-files, and changes it into an HTTP PROPFIND request. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpGet(RequestInterface $request, ResponseInterface $response) diff --git a/vendor/sabre/dav/lib/DAV/Browser/Plugin.php b/vendor/sabre/dav/lib/DAV/Browser/Plugin.php index e2fab4b79..915f2895b 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Browser/Plugin.php @@ -70,8 +70,6 @@ class Plugin extends DAV\ServerPlugin /** * Initializes the plugin and subscribes to events. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -88,9 +86,6 @@ class Plugin extends DAV\ServerPlugin * This method intercepts GET requests that have ?sabreAction=info * appended to the URL. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpGetEarly(RequestInterface $request, ResponseInterface $response) @@ -104,9 +99,6 @@ class Plugin extends DAV\ServerPlugin /** * This method intercepts GET requests to collections and returns the html. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpGet(RequestInterface $request, ResponseInterface $response) @@ -160,9 +152,6 @@ class Plugin extends DAV\ServerPlugin /** * Handles POST requests for tree operations. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpPOST(RequestInterface $request, ResponseInterface $response) @@ -499,9 +488,8 @@ HTML; * This specifically generates the interfaces for creating new files, and * creating new directories. * - * @param DAV\INode $node - * @param mixed $output - * @param string $path + * @param mixed $output + * @param string $path */ public function htmlActionsPanel(DAV\INode $node, &$output, $path) { @@ -630,7 +618,6 @@ HTML; /** * Maps a resource type to a human-readable string and icon. * - * @param array $resourceTypes * @param DAV\INode $node * * @return array diff --git a/vendor/sabre/dav/lib/DAV/Client.php b/vendor/sabre/dav/lib/DAV/Client.php index cfa24cd29..a9de71cdb 100644 --- a/vendor/sabre/dav/lib/DAV/Client.php +++ b/vendor/sabre/dav/lib/DAV/Client.php @@ -112,8 +112,6 @@ class Client extends HTTP\Client * requests to 'discover' this information. * * Encoding is a bitmap with one of the ENCODING constants. - * - * @param array $settings */ public function __construct(array $settings) { @@ -192,7 +190,6 @@ class Client extends HTTP\Client * made to the server to also return all child resources. * * @param string $url - * @param array $properties * @param int $depth * * @return array @@ -261,7 +258,6 @@ class Client extends HTTP\Client * attempt is made to delete the property. * * @param string $url - * @param array $properties * * @return bool */ @@ -359,7 +355,6 @@ class Client extends HTTP\Client * @param string $method * @param string $url * @param string|resource|null $body - * @param array $headers * * @throws clientException, in case a curl error occurred * @@ -415,7 +410,6 @@ class Client extends HTTP\Client * ] * ] * - * * @param string $body xml body * * @return array diff --git a/vendor/sabre/dav/lib/DAV/CorePlugin.php b/vendor/sabre/dav/lib/DAV/CorePlugin.php index ef1dfceb6..74350c28d 100644 --- a/vendor/sabre/dav/lib/DAV/CorePlugin.php +++ b/vendor/sabre/dav/lib/DAV/CorePlugin.php @@ -27,8 +27,6 @@ class CorePlugin extends ServerPlugin /** * Sets up the plugin. - * - * @param Server $server */ public function initialize(Server $server) { @@ -70,9 +68,6 @@ class CorePlugin extends ServerPlugin /** * This is the default implementation for the GET method. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpGet(RequestInterface $request, ResponseInterface $response) @@ -210,9 +205,6 @@ class CorePlugin extends ServerPlugin /** * HTTP OPTIONS. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpOptions(RequestInterface $request, ResponseInterface $response) @@ -245,9 +237,6 @@ class CorePlugin extends ServerPlugin * determine if a remote file was changed, so they can use a local cached * version, instead of downloading it again * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpHead(RequestInterface $request, ResponseInterface $response) @@ -281,9 +270,6 @@ class CorePlugin extends ServerPlugin * HTTP Delete. * * The HTTP delete method, deletes a given uri - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function httpDelete(RequestInterface $request, ResponseInterface $response) { @@ -314,9 +300,6 @@ class CorePlugin extends ServerPlugin * The response body is also an xml document, containing information about every uri resource and the requested properties * * It has to return a HTTP 207 Multi-status status code - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function httpPropFind(RequestInterface $request, ResponseInterface $response) { @@ -374,9 +357,6 @@ class CorePlugin extends ServerPlugin * This method is called to update properties on a Node. The request is an XML body with all the mutations. * In this XML body it is specified which properties should be set/updated and/or deleted * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpPropPatch(RequestInterface $request, ResponseInterface $response) @@ -443,9 +423,6 @@ class CorePlugin extends ServerPlugin * * If a new resource was created, a 201 Created status code should be returned. If an existing resource is updated, it's a 204 No Content * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpPut(RequestInterface $request, ResponseInterface $response) @@ -546,9 +523,6 @@ class CorePlugin extends ServerPlugin * * The MKCOL method is used to create a new collection (directory) on the server * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpMkcol(RequestInterface $request, ResponseInterface $response) @@ -607,9 +581,6 @@ class CorePlugin extends ServerPlugin * * This method moves one uri to a different uri. A lot of the actual request processing is done in getCopyMoveInfo * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpMove(RequestInterface $request, ResponseInterface $response) @@ -663,9 +634,6 @@ class CorePlugin extends ServerPlugin * This method copies one uri to a different uri, and works much like the MOVE request * A lot of the actual request processing is done in getCopyMoveInfo * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpCopy(RequestInterface $request, ResponseInterface $response) @@ -702,9 +670,6 @@ class CorePlugin extends ServerPlugin * Although the REPORT method is not part of the standard WebDAV spec (it's from rfc3253) * It's used in a lot of extensions, so it made sense to implement it into the core. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpReport(RequestInterface $request, ResponseInterface $response) @@ -733,8 +698,7 @@ class CorePlugin extends ServerPlugin * Here we check if a user attempted to update a protected property and * ensure that the process fails if this is the case. * - * @param string $path - * @param PropPatch $propPatch + * @param string $path */ public function propPatchProtectedPropertyCheck($path, PropPatch $propPatch) { @@ -757,8 +721,7 @@ class CorePlugin extends ServerPlugin * Here we check if a node implements IProperties and let the node handle * updating of (some) properties. * - * @param string $path - * @param PropPatch $propPatch + * @param string $path */ public function propPatchNodeUpdate($path, PropPatch $propPatch) { @@ -774,9 +737,6 @@ class CorePlugin extends ServerPlugin * This method is called when properties are retrieved. * * Here we add all the default properties. - * - * @param PropFind $propFind - * @param INode $node */ public function propFind(PropFind $propFind, INode $node) { @@ -832,9 +792,6 @@ class CorePlugin extends ServerPlugin * * This event is called a bit later, so plugins have a chance first to * populate the result. - * - * @param PropFind $propFind - * @param INode $node */ public function propFindNode(PropFind $propFind, INode $node) { @@ -851,9 +808,6 @@ class CorePlugin extends ServerPlugin * * This specific handler is called very late in the process, because we * want other systems to first have a chance to handle the properties. - * - * @param PropFind $propFind - * @param INode $node */ public function propFindLate(PropFind $propFind, INode $node) { diff --git a/vendor/sabre/dav/lib/DAV/Exception.php b/vendor/sabre/dav/lib/DAV/Exception.php index e1d990623..9fc1d16bb 100644 --- a/vendor/sabre/dav/lib/DAV/Exception.php +++ b/vendor/sabre/dav/lib/DAV/Exception.php @@ -31,9 +31,6 @@ class Exception extends \Exception /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param Server $server - * @param \DOMElement $errorNode */ public function serialize(Server $server, \DOMElement $errorNode) { @@ -44,8 +41,6 @@ class Exception extends \Exception * * The headers must be returned as an array. * - * @param Server $server - * * @return array */ public function getHTTPHeaders(Server $server) diff --git a/vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php b/vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php index c1a4914ed..7ceed266f 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php +++ b/vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php @@ -20,9 +20,6 @@ class ConflictingLock extends Locked { /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php b/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php index 99baeb8bc..4fabd24ad 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php +++ b/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php @@ -20,9 +20,6 @@ class InvalidResourceType extends Forbidden { /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param \Sabre\DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(\Sabre\DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php b/vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php index 6c5f1c435..37b28ca54 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php +++ b/vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php @@ -25,9 +25,6 @@ class InvalidSyncToken extends Forbidden { /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php b/vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php index 1c7402384..a813b1a38 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php +++ b/vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php @@ -27,9 +27,6 @@ class LockTokenMatchesRequestUri extends Conflict /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAV/Exception/Locked.php b/vendor/sabre/dav/lib/DAV/Exception/Locked.php index 632bafc60..28263cf13 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/Locked.php +++ b/vendor/sabre/dav/lib/DAV/Exception/Locked.php @@ -51,9 +51,6 @@ class Locked extends DAV\Exception /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php b/vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php index a3d9c56f2..d1ac349bd 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php +++ b/vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php @@ -32,8 +32,6 @@ class MethodNotAllowed extends DAV\Exception * * The headers must be returned as an array. * - * @param \Sabre\DAV\Server $server - * * @return array */ public function getHTTPHeaders(\Sabre\DAV\Server $server) diff --git a/vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php b/vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php index 20d8a2a30..7240f3696 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php +++ b/vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php @@ -53,9 +53,6 @@ class PreconditionFailed extends DAV\Exception /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php b/vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php index cecfec12d..a483838e6 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php +++ b/vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php @@ -19,9 +19,6 @@ class ReportNotSupported extends UnsupportedMediaType { /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php b/vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php index 7dbe878b9..3f7d2d5fb 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php +++ b/vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php @@ -25,9 +25,6 @@ class TooManyMatches extends Forbidden { /** * This method allows the exception to include additional information into the WebDAV error response. - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAV/IExtendedCollection.php b/vendor/sabre/dav/lib/DAV/IExtendedCollection.php index d43b44bcb..fcf12a27e 100644 --- a/vendor/sabre/dav/lib/DAV/IExtendedCollection.php +++ b/vendor/sabre/dav/lib/DAV/IExtendedCollection.php @@ -36,7 +36,6 @@ interface IExtendedCollection extends ICollection * property for you. * * @param string $name - * @param MkCol $mkCol * * @throws Exception\InvalidResourceType */ diff --git a/vendor/sabre/dav/lib/DAV/IProperties.php b/vendor/sabre/dav/lib/DAV/IProperties.php index d50fdff20..a69c178c0 100644 --- a/vendor/sabre/dav/lib/DAV/IProperties.php +++ b/vendor/sabre/dav/lib/DAV/IProperties.php @@ -23,8 +23,6 @@ interface IProperties extends INode * * To update specific properties, call the 'handle' method on this object. * Read the PropPatch documentation for more information. - * - * @param PropPatch $propPatch */ public function propPatch(PropPatch $propPatch); diff --git a/vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php b/vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php index 9a6919f50..4d21beb2e 100644 --- a/vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php +++ b/vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php @@ -35,8 +35,7 @@ interface BackendInterface /** * Locks a uri. * - * @param string $uri - * @param Locks\LockInfo $lockInfo + * @param string $uri * * @return bool */ @@ -45,8 +44,7 @@ interface BackendInterface /** * Removes a lock from a uri. * - * @param string $uri - * @param Locks\LockInfo $lockInfo + * @param string $uri * * @return bool */ diff --git a/vendor/sabre/dav/lib/DAV/Locks/Backend/File.php b/vendor/sabre/dav/lib/DAV/Locks/Backend/File.php index 5957f35dd..b38189499 100644 --- a/vendor/sabre/dav/lib/DAV/Locks/Backend/File.php +++ b/vendor/sabre/dav/lib/DAV/Locks/Backend/File.php @@ -82,8 +82,7 @@ class File extends AbstractBackend /** * Locks a uri. * - * @param string $uri - * @param LockInfo $lockInfo + * @param string $uri * * @return bool */ @@ -113,8 +112,7 @@ class File extends AbstractBackend /** * Removes a lock from a uri. * - * @param string $uri - * @param LockInfo $lockInfo + * @param string $uri * * @return bool */ @@ -166,8 +164,6 @@ class File extends AbstractBackend /** * Saves the lockdata. - * - * @param array $newData */ protected function putData(array $newData) { diff --git a/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php index 36a12d1ab..3f425f98d 100644 --- a/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php +++ b/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php @@ -34,8 +34,6 @@ class PDO extends AbstractBackend /** * Constructor. - * - * @param \PDO $pdo */ public function __construct(\PDO $pdo) { @@ -111,8 +109,7 @@ class PDO extends AbstractBackend /** * Locks a uri. * - * @param string $uri - * @param LockInfo $lockInfo + * @param string $uri * * @return bool */ @@ -161,8 +158,7 @@ class PDO extends AbstractBackend /** * Removes a lock from a uri. * - * @param string $uri - * @param LockInfo $lockInfo + * @param string $uri * * @return bool */ diff --git a/vendor/sabre/dav/lib/DAV/Locks/Plugin.php b/vendor/sabre/dav/lib/DAV/Locks/Plugin.php index 6d3e9b883..110bfce06 100644 --- a/vendor/sabre/dav/lib/DAV/Locks/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Locks/Plugin.php @@ -40,8 +40,6 @@ class Plugin extends DAV\ServerPlugin /** * __construct. - * - * @param Backend\BackendInterface $locksBackend */ public function __construct(Backend\BackendInterface $locksBackend) { @@ -52,8 +50,6 @@ class Plugin extends DAV\ServerPlugin * Initializes the plugin. * * This method is automatically called by the Server class after addPlugin. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -84,9 +80,6 @@ class Plugin extends DAV\ServerPlugin /** * This method is called after most properties have been found * it allows us to add in any Lock-related properties. - * - * @param DAV\PropFind $propFind - * @param DAV\INode $node */ public function propFind(DAV\PropFind $propFind, DAV\INode $node) { @@ -159,9 +152,6 @@ class Plugin extends DAV\ServerPlugin * * Additionally, a lock can be requested for a non-existent file. In these case we're obligated to create an empty file as per RFC4918:S7.3 * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpLock(RequestInterface $request, ResponseInterface $response) @@ -260,9 +250,6 @@ class Plugin extends DAV\ServerPlugin * * This WebDAV method allows you to remove a lock from a node. The client should provide a valid locktoken through the Lock-token http header * The server should return 204 (No content) on success - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function httpUnlock(RequestInterface $request, ResponseInterface $response) { @@ -318,8 +305,7 @@ class Plugin extends DAV\ServerPlugin * All the locking information is supplied in the lockInfo object. The object has a suggested timeout, but this can be safely ignored * It is important that if the existing timeout is ignored, the property is overwritten, as this needs to be sent back to the client * - * @param string $uri - * @param LockInfo $lockInfo + * @param string $uri * * @return bool */ @@ -337,8 +323,7 @@ class Plugin extends DAV\ServerPlugin * * This method removes a lock from a uri. It is assumed all the supplied information is correct and verified * - * @param string $uri - * @param LockInfo $lockInfo + * @param string $uri * * @return bool */ @@ -380,15 +365,13 @@ class Plugin extends DAV\ServerPlugin /** * Generates the response for successful LOCK requests. * - * @param LockInfo $lockInfo - * * @return string */ protected function generateLockResponse(LockInfo $lockInfo) { return $this->server->xml->write('{DAV:}prop', [ '{DAV:}lockdiscovery' => new DAV\Xml\Property\LockDiscovery([$lockInfo]), - ]); + ], $this->server->getBaseUri()); } /** @@ -401,8 +384,7 @@ class Plugin extends DAV\ServerPlugin * must be present in the request, and reject requests without the proper * tokens. * - * @param RequestInterface $request - * @param mixed $conditions + * @param mixed $conditions */ public function validateTokens(RequestInterface $request, &$conditions) { diff --git a/vendor/sabre/dav/lib/DAV/Mount/Plugin.php b/vendor/sabre/dav/lib/DAV/Mount/Plugin.php index 5eaa4d462..b7f4851f6 100644 --- a/vendor/sabre/dav/lib/DAV/Mount/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Mount/Plugin.php @@ -28,8 +28,6 @@ class Plugin extends DAV\ServerPlugin /** * Initializes the plugin and registers event handles. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -41,9 +39,6 @@ class Plugin extends DAV\ServerPlugin * 'beforeMethod' event handles. This event handles intercepts GET requests ending * with ?mount. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpGet(RequestInterface $request, ResponseInterface $response) @@ -67,8 +62,7 @@ class Plugin extends DAV\ServerPlugin /** * Generates the davmount response. * - * @param ResponseInterface $response - * @param string $uri absolute uri + * @param string $uri absolute uri */ public function davMount(ResponseInterface $response, $uri) { diff --git a/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php b/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php index f8ffc3706..d6f4d32bd 100644 --- a/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php @@ -39,8 +39,6 @@ class Plugin extends DAV\ServerPlugin * Initializes the plugin. * * This method is automatically called by the Server class after addPlugin. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -106,9 +104,6 @@ class Plugin extends DAV\ServerPlugin * The WebDAV patch request can be used to modify only a part of an * existing resource. If the resource does not exist yet and the first * offset is not 0, the request fails - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function httpPatch(RequestInterface $request, ResponseInterface $response) { @@ -191,8 +186,6 @@ class Plugin extends DAV\ServerPlugin * [2,10,null] - update bytes 10 until the end of the patch body * [3,-5] - update from 5 bytes from the end of the file. * - * @param RequestInterface $request - * * @return array|null */ public function getHTTPUpdateRange(RequestInterface $request) diff --git a/vendor/sabre/dav/lib/DAV/PropFind.php b/vendor/sabre/dav/lib/DAV/PropFind.php index 4b6fe28eb..e9ffb07cb 100644 --- a/vendor/sabre/dav/lib/DAV/PropFind.php +++ b/vendor/sabre/dav/lib/DAV/PropFind.php @@ -38,7 +38,6 @@ class PropFind * Creates the PROPFIND object. * * @param string $path - * @param array $properties * @param int $depth * @param int $requestType */ diff --git a/vendor/sabre/dav/lib/DAV/PropPatch.php b/vendor/sabre/dav/lib/DAV/PropPatch.php index 160bdb1a8..092909dea 100644 --- a/vendor/sabre/dav/lib/DAV/PropPatch.php +++ b/vendor/sabre/dav/lib/DAV/PropPatch.php @@ -82,7 +82,6 @@ class PropPatch * code associated with the operation. * * @param string|string[] $properties - * @param callable $callback */ public function handle($properties, callable $callback) { @@ -112,8 +111,6 @@ class PropPatch * Call this function if you wish to handle _all_ properties that haven't * been handled by anything else yet. Note that you effectively claim with * this that you promise to process _all_ properties that are coming in. - * - * @param callable $callback */ public function handleRemaining(callable $callback) { @@ -250,8 +247,7 @@ class PropPatch /** * Executes a property callback with the single-property syntax. * - * @param string $propertyName - * @param callable $callback + * @param string $propertyName */ private function doCallBackSingleProp($propertyName, callable $callback) { @@ -281,9 +277,6 @@ class PropPatch /** * Executes a property callback with the multi-property syntax. - * - * @param array $propertyList - * @param callable $callback */ private function doCallBackMultiProp(array $propertyList, callable $callback) { diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php index 4bdc44775..64a8825cb 100644 --- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php +++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php @@ -32,8 +32,7 @@ interface BackendInterface * However, you can also support the 'allprops' property here. In that * case, you should check for $propFind->isAllProps(). * - * @param string $path - * @param PropFind $propFind + * @param string $path */ public function propFind($path, PropFind $propFind); @@ -46,8 +45,7 @@ interface BackendInterface * Usually you would want to call 'handleRemaining' on this object, to get; * a list of all properties that need to be stored. * - * @param string $path - * @param PropPatch $propPatch + * @param string $path */ public function propPatch($path, PropPatch $propPatch); diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php index e640f420e..896033192 100644 --- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php +++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php @@ -53,8 +53,6 @@ class PDO implements BackendInterface /** * Creates the PDO property storage engine. - * - * @param \PDO $pdo */ public function __construct(\PDO $pdo) { @@ -74,8 +72,7 @@ class PDO implements BackendInterface * However, you can also support the 'allprops' property here. In that * case, you should check for $propFind->isAllProps(). * - * @param string $path - * @param PropFind $propFind + * @param string $path */ public function propFind($path, PropFind $propFind) { @@ -115,8 +112,7 @@ class PDO implements BackendInterface * Usually you would want to call 'handleRemaining' on this object, to get; * a list of all properties that need to be stored. * - * @param string $path - * @param PropPatch $propPatch + * @param string $path */ public function propPatch($path, PropPatch $propPatch) { diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php index aa8610eb8..da47ec9a9 100644 --- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php @@ -46,8 +46,6 @@ class Plugin extends ServerPlugin /** * Creates the plugin. - * - * @param Backend\BackendInterface $backend */ public function __construct(Backend\BackendInterface $backend) { @@ -61,8 +59,6 @@ class Plugin extends ServerPlugin * addPlugin is called. * * This method should set up the required event subscriptions. - * - * @param Server $server */ public function initialize(Server $server) { @@ -77,9 +73,6 @@ class Plugin extends ServerPlugin * * If there's any requested properties that don't have a value yet, this * plugin will look in the property storage backend to find them. - * - * @param PropFind $propFind - * @param INode $node */ public function propFind(PropFind $propFind, INode $node) { @@ -97,8 +90,7 @@ class Plugin extends ServerPlugin * If there's any updated properties that haven't been stored, the * propertystorage backend can handle it. * - * @param string $path - * @param PropPatch $propPatch + * @param string $path */ public function propPatch($path, PropPatch $propPatch) { diff --git a/vendor/sabre/dav/lib/DAV/Server.php b/vendor/sabre/dav/lib/DAV/Server.php index 09760e9d1..37bf282e8 100644 --- a/vendor/sabre/dav/lib/DAV/Server.php +++ b/vendor/sabre/dav/lib/DAV/Server.php @@ -14,6 +14,7 @@ use Sabre\HTTP; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; use Sabre\Uri; +use Sabre\Xml\Writer; /** * Main DAV server class. @@ -185,6 +186,15 @@ class Server implements LoggerAwareInterface, EmitterInterface public static $exposeVersion = true; /** + * If this setting is turned on, any multi status response on any PROPFIND will be streamed to the output buffer. + * This will be beneficial for large result sets which will no longer consume a large amount of memory as well as + * send back data to the client earlier. + * + * @var bool + */ + public static $streamMultiStatus = false; + + /** * Sets up the server. * * If a Sabre\DAV\Tree object is passed as an argument, it will @@ -198,8 +208,10 @@ class Server implements LoggerAwareInterface, EmitterInterface * the nodes in the array as top-level children. * * @param Tree|INode|array|null $treeOrNode The tree object + * + * @throws Exception */ - public function __construct($treeOrNode = null) + public function __construct($treeOrNode = null, HTTP\Sapi $sapi = null) { if ($treeOrNode instanceof Tree) { $this->tree = $treeOrNode; @@ -216,7 +228,7 @@ class Server implements LoggerAwareInterface, EmitterInterface } $this->xml = new Xml\Service(); - $this->sapi = new HTTP\Sapi(); + $this->sapi = $sapi ?? new HTTP\Sapi(); $this->httpResponse = new HTTP\Response(); $this->httpRequest = $this->sapi->getRequest(); $this->addPlugin(new CorePlugin()); @@ -383,8 +395,6 @@ class Server implements LoggerAwareInterface, EmitterInterface * Adds a plugin to the server. * * For more information, console the documentation of Sabre\DAV\ServerPlugin - * - * @param ServerPlugin $plugin */ public function addPlugin(ServerPlugin $plugin) { @@ -437,9 +447,7 @@ class Server implements LoggerAwareInterface, EmitterInterface /** * Handles a http request, and execute a method based on its name. * - * @param RequestInterface $request - * @param ResponseInterface $response - * @param bool $sendResponse whether to send the HTTP response to the DAV client + * @param bool $sendResponse whether to send the HTTP response to the DAV client */ public function invokeMethod(RequestInterface $request, ResponseInterface $response, $sendResponse = true) { @@ -698,8 +706,6 @@ class Server implements LoggerAwareInterface, EmitterInterface * * destination - Destination path * * destinationExists - Whether or not the destination is an existing url (and should therefore be overwritten) * - * @param RequestInterface $request - * * @throws Exception\BadRequest upon missing or broken request headers * @throws Exception\UnsupportedMediaType when trying to copy into a * non-collection @@ -872,8 +878,7 @@ class Server implements LoggerAwareInterface, EmitterInterface /** * Small helper to support PROPFIND with DEPTH_INFINITY. * - * @param PropFind $propFind - * @param array $yieldFirst + * @param array $yieldFirst * * @return \Traversable */ @@ -1004,9 +1009,6 @@ class Server implements LoggerAwareInterface, EmitterInterface * The result is returned as an array, with paths for it's keys. * The result may be returned out of order. * - * @param array $paths - * @param array $propertyNames - * * @return array */ public function getPropertiesForMultiplePaths(array $paths, array $propertyNames = []) @@ -1043,9 +1045,6 @@ class Server implements LoggerAwareInterface, EmitterInterface * target node and simply want to run through the system to get a correct * list of properties. * - * @param PropFind $propFind - * @param INode $node - * * @return bool */ public function getPropertiesByNode(PropFind $propFind, INode $node) @@ -1152,8 +1151,7 @@ class Server implements LoggerAwareInterface, EmitterInterface /** * Use this method to create a new collection. * - * @param string $uri The new uri - * @param MkCol $mkCol + * @param string $uri The new uri * * @return array|null */ @@ -1250,7 +1248,6 @@ class Server implements LoggerAwareInterface, EmitterInterface * as their values. * * @param string $path - * @param array $properties * * @return array */ @@ -1281,9 +1278,6 @@ class Server implements LoggerAwareInterface, EmitterInterface * related to If-None-Match, If-Match and If-Unmodified Since. It will * set the status to 304 Not Modified for If-Modified_since. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function checkPreconditions(RequestInterface $request, ResponseInterface $response) @@ -1554,8 +1548,6 @@ class Server implements LoggerAwareInterface, EmitterInterface * ], * ] * - * @param RequestInterface $request - * * @return array */ public function getIfConditions(RequestInterface $request) @@ -1608,8 +1600,6 @@ class Server implements LoggerAwareInterface, EmitterInterface /** * Returns an array with resourcetypes for a node. * - * @param INode $node - * * @return array */ public function getResourceTypeForNode(INode $node) @@ -1628,19 +1618,36 @@ class Server implements LoggerAwareInterface, EmitterInterface // {{{ XML Readers & Writers /** - * Generates a WebDAV propfind response body based on a list of nodes. + * Returns a callback generating a WebDAV propfind response body based on a list of nodes. * * If 'strip404s' is set to true, all 404 responses will be removed. * * @param array|\Traversable $fileProperties The list with nodes * @param bool $strip404s * - * @return string + * @return callable|string */ public function generateMultiStatus($fileProperties, $strip404s = false) { $w = $this->xml->getWriter(); + if (self::$streamMultiStatus) { + return function () use ($fileProperties, $strip404s, $w) { + $w->openUri('php://output'); + $this->writeMultiStatus($w, $fileProperties, $strip404s); + $w->flush(); + }; + } $w->openMemory(); + $this->writeMultiStatus($w, $fileProperties, $strip404s); + + return $w->outputMemory(); + } + + /** + * @param $fileProperties + */ + private function writeMultiStatus(Writer $w, $fileProperties, bool $strip404s) + { $w->contextUri = $this->baseUri; $w->startDocument(); @@ -1662,7 +1669,6 @@ class Server implements LoggerAwareInterface, EmitterInterface ]); } $w->endElement(); - - return $w->outputMemory(); + $w->endDocument(); } } diff --git a/vendor/sabre/dav/lib/DAV/ServerPlugin.php b/vendor/sabre/dav/lib/DAV/ServerPlugin.php index 9aefa7f72..70acb01eb 100644 --- a/vendor/sabre/dav/lib/DAV/ServerPlugin.php +++ b/vendor/sabre/dav/lib/DAV/ServerPlugin.php @@ -22,8 +22,6 @@ abstract class ServerPlugin * addPlugin is called. * * This method should set up the required event subscriptions. - * - * @param Server $server */ abstract public function initialize(Server $server); diff --git a/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php b/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php index 5706fabf1..3a41e67b4 100644 --- a/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php @@ -79,8 +79,6 @@ class Plugin extends ServerPlugin * addPlugin is called. * * This method should set up the required event subscriptions. - * - * @param Server $server */ public function initialize(Server $server) { @@ -139,9 +137,6 @@ class Plugin extends ServerPlugin * This event is triggered when properties are requested for nodes. * * This allows us to inject any sharings-specific properties. - * - * @param PropFind $propFind - * @param INode $node */ public function propFind(PropFind $propFind, INode $node) { @@ -161,9 +156,6 @@ class Plugin extends ServerPlugin /** * We intercept this to handle POST requests on shared resources. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool|null */ public function httpPost(RequestInterface $request, ResponseInterface $response) @@ -207,9 +199,6 @@ class Plugin extends ServerPlugin * hat are supported on a particular node. * * We need to add a number of privileges for scheduling purposes. - * - * @param INode $node - * @param array $supportedPrivilegeSet */ public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet) { @@ -245,7 +234,6 @@ class Plugin extends ServerPlugin * This method is used to generate HTML output for the * DAV\Browser\Plugin. * - * @param INode $node * @param string $output * @param string $path * diff --git a/vendor/sabre/dav/lib/DAV/SimpleCollection.php b/vendor/sabre/dav/lib/DAV/SimpleCollection.php index 1fbb6982d..3cd14d9ba 100644 --- a/vendor/sabre/dav/lib/DAV/SimpleCollection.php +++ b/vendor/sabre/dav/lib/DAV/SimpleCollection.php @@ -58,8 +58,6 @@ class SimpleCollection extends Collection /** * Adds a new childnode to this collection. - * - * @param INode $child */ public function addChild(INode $child) { diff --git a/vendor/sabre/dav/lib/DAV/Sync/Plugin.php b/vendor/sabre/dav/lib/DAV/Sync/Plugin.php index f76827fe3..32106abb3 100644 --- a/vendor/sabre/dav/lib/DAV/Sync/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Sync/Plugin.php @@ -48,8 +48,6 @@ class Plugin extends DAV\ServerPlugin * Initializes the plugin. * * This is when the plugin registers it's hooks. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -97,8 +95,7 @@ class Plugin extends DAV\ServerPlugin /** * This method handles the {DAV:}sync-collection HTTP REPORT. * - * @param string $uri - * @param SyncCollectionReport $report + * @param string $uri */ public function syncCollection($uri, SyncCollectionReport $report) { @@ -143,10 +140,6 @@ class Plugin extends DAV\ServerPlugin * * @param string $syncToken * @param string $collectionUrl - * @param array $added - * @param array $modified - * @param array $deleted - * @param array $properties */ protected function sendSyncCollectionResponse($syncToken, $collectionUrl, array $added, array $modified, array $deleted, array $properties) { @@ -183,9 +176,6 @@ class Plugin extends DAV\ServerPlugin /** * This method is triggered whenever properties are requested for a node. * We intercept this to see if we must return a {DAV:}sync-token. - * - * @param DAV\PropFind $propFind - * @param DAV\INode $node */ public function propFind(DAV\PropFind $propFind, DAV\INode $node) { @@ -204,8 +194,7 @@ class Plugin extends DAV\ServerPlugin * It's a moment where this plugin can check all the supplied lock tokens * in the If: header, and check if they are valid. * - * @param RequestInterface $request - * @param array $conditions + * @param array $conditions */ public function validateTokens(RequestInterface $request, &$conditions) { diff --git a/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php b/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php index 6cf772f44..9f8ec5b54 100644 --- a/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php +++ b/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php @@ -90,8 +90,6 @@ class TemporaryFileFilterPlugin extends ServerPlugin * * This is called automatically be the Server class after this plugin is * added with Sabre\DAV\Server::addPlugin() - * - * @param Server $server */ public function initialize(Server $server) { @@ -106,9 +104,6 @@ class TemporaryFileFilterPlugin extends ServerPlugin * This method intercepts any GET, DELETE, PUT and PROPFIND calls to * filenames that are known to match the 'temporary file' regex. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function beforeMethod(RequestInterface $request, ResponseInterface $response) @@ -137,11 +132,10 @@ class TemporaryFileFilterPlugin extends ServerPlugin * This is used to deal with HTTP LOCK requests which create a new * file. * - * @param string $uri - * @param resource $data - * @param ICollection $parent - * @param bool $modified should be set to true, if this event handler - * changed &$data + * @param string $uri + * @param resource $data + * @param bool $modified should be set to true, if this event handler + * changed &$data * * @return bool */ @@ -190,9 +184,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin * If the file doesn't exist, it will return false which will kick in * the regular system for the GET method. * - * @param RequestInterface $request - * @param ResponseInterface $hR - * @param string $tempLocation + * @param string $tempLocation * * @return bool */ @@ -214,9 +206,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin /** * This method handles the PUT method. * - * @param RequestInterface $request - * @param ResponseInterface $hR - * @param string $tempLocation + * @param string $tempLocation * * @return bool */ @@ -242,9 +232,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin * If the file didn't exist, it will return false, which will make the * standard HTTP DELETE handler kick in. * - * @param RequestInterface $request - * @param ResponseInterface $hR - * @param string $tempLocation + * @param string $tempLocation * * @return bool */ @@ -268,9 +256,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin * for which properties were requested, and just sends back a default * set of properties. * - * @param RequestInterface $request - * @param ResponseInterface $hR - * @param string $tempLocation + * @param string $tempLocation * * @return bool */ diff --git a/vendor/sabre/dav/lib/DAV/Tree.php b/vendor/sabre/dav/lib/DAV/Tree.php index 7a5a25f87..aedc0155d 100644 --- a/vendor/sabre/dav/lib/DAV/Tree.php +++ b/vendor/sabre/dav/lib/DAV/Tree.php @@ -37,8 +37,6 @@ class Tree * Creates the object. * * This method expects the rootObject to be passed as a parameter - * - * @param ICollection $rootNode */ public function __construct(ICollection $rootNode) { @@ -143,8 +141,6 @@ class Tree * * @param string $sourcePath The path to the file which should be moved * @param string $destinationPath The full destination path, so not just the destination parent node - * - * @return int */ public function move($sourcePath, $destinationPath) { @@ -288,9 +284,7 @@ class Tree /** * copyNode. * - * @param INode $source - * @param ICollection $destinationParent - * @param string $destinationName + * @param string $destinationName */ protected function copyNode(INode $source, ICollection $destinationParent, $destinationName = null) { diff --git a/vendor/sabre/dav/lib/DAV/Version.php b/vendor/sabre/dav/lib/DAV/Version.php index c00255881..a7f5269bf 100644 --- a/vendor/sabre/dav/lib/DAV/Version.php +++ b/vendor/sabre/dav/lib/DAV/Version.php @@ -16,5 +16,5 @@ class Version /** * Full version number. */ - const VERSION = '4.0.2'; + public const VERSION = '4.1.1'; } diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php index 52a04cf08..9c214792f 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php @@ -39,8 +39,6 @@ class Prop implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) @@ -79,8 +77,6 @@ class Prop implements XmlDeserializable * * name - A clark-notation XML element name. * * value - The parsed value. * - * @param Reader $reader - * * @return array */ private static function parseCurrentElement(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php index a11091809..45c161fa4 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php @@ -59,7 +59,6 @@ class Response implements Element * deleted. * * @param string $href - * @param array $responseProperties * @param string $httpStatus */ public function __construct($href, array $responseProperties, $httpStatus = null) @@ -110,8 +109,6 @@ class Response implements Element * * Important note 2: If you are writing any new elements, you are also * responsible for closing them. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -167,8 +164,6 @@ class Response implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php index e0db3bf37..33564d8f2 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php @@ -84,8 +84,6 @@ class Sharee implements Element * Creates the object. * * $properties will be used to populate all internal properties. - * - * @param array $properties */ public function __construct(array $properties = []) { @@ -113,8 +111,6 @@ class Sharee implements Element * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -157,8 +153,6 @@ class Sharee implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php index 990302054..787d30d95 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php @@ -37,8 +37,6 @@ class Complex extends XmlFragment * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php b/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php index 05a00c5e5..c6f6d421c 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php @@ -68,8 +68,6 @@ class GetLastModified implements Element * * Important note 2: If you are writing any new elements, you are also * responsible for closing them. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -96,8 +94,6 @@ class GetLastModified implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php index c479c1602..0ed14dcf3 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php @@ -87,8 +87,6 @@ class Href implements Element, HtmlOutput * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -109,8 +107,6 @@ class Href implements Element, HtmlOutput * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html) @@ -141,8 +137,6 @@ class Href implements Element, HtmlOutput * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php index b5e2dae46..e3f0a611b 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php @@ -56,8 +56,6 @@ class Invite implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php b/vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php index c33812b3e..ec4cbc0c6 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php @@ -62,8 +62,6 @@ class LockDiscovery implements XmlSerializable * * Important note 2: If you are writing any new elements, you are also * responsible for closing them. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php b/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php index ce07d4382..6532b70c9 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php @@ -90,8 +90,6 @@ class ResourceType extends Element\Elements implements HtmlOutput * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) @@ -111,8 +109,6 @@ class ResourceType extends Element\Elements implements HtmlOutput * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php b/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php index 95175053a..fdd55558c 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php @@ -71,8 +71,6 @@ class ShareAccess implements Element * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -113,8 +111,6 @@ class ShareAccess implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php index 26e7d646e..100829c60 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php @@ -37,8 +37,6 @@ class SupportedLock implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php index 06ab28c94..634401093 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php @@ -81,8 +81,6 @@ class SupportedMethodSet implements XmlSerializable, HtmlOutput * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -104,8 +102,6 @@ class SupportedMethodSet implements XmlSerializable, HtmlOutput * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php index 4c25d23d9..0b4990e96 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php @@ -109,8 +109,6 @@ class SupportedReportSet implements XmlSerializable, HtmlOutput * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -134,8 +132,6 @@ class SupportedReportSet implements XmlSerializable, HtmlOutput * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php b/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php index 8d9348162..57d12ef93 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php @@ -56,8 +56,6 @@ class Lock implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php b/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php index 7713646ea..e0d7e90a2 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php @@ -56,8 +56,6 @@ class MkCol implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php b/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php index b4cce423e..505e7c79c 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php @@ -53,8 +53,6 @@ class PropFind implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php b/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php index 55e154ec7..4a2709502 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php @@ -45,8 +45,6 @@ class PropPatch implements Element * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -81,8 +79,6 @@ class PropPatch implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php index e1985b8c3..79d7dc826 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php @@ -56,8 +56,6 @@ class ShareResource implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php b/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php index acf0039ce..8dd95765b 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php @@ -68,8 +68,6 @@ class SyncCollectionReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php b/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php index 423d0b569..e824cda42 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php @@ -80,8 +80,6 @@ class MultiStatus implements Element * * Important note 2: If you are writing any new elements, you are also * responsible for closing them. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -111,8 +109,6 @@ class MultiStatus implements Element * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAVACL/ACLTrait.php b/vendor/sabre/dav/lib/DAVACL/ACLTrait.php index d9bf4e1e0..98c1ce338 100644 --- a/vendor/sabre/dav/lib/DAVACL/ACLTrait.php +++ b/vendor/sabre/dav/lib/DAVACL/ACLTrait.php @@ -69,8 +69,6 @@ trait ACLTrait * Updates the ACL. * * This method will receive a list of new ACE's as an array argument. - * - * @param array $acl */ public function setACL(array $acl) { diff --git a/vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php index 1160dd7ac..d26f7d27b 100644 --- a/vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php +++ b/vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php @@ -51,9 +51,7 @@ abstract class AbstractPrincipalCollection extends DAV\Collection implements IPr * default is 'principals', if your principals are stored in a different * collection, override $principalPrefix * - * - * @param PrincipalBackend\BackendInterface $principalBackend - * @param string $principalPrefix + * @param string $principalPrefix */ public function __construct(PrincipalBackend\BackendInterface $principalBackend, $principalPrefix = 'principals') { @@ -68,8 +66,6 @@ abstract class AbstractPrincipalCollection extends DAV\Collection implements IPr * at least contain a uri item. Other properties may or may not be * supplied by the authentication backend. * - * @param array $principalInfo - * * @return DAV\INode */ abstract public function getChildForPrincipal(array $principalInfo); @@ -142,7 +138,6 @@ abstract class AbstractPrincipalCollection extends DAV\Collection implements IPr * This method should simply return a list of 'child names', which may be * used to call $this->getChild in the future. * - * @param array $searchProperties * @param string $test * * @return array diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php b/vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php index 7756d4728..0fc3f778d 100644 --- a/vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php +++ b/vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php @@ -20,9 +20,6 @@ class AceConflict extends DAV\Exception\Conflict * Adds in extra information in the xml response. * * This method adds the {DAV:}no-ace-conflict element as defined in rfc3744 - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php b/vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php index 19e0dac9d..af1f01c2b 100644 --- a/vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php +++ b/vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php @@ -36,7 +36,6 @@ class NeedPrivileges extends DAV\Exception\Forbidden * Constructor. * * @param string $uri - * @param array $privileges */ public function __construct($uri, array $privileges) { @@ -50,9 +49,6 @@ class NeedPrivileges extends DAV\Exception\Forbidden * Adds in extra information in the xml response. * * This method adds the {DAV:}need-privileges element as defined in rfc3744 - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php b/vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php index d90b01ffd..b9c66169e 100644 --- a/vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php +++ b/vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php @@ -20,9 +20,6 @@ class NoAbstract extends DAV\Exception\PreconditionFailed * Adds in extra information in the xml response. * * This method adds the {DAV:}no-abstract element as defined in rfc3744 - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php b/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php index b005c55d8..d4e728497 100644 --- a/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php +++ b/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php @@ -20,9 +20,6 @@ class NotRecognizedPrincipal extends DAV\Exception\PreconditionFailed * Adds in extra information in the xml response. * * This method adds the {DAV:}recognized-principal element as defined in rfc3744 - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php b/vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php index dda2e6281..c04c5faa2 100644 --- a/vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php +++ b/vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php @@ -20,9 +20,6 @@ class NotSupportedPrivilege extends DAV\Exception\PreconditionFailed * Adds in extra information in the xml response. * * This method adds the {DAV:}not-supported-privilege element as defined in rfc3744 - * - * @param DAV\Server $server - * @param \DOMElement $errorNode */ public function serialize(DAV\Server $server, \DOMElement $errorNode) { diff --git a/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php b/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php index c896d8e25..fa476e094 100644 --- a/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php +++ b/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php @@ -42,9 +42,8 @@ class HomeCollection extends AbstractPrincipalCollection implements IACL /** * Creates the home collection. * - * @param BackendInterface $principalBackend - * @param string $storagePath where the actual files are stored - * @param string $principalPrefix list of principals to iterate + * @param string $storagePath where the actual files are stored + * @param string $principalPrefix list of principals to iterate */ public function __construct(BackendInterface $principalBackend, $storagePath, $principalPrefix = 'principals') { @@ -71,8 +70,6 @@ class HomeCollection extends AbstractPrincipalCollection implements IACL * at least contain a uri item. Other properties may or may not be * supplied by the authentication backend. * - * @param array $principalInfo - * * @return \Sabre\DAV\INode */ public function getChildForPrincipal(array $principalInfo) diff --git a/vendor/sabre/dav/lib/DAVACL/IACL.php b/vendor/sabre/dav/lib/DAVACL/IACL.php index d19a075be..291fb24ae 100644 --- a/vendor/sabre/dav/lib/DAVACL/IACL.php +++ b/vendor/sabre/dav/lib/DAVACL/IACL.php @@ -53,8 +53,6 @@ interface IACL extends DAV\INode * Updates the ACL. * * This method will receive a list of new ACE's as an array argument. - * - * @param array $acl */ public function setACL(array $acl); diff --git a/vendor/sabre/dav/lib/DAVACL/IPrincipal.php b/vendor/sabre/dav/lib/DAVACL/IPrincipal.php index c804096de..43e23d0a7 100644 --- a/vendor/sabre/dav/lib/DAVACL/IPrincipal.php +++ b/vendor/sabre/dav/lib/DAVACL/IPrincipal.php @@ -60,8 +60,6 @@ interface IPrincipal extends DAV\INode * The list of members is always overwritten, never appended to. * * This method should throw an exception if the members could not be set. - * - * @param array $principals */ public function setGroupMemberSet(array $principals); diff --git a/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php index 1003730d6..7a3009be5 100644 --- a/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php +++ b/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php @@ -37,7 +37,6 @@ interface IPrincipalCollection extends DAV\ICollection * This method should simply return a list of 'child names', which may be * used to call $this->getChild in the future. * - * @param array $searchProperties * @param string $test * * @return array diff --git a/vendor/sabre/dav/lib/DAVACL/Plugin.php b/vendor/sabre/dav/lib/DAVACL/Plugin.php index c1ea6027c..6f071927d 100644 --- a/vendor/sabre/dav/lib/DAVACL/Plugin.php +++ b/vendor/sabre/dav/lib/DAVACL/Plugin.php @@ -214,7 +214,7 @@ class Plugin extends DAV\ServerPlugin $this->server->httpRequest, $this->server->httpResponse ); - throw new notAuthenticated(implode(', ', $reasons).'. Login was needed for privilege: '.implode(', ', $failed).' on '.$uri); + throw new NotAuthenticated(implode(', ', $reasons).'. Login was needed for privilege: '.implode(', ', $failed).' on '.$uri); } if ($throwExceptions) { throw new NeedPrivileges($uri, $failed); @@ -269,8 +269,6 @@ class Plugin extends DAV\ServerPlugin * Sets the default ACL rules. * * These rules are used for all nodes that don't implement the IACL interface. - * - * @param array $acl */ public function setDefaultAcl(array $acl) { @@ -763,8 +761,6 @@ class Plugin extends DAV\ServerPlugin * Sets up the plugin. * * This method is automatically called by the server class. - * - * @param DAV\Server $server */ public function initialize(DAV\Server $server) { @@ -829,9 +825,6 @@ class Plugin extends DAV\ServerPlugin /** * Triggered before any method is handled. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function beforeMethod(RequestInterface $request, ResponseInterface $response) { @@ -923,8 +916,7 @@ class Plugin extends DAV\ServerPlugin /** * Triggered before a node is unlocked. * - * @param string $uri - * @param DAV\Locks\LockInfo $lock + * @param string $uri * @TODO: not yet implemented */ public function beforeUnlock($uri, DAV\Locks\LockInfo $lock) @@ -934,8 +926,6 @@ class Plugin extends DAV\ServerPlugin /** * Triggered before properties are looked up in specific nodes. * - * @param DAV\PropFind $propFind - * @param DAV\INode $node * @TODO really should be broken into multiple methods, or even a class. * * @return bool @@ -1044,8 +1034,7 @@ class Plugin extends DAV\ServerPlugin * This method intercepts PROPPATCH methods and make sure the * group-member-set is updated correctly. * - * @param string $path - * @param DAV\PropPatch $propPatch + * @param string $path */ public function propPatch($path, DAV\PropPatch $propPatch) { @@ -1118,9 +1107,6 @@ class Plugin extends DAV\ServerPlugin /** * This method is responsible for handling the 'ACL' event. * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return bool */ public function httpAcl(RequestInterface $request, ResponseInterface $response) @@ -1211,8 +1197,7 @@ class Plugin extends DAV\ServerPlugin * or a principal URL, the principal URL and principal URLs of groups that * principal belongs to. * - * @param string $path - * @param Xml\Request\PrincipalMatchReport $report + * @param string $path */ protected function principalMatchReport($path, Xml\Request\PrincipalMatchReport $report) { @@ -1434,8 +1419,7 @@ class Plugin extends DAV\ServerPlugin * clients to search for groups of principals, based on the value of one * or more properties. * - * @param string $path - * @param Xml\Request\PrincipalPropertySearchReport $report + * @param string $path */ protected function principalPropertySearchReport($path, Xml\Request\PrincipalPropertySearchReport $report) { @@ -1473,8 +1457,7 @@ class Plugin extends DAV\ServerPlugin * is used to for example generate a UI with ACL rules, allowing you * to show names for principals for every entry. * - * @param string $path - * @param Xml\Request\AclPrincipalPropSetReport $report + * @param string $path */ protected function aclPrincipalPropSetReport($path, Xml\Request\AclPrincipalPropSetReport $report) { @@ -1520,8 +1503,7 @@ class Plugin extends DAV\ServerPlugin * DAV\Browser\Plugin. This allows us to generate an interface users * can use to create new calendars. * - * @param DAV\INode $node - * @param string $output + * @param string $output * * @return bool */ diff --git a/vendor/sabre/dav/lib/DAVACL/Principal.php b/vendor/sabre/dav/lib/DAVACL/Principal.php index e2df1c35e..ada38ab72 100644 --- a/vendor/sabre/dav/lib/DAVACL/Principal.php +++ b/vendor/sabre/dav/lib/DAVACL/Principal.php @@ -42,9 +42,6 @@ class Principal extends DAV\Node implements IPrincipal, DAV\IProperties, IACL /** * Creates the principal object. - * - * @param PrincipalBackend\BackendInterface $principalBackend - * @param array $principalProperties */ public function __construct(PrincipalBackend\BackendInterface $principalBackend, array $principalProperties = []) { @@ -119,8 +116,6 @@ class Principal extends DAV\Node implements IPrincipal, DAV\IProperties, IACL * The list of members is always overwritten, never appended to. * * This method should throw an exception if the members could not be set. - * - * @param array $groupMembers */ public function setGroupMemberSet(array $groupMembers) { @@ -181,8 +176,6 @@ class Principal extends DAV\Node implements IPrincipal, DAV\IProperties, IACL * * To update specific properties, call the 'handle' method on this object. * Read the PropPatch documentation for more information. - * - * @param DAV\PropPatch $propPatch */ public function propPatch(DAV\PropPatch $propPatch) { diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php index 40ac272b5..72717a59b 100644 --- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php +++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php @@ -59,8 +59,7 @@ interface BackendInterface * * Read the PropPatch documentation for more info and examples. * - * @param string $path - * @param \Sabre\DAV\PropPatch $propPatch + * @param string $path */ public function updatePrincipal($path, \Sabre\DAV\PropPatch $propPatch); @@ -89,7 +88,6 @@ interface BackendInterface * from working. * * @param string $prefixPath - * @param array $searchProperties * @param string $test * * @return array @@ -140,7 +138,6 @@ interface BackendInterface * The principals should be passed as a list of uri's. * * @param string $principal - * @param array $members */ public function setGroupMemberSet($principal, array $members); } diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php index ee418e49b..7de369289 100644 --- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php +++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php @@ -24,7 +24,6 @@ interface CreatePrincipalSupport extends BackendInterface * of the principal. * * @param string $path - * @param MkCol $mkCol */ public function createPrincipal($path, MkCol $mkCol); } diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php index 350ecb145..17bc245c5 100644 --- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php +++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php @@ -11,7 +11,6 @@ use Sabre\Uri; /** * PDO principal backend. * - * * This backend assumes all principals are in a single collection. The default collection * is 'principals/', but this can be overridden. * @@ -65,8 +64,6 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport /** * Sets up the backend. - * - * @param \PDO $pdo */ public function __construct(\PDO $pdo) { @@ -176,8 +173,7 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport * * Read the PropPatch documentation for more info and examples. * - * @param string $path - * @param DAV\PropPatch $propPatch + * @param string $path */ public function updatePrincipal($path, DAV\PropPatch $propPatch) { @@ -233,7 +229,6 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport * from working. * * @param string $prefixPath - * @param array $searchProperties * @param string $test * * @return array @@ -301,34 +296,46 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport */ public function findByUri($uri, $principalPrefix) { - $value = null; - $scheme = null; - list($scheme, $value) = explode(':', $uri, 2); - if (empty($value)) { + $uriParts = Uri\parse($uri); + + // Only two types of uri are supported : + // - the "mailto:" scheme with some non-empty address + // - a principals uri, in the form "principals/NAME" + // In both cases, `path` must not be empty. + if (empty($uriParts['path'])) { return null; } $uri = null; - switch ($scheme) { - case 'mailto': - $query = 'SELECT uri FROM '.$this->tableName.' WHERE lower(email)=lower(?)'; - $stmt = $this->pdo->prepare($query); - $stmt->execute([$value]); + if ('mailto' === $uriParts['scheme']) { + $query = 'SELECT uri FROM '.$this->tableName.' WHERE lower(email)=lower(?)'; + $stmt = $this->pdo->prepare($query); + $stmt->execute([$uriParts['path']]); - while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { - // Checking if the principal is in the prefix - list($rowPrefix) = Uri\split($row['uri']); - if ($rowPrefix !== $principalPrefix) { - continue; - } + while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { + // Checking if the principal is in the prefix + list($rowPrefix) = Uri\split($row['uri']); + if ($rowPrefix !== $principalPrefix) { + continue; + } + + $uri = $row['uri']; + break; //Stop on first match + } + } else { + $pathParts = Uri\split($uriParts['path']); // We can do this since $uriParts['path'] is not null - $uri = $row['uri']; - break; //Stop on first match + if (2 === count($pathParts) && $pathParts[0] === $principalPrefix) { + // Checking that this uri exists + $query = 'SELECT * FROM '.$this->tableName.' WHERE uri = ?'; + $stmt = $this->pdo->prepare($query); + $stmt->execute([$uriParts['path']]); + $rows = $stmt->fetchAll(); + + if (count($rows) > 0) { + $uri = $uriParts['path']; } - break; - default: - //unsupported uri scheme - return null; + } } return $uri; @@ -388,7 +395,6 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport * The principals should be passed as a list of uri's. * * @param string $principal - * @param array $members */ public function setGroupMemberSet($principal, array $members) { @@ -427,7 +433,6 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport * of the principal. * * @param string $path - * @param MkCol $mkCol */ public function createPrincipal($path, MkCol $mkCol) { diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php index 4fae96e0c..b823b6ceb 100644 --- a/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php +++ b/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php @@ -29,8 +29,6 @@ class PrincipalCollection extends AbstractPrincipalCollection implements IExtend * at least contain a uri item. Other properties may or may not be * supplied by the authentication backend. * - * @param array $principal - * * @return \Sabre\DAV\INode */ public function getChildForPrincipal(array $principal) @@ -58,7 +56,6 @@ class PrincipalCollection extends AbstractPrincipalCollection implements IExtend * property for you. * * @param string $name - * @param MkCol $mkCol * * @throws InvalidResourceType */ diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php index 372f62ab3..c6e236dc5 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php @@ -58,8 +58,7 @@ class Acl implements Element, HtmlOutput * are already full urls. If this is kept to true, the servers base url * will automatically be prefixed. * - * @param array $privileges - * @param bool $prefixBaseUrl + * @param bool $prefixBaseUrl */ public function __construct(array $privileges, $prefixBaseUrl = true) { @@ -92,8 +91,6 @@ class Acl implements Element, HtmlOutput * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -113,8 +110,6 @@ class Acl implements Element, HtmlOutput * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html) @@ -161,8 +156,6 @@ class Acl implements Element, HtmlOutput * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) @@ -226,9 +219,6 @@ class Acl implements Element, HtmlOutput /** * Serializes a single access control entry. - * - * @param Writer $writer - * @param array $ace */ private function serializeAce(Writer $writer, array $ace) { diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php index 0bf16b431..b5629c809 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php @@ -33,8 +33,6 @@ class AclRestrictions implements XmlSerializable * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php index 083856330..e38a45c61 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php @@ -33,8 +33,6 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput * Creates the object. * * Pass the privileges in clark-notation - * - * @param array $privileges */ public function __construct(array $privileges) { @@ -56,8 +54,6 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -109,8 +105,6 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) @@ -139,8 +133,6 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html) diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php index e304a2aed..24aeffad9 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php @@ -98,8 +98,6 @@ class Principal extends DAV\Xml\Property\Href * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -130,8 +128,6 @@ class Principal extends DAV\Xml\Property\Href * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html) @@ -166,8 +162,6 @@ class Principal extends DAV\Xml\Property\Href * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php index 1762391d9..6e7514bd9 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php @@ -34,8 +34,6 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput /** * Constructor. - * - * @param array $privileges */ public function __construct(array $privileges) { @@ -67,8 +65,6 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput * This allows serializers to be re-used for different element names. * * If you are opening new elements, you must also close them again. - * - * @param Writer $writer */ public function xmlSerialize(Writer $writer) { @@ -86,8 +82,6 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput * The baseUri parameter is a url to the root of the application, and can * be used to construct local links. * - * @param HtmlOutputHelper $html - * * @return string */ public function toHtml(HtmlOutputHelper $html) @@ -124,7 +118,6 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput * * This is a recursive function. * - * @param Writer $writer * @param string $privName * @param array $privilege */ diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php index 17b37afab..4fc61273a 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php @@ -41,8 +41,6 @@ class AclPrincipalPropSetReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php index 393308cd2..70a7e2200 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php @@ -52,8 +52,6 @@ class ExpandPropertyReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php index f868cc9df..b49582450 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php @@ -72,8 +72,6 @@ class PrincipalMatchReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php index 26468fd21..bddceca8d 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php @@ -73,8 +73,6 @@ class PrincipalPropertySearchReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php index 37bc2cfbf..7f15d8a4e 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php @@ -40,8 +40,6 @@ class PrincipalSearchPropertySetReport implements XmlDeserializable * $reader->parseInnerTree() will parse the entire sub-tree, and advance to * the next element. * - * @param Reader $reader - * * @return mixed */ public static function xmlDeserialize(Reader $reader) diff --git a/vendor/sabre/dav/phpstan.neon b/vendor/sabre/dav/phpstan.neon index e50c5be6e..5335bc651 100644 --- a/vendor/sabre/dav/phpstan.neon +++ b/vendor/sabre/dav/phpstan.neon @@ -1,3 +1,2 @@ parameters: level: 0 - bootstrap: %currentWorkingDirectory%/vendor/autoload.php diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php index 80de750dc..9460b8922 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php @@ -15,7 +15,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase protected $pdo; - public function setUp() + public function setup(): void { $this->dropTables([ 'calendarobjects', @@ -67,7 +67,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase 'share-access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER, ]; - $this->assertInternalType('array', $calendars); + $this->assertIsArray($calendars); $this->assertEquals(1, count($calendars)); foreach ($elementCheck as $name => $value) { @@ -112,7 +112,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase '{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp' => new CalDAV\Xml\Property\ScheduleCalendarTransp('transparent'), ]; - $this->assertInternalType('array', $calendars); + $this->assertIsArray($calendars); $this->assertEquals(1, count($calendars)); foreach ($elementCheck as $name => $value) { @@ -123,10 +123,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testConstruct - * @expectedException \InvalidArgumentException */ public function testUpdateCalendarBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); //Creating a new calendar @@ -186,10 +186,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testCreateCalendarAndFetch - * @expectedException \InvalidArgumentException */ public function testDeleteCalendarBadID() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', [ '{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set' => new CalDAV\Xml\Property\SupportedCalendarComponentSet(['VEVENT']), @@ -201,10 +201,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testCreateCalendarAndFetch - * @expectedException \Sabre\DAV\Exception */ public function testCreateCalendarIncorrectComponentSet() { + $this->expectException('Sabre\DAV\Exception'); $backend = new PDO($this->pdo); //Creating a new calendar @@ -276,7 +276,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase switch ($key) { case 'lastmodified': - $this->assertInternalType('int', $actual); + $this->assertIsInt($actual); break; case 'calendardata': if (is_resource($actual)) { @@ -292,20 +292,20 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testGetMultipleObjects - * @expectedException \InvalidArgumentException */ public function testGetMultipleObjectsBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); $backend->getMultipleCalendarObjects('bad-id', ['foo-bar']); } /** - * @expectedException \Sabre\DAV\Exception\BadRequest * @depends testCreateCalendarObject */ public function testCreateCalendarObjectNoComponent() { + $this->expectException('Sabre\DAV\Exception\BadRequest'); $backend = new PDO($this->pdo); $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []); @@ -345,10 +345,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testCreateCalendarObject - * @expectedException \InvalidArgumentException */ public function testCreateCalendarObjectBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []); @@ -519,20 +519,20 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testGetCalendarObjects - * @expectedException \InvalidArgumentException */ public function testGetCalendarObjectsBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); $backend->getCalendarObjects('bad-id'); } /** * @depends testGetCalendarObjects - * @expectedException \InvalidArgumentException */ public function testGetCalendarObjectBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); $backend->getCalendarObject('bad-id', 'foo-bar'); } @@ -582,10 +582,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testUpdateCalendarObject - * @expectedException \InvalidArgumentException */ public function testUpdateCalendarObjectBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); $backend->updateCalendarObject('bad-id', 'object-id', 'objectdata'); } @@ -608,10 +608,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testDeleteCalendarObject - * @expectedException \InvalidArgumentException */ public function testDeleteCalendarObjectBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []); @@ -644,11 +644,11 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase } /** - * @expectedException \InvalidArgumentException * @depends testCalendarQueryNoResult */ public function testCalendarQueryBadId() { + $this->expectException('InvalidArgumentException'); $abstract = new PDO($this->pdo); $filters = [ 'name' => 'VCALENDAR', @@ -859,10 +859,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testGetChanges - * @expectedException \InvalidArgumentException */ public function testGetChangesBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); $id = $backend->createCalendar( 'principals/user1', @@ -903,11 +903,9 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase } } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testCreateSubscriptionFail() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $props = [ ]; @@ -1026,6 +1024,15 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase $calData ); + $calDataResource = "BEGIN:VCALENDAR\r\nEND:VCALENDAR\r\n"; + $stream = fopen('data://text/plain,'.$calData, 'r'); + + $backend->createSchedulingObject( + 'principals/user1', + 'schedule1-resource.ics', + $stream + ); + $expected = [ 'calendardata' => $calData, 'uri' => 'schedule1.ics', @@ -1033,6 +1040,13 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase 'size' => strlen($calData), ]; + $expectedResource = [ + 'calendardata' => $calDataResource, + 'uri' => 'schedule1-resource.ics', + 'etag' => '"'.md5($calDataResource).'"', + 'size' => strlen($calDataResource), + ]; + $result = $backend->getSchedulingObject('principals/user1', 'schedule1.ics'); foreach ($expected as $k => $v) { $this->assertArrayHasKey($k, $result); @@ -1042,6 +1056,17 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase $this->assertEquals($v, $result[$k]); } + $resultResource = $backend->getSchedulingObject('principals/user1', 'schedule1-resource.ics'); + foreach ($expected as $k => $v) { + $this->assertArrayHasKey($k, $result); + if (is_resource($result[$k])) { + $result[$k] = stream_get_contents($result[$k]); + } + $this->assertEquals($v, $result[$k]); + } + + $backend->deleteSchedulingObject('principals/user1', 'schedule1-resource.ics'); + $results = $backend->getSchedulingObjects('principals/user1'); $this->assertEquals(1, count($results)); @@ -1082,10 +1107,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testGetInvites - * @expectedException \InvalidArgumentException */ public function testGetInvitesBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); // creating a new calendar @@ -1232,10 +1257,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase /** * @depends testUpdateInvites - * @expectedException \InvalidArgumentException */ public function testUpdateInvitesBadId() { + $this->expectException('InvalidArgumentException'); $backend = new PDO($this->pdo); // Add a new invite $backend->updateInvites( @@ -1289,7 +1314,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase ], ]), ]; - $this->assertEquals($expected, $result, null, 0.0, 10, true); // Last argument is $canonicalize = true, which allows us to compare, ignoring the order, because it's different between MySQL and Sqlite. + $this->assertEqualsCanonicalizing($expected, $result); } /** @@ -1363,11 +1388,9 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase $this->assertEquals($expected, $result); } - /** - * @expectedException \Sabre\DAV\Exception\NotImplemented - */ public function testSetPublishStatus() { + $this->expectException('Sabre\DAV\Exception\NotImplemented'); $backend = new PDO($this->pdo); $backend->setPublishStatus([1, 1], true); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php index 9f18eeb72..01ac1b39e 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php @@ -65,7 +65,6 @@ class Mock extends AbstractBackend * * @param string $principalUri * @param string $calendarUri - * @param array $properties * * @return string|int */ @@ -94,8 +93,7 @@ class Mock extends AbstractBackend * * Read the PropPatch documentation for more info and examples. * - * @param mixed $calendarId - * @param \Sabre\DAV\PropPatch $propPatch + * @param mixed $calendarId */ public function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch) { diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php index d6073514f..b7eb4539e 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php @@ -4,8 +4,6 @@ declare(strict_types=1); namespace Sabre\CalDAV; -require_once 'Sabre/CalDAV/TestUtil.php'; - class CalendarObjectTest extends \PHPUnit\Framework\TestCase { /** @@ -18,7 +16,7 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase protected $calendar; protected $principalBackend; - public function setup() + public function setup(): void { $this->backend = TestUtil::getBackend(); @@ -27,7 +25,7 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase $this->calendar = new Calendar($this->backend, $calendars[0]); } - public function teardown() + public function teardown(): void { unset($this->calendar); unset($this->backend); @@ -38,17 +36,15 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase $children = $this->calendar->getChildren(); $this->assertTrue($children[0] instanceof CalendarObject); - $this->assertInternalType('string', $children[0]->getName()); - $this->assertInternalType('string', $children[0]->get()); - $this->assertInternalType('string', $children[0]->getETag()); + $this->assertIsString($children[0]->getName()); + $this->assertIsString($children[0]->get()); + $this->assertIsString($children[0]->getETag()); $this->assertEquals('text/calendar; charset=utf-8', $children[0]->getContentType()); } - /** - * @expectedException \InvalidArgumentException - */ public function testInvalidArg1() { + $this->expectException('InvalidArgumentException'); $obj = new CalendarObject( new Backend\Mock([], []), [], @@ -56,11 +52,9 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase ); } - /** - * @expectedException \InvalidArgumentException - */ public function testInvalidArg2() { + $this->expectException('InvalidArgumentException'); $obj = new CalendarObject( new Backend\Mock([], []), [], @@ -137,7 +131,7 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase $obj = $children[0]; $size = $obj->getSize(); - $this->assertInternalType('int', $size); + $this->assertIsInt($size); } public function testGetOwner() @@ -219,11 +213,9 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase $this->assertEquals($expected, $calendarObject->getACL()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetACL() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $children = $this->calendar->getChildren(); $this->assertTrue($children[0] instanceof CalendarObject); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php index 7d6414a80..18c3ec126 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php @@ -6,8 +6,6 @@ namespace Sabre\CalDAV; use Sabre\DAV\PropPatch; -require_once 'Sabre/CalDAV/TestUtil.php'; - class CalendarTest extends \PHPUnit\Framework\TestCase { /** @@ -24,7 +22,7 @@ class CalendarTest extends \PHPUnit\Framework\TestCase */ protected $calendars; - public function setup() + public function setup(): void { $this->backend = TestUtil::getBackend(); @@ -33,7 +31,7 @@ class CalendarTest extends \PHPUnit\Framework\TestCase $this->calendar = new Calendar($this->backend, $this->calendars[0]); } - public function teardown() + public function teardown(): void { unset($this->backend); } @@ -80,11 +78,11 @@ class CalendarTest extends \PHPUnit\Framework\TestCase } /** - * @expectedException \Sabre\DAV\Exception\NotFound * @depends testSimple */ public function testGetChildNotFound() { + $this->expectException('Sabre\DAV\Exception\NotFound'); $this->calendar->getChild('randomname'); } @@ -110,19 +108,15 @@ class CalendarTest extends \PHPUnit\Framework\TestCase $this->assertTrue($this->calendar->childExists($children[0]->getName())); } - /** - * @expectedException \Sabre\DAV\Exception\MethodNotAllowed - */ public function testCreateDirectory() { + $this->expectException('Sabre\DAV\Exception\MethodNotAllowed'); $this->calendar->createDirectory('hello'); } - /** - * @expectedException \Sabre\DAV\Exception\MethodNotAllowed - */ public function testSetName() { + $this->expectException('Sabre\DAV\Exception\MethodNotAllowed'); $this->calendar->setName('hello'); } @@ -211,11 +205,9 @@ class CalendarTest extends \PHPUnit\Framework\TestCase $this->assertEquals($expected, $this->calendar->getACL()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetACL() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $this->calendar->setACL([]); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php index 49252744d..93fc56dae 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php @@ -10,7 +10,6 @@ use Sabre\VObject; /** * This unittests is created to find out why recurring events have wrong DTSTART value. * - * * @copyright Copyright (C) fruux GmbH (https://fruux.com/) * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License @@ -82,11 +81,12 @@ END:VCALENDAR $response = $this->request($request); + $bodyAsString = $response->getBodyAsString(); // Everts super awesome xml parser. $body = substr( - $response->body, - $start = strpos($response->body, 'BEGIN:VCALENDAR'), - strpos($response->body, 'END:VCALENDAR') - $start + 13 + $bodyAsString, + $start = strpos($bodyAsString, 'BEGIN:VCALENDAR'), + strpos($bodyAsString, 'END:VCALENDAR') - $start + 13 ); $body = str_replace(' ', '', $body); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDbyDayTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDbyDayTest.php index 3a982fcfa..50fb6c03c 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDbyDayTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDbyDayTest.php @@ -73,11 +73,12 @@ END:VCALENDAR $response = $this->request($request); + $bodyAsString = $response->getBodyAsString(); // Everts super awesome xml parser. $body = substr( - $response->body, - $start = strpos($response->body, 'BEGIN:VCALENDAR'), - strpos($response->body, 'END:VCALENDAR') - $start + 13 + $bodyAsString, + $start = strpos($bodyAsString, 'BEGIN:VCALENDAR'), + strpos($bodyAsString, 'END:VCALENDAR') - $start + 13 ); $body = str_replace(' ', '', $body); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php index 90897f1c5..5e5c153e0 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDoubleEventsTest.php @@ -84,11 +84,12 @@ END:VCALENDAR $response = $this->request($request); + $bodyAsString = $response->getBodyAsString(); // Everts super awesome xml parser. $body = substr( - $response->body, - $start = strpos($response->body, 'BEGIN:VCALENDAR'), - strpos($response->body, 'END:VCALENDAR') - $start + 13 + $bodyAsString, + $start = strpos($bodyAsString, 'BEGIN:VCALENDAR'), + strpos($bodyAsString, 'END:VCALENDAR') - $start + 13 ); $body = str_replace(' ', '', $body); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php index 3d4b36313..44823edab 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php @@ -18,7 +18,7 @@ class FreeBusyReportTest extends \PHPUnit\Framework\TestCase */ protected $server; - public function setUp() + public function setup(): void { $obj1 = <<<ics BEGIN:VCALENDAR @@ -108,11 +108,9 @@ XML; $this->assertTrue(false !== strpos($this->server->httpResponse->body, '20111006T100000Z/20111006T110000Z')); } - /** - * @expectedException \Sabre\DAV\Exception\BadRequest - */ public function testFreeBusyReportNoTimeRange() { + $this->expectException('Sabre\DAV\Exception\BadRequest'); $reportXML = <<<XML <?xml version="1.0"?> <c:free-busy-query xmlns:c="urn:ietf:params:xml:ns:caldav"> @@ -122,11 +120,9 @@ XML; $report = $this->server->xml->parse($reportXML, null, $rootElem); } - /** - * @expectedException \Sabre\DAV\Exception\NotImplemented - */ public function testFreeBusyReportWrongNode() { + $this->expectException('Sabre\DAV\Exception\NotImplemented'); $request = new HTTP\Request('REPORT', '/'); $this->server->httpRequest = $request; @@ -141,11 +137,9 @@ XML; $this->plugin->report($rootElem, $report, null); } - /** - * @expectedException \Sabre\DAV\Exception - */ public function testFreeBusyReportNoACLPlugin() { + $this->expectException('Sabre\DAV\Exception'); $this->server = new DAV\Server(); $this->server->httpRequest = new HTTP\Request('REPORT', '/'); $this->plugin = new Plugin(); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php index 6cb2b609e..e82a85dd8 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/GetEventsByTimerangeTest.php @@ -77,6 +77,6 @@ END:VCALENDAR $response = $this->request($request); - $this->assertTrue(false !== strpos($response->body, 'BEGIN:VCALENDAR')); + $this->assertTrue(false !== strpos($response->getBodyAsString(), 'BEGIN:VCALENDAR')); } } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php index c139e5b5c..8771f538b 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php @@ -15,7 +15,7 @@ class ICSExportPluginTest extends \Sabre\DAVServerTest protected $icsExportPlugin; - public function setUp() + public function setup(): void { parent::setUp(); $this->icsExportPlugin = new ICSExportPlugin(); @@ -82,7 +82,7 @@ ICS $this->assertEquals(200, $response->getStatus()); $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); - $obj = VObject\Reader::read($response->body); + $obj = VObject\Reader::read($response->getBodyAsString()); $this->assertEquals(8, count($obj->children())); $this->assertEquals(1, count($obj->VERSION)); @@ -108,7 +108,7 @@ ICS $this->assertEquals(200, $response->getStatus()); $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); - $obj = VObject\Reader::read($response->body); + $obj = VObject\Reader::read($response->getBodyAsString()); $this->assertEquals(8, count($obj->children())); $this->assertEquals(1, count($obj->VERSION)); @@ -166,7 +166,7 @@ ICS $response = $this->request($request, 200); $this->assertEquals('text/calendar', $response->getHeader('Content-Type')); - $obj = VObject\Reader::read($response->body); + $obj = VObject\Reader::read($response->getBodyAsString()); $this->assertEquals(8, count($obj->children())); $this->assertEquals(1, count($obj->VERSION)); @@ -276,7 +276,7 @@ ICS $response = $this->request($request, 200); - $obj = VObject\Reader::read($response->body); + $obj = VObject\Reader::read($response->getBodyAsString()); $this->assertEquals(1, count($obj->VTIMEZONE)); $this->assertEquals(1, count($obj->VEVENT)); $this->assertNull($obj->VTODO); @@ -291,7 +291,7 @@ ICS $response = $this->request($request, 200); - $obj = VObject\Reader::read($response->body); + $obj = VObject\Reader::read($response->getBodyAsString()); $this->assertNull($obj->VTIMEZONE); $this->assertNull($obj->VEVENT); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue203Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue203Test.php index 0700024cf..9a786c505 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue203Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue203Test.php @@ -86,11 +86,12 @@ END:VCALENDAR $response = $this->request($request); + $bodyAsString = $response->getBodyAsString(); // Everts super awesome xml parser. $body = substr( - $response->body, - $start = strpos($response->body, 'BEGIN:VCALENDAR'), - strpos($response->body, 'END:VCALENDAR') - $start + 13 + $bodyAsString, + $start = strpos($bodyAsString, 'BEGIN:VCALENDAR'), + strpos($bodyAsString, 'END:VCALENDAR') - $start + 13 ); $body = str_replace(' ', '', $body); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php index 60c944d1d..b021634ba 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue205Test.php @@ -81,14 +81,14 @@ END:VCALENDAR $response = $this->request($request); - $this->assertFalse(strpos($response->body, '<s:exception>Exception</s:exception>'), 'Exception occurred: '.$response->body); - $this->assertFalse(strpos($response->body, 'Unknown or bad format'), 'DateTime unknown format Exception: '.$response->body); + $this->assertFalse(strpos($response->getBodyAsString(), '<s:exception>Exception</s:exception>'), 'Exception occurred: '.$response->getBodyAsString()); + $this->assertFalse(strpos($response->getBodyAsString(), 'Unknown or bad format'), 'DateTime unknown format Exception: '.$response->getBodyAsString()); // Everts super awesome xml parser. $body = substr( - $response->body, - $start = strpos($response->body, 'BEGIN:VCALENDAR'), - strpos($response->body, 'END:VCALENDAR') - $start + 13 + $response->getBodyAsString(), + $start = strpos($response->getBodyAsString(), 'BEGIN:VCALENDAR'), + strpos($response->getBodyAsString(), 'END:VCALENDAR') - $start + 13 ); $body = str_replace(' ', '', $body); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php index 10c9af50c..d7fa18c09 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue211Test.php @@ -85,6 +85,6 @@ END:VCALENDAR // if this assert is reached, the endless loop is gone // There should be no matching events - $this->assertFalse(strpos('BEGIN:VEVENT', $response->body)); + $this->assertFalse(strpos('BEGIN:VEVENT', $response->getBodyAsString())); } } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php index 46f5ca205..8e51e49e2 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue220Test.php @@ -93,8 +93,8 @@ END:VCALENDAR $response = $this->request($request); - $this->assertFalse(strpos($response->body, '<s:exception>PHPUnit_Framework_Error_Warning</s:exception>'), 'Error Warning occurred: '.$response->body); - $this->assertFalse(strpos($response->body, 'Invalid argument supplied for foreach()'), 'Invalid argument supplied for foreach(): '.$response->body); + $this->assertFalse(strpos($response->getBodyAsString(), '<s:exception>PHPUnit_Framework_Error_Warning</s:exception>'), 'Error Warning occurred: '.$response->getBodyAsString()); + $this->assertFalse(strpos($response->getBodyAsString(), 'Invalid argument supplied for foreach()'), 'Invalid argument supplied for foreach(): '.$response->getBodyAsString()); $this->assertEquals(207, $response->status); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php index a8b855ca3..1f698e7dd 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Issue228Test.php @@ -75,6 +75,6 @@ END:VCALENDAR $response = $this->request($request); // We must check if absolutely nothing was returned from this query. - $this->assertFalse(strpos($response->body, 'BEGIN:VCALENDAR')); + $this->assertFalse(strpos($response->getBodyAsString(), 'BEGIN:VCALENDAR')); } } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php index eceb0b87f..594241e0d 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php @@ -63,11 +63,9 @@ class CollectionTest extends \PHPUnit\Framework\TestCase $this->assertEquals($expected, $col->getACL()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetACL() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $col = $this->getInstance(); $col->setACL([]); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php index cb19ef962..623525e69 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php @@ -73,11 +73,9 @@ class NodeTest extends \PHPUnit\Framework\TestCase $this->assertEquals($expected, $node->getACL()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetACL() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $node = $this->getInstance(); $node->setACL([]); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php index 711cc0ac7..a4f08f7e5 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php @@ -26,7 +26,7 @@ class PluginTest extends \PHPUnit\Framework\TestCase */ protected $caldavBackend; - public function setup() + public function setup(): void { $caldavNS = '{urn:ietf:params:xml:ns:caldav}'; @@ -118,7 +118,7 @@ class PluginTest extends \PHPUnit\Framework\TestCase $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(501, $this->response->status, 'Incorrect status returned. Full response body:'.$this->response->body); + $this->assertEquals(501, $this->response->status, 'Incorrect status returned. Full response body:'.$this->response->getBodyAsString()); } public function testGetWithoutContentType() @@ -336,7 +336,7 @@ END:VCALENDAR'; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(201, $this->response->status, 'Invalid response code received. Full response body: '.$this->response->body); + $this->assertEquals(201, $this->response->status, 'Invalid response code received. Full response body: '.$this->response->getBodyAsString()); $calendars = $this->caldavBackend->getCalendarsForUser('principals/user1'); $this->assertEquals(3, count($calendars)); @@ -349,7 +349,7 @@ END:VCALENDAR'; } } - $this->assertInternalType('array', $newCalendar); + $this->assertIsArray($newCalendar); $keys = [ 'uri' => 'NEWCALENDAR', @@ -381,7 +381,7 @@ END:VCALENDAR'; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(201, $this->response->status, 'Invalid response code received. Full response body: '.$this->response->body); + $this->assertEquals(201, $this->response->status, 'Invalid response code received. Full response body: '.$this->response->getBodyAsString()); $calendars = $this->caldavBackend->getCalendarsForUser('principals/user1'); $this->assertEquals(3, count($calendars)); @@ -394,7 +394,7 @@ END:VCALENDAR'; } } - $this->assertInternalType('array', $newCalendar); + $this->assertIsArray($newCalendar); $keys = [ 'uri' => 'NEWCALENDAR', @@ -606,7 +606,8 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Invalid HTTP status received. Full response body: '.$this->response->body); + $bodyAsString = $this->response->getBodyAsString(); + $this->assertEquals(207, $this->response->status, 'Invalid HTTP status received. Full response body: '.$bodyAsString); $expectedIcal = TestUtil::getTestCalendarData(); $expectedIcal = \Sabre\VObject\Reader::read($expectedIcal); @@ -632,7 +633,7 @@ XML; </d:multistatus> XML; - $this->assertXmlStringEqualsXmlString($expected, $this->response->getBodyAsString()); + $this->assertXmlStringEqualsXmlString($expected, $bodyAsString); } /** @@ -663,7 +664,8 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->body); + $bodyAsString = $this->response->getBodyAsString(); + $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$bodyAsString); $expectedIcal = TestUtil::getTestCalendarData(); $expectedIcal = \Sabre\VObject\Reader::read($expectedIcal); @@ -689,7 +691,7 @@ XML; </d:multistatus> XML; - $this->assertXmlStringEqualsXmlString($expected, $this->response->getBodyAsString()); + $this->assertXmlStringEqualsXmlString($expected, $bodyAsString); } /** @@ -724,7 +726,8 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->body); + $bodyAsString = $this->response->getBodyAsString(); + $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$bodyAsString); $expectedIcal = TestUtil::getTestCalendarData(); $expectedIcal = \Sabre\VObject\Reader::read($expectedIcal); @@ -750,7 +753,7 @@ XML; </d:multistatus> XML; - $this->assertXmlStringEqualsXmlString($expected, $this->response->getBodyAsString()); + $this->assertXmlStringEqualsXmlString($expected, $bodyAsString); } /** @@ -783,7 +786,7 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(400, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->body); + $this->assertEquals(400, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->getBodyAsString()); } /** @@ -812,7 +815,8 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->body); + $bodyAsString = $this->server->httpResponse->getBodyAsString(); + $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$bodyAsString); $expected = <<<XML <?xml version="1.0"?> @@ -829,7 +833,7 @@ XML; </d:multistatus> XML; - $this->assertXmlStringEqualsXmlString($expected, $this->response->getBodyAsString()); + $this->assertXmlStringEqualsXmlString($expected, $bodyAsString); } /** @@ -852,7 +856,7 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(400, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->body); + $this->assertEquals(400, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->getBodyAsString()); } /** @@ -883,7 +887,8 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->body); + $bodyAsString = $this->server->httpResponse->getBodyAsString(); + $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$bodyAsString); $expectedIcal = TestUtil::getTestCalendarData(); $expectedIcal = \Sabre\VObject\Reader::read($expectedIcal); @@ -909,7 +914,7 @@ XML; </d:multistatus> XML; - $this->assertXmlStringEqualsXmlString($expected, $this->response->getBodyAsString()); + $this->assertXmlStringEqualsXmlString($expected, $bodyAsString); } /** @@ -937,7 +942,8 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$this->response->body); + $bodyAsString = $this->server->httpResponse->getBodyAsString(); + $this->assertEquals(207, $this->response->status, 'Received an unexpected status. Full response body: '.$bodyAsString); $expected = <<<XML <?xml version="1.0"?> @@ -954,7 +960,7 @@ XML; </d:multistatus> XML; - $this->assertXmlStringEqualsXmlString($expected, $this->response->getBodyAsString()); + $this->assertXmlStringEqualsXmlString($expected, $bodyAsString); } public function testHTMLActionsPanel() @@ -989,7 +995,7 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(400, $this->response->status, 'Invalid HTTP status received. Full response body: '.$this->response->body); + $this->assertEquals(400, $this->response->status, 'Invalid HTTP status received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -1015,7 +1021,7 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(400, $this->response->status, 'Invalid HTTP status received. Full response body: '.$this->response->body); + $this->assertEquals(400, $this->response->status, 'Invalid HTTP status received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -1041,7 +1047,7 @@ XML; $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(400, $this->response->status, 'Invalid HTTP status received. Full response body: '.$this->response->body); + $this->assertEquals(400, $this->response->status, 'Invalid HTTP status received. Full response body: '.$this->response->getBodyAsString()); } /** diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php index 8036635b2..95ff86fa1 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php @@ -39,20 +39,16 @@ class ProxyReadTest extends \PHPUnit\Framework\TestCase $this->assertNull($i->getLastModified()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testDelete() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $i = $this->getInstance(); $i->delete(); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetName() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $i = $this->getInstance(); $i->setName('foo'); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php index 2c690c65d..fd079acb2 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php @@ -26,20 +26,16 @@ class UserTest extends \PHPUnit\Framework\TestCase ]); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testCreateFile() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $u = $this->getInstance(); $u->createFile('test'); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testCreateDirectory() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $u = $this->getInstance(); $u->createDirectory('test'); } @@ -58,20 +54,16 @@ class UserTest extends \PHPUnit\Framework\TestCase $this->assertInstanceOf('Sabre\\CalDAV\\Principal\\ProxyWrite', $child); } - /** - * @expectedException \Sabre\DAV\Exception\NotFound - */ public function testGetChildNotFound() { + $this->expectException('Sabre\DAV\Exception\NotFound'); $u = $this->getInstance(); $child = $u->getChild('foo'); } - /** - * @expectedException \Sabre\DAV\Exception\NotFound - */ public function testGetChildNotFound2() { + $this->expectException('Sabre\DAV\Exception\NotFound'); $u = $this->getInstance(); $child = $u->getChild('random'); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php index 57732cd06..f11af8b95 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php @@ -6,16 +6,17 @@ namespace Sabre\CalDAV; use Sabre\DAV; use Sabre\DAV\Xml\Element\Sharee; +use Sabre\DAVServerTest; use Sabre\HTTP; -class SharingPluginTest extends \Sabre\DAVServerTest +class SharingPluginTest extends DAVServerTest { protected $setupCalDAV = true; protected $setupCalDAVSharing = true; protected $setupACL = true; protected $autoLogin = 'user1'; - public function setUp() + public function setup(): void { $this->caldavCalendars = [ [ @@ -51,11 +52,9 @@ class SharingPluginTest extends \Sabre\DAVServerTest ); } - /** - * @expectedException \LogicException - */ public function testSetupWithoutCoreSharingPlugin() { + $this->expectException('LogicException'); $server = new DAV\Server(); $server->addPlugin( new SharingPlugin() @@ -131,7 +130,7 @@ class SharingPluginTest extends \Sabre\DAVServerTest $response = $this->request($request); - $this->assertEquals(501, $response->status, $response->body); + $this->assertEquals(501, $response->status, $response->getBodyAsString()); } public function testUnknownMethodNoXML() @@ -144,7 +143,7 @@ class SharingPluginTest extends \Sabre\DAVServerTest $response = $this->request($request); - $this->assertEquals(501, $response->status, $response->body); + $this->assertEquals(501, $response->status, $response->getBodyAsString()); } public function testUnknownMethodNoNode() @@ -157,7 +156,7 @@ class SharingPluginTest extends \Sabre\DAVServerTest $response = $this->request($request); - $this->assertEquals(501, $response->status, $response->body); + $this->assertEquals(501, $response->status, $response->getBodyAsString()); } public function testShareRequest() @@ -180,7 +179,7 @@ RRR; $request->setBody($xml); - $response = $this->request($request, 200); + $this->request($request, 200); $this->assertEquals( [ @@ -230,7 +229,7 @@ RRR; $request->setBody($xml); - $response = $this->request($request, 403); + $this->request($request, 403); } public function testInviteReply() @@ -250,7 +249,7 @@ RRR; $request->setBody($xml); $response = $this->request($request); - $this->assertEquals(200, $response->status, $response->body); + $this->assertEquals(200, $response->status, $response->getBodyAsString()); } public function testInviteBadXML() @@ -267,7 +266,7 @@ RRR; '; $request->setBody($xml); $response = $this->request($request); - $this->assertEquals(400, $response->status, $response->body); + $this->assertEquals(400, $response->status, $response->getBodyAsString()); } public function testInviteWrongUrl() @@ -285,11 +284,11 @@ RRR; '; $request->setBody($xml); $response = $this->request($request); - $this->assertEquals(501, $response->status, $response->body); + $this->assertEquals(501, $response->status, $response->getBodyAsString()); // If the plugin did not handle this request, it must ensure that the // body is still accessible by other plugins. - $this->assertEquals($xml, $request->getBody(true)); + $this->assertEquals($xml, $request->getBody()); } public function testPostWithoutContentType() @@ -312,7 +311,7 @@ RRR; $request->setBody($xml); $response = $this->request($request); - $this->assertEquals(202, $response->status, $response->body); + $this->assertEquals(202, $response->status, $response->getBodyAsString()); } public function testUnpublish() @@ -330,7 +329,7 @@ RRR; $request->setBody($xml); $response = $this->request($request); - $this->assertEquals(200, $response->status, $response->body); + $this->assertEquals(200, $response->status, $response->getBodyAsString()); } public function testPublishWrongUrl() @@ -379,6 +378,6 @@ RRR; $request->setBody($xml); $response = $this->request($request); - $this->assertEquals(501, $response->status, $response->body); + $this->assertEquals(501, $response->status, $response->getBodyAsString()); } } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php b/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php index 72b5080af..5de11a31a 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php @@ -99,87 +99,4 @@ END:VCALENDAR'; return $calendarData; } - - public static function getTestTODO($type = 'due') - { - switch ($type) { - case 'due': - $extra = 'DUE:20100104T000000Z'; - break; - case 'due2': - $extra = 'DUE:20060104T000000Z'; - break; - case 'due_date': - $extra = 'DUE;VALUE=DATE:20060104'; - break; - case 'due_tz': - $extra = 'DUE;TZID=Asia/Seoul:20060104T000000Z'; - break; - case 'due_dtstart': - $extra = "DTSTART:20050223T060000Z\nDUE:20060104T000000Z"; - break; - case 'due_dtstart2': - $extra = "DTSTART:20090223T060000Z\nDUE:20100104T000000Z"; - break; - case 'dtstart': - $extra = 'DTSTART:20100223T060000Z'; - break; - case 'dtstart2': - $extra = 'DTSTART:20060223T060000Z'; - break; - case 'dtstart_date': - $extra = 'DTSTART;VALUE=DATE:20100223'; - break; - case 'dtstart_tz': - $extra = 'DTSTART;TZID=Asia/Seoul:20100223T060000Z'; - break; - case 'dtstart_duration': - $extra = "DTSTART:20061023T060000Z\nDURATION:PT1H"; - break; - case 'dtstart_duration2': - $extra = "DTSTART:20101023T060000Z\nDURATION:PT1H"; - break; - case 'completed': - $extra = 'COMPLETED:20060601T000000Z'; - break; - case 'completed2': - $extra = 'COMPLETED:20090601T000000Z'; - break; - case 'created': - $extra = 'CREATED:20060601T000000Z'; - break; - case 'created2': - $extra = 'CREATED:20090601T000000Z'; - break; - case 'completedcreated': - $extra = "CREATED:20060601T000000Z\nCOMPLETED:20070101T000000Z"; - break; - case 'completedcreated2': - $extra = "CREATED:20090601T000000Z\nCOMPLETED:20100101T000000Z"; - break; - case 'notime': - $extra = 'X-FILLER:oh hello'; - break; - default: - throw new Exception('Unknown type: '.$type); - } - - $todo = 'BEGIN:VCALENDAR -VERSION:2.0 -PRODID:-//Example Corp.//CalDAV Client//EN -BEGIN:VTODO -DTSTAMP:20060205T235335Z -'.$extra.' -STATUS:NEEDS-ACTION -SUMMARY:Task #1 -UID:DDDEEB7915FA61233B861457@example.com -BEGIN:VALARM -ACTION:AUDIO -TRIGGER;RELATED=START:-PT10M -END:VALARM -END:VTODO -END:VCALENDAR'; - - return $todo; - } } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php index e6d1edace..4e2411391 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php @@ -8,12 +8,10 @@ use Sabre\DAV; use Sabre\DAVACL; use Sabre\HTTP; -require_once 'Sabre/HTTP/ResponseMock.php'; - class ValidateICalTest extends \PHPUnit\Framework\TestCase { /** - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; /** @@ -21,7 +19,7 @@ class ValidateICalTest extends \PHPUnit\Framework\TestCase */ protected $calBackend; - public function setUp() + public function setup(): void { $calendars = [ [ @@ -56,6 +54,9 @@ class ValidateICalTest extends \PHPUnit\Framework\TestCase $this->server->httpResponse = $response; } + /** + * @return Sabre\HTTP\ResponseMock + */ public function request(HTTP\Request $request) { $this->server->httpRequest = $request; @@ -100,7 +101,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Length' => ['0'], @@ -140,7 +141,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testCreateFileNoVersionFixed() @@ -166,7 +167,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Length' => ['0'], @@ -213,7 +214,7 @@ ICS; $request->setBody($ics); $response = $this->request($request); - $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testCreateFileNoUID() @@ -226,7 +227,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testCreateFileVCard() @@ -239,7 +240,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testCreateFile2Components() @@ -252,7 +253,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testCreateFile2UIDS() @@ -265,7 +266,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testCreateFileWrongComponent() @@ -278,7 +279,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testUpdateFile() @@ -338,7 +339,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testUpdateFileInvalidComponent() @@ -352,7 +353,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(403, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } /** @@ -385,7 +386,7 @@ ICS; $response = $this->request($request); - $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); $this->assertNull($response->getHeader('ETag')); } } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php index c945e2c58..6565fc459 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php @@ -23,7 +23,7 @@ abstract class AbstractPluginTest extends \PHPUnit\Framework\TestCase */ protected $backend; - public function setUp() + public function setup(): void { $this->backend = new Backend\Mock(); $principalBackend = new DAVACL\PrincipalBackend\Mock(); diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php index 6e7e13106..a86d85144 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php @@ -7,9 +7,6 @@ namespace Sabre\CardDAV; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/CardDAV/AbstractPluginTest.php'; -require_once 'Sabre/HTTP/ResponseMock.php'; - class AddressBookQueryTest extends AbstractPluginTest { public function testQuery() @@ -39,12 +36,13 @@ class AddressBookQueryTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $this->assertEquals([ '/addressbooks/user1/book1/card1' => [ @@ -87,12 +85,13 @@ class AddressBookQueryTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $this->assertEquals([ '/addressbooks/user1/book1/card1' => [ @@ -130,12 +129,13 @@ class AddressBookQueryTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $this->assertEquals([], $result); } @@ -168,12 +168,13 @@ class AddressBookQueryTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $this->assertEquals([ '/addressbooks/user1/book1/card1' => [ @@ -209,12 +210,13 @@ class AddressBookQueryTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $vobjVersion = \Sabre\VObject\Version::VERSION; @@ -253,12 +255,13 @@ class AddressBookQueryTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $vobjVersion = \Sabre\VObject\Version::VERSION; @@ -297,7 +300,7 @@ class AddressBookQueryTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(415, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $this->assertEquals(415, $response->status, 'Incorrect status code. Full response body:'.$response->getBodyAsString()); } public function testAddressBookProperties() @@ -328,12 +331,13 @@ class AddressBookQueryTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $this->assertEquals([ '/addressbooks/user1/book3/card3' => [ diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php index 879816803..e985c54ff 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php @@ -16,7 +16,7 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase protected $ab; protected $backend; - public function setUp() + public function setup(): void { $this->backend = new Backend\Mock(); $this->ab = new AddressBook( @@ -42,11 +42,9 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase $this->assertEquals('card1', $card->getName()); } - /** - * @expectedException \Sabre\DAV\Exception\NotFound - */ public function testGetChildNotFound() { + $this->expectException('Sabre\DAV\Exception\NotFound'); $card = $this->ab->getChild('card3'); } @@ -59,11 +57,9 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase $this->assertEquals('card2', $cards[1]->getName()); } - /** - * @expectedException \Sabre\DAV\Exception\MethodNotAllowed - */ public function testCreateDirectory() { + $this->expectException('Sabre\DAV\Exception\MethodNotAllowed'); $this->ab->createDirectory('name'); } @@ -83,11 +79,9 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase $this->assertEquals(1, count($this->backend->addressBooks)); } - /** - * @expectedException \Sabre\DAV\Exception\MethodNotAllowed - */ public function testSetName() { + $this->expectException('Sabre\DAV\Exception\MethodNotAllowed'); $this->ab->setName('foo'); } @@ -128,11 +122,9 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase ], $this->ab->getACL()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetACL() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $this->ab->setACL([]); } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php index e5bd088fc..bac3b2b22 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php @@ -16,7 +16,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase */ protected $backend; - public function setUp() + public function setup(): void { $this->dropTables([ 'addressbooks', @@ -142,11 +142,9 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase $this->assertEquals([], $this->backend->getAddressBooksForUser('principals/user1')); } - /** - * @expectedException \Sabre\DAV\Exception\BadRequest - */ public function testCreateAddressBookUnsupportedProp() { + $this->expectException('Sabre\DAV\Exception\BadRequest'); $this->backend->createAddressBook('principals/user1', 'book2', [ '{DAV:}foo' => 'bar', ]); @@ -273,7 +271,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase switch ($k) { case 'lastmodified': - $this->assertInternalType('int', $actual); + $this->assertIsInt($actual); break; case 'carddata': if (is_resource($actual)) { diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php index f7e20fbfb..630465cc8 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php @@ -69,8 +69,7 @@ class Mock extends AbstractBackend * * Read the PropPatch documentation for more info and examples. * - * @param string $addressBookId - * @param \Sabre\DAV\PropPatch $propPatch + * @param string $addressBookId */ public function updateAddressBook($addressBookId, \Sabre\DAV\PropPatch $propPatch) { diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php index 41853aa63..1de10b719 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php @@ -15,7 +15,7 @@ class CardTest extends \PHPUnit\Framework\TestCase */ protected $backend; - public function setUp() + public function setup(): void { $this->backend = new Backend\Mock(); $this->card = new Card( @@ -179,11 +179,9 @@ class CardTest extends \PHPUnit\Framework\TestCase ], $card->getACL()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetACL() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $this->card->setACL([]); } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php index 4e3276ed3..ac0cd5e91 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php @@ -7,8 +7,6 @@ namespace Sabre\CardDAV; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/HTTP/ResponseMock.php'; - class MultiGetTest extends AbstractPluginTest { public function testMultiGet() @@ -36,12 +34,13 @@ class MultiGetTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $this->assertEquals([ '/addressbooks/user1/book1/card1' => [ @@ -78,12 +77,13 @@ class MultiGetTest extends AbstractPluginTest $this->server->exec(); - $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$response->body); + $bodyAsString = $response->getBodyAsString(); + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:'.$bodyAsString); // using the client for parsing $client = new DAV\Client(['baseUri' => '/']); - $result = $client->parseMultiStatus($response->body); + $result = $client->parseMultiStatus($bodyAsString); $prodId = 'PRODID:-//Sabre//Sabre VObject '.\Sabre\VObject\Version::VERSION.'//EN'; diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php b/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php deleted file mode 100644 index 0bdf07df5..000000000 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Sabre\CardDAV; - -class TestUtil -{ - public static function getBackend() - { - $backend = new Backend\PDO(self::getSQLiteDB()); - - return $backend; - } - - public static function getSQLiteDB() - { - $pdo = Backend\PDOSqliteTest::getSQLite(); - - // Inserting events through a backend class. - $backend = new Backend\PDO($pdo); - $addressbookId = $backend->createAddressBook( - 'principals/user1', - 'UUID-123467', - [ - '{DAV:}displayname' => 'user1 addressbook', - '{urn:ietf:params:xml:ns:carddav}addressbook-description' => 'AddressBook description', - ] - ); - $backend->createAddressBook( - 'principals/user1', - 'UUID-123468', - [ - '{DAV:}displayname' => 'user1 addressbook2', - '{urn:ietf:params:xml:ns:carddav}addressbook-description' => 'AddressBook description', - ] - ); - $backend->createCard($addressbookId, 'UUID-2345', self::getTestCardData()); - - return $pdo; - } - - public static function deleteSQLiteDB() - { - $sqliteTest = new Backend\PDOSqliteTest(); - $pdo = $sqliteTest->tearDown(); - } - - public static function getTestCardData() - { - $addressbookData = 'BEGIN:VCARD -VERSION:3.0 -PRODID:-//Acme Inc.//RoadRunner 1.0//EN -FN:Wile E. Coyote -N:Coyote;Wile;Erroll;; -ORG:Acme Inc. -UID:39A6B5ED-DD51-4AFE-A683-C35EE3749627 -REV:2012-06-20T07:00:39+00:00 -END:VCARD'; - - return $addressbookData; - } -} diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php index d8acc3c14..546a4ccfb 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php @@ -28,7 +28,7 @@ class VCFExportTest extends \Sabre\DAVServerTest ], ]; - public function setUp() + public function setup(): void { parent::setUp(); $plugin = new VCFExportPlugin(); @@ -57,7 +57,7 @@ class VCFExportTest extends \Sabre\DAVServerTest ]); $response = $this->request($request); - $this->assertEquals(200, $response->status, $response->body); + $this->assertEquals(200, $response->status, $response->getBodyAsString()); $expected = 'BEGIN:VCARD FN:Person1 @@ -75,7 +75,7 @@ END:VCARD // We actually expected windows line endings $expected = str_replace("\n", "\r\n", $expected); - $this->assertEquals($expected, $response->body); + $this->assertEquals($expected, $response->getBodyAsString()); } public function testBrowserIntegration() @@ -84,7 +84,7 @@ END:VCARD $actions = ''; $addressbook = new AddressBook($this->carddavBackend, []); $this->server->emit('browserButtonActions', ['/foo', $addressbook, &$actions]); - $this->assertContains('/foo?export', $actions); + $this->assertStringContainsString('/foo?export', $actions); } public function testContentDisposition() diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php index 753efc73d..de7de19cd 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php @@ -4,8 +4,6 @@ declare(strict_types=1); namespace Sabre\CardDAV; -require_once 'Sabre/CardDAV/AbstractPluginTest.php'; - class ValidateFilterTest extends AbstractPluginTest { /** @@ -16,7 +14,7 @@ class ValidateFilterTest extends AbstractPluginTest * @param string|null $message * @dataProvider data */ - public function testFilter($input, $filters, $test, $result, $message = null) + public function testFilter($input, $filters, $test, $result, $message = '') { if ($result) { $this->assertTrue($this->plugin->validateFilters($input, $filters, $test), $message); diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php index 2317b86cc..571cce3f0 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php @@ -8,14 +8,12 @@ use Sabre\DAV; use Sabre\DAVACL; use Sabre\HTTP; -require_once 'Sabre/HTTP/ResponseMock.php'; - class ValidateVCardTest extends \PHPUnit\Framework\TestCase { protected $server; protected $cardBackend; - public function setUp() + public function setup(): void { $addressbooks = [ [ @@ -240,7 +238,7 @@ VCF; $response = $this->request($request); - $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(201, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); $foo = $this->cardBackend->getCard('addressbook1', 'blabla.vcf'); $this->assertEquals("BEGIN:VCARD\r\nVERSION:4.0\r\nUID:foo\r\nFN:FirstName LastName\r\nEND:VCARD\r\n", $foo['carddata']); @@ -256,7 +254,7 @@ VCF; $response = $this->request($request); - $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->body); + $this->assertEquals(415, $response->status, 'Incorrect status returned! Full response body: '.$response->getBodyAsString()); } public function testUpdateFile() diff --git a/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php b/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php index 5f5d666f9..49fedf062 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php @@ -9,17 +9,17 @@ use Sabre\HTTP; abstract class AbstractServer extends \PHPUnit\Framework\TestCase { /** - * @var Sabre\HTTP\ResponseMock + * @var \Sabre\HTTP\ResponseMock */ protected $response; protected $request; /** - * @var Sabre\DAV\Server + * @var \Sabre\DAV\Server */ protected $server; protected $tempDir = SABRE_TEMPDIR; - public function setUp() + public function setup(): void { $this->response = new HTTP\ResponseMock(); $this->server = new Server($this->getRootNode()); @@ -32,7 +32,7 @@ abstract class AbstractServer extends \PHPUnit\Framework\TestCase file_put_contents(SABRE_TEMPDIR.'/dir/child.txt', 'Child contents'); } - public function tearDown() + public function teardown(): void { $this->deleteTree(SABRE_TEMPDIR, false); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php index d9af326fe..a751efdc2 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php @@ -35,11 +35,9 @@ class AbstractDigestTest extends \PHPUnit\Framework\TestCase ); } - /** - * @expectedException \Sabre\DAV\Exception - */ public function testCheckBadGetUserInfoResponse2() { + $this->expectException('Sabre\DAV\Exception'); $header = 'username=array, realm=myRealm, nonce=12345, uri=/, response=HASH, opaque=1, qop=auth, nc=1, cnonce=1'; $request = HTTP\Sapi::createFromServerArray([ 'REQUEST_METHOD' => 'GET', diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php index 5e34f9c49..8b874f884 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php @@ -8,7 +8,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase { use \Sabre\DAV\DbTestHelperTrait; - public function setUp() + public function setup(): void { $this->dropTables('users'); $this->createSchema('users'); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php index 0297b17f9..31a86f9ed 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php @@ -6,7 +6,7 @@ namespace Sabre\DAV\Auth\Backend; class FileTest extends \PHPUnit\Framework\TestCase { - public function tearDown() + public function teardown(): void { if (file_exists(SABRE_TEMPDIR.'/filebackend')) { unlink(SABRE_TEMPDIR.'/filebackend'); @@ -19,11 +19,9 @@ class FileTest extends \PHPUnit\Framework\TestCase $this->assertTrue($file instanceof File); } - /** - * @expectedException \Sabre\DAV\Exception - */ public function testLoadFileBroken() { + $this->expectException('Sabre\DAV\Exception'); file_put_contents(SABRE_TEMPDIR.'/backend', 'user:realm:hash'); $file = new File(SABRE_TEMPDIR.'/backend'); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php index 730f2a975..fca7f722f 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php @@ -44,9 +44,6 @@ class Mock implements BackendInterface * * principals/users/[username] * - * @param RequestInterface $request - * @param ResponseInterface $response - * * @return array */ public function check(RequestInterface $request, ResponseInterface $response) @@ -77,9 +74,6 @@ class Mock implements BackendInterface * WWW-Authenticate headers may already have been set, and you'll want to * append your own WWW-Authenticate header instead of overwriting the * existing one. - * - * @param RequestInterface $request - * @param ResponseInterface $response */ public function challenge(RequestInterface $request, ResponseInterface $response) { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php index 03c8a4624..f4810d524 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php @@ -16,7 +16,7 @@ class PluginTest extends \PHPUnit\Framework\TestCase $this->assertTrue($plugin instanceof Plugin); $fakeServer->addPlugin($plugin); $this->assertEquals($plugin, $fakeServer->getPlugin('auth')); - $this->assertInternalType('array', $plugin->getPluginInfo()); + $this->assertIsArray($plugin->getPluginInfo()); } /** @@ -34,10 +34,10 @@ class PluginTest extends \PHPUnit\Framework\TestCase /** * @depends testInit - * @expectedException \Sabre\DAV\Exception\NotAuthenticated */ public function testAuthenticateFail() { + $this->expectException('Sabre\DAV\Exception\NotAuthenticated'); $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $backend = new Backend\Mock(); $backend->fail = true; @@ -87,10 +87,10 @@ class PluginTest extends \PHPUnit\Framework\TestCase /** * @depends testInit - * @expectedException \Sabre\DAV\Exception */ public function testNoAuthBackend() { + $this->expectException('Sabre\DAV\Exception'); $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $plugin = new Plugin(); @@ -100,10 +100,10 @@ class PluginTest extends \PHPUnit\Framework\TestCase /** * @depends testInit - * @expectedException \Sabre\DAV\Exception */ public function testInvalidCheckResponse() { + $this->expectException('Sabre\DAV\Exception'); $fakeServer = new DAV\Server(new DAV\SimpleCollection('bla')); $backend = new Backend\Mock(); $backend->invalidCheckResponse = true; diff --git a/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php index 60fcc73fc..e9a8eddad 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php @@ -6,20 +6,16 @@ namespace Sabre\DAV; class BasicNodeTest extends \PHPUnit\Framework\TestCase { - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testPut() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $file = new FileMock(); $file->put('hi'); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testGet() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $file = new FileMock(); $file->get(); } @@ -42,20 +38,16 @@ class BasicNodeTest extends \PHPUnit\Framework\TestCase $this->assertNull($file->getContentType()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testDelete() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $file = new FileMock(); $file->delete(); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetName() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $file = new FileMock(); $file->setName('hi'); } @@ -88,29 +80,23 @@ class BasicNodeTest extends \PHPUnit\Framework\TestCase $this->assertFalse($dir->childExists('mockfile2')); } - /** - * @expectedException \Sabre\DAV\Exception\NotFound - */ public function testGetChild404() { + $this->expectException('Sabre\DAV\Exception\NotFound'); $dir = new DirectoryMock(); $file = $dir->getChild('blabla'); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testCreateFile() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $dir = new DirectoryMock(); $dir->createFile('hello', 'data'); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testCreateDirectory() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $dir = new DirectoryMock(); $dir->createDirectory('hello'); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php index 1f48256e0..cb4d3ce03 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php @@ -6,10 +6,9 @@ namespace Sabre\DAV\Browser; use Sabre\DAV; -require_once 'Sabre/DAV/AbstractServer.php'; class GuessContentTypeTest extends DAV\AbstractServer { - public function setUp() + public function setUp(): void { parent::setUp(); \Sabre\TestUtil::clearTempDir(); @@ -17,7 +16,7 @@ class GuessContentTypeTest extends DAV\AbstractServer file_put_contents(SABRE_TEMPDIR.'/somefile.hoi', 'blabla'); } - public function tearDown() + public function tearDown(): void { \Sabre\TestUtil::clearTempDir(); parent::tearDown(); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php index de7b85f32..00b2661ac 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php @@ -7,11 +7,9 @@ namespace Sabre\DAV\Browser; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAV/AbstractServer.php'; - class MapGetToPropFindTest extends DAV\AbstractServer { - public function setUp() + public function setUp(): void { parent::setUp(); $this->server->addPlugin(new MapGetToPropFind()); @@ -29,7 +27,7 @@ class MapGetToPropFindTest extends DAV\AbstractServer $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Incorrect status response received. Full response body: '.$this->response->body); + $this->assertEquals(207, $this->response->status, 'Incorrect status response received. Full response body: '.$this->response->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php index fb7c63d46..a987525c0 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php @@ -7,13 +7,11 @@ namespace Sabre\DAV\Browser; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAV/AbstractServer.php'; - class PluginTest extends DAV\AbstractServer { protected $plugin; - public function setUp() + public function setUp(): void { parent::setUp(); $this->server->addPlugin($this->plugin = new Plugin()); @@ -148,7 +146,7 @@ class PluginTest extends DAV\AbstractServer $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(200, $this->response->getStatus(), 'Error: '.$this->response->body); + $this->assertEquals(200, $this->response->getStatus(), 'Error: '.$this->response->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['image/vnd.microsoft.icon'], @@ -164,7 +162,7 @@ class PluginTest extends DAV\AbstractServer $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(404, $this->response->getStatus(), 'Error: '.$this->response->body); + $this->assertEquals(404, $this->response->getStatus(), 'Error: '.$this->response->getBodyAsString()); } public function testGetAssetEscapeBasePath() @@ -173,6 +171,6 @@ class PluginTest extends DAV\AbstractServer $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(404, $this->response->getStatus(), 'Error: '.$this->response->body); + $this->assertEquals(404, $this->response->getStatus(), 'Error: '.$this->response->getBodyAsString()); } } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php index e9362c8e4..85a95c90e 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php @@ -6,11 +6,9 @@ namespace Sabre\DAV; use Sabre\HTTP\Response; -require_once 'Sabre/DAV/ClientMock.php'; - class ClientTest extends \PHPUnit\Framework\TestCase { - public function setUp() + public function setup(): void { if (!function_exists('curl_init')) { $this->markTestSkipped('CURL must be installed to test the client'); @@ -25,11 +23,9 @@ class ClientTest extends \PHPUnit\Framework\TestCase $this->assertInstanceOf('Sabre\DAV\ClientMock', $client); } - /** - * @expectedException \InvalidArgumentException - */ public function testConstructNoBaseUri() { + $this->expectException('InvalidArgumentException'); $client = new ClientMock([]); } @@ -139,11 +135,9 @@ XML; ], $request->getHeaders()); } - /** - * @expectedException \Sabre\HTTP\ClientHttpException - */ public function testPropFindError() { + $this->expectException('Sabre\HTTP\ClientHttpException'); $client = new ClientMock([ 'baseUri' => '/', ]); @@ -225,10 +219,10 @@ XML; /** * @depends testPropPatch - * @expectedException \Sabre\HTTP\ClientHttpException */ public function testPropPatchHTTPError() { + $this->expectException('Sabre\HTTP\ClientHttpException'); $client = new ClientMock([ 'baseUri' => '/', ]); @@ -239,10 +233,10 @@ XML; /** * @depends testPropPatch - * @expectedException \Sabre\HTTP\ClientException */ public function testPropPatchMultiStatusError() { + $this->expectException('Sabre\HTTP\ClientException'); $client = new ClientMock([ 'baseUri' => '/', ]); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php index 4bc79b597..2b759e5d0 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php @@ -4,16 +4,14 @@ declare(strict_types=1); namespace Sabre\DAV\FSExt; -require_once 'Sabre/TestUtil.php'; - class FileTest extends \PHPUnit\Framework\TestCase { - public function setUp() + public function setup(): void { file_put_contents(SABRE_TEMPDIR.'/file.txt', 'Contents'); } - public function tearDown() + public function teardown(): void { \Sabre\TestUtil::clearTempDir(); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php index daa04c354..79ffb0186 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php @@ -7,8 +7,6 @@ namespace Sabre\DAV\FSExt; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAV/AbstractServer.php'; - class ServerTest extends DAV\AbstractServer { protected function getRootNode() @@ -34,7 +32,7 @@ class ServerTest extends DAV\AbstractServer $this->response->getHeaders() ); - $this->assertEquals('Test contents', stream_get_contents($this->response->body)); + $this->assertEquals('Test contents', $this->response->getBodyAsString()); } public function testHEAD() @@ -55,7 +53,7 @@ class ServerTest extends DAV\AbstractServer ); $this->assertEquals(200, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); } public function testPut() @@ -73,7 +71,7 @@ class ServerTest extends DAV\AbstractServer ], $this->response->getHeaders()); $this->assertEquals(201, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals('Testing new file', file_get_contents($filename)); } @@ -105,7 +103,7 @@ class ServerTest extends DAV\AbstractServer ], $this->response->getHeaders()); $this->assertEquals(201, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertTrue(is_dir($this->tempDir.'/testcol')); } @@ -119,7 +117,7 @@ class ServerTest extends DAV\AbstractServer $this->assertEquals('0', $this->response->getHeader('Content-Length')); $this->assertEquals(204, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals('Testing updated file', file_get_contents($this->tempDir.'/test.txt')); } @@ -135,7 +133,7 @@ class ServerTest extends DAV\AbstractServer ], $this->response->getHeaders()); $this->assertEquals(204, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertFalse(file_exists($this->tempDir.'/test.txt')); } @@ -153,7 +151,7 @@ class ServerTest extends DAV\AbstractServer 'Content-Length' => ['0'], ], $this->response->getHeaders()); $this->assertEquals(204, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertFalse(file_exists($this->tempDir.'/testcol')); } @@ -173,7 +171,7 @@ class ServerTest extends DAV\AbstractServer ], $this->response->getHeaders()); $this->assertEquals(200, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); } public function testMove() @@ -185,7 +183,7 @@ class ServerTest extends DAV\AbstractServer $this->server->exec(); $this->assertEquals(201, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals([ 'Content-Length' => ['0'], @@ -220,7 +218,7 @@ class ServerTest extends DAV\AbstractServer $this->server->exec(); $this->assertEquals(201, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals([ 'Content-Length' => ['0'], @@ -241,7 +239,7 @@ class ServerTest extends DAV\AbstractServer $this->server->exec(); $this->assertEquals(201, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals([ 'Content-Length' => ['0'], diff --git a/vendor/sabre/dav/tests/Sabre/DAV/HTTPPreferParsingTest.php b/vendor/sabre/dav/tests/Sabre/DAV/HTTPPreferParsingTest.php index d0ff77eb4..7d6825612 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/HTTPPreferParsingTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/HTTPPreferParsingTest.php @@ -145,7 +145,7 @@ BLA $response = $this->request($request); - $this->assertEquals('', $response->getBodyAsString(), 'Expected empty body: '.$response->body); + $this->assertEquals('', $response->getBodyAsString(), 'Expected empty body: '.$response->getBodyAsString()); $this->assertEquals(204, $response->status); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php index 500ad6147..36b182c44 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php @@ -6,11 +6,9 @@ namespace Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/TestUtil.php'; - class Issue33Test extends \PHPUnit\Framework\TestCase { - public function setUp() + public function setup(): void { \Sabre\TestUtil::clearTempDir(); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php index 50f17a7dd..57a3255c7 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php @@ -4,8 +4,6 @@ declare(strict_types=1); namespace Sabre\DAV\Locks\Backend; -require_once 'Sabre/TestUtil.php'; - class FileTest extends AbstractTest { public function getBackend() @@ -16,7 +14,7 @@ class FileTest extends AbstractTest return $backend; } - public function tearDown() + public function teardown(): void { \Sabre\TestUtil::clearTempDir(); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php index a2a31e87f..02c3d39ba 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php @@ -7,12 +7,9 @@ namespace Sabre\DAV\Locks; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/HTTP/ResponseMock.php'; -require_once 'Sabre/TestUtil.php'; - class MSWordTest extends \PHPUnit\Framework\TestCase { - public function tearDown() + public function teardown(): void { \Sabre\TestUtil::clearTempDir(); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php index b3a0ac9af..9279afb5a 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php @@ -7,8 +7,6 @@ namespace Sabre\DAV\Locks; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAV/AbstractServer.php'; - class PluginTest extends DAV\AbstractServer { /** @@ -16,7 +14,7 @@ class PluginTest extends DAV\AbstractServer */ protected $locksPlugin; - public function setUp() + public function setup(): void { parent::setUp(); $locksBackend = new Backend\File(SABRE_TEMPDIR.'/locksdb'); @@ -77,9 +75,9 @@ class PluginTest extends DAV\AbstractServer $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); $this->assertTrue(1 === preg_match('/^<opaquelocktoken:(.*)>$/', $this->response->getHeader('Lock-Token')), 'We did not get a valid Locktoken back ('.$this->response->getHeader('Lock-Token').')'); - $this->assertEquals(200, $this->response->status, 'Got an incorrect status back. Response body: '.$this->response->body); + $this->assertEquals(200, $this->response->status, 'Got an incorrect status back. Response body: '.$this->response->getBodyAsString()); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->getBodyAsString()); $xml = simplexml_load_string($body); $xml->registerXPathNamespace('d', 'urn:DAV'); @@ -102,7 +100,7 @@ class PluginTest extends DAV\AbstractServer foreach ($elements as $elem) { $data = $xml->xpath($elem); - $this->assertEquals(1, count($data), 'We expected 1 match for the xpath expression "'.$elem.'". '.count($data).' were found. Full response body: '.$this->response->body); + $this->assertEquals(1, count($data), 'We expected 1 match for the xpath expression "'.$elem.'". '.count($data).' were found. Full response body: '.$this->response->getBodyAsString()); } $depth = $xml->xpath('/d:prop/d:lockdiscovery/d:activelock/d:depth'); @@ -112,6 +110,32 @@ class PluginTest extends DAV\AbstractServer $this->assertEquals($this->response->getHeader('Lock-Token'), '<'.(string) $token[0].'>', 'Token in response body didn\'t match token in response header.'); } + public function testLockWithContext() + { + $request = new HTTP\Request('LOCK', '/baseuri/test.txt'); + $request->setBody('<?xml version="1.0"?> +<D:lockinfo xmlns:D="DAV:"> + <D:lockscope><D:exclusive/></D:lockscope> + <D:locktype><D:write/></D:locktype> + <D:owner> + <D:href>http://example.org/~ejw/contact.html</D:href> + </D:owner> +</D:lockinfo>'); + + $this->server->setBaseUri('baseuri'); + $this->server->httpRequest = $request; + $this->server->exec(); + + $this->assertEquals(200, $this->response->status, 'Got an incorrect status back. Response body: '.$this->response->getBodyAsString()); + + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->getBodyAsString()); + $xml = simplexml_load_string($body); + $xml->registerXPathNamespace('d', 'urn:DAV'); + + $lockRoot = $xml->xpath('/d:prop/d:lockdiscovery/d:activelock/d:lockroot/d:href'); + $this->assertEquals('baseuri/test.txt', (string) $lockRoot[0]); + } + /** * @depends testLock */ @@ -137,7 +161,7 @@ class PluginTest extends DAV\AbstractServer $this->assertEquals('application/xml; charset=utf-8', $this->response->getHeader('Content-Type')); - $this->assertEquals(423, $this->response->status, 'Full response: '.$this->response->body); + $this->assertEquals(423, $this->response->status, 'Full response: '.$this->response->getBodyAsString()); } /** @@ -267,7 +291,7 @@ class PluginTest extends DAV\AbstractServer $this->response->getHeaders() ); - $this->assertEquals(409, $this->response->status, 'Got an incorrect status code. Full response body: '.$this->response->body); + $this->assertEquals(409, $this->response->status, 'Got an incorrect status code. Full response body: '.$this->response->getBodyAsString()); } /** @@ -329,7 +353,7 @@ class PluginTest extends DAV\AbstractServer $this->server->httpResponse = new HTTP\ResponseMock(); $this->server->invokeMethod($request, $this->server->httpResponse); - $this->assertEquals(204, $this->server->httpResponse->status, 'Got an incorrect status code. Full response body: '.$this->response->body); + $this->assertEquals(204, $this->server->httpResponse->status, 'Got an incorrect status code. Full response body: '.$this->response->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Length' => ['0'], @@ -366,7 +390,7 @@ class PluginTest extends DAV\AbstractServer $this->server->httpResponse = new HTTP\ResponseMock(); $this->server->invokeMethod($request, $this->server->httpResponse); - $this->assertEquals(204, $this->server->httpResponse->status, 'Got an incorrect status code. Full response body: '.$this->response->body); + $this->assertEquals(204, $this->server->httpResponse->status, 'Got an incorrect status code. Full response body: '.$this->response->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Length' => ['0'], @@ -629,7 +653,7 @@ class PluginTest extends DAV\AbstractServer $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(201, $this->response->status, 'A valid lock-token was provided for the source, so this MOVE operation must succeed. Full response body: '.$this->response->body); + $this->assertEquals(201, $this->response->status, 'A valid lock-token was provided for the source, so this MOVE operation must succeed. Full response body: '.$this->response->getBodyAsString()); } /** @@ -809,7 +833,7 @@ class PluginTest extends DAV\AbstractServer $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(204, $this->response->status, 'Incorrect status received. Full response body:'.$this->response->body); + $this->assertEquals(204, $this->response->status, 'Incorrect status received. Full response body:'.$this->response->getBodyAsString()); } public function testDeleteWithETagOnCollection() @@ -851,11 +875,9 @@ class PluginTest extends DAV\AbstractServer $this->assertEquals(LockInfo::TIMEOUT_INFINITE, $this->locksPlugin->getTimeoutHeader()); } - /** - * @expectedException \Sabre\DAV\Exception\BadRequest - */ public function testGetTimeoutHeaderInvalid() { + $this->expectException('Sabre\DAV\Exception\BadRequest'); $request = new HTTP\Request('GET', '/', ['Timeout' => 'yourmom']); $this->server->httpRequest = $request; diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php b/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php index e0bdecc09..041274706 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php @@ -31,7 +31,6 @@ class Collection extends DAV\Collection * Creates the object. * * @param string $name - * @param array $children * @param Collection $parent */ public function __construct($name, array $children = [], Collection $parent = null) @@ -88,8 +87,11 @@ class Collection extends DAV\Collection * * @return string|null */ - public function createFile($name, $data = '') + public function createFile($name, $data = null) { + if (null === $data) { + $data = ''; + } if (is_resource($data)) { $data = stream_get_contents($data); } @@ -120,8 +122,6 @@ class Collection extends DAV\Collection /** * Adds an already existing node to this collection. - * - * @param \Sabre\DAV\INode $node */ public function addNode(\Sabre\DAV\INode $node) { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php index c993e609d..54f7e4cb4 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php @@ -7,11 +7,9 @@ namespace Sabre\DAV\Mount; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAV/AbstractServer.php'; - class PluginTest extends DAV\AbstractServer { - public function setUp() + public function setup(): void { parent::setUp(); $this->server->addPlugin(new Plugin()); @@ -28,7 +26,7 @@ class PluginTest extends DAV\AbstractServer $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(501, $this->response->status, 'We expected GET to not be implemented for Directories. Response body: '.$this->response->body); + $this->assertEquals(501, $this->response->status, 'We expected GET to not be implemented for Directories. Response body: '.$this->response->getBodyAsString()); } public function testMountResponse() @@ -46,8 +44,8 @@ class PluginTest extends DAV\AbstractServer $this->assertEquals(200, $this->response->status); - $xml = simplexml_load_string($this->response->body); - $this->assertInstanceOf('SimpleXMLElement', $xml, 'Response was not a valid xml document. The list of errors:'.print_r(libxml_get_errors(), true).'. xml body: '.$this->response->body.'. What type we got: '.gettype($xml).' class, if object: '.get_class($xml)); + $xml = simplexml_load_string($this->response->getBodyAsString()); + $this->assertInstanceOf('SimpleXMLElement', $xml, 'Response was not a valid xml document. The list of errors:'.print_r(libxml_get_errors(), true).'. xml body: '.$this->response->getBodyAsString().'. What type we got: '.gettype($xml).' class, if object: '.get_class($xml)); $xml->registerXPathNamespace('dm', 'http://purl.org/NET/webdav/mount'); $url = $xml->xpath('//dm:url'); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php index 6b6652967..7066c49fc 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php @@ -4,13 +4,11 @@ declare(strict_types=1); namespace Sabre\DAV; -require_once 'Sabre/TestUtil.php'; - class ObjectTreeTest extends \PHPUnit\Framework\TestCase { protected $tree; - public function setup() + public function setup(): void { \Sabre\TestUtil::clearTempDir(); mkdir(SABRE_TEMPDIR.'/root'); @@ -21,7 +19,7 @@ class ObjectTreeTest extends \PHPUnit\Framework\TestCase $this->tree = new Tree($rootNode); } - public function teardown() + public function teardown(): void { \Sabre\TestUtil::clearTempDir(); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php index 63d692ec9..4d99aee7d 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php @@ -6,14 +6,12 @@ namespace Sabre\DAV\PartialUpdate; use Sabre\HTTP; -require_once 'Sabre/DAV/PartialUpdate/FileMock.php'; - class PluginTest extends \Sabre\DAVServerTest { protected $node; protected $plugin; - public function setUp() + public function setup(): void { $this->node = new FileMock(); $this->tree[] = $this->node; @@ -44,7 +42,7 @@ class PluginTest extends \Sabre\DAVServerTest ]); $response = $this->request($request); - $this->assertEquals(400, $response->status, 'Full response body:'.$response->body); + $this->assertEquals(400, $response->status, 'Full response body:'.$response->getBodyAsString()); } public function testPatchNotSupported() @@ -56,7 +54,7 @@ class PluginTest extends \Sabre\DAVServerTest ); $response = $this->request($request); - $this->assertEquals(405, $response->status, 'Full response body:'.$response->body); + $this->assertEquals(405, $response->status, 'Full response body:'.$response->getBodyAsString()); } public function testPatchNoContentType() @@ -68,7 +66,7 @@ class PluginTest extends \Sabre\DAVServerTest ); $response = $this->request($request); - $this->assertEquals(415, $response->status, 'Full response body:'.$response->body); + $this->assertEquals(415, $response->status, 'Full response body:'.$response->getBodyAsString()); } public function testPatchBadRange() @@ -80,7 +78,7 @@ class PluginTest extends \Sabre\DAVServerTest ); $response = $this->request($request); - $this->assertEquals(416, $response->status, 'Full response body:'.$response->body); + $this->assertEquals(416, $response->status, 'Full response body:'.$response->getBodyAsString()); } public function testPatchNoLength() @@ -92,7 +90,7 @@ class PluginTest extends \Sabre\DAVServerTest ); $response = $this->request($request); - $this->assertEquals(411, $response->status, 'Full response body:'.$response->body); + $this->assertEquals(411, $response->status, 'Full response body:'.$response->getBodyAsString()); } public function testPatchSuccess() @@ -104,7 +102,7 @@ class PluginTest extends \Sabre\DAVServerTest ); $response = $this->request($request); - $this->assertEquals(204, $response->status, 'Full response body:'.$response->body); + $this->assertEquals(204, $response->status, 'Full response body:'.$response->getBodyAsString()); $this->assertEquals('aaabbbaa', $this->node->get()); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php index 56b2d576f..a727a13e2 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php @@ -18,7 +18,7 @@ class SpecificationTest extends \PHPUnit\Framework\TestCase { protected $server; - public function setUp() + public function setup(): void { $tree = [ new File(SABRE_TEMPDIR.'/foobar.txt'), @@ -32,7 +32,7 @@ class SpecificationTest extends \PHPUnit\Framework\TestCase $this->server = $server; } - public function tearDown() + public function teardown(): void { \Sabre\TestUtil::clearTempDir(); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php index 7d55ea02e..b1f6754ea 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php @@ -6,8 +6,6 @@ namespace Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAV/AbstractServer.php'; - class ServerEventsTest extends AbstractServer { private $tempPath; diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php index 8e5bc6a64..02c6a4633 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerMKCOLTest.php @@ -26,7 +26,7 @@ class ServerMKCOLTest extends AbstractServer ], $this->response->getHeaders()); $this->assertEquals(201, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertTrue(is_dir($this->tempDir.'/testcol')); } @@ -129,7 +129,7 @@ class ServerMKCOLTest extends AbstractServer 'Content-Type' => ['application/xml; charset=utf-8'], ], $this->response->getHeaders()); - $this->assertEquals(400, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->body); + $this->assertEquals(400, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -160,7 +160,7 @@ class ServerMKCOLTest extends AbstractServer 'Content-Type' => ['application/xml; charset=utf-8'], ], $this->response->getHeaders()); - $this->assertEquals(403, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->body); + $this->assertEquals(403, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -191,7 +191,7 @@ class ServerMKCOLTest extends AbstractServer 'Content-Length' => ['0'], ], $this->response->getHeaders()); - $this->assertEquals(201, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->body); + $this->assertEquals(201, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -224,7 +224,7 @@ class ServerMKCOLTest extends AbstractServer 'Content-Length' => ['0'], ], $this->response->getHeaders()); - $this->assertEquals(201, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->body); + $this->assertEquals(201, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -248,7 +248,7 @@ class ServerMKCOLTest extends AbstractServer 'Content-Type' => ['application/xml; charset=utf-8'], ], $this->response->getHeaders()); - $this->assertEquals(409, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->body); + $this->assertEquals(409, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -272,7 +272,7 @@ class ServerMKCOLTest extends AbstractServer 'Content-Type' => ['application/xml; charset=utf-8'], ], $this->response->getHeaders()); - $this->assertEquals(409, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->body); + $this->assertEquals(409, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -297,7 +297,7 @@ class ServerMKCOLTest extends AbstractServer 'Allow' => ['OPTIONS, GET, HEAD, DELETE, PROPFIND, PUT, PROPPATCH, COPY, MOVE, REPORT'], ], $this->response->getHeaders()); - $this->assertEquals(405, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->body); + $this->assertEquals(405, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->getBodyAsString()); } /** @@ -323,15 +323,14 @@ class ServerMKCOLTest extends AbstractServer $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Wrong statuscode received. Full response body: '.$this->response->body); + $bodyAsString = $this->response->getBodyAsString(); + $this->assertEquals(207, $this->response->status, 'Wrong statuscode received. Full response body: '.$bodyAsString); $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], ], $this->response->getHeaders()); - $responseBody = $this->response->getBodyAsString(); - $expected = <<<XML <?xml version="1.0"?> <d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns"> @@ -349,7 +348,7 @@ XML; $this->assertXmlStringEqualsXmlString( $expected, - $responseBody + $bodyAsString ); } } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php index 35de59e37..47e1e6b4c 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php @@ -6,9 +6,6 @@ namespace Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAV/AbstractServer.php'; -require_once 'Sabre/DAV/TestPlugin.php'; - class ServerPluginTest extends AbstractServer { /** @@ -16,7 +13,7 @@ class ServerPluginTest extends AbstractServer */ protected $testPlugin; - public function setUp() + public function setup(): void { parent::setUp(); @@ -60,7 +57,7 @@ class ServerPluginTest extends AbstractServer ], $this->response->getHeaders()); $this->assertEquals(200, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals('OPTIONS', $this->testPlugin->beforeMethod); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php deleted file mode 100644 index fa88e9095..000000000 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php +++ /dev/null @@ -1,283 +0,0 @@ -<?php - -declare(strict_types=1); - -namespace Sabre\DAV; - -use Sabre\HTTP; - -require_once 'Sabre/HTTP/ResponseMock.php'; - -class ServerPreconditionsTest extends \PHPUnit\Framework\TestCase -{ - /** - * @expectedException \Sabre\DAV\Exception\PreconditionFailed - */ - public function testIfMatchNoNode() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/bar', ['If-Match' => '*']); - $httpResponse = new HTTP\Response(); - $server->checkPreconditions($httpRequest, $httpResponse); - } - - public function testIfMatchHasNode() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '*']); - $httpResponse = new HTTP\Response(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - /** - * @expectedException \Sabre\DAV\Exception\PreconditionFailed - */ - public function testIfMatchWrongEtag() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '1234']); - $httpResponse = new HTTP\Response(); - $server->checkPreconditions($httpRequest, $httpResponse); - } - - public function testIfMatchCorrectEtag() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '"abc123"']); - $httpResponse = new HTTP\Response(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - /** - * Evolution sometimes uses \" instead of " for If-Match headers. - * - * @depends testIfMatchCorrectEtag - */ - public function testIfMatchEvolutionEtag() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '\\"abc123\\"']); - $httpResponse = new HTTP\Response(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - public function testIfMatchMultiple() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '"hellothere", "abc123"']); - $httpResponse = new HTTP\Response(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - public function testIfNoneMatchNoNode() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/bar', ['If-None-Match' => '*']); - $httpResponse = new HTTP\Response(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - /** - * @expectedException \Sabre\DAV\Exception\PreconditionFailed - */ - public function testIfNoneMatchHasNode() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '*']); - $httpResponse = new HTTP\Response(); - $server->checkPreconditions($httpRequest, $httpResponse); - } - - public function testIfNoneMatchWrongEtag() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234"']); - $httpResponse = new HTTP\Response(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - public function testIfNoneMatchWrongEtagMultiple() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234", "5678"']); - $httpResponse = new HTTP\Response(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - /** - * @expectedException \Sabre\DAV\Exception\PreconditionFailed - */ - public function testIfNoneMatchCorrectEtag() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"abc123"']); - $httpResponse = new HTTP\Response(); - $server->checkPreconditions($httpRequest, $httpResponse); - } - - /** - * @expectedException \Sabre\DAV\Exception\PreconditionFailed - */ - public function testIfNoneMatchCorrectEtagMultiple() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234, "abc123"']); - $httpResponse = new HTTP\Response(); - $server->checkPreconditions($httpRequest, $httpResponse); - } - - public function testIfNoneMatchCorrectEtagAsGet() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', ['If-None-Match' => '"abc123"']); - $server->httpResponse = new HTTP\ResponseMock(); - - $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse)); - $this->assertEquals(304, $server->httpResponse->getStatus()); - $this->assertEquals(['ETag' => ['"abc123"']], $server->httpResponse->getHeaders()); - } - - /** - * This was a test written for issue #515. - */ - public function testNoneMatchCorrectEtagEnsureSapiSent() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $server->sapi = new HTTP\SapiMock(); - HTTP\SapiMock::$sent = 0; - $httpRequest = new HTTP\Request('GET', '/foo', ['If-None-Match' => '"abc123"']); - $server->httpRequest = $httpRequest; - $server->httpResponse = new HTTP\ResponseMock(); - - $server->exec(); - - $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse)); - $this->assertEquals(304, $server->httpResponse->getStatus()); - $this->assertEquals([ - 'ETag' => ['"abc123"'], - 'X-Sabre-Version' => [Version::VERSION], - ], $server->httpResponse->getHeaders()); - $this->assertEquals(1, HTTP\SapiMock::$sent); - } - - public function testIfModifiedSinceUnModified() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', [ - 'If-Modified-Since' => 'Sun, 06 Nov 1994 08:49:37 GMT', - ]); - $server->httpResponse = new HTTP\ResponseMock(); - $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse)); - - $this->assertEquals(304, $server->httpResponse->status); - $this->assertEquals([ - 'Last-Modified' => ['Sat, 06 Apr 1985 23:30:00 GMT'], - ], $server->httpResponse->getHeaders()); - } - - public function testIfModifiedSinceModified() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', [ - 'If-Modified-Since' => 'Tue, 06 Nov 1984 08:49:37 GMT', - ]); - - $httpResponse = new HTTP\ResponseMock(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - public function testIfModifiedSinceInvalidDate() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', [ - 'If-Modified-Since' => 'Your mother', - ]); - $httpResponse = new HTTP\ResponseMock(); - - // Invalid dates must be ignored, so this should return true - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - public function testIfModifiedSinceInvalidDate2() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', [ - 'If-Unmodified-Since' => 'Sun, 06 Nov 1994 08:49:37 EST', - ]); - $httpResponse = new HTTP\ResponseMock(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - public function testIfUnmodifiedSinceUnModified() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', [ - 'If-Unmodified-Since' => 'Sun, 06 Nov 1994 08:49:37 GMT', - ]); - $httpResponse = new HTTP\Response(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } - - /** - * @expectedException \Sabre\DAV\Exception\PreconditionFailed - */ - public function testIfUnmodifiedSinceModified() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', [ - 'If-Unmodified-Since' => 'Tue, 06 Nov 1984 08:49:37 GMT', - ]); - $httpResponse = new HTTP\ResponseMock(); - $server->checkPreconditions($httpRequest, $httpResponse); - } - - public function testIfUnmodifiedSinceInvalidDate() - { - $root = new SimpleCollection('root', [new ServerPreconditionsNode()]); - $server = new Server($root); - $httpRequest = new HTTP\Request('GET', '/foo', [ - 'If-Unmodified-Since' => 'Sun, 06 Nov 1984 08:49:37 CET', - ]); - $httpResponse = new HTTP\ResponseMock(); - $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse)); - } -} - -class ServerPreconditionsNode extends File -{ - public function getETag() - { - return '"abc123"'; - } - - public function getLastModified() - { - /* my birthday & time, I believe */ - return strtotime('1985-04-07 01:30 +02:00'); - } - - public function getName() - { - return 'foo'; - } -} diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php index 462fba664..cd1ccfa53 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php @@ -6,9 +6,6 @@ namespace Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/HTTP/ResponseMock.php'; -require_once 'Sabre/DAV/AbstractServer.php'; - class ServerPropsTest extends AbstractServer { protected function getRootNode() @@ -16,7 +13,7 @@ class ServerPropsTest extends AbstractServer return new FSExt\Directory(SABRE_TEMPDIR); } - public function setUp() + public function setup(): void { if (file_exists(SABRE_TEMPDIR.'../.sabredav')) { unlink(SABRE_TEMPDIR.'../.sabredav'); @@ -28,7 +25,7 @@ class ServerPropsTest extends AbstractServer $this->server->addPlugin(new Locks\Plugin(new Locks\Backend\File(SABRE_TEMPDIR.'/.locksdb'))); } - public function tearDown() + public function teardown(): void { parent::tearDown(); if (file_exists(SABRE_TEMPDIR.'../.locksdb')) { @@ -58,7 +55,7 @@ class ServerPropsTest extends AbstractServer $this->response->getHeaders() ); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->getBodyAsString()); $xml = simplexml_load_string($body); $xml->registerXPathNamespace('d', 'urn:DAV'); @@ -83,7 +80,7 @@ class ServerPropsTest extends AbstractServer $this->response->getHeaders() ); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->getBodyAsString()); $xml = simplexml_load_string($body); $xml->registerXPathNamespace('d', 'urn:DAV'); @@ -105,7 +102,7 @@ class ServerPropsTest extends AbstractServer $this->sendRequest($xml); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->getBodyAsString()); $xml = simplexml_load_string($body); $xml->registerXPathNamespace('d', 'urn:DAV'); @@ -139,7 +136,7 @@ class ServerPropsTest extends AbstractServer $this->sendRequest($xml); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->getBodyAsString()); $xml = simplexml_load_string($body); $xml->registerXPathNamespace('d', 'urn:DAV'); @@ -157,7 +154,7 @@ class ServerPropsTest extends AbstractServer </d:propfind>'; $this->sendRequest($xml); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->getBodyAsString()); $xml = simplexml_load_string($body); $xml->registerXPathNamespace('d', 'urn:DAV'); $pathTests = [ diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php index 93ea083d8..6d5be4608 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php @@ -23,7 +23,7 @@ class ServerRangeTest extends \Sabre\DAVServerTest */ protected $lastModified; - public function setUp() + public function setup(): void { parent::setUp(); $this->server->createFile('files/test.txt', 'Test contents'); @@ -133,7 +133,7 @@ class ServerRangeTest extends \Sabre\DAVServerTest $request = new HTTP\Request('GET', '/files/no-seeking.txt', ['Range' => 'bytes=2-5']); $response = $this->request($request); - $this->assertEquals(206, $response->getStatus(), $response); + $this->assertEquals(206, $response->getStatus()); $this->assertEquals([ 'X-Sabre-Version' => [Version::VERSION], 'Content-Type' => ['application/octet-stream'], diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php index 53153151b..e4dd3cdb6 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php @@ -18,11 +18,9 @@ class ServerSimpleTest extends AbstractServer $this->assertEquals($nodes[0], $server->tree->getNodeForPath('hello')); } - /** - * @expectedException \Sabre\DAV\Exception - */ public function testConstructInvalidArg() { + $this->expectException('Sabre\DAV\Exception'); $server = new Server(1); } @@ -42,7 +40,7 @@ class ServerSimpleTest extends AbstractServer ], $this->response->getHeaders()); $this->assertEquals(200, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); } public function testOptionsUnmapped() @@ -62,7 +60,7 @@ class ServerSimpleTest extends AbstractServer ], $this->response->getHeaders()); $this->assertEquals(200, $this->response->status); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); } public function testNonExistantMethod() @@ -189,11 +187,9 @@ class ServerSimpleTest extends AbstractServer } } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testCalculateUriBreakout() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $uri = '/path1/'; $this->server->setBaseUri('/path2/'); @@ -311,10 +307,10 @@ class ServerSimpleTest extends AbstractServer /** * @depends testGuessBaseUri - * @expectedException \Sabre\DAV\Exception */ public function testGuessBaseUriBadConfig() { + $this->expectException('Sabre\DAV\Exception'); $serverVars = [ 'REQUEST_METHOD' => 'GET', 'REQUEST_URI' => '/index.php/root/heyyy', @@ -371,7 +367,7 @@ class ServerSimpleTest extends AbstractServer $this->response->getHeaders() ); - $this->assertEquals(415, $this->response->status, 'We got an incorrect status back. Full response body follows: '.$this->response->body); + $this->assertEquals(415, $this->response->status, 'We got an incorrect status back. Full response body follows: '.$this->response->getBodyAsString()); } public function testReportIntercepted() @@ -394,7 +390,7 @@ class ServerSimpleTest extends AbstractServer $this->response->getHeaders() ); - $this->assertEquals(418, $this->response->status, 'We got an incorrect status back. Full response body follows: '.$this->response->body); + $this->assertEquals(418, $this->response->status, 'We got an incorrect status back. Full response body follows: '.$this->response->getBodyAsString()); } public function reportHandler($reportName, $result, $path) diff --git a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php index 1e4b92197..bc36c6b78 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php @@ -72,19 +72,15 @@ class StringUtilTest extends \PHPUnit\Framework\TestCase ]; } - /** - * @expectedException \Sabre\DAV\Exception\BadRequest - */ public function testBadCollation() { + $this->expectException('Sabre\DAV\Exception\BadRequest'); StringUtil::textMatch('foobar', 'foo', 'blabla', 'contains'); } - /** - * @expectedException \Sabre\DAV\Exception\BadRequest - */ public function testBadMatchType() { + $this->expectException('Sabre\DAV\Exception\BadRequest'); StringUtil::textMatch('foobar', 'foo', 'i;octet', 'booh'); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php b/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php index 352c8a3e7..951078bf0 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php @@ -8,7 +8,7 @@ use Sabre\HTTP; class TemporaryFileFilterTest extends AbstractServer { - public function setUp() + public function setup(): void { parent::setUp(); $plugin = new TemporaryFileFilterPlugin(SABRE_TEMPDIR.'/tff'); @@ -22,7 +22,7 @@ class TemporaryFileFilterTest extends AbstractServer $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals(201, $this->response->status); $this->assertEquals('0', $this->response->getHeader('Content-Length')); @@ -37,7 +37,7 @@ class TemporaryFileFilterTest extends AbstractServer $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals(201, $this->response->status); $this->assertEquals([ 'X-Sabre-Temp' => ['true'], @@ -54,7 +54,7 @@ class TemporaryFileFilterTest extends AbstractServer $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals(201, $this->response->status); $this->assertEquals([ 'X-Sabre-Temp' => ['true'], @@ -78,7 +78,7 @@ class TemporaryFileFilterTest extends AbstractServer $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals(201, $this->response->status); $this->assertEquals([ 'X-Sabre-Temp' => ['true'], @@ -147,7 +147,7 @@ class TemporaryFileFilterTest extends AbstractServer $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); $this->assertEquals(201, $this->response->status); $this->assertEquals([ 'X-Sabre-Temp' => ['true'], @@ -157,12 +157,12 @@ class TemporaryFileFilterTest extends AbstractServer $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals(204, $this->response->status, "Incorrect status code received. Full body:\n".$this->response->body); + $this->assertEquals(204, $this->response->status, "Incorrect status code received. Full body:\n".$this->response->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Temp' => ['true'], ], $this->response->getHeaders()); - $this->assertEquals('', $this->response->body); + $this->assertEquals('', $this->response->getBodyAsString()); } public function testPutPropfind() @@ -172,7 +172,8 @@ class TemporaryFileFilterTest extends AbstractServer $this->server->httpRequest = $request; $this->server->exec(); - $this->assertEquals('', $this->response->body); + $bodyAsString = $this->response->getBodyAsString(); + $this->assertEquals('', $bodyAsString); $this->assertEquals(201, $this->response->status); $this->assertEquals([ 'X-Sabre-Temp' => ['true'], @@ -183,13 +184,14 @@ class TemporaryFileFilterTest extends AbstractServer $this->server->httpRequest = ($request); $this->server->exec(); - $this->assertEquals(207, $this->response->status, 'Incorrect status code returned. Body: '.$this->response->body); + $bodyAsString = $this->response->getBodyAsString(); + $this->assertEquals(207, $this->response->status, 'Incorrect status code returned. Body: '.$bodyAsString); $this->assertEquals([ 'X-Sabre-Temp' => ['true'], 'Content-Type' => ['application/xml; charset=utf-8'], ], $this->response->getHeaders()); - $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $this->response->body); + $body = preg_replace("/xmlns(:[A-Za-z0-9_])?=(\"|\')DAV:(\"|\')/", 'xmlns\\1="urn:DAV"', $bodyAsString); $xml = simplexml_load_string($body); $xml->registerXPathNamespace('d', 'urn:DAV'); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php index 51ff5ccde..e3f04ea3a 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php @@ -203,8 +203,6 @@ class TreeFileTester extends File implements IProperties * * To update specific properties, call the 'handle' method on this object. * Read the PropPatch documentation for more information. - * - * @param PropPatch $propPatch */ public function propPatch(PropPatch $propPatch) { @@ -221,8 +219,6 @@ class TreeMultiGetTester extends TreeDirectoryTester implements IMultiGet * * If any children are not found, you do not have to return them. * - * @param array $paths - * * @return array */ public function getMultipleChildren(array $paths) diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php index 3627991bf..715559df3 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php @@ -9,11 +9,9 @@ use Sabre\HTTP; class ACLMethodTest extends \PHPUnit\Framework\TestCase { - /** - * @expectedException \Sabre\DAV\Exception\BadRequest - */ public function testCallback() { + $this->expectException('Sabre\DAV\Exception\BadRequest'); $acl = new Plugin(); $server = new DAV\Server(); $server->addPlugin(new DAV\Auth\Plugin()); @@ -23,11 +21,11 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase } /** - /** - * @expectedException \Sabre\DAV\Exception\MethodNotAllowed + /** */ public function testNotSupportedByNode() { + $this->expectException('Sabre\DAV\Exception\MethodNotAllowed'); $tree = [ new DAV\SimpleCollection('test'), ]; @@ -64,11 +62,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase $this->assertFalse($acl->httpACL($server->httpRequest, $server->httpResponse)); } - /** - * @expectedException \Sabre\DAVACL\Exception\NotRecognizedPrincipal - */ public function testUnrecognizedPrincipal() { + $this->expectException('Sabre\DAVACL\Exception\NotRecognizedPrincipal'); $tree = [ new MockACLNode('test', []), ]; @@ -89,11 +85,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase $acl->httpACL($server->httpRequest, $server->httpResponse); } - /** - * @expectedException \Sabre\DAVACL\Exception\NotRecognizedPrincipal - */ public function testUnrecognizedPrincipal2() { + $this->expectException('Sabre\DAVACL\Exception\NotRecognizedPrincipal'); $tree = [ new MockACLNode('test', []), new DAV\SimpleCollection('principals', [ @@ -117,11 +111,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase $acl->httpACL($server->httpRequest, $server->httpResponse); } - /** - * @expectedException \Sabre\DAVACL\Exception\NotSupportedPrivilege - */ public function testUnknownPrivilege() { + $this->expectException('Sabre\DAVACL\Exception\NotSupportedPrivilege'); $tree = [ new MockACLNode('test', []), ]; @@ -142,11 +134,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase $acl->httpACL($server->httpRequest, $server->httpResponse); } - /** - * @expectedException \Sabre\DAVACL\Exception\NoAbstract - */ public function testAbstractPrivilege() { + $this->expectException('Sabre\DAVACL\Exception\NoAbstract'); $tree = [ new MockACLNode('test', []), ]; @@ -170,11 +160,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase $acl->httpACL($server->httpRequest, $server->httpResponse); } - /** - * @expectedException \Sabre\DAVACL\Exception\AceConflict - */ public function testUpdateProtectedPrivilege() { + $this->expectException('Sabre\DAVACL\Exception\AceConflict'); $oldACL = [ [ 'principal' => 'principals/notfound', @@ -203,11 +191,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase $acl->httpACL($server->httpRequest, $server->httpResponse); } - /** - * @expectedException \Sabre\DAVACL\Exception\AceConflict - */ public function testUpdateProtectedPrivilege2() { + $this->expectException('Sabre\DAVACL\Exception\AceConflict'); $oldACL = [ [ 'principal' => 'principals/notfound', @@ -236,11 +222,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase $acl->httpACL($server->httpRequest, $server->httpResponse); } - /** - * @expectedException \Sabre\DAVACL\Exception\AceConflict - */ public function testUpdateProtectedPrivilege3() { + $this->expectException('Sabre\DAVACL\Exception\AceConflict'); $oldACL = [ [ 'principal' => 'principals/notfound', diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php index 724abc685..04dd29c04 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php @@ -13,7 +13,7 @@ class AllowAccessTest extends \PHPUnit\Framework\TestCase */ protected $server; - public function setUp() + public function setup(): void { $nodes = [ new DAV\Mock\Collection('testdir', [ diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php index 3c3aaf6c9..566167ef0 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php @@ -14,7 +14,7 @@ class BlockAccessTest extends \PHPUnit\Framework\TestCase protected $server; protected $plugin; - public function setUp() + public function setup(): void { $nodes = [ new DAV\SimpleCollection('testdir'), @@ -36,11 +36,9 @@ class BlockAccessTest extends \PHPUnit\Framework\TestCase $this->server->addPlugin($this->plugin); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testGet() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('GET'); $this->server->httpRequest->setUrl('/testdir'); @@ -56,107 +54,87 @@ class BlockAccessTest extends \PHPUnit\Framework\TestCase $this->assertTrue($r); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testHEAD() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('HEAD'); $this->server->httpRequest->setUrl('/testdir'); $this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testOPTIONS() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('OPTIONS'); $this->server->httpRequest->setUrl('/testdir'); $this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testPUT() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('PUT'); $this->server->httpRequest->setUrl('/testdir'); $this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testPROPPATCH() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('PROPPATCH'); $this->server->httpRequest->setUrl('/testdir'); $this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testCOPY() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('COPY'); $this->server->httpRequest->setUrl('/testdir'); $this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testMOVE() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('MOVE'); $this->server->httpRequest->setUrl('/testdir'); $this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testACL() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('ACL'); $this->server->httpRequest->setUrl('/testdir'); $this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testLOCK() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->httpRequest->setMethod('LOCK'); $this->server->httpRequest->setUrl('/testdir'); $this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testBeforeBind() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->emit('beforeBind', ['testdir/file']); } - /** - * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges - */ public function testBeforeUnbind() { + $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges'); $this->server->emit('beforeUnbind', ['testdir']); } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php index 28e328ea6..8afe6d30f 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php @@ -7,8 +7,6 @@ namespace Sabre\DAVACL; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/HTTP/ResponseMock.php'; - class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase { public function getServer() @@ -75,7 +73,7 @@ class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase $server->exec(); - $this->assertEquals(207, $server->httpResponse->status, 'Incorrect status code received. Full body: '.$server->httpResponse->body); + $this->assertEquals(207, $server->httpResponse->status, 'Incorrect status code received. Full body: '.$server->httpResponse->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], @@ -93,7 +91,7 @@ class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:href' => 1, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($server->httpResponse->getBodyAsString()); $xml->registerXPathNamespace('d', 'DAV:'); $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); foreach ($check as $v1 => $v2) { @@ -106,7 +104,7 @@ class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase $count = $v2; } - $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response: '.$server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response: '.$server->httpResponse->getBodyAsString()); } } @@ -136,7 +134,7 @@ class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase $server->exec(); - $this->assertEquals(207, $server->httpResponse->status, 'Incorrect response status received. Full response body: '.$server->httpResponse->body); + $this->assertEquals(207, $server->httpResponse->status, 'Incorrect response status received. Full response body: '.$server->httpResponse->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], @@ -156,7 +154,7 @@ class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase '/d:multistatus/d:response/d:propstat/d:prop/s:href/d:response/d:propstat/d:prop/d:displayname' => 1, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($server->httpResponse->getBodyAsString()); $xml->registerXPathNamespace('d', 'DAV:'); $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); foreach ($check as $v1 => $v2) { @@ -219,7 +217,7 @@ class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/d:displayname' => 2, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($server->httpResponse->getBodyAsString()); $xml->registerXPathNamespace('d', 'DAV:'); $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); foreach ($check as $v1 => $v2) { @@ -291,7 +289,7 @@ class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase '/d:multistatus/d:response/d:propstat/d:prop/s:hreflist/d:response/d:propstat/d:prop/s:href/d:response/d:propstat/d:prop/d:displayname' => 1, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($server->httpResponse->getBodyAsString()); $xml->registerXPathNamespace('d', 'DAV:'); $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); foreach ($check as $v1 => $v2) { diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php index 9ab16df74..048b9f249 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php @@ -7,14 +7,11 @@ namespace Sabre\DAVACL; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAVACL/MockACLNode.php'; -require_once 'Sabre/HTTP/ResponseMock.php'; - class PluginAdminTest extends \PHPUnit\Framework\TestCase { public $server; - public function setUp() + public function setup(): void { $principalBackend = new PrincipalBackend\Mock(); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php index 169629a03..e6796e014 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php @@ -72,11 +72,9 @@ class PluginUpdatePropertiesTest extends \PHPUnit\Framework\TestCase $this->assertEquals(['bar', 'baz'], $tree[0]->getGroupMemberSet()); } - /** - * @expectedException \Sabre\DAV\Exception - */ public function testSetBadValue() { + $this->expectException('Sabre\DAV\Exception'); $tree = [ new MockPrincipal('foo', 'foo'), ]; diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php index 89f69b10a..b18ab9488 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php @@ -10,7 +10,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase { use DAV\DbTestHelperTrait; - public function setUp() + public function setup(): void { $this->dropTables(['principals', 'groupmembers']); $this->createSchema('principals'); @@ -190,7 +190,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase $this->assertNull($backend->findByUri('http://foo', 'principals')); } - public function testFindByUri() + public function testFindByUriWithMailtoAddress() { $pdo = $this->getPDO(); $backend = new PDO($pdo); @@ -199,4 +199,21 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase $backend->findByUri('mailto:user@example.org', 'principals') ); } + + public function testFindByUriWithUri() + { + $pdo = $this->getPDO(); + $backend = new PDO($pdo); + $this->assertEquals( + 'principals/user', + $backend->findByUri('principals/user', 'principals') + ); + } + + public function testFindByUriWithUnknownUri() + { + $pdo = $this->getPDO(); + $backend = new PDO($pdo); + $this->assertNull($backend->findByUri('principals/other', 'principals')); + } } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php index 551a77900..5f0434579 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php @@ -126,8 +126,7 @@ class Mock extends AbstractBackend * * Read the PropPatch documentation for more info and examples. * - * @param string $path - * @param \Sabre\DAV\PropPatch $propPatch + * @param string $path */ public function updatePrincipal($path, \Sabre\DAV\PropPatch $propPatch) { diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php index 68aebe2ae..2777281a8 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php @@ -33,10 +33,10 @@ class PrincipalCollectionTest extends \PHPUnit\Framework\TestCase /** * @depends testBasic - * @expectedException \Sabre\DAV\Exception\MethodNotAllowed */ public function testGetChildrenDisable() { + $this->expectException('Sabre\DAV\Exception\MethodNotAllowed'); $backend = new PrincipalBackend\Mock(); $pc = new PrincipalCollection($backend); $pc->disableListing = true; diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php index 3bdcfbbbd..6883f25b4 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php @@ -7,8 +7,6 @@ namespace Sabre\DAVACL; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/HTTP/ResponseMock.php'; - class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase { public function getServer() @@ -140,7 +138,8 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase $server->exec(); - $this->assertEquals(207, $server->httpResponse->status, $server->httpResponse->body); + $bodyAsString = $server->httpResponse->getBodyAsString(); + $this->assertEquals(207, $server->httpResponse->status, $bodyAsString); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], @@ -158,7 +157,7 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase '/d:multistatus/d:response/d:propstat/d:status' => 4, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($bodyAsString); $xml->registerXPathNamespace('d', 'DAV:'); foreach ($check as $v1 => $v2) { $xpath = is_int($v1) ? $v2 : $v1; @@ -170,7 +169,7 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase $count = $v2; } - $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->getBodyAsString()); } } @@ -211,7 +210,8 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase $server->exec(); - $this->assertEquals(207, $server->httpResponse->status, $server->httpResponse->body); + $bodyAsString = $server->httpResponse->getBodyAsString(); + $this->assertEquals(207, $server->httpResponse->status, $bodyAsString); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], @@ -229,7 +229,7 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase '/d:multistatus/d:response/d:propstat/d:status' => 0, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($bodyAsString); $xml->registerXPathNamespace('d', 'DAV:'); foreach ($check as $v1 => $v2) { $xpath = is_int($v1) ? $v2 : $v1; @@ -241,7 +241,7 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase $count = $v2; } - $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->getBodyAsString()); } } @@ -282,7 +282,8 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase $server->exec(); - $this->assertEquals(207, $server->httpResponse->status, $server->httpResponse->body); + $bodyAsString = $server->httpResponse->getBodyAsString(); + $this->assertEquals(207, $server->httpResponse->status, $bodyAsString); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], @@ -300,7 +301,7 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase '/d:multistatus/d:response/d:propstat/d:status' => 4, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($bodyAsString); $xml->registerXPathNamespace('d', 'DAV:'); foreach ($check as $v1 => $v2) { $xpath = is_int($v1) ? $v2 : $v1; @@ -312,7 +313,7 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase $count = $v2; } - $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->getBodyAsString()); } } @@ -346,7 +347,8 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase $server->exec(); - $this->assertEquals(207, $server->httpResponse->status, $server->httpResponse->body); + $bodyAsString = $server->httpResponse->getBodyAsString(); + $this->assertEquals(207, $server->httpResponse->status, $bodyAsString); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], @@ -358,7 +360,7 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase '/d:multistatus/d:response' => 0, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($bodyAsString); $xml->registerXPathNamespace('d', 'DAV:'); foreach ($check as $v1 => $v2) { $xpath = is_int($v1) ? $v2 : $v1; @@ -370,7 +372,7 @@ class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase $count = $v2; } - $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->getBodyAsString()); } } } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php index 04f168f92..ec834fe1a 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php @@ -7,8 +7,6 @@ namespace Sabre\DAVACL; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/HTTP/ResponseMock.php'; - class PrincipalSearchPropertySetTest extends \PHPUnit\Framework\TestCase { public function getServer() @@ -76,7 +74,7 @@ class PrincipalSearchPropertySetTest extends \PHPUnit\Framework\TestCase $server->exec(); - $this->assertEquals(400, $server->httpResponse->status, $server->httpResponse->body); + $this->assertEquals(400, $server->httpResponse->status, $server->httpResponse->getBodyAsString()); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], @@ -102,7 +100,8 @@ class PrincipalSearchPropertySetTest extends \PHPUnit\Framework\TestCase $server->exec(); - $this->assertEquals(200, $server->httpResponse->status, $server->httpResponse->body); + $bodyAsString = $server->httpResponse->getBodyAsString(); + $this->assertEquals(200, $server->httpResponse->status, $bodyAsString); $this->assertEquals([ 'X-Sabre-Version' => [DAV\Version::VERSION], 'Content-Type' => ['application/xml; charset=utf-8'], @@ -117,7 +116,7 @@ class PrincipalSearchPropertySetTest extends \PHPUnit\Framework\TestCase '/d:principal-search-property-set/d:principal-search-property/d:description' => 2, ]; - $xml = simplexml_load_string($server->httpResponse->body); + $xml = simplexml_load_string($bodyAsString); $xml->registerXPathNamespace('d', 'DAV:'); $xml->registerXPathNamespace('s', 'http://sabredav.org/ns'); foreach ($check as $v1 => $v2) { @@ -130,7 +129,7 @@ class PrincipalSearchPropertySetTest extends \PHPUnit\Framework\TestCase $count = $v2; } - $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$server->httpResponse->body); + $this->assertEquals($count, count($result), 'we expected '.$count.' appearances of '.$xpath.' . We found '.count($result).'. Full response body: '.$bodyAsString); } } } diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php index a4821da5a..7e1656a15 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php @@ -15,11 +15,9 @@ class PrincipalTest extends \PHPUnit\Framework\TestCase $this->assertTrue($principal instanceof Principal); } - /** - * @expectedException \Sabre\DAV\Exception - */ public function testConstructNoUri() { + $this->expectException('Sabre\DAV\Exception'); $principalBackend = new PrincipalBackend\Mock(); $principal = new Principal($principalBackend, []); } @@ -177,11 +175,9 @@ class PrincipalTest extends \PHPUnit\Framework\TestCase ], $principal->getACL()); } - /** - * @expectedException \Sabre\DAV\Exception\Forbidden - */ public function testSetACl() { + $this->expectException('Sabre\DAV\Exception\Forbidden'); $principalBackend = new PrincipalBackend\Mock(); $principal = new Principal($principalBackend, ['uri' => 'principals/admin']); $principal->setACL([]); diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php index a1e9ee36c..effa15838 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php @@ -7,9 +7,6 @@ namespace Sabre\DAVACL; use Sabre\DAV; use Sabre\HTTP; -require_once 'Sabre/DAVACL/MockPrincipal.php'; -require_once 'Sabre/DAVACL/MockACLNode.php'; - class SimplePluginTest extends \PHPUnit\Framework\TestCase { public function testValues() diff --git a/vendor/sabre/dav/tests/Sabre/DAVServerTest.php b/vendor/sabre/dav/tests/Sabre/DAVServerTest.php index 982090d23..2f64df08c 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVServerTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAVServerTest.php @@ -43,7 +43,7 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase protected $carddavCards = []; /** - * @var Sabre\DAV\Server + * @var \Sabre\DAV\Server */ protected $server; protected $tree = []; @@ -82,12 +82,17 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase protected $caldavSchedulePlugin; /** - * @var Sabre\DAV\Auth\Plugin + * @var CalDAV\ICSExportPlugin + */ + protected $caldavICSExportPlugin; + + /** + * @var \Sabre\DAV\Auth\Plugin */ protected $authPlugin; /** - * @var Sabre\DAV\Locks\Plugin + * @var \Sabre\DAV\Locks\Plugin */ protected $locksPlugin; @@ -109,7 +114,7 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase */ protected $autoLogin = null; - public function setUp() + public function setup(): void { $this->initializeEverything(); } @@ -193,7 +198,7 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase public function request($request, $expectedStatus = null) { if (is_array($request)) { - $request = HTTP\Request::createFromServerArray($request); + $request = HTTP\Sapi::createFromServerArray($request); } $response = new HTTP\ResponseMock(); @@ -295,6 +300,6 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase public function assertHttpStatus($expectedStatus, HTTP\Request $req) { $resp = $this->request($req); - $this->assertEquals((int) $expectedStatus, (int) $resp->status, 'Incorrect HTTP status received: '.$resp->body); + $this->assertEquals((int) $expectedStatus, (int) $resp->getStatus(), 'Incorrect HTTP status received: '.$resp->getStatus()); } } diff --git a/vendor/sabre/dav/tests/bootstrap.php b/vendor/sabre/dav/tests/bootstrap.php index 03e6006b9..d15805382 100644 --- a/vendor/sabre/dav/tests/bootstrap.php +++ b/vendor/sabre/dav/tests/bootstrap.php @@ -14,6 +14,11 @@ $autoLoader->addPsr4('Sabre\\Xml\\', __DIR__.'/../vendor/sabre/xml/tests/Sabre/X date_default_timezone_set('UTC'); +if ('TRUE' === getenv('RUN_TEST_WITH_STREAMING_PROPFIND')) { + echo 'Running unit tests with \Sabre\DAV\Server::$streamMultiStatus = true'; + \Sabre\DAV\Server::$streamMultiStatus = true; +} + // List of variables that can be set by the environment $environmentVars = [ 'SABRE_MYSQLUSER', @@ -39,6 +44,7 @@ $config = [ ]; if (file_exists(__DIR__.'/config.user.php')) { + $userConfig = []; include __DIR__.'/config.user.php'; foreach ($userConfig as $key => $value) { $config[$key] = $value; diff --git a/vendor/sabre/event/.gitattributes b/vendor/sabre/event/.gitattributes deleted file mode 100644 index 0fdd4b01c..000000000 --- a/vendor/sabre/event/.gitattributes +++ /dev/null @@ -1,2 +0,0 @@ -/examples export-ignore -/tests export-ignore diff --git a/vendor/sabre/event/.gitignore b/vendor/sabre/event/.gitignore deleted file mode 100644 index d06a78164..000000000 --- a/vendor/sabre/event/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -#composer -vendor -composer.lock - -#binaries -bin/sabre-cs-fixer -bin/php-cs-fixer -bin/phpunit - -#vim lock files -.*.swp - -#development stuff -tests/cov diff --git a/vendor/sabre/event/.php_cs.dist b/vendor/sabre/event/.php_cs.dist new file mode 100644 index 000000000..c5c78a971 --- /dev/null +++ b/vendor/sabre/event/.php_cs.dist @@ -0,0 +1,12 @@ +<?php + +$config = PhpCsFixer\Config::create(); +$config->getFinder() + ->exclude('vendor') + ->in(__DIR__); +$config->setRules([ + '@PSR1' => true, + '@Symfony' => true +]); + +return $config;
\ No newline at end of file diff --git a/vendor/sabre/event/.travis.yml b/vendor/sabre/event/.travis.yml deleted file mode 100644 index 020488b79..000000000 --- a/vendor/sabre/event/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -language: php -php: - - 7.0 - - 7.1 - - 7.2 - -env: - matrix: - - LOWEST_DEPS="" - - LOWEST_DEPS="--prefer-lowest" - -before_script: - - composer update --prefer-source $LOWEST_DEPS - -script: - - ./bin/phpunit - - ./bin/sabre-cs-fixer fix . --dry-run --diff - -sudo: false - -cache: vendor diff --git a/vendor/sabre/event/CHANGELOG.md b/vendor/sabre/event/CHANGELOG.md deleted file mode 100644 index 5b1fb2e68..000000000 --- a/vendor/sabre/event/CHANGELOG.md +++ /dev/null @@ -1,122 +0,0 @@ -ChangeLog -========= -5.0.3 (2018-05-03) ------------------- - -* Dropped remaining hhvm leftovers. -* #55: Fixed typo in WildcardEmitterTrait (@SamMousa) -* #54: export-ignore examples & tests in distribution (@staabm) - -5.0.2 (2017-04-29) ------------------- - -* #50: Fixed Promise\all to resolve immediately for empty arrays (@MadHed) -* #48, #49: Performance optimisations for EmitterTrait and WildcardEmitterTrait (@lunixyacht). - -5.0.1 (2016-10-29) ------------------- - -* #45: Fixed `Emitter` class to use the correct interface. (@felixfbecker). - - -5.0.0 (2016-10-23) ------------------- - -* #42: The `coroutine` function now supports `return` in the passed generator - function. This allows you to more generally return a value. This is a BC - break as this is a feature that was only made possible with PHP 7, and - before the coroutine function would only ever return the last thing that - was yielded. If you depended on that feature, replace your last `yield` with - a `return`. - - -4.0.0 (2016-09-19) ------------------- - -* sabre/event now requires PHP 7. If you need PHP 5.5 support, just keep - using 3.0.0. -* PHP 7 type hints are now used everywhere. We're also using strict_types. -* Support for a new `WildcardEmitter` which allows you to listen for events - using the `*` wildcard. -* Removed deprecated functions `Promise::error` and `Promise::all`. Instead, - use `Promise::otherwise` and `Promise\all()`. -* `EventEmitter`, `EventEmitterTrait` and `EventEmitterInterface` are now just - called `Emitter`, `EmitterTrait`, and `EmitterInterface`. -* When rejecting Promises, it's now _required_ to use an `Exception` or - `Throwable`. This makes the typical case simpler and reduces special cases. - -3.0.0 (2015-11-05) ------------------- - -* Now requires PHP 5.5! -* `Promise::all()` is moved to `Promise\all()`. -* Aside from the `Promise\all()` function, there's now also `Promise\race()`. -* `Promise\reject()` and `Promise\resolve()` have also been added. -* Now 100% compatible with the Ecmascript 6 Promise. - - -3.0.0-alpha1 (2015-10-23) -------------------------- - -* This package now requires PHP 5.5. -* #26: Added an event loop implementation. Also knows as the Reactor Pattern. -* Renamed `Promise::error` to `Promise::otherwise` to be consistent with - ReactPHP and Guzzle. The `error` method is kept for BC but will be removed - in a future version. -* #27: Support for Promise-based coroutines via the `Sabre\Event\coroutine` - function. -* BC Break: Promises now use the EventLoop to run "then"-events in a separate - execution context. In practise that means you need to run the event loop to - wait for any `then`/`otherwise` callbacks to trigger. -* Promises now have a `wait()` method. Allowing you to make a promise - synchronous and simply wait for a result (or exception) to happen. - - -2.0.2 (2015-05-19) ------------------- - -* This release has no functional changes. It's just been brought up to date - with the latest coding standards. - - -2.0.1 (2014-10-06) ------------------- - -* Fixed: `$priority` was ignored in `EventEmitter::once` method. -* Fixed: Breaking the event chain was not possible in `EventEmitter::once`. - - -2.0.0 (2014-06-21) ------------------- - -* Added: When calling emit, it's now possible to specify a callback that will be - triggered after each method handled. This is dubbed the 'continueCallback' and - can be used to implement strategy patterns. -* Added: Promise object! -* Changed: EventEmitter::listeners now returns just the callbacks for an event, - and no longer returns the list by reference. The list is now automatically - sorted by priority. -* Update: Speed improvements. -* Updated: It's now possible to remove all listeners for every event. -* Changed: Now uses psr-4 autoloading. - - -1.0.1 (2014-06-12) ------------------- - -* hhvm compatible! -* Fixed: Issue #4. Compatiblitiy for PHP < 5.4.14. - - -1.0.0 (2013-07-19) ------------------- - -* Added: removeListener, removeAllListeners -* Added: once, to only listen to an event emitting once. -* Added README.md. - - -0.0.1-alpha (2013-06-29) ------------------------- - -* First version! diff --git a/vendor/sabre/event/README.md b/vendor/sabre/event/README.md deleted file mode 100644 index 9e2bdd042..000000000 --- a/vendor/sabre/event/README.md +++ /dev/null @@ -1,51 +0,0 @@ -sabre/event -=========== - -A lightweight library for event-based development in PHP. - -This library provides the following event-based concepts: - -1. EventEmitter. -2. Promises. -3. An event loop. -4. Co-routines. - -Full documentation can be found on [the website][1]. - -Installation ------------- - -Make sure you have [composer][3] installed, and then run: - - composer require sabre/event "^3.0" - -This package requires PHP 5.5. The 2.0 branch is still maintained as well, and -supports PHP 5.4. - -Build status ------------- - -| branch | status | -| ------ | ------ | -| master | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=master)](https://travis-ci.org/sabre-io/event) | -| 3.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=2.0)](https://travis-ci.org/sabre-io/event) | -| 2.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=2.0)](https://travis-ci.org/sabre-io/event) | -| 1.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=1.0)](https://travis-ci.org/sabre-io/event) | -| php53 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=php53)](https://travis-ci.org/sabre-io/event) | - - -Questions? ----------- - -Head over to the [sabre/dav mailinglist][4], or you can also just open a ticket -on [GitHub][5]. - -Made at fruux -------------- - -This library is being developed by [fruux](https://fruux.com/). Drop us a line for commercial services or enterprise support. - -[1]: http://sabre.io/event/ -[3]: http://getcomposer.org/ -[4]: http://groups.google.com/group/sabredav-discuss -[5]: https://github.com/fruux/sabre-event/issues/ diff --git a/vendor/sabre/event/_config.yml b/vendor/sabre/event/_config.yml deleted file mode 100644 index c4192631f..000000000 --- a/vendor/sabre/event/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman
\ No newline at end of file diff --git a/vendor/sabre/event/composer.json b/vendor/sabre/event/composer.json index d7a13c5ca..144704118 100644 --- a/vendor/sabre/event/composer.json +++ b/vendor/sabre/event/composer.json @@ -16,7 +16,7 @@ "homepage": "http://sabre.io/event/", "license": "BSD-3-Clause", "require": { - "php": ">=7.0" + "php": "^7.1" }, "authors": [ { @@ -41,8 +41,8 @@ ] }, "require-dev": { - "sabre/cs": "~1.0.0", - "phpunit/phpunit" : ">=6" + "friendsofphp/php-cs-fixer": "~2.16.1", + "phpunit/phpunit" : "^7 || ^8" }, "config" : { "bin-dir" : "bin/" diff --git a/vendor/sabre/event/lib/Emitter.php b/vendor/sabre/event/lib/Emitter.php index ab5e8c90e..e1f23fc87 100644 --- a/vendor/sabre/event/lib/Emitter.php +++ b/vendor/sabre/event/lib/Emitter.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; @@ -11,8 +13,7 @@ namespace Sabre\Event; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -class Emitter implements EmitterInterface { - +class Emitter implements EmitterInterface +{ use EmitterTrait; - } diff --git a/vendor/sabre/event/lib/EmitterInterface.php b/vendor/sabre/event/lib/EmitterInterface.php index a7e4b6132..6ce0f34db 100644 --- a/vendor/sabre/event/lib/EmitterInterface.php +++ b/vendor/sabre/event/lib/EmitterInterface.php @@ -1,9 +1,11 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; /** - * Event Emitter Interface + * Event Emitter Interface. * * Anything that accepts listeners and emits events should implement this * interface. @@ -12,26 +14,22 @@ namespace Sabre\Event; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -interface EmitterInterface { - +interface EmitterInterface +{ /** * Subscribe to an event. - * - * @return void */ - function on(string $eventName, callable $callBack, int $priority = 100); + public function on(string $eventName, callable $callBack, int $priority = 100); /** * Subscribe to an event exactly once. - * - * @return void */ - function once(string $eventName, callable $callBack, int $priority = 100); + public function once(string $eventName, callable $callBack, int $priority = 100); /** * Emits an event. * - * This method will return true if 0 or more listeners were succesfully + * This method will return true if 0 or more listeners were successfully * handled. false is returned if one of the events broke the event chain. * * If the continueCallBack is specified, this callback will be called every @@ -49,7 +47,7 @@ interface EmitterInterface { * Lastly, if there are 5 event handlers for an event. The continueCallback * will be called at most 4 times. */ - function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool; + public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool; /** * Returns the list of listeners for an event. @@ -59,7 +57,7 @@ interface EmitterInterface { * * @return callable[] */ - function listeners(string $eventName) : array; + public function listeners(string $eventName): array; /** * Removes a specific listener from an event. @@ -67,7 +65,7 @@ interface EmitterInterface { * If the listener could not be found, this method will return false. If it * was removed it will return true. */ - function removeListener(string $eventName, callable $listener) : bool; + public function removeListener(string $eventName, callable $listener): bool; /** * Removes all listeners. @@ -75,9 +73,6 @@ interface EmitterInterface { * If the eventName argument is specified, all listeners for that event are * removed. If it is not specified, every listener for every event is * removed. - * - * @return void */ - function removeAllListeners(string $eventName = null); - + public function removeAllListeners(string $eventName = null); } diff --git a/vendor/sabre/event/lib/EmitterTrait.php b/vendor/sabre/event/lib/EmitterTrait.php index dafae362f..5502ef9f3 100644 --- a/vendor/sabre/event/lib/EmitterTrait.php +++ b/vendor/sabre/event/lib/EmitterTrait.php @@ -1,9 +1,11 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; /** - * Event Emitter Trait + * Event Emitter Trait. * * This trait contains all the basic functions to implement an * EventEmitterInterface. @@ -15,53 +17,45 @@ namespace Sabre\Event; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -trait EmitterTrait { - - +trait EmitterTrait +{ /** * Subscribe to an event. - * - * @return void */ - function on(string $eventName, callable $callBack, int $priority = 100) { - + public function on(string $eventName, callable $callBack, int $priority = 100) + { if (!isset($this->listeners[$eventName])) { $this->listeners[$eventName] = [ true, // If there's only one item, it's sorted [$priority], - [$callBack] + [$callBack], ]; } else { $this->listeners[$eventName][0] = false; // marked as unsorted $this->listeners[$eventName][1][] = $priority; $this->listeners[$eventName][2][] = $callBack; } - } /** * Subscribe to an event exactly once. - * - * @return void */ - function once(string $eventName, callable $callBack, int $priority = 100) { - + public function once(string $eventName, callable $callBack, int $priority = 100) + { $wrapper = null; - $wrapper = function() use ($eventName, $callBack, &$wrapper) { - + $wrapper = function () use ($eventName, $callBack, &$wrapper) { $this->removeListener($eventName, $wrapper); - return \call_user_func_array($callBack, \func_get_args()); + return \call_user_func_array($callBack, \func_get_args()); }; $this->on($eventName, $wrapper, $priority); - } /** * Emits an event. * - * This method will return true if 0 or more listeners were succesfully + * This method will return true if 0 or more listeners were successfully * handled. false is returned if one of the events broke the event chain. * * If the continueCallBack is specified, this callback will be called every @@ -79,41 +73,35 @@ trait EmitterTrait { * Lastly, if there are 5 event handlers for an event. The continueCallback * will be called at most 4 times. */ - function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool { - + public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool + { if (\is_null($continueCallBack)) { - foreach ($this->listeners($eventName) as $listener) { - $result = \call_user_func_array($listener, $arguments); - if ($result === false) { + if (false === $result) { return false; } } - } else { - $listeners = $this->listeners($eventName); $counter = \count($listeners); foreach ($listeners as $listener) { - - $counter--; + --$counter; $result = \call_user_func_array($listener, $arguments); - if ($result === false) { + if (false === $result) { return false; } if ($counter > 0) { - if (!$continueCallBack()) break; + if (!$continueCallBack()) { + break; + } } - } - } return true; - } /** @@ -124,15 +112,14 @@ trait EmitterTrait { * * @return callable[] */ - function listeners(string $eventName) : array { - + public function listeners(string $eventName): array + { if (!isset($this->listeners[$eventName])) { return []; } // The list is not sorted if (!$this->listeners[$eventName][0]) { - // Sorting \array_multisort($this->listeners[$eventName][1], SORT_NUMERIC, $this->listeners[$eventName][2]); @@ -141,7 +128,6 @@ trait EmitterTrait { } return $this->listeners[$eventName][2]; - } /** @@ -150,8 +136,8 @@ trait EmitterTrait { * If the listener could not be found, this method will return false. If it * was removed it will return true. */ - function removeListener(string $eventName, callable $listener) : bool { - + public function removeListener(string $eventName, callable $listener): bool + { if (!isset($this->listeners[$eventName])) { return false; } @@ -159,11 +145,12 @@ trait EmitterTrait { if ($check === $listener) { unset($this->listeners[$eventName][1][$index]); unset($this->listeners[$eventName][2][$index]); + return true; } } - return false; + return false; } /** @@ -172,24 +159,20 @@ trait EmitterTrait { * If the eventName argument is specified, all listeners for that event are * removed. If it is not specified, every listener for every event is * removed. - * - * @return void */ - function removeAllListeners(string $eventName = null) { - + public function removeAllListeners(string $eventName = null) + { if (!\is_null($eventName)) { unset($this->listeners[$eventName]); } else { $this->listeners = []; } - } /** - * The list of listeners + * The list of listeners. * * @var array */ protected $listeners = []; - } diff --git a/vendor/sabre/event/lib/EventEmitter.php b/vendor/sabre/event/lib/EventEmitter.php index cae6ac2a6..18971e3ee 100644 --- a/vendor/sabre/event/lib/EventEmitter.php +++ b/vendor/sabre/event/lib/EventEmitter.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; @@ -12,8 +14,7 @@ namespace Sabre\Event; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -class EventEmitter implements EmitterInterface { - +class EventEmitter implements EmitterInterface +{ use EmitterTrait; - } diff --git a/vendor/sabre/event/lib/Loop/Loop.php b/vendor/sabre/event/lib/Loop/Loop.php index 301fe8920..ec09be921 100644 --- a/vendor/sabre/event/lib/Loop/Loop.php +++ b/vendor/sabre/event/lib/Loop/Loop.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event\Loop; @@ -15,20 +17,19 @@ namespace Sabre\Event\Loop; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -class Loop { - +class Loop +{ /** * Executes a function after x seconds. - * - * @return void */ - function setTimeout(callable $cb, float $timeout) { - + public function setTimeout(callable $cb, float $timeout) + { $triggerTime = microtime(true) + ($timeout); if (!$this->timers) { // Special case when the timers array was empty. $this->timers[] = [$triggerTime, $cb]; + return; } @@ -46,14 +47,12 @@ class Loop { [[$triggerTime, $cb]] ); break; - } elseif ($index === 0) { + } elseif (0 === $index) { array_unshift($this->timers, [$triggerTime, $cb]); break; } - $index--; - + --$index; } - } /** @@ -62,12 +61,12 @@ class Loop { * The value this function returns can be used to stop the interval with * clearInterval. */ - function setInterval(callable $cb, float $timeout) : array { - + public function setInterval(callable $cb, float $timeout): array + { $keepGoing = true; $f = null; - $f = function() use ($cb, &$f, $timeout, &$keepGoing) { + $f = function () use ($cb, &$f, $timeout, &$keepGoing) { if ($keepGoing) { $cb(); $this->setTimeout($f, $timeout); @@ -82,32 +81,24 @@ class Loop { // Because I'm worried people will be confused by using a boolean as a // sort of identifier, I added an extra string. return ['I\'m an implementation detail', &$keepGoing]; - } /** * Stops a running interval. - * - * @return void */ - function clearInterval(array $intervalId) { - + public function clearInterval(array $intervalId) + { $intervalId[1] = false; - } /** * Runs a function immediately at the next iteration of the loop. - * - * @return void */ - function nextTick(callable $cb) { - + public function nextTick(callable $cb) + { $this->nextTick[] = $cb; - } - /** * Adds a read stream. * @@ -118,13 +109,11 @@ class Loop { * prevent the eventloop from never stopping. * * @param resource $stream - * @return void */ - function addReadStream($stream, callable $cb) { - - $this->readStreams[(int)$stream] = $stream; - $this->readCallbacks[(int)$stream] = $cb; - + public function addReadStream($stream, callable $cb) + { + $this->readStreams[(int) $stream] = $stream; + $this->readCallbacks[(int) $stream] = $cb; } /** @@ -137,65 +126,53 @@ class Loop { * prevent the eventloop from never stopping. * * @param resource $stream - * @return void */ - function addWriteStream($stream, callable $cb) { - - $this->writeStreams[(int)$stream] = $stream; - $this->writeCallbacks[(int)$stream] = $cb; - + public function addWriteStream($stream, callable $cb) + { + $this->writeStreams[(int) $stream] = $stream; + $this->writeCallbacks[(int) $stream] = $cb; } /** * Stop watching a stream for reads. * * @param resource $stream - * @return void */ - function removeReadStream($stream) { - + public function removeReadStream($stream) + { unset( - $this->readStreams[(int)$stream], - $this->readCallbacks[(int)$stream] + $this->readStreams[(int) $stream], + $this->readCallbacks[(int) $stream] ); - } /** * Stop watching a stream for writes. * * @param resource $stream - * @return void */ - function removeWriteStream($stream) { - + public function removeWriteStream($stream) + { unset( - $this->writeStreams[(int)$stream], - $this->writeCallbacks[(int)$stream] + $this->writeStreams[(int) $stream], + $this->writeCallbacks[(int) $stream] ); - } - /** * Runs the loop. * - * This function will run continiously, until there's no more events to + * This function will run continuously, until there's no more events to * handle. - * - * @return void */ - function run() { - + public function run() + { $this->running = true; do { - $hasEvents = $this->tick(true); - } while ($this->running && $hasEvents); $this->running = false; - } /** @@ -210,8 +187,8 @@ class Loop { * This function will return true if there are _any_ events left in the * loop after the tick. */ - function tick(bool $block = false) : bool { - + public function tick(bool $block = false): bool + { $this->runNextTicks(); $nextTimeout = $this->runTimers(); @@ -232,19 +209,15 @@ class Loop { $this->runStreams($streamWait); - return ($this->readStreams || $this->writeStreams || $this->nextTick || $this->timers); - + return $this->readStreams || $this->writeStreams || $this->nextTick || $this->timers; } /** - * Stops a running eventloop - * - * @return void + * Stops a running eventloop. */ - function stop() { - + public function stop() + { $this->running = false; - } /** @@ -252,15 +225,14 @@ class Loop { * * return void */ - protected function runNextTicks() { - + protected function runNextTicks() + { $nextTick = $this->nextTick; $this->nextTick = []; foreach ($nextTick as $cb) { $cb(); } - } /** @@ -273,8 +245,8 @@ class Loop { * * @return float|null */ - protected function runTimers() { - + protected function runTimers() + { $now = microtime(true); while (($timer = array_pop($this->timers)) && $timer[0] < $now) { $timer[1](); @@ -282,9 +254,9 @@ class Loop { // Add the last timer back to the array. if ($timer) { $this->timers[] = $timer; + return max(0, $timer[0] - microtime(true)); } - } /** @@ -295,36 +267,31 @@ class Loop { * * @param float|null timeout */ - protected function runStreams($timeout) { - + protected function runStreams($timeout) + { if ($this->readStreams || $this->writeStreams) { - $read = $this->readStreams; $write = $this->writeStreams; $except = null; - if (stream_select($read, $write, $except, ($timeout === null) ? null : 0, $timeout ? (int)($timeout * 1000000) : 0)) { - + if (stream_select($read, $write, $except, (null === $timeout) ? null : 0, $timeout ? (int) ($timeout * 1000000) : 0)) { // See PHP Bug https://bugs.php.net/bug.php?id=62452 // Fixed in PHP7 foreach ($read as $readStream) { - $readCb = $this->readCallbacks[(int)$readStream]; + $readCb = $this->readCallbacks[(int) $readStream]; $readCb(); } foreach ($write as $writeStream) { - $writeCb = $this->writeCallbacks[(int)$writeStream]; + $writeCb = $this->writeCallbacks[(int) $writeStream]; $writeCb(); } - } - } elseif ($this->running && ($this->nextTick || $this->timers)) { - usleep($timeout !== null ? intval($timeout * 1000000) : 200000); + usleep(null !== $timeout ? intval($timeout * 1000000) : 200000); } - } /** - * Is the main loop active + * Is the main loop active. * * @var bool */ @@ -361,16 +328,14 @@ class Loop { /** * List of read callbacks, indexed by stream id. * - * @var callback[] + * @var callable[] */ protected $readCallbacks = []; /** * List of write callbacks, indexed by stream id. * - * @var callback[] + * @var callable[] */ protected $writeCallbacks = []; - - } diff --git a/vendor/sabre/event/lib/Loop/functions.php b/vendor/sabre/event/lib/Loop/functions.php index b5884b2b6..bf4d933f2 100644 --- a/vendor/sabre/event/lib/Loop/functions.php +++ b/vendor/sabre/event/lib/Loop/functions.php @@ -1,16 +1,15 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event\Loop; /** * Executes a function after x seconds. - * - * @return void */ -function setTimeout(callable $cb, float $timeout) { - +function setTimeout(callable $cb, float $timeout) +{ instance()->setTimeout($cb, $timeout); - } /** @@ -19,35 +18,27 @@ function setTimeout(callable $cb, float $timeout) { * The value this function returns can be used to stop the interval with * clearInterval. */ -function setInterval(callable $cb, float $timeout) : array { - +function setInterval(callable $cb, float $timeout): array +{ return instance()->setInterval($cb, $timeout); - } /** * Stops a running interval. - * - * @return void */ -function clearInterval(array $intervalId) { - +function clearInterval(array $intervalId) +{ instance()->clearInterval($intervalId); - } /** * Runs a function immediately at the next iteration of the loop. - * - * @return void */ -function nextTick(callable $cb) { - +function nextTick(callable $cb) +{ instance()->nextTick($cb); - } - /** * Adds a read stream. * @@ -58,12 +49,10 @@ function nextTick(callable $cb) { * prevent the eventloop from never stopping. * * @param resource $stream - * @return void */ -function addReadStream($stream, callable $cb) { - +function addReadStream($stream, callable $cb) +{ instance()->addReadStream($stream, $cb); - } /** @@ -76,51 +65,41 @@ function addReadStream($stream, callable $cb) { * prevent the eventloop from never stopping. * * @param resource $stream - * @return void */ -function addWriteStream($stream, callable $cb) { - +function addWriteStream($stream, callable $cb) +{ instance()->addWriteStream($stream, $cb); - } /** * Stop watching a stream for reads. * * @param resource $stream - * @return void */ -function removeReadStream($stream) { - +function removeReadStream($stream) +{ instance()->removeReadStream($stream); - } /** * Stop watching a stream for writes. * * @param resource $stream - * @return void */ -function removeWriteStream($stream) { - +function removeWriteStream($stream) +{ instance()->removeWriteStream($stream); - } - /** * Runs the loop. * - * This function will run continiously, until there's no more events to + * This function will run continuously, until there's no more events to * handle. - * - * @return void */ -function run() { - +function run() +{ instance()->run(); - } /** @@ -135,34 +114,30 @@ function run() { * This function will return true if there are _any_ events left in the * loop after the tick. */ -function tick(bool $block = false) : bool { - +function tick(bool $block = false): bool +{ return instance()->tick($block); - } /** - * Stops a running eventloop - * - * @return void + * Stops a running eventloop. */ -function stop() { - +function stop() +{ instance()->stop(); - } /** * Retrieves or sets the global Loop object. */ -function instance(Loop $newLoop = null) : Loop { - +function instance(Loop $newLoop = null): Loop +{ static $loop; if ($newLoop) { $loop = $newLoop; } elseif (!$loop) { $loop = new Loop(); } - return $loop; + return $loop; } diff --git a/vendor/sabre/event/lib/Promise.php b/vendor/sabre/event/lib/Promise.php index 1d04bd4d4..1d4ddd74a 100644 --- a/vendor/sabre/event/lib/Promise.php +++ b/vendor/sabre/event/lib/Promise.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; @@ -21,8 +23,8 @@ use Throwable; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -class Promise { - +class Promise +{ /** * The asynchronous operation is pending. */ @@ -54,15 +56,14 @@ class Promise { * Each are callbacks that map to $this->fulfill and $this->reject. * Using the executor is optional. */ - function __construct(callable $executor = null) { - + public function __construct(callable $executor = null) + { if ($executor) { $executor( [$this, 'fulfill'], [$this, 'reject'] ); } - } /** @@ -84,32 +85,32 @@ class Promise { * If either of the callbacks throw an exception, the returned promise will * be rejected and the exception will be passed back. */ - function then(callable $onFulfilled = null, callable $onRejected = null) : Promise { - + public function then(callable $onFulfilled = null, callable $onRejected = null): Promise + { // This new subPromise will be returned from this function, and will // be fulfilled with the result of the onFulfilled or onRejected event // handlers. $subPromise = new self(); switch ($this->state) { - case self::PENDING : + case self::PENDING: // The operation is pending, so we keep a reference to the // event handlers so we can call them later. $this->subscribers[] = [$subPromise, $onFulfilled, $onRejected]; break; - case self::FULFILLED : + case self::FULFILLED: // The async operation is already fulfilled, so we trigger the // onFulfilled callback asap. $this->invokeCallback($subPromise, $onFulfilled); break; - case self::REJECTED : - // The async operation failed, so we call teh onRejected + case self::REJECTED: + // The async operation failed, so we call the onRejected // callback asap. $this->invokeCallback($subPromise, $onRejected); break; } - return $subPromise; + return $subPromise; } /** @@ -118,20 +119,19 @@ class Promise { * Its usage is identical to then(). However, the otherwise() function is * preferred. */ - function otherwise(callable $onRejected) : Promise { - + public function otherwise(callable $onRejected): Promise + { return $this->then(null, $onRejected); - } /** * Marks this promise as fulfilled and sets its return value. * * @param mixed $value - * @return void */ - function fulfill($value = null) { - if ($this->state !== self::PENDING) { + public function fulfill($value = null) + { + if (self::PENDING !== $this->state) { throw new PromiseAlreadyResolvedException('This promise is already resolved, and you\'re not allowed to resolve a promise more than once'); } $this->state = self::FULFILLED; @@ -143,11 +143,10 @@ class Promise { /** * Marks this promise as rejected, and set it's rejection reason. - * - * @return void */ - function reject(Throwable $reason) { - if ($this->state !== self::PENDING) { + public function reject(Throwable $reason) + { + if (self::PENDING !== $this->state) { throw new PromiseAlreadyResolvedException('This promise is already resolved, and you\'re not allowed to resolve a promise more than once'); } $this->state = self::REJECTED; @@ -155,13 +154,12 @@ class Promise { foreach ($this->subscribers as $subscriber) { $this->invokeCallback($subscriber[0], $subscriber[2]); } - } /** * Stops execution until this promise is resolved. * - * This method stops exection completely. If the promise is successful with + * This method stops execution completely. If the promise is successful with * a value, this method will return this value. If the promise was * rejected, this method will throw an exception. * @@ -171,11 +169,10 @@ class Promise { * * @return mixed */ - function wait() { - + public function wait() + { $hasEvents = true; - while ($this->state === self::PENDING) { - + while (self::PENDING === $this->state) { if (!$hasEvents) { throw new \LogicException('There were no more events in the loop. This promise will never be fulfilled.'); } @@ -183,10 +180,9 @@ class Promise { // As long as the promise is not fulfilled, we tell the event loop // to handle events, and to block. $hasEvents = Loop\tick(true); - } - if ($this->state === self::FULFILLED) { + if (self::FULFILLED === $this->state) { // If the state of this promise is fulfilled, we can return the value. return $this->value; } else { @@ -194,11 +190,8 @@ class Promise { // errored. Therefore we need to throw an exception. throw $this->value; } - - } - /** * A list of subscribers. Subscribers are the callbacks that want us to let * them know if the callback was fulfilled or rejected. @@ -224,21 +217,18 @@ class Promise { * correctly, and any chained promises are also correctly fulfilled or * rejected. * - * @param Promise $subPromise * @param callable $callBack - * @return void */ - private function invokeCallback(Promise $subPromise, callable $callBack = null) { - + private function invokeCallback(Promise $subPromise, callable $callBack = null) + { // We use 'nextTick' to ensure that the event handlers are always // triggered outside of the calling stack in which they were originally // passed to 'then'. // // This makes the order of execution more predictable. - Loop\nextTick(function() use ($callBack, $subPromise) { + Loop\nextTick(function () use ($callBack, $subPromise) { if (is_callable($callBack)) { try { - $result = $callBack($this->value); if ($result instanceof self) { // If the callback (onRejected or onFulfilled) @@ -257,7 +247,7 @@ class Promise { $subPromise->reject($e); } } else { - if ($this->state === self::FULFILLED) { + if (self::FULFILLED === $this->state) { $subPromise->fulfill($this->value); } else { $subPromise->reject($this->value); @@ -265,5 +255,4 @@ class Promise { } }); } - } diff --git a/vendor/sabre/event/lib/Promise/functions.php b/vendor/sabre/event/lib/Promise/functions.php index 275492cbc..986fe2b00 100644 --- a/vendor/sabre/event/lib/Promise/functions.php +++ b/vendor/sabre/event/lib/Promise/functions.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event\Promise; @@ -14,7 +16,6 @@ use Throwable; * @license http://sabre.io/license/ Modified BSD License */ - /** * This function takes an array of Promises, and returns a Promise that * resolves when all of the given arguments have resolved. @@ -24,17 +25,17 @@ use Throwable; * * This array will be in the exact same order as the array of input promises. * - * If any of the given Promises fails, the returned promise will immidiately + * If any of the given Promises fails, the returned promise will immediately * fail with the first Promise that fails, and its reason. * * @param Promise[] $promises */ -function all(array $promises) : Promise { - - return new Promise(function($success, $fail) use ($promises) { - +function all(array $promises): Promise +{ + return new Promise(function ($success, $fail) use ($promises) { if (empty($promises)) { $success([]); + return; } @@ -42,25 +43,23 @@ function all(array $promises) : Promise { $completeResult = []; foreach ($promises as $promiseIndex => $subPromise) { - $subPromise->then( - function($result) use ($promiseIndex, &$completeResult, &$successCount, $success, $promises) { + function ($result) use ($promiseIndex, &$completeResult, &$successCount, $success, $promises) { $completeResult[$promiseIndex] = $result; - $successCount++; + ++$successCount; if ($successCount === count($promises)) { $success($completeResult); } + return $result; } )->otherwise( - function($reason) use ($fail) { + function ($reason) use ($fail) { $fail($reason); } ); - } }); - } /** @@ -72,22 +71,20 @@ function all(array $promises) : Promise { * * @param Promise[] $promises */ -function race(array $promises) : Promise { - - return new Promise(function($success, $fail) use ($promises) { - +function race(array $promises): Promise +{ + return new Promise(function ($success, $fail) use ($promises) { $alreadyDone = false; foreach ($promises as $promise) { - $promise->then( - function($result) use ($success, &$alreadyDone) { + function ($result) use ($success, &$alreadyDone) { if ($alreadyDone) { return; } $alreadyDone = true; $success($result); }, - function($reason) use ($fail, &$alreadyDone) { + function ($reason) use ($fail, &$alreadyDone) { if ($alreadyDone) { return; } @@ -95,14 +92,10 @@ function race(array $promises) : Promise { $fail($reason); } ); - } - }); - } - /** * Returns a Promise that resolves with the given value. * @@ -111,25 +104,25 @@ function race(array $promises) : Promise { * * @param mixed $value */ -function resolve($value) : Promise { - +function resolve($value): Promise +{ if ($value instanceof Promise) { return $value->then(); } else { $promise = new Promise(); $promise->fulfill($value); + return $promise; } - } /** * Returns a Promise that will reject with the given reason. */ -function reject(Throwable $reason) : Promise { - +function reject(Throwable $reason): Promise +{ $promise = new Promise(); $promise->reject($reason); - return $promise; + return $promise; } diff --git a/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php b/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php index 534a3d494..abb6c108e 100644 --- a/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php +++ b/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; @@ -10,6 +12,6 @@ namespace Sabre\Event; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -class PromiseAlreadyResolvedException extends \LogicException { - +class PromiseAlreadyResolvedException extends \LogicException +{ } diff --git a/vendor/sabre/event/lib/Version.php b/vendor/sabre/event/lib/Version.php index 9aee4b3ab..e98e2e3ff 100644 --- a/vendor/sabre/event/lib/Version.php +++ b/vendor/sabre/event/lib/Version.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; @@ -9,11 +11,10 @@ namespace Sabre\Event; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -class Version { - +class Version +{ /** - * Full version number + * Full version number. */ - const VERSION = '5.0.3'; - + const VERSION = '5.1.0'; } diff --git a/vendor/sabre/event/lib/WildcardEmitter.php b/vendor/sabre/event/lib/WildcardEmitter.php index 2ef15fe83..1b7c248b2 100644 --- a/vendor/sabre/event/lib/WildcardEmitter.php +++ b/vendor/sabre/event/lib/WildcardEmitter.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; @@ -14,7 +16,7 @@ namespace Sabre\Event; * on('change:*') * * A few notes: - * + * * - Wildcards only work at the end of an event name. * - Currently you can only use 1 wildcard. * - Using ":" as a separator is optional, but it's highly recommended to use @@ -28,10 +30,7 @@ namespace Sabre\Event; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -class WildcardEmitter implements EmitterInterface { - +class WildcardEmitter implements EmitterInterface +{ use WildcardEmitterTrait; - - - } diff --git a/vendor/sabre/event/lib/WildcardEmitterTrait.php b/vendor/sabre/event/lib/WildcardEmitterTrait.php index 7d8d62c26..206a8f3c5 100644 --- a/vendor/sabre/event/lib/WildcardEmitterTrait.php +++ b/vendor/sabre/event/lib/WildcardEmitterTrait.php @@ -1,9 +1,11 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; /** - * Wildcard Emitter Trait + * Wildcard Emitter Trait. * * This trait provides the implementation for WildCardEmitter * Refer to that class for the full documentation about this @@ -17,21 +19,19 @@ namespace Sabre\Event; * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -trait WildcardEmitterTrait { - +trait WildcardEmitterTrait +{ /** * Subscribe to an event. - * - * @return void */ - function on(string $eventName, callable $callBack, int $priority = 100) { - - // If it ends with a wildcard, we use the wildcardListeners array - if ($eventName[\strlen($eventName) - 1] === '*') { + public function on(string $eventName, callable $callBack, int $priority = 100) + { + // If it ends with a wildcard, we use the wildcardListeners array + if ('*' === $eventName[\strlen($eventName) - 1]) { $eventName = \substr($eventName, 0, -1); - $listeners = & $this->wildcardListeners; + $listeners = &$this->wildcardListeners; } else { - $listeners = & $this->listeners; + $listeners = &$this->listeners; } // Always fully reset the listener index. This is fairly sane for most @@ -44,32 +44,27 @@ trait WildcardEmitterTrait { $listeners[$eventName] = []; } $listeners[$eventName][] = [$priority, $callBack]; - } /** * Subscribe to an event exactly once. - * - * @return void */ - function once(string $eventName, callable $callBack, int $priority = 100) { - + public function once(string $eventName, callable $callBack, int $priority = 100) + { $wrapper = null; - $wrapper = function() use ($eventName, $callBack, &$wrapper) { - + $wrapper = function () use ($eventName, $callBack, &$wrapper) { $this->removeListener($eventName, $wrapper); - return \call_user_func_array($callBack, \func_get_args()); + return \call_user_func_array($callBack, \func_get_args()); }; $this->on($eventName, $wrapper, $priority); - } /** * Emits an event. * - * This method will return true if 0 or more listeners were succesfully + * This method will return true if 0 or more listeners were successfully * handled. false is returned if one of the events broke the event chain. * * If the continueCallBack is specified, this callback will be called every @@ -87,42 +82,35 @@ trait WildcardEmitterTrait { * Lastly, if there are 5 event handlers for an event. The continueCallback * will be called at most 4 times. */ - function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool { - + public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool + { if (\is_null($continueCallBack)) { - foreach ($this->listeners($eventName) as $listener) { - $result = \call_user_func_array($listener, $arguments); - if ($result === false) { + if (false === $result) { return false; } } - } else { - $listeners = $this->listeners($eventName); $counter = \count($listeners); foreach ($listeners as $listener) { - - $counter--; + --$counter; $result = \call_user_func_array($listener, $arguments); - if ($result === false) { + if (false === $result) { return false; } if ($counter > 0) { - if (!$continueCallBack()) break; + if (!$continueCallBack()) { + break; + } } - } - } return true; - - } /** @@ -133,34 +121,27 @@ trait WildcardEmitterTrait { * * @return callable[] */ - function listeners(string $eventName) : array { - + public function listeners(string $eventName): array + { if (!\array_key_exists($eventName, $this->listenerIndex)) { - // Create a new index. $listeners = []; $listenersPriority = []; - if (isset($this->listeners[$eventName])) foreach ($this->listeners[$eventName] as $listener) { - - $listenersPriority[] = $listener[0]; - $listeners[] = $listener[1]; - + if (isset($this->listeners[$eventName])) { + foreach ($this->listeners[$eventName] as $listener) { + $listenersPriority[] = $listener[0]; + $listeners[] = $listener[1]; + } } foreach ($this->wildcardListeners as $wcEvent => $wcListeners) { - // Wildcard match if (\substr($eventName, 0, \strlen($wcEvent)) === $wcEvent) { - foreach ($wcListeners as $listener) { - $listenersPriority[] = $listener[0]; $listeners[] = $listener[1]; - } - } - } // Sorting by priority @@ -168,11 +149,9 @@ trait WildcardEmitterTrait { // Creating index $this->listenerIndex[$eventName] = $listeners; - } return $this->listenerIndex[$eventName]; - } /** @@ -181,14 +160,14 @@ trait WildcardEmitterTrait { * If the listener could not be found, this method will return false. If it * was removed it will return true. */ - function removeListener(string $eventName, callable $listener) : bool { - - // If it ends with a wildcard, we use the wildcardListeners array - if ($eventName[\strlen($eventName) - 1] === '*') { + public function removeListener(string $eventName, callable $listener): bool + { + // If it ends with a wildcard, we use the wildcardListeners array + if ('*' === $eventName[\strlen($eventName) - 1]) { $eventName = \substr($eventName, 0, -1); - $listeners = & $this->wildcardListeners; + $listeners = &$this->wildcardListeners; } else { - $listeners = & $this->listeners; + $listeners = &$this->listeners; } if (!isset($listeners[$eventName])) { @@ -196,21 +175,17 @@ trait WildcardEmitterTrait { } foreach ($listeners[$eventName] as $index => $check) { - if ($check[1] === $listener) { - // Remove listener unset($listeners[$eventName][$index]); // Reset index $this->listenerIndex = []; - return true; + return true; } - } return false; - } /** @@ -219,38 +194,32 @@ trait WildcardEmitterTrait { * If the eventName argument is specified, all listeners for that event are * removed. If it is not specified, every listener for every event is * removed. - * - * @return void */ - function removeAllListeners(string $eventName = null) { - + public function removeAllListeners(string $eventName = null) + { if (\is_null($eventName)) { $this->listeners = []; $this->wildcardListeners = []; - } else { - - if ($eventName[\strlen($eventName) - 1] === '*') { + if ('*' === $eventName[\strlen($eventName) - 1]) { // Wildcard event unset($this->wildcardListeners[\substr($eventName, 0, -1)]); } else { unset($this->listeners[$eventName]); } - } // Reset index $this->listenerIndex = []; - } /** - * The list of listeners + * The list of listeners. */ protected $listeners = []; /** - * The list of "wildcard listeners". + * The list of "wildcard listeners". */ protected $wildcardListeners = []; diff --git a/vendor/sabre/event/lib/coroutine.php b/vendor/sabre/event/lib/coroutine.php index 750e8ab52..a6a2baf41 100644 --- a/vendor/sabre/event/lib/coroutine.php +++ b/vendor/sabre/event/lib/coroutine.php @@ -1,4 +1,6 @@ -<?php declare (strict_types=1); +<?php + +declare(strict_types=1); namespace Sabre\Event; @@ -41,12 +43,13 @@ use Throwable; * }); * * @return \Sabre\Event\Promise + * * @copyright Copyright (C) fruux GmbH (https://fruux.com/) * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License */ -function coroutine(callable $gen) : Promise { - +function coroutine(callable $gen): Promise +{ $generator = $gen(); if (!$generator instanceof Generator) { throw new \InvalidArgumentException('You must pass a generator function'); @@ -59,22 +62,20 @@ function coroutine(callable $gen) : Promise { * So tempted to use the mythical y-combinator here, but it's not needed in * PHP. */ - $advanceGenerator = function() use (&$advanceGenerator, $generator, $promise, &$lastYieldResult) { - + $advanceGenerator = function () use (&$advanceGenerator, $generator, $promise) { while ($generator->valid()) { - $yieldedValue = $generator->current(); if ($yieldedValue instanceof Promise) { $yieldedValue->then( - function($value) use ($generator, &$advanceGenerator, &$lastYieldResult) { + function ($value) use ($generator, &$advanceGenerator) { $generator->send($value); $advanceGenerator(); }, - function(Throwable $reason) use ($generator, $advanceGenerator) { + function (Throwable $reason) use ($generator, $advanceGenerator) { $generator->throw($reason); $advanceGenerator(); } - )->otherwise(function(Throwable $reason) use ($promise) { + )->otherwise(function (Throwable $reason) use ($promise) { // This error handler would be called, if something in the // generator throws an exception, and it's not caught // locally. @@ -87,31 +88,25 @@ function coroutine(callable $gen) : Promise { // If the value was not a promise, we'll just let it pass through. $generator->send($yieldedValue); } - } // If the generator is at the end, and we didn't run into an exception, // We're grabbing the "return" value and fulfilling our top-level // promise with its value. - if (!$generator->valid() && $promise->state === Promise::PENDING) { - $returnValue = $generator->getReturn(); - - // The return value is a promise. - if ($returnValue instanceof Promise) { - $returnValue->then(function($value) use ($promise) { - $promise->fulfill($value); - }, function(Throwable $reason) { - $promise->reject($reason); - }); - } else { - - $promise->fulfill($returnValue); - - } - - + if (!$generator->valid() && Promise::PENDING === $promise->state) { + $returnValue = $generator->getReturn(); + + // The return value is a promise. + if ($returnValue instanceof Promise) { + $returnValue->then(function ($value) use ($promise) { + $promise->fulfill($value); + }, function (Throwable $reason) use ($promise) { + $promise->reject($reason); + }); + } else { + $promise->fulfill($returnValue); + } } - }; try { @@ -121,5 +116,4 @@ function coroutine(callable $gen) : Promise { } return $promise; - } diff --git a/vendor/sabre/event/phpstan.neon b/vendor/sabre/event/phpstan.neon new file mode 100644 index 000000000..213da6dad --- /dev/null +++ b/vendor/sabre/event/phpstan.neon @@ -0,0 +1,2 @@ +parameters: + level: 1 diff --git a/vendor/sabre/event/phpunit.xml.dist b/vendor/sabre/event/phpunit.xml.dist deleted file mode 100644 index ccd59be9c..000000000 --- a/vendor/sabre/event/phpunit.xml.dist +++ /dev/null @@ -1,18 +0,0 @@ -<phpunit - colors="true" - bootstrap="vendor/autoload.php" - convertErrorsToExceptions="true" - convertNoticesToExceptions="true" - convertWarningsToExceptions="true" - strict="true" - > - <testsuite name="sabre-event"> - <directory>tests/</directory> - </testsuite> - - <filter> - <whitelist addUncoveredFilesFromWhitelist="true"> - <directory suffix=".php">./lib/</directory> - </whitelist> - </filter> -</phpunit> diff --git a/vendor/sabre/http/.gitignore b/vendor/sabre/http/.gitignore index 5f85ecc1b..d291af69a 100644 --- a/vendor/sabre/http/.gitignore +++ b/vendor/sabre/http/.gitignore @@ -5,14 +5,19 @@ composer.lock # Tests tests/cov/ +# phpunit cache +.phpunit.result.cache + # Composer binaries bin/phpunit* bin/phpcs* bin/php-cs-fixer* -bin/sabre-cs-fixer* +bin/phpstan +bin/phpstan.phar # Vim .*.swp # development stuff +/.idea .php_cs.cache diff --git a/vendor/sabre/http/.php_cs.dist b/vendor/sabre/http/.php_cs.dist index 8d61ee259..c5c78a971 100644 --- a/vendor/sabre/http/.php_cs.dist +++ b/vendor/sabre/http/.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/http/.travis.yml b/vendor/sabre/http/.travis.yml index 3b85d5f39..daa24bff5 100644 --- a/vendor/sabre/http/.travis.yml +++ b/vendor/sabre/http/.travis.yml @@ -1,11 +1,10 @@ language: php sudo: required php: - - 7.0 - 7.1 - 7.2 - 7.3 - - 7.4snapshot + - 7.4 env: global: @@ -26,7 +25,7 @@ cache: - $HOME/.composer/cache install: - - if [ $RUN_PHPSTAN == "TRUE" ]; then composer require --dev phpstan/phpstan; fi + - if [ $RUN_PHPSTAN == "TRUE" ]; then composer require --dev phpstan/phpstan:^0.12; fi before_script: - composer update --prefer-source $PREFER_LOWEST @@ -34,6 +33,7 @@ before_script: - sudo $PHP_BIN -S localhost:80 -t $TRAVIS_BUILD_DIR/tests/www 2>/dev/null & script: + - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/php-cs-fixer fix --dry-run --diff; fi - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/phpunit --configuration tests/phpunit.xml $WITH_COVERAGE; fi - if [ $RUN_PHPSTAN == "TRUE" ]; then php ./bin/phpstan analyse -c phpstan.neon lib; fi diff --git a/vendor/sabre/http/CHANGELOG.md b/vendor/sabre/http/CHANGELOG.md index a087453fa..716e09e68 100644 --- a/vendor/sabre/http/CHANGELOG.md +++ b/vendor/sabre/http/CHANGELOG.md @@ -1,6 +1,19 @@ ChangeLog ========= +5.1.0 (2020-01-31) +------------------------- + +* Added support for PHP 7.4, dropped support for PHP 7.0 (@phil-davis) +* Updated testsuite for phpunit8, added phpstan coverage (@phil-davis) +* Added autoload-dev for test classes (@C0pyR1ght) + +5.0.5 (2019-11-28) +------------------------- + +* #138: Fixed possible infinite loop (@dpakach, @vfreex, @phil-davis) +* #136: Improvement regex content-range (@ho4ho) + 5.0.4 (2019-10-08) ------------------------- diff --git a/vendor/sabre/http/composer.json b/vendor/sabre/http/composer.json index 851a08730..198cf2344 100644 --- a/vendor/sabre/http/composer.json +++ b/vendor/sabre/http/composer.json @@ -5,7 +5,7 @@ "homepage" : "https://github.com/fruux/sabre-http", "license" : "BSD-3-Clause", "require" : { - "php" : "^7.0", + "php" : "^7.1", "ext-mbstring" : "*", "ext-ctype" : "*", "ext-curl" : "*", @@ -13,7 +13,8 @@ "sabre/uri" : "^2.0" }, "require-dev" : { - "phpunit/phpunit" : "^6.0 || ^7.0" + "friendsofphp/php-cs-fixer": "~2.16.1", + "phpunit/phpunit" : "^7.0 || ^8.0" }, "suggest" : { "ext-curl" : " to make http requests with the Client class" @@ -38,6 +39,11 @@ "Sabre\\HTTP\\" : "lib/" } }, + "autoload-dev" : { + "psr-4" : { + "Sabre\\HTTP\\" : "tests/HTTP" + } + }, "config" : { "bin-dir" : "bin/" } diff --git a/vendor/sabre/http/lib/Client.php b/vendor/sabre/http/lib/Client.php index 48862e7da..b79c564da 100644 --- a/vendor/sabre/http/lib/Client.php +++ b/vendor/sabre/http/lib/Client.php @@ -450,8 +450,6 @@ class Client extends EventEmitter * * http_code - HTTP status code, as an int. Only set if Only set if * status is STATUS_SUCCESS, or STATUS_HTTPERROR * - * @param array $headerLines - * @param string $body * @param resource $curlHandle */ protected function parseCurlResponse(array $headerLines, string $body, $curlHandle): array diff --git a/vendor/sabre/http/lib/Message.php b/vendor/sabre/http/lib/Message.php index fc34f8d7f..90153fda5 100644 --- a/vendor/sabre/http/lib/Message.php +++ b/vendor/sabre/http/lib/Message.php @@ -283,8 +283,6 @@ abstract class Message implements MessageInterface /** * Returns the HTTP version. - * - * @return string */ public function getHttpVersion(): string { diff --git a/vendor/sabre/http/lib/MessageDecoratorTrait.php b/vendor/sabre/http/lib/MessageDecoratorTrait.php index d5504ac78..6f49dadfc 100644 --- a/vendor/sabre/http/lib/MessageDecoratorTrait.php +++ b/vendor/sabre/http/lib/MessageDecoratorTrait.php @@ -180,8 +180,6 @@ trait MessageDecoratorTrait * The specified header name must be treated as case-insensitive. * This method should return true if the header was successfully deleted, * and false if the header did not exist. - * - * @return bool */ public function removeHeader(string $name): bool { diff --git a/vendor/sabre/http/lib/MessageInterface.php b/vendor/sabre/http/lib/MessageInterface.php index 8070845d9..8504f0f59 100644 --- a/vendor/sabre/http/lib/MessageInterface.php +++ b/vendor/sabre/http/lib/MessageInterface.php @@ -29,8 +29,6 @@ interface MessageInterface * * Note that because the underlying data may be based on a stream, this * method could only work correctly the first time. - * - * @return string */ public function getBodyAsString(): string; diff --git a/vendor/sabre/http/lib/ResponseDecorator.php b/vendor/sabre/http/lib/ResponseDecorator.php index 289dba5cc..5f9fe7c65 100644 --- a/vendor/sabre/http/lib/ResponseDecorator.php +++ b/vendor/sabre/http/lib/ResponseDecorator.php @@ -64,8 +64,6 @@ class ResponseDecorator implements ResponseInterface * Serializes the request object as a string. * * This is useful for debugging purposes. - * - * @return string */ public function __toString(): string { diff --git a/vendor/sabre/http/lib/Sapi.php b/vendor/sabre/http/lib/Sapi.php index 80254f3f3..73674a5a1 100644 --- a/vendor/sabre/http/lib/Sapi.php +++ b/vendor/sabre/http/lib/Sapi.php @@ -99,7 +99,7 @@ class Sapi // If this is a partial response, flush the beginning bytes until the first position that is a multiple of the page size. $contentRange = $response->getHeader('Content-Range'); // Matching "Content-Range: bytes 1234-5678/7890" - if (null !== $contentRange && preg_match('/^bytes\s([0-9]*)-([0-9]*)\//i', $contentRange, $matches) && '' !== $matches[1]) { + if (null !== $contentRange && preg_match('/^bytes\s([0-9]+)-([0-9]+)\//i', $contentRange, $matches)) { // 4kB should be the default page size on most architectures $pageSize = 4096; $offset = (int) $matches[1]; @@ -109,7 +109,15 @@ class Sapi } } while ($left > 0) { - $left -= stream_copy_to_stream($body, $output, min($left, $chunk_size)); + $copied = stream_copy_to_stream($body, $output, min($left, $chunk_size)); + // stream_copy_to_stream($src, $dest, $maxLength) must return the number of bytes copied or false in case of failure + // But when the $maxLength is greater than the total number of bytes remaining in the stream, + // It returns the negative number of bytes copied + // So break the loop in such cases. + if ($copied <= 0) { + break; + } + $left -= $copied; } } else { // workaround for 32 Bit systems to avoid stream_copy_to_stream diff --git a/vendor/sabre/http/lib/Version.php b/vendor/sabre/http/lib/Version.php index 20a401773..8946a46a6 100644 --- a/vendor/sabre/http/lib/Version.php +++ b/vendor/sabre/http/lib/Version.php @@ -16,5 +16,5 @@ class Version /** * Full version number. */ - const VERSION = '5.0.4'; + const VERSION = '5.1.0'; } diff --git a/vendor/sabre/http/lib/functions.php b/vendor/sabre/http/lib/functions.php index 197a9e661..a23840a1a 100644 --- a/vendor/sabre/http/lib/functions.php +++ b/vendor/sabre/http/lib/functions.php @@ -29,8 +29,6 @@ use InvalidArgumentException; * See: * http://tools.ietf.org/html/rfc7231#section-7.1.1.1 * - * @param string $dateString - * * @return bool|DateTime */ function parseDate(string $dateString) @@ -75,10 +73,6 @@ function parseDate(string $dateString) /** * Transforms a DateTime object to a valid HTTP/1.1 Date header value. - * - * @param DateTime $dateTime - * - * @return string */ function toDate(DateTime $dateTime): string { @@ -107,7 +101,6 @@ function toDate(DateTime $dateTime): string * implying that no accept header was sent. * * @param string|null $acceptHeaderValue - * @param array $availableOptions * * @return string|null */ @@ -218,8 +211,6 @@ function negotiateContentType($acceptHeaderValue, array $availableOptions) * uses them. * * @param string|string[] $input - * - * @return array */ function parsePrefer($input): array { @@ -303,7 +294,7 @@ function getHeaderValues($values, $values2 = null): array $values = array_merge($values, (array) $values2); } - $result = array(); + $result = []; foreach ($values as $l1) { foreach (explode(',', $l1) as $l2) { $result[] = trim($l2); @@ -320,10 +311,6 @@ function getHeaderValues($values, $values2 = null): array * 2. subtype * 3. quality * 4. parameters - * - * @param string $str - * - * @return array */ function parseMimeType(string $str): array { diff --git a/vendor/sabre/http/phpstan.neon b/vendor/sabre/http/phpstan.neon index 241663a72..213da6dad 100644 --- a/vendor/sabre/http/phpstan.neon +++ b/vendor/sabre/http/phpstan.neon @@ -1,3 +1,2 @@ parameters: level: 1 - bootstrap: %currentWorkingDirectory%/vendor/autoload.php diff --git a/vendor/sabre/uri/.gitignore b/vendor/sabre/uri/.gitignore index b6fc3f896..4c8ac0855 100644 --- a/vendor/sabre/uri/.gitignore +++ b/vendor/sabre/uri/.gitignore @@ -2,8 +2,16 @@ vendor/ composer.lock +# Composer binaries +bin/phpunit +bin/phpstan +bin/phpstan.phar +bin/php-cs-fixer + # Tests tests/cov/ +tests/.phpunit.result.cache +coverage.xml # Composer binaries bin @@ -11,5 +19,8 @@ bin # Vim .*.swp +# IDEs +/.idea + # development stuff .php_cs.cache diff --git a/vendor/sabre/uri/.php_cs.dist b/vendor/sabre/uri/.php_cs.dist index 8d61ee259..c5c78a971 100644 --- a/vendor/sabre/uri/.php_cs.dist +++ b/vendor/sabre/uri/.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/uri/composer.json b/vendor/sabre/uri/composer.json index 30f382937..29194c670 100644 --- a/vendor/sabre/uri/composer.json +++ b/vendor/sabre/uri/composer.json @@ -9,7 +9,7 @@ "homepage": "http://sabre.io/uri/", "license": "BSD-3-Clause", "require": { - "php": ">=7" + "php": "^7.1" }, "authors": [ { @@ -37,7 +37,8 @@ } }, "require-dev": { - "phpunit/phpunit" : "^6" + "friendsofphp/php-cs-fixer": "~2.16.1", + "phpunit/phpunit" : "^7 || ^8" }, "config" : { "bin-dir" : "bin/" diff --git a/vendor/sabre/uri/lib/Version.php b/vendor/sabre/uri/lib/Version.php index ad6c89867..ba7caf273 100644 --- a/vendor/sabre/uri/lib/Version.php +++ b/vendor/sabre/uri/lib/Version.php @@ -16,5 +16,5 @@ class Version /** * Full version number. */ - const VERSION = '2.1.3'; + const VERSION = '2.2.0'; } diff --git a/vendor/sabre/uri/lib/functions.php b/vendor/sabre/uri/lib/functions.php index 161e684d7..329c862ee 100644 --- a/vendor/sabre/uri/lib/functions.php +++ b/vendor/sabre/uri/lib/functions.php @@ -18,11 +18,6 @@ namespace Sabre\Uri; * This function takes a basePath, which itself _may_ also be relative, and * then applies the relative path on top of it. * - * @param string $basePath - * @param string $newPath - * - * @return string - * * @throws InvalidUriException */ function resolve(string $basePath, string $newPath): string @@ -112,10 +107,6 @@ function resolve(string $basePath, string $newPath): string * * It will also change a %3a into a %3A. * - * @param string $uri - * - * @return string - * * @throws InvalidUriException */ function normalize(string $uri): string @@ -183,9 +174,7 @@ function normalize(string $uri): string * Unlike PHP's parse_url, it will also convert any non-ascii characters to * percent-encoded strings. PHP's parse_url corrupts these characters on OS X. * - * @param string $uri - * - * @return array + * @return array<string, string> * * @throws InvalidUriException */ @@ -225,9 +214,7 @@ function parse(string $uri): array * This function takes the components returned from PHP's parse_url, and uses * it to generate a new uri. * - * @param array $parts - * - * @return string + * @param array<string, string> $parts */ function build(array $parts): string { @@ -281,9 +268,7 @@ function build(array $parts): string * If there is no dirname, it will return an empty string. Any / appearing at * the end of the string is stripped off. * - * @param string $path - * - * @return array + * @return array<int, mixed> */ function split(string $path): array { @@ -305,9 +290,7 @@ function split(string $path): array * This function is only called if the main parse method fails. It's pretty * crude and probably slow, so the original parse_url is usually preferred. * - * @param string $uri - * - * @return array + * @return array<string, mixed> * * @throws InvalidUriException */ diff --git a/vendor/sabre/uri/phpstan.neon b/vendor/sabre/uri/phpstan.neon index 341d02818..91375db8b 100644 --- a/vendor/sabre/uri/phpstan.neon +++ b/vendor/sabre/uri/phpstan.neon @@ -1,3 +1,2 @@ parameters: level: 7 - bootstrap: %currentWorkingDirectory%/vendor/autoload.php 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> diff --git a/vendor/sabre/xml/.gitignore b/vendor/sabre/xml/.gitignore index 51fc188bf..9715e9028 100644 --- a/vendor/sabre/xml/.gitignore +++ b/vendor/sabre/xml/.gitignore @@ -1,10 +1,8 @@ +# Composer vendor composer.lock + +# Tests tests/cov -.*.swp +tests/.phpunit.result.cache .php_cs.cache - -# Composer binaries -bin/phpunit -bin/php-cs-fixer -bin/sabre-cs-fixer diff --git a/vendor/sabre/xml/.php_cs.dist b/vendor/sabre/xml/.php_cs.dist index 8d61ee259..c5c78a971 100644 --- a/vendor/sabre/xml/.php_cs.dist +++ b/vendor/sabre/xml/.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/xml/.travis.yml b/vendor/sabre/xml/.travis.yml index 49a0c9a22..ebca5e837 100644 --- a/vendor/sabre/xml/.travis.yml +++ b/vendor/sabre/xml/.travis.yml @@ -1,31 +1,38 @@ language: php sudo: required -dist: xenial php: - - 7.0 - 7.1 - 7.2 - - 7.3snapshot + - 7.3 + - 7.4 -addons: - apt: - packages: - # required for php7.3 - - libzip4 +env: + global: + - 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.4 + env: + - RUN_PHPSTAN="TRUE" + - REPORT_COVERAGE="FALSE" fast_finish: true cache: directories: - $HOME/.composer/cache -install: - - composer install +before_script: + - composer update $PREFER_LOWEST script: - - ./bin/phpunit --configuration tests/phpunit.xml.dist --coverage-clover=coverage.xml + - 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 diff --git a/vendor/sabre/xml/CHANGELOG.md b/vendor/sabre/xml/CHANGELOG.md index 1ad830124..9d70609f8 100644 --- a/vendor/sabre/xml/CHANGELOG.md +++ b/vendor/sabre/xml/CHANGELOG.md @@ -1,16 +1,34 @@ ChangeLog ========= +2.2.1 (2020-05-11) +------------------ + +* #183: fixed warning 'xml cannot be empty while reading', which might lead to a infinite-loop (@mrow4a) +* #179, #178, #177 #176: several build/continous integration related improvements (@phil-davis) + +2.2.0 (2020-01-31) +------------------ + +* #171: Added Support for PHP 7.4, dropped Support for PHP 7.0 (@staabm, @phil-davis) +* #174: Update testsuite to phpunit8 (@phil-davis) +* Added phpstan coverage (@phil-davis) +* #144: Added a new `functionCaller` deserializer function for executing a callable when reading a XML +element (@vsouz4) + + 2.1.3 (2019-08-14) ------------------ * #166: Throw exception when empty inputs found + 2.1.2 (2019-01-09) ------------------ * #161: Prevent infinite loop on empty xml elements + 2.1.1 (2018-10-09) ------------------ diff --git a/vendor/sabre/xml/composer.json b/vendor/sabre/xml/composer.json index c782dbc5e..40abe149b 100644 --- a/vendor/sabre/xml/composer.json +++ b/vendor/sabre/xml/composer.json @@ -5,7 +5,7 @@ "homepage" : "https://sabre.io/xml/", "license" : "BSD-3-Clause", "require" : { - "php" : ">=7.0", + "php" : "^7.1", "ext-xmlwriter" : "*", "ext-xmlreader" : "*", "ext-dom" : "*", @@ -44,9 +44,24 @@ } }, "require-dev": { - "phpunit/phpunit" : "^6" + "friendsofphp/php-cs-fixer": "~2.16.1", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit" : "^7.5 || ^8.5 || ^9.0" }, - "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/xml/lib/ContextStackTrait.php b/vendor/sabre/xml/lib/ContextStackTrait.php index bc770ffad..757088847 100644 --- a/vendor/sabre/xml/lib/ContextStackTrait.php +++ b/vendor/sabre/xml/lib/ContextStackTrait.php @@ -45,7 +45,7 @@ trait ContextStackTrait * common use-case for parsing XML documents, it's added here as a * convenience. * - * @var string + * @var string|null */ public $contextUri; diff --git a/vendor/sabre/xml/lib/Deserializer/functions.php b/vendor/sabre/xml/lib/Deserializer/functions.php index 0eff4b7e0..c4f240970 100644 --- a/vendor/sabre/xml/lib/Deserializer/functions.php +++ b/vendor/sabre/xml/lib/Deserializer/functions.php @@ -173,7 +173,7 @@ function enum(Reader $reader, string $namespace = null): array if (!is_null($namespace) && $namespace === $reader->namespaceURI) { $values[] = $reader->localName; } else { - $values[] = $reader->getClark(); + $values[] = (string) $reader->getClark(); } } while ($reader->depth >= $currentDepth && $reader->next()); @@ -316,3 +316,44 @@ function mixedContent(Reader $reader): array return $content; } + +/** + * The functionCaller deserializer turns an xml element into whatever your callable return. + * + * You can use, e.g., a named constructor (factory method) to create an object using + * this function. + * + * @return mixed + */ +function functionCaller(Reader $reader, callable $func, string $namespace) +{ + if ($reader->isEmptyElement) { + $reader->next(); + + return null; + } + + $funcArgs = []; + $func = is_string($func) && false !== strpos($func, '::') ? explode('::', $func) : $func; + $ref = is_array($func) ? new \ReflectionMethod($func[0], $func[1]) : new \ReflectionFunction($func); + foreach ($ref->getParameters() as $parameter) { + $funcArgs[$parameter->getName()] = null; + } + + $reader->read(); + do { + if (Reader::ELEMENT === $reader->nodeType && $reader->namespaceURI == $namespace) { + if (array_key_exists($reader->localName, $funcArgs)) { + $funcArgs[$reader->localName] = $reader->parseCurrentElement()['value']; + } else { + // Ignore property + $reader->next(); + } + } else { + $reader->read(); + } + } while (Reader::END_ELEMENT !== $reader->nodeType); + $reader->read(); + + return $func(...array_values($funcArgs)); +} diff --git a/vendor/sabre/xml/lib/Element/Uri.php b/vendor/sabre/xml/lib/Element/Uri.php index 898a26457..2644fbcd7 100644 --- a/vendor/sabre/xml/lib/Element/Uri.php +++ b/vendor/sabre/xml/lib/Element/Uri.php @@ -91,7 +91,7 @@ class Uri implements Xml\Element { return new self( \Sabre\Uri\resolve( - $reader->contextUri, + (string) $reader->contextUri, $reader->readText() ) ); diff --git a/vendor/sabre/xml/lib/Element/XmlFragment.php b/vendor/sabre/xml/lib/Element/XmlFragment.php index 413e0f106..12109e5c9 100644 --- a/vendor/sabre/xml/lib/Element/XmlFragment.php +++ b/vendor/sabre/xml/lib/Element/XmlFragment.php @@ -85,7 +85,7 @@ XML; switch ($reader->nodeType) { case Reader::ELEMENT: $writer->startElement( - $reader->getClark() + (string) $reader->getClark() ); $empty = $reader->isEmptyElement; while ($reader->moveToNextAttribute()) { @@ -97,7 +97,7 @@ XML; // Skip namespace declarations break; default: - $writer->writeAttribute($reader->getClark(), $reader->value); + $writer->writeAttribute((string) $reader->getClark(), $reader->value); break; } } diff --git a/vendor/sabre/xml/lib/LibXMLException.php b/vendor/sabre/xml/lib/LibXMLException.php index 4701c304a..ae136f57b 100644 --- a/vendor/sabre/xml/lib/LibXMLException.php +++ b/vendor/sabre/xml/lib/LibXMLException.php @@ -21,7 +21,7 @@ class LibXMLException extends ParseException /** * The error list. * - * @var []LibXMLError + * @var \LibXMLError[] */ protected $errors; @@ -30,8 +30,7 @@ class LibXMLException extends ParseException * * You should pass a list of LibXMLError objects in its constructor. * - * @param []LibXMLError $errors - * @param int $code + * @param LibXMLError[] $errors * @param Throwable $previousException */ public function __construct(array $errors, int $code = 0, Throwable $previousException = null) diff --git a/vendor/sabre/xml/lib/ParseException.php b/vendor/sabre/xml/lib/ParseException.php index e237b8732..5980b5fc4 100644 --- a/vendor/sabre/xml/lib/ParseException.php +++ b/vendor/sabre/xml/lib/ParseException.php @@ -4,7 +4,8 @@ declare(strict_types=1); namespace Sabre\Xml; -use Exception; +use + Exception; /** * This is a base exception for any exception related to parsing xml files. diff --git a/vendor/sabre/xml/lib/Reader.php b/vendor/sabre/xml/lib/Reader.php index 37e0c86dd..a28cf8c3b 100644 --- a/vendor/sabre/xml/lib/Reader.php +++ b/vendor/sabre/xml/lib/Reader.php @@ -118,7 +118,7 @@ class Reader extends XMLReader * If the $elementMap argument is specified, the existing elementMap will * be overridden while parsing the tree, and restored after this process. * - * @return array|string + * @return array|string|null */ public function parseInnerTree(array $elementMap = null) { @@ -147,7 +147,9 @@ class Reader extends XMLReader throw new ParseException('This should never happen (famous last words)'); } - while (true) { + $keepOnParsing = true; + + while ($keepOnParsing) { if (!$this->isValid()) { $errors = libxml_get_errors(); @@ -169,7 +171,8 @@ class Reader extends XMLReader case self::END_ELEMENT: // Ensuring we are moving the cursor after the end element. $this->read(); - break 2; + $keepOnParsing = false; + break; case self::NONE: throw new ParseException('We hit the end of the document prematurely. This likely means that some parser "eats" too many elements. Do not attempt to continue parsing.'); default: @@ -223,7 +226,7 @@ class Reader extends XMLReader } $value = call_user_func( - $this->getDeserializerForElementName($name), + $this->getDeserializerForElementName((string) $name), $this ); diff --git a/vendor/sabre/xml/lib/Serializer/functions.php b/vendor/sabre/xml/lib/Serializer/functions.php index 3694d9791..8d0330558 100644 --- a/vendor/sabre/xml/lib/Serializer/functions.php +++ b/vendor/sabre/xml/lib/Serializer/functions.php @@ -148,7 +148,7 @@ function repeatingElements(Writer $writer, array $items, string $childElementNam * * You can even mix the two array syntaxes. * - * @param string|int|float|bool|array|object + * @param string|int|float|bool|array|object $value */ function standardSerializer(Writer $writer, $value) { @@ -164,8 +164,6 @@ function standardSerializer(Writer $writer, $value) } elseif (is_callable($value)) { // A callback $value($writer); - } elseif (is_null($value)) { - // nothing! } elseif (is_array($value) && array_key_exists('name', $value)) { // if the array had a 'name' element, we assume that this array // describes a 'name' and optionally 'attributes' and 'value'. @@ -204,7 +202,7 @@ function standardSerializer(Writer $writer, $value) } } elseif (is_object($value)) { throw new InvalidArgumentException('The writer cannot serialize objects of class: '.get_class($value)); - } else { + } elseif (!is_null($value)) { throw new InvalidArgumentException('The writer cannot serialize values of type: '.gettype($value)); } } diff --git a/vendor/sabre/xml/lib/Service.php b/vendor/sabre/xml/lib/Service.php index 882b2dc2c..596c93cc4 100644 --- a/vendor/sabre/xml/lib/Service.php +++ b/vendor/sabre/xml/lib/Service.php @@ -61,6 +61,13 @@ class Service public $classMap = []; /** + * A bitmask of the LIBXML_* constants. + * + * @var int + */ + public $options = 0; + + /** * Returns a fresh XML Reader. */ public function getReader(): Reader @@ -107,16 +114,17 @@ class Service if (is_resource($input)) { // Unfortunately the XMLReader doesn't support streams. When it // does, we can optimize this. - $input = stream_get_contents($input); + $input = (string) stream_get_contents($input); + } - // If input is an empty string, then its safe to throw exception - if ('' === $input) { - throw new ParseException('The input element to parse is empty. Do not attempt to parse'); - } + // If input is empty, then its safe to throw exception + if (empty($input)) { + throw new ParseException('The input element to parse is empty. Do not attempt to parse'); } + $r = $this->getReader(); $r->contextUri = $contextUri; - $r->xml($input); + $r->XML($input, null, $this->options); $result = $r->parse(); $rootElementName = $result['name']; @@ -140,7 +148,6 @@ class Service * * @param string|string[] $rootElementName * @param string|resource $input - * @param string|null $contextUri * * @throws ParseException * @@ -151,16 +158,17 @@ class Service if (is_resource($input)) { // Unfortunately the XMLReader doesn't support streams. When it // does, we can optimize this. - $input = stream_get_contents($input); + $input = (string) stream_get_contents($input); + } - // If input is empty string, then its safe to throw exception - if ('' === $input) { - throw new ParseException('The input element to parse is empty. Do not attempt to parse'); - } + // If input is empty, then its safe to throw exception + if (empty($input)) { + throw new ParseException('The input element to parse is empty. Do not attempt to parse'); } + $r = $this->getReader(); $r->contextUri = $contextUri; - $r->xml($input); + $r->XML($input, null, $this->options); $rootElementName = (array) $rootElementName; @@ -172,7 +180,7 @@ class Service $result = $r->parse(); if (!in_array($result['name'], $rootElementName, true)) { - throw new ParseException('Expected '.implode(' or ', (array) $rootElementName).' but received '.$result['name'].' as the root element'); + throw new ParseException('Expected '.implode(' or ', $rootElementName).' but received '.$result['name'].' as the root element'); } return $result['value']; @@ -192,7 +200,7 @@ class Service * This allows an implementor to easily create URI's relative to the root * of the domain. * - * @param string|array|XmlSerializable $value + * @param string|array|object|XmlSerializable $value * * @return string */ diff --git a/vendor/sabre/xml/lib/Version.php b/vendor/sabre/xml/lib/Version.php index 65706ec42..56c5c5285 100644 --- a/vendor/sabre/xml/lib/Version.php +++ b/vendor/sabre/xml/lib/Version.php @@ -16,5 +16,5 @@ class Version /** * Full version number. */ - const VERSION = '2.1.1'; + const VERSION = '2.2.1'; } diff --git a/vendor/sabre/xml/lib/Writer.php b/vendor/sabre/xml/lib/Writer.php index f5957bbce..e3238a7ed 100644 --- a/vendor/sabre/xml/lib/Writer.php +++ b/vendor/sabre/xml/lib/Writer.php @@ -182,8 +182,6 @@ class Writer extends XMLWriter * XMLWriter::startElement doesn't either. * * @param array|string|object|null $content - * - * @return bool */ public function writeElement($name, $content = null): bool { diff --git a/vendor/sabre/xml/phpstan.neon b/vendor/sabre/xml/phpstan.neon new file mode 100644 index 000000000..d6dd4e577 --- /dev/null +++ b/vendor/sabre/xml/phpstan.neon @@ -0,0 +1,6 @@ +parameters: + level: 5 + ignoreErrors: + - + message: '!Parameter #3 \$uri of method XMLWriter::startElementNs\(\) expects string, null given.!' + path: lib/Writer.php |