From 8d4744d115036dd7ec4169f8b1fdebebac6fb602 Mon Sep 17 00:00:00 2001 From: zotlabs Date: Thu, 16 Mar 2017 11:42:06 +1100 Subject: new composer.lock for red --- vendor/sabre/dav/.travis.yml | 7 +- vendor/sabre/dav/CHANGELOG.md | 56 ++++++-- vendor/sabre/dav/README.md | 2 + vendor/sabre/dav/bin/build.php | 0 vendor/sabre/dav/bin/googlecode_upload.py | 0 vendor/sabre/dav/bin/migrateto20.php | 0 vendor/sabre/dav/bin/migrateto21.php | 0 vendor/sabre/dav/bin/migrateto30.php | 0 vendor/sabre/dav/bin/migrateto32.php | 0 vendor/sabre/dav/bin/sabredav.php | 0 vendor/sabre/dav/composer.json | 4 +- .../dav/lib/CalDAV/Backend/AbstractBackend.php | 6 +- .../dav/lib/CalDAV/Backend/NotificationSupport.php | 4 +- vendor/sabre/dav/lib/CalDAV/Backend/PDO.php | 68 ++++----- .../dav/lib/CalDAV/Backend/SharingSupport.php | 6 +- vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php | 14 +- .../dav/lib/CalDAV/Backend/SubscriptionSupport.php | 2 +- vendor/sabre/dav/lib/CalDAV/Calendar.php | 2 +- vendor/sabre/dav/lib/CalDAV/CalendarHome.php | 8 +- vendor/sabre/dav/lib/CalDAV/CalendarObject.php | 2 +- .../dav/lib/CalDAV/CalendarQueryValidator.php | 4 +- vendor/sabre/dav/lib/CalDAV/CalendarRoot.php | 2 +- .../lib/CalDAV/Exception/InvalidComponentType.php | 2 +- vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php | 6 +- .../dav/lib/CalDAV/Notifications/Collection.php | 4 +- .../sabre/dav/lib/CalDAV/Notifications/INode.php | 8 +- vendor/sabre/dav/lib/CalDAV/Notifications/Node.php | 12 +- .../sabre/dav/lib/CalDAV/Notifications/Plugin.php | 4 +- vendor/sabre/dav/lib/CalDAV/Plugin.php | 10 +- .../sabre/dav/lib/CalDAV/Principal/ProxyRead.php | 4 +- .../sabre/dav/lib/CalDAV/Principal/ProxyWrite.php | 4 +- .../sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php | 2 +- vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php | 6 +- vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php | 2 +- vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php | 33 +++-- .../dav/lib/CalDAV/Schedule/SchedulingObject.php | 2 +- vendor/sabre/dav/lib/CalDAV/SharingPlugin.php | 3 +- .../sabre/dav/lib/CalDAV/Subscriptions/Plugin.php | 2 +- .../dav/lib/CalDAV/Subscriptions/Subscription.php | 12 +- .../dav/lib/CalDAV/Xml/Filter/CalendarData.php | 8 +- .../sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php | 8 +- .../dav/lib/CalDAV/Xml/Filter/ParamFilter.php | 4 +- .../sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php | 8 +- .../dav/lib/CalDAV/Xml/Notification/Invite.php | 10 +- .../lib/CalDAV/Xml/Notification/InviteReply.php | 6 +- .../Xml/Notification/NotificationInterface.php | 2 +- .../lib/CalDAV/Xml/Notification/SystemStatus.php | 2 +- .../CalDAV/Xml/Property/AllowedSharingModes.php | 8 +- .../lib/CalDAV/Xml/Property/EmailAddressSet.php | 4 +- .../sabre/dav/lib/CalDAV/Xml/Property/Invite.php | 13 +- .../CalDAV/Xml/Property/ScheduleCalendarTransp.php | 10 +- .../Xml/Property/SupportedCalendarComponentSet.php | 8 +- .../CalDAV/Xml/Property/SupportedCalendarData.php | 8 +- .../CalDAV/Xml/Property/SupportedCollationSet.php | 6 +- .../CalDAV/Xml/Request/CalendarMultiGetReport.php | 6 +- .../lib/CalDAV/Xml/Request/CalendarQueryReport.php | 8 +- .../lib/CalDAV/Xml/Request/FreeBusyQueryReport.php | 2 +- .../dav/lib/CalDAV/Xml/Request/InviteReply.php | 4 +- .../dav/lib/CalDAV/Xml/Request/MkCalendar.php | 6 +- vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php | 2 +- vendor/sabre/dav/lib/CardDAV/AddressBook.php | 2 +- vendor/sabre/dav/lib/CardDAV/AddressBookHome.php | 2 +- vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php | 2 +- .../dav/lib/CardDAV/Backend/BackendInterface.php | 2 +- vendor/sabre/dav/lib/CardDAV/Backend/PDO.php | 6 +- vendor/sabre/dav/lib/CardDAV/Card.php | 2 +- vendor/sabre/dav/lib/CardDAV/Plugin.php | 19 ++- vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php | 4 +- .../dav/lib/CardDAV/Xml/Filter/AddressData.php | 8 +- .../dav/lib/CardDAV/Xml/Filter/ParamFilter.php | 6 +- .../dav/lib/CardDAV/Xml/Filter/PropFilter.php | 6 +- .../CardDAV/Xml/Property/SupportedAddressData.php | 6 +- .../CardDAV/Xml/Property/SupportedCollationSet.php | 4 +- .../Xml/Request/AddressBookMultiGetReport.php | 2 +- .../CardDAV/Xml/Request/AddressBookQueryReport.php | 13 +- .../dav/lib/DAV/Auth/Backend/AbstractDigest.php | 2 +- vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php | 2 +- vendor/sabre/dav/lib/DAV/Auth/Plugin.php | 6 +- .../sabre/dav/lib/DAV/Browser/GuessContentType.php | 4 +- .../sabre/dav/lib/DAV/Browser/MapGetToPropFind.php | 2 +- vendor/sabre/dav/lib/DAV/Browser/Plugin.php | 62 ++++---- vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php | 2 +- vendor/sabre/dav/lib/DAV/Client.php | 6 +- vendor/sabre/dav/lib/DAV/Collection.php | 2 +- vendor/sabre/dav/lib/DAV/CorePlugin.php | 30 ++-- .../dav/lib/DAV/Exception/InvalidResourceType.php | 2 +- vendor/sabre/dav/lib/DAV/FS/Node.php | 2 +- vendor/sabre/dav/lib/DAV/File.php | 2 +- vendor/sabre/dav/lib/DAV/IFile.php | 4 +- vendor/sabre/dav/lib/DAV/IMoveTarget.php | 2 +- vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php | 4 +- vendor/sabre/dav/lib/DAV/Locks/Plugin.php | 6 +- vendor/sabre/dav/lib/DAV/MkCol.php | 1 + vendor/sabre/dav/lib/DAV/Mount/Plugin.php | 2 +- vendor/sabre/dav/lib/DAV/Node.php | 4 +- vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php | 2 +- vendor/sabre/dav/lib/DAV/PropFind.php | 2 +- .../PropertyStorage/Backend/BackendInterface.php | 2 +- .../dav/lib/DAV/PropertyStorage/Backend/PDO.php | 2 +- .../sabre/dav/lib/DAV/PropertyStorage/Plugin.php | 13 +- vendor/sabre/dav/lib/DAV/Server.php | 101 ++++++++----- vendor/sabre/dav/lib/DAV/Sharing/Plugin.php | 4 +- vendor/sabre/dav/lib/DAV/Sync/Plugin.php | 2 +- .../dav/lib/DAV/TemporaryFileFilterPlugin.php | 8 +- vendor/sabre/dav/lib/DAV/Version.php | 2 +- vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php | 6 +- vendor/sabre/dav/lib/DAV/Xml/Element/Response.php | 2 +- vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php | 4 +- vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php | 2 +- .../dav/lib/DAV/Xml/Property/GetLastModified.php | 8 +- vendor/sabre/dav/lib/DAV/Xml/Property/Href.php | 10 +- vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php | 6 +- .../sabre/dav/lib/DAV/Xml/Property/LocalHref.php | 4 +- .../dav/lib/DAV/Xml/Property/ResourceType.php | 4 +- .../sabre/dav/lib/DAV/Xml/Property/ShareAccess.php | 6 +- .../dav/lib/DAV/Xml/Property/SupportedLock.php | 8 +- .../lib/DAV/Xml/Property/SupportedMethodSet.php | 4 +- .../lib/DAV/Xml/Property/SupportedReportSet.php | 4 +- vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php | 2 +- vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php | 6 +- vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php | 2 +- vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php | 10 +- .../dav/lib/DAV/Xml/Request/ShareResource.php | 4 +- .../lib/DAV/Xml/Request/SyncCollectionReport.php | 8 +- .../sabre/dav/lib/DAV/Xml/Response/MultiStatus.php | 2 +- .../DAVACL/Exception/NotRecognizedPrincipal.php | 2 +- vendor/sabre/dav/lib/DAVACL/FS/Collection.php | 4 +- vendor/sabre/dav/lib/DAVACL/FS/File.php | 2 +- vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php | 2 +- vendor/sabre/dav/lib/DAVACL/Plugin.php | 38 +++-- vendor/sabre/dav/lib/DAVACL/Principal.php | 2 +- .../DAVACL/PrincipalBackend/BackendInterface.php | 2 +- .../sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php | 8 +- .../sabre/dav/lib/DAVACL/PrincipalCollection.php | 2 +- vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php | 6 +- .../lib/DAVACL/Xml/Property/AclRestrictions.php | 6 +- .../Xml/Property/CurrentUserPrivilegeSet.php | 6 +- .../dav/lib/DAVACL/Xml/Property/Principal.php | 4 +- .../DAVACL/Xml/Property/SupportedPrivilegeSet.php | 11 +- .../Xml/Request/AclPrincipalPropSetReport.php | 6 +- .../DAVACL/Xml/Request/ExpandPropertyReport.php | 2 +- .../DAVACL/Xml/Request/PrincipalMatchReport.php | 6 +- .../Xml/Request/PrincipalPropertySearchReport.php | 4 +- .../Request/PrincipalSearchPropertySetReport.php | 4 +- .../tests/Sabre/CalDAV/Backend/AbstractPDOTest.php | 14 +- .../sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php | 2 +- .../dav/tests/Sabre/CalDAV/CalendarObjectTest.php | 2 +- .../Sabre/CalDAV/CalendarQueryValidatorTest.php | 3 + .../dav/tests/Sabre/CalDAV/FreeBusyReportTest.php | 4 +- .../dav/tests/Sabre/CalDAV/ICSExportPluginTest.php | 2 +- vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php | 6 +- .../dav/tests/Sabre/CalDAV/SharingPluginTest.php | 4 +- .../tests/Sabre/CardDAV/AddressBookQueryTest.php | 51 ++++++- .../dav/tests/Sabre/CardDAV/AddressBookTest.php | 6 +- .../sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php | 13 +- .../sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php | 2 +- .../Sabre/CardDAV/SogoStripContentTypeTest.php | 2 +- .../dav/tests/Sabre/CardDAV/ValidateFilterTest.php | 5 + .../dav/tests/Sabre/CardDAV/ValidateVCardTest.php | 10 +- .../dav/tests/Sabre/DAV/Auth/Backend/Mock.php | 2 + .../sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php | 2 +- vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php | 6 +- .../dav/tests/Sabre/DAV/Exception/LockedTest.php | 2 +- vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php | 2 +- .../sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php | 8 +- .../sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php | 6 +- .../sabre/dav/tests/Sabre/DAV/Mock/Collection.php | 3 + vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php | 7 +- .../Sabre/DAV/PartialUpdate/SpecificationTest.php | 5 + .../sabre/dav/tests/Sabre/DAV/ServerEventsTest.php | 8 +- .../sabre/dav/tests/Sabre/DAV/ServerRangeTest.php | 2 +- .../sabre/dav/tests/Sabre/DAV/StringUtilTest.php | 7 + vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php | 5 +- .../tests/Sabre/DAVACL/PrincipalBackend/Mock.php | 2 +- vendor/sabre/http/.travis.yml | 4 +- vendor/sabre/http/CHANGELOG.md | 8 +- vendor/sabre/http/LICENSE | 2 +- vendor/sabre/http/composer.json | 1 + vendor/sabre/http/lib/Message.php | 12 +- vendor/sabre/http/lib/MessageDecoratorTrait.php | 7 +- vendor/sabre/http/lib/MessageInterface.php | 3 +- vendor/sabre/http/lib/Request.php | 2 +- vendor/sabre/http/lib/Response.php | 3 +- vendor/sabre/http/lib/ResponseInterface.php | 2 +- vendor/sabre/http/lib/URLUtil.php | 2 +- vendor/sabre/http/lib/Util.php | 2 +- vendor/sabre/http/lib/Version.php | 2 +- vendor/sabre/http/lib/functions.php | 4 +- vendor/sabre/uri/.travis.yml | 2 +- vendor/sabre/uri/CHANGELOG.md | 23 +++ vendor/sabre/uri/LICENSE | 2 +- vendor/sabre/uri/README.md | 8 -- vendor/sabre/uri/composer.json | 4 +- vendor/sabre/uri/lib/InvalidUriException.php | 17 +++ vendor/sabre/uri/lib/Version.php | 2 +- vendor/sabre/uri/lib/functions.php | 99 ++++++++++++- vendor/sabre/vobject/.travis.yml | 3 +- vendor/sabre/vobject/CHANGELOG.md | 18 ++- vendor/sabre/vobject/bin/fetch_windows_zones.php | 2 +- vendor/sabre/vobject/composer.json | 4 +- .../vobject/lib/BirthdayCalendarGenerator.php | 8 +- vendor/sabre/vobject/lib/Component/VAlarm.php | 4 +- vendor/sabre/vobject/lib/Component/VCalendar.php | 112 +++++++-------- vendor/sabre/vobject/lib/Component/VCard.php | 44 +++--- vendor/sabre/vobject/lib/DateTimeParser.php | 14 +- vendor/sabre/vobject/lib/FreeBusyGenerator.php | 6 +- vendor/sabre/vobject/lib/Parameter.php | 2 +- vendor/sabre/vobject/lib/Parser/Json.php | 2 +- vendor/sabre/vobject/lib/Parser/MimeDir.php | 4 +- vendor/sabre/vobject/lib/Parser/XML.php | 22 +-- .../vobject/lib/Property/ICalendar/Duration.php | 2 +- .../vobject/lib/Property/ICalendar/Period.php | 2 +- .../sabre/vobject/lib/Property/ICalendar/Recur.php | 48 +++++++ vendor/sabre/vobject/lib/Property/Text.php | 4 +- vendor/sabre/vobject/lib/Property/Uri.php | 2 +- .../vobject/lib/Property/VCard/DateAndOrTime.php | 24 ++-- vendor/sabre/vobject/lib/Recur/EventIterator.php | 6 +- vendor/sabre/vobject/lib/Recur/RRuleIterator.php | 93 +++++++++++- vendor/sabre/vobject/lib/TimeZoneUtil.php | 10 ++ vendor/sabre/vobject/lib/Version.php | 2 +- .../sabre/vobject/lib/timezonedata/lotuszones.php | 158 ++++++++++----------- .../vobject/lib/timezonedata/windowszones.php | 32 ++++- 222 files changed, 1282 insertions(+), 774 deletions(-) mode change 100644 => 100755 vendor/sabre/dav/bin/build.php mode change 100644 => 100755 vendor/sabre/dav/bin/googlecode_upload.py mode change 100644 => 100755 vendor/sabre/dav/bin/migrateto20.php mode change 100644 => 100755 vendor/sabre/dav/bin/migrateto21.php mode change 100644 => 100755 vendor/sabre/dav/bin/migrateto30.php mode change 100644 => 100755 vendor/sabre/dav/bin/migrateto32.php mode change 100644 => 100755 vendor/sabre/dav/bin/sabredav.php create mode 100644 vendor/sabre/uri/lib/InvalidUriException.php (limited to 'vendor/sabre') diff --git a/vendor/sabre/dav/.travis.yml b/vendor/sabre/dav/.travis.yml index a9189c981..85637048a 100644 --- a/vendor/sabre/dav/.travis.yml +++ b/vendor/sabre/dav/.travis.yml @@ -2,7 +2,9 @@ language: php php: - 5.5 - 5.6 - - 7 + - 7.0 + - 7.1 + env: matrix: @@ -19,7 +21,6 @@ before_script: - mysql -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 - - phpenv config-rm xdebug.ini; true # - composer self-update - composer update --prefer-dist $LOWEST_DEPS @@ -28,7 +29,7 @@ before_script: script: - ./bin/phpunit --configuration tests/phpunit.xml.dist $TEST_DEPS - - ./bin/sabre-cs-fixer fix lib/ --dry-run --diff + - ./bin/sabre-cs-fixer fix . --dry-run --diff cache: directories: diff --git a/vendor/sabre/dav/CHANGELOG.md b/vendor/sabre/dav/CHANGELOG.md index d8a3898c3..0bccc995c 100644 --- a/vendor/sabre/dav/CHANGELOG.md +++ b/vendor/sabre/dav/CHANGELOG.md @@ -1,6 +1,28 @@ ChangeLog ========= +3.2.2 (2017-02-14) +------------------ + +* #943: Fix CardDAV XML reporting bug, which was affecting several CardDAV + clients. Bug was introduced in 3.2.1. +* The zip release ships with [sabre/vobject 4.1.2][vobj], + [sabre/http 4.2.2][http], [sabre/event 3.0.0][evnt], + [sabre/uri 1.2.0][uri] and [sabre/xml 1.5.0][xml]. + + +3.2.1 (2017-01-28) +------------------ + +* #877: Fix for syncing large calendars when using the Sqlite PDO backend. + (@theseer). +* #889 Added support for filtering vCard properties in the addressbook-query + REPORT (@DeepDiver1975). +* The zip release ships with [sabre/vobject 4.1.2][vobj], + [sabre/http 4.2.2][http], [sabre/event 3.0.0][evnt], + [sabre/uri 1.2.0][uri] and [sabre/xml 1.5.0][xml]. + + 3.2.0 (2016-06-27) ------------------ @@ -88,6 +110,9 @@ ChangeLog ------------------ * Fixed: Creating a new calendar on some MySQL configurations caused an error. +* #889 Added support for filtering vCard properties in the addressbook-query + REPORT (@DeepDiver1975). + 3.1.4 (2016-05-28) @@ -200,6 +225,13 @@ ChangeLog [sabre/uri 1.0.1][uri] and [sabre/xml 1.1.0][xml]. +3.0.10 (2016-??-??) +------------------ + +* #889 Added support for filtering vCard properties in the addressbook-query + REPORT (@DeepDiver1975). + + 3.0.9 (2016-04-06) ------------------ @@ -463,11 +495,13 @@ ChangeLog * #193: Fix `Sabre\DAV\FSExt\Directory::getQuotaInfo()` on windows. -2.1.11 (2016-??-??) +2.1.11 (2016-10-06) ------------------- * #805: It wasn't possible to create calendars that hold events, journals and todos using MySQL, because the `components` column was 1 byte too small. +* The zip release ships with [sabre/vobject 3.5.3][vobj], + [sabre/http 3.0.5][http], and [sabre/event 2.0.2][evnt]. 2.1.10 (2016-03-10) @@ -475,6 +509,8 @@ ChangeLog * #784: Sync logs for address books were not correctly cleaned up after deleting them. +* The zip release ships with [sabre/vobject 3.5.0][vobj], + [sabre/http 3.0.5][http], and [sabre/event 2.0.2][evnt]. 2.1.9 (2016-01-25) @@ -627,7 +663,7 @@ ChangeLog * Added: Automatically converting between vCard 3, 4 and jCard using the `Accept:` header, in CardDAV reports, and automatically converting from jCard to vCard upon `PUT`. It's important to note that your backends _may_ - now recieve both vCard 3.0 and 4.0. + now receive both vCard 3.0 and 4.0. * Added: #444. Collections can now opt-in to support high-speed `MOVE`. * Changed: PropertyStorage backends now have a `move` method. * Added: `beforeMove`, and `afterMove` events. @@ -812,7 +848,7 @@ ChangeLog * Added: Support for the `{DAV:}supported-method-set` property server-wide. * Making it easier for implementors to override how the CardDAV addressbook home is located. -* Fixed: Issue #422 Preconditions were not being set on PUT on non-existant +* Fixed: Issue #422 Preconditions were not being set on PUT on non-existent files. Not really a chance for data-loss, but incorrect nevertheless. * Fixed: Issue #428: Etag check with `If:` fails if the target is a collection. * Fixed: Issues #430, #431, #433: Locks plugin didn't not properly release @@ -1024,7 +1060,7 @@ ChangeLog * Added: Sharee's can now also read out the list of invites for a shared calendar. * Added: The Proxy principal classes now both implement an interface, for - greater flexiblity. + greater flexibility. 1.7.13 (2014-07-28) @@ -1042,7 +1078,7 @@ ChangeLog Sabre_DAV_PartialUpdate_IFile interface is now deprecated and will be removed in a future version. * Fixed: Restoring old setting after changing libxml_disable_entity_loader. -* Fixed: Issue #422: Preconditions were not being set on PUT on non-existant +* Fixed: Issue #422: Preconditions were not being set on PUT on non-existent files. Not really a chance for data-loss, but incorrect nevertheless. * Fixed: Issue #427: Now checking preconditions on DELETE requests. * Fixed: Issue #428: Etag check with If: fails if the target is a collection. @@ -1121,7 +1157,7 @@ ChangeLog ------------------ * The zip release ships with sabre/vobject 2.0.5. -* Changed: To be compatibile with MS Office 2011 for Mac, a workaround was +* Changed: To be compatible with MS Office 2011 for Mac, a workaround was removed that was added to support old versions of Windows XP (pre-SP3). Indeed! We needed a crazy workaround to work with one MS product in the past, and we can't keep that workaround to be compatible with another MS product. @@ -1129,7 +1165,7 @@ ChangeLog * Fixed: Range requests now work for non-seekable streams. (Thanks Alfred Klomp). * Fixed: Changed serialization of {DAV:}getlastmodified and {DAV:}supportedlock - to improve compatiblity with MS Office 2011 for Mac. + to improve compatibility with MS Office 2011 for Mac. * Changed: reverted the automatic translation of 'DAV:' xml namespaces to 'urn:DAV' when parsing files. Issues were reported with libxml 2.6.32, on a relatively recent debian release, so we'll wait till 2015 to take this one out @@ -2006,7 +2042,7 @@ ChangeLog ------------------- * Fixed: Issue 34: Invalid Lock-Token header response. -* Added: Issue 35: Addign SabreDAV version to HTTP OPTIONS responses. +* Added: Issue 35: Adding SabreDAV version to HTTP OPTIONS responses. 1.0.9 (2010-03-19) @@ -2220,7 +2256,7 @@ ChangeLog * Added: Simple HTML directory plugin, for browser access. * Added: Server class now sends back standard pre-condition error xml bodies. This was new since RFC4918. -* Added: Sabre_DAV_Tree_Aggregrate, which can 'host' multiple Tree objects into +* Added: Sabre_DAV_Tree_Aggregate, which can 'host' multiple Tree objects into one. * Added: simple basis for HTTP REPORT method. This method is not used yet, but can be used by plugins to add reports. @@ -2237,7 +2273,7 @@ ChangeLog 8.2. * Fixed: TemporaryFileFilter now lets through GET's if they actually exist on the backend. (r274) -* FIxed: Some methods didn't get passed through in the FilterTree (r283). +* Fixed: Some methods didn't get passed through in the FilterTree (r283). * Fixed: LockManager is now slightly more complex, Tree classes slightly less. (r287) diff --git a/vendor/sabre/dav/README.md b/vendor/sabre/dav/README.md index 8edcd4073..86a0fe9a6 100644 --- a/vendor/sabre/dav/README.md +++ b/vendor/sabre/dav/README.md @@ -10,6 +10,7 @@ Full documentation can be found on the website: http://sabre.io/ + Build status ------------ @@ -30,6 +31,7 @@ Documentation * [Introduction](http://sabre.io/dav/). * [Installation](http://sabre.io/dav/install/). + Made at fruux ------------- diff --git a/vendor/sabre/dav/bin/build.php b/vendor/sabre/dav/bin/build.php old mode 100644 new mode 100755 diff --git a/vendor/sabre/dav/bin/googlecode_upload.py b/vendor/sabre/dav/bin/googlecode_upload.py old mode 100644 new mode 100755 diff --git a/vendor/sabre/dav/bin/migrateto20.php b/vendor/sabre/dav/bin/migrateto20.php old mode 100644 new mode 100755 diff --git a/vendor/sabre/dav/bin/migrateto21.php b/vendor/sabre/dav/bin/migrateto21.php old mode 100644 new mode 100755 diff --git a/vendor/sabre/dav/bin/migrateto30.php b/vendor/sabre/dav/bin/migrateto30.php old mode 100644 new mode 100755 diff --git a/vendor/sabre/dav/bin/migrateto32.php b/vendor/sabre/dav/bin/migrateto32.php old mode 100644 new mode 100755 diff --git a/vendor/sabre/dav/bin/sabredav.php b/vendor/sabre/dav/bin/sabredav.php old mode 100644 new mode 100755 diff --git a/vendor/sabre/dav/composer.json b/vendor/sabre/dav/composer.json index f85d9655e..fca0e07fb 100644 --- a/vendor/sabre/dav/composer.json +++ b/vendor/sabre/dav/composer.json @@ -32,9 +32,9 @@ "psr/log": "^1.0" }, "require-dev" : { - "phpunit/phpunit" : "> 4.8, <=6.0.0", + "phpunit/phpunit" : "> 4.8, <6.0.0", "evert/phpdoc-md" : "~0.1.0", - "sabre/cs" : "~0.0.5", + "sabre/cs" : "^1.0.0", "monolog/monolog": "^1.18" }, "suggest" : { diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php b/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php index d58b4a46e..311b1c415 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Backend; -use Sabre\VObject; use Sabre\CalDAV; +use Sabre\VObject; /** * Abstract Calendaring backend. Extend this class to create your own backends. @@ -26,9 +26,9 @@ abstract class AbstractBackend implements BackendInterface { * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * - * @param string $path + * @param mixed $calendarId * @param \Sabre\DAV\PropPatch $propPatch * @return void */ diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php index 9c00a89ef..bf2ef27a0 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php @@ -49,8 +49,8 @@ interface NotificationSupport extends BackendInterface { * If the user chose to accept the share, this method should return the * newly created calendar url. * - * @param string href The sharee who is replying (often a mailto: address) - * @param int status One of the SharingPlugin::STATUS_* constants + * @param string $href The sharee who is replying (often a mailto: address) + * @param int $status One of the SharingPlugin::STATUS_* constants * @param string $calendarUri The url to the calendar thats being shared * @param string $inReplyTo The unique id this message is a response to * @param string $summary A description of the reply diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php b/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php index 95f1d49a6..458440588 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php @@ -5,8 +5,8 @@ namespace Sabre\CalDAV\Backend; use Sabre\CalDAV; use Sabre\DAV; use Sabre\DAV\Exception\Forbidden; -use Sabre\VObject; use Sabre\DAV\Xml\Element\Sharee; +use Sabre\VObject; /** * PDO CalDAV backend @@ -296,7 +296,7 @@ SQL * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param mixed $calendarId * @param \Sabre\DAV\PropPatch $propPatch @@ -481,13 +481,13 @@ SQL if (!$row) return null; return [ - 'id' => $row['id'], - 'uri' => $row['uri'], - 'lastmodified' => (int)$row['lastmodified'], - 'etag' => '"' . $row['etag'] . '"', - 'size' => (int)$row['size'], - 'calendardata' => $row['calendardata'], - 'component' => strtolower($row['componenttype']), + 'id' => $row['id'], + 'uri' => $row['uri'], + 'lastmodified' => (int)$row['lastmodified'], + 'etag' => '"' . $row['etag'] . '"', + 'size' => (int)$row['size'], + 'calendardata' => $row['calendardata'], + 'component' => strtolower($row['componenttype']), ]; } @@ -511,27 +511,29 @@ SQL } list($calendarId, $instanceId) = $calendarId; - $query = 'SELECT id, uri, lastmodified, etag, calendarid, size, calendardata, componenttype FROM ' . $this->calendarObjectTableName . ' WHERE calendarid = ? AND uri IN ('; - // Inserting a whole bunch of question marks - $query .= implode(',', array_fill(0, count($uris), '?')); - $query .= ')'; + $result = []; + foreach (array_chunk($uris, 900) as $chunk) { + $query = 'SELECT id, uri, lastmodified, etag, calendarid, size, calendardata, componenttype FROM ' . $this->calendarObjectTableName . ' WHERE calendarid = ? AND uri IN ('; + // Inserting a whole bunch of question marks + $query .= implode(',', array_fill(0, count($chunk), '?')); + $query .= ')'; - $stmt = $this->pdo->prepare($query); - $stmt->execute(array_merge([$calendarId], $uris)); + $stmt = $this->pdo->prepare($query); + $stmt->execute(array_merge([$calendarId], $chunk)); - $result = []; - while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { + while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { - $result[] = [ - 'id' => $row['id'], - 'uri' => $row['uri'], - 'lastmodified' => (int)$row['lastmodified'], - 'etag' => '"' . $row['etag'] . '"', - 'size' => (int)$row['size'], - 'calendardata' => $row['calendardata'], - 'component' => strtolower($row['componenttype']), - ]; + $result[] = [ + 'id' => $row['id'], + 'uri' => $row['uri'], + 'lastmodified' => (int)$row['lastmodified'], + 'etag' => '"' . $row['etag'] . '"', + 'size' => (int)$row['size'], + 'calendardata' => $row['calendardata'], + 'component' => strtolower($row['componenttype']), + ]; + } } return $result; @@ -686,7 +688,7 @@ SQL } } - + // Ensure Occurence values are positive if ($firstOccurence < 0) $firstOccurence = 0; if ($lastOccurence < 0) $lastOccurence = 0; @@ -769,7 +771,7 @@ SQL * Note that especially time-range-filters may be difficult to parse. A * time-range filter specified on a VEVENT must for instance also handle * recurrence rules correctly. - * A good example of how to interprete all these filters can also simply + * A good example of how to interpret all these filters can also simply * be found in \Sabre\CalDAV\CalendarQueryFilter. This class is as correct * as possible, so it gives you a good idea on what type of stuff you need * to think of. @@ -969,7 +971,7 @@ SQL; // Current synctoken $stmt = $this->pdo->prepare('SELECT synctoken FROM ' . $this->calendarTableName . ' WHERE id = ?'); - $stmt->execute([ $calendarId ]); + $stmt->execute([$calendarId]); $currentToken = $stmt->fetchColumn(0); if (is_null($currentToken)) return null; @@ -1181,7 +1183,7 @@ SQL; * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param mixed $subscriptionId * @param \Sabre\DAV\PropPatch $propPatch @@ -1327,7 +1329,7 @@ SQL; function createSchedulingObject($principalUri, $objectUri, $objectData) { $stmt = $this->pdo->prepare('INSERT INTO ' . $this->schedulingObjectTableName . ' (principaluri, calendardata, uri, lastmodified, etag, size) VALUES (?, ?, ?, ?, ?, ?)'); - $stmt->execute([$principalUri, $objectData, $objectUri, time(), md5($objectData), strlen($objectData) ]); + $stmt->execute([$principalUri, $objectData, $objectUri, time(), md5($objectData), strlen($objectData)]); } @@ -1483,7 +1485,7 @@ SQL; 'inviteStatus' => (int)$row['share_invitestatus'], 'properties' => !empty($row['share_displayname']) - ? [ '{DAV:}displayname' => $row['share_displayname'] ] + ? ['{DAV:}displayname' => $row['share_displayname']] : [], 'principal' => $row['principaluri'], ]); @@ -1502,7 +1504,7 @@ SQL; */ function setPublishStatus($calendarId, $value) { - throw new \Sabre\DAV\Exception\NotImplemented('Not implemented'); + throw new DAV\Exception\NotImplemented('Not implemented'); } diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php index 8b6e074e0..278ec2564 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/SharingSupport.php @@ -11,9 +11,9 @@ namespace Sabre\CalDAV\Backend; * 1. Return shared calendars for users. * 2. For every calendar, return calendar-resource-uri. This strings is a URI or * relative URI reference that must be unique for every calendar, but - * identical for every instance of the same shared calenar. - * 3. For every calenar, you must return a share-access element. This element - * should contain one of the Sabre\DAV\Sharing\Plugin:ACCESS_* contants and + * identical for every instance of the same shared calendar. + * 3. For every calendar, you must return a share-access element. This element + * should contain one of the Sabre\DAV\Sharing\Plugin:ACCESS_* constants and * indicates the access level the user has. * * @copyright Copyright (C) fruux GmbH (https://fruux.com/) diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php b/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php index f8238ea9a..d21f7f916 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php @@ -8,7 +8,7 @@ use Sabre\DAV; /** * Simple PDO CalDAV backend. * - * This class is basically the most minmum example to get a caldav backend up + * This class is basically the most minimum example to get a caldav backend up * and running. This class uses the following schema (MySQL example): * * CREATE TABLE simple_calendars ( @@ -209,12 +209,12 @@ class SimplePDO extends AbstractBackend { if (!$row) return null; return [ - 'id' => $row['id'], - 'uri' => $row['uri'], - 'etag' => '"' . md5($row['calendardata']) . '"', - 'calendarid' => $calendarId, - 'size' => strlen($row['calendardata']), - 'calendardata' => $row['calendardata'], + 'id' => $row['id'], + 'uri' => $row['uri'], + 'etag' => '"' . md5($row['calendardata']) . '"', + 'calendarid' => $calendarId, + 'size' => strlen($row['calendardata']), + 'calendardata' => $row['calendardata'], ]; } diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php index a39289f5e..d77a2fe0f 100644 --- a/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php +++ b/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php @@ -70,7 +70,7 @@ interface SubscriptionSupport extends BackendInterface { * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param mixed $subscriptionId * @param \Sabre\DAV\PropPatch $propPatch diff --git a/vendor/sabre/dav/lib/CalDAV/Calendar.php b/vendor/sabre/dav/lib/CalDAV/Calendar.php index 90ace0d21..7467900cc 100644 --- a/vendor/sabre/dav/lib/CalDAV/Calendar.php +++ b/vendor/sabre/dav/lib/CalDAV/Calendar.php @@ -3,8 +3,8 @@ namespace Sabre\CalDAV; use Sabre\DAV; -use Sabre\DAVACL; use Sabre\DAV\PropPatch; +use Sabre\DAVACL; /** * This object represents a CalDAV calendar. diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarHome.php b/vendor/sabre/dav/lib/CalDAV/CalendarHome.php index 0a4bfb68f..ffd7f72fb 100644 --- a/vendor/sabre/dav/lib/CalDAV/CalendarHome.php +++ b/vendor/sabre/dav/lib/CalDAV/CalendarHome.php @@ -27,7 +27,7 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL { /** * CalDAV backend * - * @var Sabre\CalDAV\Backend\BackendInterface + * @var Backend\BackendInterface */ protected $caldavBackend; @@ -42,7 +42,7 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL { * Constructor * * @param Backend\BackendInterface $caldavBackend - * @param mixed $userUri + * @param array $principalInfo */ function __construct(Backend\BackendInterface $caldavBackend, $principalInfo) { @@ -334,8 +334,8 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL { * This method should return the url of the newly created calendar if the * share was accepted. * - * @param string href The sharee who is replying (often a mailto: address) - * @param int status One of the SharingPlugin::STATUS_* constants + * @param string $href The sharee who is replying (often a mailto: address) + * @param int $status One of the SharingPlugin::STATUS_* constants * @param string $calendarUri The url to the calendar thats being shared * @param string $inReplyTo The unique id this message is a response to * @param string $summary A description of the reply diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarObject.php b/vendor/sabre/dav/lib/CalDAV/CalendarObject.php index 001b35112..9d6532a35 100644 --- a/vendor/sabre/dav/lib/CalDAV/CalendarObject.php +++ b/vendor/sabre/dav/lib/CalDAV/CalendarObject.php @@ -16,7 +16,7 @@ class CalendarObject extends \Sabre\DAV\File implements ICalendarObject, \Sabre\ /** * Sabre\CalDAV\Backend\BackendInterface * - * @var Sabre\CalDAV\Backend\AbstractBackend + * @var Backend\AbstractBackend */ protected $caldavBackend; diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php b/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php index f3c7524d2..df8008fe2 100644 --- a/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php +++ b/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV; -use Sabre\VObject; use DateTime; +use Sabre\VObject; /** * CalendarQuery Validator @@ -25,7 +25,7 @@ class CalendarQueryValidator { * * The list of filters must be formatted as parsed by \Sabre\CalDAV\CalendarQueryParser * - * @param VObject\Component $vObject + * @param VObject\Component\VCalendar $vObject * @param array $filters * @return bool */ diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php b/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php index 0ac50e41d..1d6b2ac9f 100644 --- a/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php +++ b/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php @@ -22,7 +22,7 @@ class CalendarRoot extends \Sabre\DAVACL\AbstractPrincipalCollection { /** * CalDAV backend * - * @var Sabre\CalDAV\Backend\BackendInterface + * @var Backend\BackendInterface */ protected $caldavBackend; diff --git a/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php b/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php index 5ce8a93f5..7aff2edab 100644 --- a/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php +++ b/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Exception; -use Sabre\DAV; use Sabre\CalDAV; +use Sabre\DAV; /** * InvalidComponentType diff --git a/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php b/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php index a3a824c71..fc8b971f3 100644 --- a/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php +++ b/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php @@ -2,13 +2,13 @@ namespace Sabre\CalDAV; +use DateTime; use DateTimeZone; use Sabre\DAV; -use Sabre\VObject; +use Sabre\DAV\Exception\BadRequest; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; -use Sabre\DAV\Exception\BadRequest; -use DateTime; +use Sabre\VObject; /** * ICS Exporter diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php index 5fda61dfa..557832a5a 100644 --- a/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php +++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Notifications; -use Sabre\DAV; use Sabre\CalDAV; +use Sabre\DAV; use Sabre\DAVACL; /** @@ -27,7 +27,7 @@ class Collection extends DAV\Collection implements ICollection, DAVACL\IACL { /** * The notification backend * - * @var Sabre\CalDAV\Backend\NotificationSupport + * @var CalDAV\Backend\NotificationSupport */ protected $caldavBackend; diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php b/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php index f9986b714..783b92be9 100644 --- a/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php +++ b/vendor/sabre/dav/lib/CalDAV/Notifications/INode.php @@ -2,6 +2,8 @@ namespace Sabre\CalDAV\Notifications; +use Sabre\CalDAV\Xml\Notification\NotificationInterface; + /** * This node represents a single notification. * @@ -20,16 +22,16 @@ interface INode { /** * This method must return an xml element, using the - * Sabre\CalDAV\Notifications\INotificationType classes. + * Sabre\CalDAV\Xml\Notification\NotificationInterface classes. * - * @return INotificationType + * @return NotificationInterface */ function getNotificationType(); /** * Returns the etag for the notification. * - * The etag must be surrounded by litteral double-quotes. + * The etag must be surrounded by literal double-quotes. * * @return string */ diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php index 11df0c94b..ad7ddf8f5 100644 --- a/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php +++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php @@ -2,9 +2,9 @@ namespace Sabre\CalDAV\Notifications; -use Sabre\DAV; use Sabre\CalDAV; use Sabre\CalDAV\Xml\Notification\NotificationInterface; +use Sabre\DAV; use Sabre\DAVACL; /** @@ -25,14 +25,14 @@ class Node extends DAV\File implements INode, DAVACL\IACL { /** * The notification backend * - * @var Sabre\CalDAV\Backend\NotificationSupport + * @var CalDAV\Backend\NotificationSupport */ protected $caldavBackend; /** * The actual notification * - * @var Sabre\CalDAV\Notifications\INotificationType + * @var NotificationInterface */ protected $notification; @@ -61,7 +61,7 @@ class Node extends DAV\File implements INode, DAVACL\IACL { /** * Returns the path name for this notification * - * @return id + * @return string */ function getName() { @@ -84,9 +84,9 @@ class Node extends DAV\File implements INode, DAVACL\IACL { /** * This method must return an xml element, using the - * Sabre\CalDAV\Notifications\INotificationType classes. + * Sabre\CalDAV\Xml\Notification\NotificationInterface classes. * - * @return INotificationType + * @return NotificationInterface */ function getNotificationType() { diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php index 546bf927f..e742351f5 100644 --- a/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php @@ -3,10 +3,10 @@ namespace Sabre\CalDAV\Notifications; use Sabre\DAV; -use Sabre\DAV\PropFind; use Sabre\DAV\INode as BaseINode; -use Sabre\DAV\ServerPlugin; +use Sabre\DAV\PropFind; use Sabre\DAV\Server; +use Sabre\DAV\ServerPlugin; use Sabre\DAVACL; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; diff --git a/vendor/sabre/dav/lib/CalDAV/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Plugin.php index 71ba75206..def11d52d 100644 --- a/vendor/sabre/dav/lib/CalDAV/Plugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Plugin.php @@ -9,11 +9,11 @@ use Sabre\DAV\INode; use Sabre\DAV\MkCol; use Sabre\DAV\Xml\Property\LocalHref; use Sabre\DAVACL; -use Sabre\VObject; use Sabre\HTTP; -use Sabre\Uri; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; +use Sabre\Uri; +use Sabre\VObject; /** * CalDAV plugin @@ -302,8 +302,8 @@ class Plugin extends DAV\ServerPlugin { $this->server->createCollection($path, new MkCol($resourceType, $properties)); - $this->server->httpResponse->setStatus(201); - $this->server->httpResponse->setHeader('Content-Length', 0); + $response->setStatus(201); + $response->setHeader('Content-Length', 0); // This breaks the method chain. return false; @@ -926,7 +926,7 @@ class Plugin extends DAV\ServerPlugin { ); } - // We use an extra variable to allow event handles to tell us wether + // We use an extra variable to allow event handles to tell us whether // the object was modified or not. // // This helps us determine if we need to re-serialize the object. diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php index 93f0fe095..e3881831e 100644 --- a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php +++ b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Principal; -use Sabre\DAVACL; use Sabre\DAV; +use Sabre\DAVACL; /** * ProxyRead principal @@ -84,8 +84,8 @@ class ProxyRead implements IProxyRead { /** * Renames the node * - * @throws DAV\Exception\Forbidden * @param string $name The new name + * @throws DAV\Exception\Forbidden * @return void */ function setName($name) { diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php index 8124c05e0..43dd9bf07 100644 --- a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php +++ b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Principal; -use Sabre\DAVACL; use Sabre\DAV; +use Sabre\DAVACL; /** * ProxyWrite principal @@ -84,8 +84,8 @@ class ProxyWrite implements IProxyWrite { /** * Renames the node * - * @throws DAV\Exception\Forbidden * @param string $name The new name + * @throws DAV\Exception\Forbidden * @return void */ function setName($name) { diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php b/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php index ffb1fe45b..6f5acb29a 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php @@ -181,7 +181,7 @@ class IMipPlugin extends DAV\ServerPlugin { return [ 'name' => $this->getPluginName(), - 'description' => 'Email delivery (rfc6037) for CalDAV scheduling', + 'description' => 'Email delivery (rfc6047) for CalDAV scheduling', 'link' => 'http://sabre.io/dav/scheduling/', ]; diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php index 6b374ea3f..81b017307 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php @@ -2,10 +2,10 @@ namespace Sabre\CalDAV\Schedule; -use Sabre\DAV; use Sabre\CalDAV; -use Sabre\DAVACL; use Sabre\CalDAV\Backend; +use Sabre\DAV; +use Sabre\DAVACL; use Sabre\VObject; /** @@ -83,7 +83,7 @@ class Inbox extends DAV\Collection implements IInbox { * Data will either be supplied as a stream resource, or in certain cases * as a string. Keep in mind that you may have to support either. * - * After succesful creation of the file, you may choose to return the ETag + * After successful creation of the file, you may choose to return the ETag * of the new file here. * * The returned ETag must be surrounded by double-quotes (The quotes should diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php index 29eefa744..888ea3086 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Outbox.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Schedule; -use Sabre\DAV; use Sabre\CalDAV; +use Sabre\DAV; use Sabre\DAVACL; /** diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php index 47511140f..0b991e619 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php @@ -3,29 +3,28 @@ namespace Sabre\CalDAV\Schedule; use DateTimeZone; +use Sabre\CalDAV\ICalendar; +use Sabre\CalDAV\ICalendarObject; +use Sabre\CalDAV\Xml\Property\ScheduleCalendarTransp; +use Sabre\DAV\Exception\BadRequest; +use Sabre\DAV\Exception\Forbidden; +use Sabre\DAV\Exception\NotFound; +use Sabre\DAV\Exception\NotImplemented; +use Sabre\DAV\INode; +use Sabre\DAV\PropFind; +use Sabre\DAV\PropPatch; use Sabre\DAV\Server; use Sabre\DAV\ServerPlugin; use Sabre\DAV\Sharing; -use Sabre\DAV\PropFind; -use Sabre\DAV\PropPatch; -use Sabre\DAV\INode; -use Sabre\DAV\Xml\Property\Href; use Sabre\DAV\Xml\Property\LocalHref; +use Sabre\DAVACL; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; use Sabre\VObject; -use Sabre\VObject\Reader; use Sabre\VObject\Component\VCalendar; use Sabre\VObject\ITip; use Sabre\VObject\ITip\Message; -use Sabre\DAVACL; -use Sabre\CalDAV\ICalendar; -use Sabre\CalDAV\ICalendarObject; -use Sabre\CalDAV\Xml\Property\ScheduleCalendarTransp; -use Sabre\DAV\Exception\NotFound; -use Sabre\DAV\Exception\Forbidden; -use Sabre\DAV\Exception\BadRequest; -use Sabre\DAV\Exception\NotImplemented; +use Sabre\VObject\Reader; /** * CalDAV scheduling plugin. @@ -377,7 +376,7 @@ class Plugin extends ServerPlugin { /** * This method is responsible for delivering the ITip message. * - * @param ITip\Message $itipMessage + * @param ITip\Message $iTipMessage * @return void */ function deliver(ITip\Message $iTipMessage) { @@ -890,8 +889,8 @@ class Plugin extends ServerPlugin { * * 3.7;description * * @param string $email address - * @param DateTimeInterface $start - * @param DateTimeInterface $end + * @param \DateTimeInterface $start + * @param \DateTimeInterface $end * @param VObject\Component $request * @return array */ @@ -1059,7 +1058,7 @@ class Plugin extends ServerPlugin { return [ 'name' => $this->getPluginName(), - 'description' => 'Adds calendar-auto-schedule, as defined in rf6868', + 'description' => 'Adds calendar-auto-schedule, as defined in rfc6638', 'link' => 'http://sabre.io/dav/scheduling/', ]; diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php b/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php index 6d9d3d5ec..0cd05a965 100644 --- a/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php +++ b/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php @@ -42,7 +42,7 @@ class SchedulingObject extends \Sabre\CalDAV\CalendarObject implements IScheduli * * lastmodified - (optional) format as a unix timestamp. * * acl - (optional) Use this to override the default ACL for the node. * - * @param Backend\BackendInterface $caldavBackend + * @param Backend\SchedulingSupport $caldavBackend * @param array $objectData */ 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 6f7df02bc..5cce79678 100644 --- a/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php +++ b/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php @@ -3,7 +3,6 @@ namespace Sabre\CalDAV; use Sabre\DAV; -use Sabre\DAV\Xml\Property\Href; use Sabre\DAV\Xml\Property\LocalHref; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; @@ -29,7 +28,7 @@ class SharingPlugin extends DAV\ServerPlugin { /** * Reference to SabreDAV server object. * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; diff --git a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php index 7abbfb1f9..877d96c6c 100644 --- a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php +++ b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php @@ -4,8 +4,8 @@ namespace Sabre\CalDAV\Subscriptions; use Sabre\DAV\INode; use Sabre\DAV\PropFind; -use Sabre\DAV\ServerPlugin; use Sabre\DAV\Server; +use Sabre\DAV\ServerPlugin; /** * This plugin adds calendar-subscription support to your CalDAV server. diff --git a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php index 3bb3451f3..6a1851ed8 100644 --- a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php +++ b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php @@ -2,12 +2,12 @@ namespace Sabre\CalDAV\Subscriptions; +use Sabre\CalDAV\Backend\SubscriptionSupport; use Sabre\DAV\Collection; -use Sabre\DAV\Xml\Property\Href; use Sabre\DAV\PropPatch; -use Sabre\DAVACL\IACL; +use Sabre\DAV\Xml\Property\Href; use Sabre\DAVACL\ACLTrait; -use Sabre\CalDAV\Backend\SubscriptionSupport; +use Sabre\DAVACL\IACL; /** * Subscription Node @@ -25,7 +25,7 @@ class Subscription extends Collection implements ISubscription, IACL { /** * caldavBackend * - * @var SupportsSubscriptions + * @var SubscriptionSupport */ protected $caldavBackend; @@ -40,7 +40,7 @@ class Subscription extends Collection implements ISubscription, IACL { * Constructor * * @param SubscriptionSupport $caldavBackend - * @param array $calendarInfo + * @param array $subscriptionInfo */ function __construct(SubscriptionSupport $caldavBackend, array $subscriptionInfo) { @@ -104,7 +104,7 @@ class Subscription extends Collection implements ISubscription, IACL { /** * Returns an array with all the child nodes * - * @return DAV\INode[] + * @return \Sabre\DAV\INode[] */ function getChildren() { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php index 9babcf15c..9669be304 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php @@ -2,11 +2,11 @@ namespace Sabre\CalDAV\Xml\Filter; -use Sabre\Xml\Reader; -use Sabre\Xml\XmlDeserializable; -use Sabre\DAV\Exception\BadRequest; use Sabre\CalDAV\Plugin; +use Sabre\DAV\Exception\BadRequest; use Sabre\VObject\DateTimeParser; +use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; /** * CalendarData parser. @@ -30,7 +30,7 @@ class CalendarData implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Filter/CompFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php index c9b27dbfd..c21ede66b 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php @@ -2,11 +2,11 @@ namespace Sabre\CalDAV\Xml\Filter; -use Sabre\Xml\Reader; -use Sabre\Xml\XmlDeserializable; -use Sabre\DAV\Exception\BadRequest; use Sabre\CalDAV\Plugin; +use Sabre\DAV\Exception\BadRequest; use Sabre\VObject\DateTimeParser; +use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; /** * CompFilter parser. @@ -27,7 +27,7 @@ class CompFilter implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Filter/ParamFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php index eb7f564df..bf422cf05 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php @@ -2,9 +2,9 @@ namespace Sabre\CalDAV\Xml\Filter; +use Sabre\CalDAV\Plugin; use Sabre\Xml\Reader; use Sabre\Xml\XmlDeserializable; -use Sabre\CalDAV\Plugin; /** * PropFilter parser. @@ -25,7 +25,7 @@ class ParamFilter implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Filter/PropFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php index 4c2e1b172..db9207295 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php @@ -2,11 +2,11 @@ namespace Sabre\CalDAV\Xml\Filter; -use Sabre\Xml\Reader; -use Sabre\Xml\XmlDeserializable; -use Sabre\DAV\Exception\BadRequest; use Sabre\CalDAV\Plugin; +use Sabre\DAV\Exception\BadRequest; use Sabre\VObject\DateTimeParser; +use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; /** * PropFilter parser. @@ -27,7 +27,7 @@ class PropFilter implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Notification/Invite.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php index 1ca64f3e8..92a9ac7b7 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php @@ -2,10 +2,10 @@ namespace Sabre\CalDAV\Xml\Notification; -use Sabre\Xml\Writer; -use Sabre\CalDAV\SharingPlugin as SharingPlugin; use Sabre\CalDAV; +use Sabre\CalDAV\SharingPlugin as SharingPlugin; use Sabre\DAV; +use Sabre\Xml\Writer; /** * This class represents the cs:invite-notification notification element. @@ -107,7 +107,7 @@ class Invite implements NotificationInterface { /** * The list of supported components * - * @var Sabre\CalDAV\Property\SupportedCalendarComponentSet + * @var CalDAV\Xml\Property\SupportedCalendarComponentSet */ protected $supportedComponents; @@ -166,12 +166,12 @@ class Invite implements NotificationInterface { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php index 51bfc178a..f4b10a396 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php @@ -2,10 +2,10 @@ namespace Sabre\CalDAV\Xml\Notification; -use Sabre\Xml\Writer; use Sabre\CalDAV; use Sabre\CalDAV\SharingPlugin; use Sabre\DAV; +use Sabre\Xml\Writer; /** * This class represents the cs:invite-reply notification element. @@ -117,12 +117,12 @@ class InviteReply implements NotificationInterface { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php index 1c08f12fd..b98f9c888 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Xml\Notification; -use Sabre\Xml\XmlSerializable; use Sabre\Xml\Writer; +use Sabre\Xml\XmlSerializable; /** * This interface reflects a single notification type. diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php index d41702e07..8c945dd68 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Xml\Notification; -use Sabre\Xml\Writer; use Sabre\CalDAV\Plugin; +use Sabre\Xml\Writer; /** * SystemStatus notification diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php index c2a2d565e..54e5a116a 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php @@ -2,9 +2,9 @@ namespace Sabre\CalDAV\Xml\Property; -use Sabre\Xml\XmlSerializable; -use Sabre\Xml\Writer; use Sabre\CalDAV\Plugin; +use Sabre\Xml\Writer; +use Sabre\Xml\XmlSerializable; /** * AllowedSharingModes @@ -53,12 +53,12 @@ class AllowedSharingModes implements XmlSerializable { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php index f577a9919..fc6f1d505 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php @@ -49,12 +49,12 @@ class EmailAddressSet implements XmlSerializable { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php index 40ff6b936..4f33c464c 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php @@ -2,10 +2,11 @@ namespace Sabre\CalDAV\Xml\Property; -use Sabre\Xml\XmlSerializable; -use Sabre\Xml\Writer; use Sabre\CalDAV\Plugin; use Sabre\DAV; +use Sabre\DAV\Xml\Element\Sharee; +use Sabre\Xml\Writer; +use Sabre\Xml\XmlSerializable; /** * Invite property @@ -51,12 +52,12 @@ class Invite implements XmlSerializable { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -75,7 +76,7 @@ class Invite implements XmlSerializable { foreach ($this->sharees as $sharee) { - if ($sharee->access === \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER) { + if ($sharee->access === DAV\Sharing\Plugin::ACCESS_SHAREDOWNER) { $writer->startElement($cs . 'organizer'); } else { $writer->startElement($cs . 'user'); @@ -109,7 +110,7 @@ class Invite implements XmlSerializable { } - $href = new \Sabre\DAV\Xml\Property\Href($sharee->href); + $href = new DAV\Xml\Property\Href($sharee->href); $href->xmlSerialize($writer); if (isset($sharee->properties['{DAV:}displayname'])) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php index a82b8eff7..10c20be55 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php @@ -2,11 +2,11 @@ namespace Sabre\CalDAV\Xml\Property; +use Sabre\CalDAV\Plugin; +use Sabre\Xml\Deserializer; use Sabre\Xml\Element; use Sabre\Xml\Reader; -use Sabre\Xml\Deserializer; use Sabre\Xml\Writer; -use Sabre\CalDAV\Plugin; /** * schedule-calendar-transp property. @@ -62,12 +62,12 @@ class ScheduleCalendarTransp implements Element { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -96,7 +96,7 @@ class ScheduleCalendarTransp implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php index 7a26e767e..7fc25c5f0 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php @@ -2,11 +2,11 @@ namespace Sabre\CalDAV\Xml\Property; +use Sabre\CalDAV\Plugin; use Sabre\Xml\Element; use Sabre\Xml\ParseException; use Sabre\Xml\Reader; use Sabre\Xml\Writer; -use Sabre\CalDAV\Plugin; /** * SupportedCalendarComponentSet property. @@ -55,12 +55,12 @@ class SupportedCalendarComponentSet implements Element { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -88,7 +88,7 @@ class SupportedCalendarComponentSet implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php index b0c407fd6..d123ba4c0 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php @@ -2,9 +2,9 @@ namespace Sabre\CalDAV\Xml\Property; -use Sabre\Xml\XmlSerializable; -use Sabre\Xml\Writer; use Sabre\CalDAV\Plugin; +use Sabre\Xml\Writer; +use Sabre\Xml\XmlSerializable; /** * Supported-calendar-data property @@ -23,12 +23,12 @@ use Sabre\CalDAV\Plugin; class SupportedCalendarData implements XmlSerializable { /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php index 71de25a62..af10860d0 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php @@ -2,9 +2,9 @@ namespace Sabre\CalDAV\Xml\Property; +use Sabre\CalDAV\Plugin; use Sabre\Xml\Writer; use Sabre\Xml\XmlSerializable; -use Sabre\CalDAV\Plugin; /** * supported-collation-set property @@ -22,12 +22,12 @@ use Sabre\CalDAV\Plugin; class SupportedCollationSet implements XmlSerializable { /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php index 79b3bb3ac..6d3c5d508 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php @@ -2,10 +2,10 @@ namespace Sabre\CalDAV\Xml\Request; -use Sabre\Xml\XmlDeserializable; -use Sabre\Xml\Reader; use Sabre\CalDAV\Plugin; use Sabre\Uri; +use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; /** * CalendarMultiGetReport request parser. @@ -64,7 +64,7 @@ class CalendarMultiGetReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php index 848a4dc46..e0b1c7950 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php @@ -2,10 +2,10 @@ namespace Sabre\CalDAV\Xml\Request; -use Sabre\Xml\XmlDeserializable; -use Sabre\Xml\Reader; -use Sabre\DAV\Exception\BadRequest; use Sabre\CalDAV\Plugin; +use Sabre\DAV\Exception\BadRequest; +use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; /** * CalendarQueryReport request parser. @@ -64,7 +64,7 @@ class CalendarQueryReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php index e3b27d08e..0f6c1e074 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php @@ -38,7 +38,7 @@ class FreeBusyQueryReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Request/InviteReply.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php index 2ecf6c2bb..db32cc6a5 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php @@ -6,9 +6,9 @@ use Sabre\CalDAV\Plugin; use Sabre\CalDAV\SharingPlugin; use Sabre\DAV; use Sabre\DAV\Exception\BadRequest; +use Sabre\Xml\Element\KeyValue; use Sabre\Xml\Reader; use Sabre\Xml\XmlDeserializable; -use Sabre\Xml\Element\KeyValue; /** * Invite-reply POST request parser @@ -82,7 +82,7 @@ class InviteReply implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CalDAV/Xml/Request/MkCalendar.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php index 7b745db55..ce7fafde9 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php @@ -39,7 +39,7 @@ class MkCalendar implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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 @@ -62,8 +62,8 @@ class MkCalendar implements XmlDeserializable { $self = new self(); $elementMap = $reader->elementMap; - $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop'; - $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue'; + $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop'; + $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue'; $elems = $reader->parseInnerTree($elementMap); foreach ($elems as $elem) { diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php index b5d9a133c..e0bd8e0af 100644 --- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php +++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php @@ -41,7 +41,7 @@ class Share implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CardDAV/AddressBook.php b/vendor/sabre/dav/lib/CardDAV/AddressBook.php index 6dd098618..c9d28a091 100644 --- a/vendor/sabre/dav/lib/CardDAV/AddressBook.php +++ b/vendor/sabre/dav/lib/CardDAV/AddressBook.php @@ -60,7 +60,7 @@ class AddressBook extends DAV\Collection implements IAddressBook, DAV\IPropertie * Returns a card * * @param string $name - * @return \ICard + * @return Card */ function getChild($name) { diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php b/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php index 888a44a40..d770c0ffe 100644 --- a/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php +++ b/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php @@ -127,7 +127,7 @@ class AddressBookHome extends DAV\Collection implements DAV\IExtendedCollection, * * @param string $name * @todo needs optimizing - * @return \AddressBook + * @return AddressBook */ function getChild($name) { diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php b/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php index 4a33df4ec..a9f1183da 100644 --- a/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php +++ b/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php @@ -18,7 +18,7 @@ class AddressBookRoot extends DAVACL\AbstractPrincipalCollection { /** * Principal Backend * - * @var Sabre\DAVACL\PrincipalBackend\BackendInteface + * @var DAVACL\PrincipalBackend\BackendInterface */ protected $principalBackend; diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php b/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php index 54e42b899..18c0c0a99 100644 --- a/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php +++ b/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php @@ -46,7 +46,7 @@ interface BackendInterface { * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param string $addressBookId * @param \Sabre\DAV\PropPatch $propPatch diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php b/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php index 7c3feff93..13487e9da 100644 --- a/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php +++ b/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php @@ -93,7 +93,7 @@ class PDO extends AbstractBackend implements SyncSupport { * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param string $addressBookId * @param \Sabre\DAV\PropPatch $propPatch @@ -240,7 +240,7 @@ class PDO extends AbstractBackend implements SyncSupport { } /** - * Returns a specfic card. + * Returns a specific card. * * The same set of properties must be returned as with getCards. The only * exception is that 'carddata' is absolutely required. @@ -466,7 +466,7 @@ class PDO extends AbstractBackend implements SyncSupport { // Current synctoken $stmt = $this->pdo->prepare('SELECT synctoken FROM ' . $this->addressBooksTableName . ' WHERE id = ?'); - $stmt->execute([ $addressBookId ]); + $stmt->execute([$addressBookId]); $currentToken = $stmt->fetchColumn(0); if (is_null($currentToken)) return null; diff --git a/vendor/sabre/dav/lib/CardDAV/Card.php b/vendor/sabre/dav/lib/CardDAV/Card.php index 0a040be6b..42a2d7b6a 100644 --- a/vendor/sabre/dav/lib/CardDAV/Card.php +++ b/vendor/sabre/dav/lib/CardDAV/Card.php @@ -2,8 +2,8 @@ namespace Sabre\CardDAV; -use Sabre\DAVACL; use Sabre\DAV; +use Sabre\DAVACL; /** * The Card object represents a single Card from an addressbook diff --git a/vendor/sabre/dav/lib/CardDAV/Plugin.php b/vendor/sabre/dav/lib/CardDAV/Plugin.php index 0507df100..272ae71fa 100644 --- a/vendor/sabre/dav/lib/CardDAV/Plugin.php +++ b/vendor/sabre/dav/lib/CardDAV/Plugin.php @@ -43,7 +43,7 @@ class Plugin extends DAV\ServerPlugin { /** * Server class * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; @@ -490,7 +490,8 @@ class Plugin extends DAV\ServerPlugin { $props[200]['{' . self::NS_CARDDAV . '}address-data'] = $this->convertVCard( $props[200]['{' . self::NS_CARDDAV . '}address-data'], - $vcardType + $vcardType, + $report->addressDataProperties ); } @@ -845,14 +846,26 @@ class Plugin extends DAV\ServerPlugin { * * @param string|resource $data * @param string $target + * @param array $propertiesFilter * @return string */ - protected function convertVCard($data, $target) { + protected function convertVCard($data, $target, array $propertiesFilter = null) { if (is_resource($data)) { $data = stream_get_contents($data); } $input = VObject\Reader::read($data); + if (!empty($propertiesFilter)) { + $propertiesFilter = array_merge(['UID', 'VERSION', 'FN'], $propertiesFilter); + $keys = array_unique(array_map(function($child) { + return $child->name; + }, $input->children())); + $keys = array_diff($keys, $propertiesFilter); + foreach ($keys as $key) { + unset($input->$key); + } + $data = $input->serialize(); + } $output = null; try { diff --git a/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php b/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php index d015589ad..2d61db6ac 100644 --- a/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php +++ b/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php @@ -3,9 +3,9 @@ namespace Sabre\CardDAV; use Sabre\DAV; -use Sabre\VObject; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; +use Sabre\VObject; /** * VCF Exporter @@ -24,7 +24,7 @@ class VCFExportPlugin extends DAV\ServerPlugin { /** * Reference to Server class * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php index 34028db85..a130cd61d 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php @@ -26,7 +26,7 @@ class AddressData implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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 @@ -51,7 +51,11 @@ class AddressData implements XmlDeserializable { 'version' => $reader->getAttribute('version') ?: '3.0', ]; - $reader->next(); + $elems = (array)$reader->parseInnerTree(); + $result['addressDataProperties'] = array_map(function($element) { + return $element['attributes']['name']; + }, $elems); + return $result; } diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php index 9646ae3e6..936e26917 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php @@ -2,10 +2,10 @@ namespace Sabre\CardDAV\Xml\Filter; +use Sabre\CardDAV\Plugin; +use Sabre\DAV\Exception\BadRequest; use Sabre\Xml\Element; use Sabre\Xml\Reader; -use Sabre\DAV\Exception\BadRequest; -use Sabre\CardDAV\Plugin; /** * ParamFilter parser. @@ -26,7 +26,7 @@ abstract class ParamFilter implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CardDAV/Xml/Filter/PropFilter.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php index c162da160..d7799429d 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php @@ -2,10 +2,10 @@ namespace Sabre\CardDAV\Xml\Filter; +use Sabre\CardDAV\Plugin; +use Sabre\DAV\Exception\BadRequest; use Sabre\Xml\Reader; use Sabre\Xml\XmlDeserializable; -use Sabre\DAV\Exception\BadRequest; -use Sabre\CardDAV\Plugin; /** * PropFilter parser. @@ -26,7 +26,7 @@ class PropFilter implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php index 6ff57b6e3..aecd8a09f 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php @@ -2,9 +2,9 @@ namespace Sabre\CardDAV\Xml\Property; +use Sabre\CardDAV\Plugin; use Sabre\Xml\Writer; use Sabre\Xml\XmlSerializable; -use Sabre\CardDAV\Plugin; /** * Supported-address-data property @@ -49,12 +49,12 @@ class SupportedAddressData implements XmlSerializable { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php index 1fc064900..778aa2b64 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php @@ -18,12 +18,12 @@ use Sabre\Xml\XmlSerializable; class SupportedCollationSet implements XmlSerializable { /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php index c97c5eb4f..0115a0107 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php @@ -54,7 +54,7 @@ class AddressBookMultiGetReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php index a68ac5800..09fad008a 100644 --- a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php +++ b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php @@ -2,10 +2,10 @@ namespace Sabre\CardDAV\Xml\Request; +use Sabre\CardDAV\Plugin; +use Sabre\DAV\Exception\BadRequest; use Sabre\Xml\Reader; use Sabre\Xml\XmlDeserializable; -use Sabre\DAV\Exception\BadRequest; -use Sabre\CardDAV\Plugin; /** * AddressBookQueryReport request parser. @@ -28,6 +28,13 @@ class AddressBookQueryReport implements XmlDeserializable { */ public $properties; + /** + * An array with requested vcard properties. + * + * @var array + */ + public $addressDataProperties = []; + /** * List of property/component filters. * @@ -92,7 +99,7 @@ class AddressBookQueryReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Auth/Backend/AbstractDigest.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php index 85c5f30d5..4b47f56c9 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php @@ -2,8 +2,8 @@ namespace Sabre\DAV\Auth\Backend; -use Sabre\HTTP; use Sabre\DAV; +use Sabre\HTTP; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php index 76ad89391..c2f6de974 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php @@ -31,7 +31,7 @@ class PDO extends AbstractDigest { * * If the filename argument is passed in, it will parse out the specified file fist. * - * @param PDO $pdo + * @param \PDO $pdo */ 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 4b5f35ac3..bbb5d180d 100644 --- a/vendor/sabre/dav/lib/DAV/Auth/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Auth/Plugin.php @@ -2,11 +2,11 @@ namespace Sabre\DAV\Auth; -use Sabre\HTTP\RequestInterface; -use Sabre\HTTP\ResponseInterface; use Sabre\DAV\Exception\NotAuthenticated; use Sabre\DAV\Server; use Sabre\DAV\ServerPlugin; +use Sabre\HTTP\RequestInterface; +use Sabre\HTTP\ResponseInterface; /** * This plugin provides Authentication for a WebDAV server. @@ -181,7 +181,7 @@ class Plugin extends ServerPlugin { * * If login was not successful, the second item in the array will contain a * an array with strings. The strings are a list of reasons why login was - * unsuccesful. For every auth backend there will be one reason, so usually + * unsuccessful. For every auth backend there will be one reason, so usually * there's just one. * * @param RequestInterface $request diff --git a/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php b/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php index 01cddc230..3ba2aee25 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php +++ b/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php @@ -2,10 +2,10 @@ namespace Sabre\DAV\Browser; -use Sabre\HTTP\URLUtil; use Sabre\DAV; -use Sabre\DAV\PropFind; use Sabre\DAV\Inode; +use Sabre\DAV\PropFind; +use Sabre\HTTP\URLUtil; /** * GuessContentType plugin diff --git a/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php b/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php index 38ee63bcd..61327c49a 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php +++ b/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php @@ -21,7 +21,7 @@ class MapGetToPropFind extends DAV\ServerPlugin { /** * reference to server class * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; diff --git a/vendor/sabre/dav/lib/DAV/Browser/Plugin.php b/vendor/sabre/dav/lib/DAV/Browser/Plugin.php index 49359a045..545ad5633 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Browser/Plugin.php @@ -4,9 +4,9 @@ namespace Sabre\DAV\Browser; use Sabre\DAV; use Sabre\DAV\MkCol; -use Sabre\HTTP\URLUtil; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; +use Sabre\HTTP\URLUtil; /** * Browser Plugin @@ -26,7 +26,7 @@ class Plugin extends DAV\ServerPlugin { /** * reference to server class * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; @@ -112,7 +112,7 @@ class Plugin extends DAV\ServerPlugin { $getVars = $request->getQueryParameters(); // CSP headers - $this->server->httpResponse->setHeader('Content-Security-Policy', "default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self';"); + $response->setHeader('Content-Security-Policy', "default-src 'none'; img-src 'self'; style-src 'self'; font-src 'self';"); $sabreAction = isset($getVars['sabreAction']) ? $getVars['sabreAction'] : null; @@ -317,7 +317,7 @@ class Plugin extends DAV\ServerPlugin { $buttonActions = ''; if ($subProps['subNode'] instanceof DAV\IFile) { - $buttonActions = ''; + $buttonActions = ''; } $this->server->emit('browserButtonActions', [$subProps['fullPath'], $subProps['subNode'], &$buttonActions]); @@ -414,11 +414,14 @@ class Plugin extends DAV\ServerPlugin { * * @param string $title * @param string $path - * @return void + * @return string */ function generateHeader($title, $path = null) { - $version = DAV\Version::VERSION; + $version = ''; + if (DAV\Server::$exposeVersion) { + $version = DAV\Version::VERSION; + } $vars = [ 'title' => $this->escapeHTML($title), @@ -475,7 +478,10 @@ HTML; */ function generateFooter() { - $version = DAV\Version::VERSION; + $version = ''; + if (DAV\Server::$exposeVersion) { + $version = DAV\Version::VERSION; + } return <<Generated by SabreDAV $version (c)2007-2016 http://sabre.io/ @@ -506,23 +512,21 @@ HTML; if (get_class($node) === 'Sabre\\DAV\\SimpleCollection') return; - ob_start(); - echo '
-

Create new folder

- -
- -
-
-

Upload file

- -
-
- -
- '; - - $output .= ob_get_clean(); + $output .= << +

Create new folder

+ +
+ + +
+

Upload file

+ +
+
+ +
+HTML; } @@ -543,8 +547,8 @@ HTML; * This method returns a local pathname to an asset. * * @param string $assetName - * @return string * @throws DAV\Exception\NotFound + * @return string */ protected function getLocalAssetPath($assetName) { @@ -575,9 +579,9 @@ HTML; // Rudimentary mime type detection $mime = 'application/octet-stream'; $map = [ - 'ico' => 'image/vnd.microsoft.icon', - 'png' => 'image/png', - 'css' => 'text/css', + 'ico' => 'image/vnd.microsoft.icon', + 'png' => 'image/png', + 'css' => 'text/css', ]; $ext = substr($assetName, strrpos($assetName, '.') + 1); @@ -623,7 +627,7 @@ HTML; * Maps a resource type to a human-readable string and icon. * * @param array $resourceTypes - * @param INode $node + * @param DAV\INode $node * @return array */ private function mapResourceType(array $resourceTypes, $node) { diff --git a/vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php b/vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php index 1ac439672..c14b7f2f9 100644 --- a/vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php +++ b/vendor/sabre/dav/lib/DAV/Browser/PropFindAll.php @@ -28,7 +28,7 @@ class PropFindAll extends PropFind { /** * Handles a specific property. * - * This method checks wether the specified property was requested in this + * This method checks whether the specified property was requested in this * PROPFIND request, and if so, it will call the callback and use the * return value for it's value. * diff --git a/vendor/sabre/dav/lib/DAV/Client.php b/vendor/sabre/dav/lib/DAV/Client.php index 08d5d4702..175ad1bc4 100644 --- a/vendor/sabre/dav/lib/DAV/Client.php +++ b/vendor/sabre/dav/lib/DAV/Client.php @@ -231,7 +231,7 @@ class Client extends HTTP\Client { $response = $this->send($request); if ((int)$response->getStatus() >= 400) { - throw new \Sabre\HTTP\ClientHttpException($response); + throw new HTTP\ClientHttpException($response); } $result = $this->parseMultiStatus($response->getBodyAsString()); @@ -281,7 +281,7 @@ class Client extends HTTP\Client { $response = $this->send($request); if ($response->getStatus() >= 400) { - throw new \Sabre\HTTP\ClientHttpException($response); + throw new HTTP\ClientHttpException($response); } if ($response->getStatus() === 207) { @@ -303,7 +303,7 @@ class Client extends HTTP\Client { } if ($errorProperties) { - throw new \Sabre\HTTP\ClientException('PROPPATCH failed. The following properties errored: ' . implode(', ', $errorProperties)); + throw new HTTP\ClientException('PROPPATCH failed. The following properties errored: ' . implode(', ', $errorProperties)); } } return true; diff --git a/vendor/sabre/dav/lib/DAV/Collection.php b/vendor/sabre/dav/lib/DAV/Collection.php index a46bcc342..35c90b5af 100644 --- a/vendor/sabre/dav/lib/DAV/Collection.php +++ b/vendor/sabre/dav/lib/DAV/Collection.php @@ -68,7 +68,7 @@ abstract class Collection extends Node implements ICollection { * Data will either be supplied as a stream resource, or in certain cases * as a string. Keep in mind that you may have to support either. * - * After succesful creation of the file, you may choose to return the ETag + * After successful creation of the file, you may choose to return the ETag * of the new file here. * * The returned ETag must be surrounded by double-quotes (The quotes should diff --git a/vendor/sabre/dav/lib/DAV/CorePlugin.php b/vendor/sabre/dav/lib/DAV/CorePlugin.php index a1b052915..676cdd04a 100644 --- a/vendor/sabre/dav/lib/DAV/CorePlugin.php +++ b/vendor/sabre/dav/lib/DAV/CorePlugin.php @@ -165,7 +165,7 @@ class CorePlugin extends ServerPlugin { } else { $start = $nodeSize - $range[1]; - $end = $nodeSize - 1; + $end = $nodeSize - 1; if ($start < 0) $start = 0; @@ -194,7 +194,7 @@ class CorePlugin extends ServerPlugin { $response->setBody($body); } - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -224,7 +224,7 @@ class CorePlugin extends ServerPlugin { $response->setHeader('Content-Length', '0'); $response->setStatus(200); - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -264,7 +264,7 @@ class CorePlugin extends ServerPlugin { $response->setHeader('X-Sabre-Real-Status', $e->getHTTPCode()); } - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -290,7 +290,7 @@ class CorePlugin extends ServerPlugin { $response->setStatus(204); $response->setHeader('Content-Length', '0'); - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -333,7 +333,7 @@ class CorePlugin extends ServerPlugin { // The only two options for the depth of a propfind is 0 or 1 - as long as depth infinity is not enabled if (!$this->server->enablePropfindDepthInfinity && $depth != 0) $depth = 1; - $newProperties = $this->server->getPropertiesForPath($path, $propFindXml->properties, $depth); + $newProperties = $this->server->getPropertiesIteratorForPath($path, $propFindXml->properties, $depth); // This is a multi-status response $response->setStatus(207); @@ -355,7 +355,7 @@ class CorePlugin extends ServerPlugin { $data = $this->server->generateMultiStatus($newProperties, $minimal); $response->setBody($data); - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -390,7 +390,7 @@ class CorePlugin extends ServerPlugin { if ($prefer['return'] === 'minimal') { // If return-minimal is specified, we only have to check if the - // request was succesful, and don't need to return the + // request was successful, and don't need to return the // multi-status. $ok = true; foreach ($result as $prop => $code) { @@ -427,7 +427,7 @@ class CorePlugin extends ServerPlugin { $this->server->generateMultiStatus([$multiStatus]) ); - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -533,7 +533,7 @@ class CorePlugin extends ServerPlugin { } - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -602,7 +602,7 @@ class CorePlugin extends ServerPlugin { $response->setStatus(201); } - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -653,7 +653,7 @@ class CorePlugin extends ServerPlugin { $response->setHeader('Content-Length', '0'); $response->setStatus($moveInfo['destinationExists'] ? 204 : 201); - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -688,7 +688,7 @@ class CorePlugin extends ServerPlugin { $response->setHeader('Content-Length', '0'); $response->setStatus($copyInfo['destinationExists'] ? 204 : 201); - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -722,7 +722,7 @@ class CorePlugin extends ServerPlugin { } - // Sending back false will interupt the event chain and tell the server + // Sending back false will interrupt the event chain and tell the server // we've handled this method. return false; @@ -740,7 +740,7 @@ class CorePlugin extends ServerPlugin { */ function propPatchProtectedPropertyCheck($path, PropPatch $propPatch) { - // Comparing the mutation list to the list of propetected properties. + // Comparing the mutation list to the list of protected properties. $mutations = $propPatch->getMutations(); $protected = array_intersect( diff --git a/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php b/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php index 505fe5c10..6324d9f3a 100644 --- a/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php +++ b/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php @@ -19,7 +19,7 @@ class InvalidResourceType extends Forbidden { /** * This method allows the exception to include additional information into the WebDAV error response * - * @param DAV\Server $server + * @param \Sabre\DAV\Server $server * @param \DOMElement $errorNode * @return void */ diff --git a/vendor/sabre/dav/lib/DAV/FS/Node.php b/vendor/sabre/dav/lib/DAV/FS/Node.php index 831c11911..424718f96 100644 --- a/vendor/sabre/dav/lib/DAV/FS/Node.php +++ b/vendor/sabre/dav/lib/DAV/FS/Node.php @@ -43,7 +43,7 @@ abstract class Node implements DAV\INode { */ function getName() { - list(, $name) = URLUtil::splitPath($this->path); + list(, $name) = URLUtil::splitPath($this->path); return $name; } diff --git a/vendor/sabre/dav/lib/DAV/File.php b/vendor/sabre/dav/lib/DAV/File.php index 675956b22..5161fbd51 100644 --- a/vendor/sabre/dav/lib/DAV/File.php +++ b/vendor/sabre/dav/lib/DAV/File.php @@ -19,7 +19,7 @@ abstract class File extends Node implements IFile { * * The data argument is a readable stream resource. * - * After a succesful put operation, you may choose to return an ETag. The + * After a successful put operation, you may choose to return an ETag. The * etag must always be surrounded by double-quotes. These quotes must * appear in the actual string you're returning. * diff --git a/vendor/sabre/dav/lib/DAV/IFile.php b/vendor/sabre/dav/lib/DAV/IFile.php index 37e7cd33c..19d8d8637 100644 --- a/vendor/sabre/dav/lib/DAV/IFile.php +++ b/vendor/sabre/dav/lib/DAV/IFile.php @@ -20,7 +20,7 @@ interface IFile extends INode { * * The data argument is a readable stream resource. * - * After a succesful put operation, you may choose to return an ETag. The + * After a successful put operation, you may choose to return an ETag. The * etag must always be surrounded by double-quotes. These quotes must * appear in the actual string you're returning. * @@ -32,7 +32,7 @@ interface IFile extends INode { * different object on a subsequent GET you are strongly recommended to not * return an ETag, and just return null. * - * @param resource|data $data + * @param resource|string $data * @return string|null */ function put($data); diff --git a/vendor/sabre/dav/lib/DAV/IMoveTarget.php b/vendor/sabre/dav/lib/DAV/IMoveTarget.php index f0f67bc26..92fde1d5c 100644 --- a/vendor/sabre/dav/lib/DAV/IMoveTarget.php +++ b/vendor/sabre/dav/lib/DAV/IMoveTarget.php @@ -7,7 +7,7 @@ namespace Sabre\DAV; * nodes may be moved into this collection". * * The benefit of this, is that sabre/dav will by default perform a move, by - * tranfersing an entire directory tree, copying every collection, and deleting + * transferring an entire directory tree, copying every collection, and deleting * every item. * * If a backend supports a better optimized move operation, this can trigger diff --git a/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php index a01d9bae4..510f266f7 100644 --- a/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php +++ b/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php @@ -33,7 +33,7 @@ class PDO extends AbstractBackend { /** * Constructor * - * @param PDO $pdo + * @param \PDO $pdo */ function __construct(\PDO $pdo) { @@ -102,7 +102,7 @@ class PDO extends AbstractBackend { $lockInfo->created = $row['created']; $lockInfo->scope = $row['scope']; $lockInfo->depth = $row['depth']; - $lockInfo->uri = $row['uri']; + $lockInfo->uri = $row['uri']; $lockList[] = $lockInfo; } diff --git a/vendor/sabre/dav/lib/DAV/Locks/Plugin.php b/vendor/sabre/dav/lib/DAV/Locks/Plugin.php index 4855b7076..41a3bf3fa 100644 --- a/vendor/sabre/dav/lib/DAV/Locks/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Locks/Plugin.php @@ -25,14 +25,14 @@ class Plugin extends DAV\ServerPlugin { /** * locksBackend * - * @var Backend\Backend\Interface + * @var Backend\BackendInterface */ protected $locksBackend; /** * server * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; @@ -256,7 +256,7 @@ class Plugin extends DAV\ServerPlugin { $response->setStatus($newFile ? 201 : 200); $response->setBody($this->generateLockResponse($lockInfo)); - // Returning false will interupt the event chain and mark this method + // Returning false will interrupt the event chain and mark this method // as 'handled'. return false; diff --git a/vendor/sabre/dav/lib/DAV/MkCol.php b/vendor/sabre/dav/lib/DAV/MkCol.php index c79055418..042e14bca 100644 --- a/vendor/sabre/dav/lib/DAV/MkCol.php +++ b/vendor/sabre/dav/lib/DAV/MkCol.php @@ -61,6 +61,7 @@ class MkCol extends PropPatch { * checked. * * @param string|string[] $resourceType + * @return bool */ function hasResourceType($resourceType) { diff --git a/vendor/sabre/dav/lib/DAV/Mount/Plugin.php b/vendor/sabre/dav/lib/DAV/Mount/Plugin.php index 8e06acb9f..dc923ad85 100644 --- a/vendor/sabre/dav/lib/DAV/Mount/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Mount/Plugin.php @@ -20,7 +20,7 @@ class Plugin extends DAV\ServerPlugin { /** * Reference to Server class * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; diff --git a/vendor/sabre/dav/lib/DAV/Node.php b/vendor/sabre/dav/lib/DAV/Node.php index ba270e8f9..ef6eea18e 100644 --- a/vendor/sabre/dav/lib/DAV/Node.php +++ b/vendor/sabre/dav/lib/DAV/Node.php @@ -29,7 +29,7 @@ abstract class Node implements INode { /** * Deletes the current node * - * @throws Sabre\DAV\Exception\Forbidden + * @throws Exception\Forbidden * @return void */ function delete() { @@ -41,8 +41,8 @@ abstract class Node implements INode { /** * Renames the node * - * @throws Sabre\DAV\Exception\Forbidden * @param string $name The new name + * @throws Exception\Forbidden * @return void */ function setName($name) { diff --git a/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php b/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php index 24ba970b1..9c129d705 100644 --- a/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php @@ -29,7 +29,7 @@ class Plugin extends DAV\ServerPlugin { /** * Reference to server * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; diff --git a/vendor/sabre/dav/lib/DAV/PropFind.php b/vendor/sabre/dav/lib/DAV/PropFind.php index 8ae6b6cfd..0940a1ce2 100644 --- a/vendor/sabre/dav/lib/DAV/PropFind.php +++ b/vendor/sabre/dav/lib/DAV/PropFind.php @@ -72,7 +72,7 @@ class PropFind { /** * Handles a specific property. * - * This method checks wether the specified property was requested in this + * This method checks whether the specified property was requested in this * PROPFIND request, and if so, it will call the callback and use the * return value for it's value. * diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php index 31ecafdb2..b15d7fef9 100644 --- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php +++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php @@ -23,7 +23,7 @@ interface BackendInterface { * This method received a PropFind object, which contains all the * information about the properties that need to be fetched. * - * Ususually you would just want to call 'get404Properties' on this object, + * Usually you would just want to call 'get404Properties' on this object, * as this will give you the _exact_ list of properties that need to be * fetched, and haven't yet. * diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php index 2fe843884..6f3f1feaf 100644 --- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php +++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php @@ -66,7 +66,7 @@ class PDO implements BackendInterface { * This method received a PropFind object, which contains all the * information about the properties that need to be fetched. * - * Ususually you would just want to call 'get404Properties' on this object, + * Usually you would just want to call 'get404Properties' on this object, * as this will give you the _exact_ list of properties that need to be * fetched, and haven't yet. * diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php index 0c28b7882..a66a14113 100644 --- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php @@ -2,11 +2,11 @@ namespace Sabre\DAV\PropertyStorage; +use Sabre\DAV\INode; +use Sabre\DAV\PropFind; +use Sabre\DAV\PropPatch; use Sabre\DAV\Server; use Sabre\DAV\ServerPlugin; -use Sabre\DAV\PropPatch; -use Sabre\DAV\PropFind; -use Sabre\DAV\INode; /** * PropertyStorage Plugin. @@ -30,13 +30,18 @@ class Plugin extends ServerPlugin { * paths, you can use a pathFilter to do this. * * The pathFilter should be a callable. The callable retrieves a path as - * its argument, and should return true or false wether it allows + * its argument, and should return true or false whether it allows * properties to be stored. * * @var callable */ public $pathFilter; + /** + * @var Backend\BackendInterface + */ + public $backend; + /** * Creates the plugin * diff --git a/vendor/sabre/dav/lib/DAV/Server.php b/vendor/sabre/dav/lib/DAV/Server.php index 024b7a557..6805ec0b0 100644 --- a/vendor/sabre/dav/lib/DAV/Server.php +++ b/vendor/sabre/dav/lib/DAV/Server.php @@ -2,16 +2,16 @@ namespace Sabre\DAV; +use Psr\Log\LoggerAwareInterface; +use Psr\Log\LoggerAwareTrait; +use Psr\Log\LoggerInterface; +use Psr\Log\NullLogger; use Sabre\Event\EventEmitter; use Sabre\HTTP; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; use Sabre\HTTP\URLUtil; use Sabre\Uri; -use Psr\Log\LoggerAwareInterface; -use Psr\Log\LoggerAwareTrait; -use Psr\Log\LoggerInterface; -use Psr\Log\NullLogger; /** * Main DAV server class @@ -37,7 +37,7 @@ class Server extends EventEmitter implements LoggerAwareInterface { /** * The tree object * - * @var Sabre\DAV\Tree + * @var Tree */ public $tree; @@ -51,21 +51,21 @@ class Server extends EventEmitter implements LoggerAwareInterface { /** * httpResponse * - * @var Sabre\HTTP\Response + * @var HTTP\Response */ public $httpResponse; /** * httpRequest * - * @var Sabre\HTTP\Request + * @var HTTP\Request */ public $httpRequest; /** * PHP HTTP Sapi * - * @var Sabre\HTTP\Sapi + * @var HTTP\Sapi */ public $sapi; @@ -437,7 +437,7 @@ class Server extends EventEmitter implements LoggerAwareInterface { } /** - * Returns the PSR-3 logger objcet. + * Returns the PSR-3 logger object. * * @return LoggerInterface */ @@ -455,7 +455,7 @@ class Server extends EventEmitter implements LoggerAwareInterface { * * @param RequestInterface $request * @param ResponseInterface $response - * @param $sendResponse Whether to send the HTTP response to the DAV client. + * @param bool $sendResponse Whether to send the HTTP response to the DAV client. * @return void */ function invokeMethod(RequestInterface $request, ResponseInterface $response, $sendResponse = true) { @@ -681,18 +681,18 @@ class Server extends EventEmitter implements LoggerAwareInterface { // can be true or false 'respond-async' => false, // Could be set to 'representation' or 'minimal'. - 'return' => null, + 'return' => null, // Used as a timeout, is usually a number. - 'wait' => null, + 'wait' => null, // can be 'strict' or 'lenient'. - 'handling' => false, + 'handling' => false, ]; if ($prefer = $this->httpRequest->getHeader('Prefer')) { $result = array_merge( $result, - \Sabre\HTTP\parsePrefer($prefer) + HTTP\parsePrefer($prefer) ); } elseif ($this->httpRequest->getHeader('Brief') == 't') { @@ -794,6 +794,7 @@ class Server extends EventEmitter implements LoggerAwareInterface { * * @param string $path * @param array $propertyNames + * @return array */ function getProperties($path, $propertyNames) { @@ -877,12 +878,14 @@ class Server extends EventEmitter implements LoggerAwareInterface { /** * Small helper to support PROPFIND with DEPTH_INFINITY. * - * @param array[] $propFindRequests * @param PropFind $propFind - * @return void + * @param array $yieldFirst + * @return \Iterator */ - private function addPathNodesRecursively(&$propFindRequests, PropFind $propFind) { - + private function generatePathNodes(PropFind $propFind, array $yieldFirst = null) { + if ($yieldFirst !== null) { + yield $yieldFirst; + } $newDepth = $propFind->getDepth(); $path = $propFind->getPath(); @@ -900,13 +903,15 @@ class Server extends EventEmitter implements LoggerAwareInterface { } $subPropFind->setPath($subPath); - $propFindRequests[] = [ + yield [ $subPropFind, $childNode ]; if (($newDepth === self::DEPTH_INFINITY || $newDepth >= 1) && $childNode instanceof ICollection) { - $this->addPathNodesRecursively($propFindRequests, $subPropFind); + foreach ($this->generatePathNodes($subPropFind) as $subItem) { + yield $subItem; + } } } @@ -925,9 +930,31 @@ class Server extends EventEmitter implements LoggerAwareInterface { * @param array $propertyNames * @param int $depth * @return array + * + * @deprecated Use getPropertiesIteratorForPath() instead (as it's more memory efficient) + * @see getPropertiesIteratorForPath() */ function getPropertiesForPath($path, $propertyNames = [], $depth = 0) { + return iterator_to_array($this->getPropertiesIteratorForPath($path, $propertyNames, $depth)); + + } + /** + * Returns a list of properties for a given path + * + * The path that should be supplied should have the baseUrl stripped out + * The list of properties should be supplied in Clark notation. If the list is empty + * 'allprops' is assumed. + * + * If a depth of 1 is requested child elements will also be returned. + * + * @param string $path + * @param array $propertyNames + * @param int $depth + * @return \Iterator + */ + function getPropertiesIteratorForPath($path, $propertyNames = [], $depth = 0) { + // The only two options for the depth of a propfind is 0 or 1 - as long as depth infinity is not enabled if (!$this->enablePropfindDepthInfinity && $depth != 0) $depth = 1; @@ -944,11 +971,9 @@ class Server extends EventEmitter implements LoggerAwareInterface { ]]; if (($depth > 0 || $depth === self::DEPTH_INFINITY) && $parentNode instanceof ICollection) { - $this->addPathNodesRecursively($propFindRequests, $propFind); + $propFindRequests = $this->generatePathNodes(clone $propFind, current($propFindRequests)); } - $returnPropertyList = []; - foreach ($propFindRequests as $propFindRequest) { list($propFind, $node) = $propFindRequest; @@ -965,13 +990,11 @@ class Server extends EventEmitter implements LoggerAwareInterface { if (in_array('{DAV:}collection', $resourceType) || in_array('{DAV:}principal', $resourceType)) { $result['href'] .= '/'; } - $returnPropertyList[] = $result; + yield $result; } } - return $returnPropertyList; - } /** @@ -1430,7 +1453,7 @@ class Server extends EventEmitter implements LoggerAwareInterface { // Plugins are responsible for validating all the tokens. // If a plugin deemed a token 'valid', it will set 'validToken' to // true. - $this->emit('validateTokens', [ $request, &$ifConditions ]); + $this->emit('validateTokens', [$request, &$ifConditions]); // Now we're going to analyze the result. @@ -1450,7 +1473,7 @@ class Server extends EventEmitter implements LoggerAwareInterface { if (!$token['etag']) { $etagValid = true; } - // Checking the ETag, only if the token was already deamed + // Checking the ETag, only if the token was already deemed // valid and there is one. if ($token['etag'] && $tokenValid) { @@ -1626,13 +1649,18 @@ class Server extends EventEmitter implements LoggerAwareInterface { * * If 'strip404s' is set to true, all 404 responses will be removed. * - * @param array $fileProperties The list with nodes - * @param bool strip404s + * @param array|\Traversable $fileProperties The list with nodes + * @param bool $strip404s * @return string */ - function generateMultiStatus(array $fileProperties, $strip404s = false) { + function generateMultiStatus($fileProperties, $strip404s = false) { - $xml = []; + $w = $this->xml->getWriter(); + $w->openMemory(); + $w->contextUri = $this->baseUri; + $w->startDocument(); + + $w->startElement('{DAV:}multistatus'); foreach ($fileProperties as $entry) { @@ -1645,13 +1673,14 @@ class Server extends EventEmitter implements LoggerAwareInterface { ltrim($href, '/'), $entry ); - $xml[] = [ + $w->write([ 'name' => '{DAV:}response', 'value' => $response - ]; - + ]); } - return $this->xml->write('{DAV:}multistatus', $xml, $this->baseUri); + $w->endElement(); + + return $w->outputMemory(); } diff --git a/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php b/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php index 354d06a56..ef5702c57 100644 --- a/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php @@ -8,8 +8,8 @@ use Sabre\DAV\INode; use Sabre\DAV\PropFind; use Sabre\DAV\Server; use Sabre\DAV\ServerPlugin; -use Sabre\DAV\Xml\Property; use Sabre\DAV\Xml\Element\Sharee; +use Sabre\DAV\Xml\Property; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; @@ -40,7 +40,7 @@ class Plugin extends ServerPlugin { /** * Reference to SabreDAV server object. * - * @var Sabre\DAV\Server + * @var Server */ protected $server; diff --git a/vendor/sabre/dav/lib/DAV/Sync/Plugin.php b/vendor/sabre/dav/lib/DAV/Sync/Plugin.php index 4a141c72b..8e4b1aa64 100644 --- a/vendor/sabre/dav/lib/DAV/Sync/Plugin.php +++ b/vendor/sabre/dav/lib/DAV/Sync/Plugin.php @@ -3,8 +3,8 @@ namespace Sabre\DAV\Sync; use Sabre\DAV; -use Sabre\HTTP\RequestInterface; use Sabre\DAV\Xml\Request\SyncCollectionReport; +use Sabre\HTTP\RequestInterface; /** * This plugin all WebDAV-sync capabilities to the Server. diff --git a/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php b/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php index c5b8aa1ca..7b453d105 100644 --- a/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php +++ b/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php @@ -14,7 +14,7 @@ use Sabre\HTTP\URLUtil; * a WebDAV share as a disk. * * It will intercept these files and place them in a separate directory. - * these files are not deleted automatically, so it is adviceable to + * these files are not deleted automatically, so it is advisable to * delete these after they are not accessed for 24 hours. * * Currently it supports: @@ -51,7 +51,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin { /** * A reference to the main Server class * - * @var Sabre\DAV\Server + * @var \Sabre\DAV\Server */ protected $server; @@ -134,12 +134,12 @@ class TemporaryFileFilterPlugin extends ServerPlugin { * * @param string $uri * @param resource $data - * @param DAV\ICollection $parentNode + * @param ICollection $parent * @param bool $modified Should be set to true, if this event handler * changed &$data. * @return bool */ - function beforeCreateFile($uri, $data, $parent, $modified) { + function beforeCreateFile($uri, $data, ICollection $parent, $modified) { if ($tempPath = $this->isTempFile($uri)) { diff --git a/vendor/sabre/dav/lib/DAV/Version.php b/vendor/sabre/dav/lib/DAV/Version.php index 2fda85db8..89918e5bc 100644 --- a/vendor/sabre/dav/lib/DAV/Version.php +++ b/vendor/sabre/dav/lib/DAV/Version.php @@ -14,6 +14,6 @@ class Version { /** * Full version number */ - const VERSION = '3.2.0'; + const VERSION = '3.2.2'; } diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php index db5332c50..71ef03e3f 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php @@ -3,8 +3,8 @@ namespace Sabre\DAV\Xml\Element; use Sabre\DAV\Xml\Property\Complex; -use Sabre\Xml\XmlDeserializable; use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; /** * This class is responsible for decoding the {DAV:}prop element as it appears @@ -22,7 +22,7 @@ class Prop implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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 @@ -90,7 +90,7 @@ class Prop implements XmlDeserializable { if (array_key_exists($name, $reader->elementMap)) { $deserializer = $reader->elementMap[$name]; if (is_subclass_of($deserializer, 'Sabre\\Xml\\XmlDeserializable')) { - $value = call_user_func([ $deserializer, 'xmlDeserialize' ], $reader); + $value = call_user_func([$deserializer, 'xmlDeserialize'], $reader); } elseif (is_callable($deserializer)) { $value = call_user_func($deserializer, $reader); } else { diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php index 97a2bb59f..ce97ae943 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php @@ -160,7 +160,7 @@ class Response implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Element/Sharee.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php index dcfd7bd2e..e187bf11c 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php @@ -105,7 +105,7 @@ class Sharee implements Element { * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -146,7 +146,7 @@ class Sharee implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Property/Complex.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php index 1d9202082..258806e4a 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php @@ -20,7 +20,7 @@ class Complex extends XmlFragment { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Property/GetLastModified.php b/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php index 2db47269f..101a0f0c9 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php @@ -2,12 +2,12 @@ namespace Sabre\DAV\Xml\Property; +use DateTime; +use DateTimeZone; +use Sabre\HTTP; use Sabre\Xml\Element; use Sabre\Xml\Reader; use Sabre\Xml\Writer; -use Sabre\HTTP; -use DateTime; -use DateTimeZone; /** * This property represents the {DAV:}getlastmodified property. @@ -83,7 +83,7 @@ class GetLastModified implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Property/Href.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php index 0027f72e1..6c4f11b87 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php @@ -4,10 +4,10 @@ namespace Sabre\DAV\Xml\Property; use Sabre\DAV\Browser\HtmlOutput; use Sabre\DAV\Browser\HtmlOutputHelper; +use Sabre\Uri; use Sabre\Xml\Element; use Sabre\Xml\Reader; use Sabre\Xml\Writer; -use Sabre\Uri; /** * Href property @@ -40,7 +40,7 @@ class Href implements Element, HtmlOutput { * If auto-prefix is set to false, the hrefs will be treated as absolute * and not relative to the servers base uri. * - * @param string|string[] $href + * @param string|string[] $hrefs */ function __construct($hrefs) { @@ -74,12 +74,12 @@ class Href implements Element, HtmlOutput { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -128,7 +128,7 @@ class Href implements Element, HtmlOutput { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Property/Invite.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php index 0616ff113..6adad3650 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php @@ -2,9 +2,9 @@ namespace Sabre\DAV\Xml\Property; -use Sabre\DAV\Sharing\Sharee; -use Sabre\Xml\XmlSerializable; +use Sabre\DAV\Xml\Element\Sharee; use Sabre\Xml\Writer; +use Sabre\Xml\XmlSerializable; /** * This class represents the {DAV:}invite property. @@ -46,7 +46,7 @@ class Invite implements XmlSerializable { * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php b/vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php index 76a27b95d..00d2fa708 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/LocalHref.php @@ -8,7 +8,7 @@ use Sabre\HTTP; * LocalHref property * * Like the Href property, this element represents {DAV:}href. The difference - * is that this is used stricly for paths on the server. The LocalHref property + * is that this is used strictly for paths on the server. The LocalHref property * will prepare the path so it's a valid URI. * * These two objects behave identically: @@ -32,7 +32,7 @@ class LocalHref extends Href { * If auto-prefix is set to false, the hrefs will be treated as absolute * and not relative to the servers base uri. * - * @param string|string[] $href + * @param string|string[] $hrefs */ function __construct($hrefs) { diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php b/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php index 302888321..ce640ff32 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php @@ -28,7 +28,7 @@ class ResourceType extends Element\Elements implements HtmlOutput { * * The resourcetype must be specified in clark-notation * - * @param array|string|null $resourceType + * @param array|string|null $resourceTypes */ function __construct($resourceTypes = null) { @@ -77,7 +77,7 @@ class ResourceType extends Element\Elements implements HtmlOutput { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Property/ShareAccess.php b/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php index a3fc6b0e1..939062f76 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php @@ -2,8 +2,8 @@ namespace Sabre\DAV\Xml\Property; -use Sabre\DAV\Sharing\Plugin as SharingPlugin; use Sabre\DAV\Exception\BadRequest; +use Sabre\DAV\Sharing\Plugin as SharingPlugin; use Sabre\Xml\Element; use Sabre\Xml\Reader; use Sabre\Xml\Writer; @@ -62,7 +62,7 @@ class ShareAccess implements Element { * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -102,7 +102,7 @@ class ShareAccess implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Property/SupportedLock.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php index f6d01aa37..677fdde4b 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php @@ -21,12 +21,12 @@ use Sabre\Xml\XmlSerializable; class SupportedLock implements XmlSerializable { /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -43,11 +43,11 @@ class SupportedLock implements XmlSerializable { $writer->writeElement('{DAV:}lockentry', [ '{DAV:}lockscope' => ['{DAV:}exclusive' => null], - '{DAV:}locktype' => ['{DAV:}write' => null], + '{DAV:}locktype' => ['{DAV:}write' => null], ]); $writer->writeElement('{DAV:}lockentry', [ '{DAV:}lockscope' => ['{DAV:}shared' => null], - '{DAV:}locktype' => ['{DAV:}write' => null], + '{DAV:}locktype' => ['{DAV:}write' => null], ]); } diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php index 7641f3739..1a3878ef7 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php @@ -67,12 +67,12 @@ class SupportedMethodSet implements XmlSerializable, HtmlOutput { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php index ebf27300d..96383ec96 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php @@ -98,12 +98,12 @@ class SupportedReportSet implements XmlSerializable, HtmlOutput { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php b/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php index 76df98d13..c315a9a45 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php @@ -38,7 +38,7 @@ class Lock implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Request/MkCol.php b/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php index 5db239061..9490bf58c 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php @@ -40,7 +40,7 @@ class MkCol implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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 @@ -63,8 +63,8 @@ class MkCol implements XmlDeserializable { $self = new self(); $elementMap = $reader->elementMap; - $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop'; - $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue'; + $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop'; + $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue'; $elementMap['{DAV:}remove'] = 'Sabre\Xml\Element\KeyValue'; $elems = $reader->parseInnerTree($elementMap); diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php b/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php index ad3ad7c43..f1b5b6fdc 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php @@ -36,7 +36,7 @@ class PropFind implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Request/PropPatch.php b/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php index 07a05f887..821b9e047 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php @@ -29,12 +29,12 @@ class PropPatch implements Element { public $properties = []; /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -68,7 +68,7 @@ class PropPatch implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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 @@ -91,8 +91,8 @@ class PropPatch implements Element { $self = new self(); $elementMap = $reader->elementMap; - $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop'; - $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue'; + $elementMap['{DAV:}prop'] = 'Sabre\DAV\Xml\Element\Prop'; + $elementMap['{DAV:}set'] = 'Sabre\Xml\Element\KeyValue'; $elementMap['{DAV:}remove'] = 'Sabre\Xml\Element\KeyValue'; $elems = $reader->parseInnerTree($elementMap); diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php index 965e5857c..526a4eb6f 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php @@ -2,9 +2,9 @@ namespace Sabre\DAV\Xml\Request; +use Sabre\DAV\Xml\Element\Sharee; use Sabre\Xml\Reader; use Sabre\Xml\XmlDeserializable; -use Sabre\DAV\Xml\Element\Sharee; /** * ShareResource request parser. @@ -40,7 +40,7 @@ class ShareResource implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAV/Xml/Request/SyncCollectionReport.php b/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php index 3092ada47..830293a01 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php @@ -2,10 +2,10 @@ namespace Sabre\DAV\Xml\Request; +use Sabre\DAV\Exception\BadRequest; +use Sabre\Xml\Element\KeyValue; use Sabre\Xml\Reader; use Sabre\Xml\XmlDeserializable; -use Sabre\Xml\Element\KeyValue; -use Sabre\DAV\Exception\BadRequest; /** * SyncCollection request parser. @@ -51,7 +51,7 @@ class SyncCollectionReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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 @@ -75,7 +75,7 @@ class SyncCollectionReport implements XmlDeserializable { $reader->pushContext(); - $reader->elementMap['{DAV:}prop'] = 'Sabre\Xml\Element\Elements'; + $reader->elementMap['{DAV:}prop'] = 'Sabre\Xml\Element\Elements'; $elems = KeyValue::xmlDeserialize($reader); $reader->popContext(); diff --git a/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php b/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php index 16a3d4a68..cf5a0453b 100644 --- a/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php +++ b/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php @@ -99,7 +99,7 @@ class MultiStatus implements Element { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php b/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php index 4349bf101..d7ae188ae 100644 --- a/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php +++ b/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php @@ -5,7 +5,7 @@ namespace Sabre\DAVACL\Exception; use Sabre\DAV; /** - * If a client tried to set a privilege assigned to a non-existant principal, + * If a client tried to set a privilege assigned to a non-existent principal, * this exception will be thrown. * * @copyright Copyright (C) fruux GmbH (https://fruux.com/) diff --git a/vendor/sabre/dav/lib/DAVACL/FS/Collection.php b/vendor/sabre/dav/lib/DAVACL/FS/Collection.php index 1c08b43b1..b4fe7a1b0 100644 --- a/vendor/sabre/dav/lib/DAVACL/FS/Collection.php +++ b/vendor/sabre/dav/lib/DAVACL/FS/Collection.php @@ -2,11 +2,11 @@ namespace Sabre\DAVACL\FS; +use Sabre\DAV\Exception\Forbidden; +use Sabre\DAV\Exception\NotFound; use Sabre\DAV\FSExt\Directory as BaseCollection; use Sabre\DAVACL\ACLTrait; use Sabre\DAVACL\IACL; -use Sabre\DAV\Exception\Forbidden; -use Sabre\DAV\Exception\NotFound; /** * This is an ACL-enabled collection. diff --git a/vendor/sabre/dav/lib/DAVACL/FS/File.php b/vendor/sabre/dav/lib/DAVACL/FS/File.php index 387597bf7..aaf2ae148 100644 --- a/vendor/sabre/dav/lib/DAVACL/FS/File.php +++ b/vendor/sabre/dav/lib/DAVACL/FS/File.php @@ -3,8 +3,8 @@ namespace Sabre\DAVACL\FS; use Sabre\DAV\FSExt\File as BaseFile; -use Sabre\DAVACL\IACL; use Sabre\DAVACL\ACLTrait; +use Sabre\DAVACL\IACL; /** * This is an ACL-enabled file node. diff --git a/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php b/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php index 9e21353ea..201235e5a 100644 --- a/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php +++ b/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php @@ -72,7 +72,7 @@ class HomeCollection extends AbstractPrincipalCollection implements IACL { * supplied by the authentication backend. * * @param array $principalInfo - * @return \Sabre\DAVACL\INode + * @return \Sabre\DAV\INode */ function getChildForPrincipal(array $principalInfo) { diff --git a/vendor/sabre/dav/lib/DAVACL/Plugin.php b/vendor/sabre/dav/lib/DAVACL/Plugin.php index 8e912309e..a2aa118d7 100644 --- a/vendor/sabre/dav/lib/DAVACL/Plugin.php +++ b/vendor/sabre/dav/lib/DAVACL/Plugin.php @@ -3,11 +3,12 @@ namespace Sabre\DAVACL; use Sabre\DAV; -use Sabre\DAV\INode; -use Sabre\DAV\Xml\Property\Href; use Sabre\DAV\Exception\BadRequest; -use Sabre\DAV\Exception\NotFound; +use Sabre\DAV\Exception\Forbidden; use Sabre\DAV\Exception\NotAuthenticated; +use Sabre\DAV\Exception\NotFound; +use Sabre\DAV\INode; +use Sabre\DAV\Xml\Property\Href; use Sabre\DAVACL\Exception\NeedPrivileges; use Sabre\HTTP\RequestInterface; use Sabre\HTTP\ResponseInterface; @@ -53,7 +54,7 @@ class Plugin extends DAV\ServerPlugin { /** * Reference to server object. * - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; @@ -228,14 +229,14 @@ class Plugin extends DAV\ServerPlugin { /** * Returns the standard users' principal. * - * This is one authorative principal url for the current user. + * This is one authoritative principal url for the current user. * This method will return null if the user wasn't logged in. * * @return string|null */ function getCurrentUserPrincipal() { - /** @var $authPlugin Sabre\DAV\Auth\Plugin */ + /** @var $authPlugin \Sabre\DAV\Auth\Plugin */ $authPlugin = $this->server->getPlugin('auth'); if (!$authPlugin) { return null; @@ -283,8 +284,7 @@ class Plugin extends DAV\ServerPlugin { * * These rules are used for all nodes that don't implement the IACL interface. * - * @param array $acl - * @return void + * @return array */ function getDefaultAcl() { @@ -299,7 +299,7 @@ class Plugin extends DAV\ServerPlugin { * set of rules allow anyone to do anything, as long as they are * authenticated. * - * var array + * @var array */ protected $defaultAcl = [ [ @@ -321,7 +321,7 @@ class Plugin extends DAV\ServerPlugin { /** * Returns all the principal groups the specified principal is a member of. * - * @param string $principal + * @param string $mainPrincipal * @return array */ function getPrincipalMembership($mainPrincipal) { @@ -365,7 +365,7 @@ class Plugin extends DAV\ServerPlugin { /** * Find out of a principal equals another principal. * - * This is a quick way to find out wether a principal URI is part of a + * This is a quick way to find out whether a principal URI is part of a * group, or any subgroups. * * The first argument is the principal URI you want to check against. For @@ -373,10 +373,10 @@ class Plugin extends DAV\ServerPlugin { * which you want to find out of it is the same as the first principal, or * in a member of the first principal's group or subgroups. * - * So the arguments are not interchangable. If principal A is in group B, + * So the arguments are not interchangeable. If principal A is in group B, * passing 'B', 'A' will yield true, but 'A', 'B' is false. * - * If the sceond argument is not passed, we will use the current user + * If the second argument is not passed, we will use the current user * principal. * * @param string $checkPrincipal @@ -412,8 +412,8 @@ class Plugin extends DAV\ServerPlugin { * ] * ] * - * Privileges can be nested using "aggregrates". Doing so means that - * if you assign someone the aggregrating privilege, all the + * Privileges can be nested using "aggregates". Doing so means that + * if you assign someone the aggregating privilege, all the * sub-privileges will automatically be granted. * * Marking a privilege as abstract means that the privilege cannot be @@ -484,7 +484,7 @@ class Plugin extends DAV\ServerPlugin { ], ], ]; - if ($node instanceof \Sabre\DAV\ICollection) { + if ($node instanceof DAV\ICollection) { $supportedPrivileges['{DAV:}write']['aggregates']['{DAV:}bind'] = [ 'abstract' => false, 'aggregates' => [], @@ -494,7 +494,7 @@ class Plugin extends DAV\ServerPlugin { 'aggregates' => [], ]; } - if ($node instanceof \Sabre\DAVACL\IACL) { + if ($node instanceof IACL) { $supportedPrivileges['{DAV:}write']['aggregates']['{DAV:}write-acl'] = [ 'abstract' => false, 'aggregates' => [], @@ -980,8 +980,6 @@ class Plugin extends DAV\ServerPlugin { * * @param DAV\PropFind $propFind * @param DAV\INode $node - * @param array $requestedProperties - * @param array $returnedProperties * @TODO really should be broken into multiple methods, or even a class. * @return bool */ @@ -1423,7 +1421,7 @@ class Plugin extends DAV\ServerPlugin { ]; } - // Replacing the property with its expannded form. + // Replacing the property with its expanded form. $node[200][$propertyName] = $childProps; } diff --git a/vendor/sabre/dav/lib/DAVACL/Principal.php b/vendor/sabre/dav/lib/DAVACL/Principal.php index 6ebb30907..d7db94999 100644 --- a/vendor/sabre/dav/lib/DAVACL/Principal.php +++ b/vendor/sabre/dav/lib/DAVACL/Principal.php @@ -41,7 +41,7 @@ class Principal extends DAV\Node implements IPrincipal, DAV\IProperties, IACL { /** * Creates the principal object * - * @param IPrincipalBackend $principalBackend + * @param PrincipalBackend\BackendInterface $principalBackend * @param array $principalProperties */ function __construct(PrincipalBackend\BackendInterface $principalBackend, array $principalProperties = []) { diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php index 2cb83071a..40b6e33ea 100644 --- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php +++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php @@ -53,7 +53,7 @@ interface BackendInterface { * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param string $path * @param \Sabre\DAV\PropPatch $propPatch diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php index a491dc88f..eb0df888b 100644 --- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php +++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php @@ -11,7 +11,7 @@ use Sabre\HTTP\URLUtil; * * * This backend assumes all principals are in a single collection. The default collection - * is 'principals/', but this can be overriden. + * is 'principals/', but this can be overridden. * * @copyright Copyright (C) fruux GmbH (https://fruux.com/) * @author Evert Pot (http://evertpot.com/) @@ -65,7 +65,7 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport { /** * Sets up the backend. * - * @param PDO $pdo + * @param \PDO $pdo */ function __construct(\PDO $pdo) { @@ -171,7 +171,7 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport { * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param string $path * @param DAV\PropPatch $propPatch @@ -307,7 +307,7 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport { case "mailto": $query = 'SELECT uri FROM ' . $this->tableName . ' WHERE lower(email)=lower(?)'; $stmt = $this->pdo->prepare($query); - $stmt->execute([ $value ]); + $stmt->execute([$value]); while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) { // Checking if the principal is in the prefix diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php index d8a90153a..ee5b88a90 100644 --- a/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php +++ b/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php @@ -57,7 +57,7 @@ class PrincipalCollection extends AbstractPrincipalCollection implements IExtend * * @param string $name * @param MkCol $mkCol - * @throws Exception\InvalidResourceType + * @throws InvalidResourceType * @return void */ function createExtendedCollection($name, MkCol $mkCol) { diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php index 9f5e40df1..0e1c30ccf 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php @@ -78,12 +78,12 @@ class Acl implements Element, HtmlOutput { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -149,7 +149,7 @@ class Acl implements Element, HtmlOutput { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAVACL/Xml/Property/AclRestrictions.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php index f669cc5e1..8d5854c23 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php @@ -2,8 +2,8 @@ namespace Sabre\DAVACL\Xml\Property; -use Sabre\Xml\XmlSerializable; use Sabre\Xml\Writer; +use Sabre\Xml\XmlSerializable; /** * AclRestrictions property @@ -17,12 +17,12 @@ use Sabre\Xml\Writer; class AclRestrictions implements XmlSerializable { /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php index 0a95eb2b7..74c09cee1 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php @@ -41,12 +41,12 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -99,7 +99,7 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAVACL/Xml/Property/Principal.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php index d32249d8b..04d22165d 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php @@ -85,12 +85,12 @@ class Principal extends DAV\Xml\Property\Href { /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php index 55e7783ae..b963cc8c3 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php @@ -4,8 +4,8 @@ namespace Sabre\DAVACL\Xml\Property; use Sabre\DAV\Browser\HtmlOutput; use Sabre\DAV\Browser\HtmlOutputHelper; -use Sabre\Xml\XmlSerializable; use Sabre\Xml\Writer; +use Sabre\Xml\XmlSerializable; /** * SupportedPrivilegeSet property @@ -53,12 +53,12 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput { } /** - * The xmlSerialize metod is called during xml writing. + * The xmlSerialize method is called during xml writing. * * Use the $writer argument to write its own xml serialization. * * An important note: do _not_ create a parent element. Any element - * implementing XmlSerializble should only ever write what's considered + * implementing XmlSerializable should only ever write what's considered * its 'inner xml'. * * The parent of the current element is responsible for writing a @@ -73,7 +73,7 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput { */ function xmlSerialize(Writer $writer) { - $this->serializePriv($writer, '{DAV:}all', [ 'aggregates' => $this->privileges]); + $this->serializePriv($writer, '{DAV:}all', ['aggregates' => $this->privileges]); } @@ -114,7 +114,7 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput { ob_start(); echo "\n"; return ob_get_clean(); @@ -129,6 +129,7 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput { * This is a recursive function. * * @param Writer $writer + * @param string $privName * @param array $privilege * @return void */ diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php index f01c1e6ab..0aa2f29a5 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php @@ -2,9 +2,9 @@ namespace Sabre\DAVACL\Xml\Request; -use Sabre\Xml\XmlDeserializable; -use Sabre\Xml\Reader; use Sabre\Xml\Deserializer; +use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; /** * AclPrincipalPropSet request parser. @@ -24,7 +24,7 @@ class AclPrincipalPropSetReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php index 3f535e301..a9938ba5b 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php @@ -35,7 +35,7 @@ class ExpandPropertyReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php index 5c4e88189..1be15ab2d 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php @@ -2,9 +2,9 @@ namespace Sabre\DAVACL\Xml\Request; -use Sabre\Xml\XmlDeserializable; -use Sabre\Xml\Reader; use Sabre\Xml\Deserializer; +use Sabre\Xml\Reader; +use Sabre\Xml\XmlDeserializable; /** * PrincipalMatchReport request parser. @@ -55,7 +55,7 @@ class PrincipalMatchReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php index 1e7aa4481..b0cf0e408 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php @@ -2,9 +2,9 @@ namespace Sabre\DAVACL\Xml\Request; +use Sabre\DAV\Exception\BadRequest; use Sabre\Xml\Reader; use Sabre\Xml\XmlDeserializable; -use Sabre\DAV\Exception\BadRequest; /** * PrincipalSearchPropertySetReport request parser. @@ -56,7 +56,7 @@ class PrincipalPropertySearchReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php index ade157b19..64d1f7f86 100644 --- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php +++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php @@ -2,9 +2,9 @@ namespace Sabre\DAVACL\Xml\Request; +use Sabre\DAV\Exception\BadRequest; use Sabre\Xml\Reader; use Sabre\Xml\XmlDeserializable; -use Sabre\DAV\Exception\BadRequest; /** * PrincipalSearchPropertySetReport request parser. @@ -23,7 +23,7 @@ class PrincipalSearchPropertySetReport implements XmlDeserializable { /** * The deserialize method is called during xml parsing. * - * This method is called statictly, 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/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php index 2a00f7925..406dbe0e8 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php @@ -280,7 +280,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { ], ]; - $result = $backend->getMultipleCalendarObjects($returnedId, [ 'id-1', 'id-2' ]); + $result = $backend->getMultipleCalendarObjects($returnedId, ['id-1', 'id-2']); foreach ($check as $index => $props) { @@ -441,7 +441,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { /** * @depends testCreateCalendarObject */ - function testCreateCalendarObjectInfiniteReccurence() { + function testCreateCalendarObjectInfiniteRecurrence() { $backend = new PDO($this->pdo); $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []); @@ -470,7 +470,7 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { /** * @depends testCreateCalendarObject */ - function testCreateCalendarObjectEndingReccurence() { + function testCreateCalendarObjectEndingRecurrence() { $backend = new PDO($this->pdo); $returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []); @@ -1246,8 +1246,8 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $calendar['id'], [ new Sharee([ - 'href' => 'mailto:user@example.org', - 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS, + 'href' => 'mailto:user@example.org', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS, ]) ] ); @@ -1263,8 +1263,8 @@ abstract class AbstractPDOTest extends \PHPUnit_Framework_TestCase { $calendar['id'], [ new Sharee([ - 'href' => 'principals/user2', - 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS, + 'href' => 'principals/user2', + 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_NOACCESS, ]) ] ); diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php index d4dcc07dc..cc665cd8f 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php @@ -2,8 +2,8 @@ namespace Sabre\CalDAV\Backend; -use Sabre\DAV; use Sabre\CalDAV; +use Sabre\DAV; class Mock extends AbstractBackend { diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php index 0d98922ff..c92cde661 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php @@ -114,7 +114,7 @@ class CalendarObjectTest extends \PHPUnit_Framework_TestCase { $obj = $children[0]; $obj->delete(); - $children2 = $this->calendar->getChildren(); + $children2 = $this->calendar->getChildren(); $this->assertEquals(count($children) - 1, count($children2)); } diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php index 4c2558a9b..f3305163b 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarQueryValidatorTest.php @@ -21,6 +21,9 @@ ICS; } /** + * @param string $icalObject + * @param array $filters + * @param int $outcome * @dataProvider provider */ function testValid($icalObject, $filters, $outcome) { diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php index 7a756774f..7604c7f4c 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php @@ -11,11 +11,11 @@ require_once 'Sabre/HTTP/ResponseMock.php'; class FreeBusyReportTest extends \PHPUnit_Framework_TestCase { /** - * @var Sabre\CalDAV\Plugin + * @var Plugin */ protected $plugin; /** - * @var Sabre\DAV\Server + * @var DAV\Server */ protected $server; diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php index 9719529fb..75412577e 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php @@ -3,9 +3,9 @@ namespace Sabre\CalDAV; use Sabre\DAV; +use Sabre\DAVACL; use Sabre\HTTP; use Sabre\VObject; -use Sabre\DAVACL; class ICSExportPluginTest extends \Sabre\DAVServerTest { diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php index 8d538dee5..859f6aa0c 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php @@ -2,11 +2,11 @@ namespace Sabre\CalDAV; -use Sabre\DAVACL; -use Sabre\DAV; -use Sabre\HTTP; use DateTime; use DateTimeZone; +use Sabre\DAV; +use Sabre\DAVACL; +use Sabre\HTTP; class PluginTest extends \PHPUnit_Framework_TestCase { diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php index 6e9e88419..9589176a3 100644 --- a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php @@ -194,8 +194,8 @@ RRR; $this->assertEquals( [ new Sharee([ - 'href' => 'mailto:joe@example.org', - 'properties' => [ + 'href' => 'mailto:joe@example.org', + 'properties' => [ '{DAV:}displayname' => 'Joe Shmoe', ], 'access' => \Sabre\DAV\Sharing\Plugin::ACCESS_READWRITE, diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php index 2c3171bf3..f8da38a16 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php @@ -2,8 +2,8 @@ namespace Sabre\CardDAV; -use Sabre\HTTP; use Sabre\DAV; +use Sabre\HTTP; require_once 'Sabre/CardDAV/AbstractPluginTest.php'; require_once 'Sabre/HTTP/ResponseMock.php'; @@ -288,14 +288,14 @@ class AddressBookQueryTest extends AbstractPluginTest { ); $request->setBody( -' + ' ' - ); + ); $response = new HTTP\ResponseMock(); @@ -305,6 +305,51 @@ class AddressBookQueryTest extends AbstractPluginTest { $this->server->exec(); $this->assertEquals(415, $response->status, 'Incorrect status code. Full response body:' . $response->body); + } + + function testAddressBookProperties() { + + $request = new HTTP\Request( + 'REPORT', + '/addressbooks/user1/book3', + ['Depth' => '1'] + ); + + $request->setBody( + ' + + + + + + + + +' + ); + + $response = new HTTP\ResponseMock(); + + $this->server->httpRequest = $request; + $this->server->httpResponse = $response; + + $this->server->exec(); + + $this->assertEquals(207, $response->status, 'Incorrect status code. Full response body:' . $response->body); + + // using the client for parsing + $client = new DAV\Client(['baseUri' => '/']); + + $result = $client->parseMultiStatus($response->body); + + $this->assertEquals([ + '/addressbooks/user1/book3/card3' => [ + 200 => [ + '{DAV:}getetag' => '"' . md5("BEGIN:VCARD\nVERSION:3.0\nUID:12345\nFN:Test-Card\nEMAIL;TYPE=home:bar@example.org\nEND:VCARD") . '"', + '{urn:ietf:params:xml:ns:carddav}address-data' => "BEGIN:VCARD\r\nVERSION:3.0\r\nUID:12345\r\nFN:Test-Card\r\nEND:VCARD\r\n", + ], + ], + ], $result); } } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php index 1a36fd10c..1f0064dd3 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php @@ -85,7 +85,7 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { function testDelete() { $this->ab->delete(); - $this->assertEquals([], $this->backend->addressBooks); + $this->assertEquals(1, count($this->backend->addressBooks)); } @@ -175,7 +175,7 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { $backend = new Backend\PDO( $this->getPDO() ); - $ab = new AddressBook($backend, [ 'id' => 1, '{DAV:}sync-token' => 2]); + $ab = new AddressBook($backend, ['id' => 1, '{DAV:}sync-token' => 2]); $this->assertEquals(2, $ab->getSyncToken()); } @@ -187,7 +187,7 @@ class AddressBookTest extends \PHPUnit_Framework_TestCase { $backend = new Backend\PDO( $this->getPDO() ); - $ab = new AddressBook($backend, [ 'id' => 1, '{http://sabredav.org/ns}sync-token' => 2]); + $ab = new AddressBook($backend, ['id' => 1, '{http://sabredav.org/ns}sync-token' => 2]); $this->assertEquals(2, $ab->getSyncToken()); } diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php index 840b898e8..8638dc74a 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php @@ -20,6 +20,12 @@ class Mock extends AbstractBackend { 'principaluri' => 'principals/user1', '{DAV:}displayname' => 'd-name', ], + [ + 'id' => 'bar', + 'uri' => 'book3', + 'principaluri' => 'principals/user1', + '{DAV:}displayname' => 'd-name', + ], ]; $card2 = fopen('php://memory', 'r+'); @@ -30,6 +36,9 @@ class Mock extends AbstractBackend { 'card1' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nEND:VCARD", 'card2' => $card2, ], + 'bar' => [ + 'card3' => "BEGIN:VCARD\nVERSION:3.0\nUID:12345\nFN:Test-Card\nEMAIL;TYPE=home:bar@example.org\nEND:VCARD", + ], ]; } @@ -58,7 +67,7 @@ class Mock extends AbstractBackend { * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param string $addressBookId * @param \Sabre\DAV\PropPatch $propPatch @@ -117,7 +126,7 @@ class Mock extends AbstractBackend { * calculating them. If they are specified, you can also ommit carddata. * This may speed up certain requests, especially with large cards. * - * @param mixed $addressbookId + * @param mixed $addressBookId * @return array */ function getCards($addressBookId) { diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php index d79239d0f..2d57c6ae7 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php @@ -2,8 +2,8 @@ namespace Sabre\CardDAV; -use Sabre\HTTP; use Sabre\DAV; +use Sabre\HTTP; require_once 'Sabre/HTTP/ResponseMock.php'; diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php index 0ba4fd669..d4bc48098 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/SogoStripContentTypeTest.php @@ -2,8 +2,8 @@ namespace Sabre\CardDAV; -use Sabre\HTTP; use Sabre\DAV\PropFind; +use Sabre\HTTP; class SogoStripContentTypeTest extends \Sabre\DAVServerTest { diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php index 57ac21b4a..03c468f86 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php @@ -7,6 +7,11 @@ require_once 'Sabre/CardDAV/AbstractPluginTest.php'; class ValidateFilterTest extends AbstractPluginTest { /** + * @param string $input + * @param array $filters + * @param string $test + * @param bool $result + * @param string|null $message * @dataProvider data */ function testFilter($input, $filters, $test, $result, $message = null) { diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php index dda8a0c37..acba2cfc8 100644 --- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php +++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php @@ -3,8 +3,8 @@ namespace Sabre\CardDAV; use Sabre\DAV; -use Sabre\HTTP; use Sabre\DAVACL; +use Sabre\HTTP; require_once 'Sabre/HTTP/ResponseMock.php'; @@ -293,10 +293,10 @@ VCF; $response = $this->request($request, 204); $expected = [ - 'uri' => 'blabla.vcf', - 'carddata' => $body, - 'size' => strlen($body), - 'etag' => '"' . md5($body) . '"', + 'uri' => 'blabla.vcf', + 'carddata' => $body, + 'size' => strlen($body), + 'etag' => '"' . md5($body) . '"', ]; $this->assertEquals($expected, $this->cardBackend->getCard('addressbook1', 'blabla.vcf')); 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 b30b3f143..369bc249e 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php @@ -76,6 +76,8 @@ class Mock implements BackendInterface { * append your own WWW-Authenticate header instead of overwriting the * existing one. * + * @param RequestInterface $request + * @param ResponseInterface $response * @return void */ 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 b566dd757..743446127 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php @@ -2,8 +2,8 @@ namespace Sabre\DAV\Auth; -use Sabre\HTTP; use Sabre\DAV; +use Sabre\HTTP; class PluginTest extends \PHPUnit_Framework_TestCase { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php index 4cf27dfaa..687f61e2f 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php @@ -224,7 +224,7 @@ XML; XML; $client->response = new Response(207, [], $responseBody); - $result = $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null], 1); + $result = $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null]); $this->assertTrue($result); $request = $client->request; $this->assertEquals('PROPPATCH', $request->getMethod()); @@ -246,7 +246,7 @@ XML; ]); $client->response = new Response(403, [], ''); - $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null], 1); + $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null]); } @@ -276,7 +276,7 @@ XML; XML; $client->response = new Response(207, [], $responseBody); - $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null], 1); + $client->propPatch('foo', ['{DAV:}displayname' => 'hi', '{urn:zim}gir' => null]); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php index 8788475cb..174a561b5 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Exception/LockedTest.php @@ -2,8 +2,8 @@ namespace Sabre\DAV\Exception; -use Sabre\DAV; use DOMDocument; +use Sabre\DAV; class LockedTest extends \PHPUnit_Framework_TestCase { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php index edd09e634..ba2cf3dc1 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php @@ -99,7 +99,7 @@ class Issue33Test extends \PHPUnit_Framework_TestCase { $server->sapi = new HTTP\SapiMock(); $server->exec(); - $this->assertTrue(file_exists(SABRE_TEMPDIR . '/issue33/' . urldecode('%C3%A0fo%C3%B3'))); + $this->assertTrue(file_exists(SABRE_TEMPDIR . '/issue33/' . urldecode('%C3%A0fo%C3%B3'))); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php index f08f19da5..1111db5b5 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php @@ -2,8 +2,8 @@ namespace Sabre\DAV\Locks; -use Sabre\HTTP; use Sabre\DAV; +use Sabre\HTTP; require_once 'Sabre/HTTP/ResponseMock.php'; require_once 'Sabre/TestUtil.php'; @@ -112,9 +112,9 @@ class MSWordTest extends \PHPUnit_Framework_TestCase { function getPutRequest($lockToken) { $request = HTTP\Sapi::createFromServerArray([ - 'REQUEST_METHOD' => 'PUT', - 'REQUEST_URI' => '/Nouveau%20Microsoft%20Office%20Excel%20Worksheet.xlsx', - 'HTTP_IF' => 'If: (' . $lockToken . ')', + 'REQUEST_METHOD' => 'PUT', + 'REQUEST_URI' => '/Nouveau%20Microsoft%20Office%20Excel%20Worksheet.xlsx', + 'HTTP_IF' => 'If: (' . $lockToken . ')', ]); $request->setBody('FAKE BODY'); return $request; diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php index 6511d4e7d..dbbf6757a 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php @@ -2,8 +2,8 @@ namespace Sabre\DAV\Locks; -use Sabre\HTTP; use Sabre\DAV; +use Sabre\HTTP; require_once 'Sabre/DAV/AbstractServer.php'; @@ -168,7 +168,7 @@ class PluginTest extends DAV\AbstractServer { $this->response = new HTTP\ResponseMock(); $this->server->httpResponse = $this->response; - $request = new HTTP\Request('LOCK', '/test.txt', ['If' => '(' . $lockToken . ')' ]); + $request = new HTTP\Request('LOCK', '/test.txt', ['If' => '(' . $lockToken . ')']); $request->setBody(''); $this->server->httpRequest = $request; @@ -203,7 +203,7 @@ class PluginTest extends DAV\AbstractServer { $this->response = new HTTP\ResponseMock(); $this->server->httpResponse = $this->response; - $request = new HTTP\Request('LOCK', '/test.txt', ['If' => '(' . $lockToken . 'foobar) ()' ]); + $request = new HTTP\Request('LOCK', '/test.txt', ['If' => '(' . $lockToken . 'foobar) ()']); $request->setBody(''); $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 6ccab4f66..fded5e474 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php @@ -30,6 +30,7 @@ class Collection extends DAV\Collection { * * @param string $name * @param array $children + * @param Collection $parent * @return void */ function __construct($name, array $children = [], Collection $parent = null) { @@ -122,6 +123,8 @@ class Collection extends DAV\Collection { /** * Adds an already existing node to this collection. + * + * @param \Sabre\DAV\INode $node */ function addNode(\Sabre\DAV\INode $node) { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php b/vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php index 23855e3c5..a624b6b6b 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/Mock/File.php @@ -24,7 +24,9 @@ class File extends DAV\File { * Creates the object * * @param string $name - * @param array $children + * @param resource $contents + * @param Collection $parent + * @param int $lastModified * @return void */ function __construct($name, $contents, Collection $parent = null, $lastModified = -1) { @@ -57,6 +59,7 @@ class File extends DAV\File { /** * Changes the name of the node. * + * @param string $name * @return void */ function setName($name) { @@ -70,7 +73,7 @@ class File extends DAV\File { * * The data argument is a readable stream resource. * - * After a succesful put operation, you may choose to return an ETag. The + * After a successful put operation, you may choose to return an ETag. The * etag must always be surrounded by double-quotes. These quotes must * appear in the actual string you're returning. * diff --git a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php index ca8ca3f6e..2c6274173 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php @@ -38,6 +38,11 @@ class SpecificationTest extends \PHPUnit_Framework_TestCase { } /** + * @param string $headerValue + * @param string $httpStatus + * @param string $endResult + * @param int $contentLength + * * @dataProvider data */ function testUpdateRange($headerValue, $httpStatus, $endResult, $contentLength = 4) { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php index 4c576f108..42759647a 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php @@ -39,8 +39,8 @@ class ServerEventsTest extends AbstractServer { $this->server->on('afterResponse', [$mock, 'afterResponseCallback']); $this->server->httpRequest = HTTP\Sapi::createFromServerArray([ - 'REQUEST_METHOD' => 'GET', - 'REQUEST_URI' => '/test.txt', + 'REQUEST_METHOD' => 'GET', + 'REQUEST_URI' => '/test.txt', ]); $this->server->exec(); @@ -118,8 +118,8 @@ class ServerEventsTest extends AbstractServer { ); } catch (Exception $e) {} - $this->assertEquals(2, $k); - + // Fun fact, PHP 7.1 changes the order when sorting-by-callback. + $this->assertTrue($k >= 2 && $k <= 3); } diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php index bafbef6e4..81224d687 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php @@ -144,7 +144,7 @@ class ServerRangeTest extends \Sabre\DAVServerTest { 'Content-Length' => [4], 'Content-Range' => ['bytes 2-5/12'], // 'ETag' => ['"' . md5('Test contents') . '"'], - 'Last-Modified' => [$this->lastModified], + 'Last-Modified' => [$this->lastModified], ], $response->getHeaders() ); diff --git a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php index 8888f0276..e98fe9048 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php @@ -5,6 +5,13 @@ namespace Sabre\DAV; class StringUtilTest extends \PHPUnit_Framework_TestCase { /** + * @param string $haystack + * @param string $needle + * @param string $collation + * @param string $matchType + * @param string $result + * @throws Exception\BadRequest + * * @dataProvider dataset */ function testTextMatch($haystack, $needle, $collation, $matchType, $result) { diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php index ad33200c8..e719e38d5 100644 --- a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php +++ b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php @@ -200,8 +200,8 @@ 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 array $mutations - * @return bool|array + * @param PropPatch $propPatch + * @return void */ function propPatch(PropPatch $propPatch) { @@ -220,6 +220,7 @@ class TreeMultiGetTester extends TreeDirectoryTester implements IMultiGet { * * If any children are not found, you do not have to return them. * + * @param array $paths * @return array */ function getMultipleChildren(array $paths) { diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php index afb094a39..1464f4c26 100644 --- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php +++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php @@ -128,7 +128,7 @@ class Mock extends AbstractBackend { * Calling the handle method is like telling the PropPatch object "I * promise I can handle updating this property". * - * Read the PropPatch documenation for more info and examples. + * Read the PropPatch documentation for more info and examples. * * @param string $path * @param \Sabre\DAV\PropPatch $propPatch diff --git a/vendor/sabre/http/.travis.yml b/vendor/sabre/http/.travis.yml index 490e42e1e..8ae84d90f 100644 --- a/vendor/sabre/http/.travis.yml +++ b/vendor/sabre/http/.travis.yml @@ -4,6 +4,7 @@ php: - 5.5 - 5.6 - 7 + - 7.1 - hhvm matrix: @@ -16,7 +17,8 @@ env: before_script: - - composer self-update + - rm -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini +# - composer self-update - composer update --prefer-source $PREFER_LOWEST script: diff --git a/vendor/sabre/http/CHANGELOG.md b/vendor/sabre/http/CHANGELOG.md index 9a751d8fb..63d85afe3 100644 --- a/vendor/sabre/http/CHANGELOG.md +++ b/vendor/sabre/http/CHANGELOG.md @@ -1,19 +1,25 @@ ChangeLog ========= +4.2.2 (2017-01-02) +------------------ + +* #72: Handling clients that send invalid `Content-Length` headers. + + 4.2.1 (2016-01-06) ------------------ * #56: `getBodyAsString` now returns at most as many bytes as the contents of the `Content-Length` header. This allows users to pass much larger strings without having to copy and truncate them. +* The client now sets a default `User-Agent` header identifying this library. 4.2.0 (2016-01-04) ------------------ * This package now supports sabre/event 3.0. -* The client now sets a default `User-Agent` header identifying this library. 4.1.0 (2015-09-04) diff --git a/vendor/sabre/http/LICENSE b/vendor/sabre/http/LICENSE index 19812ad7a..864041b22 100644 --- a/vendor/sabre/http/LICENSE +++ b/vendor/sabre/http/LICENSE @@ -1,4 +1,4 @@ -Copyright (C) 2009-2016 fruux GmbH (https://fruux.com/) +Copyright (C) 2009-2017 fruux GmbH (https://fruux.com/) All rights reserved. diff --git a/vendor/sabre/http/composer.json b/vendor/sabre/http/composer.json index b061194cf..507d5d28d 100644 --- a/vendor/sabre/http/composer.json +++ b/vendor/sabre/http/composer.json @@ -7,6 +7,7 @@ "require" : { "php" : ">=5.4", "ext-mbstring" : "*", + "ext-ctype" : "*", "sabre/event" : ">=1.0.0,<4.0.0", "sabre/uri" : "~1.0" }, diff --git a/vendor/sabre/http/lib/Message.php b/vendor/sabre/http/lib/Message.php index 5c6887d8a..45bd18398 100644 --- a/vendor/sabre/http/lib/Message.php +++ b/vendor/sabre/http/lib/Message.php @@ -75,12 +75,11 @@ abstract class Message implements MessageInterface { return ''; } $contentLength = $this->getHeader('Content-Length'); - if (null === $contentLength) { - return stream_get_contents($body); - } else { + if (is_int($contentLength) || ctype_digit($contentLength)) { return stream_get_contents($body, $contentLength); + } else { + return stream_get_contents($body); } - } /** @@ -189,7 +188,7 @@ abstract class Message implements MessageInterface { /** * Updates a HTTP header. * - * The case-sensitity of the name value must be retained as-is. + * The case-sensitivity of the name value must be retained as-is. * * If the header already existed, it will be overwritten. * @@ -270,10 +269,11 @@ abstract class Message implements MessageInterface { /** * Removes a HTTP header. * - * The specified header name must be treated as case-insenstive. + * 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. * + * @param string $name * @return bool */ function removeHeader($name) { diff --git a/vendor/sabre/http/lib/MessageDecoratorTrait.php b/vendor/sabre/http/lib/MessageDecoratorTrait.php index f104af38d..1cb32da22 100644 --- a/vendor/sabre/http/lib/MessageDecoratorTrait.php +++ b/vendor/sabre/http/lib/MessageDecoratorTrait.php @@ -144,7 +144,7 @@ trait MessageDecoratorTrait { /** * Updates a HTTP header. * - * The case-sensitity of the name value must be retained as-is. + * The case-sensitivity of the name value must be retained as-is. * * If the header already existed, it will be overwritten. * @@ -210,15 +210,16 @@ trait MessageDecoratorTrait { /** * Removes a HTTP header. * - * The specified header name must be treated as case-insenstive. + * 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. * + * @param string $name * @return bool */ function removeHeader($name) { - $this->inner->removeHeader($name); + return $this->inner->removeHeader($name); } diff --git a/vendor/sabre/http/lib/MessageInterface.php b/vendor/sabre/http/lib/MessageInterface.php index 55d8485c1..df55beb2f 100644 --- a/vendor/sabre/http/lib/MessageInterface.php +++ b/vendor/sabre/http/lib/MessageInterface.php @@ -44,7 +44,7 @@ interface MessageInterface { /** * Updates the body resource with a new stream. * - * @param resource $body + * @param resource|string $body * @return void */ function setBody($body); @@ -153,6 +153,7 @@ interface MessageInterface { * This method should return true if the header was successfully deleted, * and false if the header did not exist. * + * @param string $name * @return bool */ function removeHeader($name); diff --git a/vendor/sabre/http/lib/Request.php b/vendor/sabre/http/lib/Request.php index 8bcaf32a6..dfa3d5b48 100644 --- a/vendor/sabre/http/lib/Request.php +++ b/vendor/sabre/http/lib/Request.php @@ -301,7 +301,7 @@ class Request extends Message implements RequestInterface { foreach ($value as $v) { if ($key === 'Authorization') { list($v) = explode(' ', $v, 2); - $v .= ' REDACTED'; + $v .= ' REDACTED'; } $out .= $key . ": " . $v . "\r\n"; } diff --git a/vendor/sabre/http/lib/Response.php b/vendor/sabre/http/lib/Response.php index d2ba6d40d..01920d8d9 100644 --- a/vendor/sabre/http/lib/Response.php +++ b/vendor/sabre/http/lib/Response.php @@ -100,7 +100,6 @@ class Response extends Message implements ResponseInterface { * @param string|int $status * @param array $headers * @param resource $body - * @return void */ function __construct($status = null, array $headers = null, $body = null) { @@ -145,7 +144,7 @@ class Response extends Message implements ResponseInterface { * added. * * @param string|int $status - * @throws \InvalidArgumentExeption + * @throws \InvalidArgumentException * @return void */ function setStatus($status) { diff --git a/vendor/sabre/http/lib/ResponseInterface.php b/vendor/sabre/http/lib/ResponseInterface.php index c0ecc35ae..411cdc06c 100644 --- a/vendor/sabre/http/lib/ResponseInterface.php +++ b/vendor/sabre/http/lib/ResponseInterface.php @@ -37,7 +37,7 @@ interface ResponseInterface extends MessageInterface { * added. * * @param string|int $status - * @throws \InvalidArgumentExeption + * @throws \InvalidArgumentException * @return void */ function setStatus($status); diff --git a/vendor/sabre/http/lib/URLUtil.php b/vendor/sabre/http/lib/URLUtil.php index 474856348..85c0e1150 100644 --- a/vendor/sabre/http/lib/URLUtil.php +++ b/vendor/sabre/http/lib/URLUtil.php @@ -10,7 +10,7 @@ use Sabre\URI; * Note: this class is deprecated. All its functionality moved to functions.php * or sabre\uri. * - * @deprectated + * @deprecated * @copyright Copyright (C) fruux GmbH (https://fruux.com/) * @author Evert Pot (http://evertpot.com/) * @license http://sabre.io/license/ Modified BSD License diff --git a/vendor/sabre/http/lib/Util.php b/vendor/sabre/http/lib/Util.php index 83bde50a4..e3f13a645 100644 --- a/vendor/sabre/http/lib/Util.php +++ b/vendor/sabre/http/lib/Util.php @@ -31,7 +31,7 @@ class Util { * Deprecated! Use negotiateContentType. * * @deprecated Use \Sabre\HTTP\NegotiateContentType - * @param string|null $acceptHeader + * @param string|null $acceptHeaderValue * @param array $availableOptions * @return string|null */ diff --git a/vendor/sabre/http/lib/Version.php b/vendor/sabre/http/lib/Version.php index 789ee4543..a5a427405 100644 --- a/vendor/sabre/http/lib/Version.php +++ b/vendor/sabre/http/lib/Version.php @@ -14,6 +14,6 @@ class Version { /** * Full version number */ - const VERSION = '4.2.1'; + const VERSION = '4.2.2'; } diff --git a/vendor/sabre/http/lib/functions.php b/vendor/sabre/http/lib/functions.php index 1ec123f2e..d94119623 100644 --- a/vendor/sabre/http/lib/functions.php +++ b/vendor/sabre/http/lib/functions.php @@ -79,7 +79,7 @@ function toDate(DateTime $dateTime) { // We need to clone it, as we don't want to affect the existing // DateTime. $dateTime = clone $dateTime; - $dateTime->setTimeZone(new \DateTimeZone('GMT')); + $dateTime->setTimezone(new \DateTimeZone('GMT')); return $dateTime->format('D, d M Y H:i:s \G\M\T'); } @@ -216,7 +216,7 @@ function negotiateContentType($acceptHeaderValue, array $availableOptions) { * Parameters are currently discarded. There's no known prefer value that * uses them. * - * @param string|string[] $header + * @param string|string[] $input * @return array */ function parsePrefer($input) { diff --git a/vendor/sabre/uri/.travis.yml b/vendor/sabre/uri/.travis.yml index f7d1a0657..75c8270df 100644 --- a/vendor/sabre/uri/.travis.yml +++ b/vendor/sabre/uri/.travis.yml @@ -3,8 +3,8 @@ php: - 5.4 - 5.5 - 5.6 - - hhvm - 7 + - 7.1 script: - ./bin/phpunit --configuration tests/phpunit.xml.dist diff --git a/vendor/sabre/uri/CHANGELOG.md b/vendor/sabre/uri/CHANGELOG.md index 9fa510dc2..92aaa7507 100644 --- a/vendor/sabre/uri/CHANGELOG.md +++ b/vendor/sabre/uri/CHANGELOG.md @@ -1,6 +1,29 @@ ChangeLog ========= +1.2.1 (2017-02-20) +------------------ + +* #16: Correctly parse urls that are only a fragment `#`. + + +1.2.0 (2016-12-06) +------------------ + +* Now throwing `InvalidUriException` if a uri passed to the `parse` function + is invalid or could not be parsed. +* #11: Fix support for URIs that start with a triple slash. PHP's `parse_uri()` + doesn't support them, so we now have a pure-php fallback in case it fails. +* #9: Fix support for relative URI's that have a non-uri encoded colon `:` in + them. + + +1.1.1 (2016-10-27) +------------------ + +* #10: Correctly support file:// URIs in the build() method. (@yuloh) + + 1.1.0 (2016-03-07) ------------------ diff --git a/vendor/sabre/uri/LICENSE b/vendor/sabre/uri/LICENSE index 9a3a91946..087996be7 100644 --- a/vendor/sabre/uri/LICENSE +++ b/vendor/sabre/uri/LICENSE @@ -1,4 +1,4 @@ -Copyright (C) 2014-2016 fruux GmbH (https://fruux.com/) +Copyright (C) 2014-2017 fruux GmbH (https://fruux.com/) All rights reserved. diff --git a/vendor/sabre/uri/README.md b/vendor/sabre/uri/README.md index 76f55d8e4..aa21bfe06 100644 --- a/vendor/sabre/uri/README.md +++ b/vendor/sabre/uri/README.md @@ -25,14 +25,6 @@ Further reading * [Usage][8] -Build status ------------- - -| branch | status | -| ------ | ------ | -| master | [![Build Status](https://travis-ci.org/fruux/sabre-uri.svg?branch=master)](https://travis-ci.org/fruux/sabre-uri) | - - Questions? ---------- diff --git a/vendor/sabre/uri/composer.json b/vendor/sabre/uri/composer.json index 7b48acb71..49d69e723 100644 --- a/vendor/sabre/uri/composer.json +++ b/vendor/sabre/uri/composer.json @@ -32,8 +32,8 @@ } }, "require-dev": { - "sabre/cs": "~0.0.1", - "phpunit/phpunit" : "*" + "sabre/cs": "~1.0.0", + "phpunit/phpunit" : ">=4.0,<6.0" }, "config" : { "bin-dir" : "bin/" diff --git a/vendor/sabre/uri/lib/InvalidUriException.php b/vendor/sabre/uri/lib/InvalidUriException.php new file mode 100644 index 000000000..0385fd462 --- /dev/null +++ b/vendor/sabre/uri/lib/InvalidUriException.php @@ -0,0 +1,17 @@ + null, 'host' => null, 'path' => null, @@ -233,7 +238,7 @@ function build(array $parts) { $uri = $parts['scheme'] . ':'; } - if ($authority) { + if ($authority || (!empty($parts['scheme']) && $parts['scheme'] === 'file')) { // No scheme, but there is a host. $uri .= '//' . $authority; @@ -280,3 +285,89 @@ function split($path) { return [null,null]; } + +/** + * This function is another implementation of parse_url, except this one is + * fully written in PHP. + * + * The reason is that the PHP bug team is not willing to admit that there are + * bugs in the parse_url implementation. + * + * 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 + */ +function _parse_fallback($uri) { + + // Normally a URI must be ASCII, however. However, often it's not and + // parse_url might corrupt these strings. + // + // For that reason we take any non-ascii characters from the uri and + // uriencode them first. + $uri = preg_replace_callback( + '/[^[:ascii:]]/u', + function($matches) { + return rawurlencode($matches[0]); + }, + $uri + ); + + $result = [ + 'scheme' => null, + 'host' => null, + 'port' => null, + 'user' => null, + 'path' => null, + 'fragment' => null, + 'query' => null, + ]; + + if (preg_match('% ^([A-Za-z][A-Za-z0-9+-\.]+): %x', $uri, $matches)) { + + $result['scheme'] = $matches[1]; + // Take what's left. + $uri = substr($uri, strlen($result['scheme']) + 1); + + } + + // Taking off a fragment part + if (strpos($uri, '#') !== false) { + list($uri, $result['fragment']) = explode('#', $uri, 2); + } + // Taking off the query part + if (strpos($uri, '?') !== false) { + list($uri, $result['query']) = explode('?', $uri, 2); + } + + if (substr($uri, 0, 3) === '///') { + // The triple slash uris are a bit unusual, but we have special handling + // for them. + $result['path'] = substr($uri, 2); + $result['host'] = ''; + } elseif (substr($uri, 0, 2) === '//') { + // Uris that have an authority part. + $regex = ' + %^ + // + (?: (? [^:@]+) (: (? [^@]+)) @)? + (? ( [^:/]* | \[ [^\]]+ \] )) + (?: : (? [0-9]+))? + (? / .*)? + $%x + '; + if (!preg_match($regex, $uri, $matches)) { + throw new InvalidUriException('Invalid, or could not parse URI'); + } + if ($matches['host']) $result['host'] = $matches['host']; + if ($matches['port']) $result['port'] = (int)$matches['port']; + if (isset($matches['path'])) $result['path'] = $matches['path']; + if ($matches['user']) $result['user'] = $matches['user']; + if ($matches['pass']) $result['pass'] = $matches['pass']; + } else { + $result['path'] = $uri; + } + + return $result; +} diff --git a/vendor/sabre/vobject/.travis.yml b/vendor/sabre/vobject/.travis.yml index b7266a878..3c5b32157 100644 --- a/vendor/sabre/vobject/.travis.yml +++ b/vendor/sabre/vobject/.travis.yml @@ -2,7 +2,8 @@ language: php php: - 5.5 - 5.6 - - 7 + - 7.0 + - 7.1 sudo: false diff --git a/vendor/sabre/vobject/CHANGELOG.md b/vendor/sabre/vobject/CHANGELOG.md index 4c72680f8..c8f4cb4be 100644 --- a/vendor/sabre/vobject/CHANGELOG.md +++ b/vendor/sabre/vobject/CHANGELOG.md @@ -1,6 +1,22 @@ ChangeLog ========= +4.1.2 (2016-12-15) +------------------ + +* #340: Support for `BYYEARDAY` recurrence when `FREQ=YEARLY`. (@PHPGangsta) +* #341: Support for `BYWEEKNO` recurrence when `FREQ=YEARLY`. (@PHPGangsta) +* Updated to the latest windows timezone data mappings. +* #344: Auto-detecting more Outlook 365-generated timezone identifiers. + (@jpirkey) +* #348: `FreeBusyGenerator` can now accept streams. +* Support sabre/xml 1.5 and 2.0. +* #355: Support `DateTimeInterface` in more places where only `DateTime` was + supported. (@gharlan). +* #351: Fixing an inclusive/exclusive problem with `isInTimeRange` and + `fastForward` with all-day events. (@strokyl, thanks you are brilliant). + + 4.1.1 (2016-07-15) ------------------ @@ -143,7 +159,7 @@ ChangeLog and `IntegerValue` to allow PHP 7 compatibility. -3.5.3 (????-??-??) +3.5.3 (2016-10-06) ------------------ * #331: Fix dealing with multiple overridden instances falling on the same diff --git a/vendor/sabre/vobject/bin/fetch_windows_zones.php b/vendor/sabre/vobject/bin/fetch_windows_zones.php index 1b1fdc37c..3f2a00f7a 100755 --- a/vendor/sabre/vobject/bin/fetch_windows_zones.php +++ b/vendor/sabre/vobject/bin/fetch_windows_zones.php @@ -36,7 +36,7 @@ fwrite($f, " *\n"); fwrite($f, " * Last update: " . date(DATE_W3C) . "\n"); fwrite($f, " * Source: " . $windowsZonesUrl . "\n"); fwrite($f, " *\n"); -fwrite($f, " * @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/).\n"); +fwrite($f, " * @copyright Copyright (C) fruux GmbH (https://fruux.com/).\n"); fwrite($f, " * @license http://sabre.io/license/ Modified BSD License\n"); fwrite($f, " */\n"); fwrite($f, "\n"); diff --git a/vendor/sabre/vobject/composer.json b/vendor/sabre/vobject/composer.json index bd6348a82..cfa4a712d 100644 --- a/vendor/sabre/vobject/composer.json +++ b/vendor/sabre/vobject/composer.json @@ -34,11 +34,11 @@ "require" : { "php" : ">=5.5", "ext-mbstring" : "*", - "sabre/xml" : "~1.1" + "sabre/xml" : ">=1.5 <3.0" }, "require-dev" : { "phpunit/phpunit" : "*", - "sabre/cs" : "~0.0.3" + "sabre/cs" : "^1.0.0" }, "suggest" : { diff --git a/vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php b/vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php index afa41ab1c..553912249 100644 --- a/vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php +++ b/vendor/sabre/vobject/lib/BirthdayCalendarGenerator.php @@ -159,10 +159,10 @@ class BirthdayCalendarGenerator { // Create event. $event = $calendar->add('VEVENT', [ - 'SUMMARY' => sprintf($this->format, $object->FN->getValue()), - 'DTSTART' => new \DateTime($object->BDAY->getValue()), - 'RRULE' => 'FREQ=YEARLY', - 'TRANSP' => 'TRANSPARENT', + 'SUMMARY' => sprintf($this->format, $object->FN->getValue()), + 'DTSTART' => new \DateTime($object->BDAY->getValue()), + 'RRULE' => 'FREQ=YEARLY', + 'TRANSP' => 'TRANSPARENT', ]); // add VALUE=date diff --git a/vendor/sabre/vobject/lib/Component/VAlarm.php b/vendor/sabre/vobject/lib/Component/VAlarm.php index 8cbd572e6..faa8a5e74 100644 --- a/vendor/sabre/vobject/lib/Component/VAlarm.php +++ b/vendor/sabre/vobject/lib/Component/VAlarm.php @@ -2,10 +2,10 @@ namespace Sabre\VObject\Component; +use DateTimeImmutable; +use DateTimeInterface; use Sabre\VObject; use Sabre\VObject\InvalidDataException; -use DateTimeInterface; -use DateTimeImmutable; /** * VAlarm component. diff --git a/vendor/sabre/vobject/lib/Component/VCalendar.php b/vendor/sabre/vobject/lib/Component/VCalendar.php index 988db9dc2..1b3137d38 100644 --- a/vendor/sabre/vobject/lib/Component/VCalendar.php +++ b/vendor/sabre/vobject/lib/Component/VCalendar.php @@ -6,10 +6,10 @@ use DateTimeInterface; use DateTimeZone; use Sabre\VObject; use Sabre\VObject\Component; +use Sabre\VObject\InvalidDataException; use Sabre\VObject\Property; use Sabre\VObject\Recur\EventIterator; use Sabre\VObject\Recur\NoInstancesException; -use Sabre\VObject\InvalidDataException; /** * The VCalendar component. @@ -54,21 +54,21 @@ class VCalendar extends VObject\Document { * @var array */ 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' => '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', ]; /** @@ -78,40 +78,40 @@ class VCalendar extends VObject\Document { */ 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' => 'Sabre\\VObject\\Property\\FlatText', + 'METHOD' => 'Sabre\\VObject\\Property\\FlatText', + 'PRODID' => 'Sabre\\VObject\\Property\\FlatText', + 'VERSION' => 'Sabre\\VObject\\Property\\FlatText', // 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' => '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', // 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' => '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', // 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' => 'Sabre\\VObject\\Property\\FlatText', + 'TZNAME' => 'Sabre\\VObject\\Property\\FlatText', + 'TZOFFSETFROM' => 'Sabre\\VObject\\Property\\UtcOffset', + 'TZOFFSETTO' => 'Sabre\\VObject\\Property\\UtcOffset', + 'TZURL' => 'Sabre\\VObject\\Property\\Uri', // Relationship Component Properties 'ATTENDEE' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress', @@ -123,15 +123,15 @@ class VCalendar extends VObject\Document { 'UID' => 'Sabre\\VObject\\Property\\FlatText', // 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' => '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 // Alarm Component Properties - 'ACTION' => 'Sabre\\VObject\\Property\\FlatText', - 'REPEAT' => 'Sabre\\VObject\\Property\\IntegerValue', - 'TRIGGER' => 'Sabre\\VObject\\Property\\ICalendar\\Duration', + 'ACTION' => 'Sabre\\VObject\\Property\\FlatText', + 'REPEAT' => 'Sabre\\VObject\\Property\\IntegerValue', + 'TRIGGER' => 'Sabre\\VObject\\Property\\ICalendar\\Duration', // Change Management Component Properties 'CREATED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime', @@ -143,13 +143,13 @@ class VCalendar extends VObject\Document { 'REQUEST-STATUS' => 'Sabre\\VObject\\Property\\Text', // 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' => 'Sabre\\VObject\\Property\\Text', + 'ACKNOWLEDGED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime', + 'PROXIMITY' => 'Sabre\\VObject\\Property\\Text', + 'DEFAULT-ALARM' => 'Sabre\\VObject\\Property\\Boolean', // Additions from draft-daboo-calendar-availability-05 - 'BUSYTYPE' => 'Sabre\\VObject\\Property\\Text', + 'BUSYTYPE' => 'Sabre\\VObject\\Property\\Text', ]; diff --git a/vendor/sabre/vobject/lib/Component/VCard.php b/vendor/sabre/vobject/lib/Component/VCard.php index 3c05191a9..4f620de10 100644 --- a/vendor/sabre/vobject/lib/Component/VCard.php +++ b/vendor/sabre/vobject/lib/Component/VCard.php @@ -74,19 +74,19 @@ class VCard extends VObject\Document { 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' => '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', // 'AGENT' => 'Sabre\\VObject\\Property\\', // Todo: is an embedded vCard. Probably rare, so // not supported at the moment 'ORG' => 'Sabre\\VObject\\Property\\Text', @@ -107,13 +107,13 @@ class VCard extends VObject\Document { 'CLASS' => 'Sabre\\VObject\\Property\\FlatText', // 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' => 'Sabre\\VObject\\Property\\Uri', + 'CAPURI' => 'Sabre\\VObject\\Property\\Uri', + 'CALURI' => 'Sabre\\VObject\\Property\\Uri', + 'CALADRURI' => 'Sabre\\VObject\\Property\\Uri', // rfc4770 properties - 'IMPP' => 'Sabre\\VObject\\Property\\Uri', + 'IMPP' => 'Sabre\\VObject\\Property\\Uri', // vCard 4.0 properties 'SOURCE' => 'Sabre\\VObject\\Property\\Uri', @@ -127,9 +127,9 @@ class VCard extends VObject\Document { 'RELATED' => 'Sabre\\VObject\\Property\\Uri', // rfc6474 properties - 'BIRTHPLACE' => 'Sabre\\VObject\\Property\\FlatText', - 'DEATHPLACE' => 'Sabre\\VObject\\Property\\FlatText', - 'DEATHDATE' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime', + 'BIRTHPLACE' => 'Sabre\\VObject\\Property\\FlatText', + 'DEATHPLACE' => 'Sabre\\VObject\\Property\\FlatText', + 'DEATHDATE' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime', // rfc6715 properties 'EXPERTISE' => 'Sabre\\VObject\\Property\\FlatText', @@ -368,7 +368,7 @@ class VCard extends VObject\Document { // FN is commented out, because it's already handled by the // validate function, which may also try to repair it. // 'FN' => '+', - 'UID' => '?', + 'UID' => '?', ]; } diff --git a/vendor/sabre/vobject/lib/DateTimeParser.php b/vendor/sabre/vobject/lib/DateTimeParser.php index 443bbb660..f9a802d25 100644 --- a/vendor/sabre/vobject/lib/DateTimeParser.php +++ b/vendor/sabre/vobject/lib/DateTimeParser.php @@ -2,9 +2,9 @@ namespace Sabre\VObject; +use DateInterval; use DateTimeImmutable; use DateTimeZone; -use DateInterval; /** * DateTimeParser. @@ -509,7 +509,7 @@ class DateTimeParser { static function parseVCardDateAndOrTime($date) { // \d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d - $valueDate = '/^(?J)(?:' . + $valueDate = '/^(?J)(?:' . '(?\d{4})(?\d\d)(?\d\d)' . '|(?\d{4})-(?\d\d)' . '|--(?\d\d)(?\d\d)?' . @@ -517,7 +517,7 @@ class DateTimeParser { ')$/'; // (\d\d(\d\d(\d\d)?)?|-\d\d(\d\d)?|--\d\d)(Z|[+\-]\d\d(\d\d)?)? - $valueTime = '/^(?J)(?:' . + $valueTime = '/^(?J)(?:' . '((?\d\d)((?\d\d)(?\d\d)?)?' . '|-(?\d\d)(?\d\d)?' . '|--(?\d\d))' . @@ -554,12 +554,12 @@ class DateTimeParser { ]; // The $valueDateTime expression has a bug with (?J) so we simulate it. - $parts['date0'] = &$parts['date']; - $parts['date1'] = &$parts['date']; - $parts['date2'] = &$parts['date']; + $parts['date0'] = &$parts['date']; + $parts['date1'] = &$parts['date']; + $parts['date2'] = &$parts['date']; $parts['month0'] = &$parts['month']; $parts['month1'] = &$parts['month']; - $parts['year0'] = &$parts['year']; + $parts['year0'] = &$parts['year']; foreach ($parts as $part => &$value) { if (!empty($matches[$part])) { diff --git a/vendor/sabre/vobject/lib/FreeBusyGenerator.php b/vendor/sabre/vobject/lib/FreeBusyGenerator.php index e33621090..e30b136c4 100644 --- a/vendor/sabre/vobject/lib/FreeBusyGenerator.php +++ b/vendor/sabre/vobject/lib/FreeBusyGenerator.php @@ -2,8 +2,8 @@ namespace Sabre\VObject; -use DateTimeInterface; use DateTimeImmutable; +use DateTimeInterface; use DateTimeZone; use Sabre\VObject\Component\VCalendar; use Sabre\VObject\Recur\EventIterator; @@ -152,7 +152,7 @@ class FreeBusyGenerator { $this->objects = []; foreach ($objects as $object) { - if (is_string($object)) { + if (is_string($object) || is_resource($object)) { $this->objects[] = Reader::read($object); } elseif ($object instanceof Component) { $this->objects[] = $object; @@ -292,7 +292,7 @@ class FreeBusyGenerator { list($higherStart, $higherEnd) = $higherVavail->getEffectiveStartEnd(); if ( (is_null($higherStart) || $higherStart < $compStart) && - (is_null($higherEnd) || $higherEnd > $compEnd) + (is_null($higherEnd) || $higherEnd > $compEnd) ) { // Component is fully covered by a higher priority diff --git a/vendor/sabre/vobject/lib/Parameter.php b/vendor/sabre/vobject/lib/Parameter.php index 270643eab..a99a33eec 100644 --- a/vendor/sabre/vobject/lib/Parameter.php +++ b/vendor/sabre/vobject/lib/Parameter.php @@ -2,8 +2,8 @@ namespace Sabre\VObject; -use Sabre\Xml; use ArrayIterator; +use Sabre\Xml; /** * VObject Parameter. diff --git a/vendor/sabre/vobject/lib/Parser/Json.php b/vendor/sabre/vobject/lib/Parser/Json.php index 370c981a8..a77258a2e 100644 --- a/vendor/sabre/vobject/lib/Parser/Json.php +++ b/vendor/sabre/vobject/lib/Parser/Json.php @@ -4,8 +4,8 @@ namespace Sabre\VObject\Parser; use Sabre\VObject\Component\VCalendar; use Sabre\VObject\Component\VCard; -use Sabre\VObject\ParseException; use Sabre\VObject\EofException; +use Sabre\VObject\ParseException; /** * Json Parser. diff --git a/vendor/sabre/vobject/lib/Parser/MimeDir.php b/vendor/sabre/vobject/lib/Parser/MimeDir.php index 6a7f9317b..fa75a1a3b 100644 --- a/vendor/sabre/vobject/lib/Parser/MimeDir.php +++ b/vendor/sabre/vobject/lib/Parser/MimeDir.php @@ -2,12 +2,12 @@ namespace Sabre\VObject\Parser; -use Sabre\VObject\ParseException; -use Sabre\VObject\EofException; use Sabre\VObject\Component; use Sabre\VObject\Component\VCalendar; use Sabre\VObject\Component\VCard; use Sabre\VObject\Document; +use Sabre\VObject\EofException; +use Sabre\VObject\ParseException; /** * MimeDir parser. diff --git a/vendor/sabre/vobject/lib/Parser/XML.php b/vendor/sabre/vobject/lib/Parser/XML.php index 060a7fe2e..5ac423984 100644 --- a/vendor/sabre/vobject/lib/Parser/XML.php +++ b/vendor/sabre/vobject/lib/Parser/XML.php @@ -20,7 +20,7 @@ use Sabre\Xml as SabreXml; */ class XML extends Parser { - const XCAL_NAMESPACE = 'urn:ietf:params:xml:ns:icalendar-2.0'; + const XCAL_NAMESPACE = 'urn:ietf:params:xml:ns:icalendar-2.0'; const XCARD_NAMESPACE = 'urn:ietf:params:xml:ns:vcard-4.0'; /** @@ -100,7 +100,7 @@ class XML extends Parser { foreach ($this->input['value'] as &$vCard) { $this->root = new VCard(['version' => '4.0'], false); - $this->pointer = &$vCard; + $this->pointer = &$vCard; $this->parseVCardComponents($this->root); // We just parse the first element. @@ -172,10 +172,10 @@ class XML extends Parser { list($namespace, $tagName) = SabreXml\Service::parseClarkNotation($xmlProperty['name']); - $propertyName = $tagName; - $propertyValue = []; + $propertyName = $tagName; + $propertyValue = []; $propertyParameters = []; - $propertyType = 'text'; + $propertyType = 'text'; // A property which is not part of the standard. if ($namespace !== self::XCAL_NAMESPACE @@ -253,8 +253,8 @@ class XML extends Parser { switch ($propertyNameExtended) { case 'xcal:geo': - $propertyType = 'float'; - $propertyValue['latitude'] = 0; + $propertyType = 'float'; + $propertyValue['latitude'] = 0; $propertyValue['longitude'] = 0; foreach ($xmlProperty['value'] as $xmlRequestChild) { @@ -296,7 +296,7 @@ class XML extends Parser { if ('period' === $tagName) { $propertyParameters['value'] = 'PERIOD'; - $propertyValue[] = implode('/', $specialChild['value']); + $propertyValue[] = implode('/', $specialChild['value']); } else { @@ -306,7 +306,7 @@ class XML extends Parser { break; default: - $propertyType = static::getTagName($xmlProperty['value'][0]['name']); + $propertyType = static::getTagName($xmlProperty['value'][0]['name']); foreach ($xmlProperty['value'] as $value) { $propertyValue[] = $value['value']; @@ -343,7 +343,7 @@ class XML extends Parser { foreach ($components as $component) { - $componentName = static::getTagName($component['name']); + $componentName = static::getTagName($component['name']); $currentComponent = $this->root->createComponent( $componentName, null, @@ -404,7 +404,7 @@ class XML extends Parser { $reader->elementMap['{' . self::XCAL_NAMESPACE . '}recur'] = 'Sabre\VObject\Parser\XML\Element\KeyValue'; $reader->xml($input); - $input = $reader->parse(); + $input = $reader->parse(); } diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php b/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php index 66d366960..7b7e1ce8e 100644 --- a/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php +++ b/vendor/sabre/vobject/lib/Property/ICalendar/Duration.php @@ -2,8 +2,8 @@ namespace Sabre\VObject\Property\ICalendar; -use Sabre\VObject\Property; use Sabre\VObject\DateTimeParser; +use Sabre\VObject\Property; /** * Duration property. diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php index a4561d929..d35b425aa 100644 --- a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php +++ b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php @@ -2,8 +2,8 @@ namespace Sabre\VObject\Property\ICalendar; -use Sabre\VObject\Property; use Sabre\VObject\DateTimeParser; +use Sabre\VObject\Property; use Sabre\Xml; /** diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php index 8392a5cc1..434b77088 100644 --- a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php +++ b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php @@ -287,6 +287,54 @@ class Recur extends Property { } } } + // if there is no valid entry left, remove the whole value + if (is_array($value) && empty($values[$key])) { + unset($values[$key]); + } + } elseif ($key == 'BYWEEKNO') { + $byWeekNo = (array)$value; + foreach ($byWeekNo as $i => $v) { + if (!is_numeric($v) || (int)$v < -53 || (int)$v == 0 || (int)$v > 53) { + $warnings[] = [ + 'level' => $repair ? 1 : 3, + 'message' => 'BYWEEKNO in RRULE must have value(s) from -53 to -1, or 1 to 53!', + 'node' => $this + ]; + if ($repair) { + if (is_array($value)) { + unset($values[$key][$i]); + } else { + unset($values[$key]); + } + } + } + } + // if there is no valid entry left, remove the whole value + if (is_array($value) && empty($values[$key])) { + unset($values[$key]); + } + } elseif ($key == 'BYYEARDAY') { + $byYearDay = (array)$value; + foreach ($byYearDay as $i => $v) { + if (!is_numeric($v) || (int)$v < -366 || (int)$v == 0 || (int)$v > 366) { + $warnings[] = [ + 'level' => $repair ? 1 : 3, + 'message' => 'BYYEARDAY in RRULE must have value(s) from -366 to -1, or 1 to 366!', + 'node' => $this + ]; + if ($repair) { + if (is_array($value)) { + unset($values[$key][$i]); + } else { + unset($values[$key]); + } + } + } + } + // if there is no valid entry left, remove the whole value + if (is_array($value) && empty($values[$key])) { + unset($values[$key]); + } } } diff --git a/vendor/sabre/vobject/lib/Property/Text.php b/vendor/sabre/vobject/lib/Property/Text.php index abc17563f..476dcde4d 100644 --- a/vendor/sabre/vobject/lib/Property/Text.php +++ b/vendor/sabre/vobject/lib/Property/Text.php @@ -2,10 +2,10 @@ namespace Sabre\VObject\Property; -use Sabre\VObject\Property; use Sabre\VObject\Component; -use Sabre\VObject\Parser\MimeDir; use Sabre\VObject\Document; +use Sabre\VObject\Parser\MimeDir; +use Sabre\VObject\Property; use Sabre\Xml; /** diff --git a/vendor/sabre/vobject/lib/Property/Uri.php b/vendor/sabre/vobject/lib/Property/Uri.php index 58e676e60..88fcfaab8 100644 --- a/vendor/sabre/vobject/lib/Property/Uri.php +++ b/vendor/sabre/vobject/lib/Property/Uri.php @@ -2,8 +2,8 @@ namespace Sabre\VObject\Property; -use Sabre\VObject\Property; use Sabre\VObject\Parameter; +use Sabre\VObject\Property; /** * URI property. diff --git a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php index 650e19cbf..3b4ae3bb5 100644 --- a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php +++ b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php @@ -2,9 +2,9 @@ namespace Sabre\VObject\Property\VCard; -use DateTimeInterface; -use DateTimeImmutable; use DateTime; +use DateTimeImmutable; +use DateTimeInterface; use Sabre\VObject\DateTimeParser; use Sabre\VObject\InvalidDataException; use Sabre\VObject\Property; @@ -45,7 +45,7 @@ class DateAndOrTime extends Property { /** * Sets a multi-valued property. * - * You may also specify DateTime objects here. + * You may also specify DateTimeInterface objects here. * * @param array $parts * @@ -56,7 +56,7 @@ class DateAndOrTime extends Property { if (count($parts) > 1) { throw new \InvalidArgumentException('Only one value allowed'); } - if (isset($parts[0]) && $parts[0] instanceof \DateTime) { + if (isset($parts[0]) && $parts[0] instanceof DateTimeInterface) { $this->setDateTime($parts[0]); } else { parent::setParts($parts); @@ -69,15 +69,15 @@ class DateAndOrTime extends Property { * * This may be either a single, or multiple strings in an array. * - * Instead of strings, you may also use DateTime here. + * Instead of strings, you may also use DateTimeInterface here. * - * @param string|array|\DateTime $value + * @param string|array|DateTimeInterface $value * * @return void */ function setValue($value) { - if ($value instanceof \DateTime) { + if ($value instanceof DateTimeInterface) { $this->setDateTime($value); } else { parent::setValue($value); @@ -261,8 +261,8 @@ class DateAndOrTime extends Property { protected function xmlSerializeValue(Xml\Writer $writer) { $valueType = strtolower($this->getValueType()); - $parts = DateTimeParser::parseVCardDateAndOrTime($this->getValue()); - $value = ''; + $parts = DateTimeParser::parseVCardDateAndOrTime($this->getValue()); + $value = ''; // $d = defined $d = function($part) use ($parts) { @@ -280,7 +280,7 @@ class DateAndOrTime extends Property { // value-date = element date { // xsd:string { pattern = "\d{8}|\d{4}-\d\d|--\d\d(\d\d)?|---\d\d" } // } - if (($d('year') || $d('month') || $d('date')) + if (($d('year') || $d('month') || $d('date')) && (!$d('hour') && !$d('minute') && !$d('second') && !$d('timezone'))) { if ($d('year') && $d('month') && $d('date')) { @@ -298,8 +298,8 @@ class DateAndOrTime extends Property { // xsd:string { pattern = "(\d\d(\d\d(\d\d)?)?|-\d\d(\d\d?)|--\d\d)" // ~ "(Z|[+\-]\d\d(\d\d)?)?" } // } - } elseif ((!$d('year') && !$d('month') && !$d('date')) - && ($d('hour') || $d('minute') || $d('second'))) { + } elseif ((!$d('year') && !$d('month') && !$d('date')) + && ($d('hour') || $d('minute') || $d('second'))) { if ($d('hour')) { $value .= $r('hour') . $r('minute') . $r('second'); diff --git a/vendor/sabre/vobject/lib/Recur/EventIterator.php b/vendor/sabre/vobject/lib/Recur/EventIterator.php index f91c336bc..d313305a0 100644 --- a/vendor/sabre/vobject/lib/Recur/EventIterator.php +++ b/vendor/sabre/vobject/lib/Recur/EventIterator.php @@ -2,9 +2,9 @@ namespace Sabre\VObject\Recur; -use DateTimeZone; use DateTimeImmutable; use DateTimeInterface; +use DateTimeZone; use InvalidArgumentException; use Sabre\VObject\Component; use Sabre\VObject\Component\VEvent; @@ -43,6 +43,8 @@ use Sabre\VObject\Settings; * * BYSETPOS * * FREQ=YEARLY * * BYMONTH + * * BYYEARDAY + * * BYWEEKNO * * BYMONTHDAY (only if BYMONTH is also set) * * BYDAY (only if BYMONTH is also set) * @@ -407,7 +409,7 @@ class EventIterator implements \Iterator { */ function fastForward(DateTimeInterface $dateTime) { - while ($this->valid() && $this->getDtEnd() < $dateTime) { + while ($this->valid() && $this->getDtEnd() <= $dateTime) { $this->next(); } diff --git a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php index 4c89f3ce4..20f34ef42 100644 --- a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php +++ b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php @@ -2,8 +2,8 @@ namespace Sabre\VObject\Recur; -use DateTimeInterface; use DateTimeImmutable; +use DateTimeInterface; use Iterator; use Sabre\VObject\DateTimeParser; use Sabre\VObject\InvalidDataException; @@ -374,8 +374,8 @@ class RRuleIterator implements Iterator { $currentHour = $this->currentDate->format('G'); } while ( - ($this->byDay && !in_array($currentDay, $recurrenceDays)) || - ($this->byHour && !in_array($currentHour, $recurrenceHours)) || + ($this->byDay && !in_array($currentDay, $recurrenceDays)) || + ($this->byHour && !in_array($currentHour, $recurrenceHours)) || ($this->byMonth && !in_array($currentMonth, $recurrenceMonths)) ); @@ -537,6 +537,83 @@ class RRuleIterator implements Iterator { } + if ($this->byWeekNo !== null) { // byWeekNo is an array with values from -53 to -1, or 1 to 53 + $dayOffsets = []; + if ($this->byDay) { + foreach ($this->byDay as $byDay) { + $dayOffsets[] = $this->dayMap[$byDay]; + } + } else { // default is Monday + $dayOffsets[] = 1; + } + + $currentYear = $this->currentDate->format('Y'); + + while (true) { + $checkDates = []; + + // loop through all WeekNo and Days to check all the combinations + foreach ($this->byWeekNo as $byWeekNo) { + foreach ($dayOffsets as $dayOffset) { + $date = clone $this->currentDate; + $date->setISODate($currentYear, $byWeekNo, $dayOffset); + + if ($date > $this->currentDate) { + $checkDates[] = $date; + } + } + } + + if (count($checkDates) > 0) { + $this->currentDate = min($checkDates); + return; + } + + // if there is no date found, check the next year + $currentYear += $this->interval; + } + } + + if ($this->byYearDay !== null) { // byYearDay is an array with values from -366 to -1, or 1 to 366 + $dayOffsets = []; + if ($this->byDay) { + foreach ($this->byDay as $byDay) { + $dayOffsets[] = $this->dayMap[$byDay]; + } + } else { // default is Monday-Sunday + $dayOffsets = [1,2,3,4,5,6,7]; + } + + $currentYear = $this->currentDate->format('Y'); + + while (true) { + $checkDates = []; + + // loop through all YearDay and Days to check all the combinations + foreach ($this->byYearDay as $byYearDay) { + $date = clone $this->currentDate; + $date->setDate($currentYear, 1, 1); + if ($byYearDay > 0) { + $date->add(new \DateInterval('P' . $byYearDay . 'D')); + } else { + $date->sub(new \DateInterval('P' . abs($byYearDay) . 'D')); + } + + if ($date > $this->currentDate && in_array($date->format('N'), $dayOffsets)) { + $checkDates[] = $date; + } + } + + if (count($checkDates) > 0) { + $this->currentDate = min($checkDates); + return; + } + + // if there is no date found, check the next year + $currentYear += $this->interval; + } + } + // The easiest form $this->currentDate = $this->currentDate->modify('+' . $this->interval . ' years'); return; @@ -710,10 +787,20 @@ class RRuleIterator implements Iterator { case 'BYYEARDAY' : $this->byYearDay = (array)$value; + foreach ($this->byYearDay as $byYearDay) { + if (!is_numeric($byYearDay) || (int)$byYearDay < -366 || (int)$byYearDay == 0 || (int)$byYearDay > 366) { + throw new InvalidDataException('BYYEARDAY in RRULE must have value(s) from 1 to 366, or -366 to -1!'); + } + } break; case 'BYWEEKNO' : $this->byWeekNo = (array)$value; + foreach ($this->byWeekNo as $byWeekNo) { + if (!is_numeric($byWeekNo) || (int)$byWeekNo < -53 || (int)$byWeekNo == 0 || (int)$byWeekNo > 53) { + throw new InvalidDataException('BYWEEKNO in RRULE must have value(s) from 1 to 53, or -53 to -1!'); + } + } break; case 'BYMONTH' : diff --git a/vendor/sabre/vobject/lib/TimeZoneUtil.php b/vendor/sabre/vobject/lib/TimeZoneUtil.php index 2a95ae898..925183e8d 100644 --- a/vendor/sabre/vobject/lib/TimeZoneUtil.php +++ b/vendor/sabre/vobject/lib/TimeZoneUtil.php @@ -165,6 +165,16 @@ class TimeZoneUtil { return new \DateTimeZone(self::$map[$tzid]); } + // Some Microsoft products prefix the offset first, so let's strip that off + // and see if it is our tzid map. We don't want to check for this first just + // in case there are overrides in our tzid map. + if (preg_match('/^\((UTC|GMT)(\+|\-)[\d]{2}\:[\d]{2}\) (.*)/', $tzid, $matches)) { + $tzidAlternate = $matches[3]; + if (isset(self::$map[$tzidAlternate])) { + return new \DateTimeZone(self::$map[$tzidAlternate]); + } + } + // Maybe the author was hyper-lazy and just included an offset. We // support it, but we aren't happy about it. if (preg_match('/^GMT(\+|-)([0-9]{4})$/', $tzid, $matches)) { diff --git a/vendor/sabre/vobject/lib/Version.php b/vendor/sabre/vobject/lib/Version.php index ca9f21960..346e2044d 100644 --- a/vendor/sabre/vobject/lib/Version.php +++ b/vendor/sabre/vobject/lib/Version.php @@ -14,6 +14,6 @@ class Version { /** * Full version number. */ - const VERSION = '4.1.1'; + const VERSION = '4.1.2'; } diff --git a/vendor/sabre/vobject/lib/timezonedata/lotuszones.php b/vendor/sabre/vobject/lib/timezonedata/lotuszones.php index 7d0785f04..79d555a92 100644 --- a/vendor/sabre/vobject/lib/timezonedata/lotuszones.php +++ b/vendor/sabre/vobject/lib/timezonedata/lotuszones.php @@ -17,85 +17,85 @@ return [ 'Mexico Standard Time 2' => 'America/Chihuahua', 'Mountain' => 'America/Denver', // 'Mountain Standard Time' => 'America/Chihuahua', // conflict with windows timezones. - 'US Mountain' => 'America/Phoenix', - 'Canada Central' => 'America/Edmonton', - 'Central America' => 'America/Guatemala', - 'Central' => 'America/Chicago', + 'US Mountain' => 'America/Phoenix', + 'Canada Central' => 'America/Edmonton', + 'Central America' => 'America/Guatemala', + 'Central' => 'America/Chicago', // 'Central Standard Time' => 'America/Mexico_City', // conflict with windows timezones. - 'Mexico' => 'America/Mexico_City', - 'Eastern' => 'America/New_York', - 'SA Pacific' => 'America/Bogota', - 'US Eastern' => 'America/Indiana/Indianapolis', - 'Venezuela' => 'America/Caracas', - 'Atlantic' => 'America/Halifax', - 'Central Brazilian' => 'America/Manaus', - 'Pacific SA' => 'America/Santiago', - 'SA Western' => 'America/La_Paz', - 'Newfoundland' => 'America/St_Johns', - 'Argentina' => 'America/Argentina/Buenos_Aires', - 'E. South America' => 'America/Belem', - 'Greenland' => 'America/Godthab', - 'Montevideo' => 'America/Montevideo', - 'SA Eastern' => 'America/Belem', + 'Mexico' => 'America/Mexico_City', + 'Eastern' => 'America/New_York', + 'SA Pacific' => 'America/Bogota', + 'US Eastern' => 'America/Indiana/Indianapolis', + 'Venezuela' => 'America/Caracas', + 'Atlantic' => 'America/Halifax', + 'Central Brazilian' => 'America/Manaus', + 'Pacific SA' => 'America/Santiago', + 'SA Western' => 'America/La_Paz', + 'Newfoundland' => 'America/St_Johns', + 'Argentina' => 'America/Argentina/Buenos_Aires', + 'E. South America' => 'America/Belem', + 'Greenland' => 'America/Godthab', + 'Montevideo' => 'America/Montevideo', + 'SA Eastern' => 'America/Belem', // 'Mid-Atlantic' => 'Etc/GMT-2', // conflict with windows timezones. - 'Azores' => 'Atlantic/Azores', - 'Cape Verde' => 'Atlantic/Cape_Verde', - 'Greenwich' => 'Atlantic/Reykjavik', // No I'm serious.. Greenwich is not GMT. - 'Morocco' => 'Africa/Casablanca', - 'Central Europe' => 'Europe/Prague', - 'Central European' => 'Europe/Sarajevo', - 'Romance' => 'Europe/Paris', - 'W. Central Africa' => 'Africa/Lagos', // Best guess - 'W. Europe' => 'Europe/Amsterdam', - 'E. Europe' => 'Europe/Minsk', - 'Egypt' => 'Africa/Cairo', - 'FLE' => 'Europe/Helsinki', - 'GTB' => 'Europe/Athens', - 'Israel' => 'Asia/Jerusalem', - 'Jordan' => 'Asia/Amman', - 'Middle East' => 'Asia/Beirut', - 'Namibia' => 'Africa/Windhoek', - 'South Africa' => 'Africa/Harare', - 'Arab' => 'Asia/Kuwait', - 'Arabic' => 'Asia/Baghdad', - 'E. Africa' => 'Africa/Nairobi', - 'Georgian' => 'Asia/Tbilisi', - 'Russian' => 'Europe/Moscow', - 'Iran' => 'Asia/Tehran', - 'Arabian' => 'Asia/Muscat', - 'Armenian' => 'Asia/Yerevan', - 'Azerbijan' => 'Asia/Baku', - 'Caucasus' => 'Asia/Yerevan', - 'Mauritius' => 'Indian/Mauritius', - 'Afghanistan' => 'Asia/Kabul', - 'Ekaterinburg' => 'Asia/Yekaterinburg', - 'Pakistan' => 'Asia/Karachi', - 'West Asia' => 'Asia/Tashkent', - 'India' => 'Asia/Calcutta', - 'Sri Lanka' => 'Asia/Colombo', - 'Nepal' => 'Asia/Kathmandu', - 'Central Asia' => 'Asia/Dhaka', - 'N. Central Asia' => 'Asia/Almaty', - 'Myanmar' => 'Asia/Rangoon', - 'North Asia' => 'Asia/Krasnoyarsk', - 'SE Asia' => 'Asia/Bangkok', - 'China' => 'Asia/Shanghai', - 'North Asia East' => 'Asia/Irkutsk', - 'Singapore' => 'Asia/Singapore', - 'Taipei' => 'Asia/Taipei', - 'W. Australia' => 'Australia/Perth', - 'Korea' => 'Asia/Seoul', - 'Tokyo' => 'Asia/Tokyo', - 'Yakutsk' => 'Asia/Yakutsk', - 'AUS Central' => 'Australia/Darwin', - 'Cen. Australia' => 'Australia/Adelaide', - 'AUS Eastern' => 'Australia/Sydney', - 'E. Australia' => 'Australia/Brisbane', - 'Tasmania' => 'Australia/Hobart', - 'Vladivostok' => 'Asia/Vladivostok', - 'West Pacific' => 'Pacific/Guam', - 'Central Pacific' => 'Asia/Magadan', - 'Fiji' => 'Pacific/Fiji', - 'New Zealand' => 'Pacific/Auckland', - 'Tonga' => 'Pacific/Tongatapu', + 'Azores' => 'Atlantic/Azores', + 'Cape Verde' => 'Atlantic/Cape_Verde', + 'Greenwich' => 'Atlantic/Reykjavik', // No I'm serious.. Greenwich is not GMT. + 'Morocco' => 'Africa/Casablanca', + 'Central Europe' => 'Europe/Prague', + 'Central European' => 'Europe/Sarajevo', + 'Romance' => 'Europe/Paris', + 'W. Central Africa' => 'Africa/Lagos', // Best guess + 'W. Europe' => 'Europe/Amsterdam', + 'E. Europe' => 'Europe/Minsk', + 'Egypt' => 'Africa/Cairo', + 'FLE' => 'Europe/Helsinki', + 'GTB' => 'Europe/Athens', + 'Israel' => 'Asia/Jerusalem', + 'Jordan' => 'Asia/Amman', + 'Middle East' => 'Asia/Beirut', + 'Namibia' => 'Africa/Windhoek', + 'South Africa' => 'Africa/Harare', + 'Arab' => 'Asia/Kuwait', + 'Arabic' => 'Asia/Baghdad', + 'E. Africa' => 'Africa/Nairobi', + 'Georgian' => 'Asia/Tbilisi', + 'Russian' => 'Europe/Moscow', + 'Iran' => 'Asia/Tehran', + 'Arabian' => 'Asia/Muscat', + 'Armenian' => 'Asia/Yerevan', + 'Azerbijan' => 'Asia/Baku', + 'Caucasus' => 'Asia/Yerevan', + 'Mauritius' => 'Indian/Mauritius', + 'Afghanistan' => 'Asia/Kabul', + 'Ekaterinburg' => 'Asia/Yekaterinburg', + 'Pakistan' => 'Asia/Karachi', + 'West Asia' => 'Asia/Tashkent', + 'India' => 'Asia/Calcutta', + 'Sri Lanka' => 'Asia/Colombo', + 'Nepal' => 'Asia/Kathmandu', + 'Central Asia' => 'Asia/Dhaka', + 'N. Central Asia' => 'Asia/Almaty', + 'Myanmar' => 'Asia/Rangoon', + 'North Asia' => 'Asia/Krasnoyarsk', + 'SE Asia' => 'Asia/Bangkok', + 'China' => 'Asia/Shanghai', + 'North Asia East' => 'Asia/Irkutsk', + 'Singapore' => 'Asia/Singapore', + 'Taipei' => 'Asia/Taipei', + 'W. Australia' => 'Australia/Perth', + 'Korea' => 'Asia/Seoul', + 'Tokyo' => 'Asia/Tokyo', + 'Yakutsk' => 'Asia/Yakutsk', + 'AUS Central' => 'Australia/Darwin', + 'Cen. Australia' => 'Australia/Adelaide', + 'AUS Eastern' => 'Australia/Sydney', + 'E. Australia' => 'Australia/Brisbane', + 'Tasmania' => 'Australia/Hobart', + 'Vladivostok' => 'Asia/Vladivostok', + 'West Pacific' => 'Pacific/Guam', + 'Central Pacific' => 'Asia/Magadan', + 'Fiji' => 'Pacific/Fiji', + 'New Zealand' => 'Pacific/Auckland', + 'Tonga' => 'Pacific/Tongatapu', ]; diff --git a/vendor/sabre/vobject/lib/timezonedata/windowszones.php b/vendor/sabre/vobject/lib/timezonedata/windowszones.php index ac69847cc..29f3a6cb8 100644 --- a/vendor/sabre/vobject/lib/timezonedata/windowszones.php +++ b/vendor/sabre/vobject/lib/timezonedata/windowszones.php @@ -3,28 +3,33 @@ /** * Automatically generated timezone file * - * Last update: 2015-07-27T16:56:36-04:00 + * Last update: 2016-08-24T17:35:38-04:00 * Source: http://unicode.org/repos/cldr/trunk/common/supplemental/windowsZones.xml * - * @copyright Copyright (C) fruux GmbH (https://fruux.com/) + * @copyright Copyright (C) 2011-2015 fruux GmbH (https://fruux.com/). * @license http://sabre.io/license/ Modified BSD License */ -return [ +return [ 'AUS Central Standard Time' => 'Australia/Darwin', 'AUS Eastern Standard Time' => 'Australia/Sydney', 'Afghanistan Standard Time' => 'Asia/Kabul', 'Alaskan Standard Time' => 'America/Anchorage', + 'Aleutian Standard Time' => 'America/Adak', + 'Altai Standard Time' => 'Asia/Barnaul', 'Arab Standard Time' => 'Asia/Riyadh', 'Arabian Standard Time' => 'Asia/Dubai', 'Arabic Standard Time' => 'Asia/Baghdad', 'Argentina Standard Time' => 'America/Buenos_Aires', + 'Astrakhan Standard Time' => 'Europe/Astrakhan', 'Atlantic Standard Time' => 'America/Halifax', + 'Aus Central W. Standard Time' => 'Australia/Eucla', 'Azerbaijan Standard Time' => 'Asia/Baku', 'Azores Standard Time' => 'Atlantic/Azores', 'Bahia Standard Time' => 'America/Bahia', 'Bangladesh Standard Time' => 'Asia/Dhaka', 'Belarus Standard Time' => 'Europe/Minsk', + 'Bougainville Standard Time' => 'Pacific/Bougainville', 'Canada Central Standard Time' => 'America/Regina', 'Cape Verde Standard Time' => 'Atlantic/Cape_Verde', 'Caucasus Standard Time' => 'Asia/Yerevan', @@ -37,11 +42,15 @@ return [ 'Central Pacific Standard Time' => 'Pacific/Guadalcanal', 'Central Standard Time' => 'America/Chicago', 'Central Standard Time (Mexico)' => 'America/Mexico_City', + 'Chatham Islands Standard Time' => 'Pacific/Chatham', 'China Standard Time' => 'Asia/Shanghai', + 'Cuba Standard Time' => 'America/Havana', 'Dateline Standard Time' => 'Etc/GMT+12', 'E. Africa Standard Time' => 'Africa/Nairobi', 'E. Australia Standard Time' => 'Australia/Brisbane', + 'E. Europe Standard Time' => 'Europe/Chisinau', 'E. South America Standard Time' => 'America/Sao_Paulo', + 'Easter Island Standard Time' => 'Pacific/Easter', 'Eastern Standard Time' => 'America/New_York', 'Eastern Standard Time (Mexico)' => 'America/Cancun', 'Egypt Standard Time' => 'Africa/Cairo', @@ -53,6 +62,7 @@ return [ 'Georgian Standard Time' => 'Asia/Tbilisi', 'Greenland Standard Time' => 'America/Godthab', 'Greenwich Standard Time' => 'Atlantic/Reykjavik', + 'Haiti Standard Time' => 'America/Port-au-Prince', 'Hawaiian Standard Time' => 'Pacific/Honolulu', 'India Standard Time' => 'Asia/Calcutta', 'Iran Standard Time' => 'Asia/Tehran', @@ -62,7 +72,9 @@ return [ 'Korea Standard Time' => 'Asia/Seoul', 'Libya Standard Time' => 'Africa/Tripoli', 'Line Islands Standard Time' => 'Pacific/Kiritimati', + 'Lord Howe Standard Time' => 'Australia/Lord_Howe', 'Magadan Standard Time' => 'Asia/Magadan', + 'Marquesas Standard Time' => 'Pacific/Marquesas', 'Mauritius Standard Time' => 'Indian/Mauritius', 'Middle East Standard Time' => 'Asia/Beirut', 'Montevideo Standard Time' => 'America/Montevideo', @@ -75,11 +87,13 @@ return [ 'Nepal Standard Time' => 'Asia/Katmandu', 'New Zealand Standard Time' => 'Pacific/Auckland', 'Newfoundland Standard Time' => 'America/St_Johns', + 'Norfolk Standard Time' => 'Pacific/Norfolk', 'North Asia East Standard Time' => 'Asia/Irkutsk', 'North Asia Standard Time' => 'Asia/Krasnoyarsk', + 'North Korea Standard Time' => 'Asia/Pyongyang', 'Pacific SA Standard Time' => 'America/Santiago', 'Pacific Standard Time' => 'America/Los_Angeles', - 'Pacific Standard Time (Mexico)' => 'America/Santa_Isabel', + 'Pacific Standard Time (Mexico)' => 'America/Tijuana', 'Pakistan Standard Time' => 'Asia/Karachi', 'Paraguay Standard Time' => 'America/Asuncion', 'Romance Standard Time' => 'Europe/Paris', @@ -91,6 +105,8 @@ return [ 'SA Pacific Standard Time' => 'America/Bogota', 'SA Western Standard Time' => 'America/La_Paz', 'SE Asia Standard Time' => 'Asia/Bangkok', + 'Saint Pierre Standard Time' => 'America/Miquelon', + 'Sakhalin Standard Time' => 'Asia/Sakhalin', 'Samoa Standard Time' => 'Pacific/Apia', 'Singapore Standard Time' => 'Asia/Singapore', 'South Africa Standard Time' => 'Africa/Johannesburg', @@ -98,14 +114,20 @@ return [ 'Syria Standard Time' => 'Asia/Damascus', 'Taipei Standard Time' => 'Asia/Taipei', 'Tasmania Standard Time' => 'Australia/Hobart', + 'Tocantins Standard Time' => 'America/Araguaina', 'Tokyo Standard Time' => 'Asia/Tokyo', + 'Tomsk Standard Time' => 'Asia/Tomsk', 'Tonga Standard Time' => 'Pacific/Tongatapu', + 'Transbaikal Standard Time' => 'Asia/Chita', 'Turkey Standard Time' => 'Europe/Istanbul', + 'Turks And Caicos Standard Time' => 'America/Grand_Turk', 'US Eastern Standard Time' => 'America/Indianapolis', 'US Mountain Standard Time' => 'America/Phoenix', 'UTC' => 'Etc/GMT', 'UTC+12' => 'Etc/GMT-12', 'UTC-02' => 'Etc/GMT+2', + 'UTC-08' => 'Etc/GMT+8', + 'UTC-09' => 'Etc/GMT+9', 'UTC-11' => 'Etc/GMT+11', 'Ulaanbaatar Standard Time' => 'Asia/Ulaanbaatar', 'Venezuela Standard Time' => 'America/Caracas', @@ -113,7 +135,9 @@ return [ 'W. Australia Standard Time' => 'Australia/Perth', 'W. Central Africa Standard Time' => 'Africa/Lagos', 'W. Europe Standard Time' => 'Europe/Berlin', + 'W. Mongolia Standard Time' => 'Asia/Hovd', 'West Asia Standard Time' => 'Asia/Tashkent', + 'West Bank Standard Time' => 'Asia/Hebron', 'West Pacific Standard Time' => 'Pacific/Port_Moresby', 'Yakutsk Standard Time' => 'Asia/Yakutsk', ]; -- cgit v1.2.3