aboutsummaryrefslogtreecommitdiffstats
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor')
-rw-r--r--vendor/blueimp/jquery-file-upload/.github/workflows/test.yml10
-rw-r--r--vendor/blueimp/jquery-file-upload/README.md2
-rw-r--r--vendor/blueimp/jquery-file-upload/SECURITY.md2
-rw-r--r--vendor/blueimp/jquery-file-upload/VULNERABILITIES.md6
-rw-r--r--vendor/blueimp/jquery-file-upload/cors/postmessage.html10
-rw-r--r--vendor/blueimp/jquery-file-upload/index.html78
-rw-r--r--vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js22
-rw-r--r--vendor/blueimp/jquery-file-upload/js/cors/jquery.xdr-transport.js16
-rw-r--r--vendor/blueimp/jquery-file-upload/js/demo.js10
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-audio.js8
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js80
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js48
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js202
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-validate.js6
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload-video.js8
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js294
-rw-r--r--vendor/blueimp/jquery-file-upload/js/jquery.iframe-transport.js66
-rw-r--r--vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js742
-rw-r--r--vendor/blueimp/jquery-file-upload/package-lock.json3175
-rw-r--r--vendor/blueimp/jquery-file-upload/package.json23
-rw-r--r--vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php141
-rw-r--r--vendor/blueimp/jquery-file-upload/test/unit.js297
-rw-r--r--vendor/blueimp/jquery-file-upload/test/vendor/mocha.css1
-rw-r--r--vendor/blueimp/jquery-file-upload/test/vendor/mocha.js862
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/.prettierrc.js4
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/assets/black-80x60.gifbin108 -> 0 bytes
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/assets/white-1x2.jpgbin713 -> 0 bytes
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh9
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/chrome.js40
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/firefox.js25
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/hooks/index.js9
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/ie.js24
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/safari.js24
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js15
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js4
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/wdio.conf.js5
-rw-r--r--vendor/composer/autoload_classmap.php14
-rw-r--r--vendor/composer/autoload_real.php3
-rw-r--r--vendor/composer/autoload_static.php14
-rw-r--r--vendor/composer/installed.json188
-rw-r--r--vendor/psr/log/.gitignore1
-rw-r--r--vendor/psr/log/Psr/Log/LoggerInterface.php38
-rw-r--r--vendor/ramsey/uuid/CHANGELOG.md20
-rw-r--r--vendor/ramsey/uuid/LICENSE2
-rw-r--r--vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php2
-rw-r--r--vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php2
-rw-r--r--vendor/ramsey/uuid/src/DegradedUuid.php2
-rw-r--r--vendor/ramsey/uuid/src/Uuid.php6
-rw-r--r--vendor/sabre/dav/.gitignore11
-rw-r--r--vendor/sabre/dav/.php_cs.dist2
-rw-r--r--vendor/sabre/dav/.travis.yml37
-rw-r--r--vendor/sabre/dav/CHANGELOG.md6
-rw-r--r--vendor/sabre/dav/README.md2
-rw-r--r--vendor/sabre/dav/composer.json38
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php3
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/PDO.php9
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php3
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php1
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Calendar.php7
-rw-r--r--vendor/sabre/dav/lib/CalDAV/CalendarHome.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/CalendarObject.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php20
-rw-r--r--vendor/sabre/dav/lib/CalDAV/CalendarRoot.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php3
-rw-r--r--vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php21
-rw-r--r--vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php3
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Notifications/Node.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php8
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Plugin.php37
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Principal/Collection.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php5
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php5
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php3
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php5
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php36
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php3
-rw-r--r--vendor/sabre/dav/lib/CalDAV/SharingPlugin.php14
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php5
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php5
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php4
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php6
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php2
-rw-r--r--vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/AddressBook.php5
-rw-r--r--vendor/sabre/dav/lib/CardDAV/AddressBookHome.php4
-rw-r--r--vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php6
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php1
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php5
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Backend/PDO.php7
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Card.php4
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Plugin.php37
-rw-r--r--vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php7
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php4
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php2
-rw-r--r--vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Auth/Plugin.php13
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php5
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php1
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php5
-rw-r--r--vendor/sabre/dav/lib/DAV/Browser/Plugin.php17
-rw-r--r--vendor/sabre/dav/lib/DAV/Client.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/CorePlugin.php50
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception.php5
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php3
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php3
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php3
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php3
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/Locked.php3
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php3
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php3
-rw-r--r--vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php3
-rw-r--r--vendor/sabre/dav/lib/DAV/IExtendedCollection.php1
-rw-r--r--vendor/sabre/dav/lib/DAV/IProperties.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Locks/Backend/File.php8
-rw-r--r--vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php8
-rw-r--r--vendor/sabre/dav/lib/DAV/Locks/Plugin.php24
-rw-r--r--vendor/sabre/dav/lib/DAV/Mount/Plugin.php8
-rw-r--r--vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php7
-rw-r--r--vendor/sabre/dav/lib/DAV/PropFind.php1
-rw-r--r--vendor/sabre/dav/lib/DAV/PropPatch.php9
-rw-r--r--vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php8
-rw-r--r--vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php10
-rw-r--r--vendor/sabre/dav/lib/DAV/Server.php30
-rw-r--r--vendor/sabre/dav/lib/DAV/ServerPlugin.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Sharing/Plugin.php12
-rw-r--r--vendor/sabre/dav/lib/DAV/SimpleCollection.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Sync/Plugin.php15
-rw-r--r--vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php30
-rw-r--r--vendor/sabre/dav/lib/DAV/Tree.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Version.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Element/Response.php5
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/Href.php6
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php4
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php2
-rw-r--r--vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php4
-rw-r--r--vendor/sabre/dav/lib/DAVACL/ACLTrait.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php7
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php3
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php4
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php3
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php3
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php3
-rw-r--r--vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php7
-rw-r--r--vendor/sabre/dav/lib/DAVACL/IACL.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/IPrincipal.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php1
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Plugin.php30
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Principal.php7
-rw-r--r--vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php5
-rw-r--r--vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php1
-rw-r--r--vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php9
-rw-r--r--vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php3
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php12
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php8
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php6
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php7
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php2
-rw-r--r--vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php2
-rw-r--r--vendor/sabre/dav/phpstan.neon1
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php46
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php26
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php20
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php1
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php14
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php16
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php15
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php83
-rw-r--r--vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php9
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php3
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php18
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php3
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php63
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php28
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php5
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php16
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php5
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php6
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php5
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php283
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php7
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php10
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php36
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php46
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php5
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php4
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php3
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php2
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php8
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php3
-rw-r--r--vendor/sabre/dav/tests/Sabre/DAVServerTest.php17
-rw-r--r--vendor/sabre/dav/tests/bootstrap.php1
-rw-r--r--vendor/sabre/event/.gitattributes2
-rw-r--r--vendor/sabre/event/.gitignore14
-rw-r--r--vendor/sabre/event/.travis.yml21
-rw-r--r--vendor/sabre/event/CHANGELOG.md122
-rw-r--r--vendor/sabre/event/README.md51
-rw-r--r--vendor/sabre/event/_config.yml1
-rw-r--r--vendor/sabre/event/composer.json6
-rw-r--r--vendor/sabre/event/lib/Emitter.php9
-rw-r--r--vendor/sabre/event/lib/EmitterInterface.php31
-rw-r--r--vendor/sabre/event/lib/EmitterTrait.php79
-rw-r--r--vendor/sabre/event/lib/EventEmitter.php9
-rw-r--r--vendor/sabre/event/lib/Loop/Loop.php147
-rw-r--r--vendor/sabre/event/lib/Loop/functions.php85
-rw-r--r--vendor/sabre/event/lib/Promise.php73
-rw-r--r--vendor/sabre/event/lib/Promise/functions.php53
-rw-r--r--vendor/sabre/event/lib/PromiseAlreadyResolvedException.php8
-rw-r--r--vendor/sabre/event/lib/Version.php13
-rw-r--r--vendor/sabre/event/lib/WildcardEmitter.php13
-rw-r--r--vendor/sabre/event/lib/WildcardEmitterTrait.php119
-rw-r--r--vendor/sabre/event/lib/coroutine.php52
-rw-r--r--vendor/sabre/event/phpunit.xml.dist18
-rw-r--r--vendor/sabre/http/.gitignore7
-rw-r--r--vendor/sabre/http/.php_cs.dist2
-rw-r--r--vendor/sabre/http/.travis.yml6
-rw-r--r--vendor/sabre/http/CHANGELOG.md7
-rw-r--r--vendor/sabre/http/composer.json10
-rw-r--r--vendor/sabre/http/lib/Client.php2
-rw-r--r--vendor/sabre/http/lib/Message.php2
-rw-r--r--vendor/sabre/http/lib/MessageDecoratorTrait.php2
-rw-r--r--vendor/sabre/http/lib/MessageInterface.php2
-rw-r--r--vendor/sabre/http/lib/ResponseDecorator.php2
-rw-r--r--vendor/sabre/http/lib/Version.php2
-rw-r--r--vendor/sabre/http/lib/functions.php15
-rw-r--r--vendor/sabre/http/phpstan.neon1
-rw-r--r--vendor/sabre/uri/.gitignore11
-rw-r--r--vendor/sabre/uri/.php_cs.dist2
-rw-r--r--vendor/sabre/uri/composer.json5
-rw-r--r--vendor/sabre/uri/lib/Version.php2
-rw-r--r--vendor/sabre/uri/lib/functions.php25
-rw-r--r--vendor/sabre/uri/phpstan.neon1
-rw-r--r--vendor/sabre/vobject/.gitignore6
-rw-r--r--vendor/sabre/vobject/.php_cs.dist2
-rw-r--r--vendor/sabre/vobject/.travis.yml25
-rw-r--r--vendor/sabre/vobject/CHANGELOG.md13
-rw-r--r--vendor/sabre/vobject/composer.json12
-rw-r--r--vendor/sabre/vobject/lib/Cli.php12
-rw-r--r--vendor/sabre/vobject/lib/Component.php8
-rw-r--r--vendor/sabre/vobject/lib/Component/VAvailability.php3
-rw-r--r--vendor/sabre/vobject/lib/Component/VCalendar.php158
-rw-r--r--vendor/sabre/vobject/lib/Component/VCard.php135
-rw-r--r--vendor/sabre/vobject/lib/Component/VEvent.php5
-rw-r--r--vendor/sabre/vobject/lib/Component/VFreeBusy.php3
-rw-r--r--vendor/sabre/vobject/lib/Component/VJournal.php3
-rw-r--r--vendor/sabre/vobject/lib/Component/VTodo.php3
-rw-r--r--vendor/sabre/vobject/lib/Document.php4
-rw-r--r--vendor/sabre/vobject/lib/FreeBusyGenerator.php12
-rw-r--r--vendor/sabre/vobject/lib/ITip/Broker.php37
-rw-r--r--vendor/sabre/vobject/lib/Node.php2
-rw-r--r--vendor/sabre/vobject/lib/PHPUnitAssertions.php5
-rw-r--r--vendor/sabre/vobject/lib/Parameter.php2
-rw-r--r--vendor/sabre/vobject/lib/Parser/Json.php10
-rw-r--r--vendor/sabre/vobject/lib/Parser/MimeDir.php4
-rw-r--r--vendor/sabre/vobject/lib/Parser/XML.php22
-rw-r--r--vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php2
-rw-r--r--vendor/sabre/vobject/lib/Property.php6
-rw-r--r--vendor/sabre/vobject/lib/Property/Binary.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/Boolean.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/FloatValue.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php22
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Period.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/ICalendar/Recur.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/IntegerValue.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/Text.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/Time.php4
-rw-r--r--vendor/sabre/vobject/lib/Property/Uri.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/UtcOffset.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/VCard/Date.php2
-rw-r--r--vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php4
-rw-r--r--vendor/sabre/vobject/lib/Recur/EventIterator.php2
-rw-r--r--vendor/sabre/vobject/lib/Recur/NoInstancesException.php2
-rw-r--r--vendor/sabre/vobject/lib/Recur/RDateIterator.php5
-rw-r--r--vendor/sabre/vobject/lib/Recur/RRuleIterator.php18
-rw-r--r--vendor/sabre/vobject/lib/Settings.php2
-rw-r--r--vendor/sabre/vobject/lib/TimeZoneUtil.php2
-rw-r--r--vendor/sabre/vobject/lib/VCardConverter.php25
-rw-r--r--vendor/sabre/vobject/lib/Version.php2
-rw-r--r--vendor/sabre/vobject/lib/Writer.php7
-rw-r--r--vendor/sabre/vobject/phpstan.neon5
-rw-r--r--vendor/sabre/vobject/tests/bootstrap.php10
-rw-r--r--vendor/sabre/vobject/tests/phpunit.xml9
-rw-r--r--vendor/sabre/xml/.gitignore16
-rw-r--r--vendor/sabre/xml/.php_cs.dist2
-rw-r--r--vendor/sabre/xml/.travis.yml27
-rw-r--r--vendor/sabre/xml/CHANGELOG.md12
-rw-r--r--vendor/sabre/xml/composer.json5
-rw-r--r--vendor/sabre/xml/lib/ContextStackTrait.php2
-rw-r--r--vendor/sabre/xml/lib/Deserializer/functions.php43
-rw-r--r--vendor/sabre/xml/lib/Element/Uri.php2
-rw-r--r--vendor/sabre/xml/lib/Element/XmlFragment.php4
-rw-r--r--vendor/sabre/xml/lib/LibXMLException.php5
-rw-r--r--vendor/sabre/xml/lib/ParseException.php3
-rw-r--r--vendor/sabre/xml/lib/Reader.php11
-rw-r--r--vendor/sabre/xml/lib/Serializer/functions.php6
-rw-r--r--vendor/sabre/xml/lib/Service.php20
-rw-r--r--vendor/sabre/xml/lib/Version.php2
-rw-r--r--vendor/sabre/xml/lib/Writer.php2
-rw-r--r--vendor/simplepie/simplepie/LICENSE.txt2
-rw-r--r--vendor/simplepie/simplepie/README.markdown4
-rw-r--r--vendor/simplepie/simplepie/autoloader.php6
-rw-r--r--vendor/simplepie/simplepie/composer.json4
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie.php15
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Author.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/File.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Caption.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Category.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Copyright.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Core.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Credit.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Enclosure.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Exception.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/File.php8
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/IRI.php10
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Item.php8
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Locator.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Misc.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php8
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Parser.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Rating.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Registry.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Restriction.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Sanitize.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/Source.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php6
-rw-r--r--vendor/simplepie/simplepie/library/SimplePie/gzdecode.php6
-rw-r--r--vendor/smarty/smarty/README.md6
-rw-r--r--vendor/smarty/smarty/change_log.txt3412
-rw-r--r--vendor/smarty/smarty/composer.json3
-rw-r--r--vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php22
-rw-r--r--vendor/smarty/smarty/error_reporting.ini1
-rw-r--r--vendor/smarty/smarty/libs/Smarty.class.php2
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_assign.php2
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_foreach.php10
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_method_registerplugin.php2
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_template.php116
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_text.php29
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php4
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php146
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatelexer.php12
-rw-r--r--vendor/smarty/smarty/libs/sysplugins/smarty_internal_templateparser.php11
444 files changed, 4269 insertions, 10160 deletions
diff --git a/vendor/blueimp/jquery-file-upload/.github/workflows/test.yml b/vendor/blueimp/jquery-file-upload/.github/workflows/test.yml
index 048a2593e..945286b6e 100644
--- a/vendor/blueimp/jquery-file-upload/.github/workflows/test.yml
+++ b/vendor/blueimp/jquery-file-upload/.github/workflows/test.yml
@@ -6,7 +6,7 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- name: Setup Node.js
uses: actions/setup-node@v1
with:
@@ -23,7 +23,7 @@ jobs:
mocha:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- name: chmod
run: chmod -R 777 server/php/files
- name: docker-compose build
@@ -40,7 +40,7 @@ jobs:
wdio-chrome:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- name: chmod
run: chmod -R 777 server/php/files wdio/reports
- name: docker-compose build
@@ -63,13 +63,13 @@ jobs:
wdio-firefox:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v1
+ - uses: actions/checkout@v2
- name: chmod
run: chmod -R 777 server/php/files wdio/reports
- name: docker-compose build
run: docker-compose build example
- name: wdio firefox
- run: docker-compose run --rm wdio firefox.js
+ run: docker-compose run --rm wdio conf/firefox.js
- name: docker-compose logs
if: always()
run: docker-compose logs example
diff --git a/vendor/blueimp/jquery-file-upload/README.md b/vendor/blueimp/jquery-file-upload/README.md
index f3ca43f3c..5a13ef425 100644
--- a/vendor/blueimp/jquery-file-upload/README.md
+++ b/vendor/blueimp/jquery-file-upload/README.md
@@ -120,7 +120,7 @@ For further information, please refer to the following guides:
### Mandatory requirements
-- [jQuery](https://jquery.com/) v1.6+
+- [jQuery](https://jquery.com/) v1.7+
- [jQuery UI widget factory](https://api.jqueryui.com/jQuery.widget/) v1.9+
(included): Required for the basic File Upload plugin, but very lightweight
without any other dependencies from the jQuery UI suite.
diff --git a/vendor/blueimp/jquery-file-upload/SECURITY.md b/vendor/blueimp/jquery-file-upload/SECURITY.md
index 768f2b95e..1778d0205 100644
--- a/vendor/blueimp/jquery-file-upload/SECURITY.md
+++ b/vendor/blueimp/jquery-file-upload/SECURITY.md
@@ -18,7 +18,7 @@
For an in-depth understanding of the potential security risks of providing file
uploads and possible mitigations, please refer to the
-[OWASP - Unrestricted File Upload](https://www.owasp.org/index.php/Unrestricted_File_Upload)
+[OWASP - Unrestricted File Upload](https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload)
documentation.
To securely setup the project to serve uploaded files, please refer to the
diff --git a/vendor/blueimp/jquery-file-upload/VULNERABILITIES.md b/vendor/blueimp/jquery-file-upload/VULNERABILITIES.md
index 5dfd5f315..14f70b81d 100644
--- a/vendor/blueimp/jquery-file-upload/VULNERABILITIES.md
+++ b/vendor/blueimp/jquery-file-upload/VULNERABILITIES.md
@@ -84,7 +84,7 @@ is disabled by default since Apache `v2.3.9` via
[ad4aefd](https://github.com/blueimp/jQuery-File-Upload/commit/ad4aefd96e4056deab6fea2690f0d8cf56bb2d7d)
- [Full disclosure post on Hacker News](https://news.ycombinator.com/item?id=18267309).
- [CVE-2018-9206](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-9206)
-- [OWASP - Unrestricted File Upload](https://www.owasp.org/index.php/Unrestricted_File_Upload)
+- [OWASP - Unrestricted File Upload](https://owasp.org/www-community/vulnerabilities/Unrestricted_File_Upload)
## Open redirect vulnerability in the GAE components
@@ -99,7 +99,7 @@ domain for phishing attacks.
- Commit containing the security fix:
[f74d2a8](https://github.com/blueimp/jQuery-File-Upload/commit/f74d2a8c3e3b1e8e336678d2899facd5bcdb589f)
-- [OWASP - Unvalidated Redirects and Forwards Cheat Sheet](https://www.owasp.org/index.php/Unvalidated_Redirects_and_Forwards_Cheat_Sheet)
+- [OWASP - Unvalidated Redirects and Forwards Cheat Sheet](https://cheatsheetseries.owasp.org/cheatsheets/Unvalidated_Redirects_and_Forwards_Cheat_Sheet.html)
## Cross-site scripting vulnerability in the Iframe Transport
@@ -115,4 +115,4 @@ context of the Webserver.
- Commit containing the security fix:
[4175032](https://github.com/blueimp/jQuery-File-Upload/commit/41750323a464e848856dc4c5c940663498beb74a)
-- [OWASP - Cross-site Scripting (XSS)](<https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)>)
+- [OWASP - Cross-site Scripting (XSS)](https://owasp.org/www-community/attacks/xss/)
diff --git a/vendor/blueimp/jquery-file-upload/cors/postmessage.html b/vendor/blueimp/jquery-file-upload/cors/postmessage.html
index 5c90743af..536e8b3c6 100644
--- a/vendor/blueimp/jquery-file-upload/cors/postmessage.html
+++ b/vendor/blueimp/jquery-file-upload/cors/postmessage.html
@@ -26,7 +26,7 @@
'use strict';
var origin = /^https:\/\/example.org/,
target = new RegExp('^(http(s)?:)?\\/\\/' + location.host + '\\/');
- $(window).on('message', function(e) {
+ $(window).on('message', function (e) {
e = e.originalEvent;
var s = e.data,
xhr = $.ajaxSettings.xhr(),
@@ -39,7 +39,7 @@
'Target "' + e.data.url + '" does not match ' + target
);
}
- $(xhr.upload).on('progress', function(ev) {
+ $(xhr.upload).on('progress', function (ev) {
ev = ev.originalEvent;
e.source.postMessage(
{
@@ -53,17 +53,17 @@
e.origin
);
});
- s.xhr = function() {
+ s.xhr = function () {
return xhr;
};
if (!(s.data instanceof Blob)) {
f = new FormData();
- $.each(s.data, function(i, v) {
+ $.each(s.data, function (i, v) {
f.append(v.name, v.value);
});
s.data = f;
}
- $.ajax(s).always(function(result, statusText, jqXHR) {
+ $.ajax(s).always(function (result, statusText, jqXHR) {
if (!jqXHR.done) {
jqXHR = result;
result = null;
diff --git a/vendor/blueimp/jquery-file-upload/index.html b/vendor/blueimp/jquery-file-upload/index.html
index aa908e745..62033e764 100644
--- a/vendor/blueimp/jquery-file-upload/index.html
+++ b/vendor/blueimp/jquery-file-upload/index.html
@@ -33,11 +33,12 @@
/>
<!-- Generic page styles -->
<style>
- body {
- padding-top: 60px;
+ #navigation {
+ margin: 10px 0;
}
@media (max-width: 767px) {
- .description {
+ #title,
+ #description {
display: none;
}
}
@@ -59,50 +60,23 @@
/></noscript>
</head>
<body>
- <div class="navbar navbar-default navbar-fixed-top">
- <div class="container">
- <div class="navbar-header">
- <button
- type="button"
- class="navbar-toggle"
- data-toggle="collapse"
- data-target=".navbar-fixed-top .navbar-collapse"
- >
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a
- class="navbar-brand"
- href="https://github.com/blueimp/jQuery-File-Upload"
- >jQuery File Upload</a
- >
- </div>
- <div class="navbar-collapse collapse">
- <ul class="nav navbar-nav">
- <li>
- <a href="https://github.com/blueimp/jQuery-File-Upload/tags"
- >Download</a
- >
- </li>
- <li>
- <a href="https://github.com/blueimp/jQuery-File-Upload"
- >Source Code</a
- >
- </li>
- <li>
- <a href="https://github.com/blueimp/jQuery-File-Upload/wiki"
- >Documentation</a
- >
- </li>
- <li><a href="https://blueimp.net">&copy; Sebastian Tschan</a></li>
- </ul>
- </div>
- </div>
- </div>
<div class="container">
- <h1>jQuery File Upload Demo</h1>
- <blockquote class="description">
+ <ul class="nav nav-tabs" id="navigation">
+ <li>
+ <a href="https://github.com/blueimp/jQuery-File-Upload">Project</a>
+ </li>
+ <li class="active">
+ <a href="#">Demo</a>
+ </li>
+ <li>
+ <a href="https://github.com/blueimp/jQuery-File-Upload/wiki">Wiki</a>
+ </li>
+ <li>
+ <a href="https://blueimp.net">Author</a>
+ </li>
+ </ul>
+ <h1 id="title">jQuery File Upload Demo</h1>
+ <blockquote id="description">
<p>
File Upload widget with multiple file selection, drag&amp;drop
support, progress bars, validation and preview images, audio and video
@@ -163,7 +137,7 @@
>
<div
class="progress-bar progress-bar-success"
- style="width:0%;"
+ style="width: 0%;"
></div>
</div>
<!-- The extended global progress state -->
@@ -322,8 +296,8 @@
{% } %}
</script>
<script
- src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"
- integrity="sha384-xBuQ/xzmlsLoJpyjoggmTEz8OWUFM0/RC5BsqQBDX2v5cMvDHcMakNTNrHIW2I5f"
+ src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"
+ integrity="sha384-vk5WoKIaW/vJyUAd9n/wmopsmNhiy+L2Z+SBxGYnUkunIxVxAv/UtMOhba/xskxh"
crossorigin="anonymous"
></script>
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
@@ -334,12 +308,6 @@
<script src="https://blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script>
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
<script src="https://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
- <!-- Bootstrap JS is not required, but included for the responsive demo navigation -->
- <script
- src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
- integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
- crossorigin="anonymous"
- ></script>
<!-- blueimp Gallery script -->
<script src="https://blueimp.github.io/Gallery/js/jquery.blueimp-gallery.min.js"></script>
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
diff --git a/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js b/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js
index 0a3d9fe45..5d5cc2f8d 100644
--- a/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js
+++ b/vendor/blueimp/jquery-file-upload/js/cors/jquery.postmessage-transport.js
@@ -11,7 +11,7 @@
/* global define, require */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -23,7 +23,7 @@
// Browser globals:
factory(window.jQuery);
}
-})(function($) {
+})(function ($) {
'use strict';
var counter = 0,
@@ -46,7 +46,7 @@
'url',
'username'
],
- convert = function(p) {
+ convert = function (p) {
return p;
};
@@ -58,10 +58,10 @@
}
});
- $.ajaxTransport('postmessage', function(options) {
+ $.ajaxTransport('postmessage', function (options) {
if (options.postMessage && window.postMessage) {
var iframe,
- loc = $('<a>').prop('href', options.postMessage)[0],
+ loc = $('<a></a>').prop('href', options.postMessage)[0],
target = loc.protocol + '//' + loc.host,
xhrUpload = options.xhr().upload;
// IE always includes the port for the host property of a link
@@ -71,7 +71,7 @@
target = target.replace(/:(80|443)$/, '');
}
return {
- send: function(_, completeCallback) {
+ send: function (_, completeCallback) {
counter += 1;
var message = {
id: 'postmessage-transport-' + counter
@@ -84,12 +84,12 @@
message.id +
'"></iframe>'
)
- .bind('load', function() {
- $.each(names, function(i, name) {
+ .on('load', function () {
+ $.each(names, function (i, name) {
message[name] = options[name];
});
message.dataType = message.dataType.replace('postmessage ', '');
- $(window).bind(eventName, function(event) {
+ $(window).on(eventName, function (event) {
var e = event.originalEvent;
var data = e.data;
var ev;
@@ -107,7 +107,7 @@
data.headers
);
iframe.remove();
- $(window).unbind(eventName);
+ $(window).off(eventName);
}
}
});
@@ -115,7 +115,7 @@
})
.appendTo(document.body);
},
- abort: function() {
+ abort: function () {
if (iframe) {
iframe.remove();
}
diff --git a/vendor/blueimp/jquery-file-upload/js/cors/jquery.xdr-transport.js b/vendor/blueimp/jquery-file-upload/js/cors/jquery.xdr-transport.js
index 68e36be58..9e81860b9 100644
--- a/vendor/blueimp/jquery-file-upload/js/cors/jquery.xdr-transport.js
+++ b/vendor/blueimp/jquery-file-upload/js/cors/jquery.xdr-transport.js
@@ -14,7 +14,7 @@
/* global define, require, XDomainRequest */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -26,10 +26,10 @@
// Browser globals:
factory(window.jQuery);
}
-})(function($) {
+})(function ($) {
'use strict';
if (window.XDomainRequest && !$.support.cors) {
- $.ajaxTransport(function(s) {
+ $.ajaxTransport(function (s) {
if (s.crossDomain && s.async) {
if (s.timeout) {
s.xdrTimeout = s.timeout;
@@ -37,7 +37,7 @@
}
var xdr;
return {
- send: function(headers, completeCallback) {
+ send: function (headers, completeCallback) {
var addParamChar = /\?/.test(s.url) ? '&' : '?';
/**
* Callback wrapper function
@@ -65,7 +65,7 @@
s.type = 'POST';
}
xdr.open(s.type, s.url);
- xdr.onload = function() {
+ xdr.onload = function () {
callback(
200,
'OK',
@@ -73,18 +73,18 @@
'Content-Type: ' + xdr.contentType
);
};
- xdr.onerror = function() {
+ xdr.onerror = function () {
callback(404, 'Not Found');
};
if (s.xdrTimeout) {
- xdr.ontimeout = function() {
+ xdr.ontimeout = function () {
callback(0, 'timeout');
};
xdr.timeout = s.xdrTimeout;
}
xdr.send((s.hasContent && s.data) || null);
},
- abort: function() {
+ abort: function () {
if (xdr) {
xdr.onerror = $.noop();
xdr.abort();
diff --git a/vendor/blueimp/jquery-file-upload/js/demo.js b/vendor/blueimp/jquery-file-upload/js/demo.js
index bb4eccd6e..0735031b8 100644
--- a/vendor/blueimp/jquery-file-upload/js/demo.js
+++ b/vendor/blueimp/jquery-file-upload/js/demo.js
@@ -11,7 +11,7 @@
/* global $ */
-$(function() {
+$(function () {
'use strict';
// Initialize the jQuery File Upload widget:
@@ -46,8 +46,8 @@ $(function() {
$.ajax({
url: '//jquery-file-upload.appspot.com/',
type: 'HEAD'
- }).fail(function() {
- $('<div class="alert alert-danger"/>')
+ }).fail(function () {
+ $('<div class="alert alert-danger"></div>')
.text('Upload server currently unavailable - ' + new Date())
.appendTo('#fileupload');
});
@@ -62,10 +62,10 @@ $(function() {
dataType: 'json',
context: $('#fileupload')[0]
})
- .always(function() {
+ .always(function () {
$(this).removeClass('fileupload-processing');
})
- .done(function(result) {
+ .done(function (result) {
$(this)
.fileupload('option', 'done')
// eslint-disable-next-line new-cap
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-audio.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-audio.js
index 2992213b9..e5c9202f9 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-audio.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-audio.js
@@ -11,7 +11,7 @@
/* global define, require */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -27,7 +27,7 @@
// Browser globals:
factory(window.jQuery, window.loadImage);
}
-})(function($, loadImage) {
+})(function ($, loadImage) {
'use strict';
// Prepend to the default processQueue:
@@ -63,7 +63,7 @@
// as audio element if the browser supports playing it.
// Accepts the options fileTypes (regular expression)
// and maxFileSize (integer) to limit the files to load:
- loadAudio: function(data, options) {
+ loadAudio: function (data, options) {
if (options.disabled) {
return data;
}
@@ -90,7 +90,7 @@
},
// Sets the audio element as a property of the file object:
- setAudio: function(data, options) {
+ setAudio: function (data, options) {
if (data.audio && !options.disabled) {
data.files[data.index][options.name || 'preview'] = data.audio;
}
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js
index 8e9b46215..859846103 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-image.js
@@ -11,7 +11,7 @@
/* global define, require */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -21,6 +21,7 @@
'load-image-meta',
'load-image-scale',
'load-image-exif',
+ 'load-image-orientation',
'canvas-to-blob',
'./jquery.fileupload-process'
], factory);
@@ -32,6 +33,7 @@
require('blueimp-load-image/js/load-image-meta'),
require('blueimp-load-image/js/load-image-scale'),
require('blueimp-load-image/js/load-image-exif'),
+ require('blueimp-load-image/js/load-image-orientation'),
require('blueimp-canvas-to-blob'),
require('./jquery.fileupload-process')
);
@@ -39,18 +41,25 @@
// Browser globals:
factory(window.jQuery, window.loadImage);
}
-})(function($, loadImage) {
+})(function ($, loadImage) {
'use strict';
// Prepend to the default processQueue:
$.blueimp.fileupload.prototype.options.processQueue.unshift(
{
action: 'loadImageMetaData',
+ maxMetaDataSize: '@',
disableImageHead: '@',
+ disableMetaDataParsers: '@',
disableExif: '@',
disableExifThumbnail: '@',
- disableExifSub: '@',
- disableExifGps: '@',
+ disableExifOffsets: '@',
+ includeExifTags: '@',
+ excludeExifTags: '@',
+ disableIptc: '@',
+ disableIptcOffsets: '@',
+ includeIptcTags: '@',
+ excludeIptcTags: '@',
disabled: '@disableImageMetaDataLoad'
},
{
@@ -125,7 +134,7 @@
imageMaxHeight: 1080,
// Defines the image orientation (1-8) or takes the orientation
// value from Exif data if set to true:
- imageOrientation: false,
+ imageOrientation: true,
// Define if resized images should be cropped or only scaled:
imageCrop: false,
// Disable the resize image functionality by default:
@@ -150,7 +159,7 @@
// as img element, if the browser supports the File API.
// Accepts the options fileTypes (regular expression)
// and maxFileSize (integer) to limit the files to load:
- loadImage: function(data, options) {
+ loadImage: function (data, options) {
if (options.disabled) {
return data;
}
@@ -164,7 +173,7 @@
(options.fileTypes && !options.fileTypes.test(file.type)) ||
!loadImage(
file,
- function(img) {
+ function (img) {
if (img.src) {
data.img = img;
}
@@ -183,7 +192,7 @@
// Also stores the resized image as preview property.
// Accepts the options maxWidth, maxHeight, minWidth,
// minHeight, canvas and crop:
- resizeImage: function(data, options) {
+ resizeImage: function (data, options) {
if (options.disabled || !(data.canvas || data.img)) {
return data;
}
@@ -193,7 +202,7 @@
// eslint-disable-next-line new-cap
dfd = $.Deferred(),
img = (options.canvas && data.canvas) || data.img,
- resolve = function(newImg) {
+ resolve = function (newImg) {
if (
newImg &&
(newImg.width !== img.width ||
@@ -205,18 +214,24 @@
data.preview = newImg;
dfd.resolveWith(that, [data]);
},
- thumbnail;
+ thumbnail,
+ thumbnailBlob;
if (data.exif) {
if (options.orientation === true) {
options.orientation = data.exif.get('Orientation');
}
if (options.thumbnail) {
thumbnail = data.exif.get('Thumbnail');
- if (thumbnail) {
- loadImage(thumbnail, resolve, options);
+ thumbnailBlob = thumbnail && thumbnail.get('Blob');
+ if (thumbnailBlob) {
+ loadImage(thumbnailBlob, resolve, options);
return dfd.promise();
}
}
+ // Prevent orienting browser oriented images:
+ if (loadImage.orientation) {
+ data.orientation = data.orientation || options.orientation;
+ }
// Prevent orienting the same image twice:
if (data.orientation) {
delete options.orientation;
@@ -233,7 +248,7 @@
// Saves the processed image given as data.canvas
// inplace at data.index of data.files:
- saveImage: function(data, options) {
+ saveImage: function (data, options) {
if (!data.canvas || options.disabled) {
return data;
}
@@ -243,7 +258,7 @@
dfd = $.Deferred();
if (data.canvas.toBlob) {
data.canvas.toBlob(
- function(blob) {
+ function (blob) {
if (!blob.name) {
if (file.type === blob.type) {
blob.name = file.name;
@@ -272,7 +287,7 @@
return dfd.promise();
},
- loadImageMetaData: function(data, options) {
+ loadImageMetaData: function (data, options) {
if (options.disabled) {
return data;
}
@@ -281,7 +296,7 @@
dfd = $.Deferred();
loadImage.parseMetaData(
data.files[data.index],
- function(result) {
+ function (result) {
$.extend(data, result);
dfd.resolveWith(that, [data]);
},
@@ -290,7 +305,7 @@
return dfd.promise();
},
- saveImageMetaData: function(data, options) {
+ saveImageMetaData: function (data, options) {
if (
!(
data.imageHead &&
@@ -301,31 +316,32 @@
) {
return data;
}
- var file = data.files[data.index],
- blob = new Blob(
- [
- data.imageHead,
- // Resized images always have a head size of 20 bytes,
- // including the JPEG marker and a minimal JFIF header:
- this._blobSlice.call(file, 20)
- ],
- { type: file.type }
- );
- blob.name = file.name;
- data.files[data.index] = blob;
- return data;
+ var that = this,
+ file = data.files[data.index],
+ // eslint-disable-next-line new-cap
+ dfd = $.Deferred();
+ if (data.orientation && data.exifOffsets) {
+ // Reset Exif Orientation data:
+ loadImage.writeExifData(data.imageHead, data, 'Orientation', 1);
+ }
+ loadImage.replaceHead(file, data.imageHead, function (blob) {
+ blob.name = file.name;
+ data.files[data.index] = blob;
+ dfd.resolveWith(that, [data]);
+ });
+ return dfd.promise();
},
// Sets the resized version of the image as a property of the
// file object, must be called after "saveImage":
- setImage: function(data, options) {
+ setImage: function (data, options) {
if (data.preview && !options.disabled) {
data.files[data.index][options.name || 'preview'] = data.preview;
}
return data;
},
- deleteImageReferences: function(data, options) {
+ deleteImageReferences: function (data, options) {
if (!options.disabled) {
delete data.img;
delete data.canvas;
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js
index 54d216913..29de8309a 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-process.js
@@ -11,7 +11,7 @@
/* global define, require */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -23,7 +23,7 @@
// Browser globals:
factory(window.jQuery);
}
-})(function($) {
+})(function ($) {
'use strict';
var originalAdd = $.blueimp.fileupload.prototype.options.add;
@@ -41,9 +41,9 @@
}
*/
],
- add: function(e, data) {
+ add: function (e, data) {
var $this = $(this);
- data.process(function() {
+ data.process(function () {
return $this.fileupload('process', data);
});
originalAdd.call(this, e, data);
@@ -60,19 +60,17 @@
*/
},
- _processFile: function(data, originalData) {
+ _processFile: function (data, originalData) {
var that = this,
// eslint-disable-next-line new-cap
dfd = $.Deferred().resolveWith(that, [data]),
chain = dfd.promise();
this._trigger('process', null, data);
- $.each(data.processQueue, function(i, settings) {
- var func = function(data) {
+ $.each(data.processQueue, function (i, settings) {
+ var func = function (data) {
if (originalData.errorThrown) {
// eslint-disable-next-line new-cap
- return $.Deferred()
- .rejectWith(that, [originalData])
- .promise();
+ return $.Deferred().rejectWith(that, [originalData]).promise();
}
return that.processActions[settings.action].call(
that,
@@ -83,11 +81,11 @@
chain = chain.then(func, settings.always && func);
});
chain
- .done(function() {
+ .done(function () {
that._trigger('processdone', null, data);
that._trigger('processalways', null, data);
})
- .fail(function() {
+ .fail(function () {
that._trigger('processfail', null, data);
that._trigger('processalways', null, data);
});
@@ -98,13 +96,13 @@
// are strings starting with an "@", using the remaining
// substring as key for the option map,
// e.g. "@autoUpload" is replaced with options.autoUpload:
- _transformProcessQueue: function(options) {
+ _transformProcessQueue: function (options) {
var processQueue = [];
- $.each(options.processQueue, function() {
+ $.each(options.processQueue, function () {
var settings = {},
action = this.action,
prefix = this.prefix === true ? action : this.prefix;
- $.each(this, function(key, value) {
+ $.each(this, function (key, value) {
if ($.type(value) === 'string' && value.charAt(0) === '@') {
settings[key] =
options[
@@ -123,13 +121,13 @@
},
// Returns the number of files currently in the processsing queue:
- processing: function() {
+ processing: function () {
return this._processing;
},
// Processes the files given as files property of the data parameter,
// returns a Promise object that allows to bind callbacks:
- process: function(data) {
+ process: function (data) {
var that = this,
options = $.extend({}, this.options, data);
if (options.processQueue && options.processQueue.length) {
@@ -137,14 +135,12 @@
if (this._processing === 0) {
this._trigger('processstart');
}
- $.each(data.files, function(index) {
+ $.each(data.files, function (index) {
var opts = index ? $.extend({}, options) : options,
- func = function() {
+ func = function () {
if (data.errorThrown) {
// eslint-disable-next-line new-cap
- return $.Deferred()
- .rejectWith(that, [data])
- .promise();
+ return $.Deferred().rejectWith(that, [data]).promise();
}
return that._processFile(opts, data);
};
@@ -152,7 +148,7 @@
that._processing += 1;
that._processingQueue = that._processingQueue
.then(func, func)
- .always(function() {
+ .always(function () {
that._processing -= 1;
if (that._processing === 0) {
that._trigger('processstop');
@@ -163,13 +159,11 @@
return this._processingQueue;
},
- _create: function() {
+ _create: function () {
this._super();
this._processing = 0;
// eslint-disable-next-line new-cap
- this._processingQueue = $.Deferred()
- .resolveWith(this)
- .promise();
+ this._processingQueue = $.Deferred().resolveWith(this).promise();
}
});
});
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js
index ff725cf14..c42b18cc2 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-ui.js
@@ -11,7 +11,7 @@
/* global define, require */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -37,7 +37,7 @@
// Browser globals:
factory(window.jQuery, window.tmpl);
}
-})(function($, tmpl) {
+})(function ($, tmpl) {
'use strict';
$.blueimp.fileupload.prototype._specialOptions.push(
@@ -77,12 +77,12 @@
// Function returning the current number of files,
// used by the maxNumberOfFiles validation:
- getNumberOfFiles: function() {
+ getNumberOfFiles: function () {
return this.filesContainer.children().not('.processing').length;
},
// Callback to retrieve the list of files from the server response:
- getFilesFromResponse: function(data) {
+ getFilesFromResponse: function (data) {
if (data.result && $.isArray(data.result.files)) {
return data.result.files;
}
@@ -92,7 +92,7 @@
// The add callback is invoked as soon as files are added to the fileupload
// widget (via file input selection, drag & drop or add API call).
// See the basic file upload widget for more information:
- add: function(e, data) {
+ add: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
@@ -109,12 +109,12 @@
that._forceReflow(data.context);
that._transition(data.context);
data
- .process(function() {
+ .process(function () {
return $this.fileupload('process', data);
})
- .always(function() {
+ .always(function () {
data.context
- .each(function(index) {
+ .each(function (index) {
$(this)
.find('.size')
.text(that._formatFileSize(data.files[index].size));
@@ -122,7 +122,7 @@
.removeClass('processing');
that._renderPreviews(data);
})
- .done(function() {
+ .done(function () {
data.context.find('.edit,.start').prop('disabled', false);
if (
that._trigger('added', e, data) !== false &&
@@ -132,21 +132,19 @@
data.submit();
}
})
- .fail(function() {
+ .fail(function () {
if (data.files.error) {
- data.context.each(function(index) {
+ data.context.each(function (index) {
var error = data.files[index].error;
if (error) {
- $(this)
- .find('.error')
- .text(error);
+ $(this).find('.error').text(error);
}
});
}
});
},
// Callback for the start of each file upload request:
- send: function(e, data) {
+ send: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
@@ -171,7 +169,7 @@
return that._trigger('sent', e, data);
},
// Callback for successful uploads:
- done: function(e, data) {
+ done: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
@@ -183,14 +181,14 @@
template,
deferred;
if (data.context) {
- data.context.each(function(index) {
+ data.context.each(function (index) {
var file = files[index] || { error: 'Empty file upload result' };
deferred = that._addFinishedDeferreds();
- that._transition($(this)).done(function() {
+ that._transition($(this)).done(function () {
var node = $(this);
template = that._renderDownload([file]).replaceAll(node);
that._forceReflow(template);
- that._transition(template).done(function() {
+ that._transition(template).done(function () {
data.context = $(this);
that._trigger('completed', e, data);
that._trigger('finished', e, data);
@@ -206,7 +204,7 @@
);
that._forceReflow(template);
deferred = that._addFinishedDeferreds();
- that._transition(template).done(function() {
+ that._transition(template).done(function () {
data.context = $(this);
that._trigger('completed', e, data);
that._trigger('finished', e, data);
@@ -215,7 +213,7 @@
}
},
// Callback for failed (abort or error) uploads:
- fail: function(e, data) {
+ fail: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
@@ -224,17 +222,17 @@
template,
deferred;
if (data.context) {
- data.context.each(function(index) {
+ data.context.each(function (index) {
if (data.errorThrown !== 'abort') {
var file = data.files[index];
file.error =
file.error || data.errorThrown || data.i18n('unknownError');
deferred = that._addFinishedDeferreds();
- that._transition($(this)).done(function() {
+ that._transition($(this)).done(function () {
var node = $(this);
template = that._renderDownload([file]).replaceAll(node);
that._forceReflow(template);
- that._transition(template).done(function() {
+ that._transition(template).done(function () {
data.context = $(this);
that._trigger('failed', e, data);
that._trigger('finished', e, data);
@@ -243,7 +241,7 @@
});
} else {
deferred = that._addFinishedDeferreds();
- that._transition($(this)).done(function() {
+ that._transition($(this)).done(function () {
$(this).remove();
that._trigger('failed', e, data);
that._trigger('finished', e, data);
@@ -260,7 +258,7 @@
.data('data', data);
that._forceReflow(data.context);
deferred = that._addFinishedDeferreds();
- that._transition(data.context).done(function() {
+ that._transition(data.context).done(function () {
data.context = $(this);
that._trigger('failed', e, data);
that._trigger('finished', e, data);
@@ -273,13 +271,13 @@
}
},
// Callback for upload progress events:
- progress: function(e, data) {
+ progress: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
var progress = Math.floor((data.loaded / data.total) * 100);
if (data.context) {
- data.context.each(function() {
+ data.context.each(function () {
$(this)
.find('.progress')
.attr('aria-valuenow', progress)
@@ -290,7 +288,7 @@
}
},
// Callback for global upload progress events:
- progressall: function(e, data) {
+ progressall: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
@@ -313,62 +311,64 @@
.css('width', progress + '%');
},
// Callback for uploads start, equivalent to the global ajaxStart event:
- start: function(e) {
+ start: function (e) {
if (e.isDefaultPrevented()) {
return false;
}
var that =
$(this).data('blueimp-fileupload') || $(this).data('fileupload');
that._resetFinishedDeferreds();
- that._transition($(this).find('.fileupload-progress')).done(function() {
- that._trigger('started', e);
- });
+ that
+ ._transition($(this).find('.fileupload-progress'))
+ .done(function () {
+ that._trigger('started', e);
+ });
},
// Callback for uploads stop, equivalent to the global ajaxStop event:
- stop: function(e) {
+ stop: function (e) {
if (e.isDefaultPrevented()) {
return false;
}
var that =
$(this).data('blueimp-fileupload') || $(this).data('fileupload'),
deferred = that._addFinishedDeferreds();
- $.when.apply($, that._getFinishedDeferreds()).done(function() {
+ $.when.apply($, that._getFinishedDeferreds()).done(function () {
that._trigger('stopped', e);
});
- that._transition($(this).find('.fileupload-progress')).done(function() {
- $(this)
- .find('.progress')
- .attr('aria-valuenow', '0')
- .children()
- .first()
- .css('width', '0%');
- $(this)
- .find('.progress-extended')
- .html('&nbsp;');
- deferred.resolve();
- });
+ that
+ ._transition($(this).find('.fileupload-progress'))
+ .done(function () {
+ $(this)
+ .find('.progress')
+ .attr('aria-valuenow', '0')
+ .children()
+ .first()
+ .css('width', '0%');
+ $(this).find('.progress-extended').html('&nbsp;');
+ deferred.resolve();
+ });
},
- processstart: function(e) {
+ processstart: function (e) {
if (e.isDefaultPrevented()) {
return false;
}
$(this).addClass('fileupload-processing');
},
- processstop: function(e) {
+ processstop: function (e) {
if (e.isDefaultPrevented()) {
return false;
}
$(this).removeClass('fileupload-processing');
},
// Callback for file deletion:
- destroy: function(e, data) {
+ destroy: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
var that =
$(this).data('blueimp-fileupload') || $(this).data('fileupload'),
- removeNode = function() {
- that._transition(data.context).done(function() {
+ removeNode = function () {
+ that._transition(data.context).done(function () {
$(this).remove();
that._trigger('destroyed', e, data);
});
@@ -377,7 +377,7 @@
data.dataType = data.dataType || that.options.dataType;
$.ajax(data)
.done(removeNode)
- .fail(function() {
+ .fail(function () {
that._trigger('destroyfailed', e, data);
});
} else {
@@ -386,29 +386,29 @@
}
},
- _resetFinishedDeferreds: function() {
+ _resetFinishedDeferreds: function () {
this._finishedUploads = [];
},
- _addFinishedDeferreds: function(deferred) {
+ _addFinishedDeferreds: function (deferred) {
// eslint-disable-next-line new-cap
var promise = deferred || $.Deferred();
this._finishedUploads.push(promise);
return promise;
},
- _getFinishedDeferreds: function() {
+ _getFinishedDeferreds: function () {
return this._finishedUploads;
},
// Link handler, that allows to download files
// by drag & drop of the links to the desktop:
- _enableDragToDesktop: function() {
+ _enableDragToDesktop: function () {
var link = $(this),
url = link.prop('href'),
name = link.prop('download'),
type = 'application/octet-stream';
- link.bind('dragstart', function(e) {
+ link.on('dragstart', function (e) {
try {
e.originalEvent.dataTransfer.setData(
'DownloadURL',
@@ -420,7 +420,7 @@
});
},
- _formatFileSize: function(bytes) {
+ _formatFileSize: function (bytes) {
if (typeof bytes !== 'number') {
return '';
}
@@ -433,7 +433,7 @@
return (bytes / 1000).toFixed(2) + ' KB';
},
- _formatBitrate: function(bits) {
+ _formatBitrate: function (bits) {
if (typeof bits !== 'number') {
return '';
}
@@ -449,7 +449,7 @@
return bits.toFixed(2) + ' bit/s';
},
- _formatTime: function(seconds) {
+ _formatTime: function (seconds) {
var date = new Date(seconds * 1000),
days = Math.floor(seconds / 86400);
days = days ? days + 'd ' : '';
@@ -463,11 +463,11 @@
);
},
- _formatPercentage: function(floatValue) {
+ _formatPercentage: function (floatValue) {
return (floatValue * 100).toFixed(2) + ' %';
},
- _renderExtendedProgress: function(data) {
+ _renderExtendedProgress: function (data) {
return (
this._formatBitrate(data.bitrate) +
' | ' +
@@ -481,7 +481,7 @@
);
},
- _renderTemplate: function(func, files) {
+ _renderTemplate: function (func, files) {
if (!func) {
return $();
}
@@ -493,31 +493,27 @@
if (result instanceof $) {
return result;
}
- return $(this.options.templatesContainer)
- .html(result)
- .children();
+ return $(this.options.templatesContainer).html(result).children();
},
- _renderPreviews: function(data) {
- data.context.find('.preview').each(function(index, elm) {
- $(elm)
- .empty()
- .append(data.files[index].preview);
+ _renderPreviews: function (data) {
+ data.context.find('.preview').each(function (index, elm) {
+ $(elm).empty().append(data.files[index].preview);
});
},
- _renderUpload: function(files) {
+ _renderUpload: function (files) {
return this._renderTemplate(this.options.uploadTemplate, files);
},
- _renderDownload: function(files) {
+ _renderDownload: function (files) {
return this._renderTemplate(this.options.downloadTemplate, files)
.find('a[download]')
.each(this._enableDragToDesktop)
.end();
},
- _editHandler: function(e) {
+ _editHandler: function (e) {
e.preventDefault();
if (!this.options.edit) return;
var that = this,
@@ -525,24 +521,24 @@
template = button.closest('.template-upload'),
data = template.data('data'),
index = button.data().index;
- this.options.edit(data.files[index]).then(function(file) {
+ this.options.edit(data.files[index]).then(function (file) {
if (!file) return;
data.files[index] = file;
data.context.addClass('processing');
template.find('.edit,.start').prop('disabled', true);
$(that.element)
.fileupload('process', data)
- .always(function() {
+ .always(function () {
template
.find('.size')
.text(that._formatFileSize(data.files[index].size));
data.context.removeClass('processing');
that._renderPreviews(data);
})
- .done(function() {
+ .done(function () {
template.find('.edit,.start').prop('disabled', false);
})
- .fail(function() {
+ .fail(function () {
template.find('.edit').prop('disabled', false);
var error = data.files[index].error;
if (error) {
@@ -552,7 +548,7 @@
});
},
- _startHandler: function(e) {
+ _startHandler: function (e) {
e.preventDefault();
var button = $(e.currentTarget),
template = button.closest('.template-upload'),
@@ -563,7 +559,7 @@
}
},
- _cancelHandler: function(e) {
+ _cancelHandler: function (e) {
e.preventDefault();
var template = $(e.currentTarget).closest(
'.template-upload,.template-download'
@@ -578,7 +574,7 @@
}
},
- _deleteHandler: function(e) {
+ _deleteHandler: function (e) {
e.preventDefault();
var button = $(e.currentTarget);
this._trigger(
@@ -594,11 +590,11 @@
);
},
- _forceReflow: function(node) {
+ _forceReflow: function (node) {
return $.support.transition && node.length && node[0].offsetWidth;
},
- _transition: function(node) {
+ _transition: function (node) {
// eslint-disable-next-line new-cap
var dfd = $.Deferred();
if (
@@ -606,16 +602,16 @@
node.hasClass('fade') &&
node.is(':visible')
) {
- var transitionEndHandler = function(e) {
+ var transitionEndHandler = function (e) {
// Make sure we don't respond to other transition events
// in the container element, e.g. from button elements:
if (e.target === node[0]) {
- node.unbind($.support.transition.end, transitionEndHandler);
+ node.off($.support.transition.end, transitionEndHandler);
dfd.resolveWith(node);
}
};
node
- .bind($.support.transition.end, transitionEndHandler)
+ .on($.support.transition.end, transitionEndHandler)
.toggleClass(this.options.showElementClass);
} else {
node.toggleClass(this.options.showElementClass);
@@ -624,23 +620,23 @@
return dfd;
},
- _initButtonBarEventHandlers: function() {
+ _initButtonBarEventHandlers: function () {
var fileUploadButtonBar = this.element.find('.fileupload-buttonbar'),
filesList = this.options.filesContainer;
this._on(fileUploadButtonBar.find('.start'), {
- click: function(e) {
+ click: function (e) {
e.preventDefault();
filesList.find('.start').click();
}
});
this._on(fileUploadButtonBar.find('.cancel'), {
- click: function(e) {
+ click: function (e) {
e.preventDefault();
filesList.find('.cancel').click();
}
});
this._on(fileUploadButtonBar.find('.delete'), {
- click: function(e) {
+ click: function (e) {
e.preventDefault();
filesList
.find('.toggle:checked')
@@ -651,7 +647,7 @@
}
});
this._on(fileUploadButtonBar.find('.toggle'), {
- change: function(e) {
+ change: function (e) {
filesList
.find('.toggle')
.prop('checked', $(e.currentTarget).is(':checked'));
@@ -659,7 +655,7 @@
});
},
- _destroyButtonBarEventHandlers: function() {
+ _destroyButtonBarEventHandlers: function () {
this._off(
this.element
.find('.fileupload-buttonbar')
@@ -669,7 +665,7 @@
this._off(this.element.find('.fileupload-buttonbar .toggle'), 'change.');
},
- _initEventHandlers: function() {
+ _initEventHandlers: function () {
this._super();
this._on(this.options.filesContainer, {
'click .edit': this._editHandler,
@@ -680,13 +676,13 @@
this._initButtonBarEventHandlers();
},
- _destroyEventHandlers: function() {
+ _destroyEventHandlers: function () {
this._destroyButtonBarEventHandlers();
this._off(this.options.filesContainer, 'click');
this._super();
},
- _enableFileInputButton: function() {
+ _enableFileInputButton: function () {
this.element
.find('.fileinput-button input')
.prop('disabled', false)
@@ -694,7 +690,7 @@
.removeClass('disabled');
},
- _disableFileInputButton: function() {
+ _disableFileInputButton: function () {
this.element
.find('.fileinput-button input')
.prop('disabled', true)
@@ -702,7 +698,7 @@
.addClass('disabled');
},
- _initTemplates: function() {
+ _initTemplates: function () {
var options = this.options;
options.templatesContainer = this.document[0].createElement(
options.filesContainer.prop('nodeName')
@@ -717,7 +713,7 @@
}
},
- _initFilesContainer: function() {
+ _initFilesContainer: function () {
var options = this.options;
if (options.filesContainer === undefined) {
options.filesContainer = this.element.find('.files');
@@ -726,13 +722,13 @@
}
},
- _initSpecialOptions: function() {
+ _initSpecialOptions: function () {
this._super();
this._initFilesContainer();
this._initTemplates();
},
- _create: function() {
+ _create: function () {
this._super();
this._resetFinishedDeferreds();
if (!$.support.fileInput) {
@@ -740,7 +736,7 @@
}
},
- enable: function() {
+ enable: function () {
var wasDisabled = false;
if (this.options.disabled) {
wasDisabled = true;
@@ -752,7 +748,7 @@
}
},
- disable: function() {
+ disable: function () {
if (!this.options.disabled) {
this.element.find('input, button').prop('disabled', true);
this._disableFileInputButton();
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-validate.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-validate.js
index 37b380a00..a277efc46 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-validate.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-validate.js
@@ -11,7 +11,7 @@
/* global define, require */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -23,7 +23,7 @@
// Browser globals:
factory(window.jQuery);
}
-})(function($) {
+})(function ($) {
'use strict';
// Append to the default processQueue:
@@ -70,7 +70,7 @@
},
processActions: {
- validate: function(data, options) {
+ validate: function (data, options) {
if (options.disabled) {
return data;
}
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-video.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-video.js
index 06d5f66cf..5dc78f36b 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-video.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload-video.js
@@ -11,7 +11,7 @@
/* global define, require */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -27,7 +27,7 @@
// Browser globals:
factory(window.jQuery, window.loadImage);
}
-})(function($, loadImage) {
+})(function ($, loadImage) {
'use strict';
// Prepend to the default processQueue:
@@ -63,7 +63,7 @@
// as video element if the browser supports playing it.
// Accepts the options fileTypes (regular expression)
// and maxFileSize (integer) to limit the files to load:
- loadVideo: function(data, options) {
+ loadVideo: function (data, options) {
if (options.disabled) {
return data;
}
@@ -90,7 +90,7 @@
},
// Sets the video element as a property of the file object:
- setVideo: function(data, options) {
+ setVideo: function (data, options) {
if (data.video && !options.disabled) {
data.files[data.index][options.name || 'preview'] = data.video;
}
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js
index d4d32570c..f75cf2b10 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.fileupload.js
@@ -12,7 +12,7 @@
/* global define, require */
/* eslint-disable new-cap */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -24,7 +24,7 @@
// Browser globals:
factory(window.jQuery);
}
-})(function($) {
+})(function ($) {
'use strict';
// Detect file input support, based on
@@ -64,7 +64,7 @@
*/
function getDragHandler(type) {
var isDragOver = type === 'dragover';
- return function(e) {
+ return function (e) {
e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;
var dataTransfer = e.dataTransfer;
if (
@@ -185,11 +185,11 @@
// Translation function, gets the message key to be translated
// and an object with context specific data as arguments:
- i18n: function(message, context) {
+ i18n: function (message, context) {
// eslint-disable-next-line no-param-reassign
message = this.messages[message] || message.toString();
if (context) {
- $.each(context, function(key, value) {
+ $.each(context, function (key, value) {
// eslint-disable-next-line no-param-reassign
message = message.replace('{' + key + '}', value);
});
@@ -202,7 +202,7 @@
// value properties, a function returning such an array, a FormData
// object (for XHR file uploads), or a simple object.
// The form of the first fileInput is given as parameter to the function:
- formData: function(form) {
+ formData: function (form) {
return form.serializeArray();
},
@@ -217,12 +217,12 @@
// and allows you to override plugin options as well as define ajax settings.
//
// Listeners for this callback can also be bound the following way:
- // .bind('fileuploadadd', func);
+ // .on('fileuploadadd', func);
//
// data.submit() returns a Promise object and allows to attach additional
// handlers using jQuery's Deferred callbacks:
// data.submit().done(func).fail(func).always(func);
- add: function(e, data) {
+ add: function (e, data) {
if (e.isDefaultPrevented()) {
return false;
}
@@ -231,7 +231,7 @@
(data.autoUpload !== false &&
$(this).fileupload('option', 'autoUpload'))
) {
- data.process().done(function() {
+ data.process().done(function () {
data.submit();
});
}
@@ -240,58 +240,58 @@
// Other callbacks:
// Callback for the submit event of each file upload:
- // submit: function (e, data) {}, // .bind('fileuploadsubmit', func);
+ // submit: function (e, data) {}, // .on('fileuploadsubmit', func);
// Callback for the start of each file upload request:
- // send: function (e, data) {}, // .bind('fileuploadsend', func);
+ // send: function (e, data) {}, // .on('fileuploadsend', func);
// Callback for successful uploads:
- // done: function (e, data) {}, // .bind('fileuploaddone', func);
+ // done: function (e, data) {}, // .on('fileuploaddone', func);
// Callback for failed (abort or error) uploads:
- // fail: function (e, data) {}, // .bind('fileuploadfail', func);
+ // fail: function (e, data) {}, // .on('fileuploadfail', func);
// Callback for completed (success, abort or error) requests:
- // always: function (e, data) {}, // .bind('fileuploadalways', func);
+ // always: function (e, data) {}, // .on('fileuploadalways', func);
// Callback for upload progress events:
- // progress: function (e, data) {}, // .bind('fileuploadprogress', func);
+ // progress: function (e, data) {}, // .on('fileuploadprogress', func);
// Callback for global upload progress events:
- // progressall: function (e, data) {}, // .bind('fileuploadprogressall', func);
+ // progressall: function (e, data) {}, // .on('fileuploadprogressall', func);
// Callback for uploads start, equivalent to the global ajaxStart event:
- // start: function (e) {}, // .bind('fileuploadstart', func);
+ // start: function (e) {}, // .on('fileuploadstart', func);
// Callback for uploads stop, equivalent to the global ajaxStop event:
- // stop: function (e) {}, // .bind('fileuploadstop', func);
+ // stop: function (e) {}, // .on('fileuploadstop', func);
// Callback for change events of the fileInput(s):
- // change: function (e, data) {}, // .bind('fileuploadchange', func);
+ // change: function (e, data) {}, // .on('fileuploadchange', func);
// Callback for paste events to the pasteZone(s):
- // paste: function (e, data) {}, // .bind('fileuploadpaste', func);
+ // paste: function (e, data) {}, // .on('fileuploadpaste', func);
// Callback for drop events of the dropZone(s):
- // drop: function (e, data) {}, // .bind('fileuploaddrop', func);
+ // drop: function (e, data) {}, // .on('fileuploaddrop', func);
// Callback for dragover events of the dropZone(s):
- // dragover: function (e) {}, // .bind('fileuploaddragover', func);
+ // dragover: function (e) {}, // .on('fileuploaddragover', func);
// Callback before the start of each chunk upload request (before form data initialization):
- // chunkbeforesend: function (e, data) {}, // .bind('fileuploadchunkbeforesend', func);
+ // chunkbeforesend: function (e, data) {}, // .on('fileuploadchunkbeforesend', func);
// Callback for the start of each chunk upload request:
- // chunksend: function (e, data) {}, // .bind('fileuploadchunksend', func);
+ // chunksend: function (e, data) {}, // .on('fileuploadchunksend', func);
// Callback for successful chunk uploads:
- // chunkdone: function (e, data) {}, // .bind('fileuploadchunkdone', func);
+ // chunkdone: function (e, data) {}, // .on('fileuploadchunkdone', func);
// Callback for failed (abort or error) chunk uploads:
- // chunkfail: function (e, data) {}, // .bind('fileuploadchunkfail', func);
+ // chunkfail: function (e, data) {}, // .on('fileuploadchunkfail', func);
// Callback for completed (success, abort or error) chunk upload requests:
- // chunkalways: function (e, data) {}, // .bind('fileuploadchunkalways', func);
+ // chunkalways: function (e, data) {}, // .on('fileuploadchunkalways', func);
// The plugin options are used as settings object for the ajax calls.
// The following are jQuery ajax settings required for the file uploads:
@@ -313,16 +313,16 @@
_blobSlice:
$.support.blobSlice &&
- function() {
+ function () {
var slice = this.slice || this.webkitSlice || this.mozSlice;
return slice.apply(this, arguments);
},
- _BitrateTimer: function() {
+ _BitrateTimer: function () {
this.timestamp = Date.now ? Date.now() : new Date().getTime();
this.loaded = 0;
this.bitrate = 0;
- this.getBitrate = function(now, loaded, interval) {
+ this.getBitrate = function (now, loaded, interval) {
var timeDiff = now - this.timestamp;
if (!this.bitrate || !interval || timeDiff > interval) {
this.bitrate = (loaded - this.loaded) * (1000 / timeDiff) * 8;
@@ -333,7 +333,7 @@
};
},
- _isXHRUpload: function(options) {
+ _isXHRUpload: function (options) {
return (
!options.forceIframeTransport &&
((!options.multipart && $.support.xhrFileUpload) ||
@@ -341,7 +341,7 @@
);
},
- _getFormData: function(options) {
+ _getFormData: function (options) {
var formData;
if ($.type(options.formData) === 'function') {
return options.formData(options.form);
@@ -351,7 +351,7 @@
}
if ($.type(options.formData) === 'object') {
formData = [];
- $.each(options.formData, function(name, value) {
+ $.each(options.formData, function (name, value) {
formData.push({ name: name, value: value });
});
return formData;
@@ -359,15 +359,15 @@
return [];
},
- _getTotal: function(files) {
+ _getTotal: function (files) {
var total = 0;
- $.each(files, function(index, file) {
+ $.each(files, function (index, file) {
total += file.size || 1;
});
return total;
},
- _initProgressObject: function(obj) {
+ _initProgressObject: function (obj) {
var progress = {
loaded: 0,
total: 0,
@@ -380,7 +380,7 @@
}
},
- _initResponseObject: function(obj) {
+ _initResponseObject: function (obj) {
var prop;
if (obj._response) {
for (prop in obj._response) {
@@ -393,7 +393,7 @@
}
},
- _onProgress: function(e, data) {
+ _onProgress: function (e, data) {
if (e.lengthComputable) {
var now = Date.now ? Date.now() : new Date().getTime(),
loaded;
@@ -442,13 +442,13 @@
}
},
- _initProgressListener: function(options) {
+ _initProgressListener: function (options) {
var that = this,
xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();
// Accesss to the native XHR object is required to add event listeners
// for the upload progress event:
if (xhr.upload) {
- $(xhr.upload).bind('progress', function(e) {
+ $(xhr.upload).on('progress', function (e) {
var oe = e.originalEvent;
// Make sure the progress event properties get copied over:
e.lengthComputable = oe.lengthComputable;
@@ -456,30 +456,30 @@
e.total = oe.total;
that._onProgress(e, options);
});
- options.xhr = function() {
+ options.xhr = function () {
return xhr;
};
}
},
- _deinitProgressListener: function(options) {
+ _deinitProgressListener: function (options) {
var xhr = options.xhr ? options.xhr() : $.ajaxSettings.xhr();
if (xhr.upload) {
- $(xhr.upload).unbind('progress');
+ $(xhr.upload).off('progress');
}
},
- _isInstanceOf: function(type, obj) {
+ _isInstanceOf: function (type, obj) {
// Cross-frame instanceof check
return Object.prototype.toString.call(obj) === '[object ' + type + ']';
},
- _getUniqueFilename: function(name, map) {
+ _getUniqueFilename: function (name, map) {
// eslint-disable-next-line no-param-reassign
name = String(name);
if (map[name]) {
// eslint-disable-next-line no-param-reassign
- name = name.replace(/(?: \(([\d]+)\))?(\.[^.]+)?$/, function(
+ name = name.replace(/(?: \(([\d]+)\))?(\.[^.]+)?$/, function (
_,
p1,
p2
@@ -494,7 +494,7 @@
return name;
},
- _initXHRData: function(options) {
+ _initXHRData: function (options) {
var that = this,
formData,
file = options.files[0],
@@ -530,7 +530,7 @@
value: options.blob
});
} else {
- $.each(options.files, function(index, file) {
+ $.each(options.files, function (index, file) {
formData.push({
name:
($.type(options.paramName) === 'array' &&
@@ -545,7 +545,7 @@
formData = options.formData;
} else {
formData = new FormData();
- $.each(this._getFormData(options), function(index, field) {
+ $.each(this._getFormData(options), function (index, field) {
formData.append(field.name, field.value);
});
}
@@ -556,7 +556,7 @@
file.uploadName || file.name
);
} else {
- $.each(options.files, function(index, file) {
+ $.each(options.files, function (index, file) {
// This check allows the tests to run with
// dummy objects:
if (
@@ -587,10 +587,8 @@
options.blob = null;
},
- _initIframeSettings: function(options) {
- var targetHost = $('<a></a>')
- .prop('href', options.url)
- .prop('host');
+ _initIframeSettings: function (options) {
+ var targetHost = $('<a></a>').prop('href', options.url).prop('host');
// Setting the dataType to iframe enables the iframe transport:
options.dataType = 'iframe ' + (options.dataType || '');
// The iframe transport accepts a serialized array as form data:
@@ -604,7 +602,7 @@
}
},
- _initDataSettings: function(options) {
+ _initDataSettings: function (options) {
if (this._isXHRUpload(options)) {
if (!this._chunkedUpload(options, true)) {
if (!options.data) {
@@ -622,12 +620,12 @@
}
},
- _getParamName: function(options) {
+ _getParamName: function (options) {
var fileInput = $(options.fileInput),
paramName = options.paramName;
if (!paramName) {
paramName = [];
- fileInput.each(function() {
+ fileInput.each(function () {
var input = $(this),
name = input.prop('name') || 'files[]',
i = (input.prop('files') || [1]).length;
@@ -645,7 +643,7 @@
return paramName;
},
- _initFormSettings: function(options) {
+ _initFormSettings: function (options) {
// Retrieve missing options from the input field and the
// associated form, if available:
if (!options.form || !options.form.length) {
@@ -679,7 +677,7 @@
}
},
- _getAJAXSettings: function(data) {
+ _getAJAXSettings: function (data) {
var options = $.extend({}, this.options, data);
this._initFormSettings(options);
this._initDataSettings(options);
@@ -688,7 +686,7 @@
// jQuery 1.6 doesn't provide .state(),
// while jQuery 1.8+ removed .isRejected() and .isResolved():
- _getDeferredState: function(deferred) {
+ _getDeferredState: function (deferred) {
if (deferred.state) {
return deferred.state();
}
@@ -703,7 +701,7 @@
// Maps jqXHR callbacks to the equivalent
// methods of the given Promise object:
- _enhancePromise: function(promise) {
+ _enhancePromise: function (promise) {
promise.success = promise.done;
promise.error = promise.fail;
promise.complete = promise.always;
@@ -712,7 +710,7 @@
// Creates and returns a Promise object enhanced with
// the jqXHR methods abort, success, error and complete:
- _getXHRPromise: function(resolveOrReject, context, args) {
+ _getXHRPromise: function (resolveOrReject, context, args) {
var dfd = $.Deferred(),
promise = dfd.promise();
// eslint-disable-next-line no-param-reassign
@@ -727,23 +725,19 @@
},
// Adds convenience methods to the data callback argument:
- _addConvenienceMethods: function(e, data) {
+ _addConvenienceMethods: function (e, data) {
var that = this,
- getPromise = function(args) {
- return $.Deferred()
- .resolveWith(that, args)
- .promise();
+ getPromise = function (args) {
+ return $.Deferred().resolveWith(that, args).promise();
};
- data.process = function(resolveFunc, rejectFunc) {
+ data.process = function (resolveFunc, rejectFunc) {
if (resolveFunc || rejectFunc) {
data._processQueue = this._processQueue = (
this._processQueue || getPromise([this])
)
- .then(function() {
+ .then(function () {
if (data.errorThrown) {
- return $.Deferred()
- .rejectWith(that, [data])
- .promise();
+ return $.Deferred().rejectWith(that, [data]).promise();
}
return getPromise(arguments);
})
@@ -751,7 +745,7 @@
}
return this._processQueue || getPromise([this]);
};
- data.submit = function() {
+ data.submit = function () {
if (this.state() !== 'pending') {
data.jqXHR = this.jqXHR =
that._trigger(
@@ -762,7 +756,7 @@
}
return this.jqXHR || that._getXHRPromise();
};
- data.abort = function() {
+ data.abort = function () {
if (this.jqXHR) {
return this.jqXHR.abort();
}
@@ -770,7 +764,7 @@
that._trigger('fail', null, this);
return that._getXHRPromise(false);
};
- data.state = function() {
+ data.state = function () {
if (this.jqXHR) {
return that._getDeferredState(this.jqXHR);
}
@@ -778,24 +772,24 @@
return that._getDeferredState(this._processQueue);
}
};
- data.processing = function() {
+ data.processing = function () {
return (
!this.jqXHR &&
this._processQueue &&
that._getDeferredState(this._processQueue) === 'pending'
);
};
- data.progress = function() {
+ data.progress = function () {
return this._progress;
};
- data.response = function() {
+ data.response = function () {
return this._response;
};
},
// Parses the Range header from the server response
// and returns the uploaded bytes:
- _getUploadedBytes: function(jqXHR) {
+ _getUploadedBytes: function (jqXHR) {
var range = jqXHR.getResponseHeader('Range'),
parts = range && range.split('-'),
upperBytesPos = parts && parts.length > 1 && parseInt(parts[1], 10);
@@ -807,7 +801,7 @@
// If the second parameter is true, only tests if the file
// should be uploaded in chunks, but does not invoke any
// upload requests:
- _chunkedUpload: function(options, testOnly) {
+ _chunkedUpload: function (options, testOnly) {
options.uploadedBytes = options.uploadedBytes || 0;
var that = this,
file = options.files[0],
@@ -841,7 +835,7 @@
]);
}
// The chunk upload method:
- upload = function() {
+ upload = function () {
// Clone the options object for each chunk upload:
var o = $.extend({}, options),
currentLoaded = o._progress.loaded;
@@ -867,7 +861,7 @@
(that._trigger('chunksend', null, o) !== false && $.ajax(o)) ||
that._getXHRPromise(false, o.context)
)
- .done(function(result, textStatus, jqXHR) {
+ .done(function (result, textStatus, jqXHR) {
ub = that._getUploadedBytes(jqXHR) || ub + o.chunkSize;
// Create a progress event if no final progress event
// with loaded equaling total has been triggered
@@ -896,7 +890,7 @@
dfd.resolveWith(o.context, [result, textStatus, jqXHR]);
}
})
- .fail(function(jqXHR, textStatus, errorThrown) {
+ .fail(function (jqXHR, textStatus, errorThrown) {
o.jqXHR = jqXHR;
o.textStatus = textStatus;
o.errorThrown = errorThrown;
@@ -904,19 +898,19 @@
that._trigger('chunkalways', null, o);
dfd.rejectWith(o.context, [jqXHR, textStatus, errorThrown]);
})
- .always(function() {
+ .always(function () {
that._deinitProgressListener(o);
});
};
this._enhancePromise(promise);
- promise.abort = function() {
+ promise.abort = function () {
return jqXHR.abort();
};
upload();
return promise;
},
- _beforeSend: function(e, data) {
+ _beforeSend: function (e, data) {
if (this._active === 0) {
// the start callback is triggered when an upload starts
// and no other uploads are currently running,
@@ -942,7 +936,7 @@
this._progress.total += data.total;
},
- _onDone: function(result, textStatus, jqXHR, options) {
+ _onDone: function (result, textStatus, jqXHR, options) {
var total = options._progress.total,
response = options._response;
if (options._progress.loaded < total) {
@@ -963,7 +957,7 @@
this._trigger('done', null, options);
},
- _onFail: function(jqXHR, textStatus, errorThrown, options) {
+ _onFail: function (jqXHR, textStatus, errorThrown, options) {
var response = options._response;
if (options.recalculateProgress) {
// Remove the failed (error or abort) file upload from
@@ -977,13 +971,13 @@
this._trigger('fail', null, options);
},
- _onAlways: function(jqXHRorResult, textStatus, jqXHRorError, options) {
+ _onAlways: function (jqXHRorResult, textStatus, jqXHRorError, options) {
// jqXHRorResult, textStatus and jqXHRorError are added to the
// options object via done and fail callbacks
this._trigger('always', null, options);
},
- _onSend: function(e, data) {
+ _onSend: function (e, data) {
if (!data.submit) {
this._addConvenienceMethods(e, data);
}
@@ -993,7 +987,7 @@
slot,
pipe,
options = that._getAJAXSettings(data),
- send = function() {
+ send = function () {
that._sending += 1;
// Set timer for bitrate progress calculation:
options._bitrateTimer = new that._BitrateTimer();
@@ -1010,13 +1004,13 @@
that._chunkedUpload(options) ||
$.ajax(options)
)
- .done(function(result, textStatus, jqXHR) {
+ .done(function (result, textStatus, jqXHR) {
that._onDone(result, textStatus, jqXHR, options);
})
- .fail(function(jqXHR, textStatus, errorThrown) {
+ .fail(function (jqXHR, textStatus, errorThrown) {
that._onFail(jqXHR, textStatus, errorThrown, options);
})
- .always(function(jqXHRorResult, textStatus, jqXHRorError) {
+ .always(function (jqXHRorResult, textStatus, jqXHRorError) {
that._deinitProgressListener(options);
that._onAlways(
jqXHRorResult,
@@ -1066,7 +1060,7 @@
// Return the piped Promise object, enhanced with an abort method,
// which is delegated to the jqXHR object of the current upload,
// and jqXHR callbacks mapped to the equivalent Promise methods:
- pipe.abort = function() {
+ pipe.abort = function () {
aborted = [undefined, 'abort', 'abort'];
if (!jqXHR) {
if (slot) {
@@ -1081,7 +1075,7 @@
return send();
},
- _onAdd: function(e, data) {
+ _onAdd: function (e, data) {
var that = this,
result = true,
options = $.extend({}, this.options, data),
@@ -1144,7 +1138,7 @@
paramNameSet = paramName;
}
data.originalFiles = files;
- $.each(fileSet || files, function(index, element) {
+ $.each(fileSet || files, function (index, element) {
var newData = $.extend({}, data);
newData.files = fileSet ? element : [element];
newData.paramName = paramNameSet[index];
@@ -1161,15 +1155,13 @@
return result;
},
- _replaceFileInput: function(data) {
+ _replaceFileInput: function (data) {
var input = data.fileInput,
inputClone = input.clone(true),
restoreFocus = input.is(document.activeElement);
// Add a reference for the new cloned file input to the data argument:
data.fileInputClone = inputClone;
- $('<form></form>')
- .append(inputClone)[0]
- .reset();
+ $('<form></form>').append(inputClone)[0].reset();
// Detaching allows to insert the fileInput on another form
// without loosing the file input value:
input.after(inputClone).detach();
@@ -1179,11 +1171,11 @@
inputClone.focus();
}
// Avoid memory leaks with the detached file input:
- $.cleanData(input.unbind('remove'));
+ $.cleanData(input.off('remove'));
// Replace the original file input element in the fileInput
// elements set with the clone, which has been copied including
// event handlers:
- this.options.fileInput = this.options.fileInput.map(function(i, el) {
+ this.options.fileInput = this.options.fileInput.map(function (i, el) {
if (el === input[0]) {
return inputClone[0];
}
@@ -1196,12 +1188,12 @@
}
},
- _handleFileTreeEntry: function(entry, path) {
+ _handleFileTreeEntry: function (entry, path) {
var that = this,
dfd = $.Deferred(),
entries = [],
dirReader,
- errorHandler = function(e) {
+ errorHandler = function (e) {
if (e && !e.entry) {
e.entry = entry;
}
@@ -1211,16 +1203,16 @@
// to be returned together in one set:
dfd.resolve([e]);
},
- successHandler = function(entries) {
+ successHandler = function (entries) {
that
._handleFileTreeEntries(entries, path + entry.name + '/')
- .done(function(files) {
+ .done(function (files) {
dfd.resolve(files);
})
.fail(errorHandler);
},
- readEntries = function() {
- dirReader.readEntries(function(results) {
+ readEntries = function () {
+ dirReader.readEntries(function (results) {
if (!results.length) {
successHandler(entries);
} else {
@@ -1237,7 +1229,7 @@
entry._file.relativePath = path;
dfd.resolve(entry._file);
} else {
- entry.file(function(file) {
+ entry.file(function (file) {
file.relativePath = path;
dfd.resolve(file);
}, errorHandler);
@@ -1253,21 +1245,21 @@
return dfd.promise();
},
- _handleFileTreeEntries: function(entries, path) {
+ _handleFileTreeEntries: function (entries, path) {
var that = this;
return $.when
.apply(
$,
- $.map(entries, function(entry) {
+ $.map(entries, function (entry) {
return that._handleFileTreeEntry(entry, path);
})
)
- .then(function() {
+ .then(function () {
return Array.prototype.concat.apply([], arguments);
});
},
- _getDroppedFiles: function(dataTransfer) {
+ _getDroppedFiles: function (dataTransfer) {
// eslint-disable-next-line no-param-reassign
dataTransfer = dataTransfer || {};
var items = dataTransfer.items;
@@ -1277,7 +1269,7 @@
(items[0].webkitGetAsEntry || items[0].getAsEntry)
) {
return this._handleFileTreeEntries(
- $.map(items, function(item) {
+ $.map(items, function (item) {
var entry;
if (item.webkitGetAsEntry) {
entry = item.webkitGetAsEntry();
@@ -1291,12 +1283,10 @@
})
);
}
- return $.Deferred()
- .resolve($.makeArray(dataTransfer.files))
- .promise();
+ return $.Deferred().resolve($.makeArray(dataTransfer.files)).promise();
},
- _getSingleFileInputFiles: function(fileInput) {
+ _getSingleFileInputFiles: function (fileInput) {
// eslint-disable-next-line no-param-reassign
fileInput = $(fileInput);
var entries =
@@ -1310,9 +1300,7 @@
if (!files.length) {
value = fileInput.prop('value');
if (!value) {
- return $.Deferred()
- .resolve([])
- .promise();
+ return $.Deferred().resolve([]).promise();
}
// If the files property is not available, the browser does not
// support the File API and we add a pseudo File object with
@@ -1320,34 +1308,32 @@
files = [{ name: value.replace(/^.*\\/, '') }];
} else if (files[0].name === undefined && files[0].fileName) {
// File normalization for Safari 4 and Firefox 3:
- $.each(files, function(index, file) {
+ $.each(files, function (index, file) {
file.name = file.fileName;
file.size = file.fileSize;
});
}
- return $.Deferred()
- .resolve(files)
- .promise();
+ return $.Deferred().resolve(files).promise();
},
- _getFileInputFiles: function(fileInput) {
+ _getFileInputFiles: function (fileInput) {
if (!(fileInput instanceof $) || fileInput.length === 1) {
return this._getSingleFileInputFiles(fileInput);
}
return $.when
.apply($, $.map(fileInput, this._getSingleFileInputFiles))
- .then(function() {
+ .then(function () {
return Array.prototype.concat.apply([], arguments);
});
},
- _onChange: function(e) {
+ _onChange: function (e) {
var that = this,
data = {
fileInput: $(e.target),
form: $(e.target.form)
};
- this._getFileInputFiles(data.fileInput).always(function(files) {
+ this._getFileInputFiles(data.fileInput).always(function (files) {
data.files = files;
if (that.options.replaceFileInput) {
that._replaceFileInput(data);
@@ -1364,14 +1350,14 @@
});
},
- _onPaste: function(e) {
+ _onPaste: function (e) {
var items =
e.originalEvent &&
e.originalEvent.clipboardData &&
e.originalEvent.clipboardData.items,
data = { files: [] };
if (items && items.length) {
- $.each(items, function(index, item) {
+ $.each(items, function (index, item) {
var file = item.getAsFile && item.getAsFile();
if (file) {
data.files.push(file);
@@ -1389,14 +1375,14 @@
}
},
- _onDrop: function(e) {
+ _onDrop: function (e) {
e.dataTransfer = e.originalEvent && e.originalEvent.dataTransfer;
var that = this,
dataTransfer = e.dataTransfer,
data = {};
if (dataTransfer && dataTransfer.files && dataTransfer.files.length) {
e.preventDefault();
- this._getDroppedFiles(dataTransfer).always(function(files) {
+ this._getDroppedFiles(dataTransfer).always(function (files) {
data.files = files;
if (
that._trigger(
@@ -1417,7 +1403,7 @@
_onDragLeave: getDragHandler('dragleave'),
- _initEventHandlers: function() {
+ _initEventHandlers: function () {
if (this._isXHRUpload(this.options)) {
this._on(this.options.dropZone, {
dragover: this._onDragOver,
@@ -1438,17 +1424,17 @@
}
},
- _destroyEventHandlers: function() {
+ _destroyEventHandlers: function () {
this._off(this.options.dropZone, 'dragenter dragleave dragover drop');
this._off(this.options.pasteZone, 'paste');
this._off(this.options.fileInput, 'change');
},
- _destroy: function() {
+ _destroy: function () {
this._destroyEventHandlers();
},
- _setOption: function(key, value) {
+ _setOption: function (key, value) {
var reinit = $.inArray(key, this._specialOptions) !== -1;
if (reinit) {
this._destroyEventHandlers();
@@ -1460,7 +1446,7 @@
}
},
- _initSpecialOptions: function() {
+ _initSpecialOptions: function () {
var options = this.options;
if (options.fileInput === undefined) {
options.fileInput = this.element.is('input[type="file"]')
@@ -1477,14 +1463,14 @@
}
},
- _getRegExp: function(str) {
+ _getRegExp: function (str) {
var parts = str.split('/'),
modifiers = parts.pop();
parts.shift();
return new RegExp(parts.join('/'), modifiers);
},
- _isRegExpOption: function(key, value) {
+ _isRegExpOption: function (key, value) {
return (
key !== 'url' &&
$.type(value) === 'string' &&
@@ -1492,17 +1478,17 @@
);
},
- _initDataAttributes: function() {
+ _initDataAttributes: function () {
var that = this,
options = this.options,
data = this.element.data();
// Initialize options set via HTML5 data-attributes:
- $.each(this.element[0].attributes, function(index, attr) {
+ $.each(this.element[0].attributes, function (index, attr) {
var key = attr.name.toLowerCase(),
value;
if (/^data-/.test(key)) {
// Convert hyphen-ated key to camelCase:
- key = key.slice(5).replace(/-[a-z]/g, function(str) {
+ key = key.slice(5).replace(/-[a-z]/g, function (str) {
return str.charAt(1).toUpperCase();
});
value = data[key];
@@ -1514,7 +1500,7 @@
});
},
- _create: function() {
+ _create: function () {
this._initDataAttributes();
this._initSpecialOptions();
this._slots = [];
@@ -1526,7 +1512,7 @@
// This method is exposed to the widget API and allows to query
// the number of active uploads:
- active: function() {
+ active: function () {
return this._active;
},
@@ -1534,7 +1520,7 @@
// the widget upload progress.
// It returns an object with loaded, total and bitrate properties
// for the running uploads:
- progress: function() {
+ progress: function () {
return this._progress;
},
@@ -1542,13 +1528,13 @@
// using the fileupload API. The data parameter accepts an object which
// must have a files property and can contain additional options:
// .fileupload('add', {files: filesList});
- add: function(data) {
+ add: function (data) {
var that = this;
if (!data || this.options.disabled) {
return;
}
if (data.fileInput && !data.files) {
- this._getFileInputFiles(data.fileInput).always(function(files) {
+ this._getFileInputFiles(data.fileInput).always(function (files) {
data.files = files;
that._onAdd(null, data);
});
@@ -1563,7 +1549,7 @@
// must have a files or fileInput property and can contain additional options:
// .fileupload('send', {files: filesList});
// The method returns a Promise object for the file upload call.
- send: function(data) {
+ send: function (data) {
if (data && !this.options.disabled) {
if (data.fileInput && !data.files) {
var that = this,
@@ -1571,7 +1557,7 @@
promise = dfd.promise(),
jqXHR,
aborted;
- promise.abort = function() {
+ promise.abort = function () {
aborted = true;
if (jqXHR) {
return jqXHR.abort();
@@ -1579,7 +1565,7 @@
dfd.reject(null, 'abort', 'abort');
return promise;
};
- this._getFileInputFiles(data.fileInput).always(function(files) {
+ this._getFileInputFiles(data.fileInput).always(function (files) {
if (aborted) {
return;
}
@@ -1590,10 +1576,10 @@
data.files = files;
jqXHR = that._onSend(null, data);
jqXHR.then(
- function(result, textStatus, jqXHR) {
+ function (result, textStatus, jqXHR) {
dfd.resolve(result, textStatus, jqXHR);
},
- function(jqXHR, textStatus, errorThrown) {
+ function (jqXHR, textStatus, errorThrown) {
dfd.reject(jqXHR, textStatus, errorThrown);
}
);
diff --git a/vendor/blueimp/jquery-file-upload/js/jquery.iframe-transport.js b/vendor/blueimp/jquery-file-upload/js/jquery.iframe-transport.js
index b56690bea..3e3b9a93b 100644
--- a/vendor/blueimp/jquery-file-upload/js/jquery.iframe-transport.js
+++ b/vendor/blueimp/jquery-file-upload/js/jquery.iframe-transport.js
@@ -11,7 +11,7 @@
/* global define, require */
-(function(factory) {
+(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -23,7 +23,7 @@
// Browser globals:
factory(window.jQuery);
}
-})(function($) {
+})(function ($) {
'use strict';
// Helper variable to create unique names for the transport iframes:
@@ -46,7 +46,7 @@
// [{name: 'a', value: 1}, {name: 'b', value: 2}]
// options.initialIframeSrc: the URL of the initial iframe src,
// by default set to "javascript:false;"
- $.ajaxTransport('iframe', function(options) {
+ $.ajaxTransport('iframe', function (options) {
if (options.async) {
// javascript:false as initial iframe src
// prevents warning popups on HTTPS in IE6:
@@ -56,7 +56,7 @@
iframe,
addParamChar;
return {
- send: function(_, completeCallback) {
+ send: function (_, completeCallback) {
form = $('<form style="display:none;"></form>');
form.attr('accept-charset', options.formAcceptCharset);
addParamChar = /\?/.test(options.url) ? '&' : '?';
@@ -81,12 +81,12 @@
'" name="iframe-transport-' +
counter +
'"></iframe>'
- ).bind('load', function() {
+ ).on('load', function () {
var fileInputClones,
paramNames = $.isArray(options.paramName)
? options.paramName
: [options.paramName];
- iframe.unbind('load').bind('load', function() {
+ iframe.off('load').on('load', function () {
var response;
// Wrap in a try/catch block to catch exceptions thrown
// when trying to access cross-domain iframe contents:
@@ -109,7 +109,7 @@
$('<iframe src="' + initialIframeSrc + '"></iframe>').appendTo(
form
);
- window.setTimeout(function() {
+ window.setTimeout(function () {
// Removing the form in a setTimeout call
// allows Chrome's developer tools to display
// the response result
@@ -121,7 +121,7 @@
.prop('action', options.url)
.prop('method', options.type);
if (options.formData) {
- $.each(options.formData, function(index, field) {
+ $.each(options.formData, function (index, field) {
$('<input type="hidden"/>')
.prop('name', field.name)
.val(field.value)
@@ -135,11 +135,11 @@
) {
fileInputClones = options.fileInput.clone();
// Insert a clone for each file input field:
- options.fileInput.after(function(index) {
+ options.fileInput.after(function (index) {
return fileInputClones[index];
});
if (options.paramName) {
- options.fileInput.each(function(index) {
+ options.fileInput.each(function (index) {
$(this).prop('name', paramNames[index] || options.paramName);
});
}
@@ -153,27 +153,33 @@
// Remove the HTML5 form attribute from the input(s):
options.fileInput.removeAttr('form');
}
- form.submit();
- // Insert the file input fields at their original location
- // by replacing the clones with the originals:
- if (fileInputClones && fileInputClones.length) {
- options.fileInput.each(function(index, input) {
- var clone = $(fileInputClones[index]);
- // Restore the original name and form properties:
- $(input)
- .prop('name', clone.prop('name'))
- .attr('form', clone.attr('form'));
- clone.replaceWith(input);
- });
- }
+ window.setTimeout(function () {
+ // Submitting the form in a setTimeout call fixes an issue with
+ // Safari 13 not triggering the iframe load event after resetting
+ // the load event handler, see also:
+ // https://github.com/blueimp/jQuery-File-Upload/issues/3633
+ form.submit();
+ // Insert the file input fields at their original location
+ // by replacing the clones with the originals:
+ if (fileInputClones && fileInputClones.length) {
+ options.fileInput.each(function (index, input) {
+ var clone = $(fileInputClones[index]);
+ // Restore the original name and form properties:
+ $(input)
+ .prop('name', clone.prop('name'))
+ .attr('form', clone.attr('form'));
+ clone.replaceWith(input);
+ });
+ }
+ }, 0);
});
form.append(iframe).appendTo(document.body);
},
- abort: function() {
+ abort: function () {
if (iframe) {
// javascript:false as iframe src aborts the request
// and prevents warning popups on HTTPS in IE6.
- iframe.unbind('load').prop('src', initialIframeSrc);
+ iframe.off('load').prop('src', initialIframeSrc);
}
if (form) {
form.remove();
@@ -195,16 +201,16 @@
// https://github.com/blueimp/jQuery-File-Upload/wiki/Setup#content-type-negotiation
$.ajaxSetup({
converters: {
- 'iframe text': function(iframe) {
+ 'iframe text': function (iframe) {
return iframe && $(iframe[0].body).text();
},
- 'iframe json': function(iframe) {
+ 'iframe json': function (iframe) {
return iframe && jsonAPI[jsonParse]($(iframe[0].body).text());
},
- 'iframe html': function(iframe) {
+ 'iframe html': function (iframe) {
return iframe && $(iframe[0].body).html();
},
- 'iframe xml': function(iframe) {
+ 'iframe xml': function (iframe) {
var xmlDoc = iframe && iframe[0];
return xmlDoc && $.isXMLDoc(xmlDoc)
? xmlDoc
@@ -213,7 +219,7 @@
$(xmlDoc.body).html()
);
},
- 'iframe script': function(iframe) {
+ 'iframe script': function (iframe) {
return iframe && $.globalEval($(iframe[0].body).text());
}
}
diff --git a/vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js b/vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js
index 914b8ffb8..69096aaa3 100644
--- a/vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js
+++ b/vendor/blueimp/jquery-file-upload/js/vendor/jquery.ui.widget.js
@@ -1,28 +1,29 @@
-/*! jQuery UI - v1.12.1+CommonJS - 2018-02-10
+/*! jQuery UI - v1.12.1+0b7246b6eeadfa9e2696e22f3230f6452f8129dc - 2020-02-20
* http://jqueryui.com
* Includes: widget.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
-(function( factory ) {
- if ( typeof define === "function" && define.amd ) {
+/* global define, require */
+/* eslint-disable no-param-reassign, new-cap, jsdoc/require-jsdoc */
+(function (factory) {
+ 'use strict';
+ if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module.
- define([ "jquery" ], factory );
- } else if ( typeof exports === "object" ) {
-
+ define(['jquery'], factory);
+ } else if (typeof exports === 'object') {
// Node/CommonJS
- factory( require( "jquery" ) );
+ factory(require('jquery'));
} else {
-
// Browser globals
- factory( jQuery );
+ factory(window.jQuery);
}
-}(function( $ ) {
+})(function ($) {
+ ('use strict');
$.ui = $.ui || {};
- var version = $.ui.version = "1.12.1";
-
+ $.ui.version = '1.12.1';
/*!
* jQuery UI Widget 1.12.1
@@ -39,105 +40,111 @@
//>>docs: http://api.jqueryui.com/jQuery.widget/
//>>demos: http://jqueryui.com/widget/
+ // Support: jQuery 1.9.x or older
+ // $.expr[ ":" ] is deprecated.
+ if (!$.expr.pseudos) {
+ $.expr.pseudos = $.expr[':'];
+ }
+ // Support: jQuery 1.11.x or older
+ // $.unique has been renamed to $.uniqueSort
+ if (!$.uniqueSort) {
+ $.uniqueSort = $.unique;
+ }
var widgetUuid = 0;
+ var widgetHasOwnProperty = Array.prototype.hasOwnProperty;
var widgetSlice = Array.prototype.slice;
- $.cleanData = ( function( orig ) {
- return function( elems ) {
+ $.cleanData = (function (orig) {
+ return function (elems) {
var events, elem, i;
- for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {
- try {
-
- // Only trigger remove when necessary to save time
- events = $._data( elem, "events" );
- if ( events && events.remove ) {
- $( elem ).triggerHandler( "remove" );
- }
-
- // Http://bugs.jquery.com/ticket/8235
- } catch ( e ) {}
+ // eslint-disable-next-line eqeqeq
+ for (i = 0; (elem = elems[i]) != null; i++) {
+ // Only trigger remove when necessary to save time
+ events = $._data(elem, 'events');
+ if (events && events.remove) {
+ $(elem).triggerHandler('remove');
+ }
}
- orig( elems );
+ orig(elems);
};
- } )( $.cleanData );
+ })($.cleanData);
- $.widget = function( name, base, prototype ) {
+ $.widget = function (name, base, prototype) {
var existingConstructor, constructor, basePrototype;
// ProxiedPrototype allows the provided prototype to remain unmodified
// so that it can be used as a mixin for multiple widgets (#8876)
var proxiedPrototype = {};
- var namespace = name.split( "." )[ 0 ];
- name = name.split( "." )[ 1 ];
- var fullName = namespace + "-" + name;
+ var namespace = name.split('.')[0];
+ name = name.split('.')[1];
+ var fullName = namespace + '-' + name;
- if ( !prototype ) {
+ if (!prototype) {
prototype = base;
base = $.Widget;
}
- if ( $.isArray( prototype ) ) {
- prototype = $.extend.apply( null, [ {} ].concat( prototype ) );
+ if ($.isArray(prototype)) {
+ prototype = $.extend.apply(null, [{}].concat(prototype));
}
// Create selector for plugin
- $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
- return !!$.data( elem, fullName );
+ $.expr.pseudos[fullName.toLowerCase()] = function (elem) {
+ return !!$.data(elem, fullName);
};
- $[ namespace ] = $[ namespace ] || {};
- existingConstructor = $[ namespace ][ name ];
- constructor = $[ namespace ][ name ] = function( options, element ) {
-
+ $[namespace] = $[namespace] || {};
+ existingConstructor = $[namespace][name];
+ constructor = $[namespace][name] = function (options, element) {
// Allow instantiation without "new" keyword
- if ( !this._createWidget ) {
- return new constructor( options, element );
+ if (!this._createWidget) {
+ return new constructor(options, element);
}
// Allow instantiation without initializing for simple inheritance
// must use "new" keyword (the code above always passes args)
- if ( arguments.length ) {
- this._createWidget( options, element );
+ if (arguments.length) {
+ this._createWidget(options, element);
}
};
// Extend with the existing constructor to carry over any static properties
- $.extend( constructor, existingConstructor, {
+ $.extend(constructor, existingConstructor, {
version: prototype.version,
// Copy the object used to create the prototype in case we need to
// redefine the widget later
- _proto: $.extend( {}, prototype ),
+ _proto: $.extend({}, prototype),
// Track widgets that inherit from this widget in case this widget is
// redefined after a widget inherits from it
_childConstructors: []
- } );
+ });
basePrototype = new base();
// We need to make the options hash a property directly on the new instance
// otherwise we'll modify the options hash on the prototype that we're
// inheriting from
- basePrototype.options = $.widget.extend( {}, basePrototype.options );
- $.each( prototype, function( prop, value ) {
- if ( !$.isFunction( value ) ) {
- proxiedPrototype[ prop ] = value;
+ basePrototype.options = $.widget.extend({}, basePrototype.options);
+ $.each(prototype, function (prop, value) {
+ if (!$.isFunction(value)) {
+ proxiedPrototype[prop] = value;
return;
}
- proxiedPrototype[ prop ] = ( function() {
+ proxiedPrototype[prop] = (function () {
function _super() {
- return base.prototype[ prop ].apply( this, arguments );
+ return base.prototype[prop].apply(this, arguments);
}
- function _superApply( args ) {
- return base.prototype[ prop ].apply( this, args );
+ function _superApply(args) {
+ return base.prototype[prop].apply(this, args);
}
- return function() {
+ return function () {
var __super = this._super;
var __superApply = this._superApply;
var returnValue;
@@ -145,77 +152,87 @@
this._super = _super;
this._superApply = _superApply;
- returnValue = value.apply( this, arguments );
+ returnValue = value.apply(this, arguments);
this._super = __super;
this._superApply = __superApply;
return returnValue;
};
- } )();
- } );
- constructor.prototype = $.widget.extend( basePrototype, {
-
- // TODO: remove support for widgetEventPrefix
- // always use the name + a colon as the prefix, e.g., draggable:start
- // don't prefix for widgets that aren't DOM-based
- widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name
- }, proxiedPrototype, {
- constructor: constructor,
- namespace: namespace,
- widgetName: name,
- widgetFullName: fullName
- } );
+ })();
+ });
+ constructor.prototype = $.widget.extend(
+ basePrototype,
+ {
+ // TODO: remove support for widgetEventPrefix
+ // always use the name + a colon as the prefix, e.g., draggable:start
+ // don't prefix for widgets that aren't DOM-based
+ widgetEventPrefix: existingConstructor
+ ? basePrototype.widgetEventPrefix || name
+ : name
+ },
+ proxiedPrototype,
+ {
+ constructor: constructor,
+ namespace: namespace,
+ widgetName: name,
+ widgetFullName: fullName
+ }
+ );
// If this widget is being redefined then we need to find all widgets that
// are inheriting from it and redefine all of them so that they inherit from
// the new version of this widget. We're essentially trying to replace one
// level in the prototype chain.
- if ( existingConstructor ) {
- $.each( existingConstructor._childConstructors, function( i, child ) {
+ if (existingConstructor) {
+ $.each(existingConstructor._childConstructors, function (i, child) {
var childPrototype = child.prototype;
// Redefine the child widget using the same prototype that was
// originally used, but inherit from the new version of the base
- $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor,
- child._proto );
- } );
+ $.widget(
+ childPrototype.namespace + '.' + childPrototype.widgetName,
+ constructor,
+ child._proto
+ );
+ });
// Remove the list of existing child constructors from the old constructor
// so the old child constructors can be garbage collected
delete existingConstructor._childConstructors;
} else {
- base._childConstructors.push( constructor );
+ base._childConstructors.push(constructor);
}
- $.widget.bridge( name, constructor );
+ $.widget.bridge(name, constructor);
return constructor;
};
- $.widget.extend = function( target ) {
- var input = widgetSlice.call( arguments, 1 );
+ $.widget.extend = function (target) {
+ var input = widgetSlice.call(arguments, 1);
var inputIndex = 0;
var inputLength = input.length;
var key;
var value;
- for ( ; inputIndex < inputLength; inputIndex++ ) {
- for ( key in input[ inputIndex ] ) {
- value = input[ inputIndex ][ key ];
- if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
-
+ for (; inputIndex < inputLength; inputIndex++) {
+ for (key in input[inputIndex]) {
+ value = input[inputIndex][key];
+ if (
+ widgetHasOwnProperty.call(input[inputIndex], key) &&
+ value !== undefined
+ ) {
// Clone objects
- if ( $.isPlainObject( value ) ) {
- target[ key ] = $.isPlainObject( target[ key ] ) ?
- $.widget.extend( {}, target[ key ], value ) :
-
- // Don't extend strings, arrays, etc. with objects
- $.widget.extend( {}, value );
+ if ($.isPlainObject(value)) {
+ target[key] = $.isPlainObject(target[key])
+ ? $.widget.extend({}, target[key], value)
+ : // Don't extend strings, arrays, etc. with objects
+ $.widget.extend({}, value);
// Copy everything else by reference
} else {
- target[ key ] = value;
+ target[key] = value;
}
}
}
@@ -223,81 +240,90 @@
return target;
};
- $.widget.bridge = function( name, object ) {
+ $.widget.bridge = function (name, object) {
var fullName = object.prototype.widgetFullName || name;
- $.fn[ name ] = function( options ) {
- var isMethodCall = typeof options === "string";
- var args = widgetSlice.call( arguments, 1 );
+ $.fn[name] = function (options) {
+ var isMethodCall = typeof options === 'string';
+ var args = widgetSlice.call(arguments, 1);
var returnValue = this;
- if ( isMethodCall ) {
-
+ if (isMethodCall) {
// If this is an empty collection, we need to have the instance method
// return undefined instead of the jQuery instance
- if ( !this.length && options === "instance" ) {
+ if (!this.length && options === 'instance') {
returnValue = undefined;
} else {
- this.each( function() {
+ this.each(function () {
var methodValue;
- var instance = $.data( this, fullName );
+ var instance = $.data(this, fullName);
- if ( options === "instance" ) {
+ if (options === 'instance') {
returnValue = instance;
return false;
}
- if ( !instance ) {
- return $.error( "cannot call methods on " + name +
- " prior to initialization; " +
- "attempted to call method '" + options + "'" );
+ if (!instance) {
+ return $.error(
+ 'cannot call methods on ' +
+ name +
+ ' prior to initialization; ' +
+ "attempted to call method '" +
+ options +
+ "'"
+ );
}
- if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) {
- return $.error( "no such method '" + options + "' for " + name +
- " widget instance" );
+ if (!$.isFunction(instance[options]) || options.charAt(0) === '_') {
+ return $.error(
+ "no such method '" +
+ options +
+ "' for " +
+ name +
+ ' widget instance'
+ );
}
- methodValue = instance[ options ].apply( instance, args );
+ methodValue = instance[options].apply(instance, args);
- if ( methodValue !== instance && methodValue !== undefined ) {
- returnValue = methodValue && methodValue.jquery ?
- returnValue.pushStack( methodValue.get() ) :
- methodValue;
+ if (methodValue !== instance && methodValue !== undefined) {
+ returnValue =
+ methodValue && methodValue.jquery
+ ? returnValue.pushStack(methodValue.get())
+ : methodValue;
return false;
}
- } );
+ });
}
} else {
-
// Allow multiple hashes to be passed on init
- if ( args.length ) {
- options = $.widget.extend.apply( null, [ options ].concat( args ) );
+ if (args.length) {
+ options = $.widget.extend.apply(null, [options].concat(args));
}
- this.each( function() {
- var instance = $.data( this, fullName );
- if ( instance ) {
- instance.option( options || {} );
- if ( instance._init ) {
+ this.each(function () {
+ var instance = $.data(this, fullName);
+ if (instance) {
+ instance.option(options || {});
+ if (instance._init) {
instance._init();
}
} else {
- $.data( this, fullName, new object( options, this ) );
+ $.data(this, fullName, new object(options, this));
}
- } );
+ });
}
return returnValue;
};
};
- $.Widget = function( /* options, element */ ) {};
+ $.Widget = function (/* options, element */) {};
$.Widget._childConstructors = [];
$.Widget.prototype = {
- widgetName: "widget",
- widgetEventPrefix: "",
- defaultElement: "<div>",
+ widgetName: 'widget',
+ widgetEventPrefix: '',
+ defaultElement: '<div>',
options: {
classes: {},
@@ -307,52 +333,56 @@
create: null
},
- _createWidget: function( options, element ) {
- element = $( element || this.defaultElement || this )[ 0 ];
- this.element = $( element );
+ _createWidget: function (options, element) {
+ element = $(element || this.defaultElement || this)[0];
+ this.element = $(element);
this.uuid = widgetUuid++;
- this.eventNamespace = "." + this.widgetName + this.uuid;
+ this.eventNamespace = '.' + this.widgetName + this.uuid;
this.bindings = $();
this.hoverable = $();
this.focusable = $();
this.classesElementLookup = {};
- if ( element !== this ) {
- $.data( element, this.widgetFullName, this );
- this._on( true, this.element, {
- remove: function( event ) {
- if ( event.target === element ) {
+ if (element !== this) {
+ $.data(element, this.widgetFullName, this);
+ this._on(true, this.element, {
+ remove: function (event) {
+ if (event.target === element) {
this.destroy();
}
}
- } );
- this.document = $( element.style ?
-
- // Element within the document
- element.ownerDocument :
-
- // Element is window or document
- element.document || element );
- this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );
+ });
+ this.document = $(
+ element.style
+ ? // Element within the document
+ element.ownerDocument
+ : // Element is window or document
+ element.document || element
+ );
+ this.window = $(
+ this.document[0].defaultView || this.document[0].parentWindow
+ );
}
- this.options = $.widget.extend( {},
+ this.options = $.widget.extend(
+ {},
this.options,
this._getCreateOptions(),
- options );
+ options
+ );
this._create();
- if ( this.options.disabled ) {
- this._setOptionDisabled( this.options.disabled );
+ if (this.options.disabled) {
+ this._setOptionDisabled(this.options.disabled);
}
- this._trigger( "create", null, this._getCreateEventData() );
+ this._trigger('create', null, this._getCreateEventData());
this._init();
},
- _getCreateOptions: function() {
+ _getCreateOptions: function () {
return {};
},
@@ -362,107 +392,103 @@
_init: $.noop,
- destroy: function() {
+ destroy: function () {
var that = this;
this._destroy();
- $.each( this.classesElementLookup, function( key, value ) {
- that._removeClass( value, key );
- } );
+ $.each(this.classesElementLookup, function (key, value) {
+ that._removeClass(value, key);
+ });
// We can probably remove the unbind calls in 2.0
// all event bindings should go through this._on()
- this.element
- .off( this.eventNamespace )
- .removeData( this.widgetFullName );
- this.widget()
- .off( this.eventNamespace )
- .removeAttr( "aria-disabled" );
+ this.element.off(this.eventNamespace).removeData(this.widgetFullName);
+ this.widget().off(this.eventNamespace).removeAttr('aria-disabled');
// Clean up events and states
- this.bindings.off( this.eventNamespace );
+ this.bindings.off(this.eventNamespace);
},
_destroy: $.noop,
- widget: function() {
+ widget: function () {
return this.element;
},
- option: function( key, value ) {
+ option: function (key, value) {
var options = key;
var parts;
var curOption;
var i;
- if ( arguments.length === 0 ) {
-
+ if (arguments.length === 0) {
// Don't return a reference to the internal hash
- return $.widget.extend( {}, this.options );
+ return $.widget.extend({}, this.options);
}
- if ( typeof key === "string" ) {
-
+ if (typeof key === 'string') {
// Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
options = {};
- parts = key.split( "." );
+ parts = key.split('.');
key = parts.shift();
- if ( parts.length ) {
- curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
- for ( i = 0; i < parts.length - 1; i++ ) {
- curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
- curOption = curOption[ parts[ i ] ];
+ if (parts.length) {
+ curOption = options[key] = $.widget.extend({}, this.options[key]);
+ for (i = 0; i < parts.length - 1; i++) {
+ curOption[parts[i]] = curOption[parts[i]] || {};
+ curOption = curOption[parts[i]];
}
key = parts.pop();
- if ( arguments.length === 1 ) {
- return curOption[ key ] === undefined ? null : curOption[ key ];
+ if (arguments.length === 1) {
+ return curOption[key] === undefined ? null : curOption[key];
}
- curOption[ key ] = value;
+ curOption[key] = value;
} else {
- if ( arguments.length === 1 ) {
- return this.options[ key ] === undefined ? null : this.options[ key ];
+ if (arguments.length === 1) {
+ return this.options[key] === undefined ? null : this.options[key];
}
- options[ key ] = value;
+ options[key] = value;
}
}
- this._setOptions( options );
+ this._setOptions(options);
return this;
},
- _setOptions: function( options ) {
+ _setOptions: function (options) {
var key;
- for ( key in options ) {
- this._setOption( key, options[ key ] );
+ for (key in options) {
+ this._setOption(key, options[key]);
}
return this;
},
- _setOption: function( key, value ) {
- if ( key === "classes" ) {
- this._setOptionClasses( value );
+ _setOption: function (key, value) {
+ if (key === 'classes') {
+ this._setOptionClasses(value);
}
- this.options[ key ] = value;
+ this.options[key] = value;
- if ( key === "disabled" ) {
- this._setOptionDisabled( value );
+ if (key === 'disabled') {
+ this._setOptionDisabled(value);
}
return this;
},
- _setOptionClasses: function( value ) {
+ _setOptionClasses: function (value) {
var classKey, elements, currentElements;
- for ( classKey in value ) {
- currentElements = this.classesElementLookup[ classKey ];
- if ( value[ classKey ] === this.options.classes[ classKey ] ||
+ for (classKey in value) {
+ currentElements = this.classesElementLookup[classKey];
+ if (
+ value[classKey] === this.options.classes[classKey] ||
!currentElements ||
- !currentElements.length ) {
+ !currentElements.length
+ ) {
continue;
}
@@ -470,283 +496,313 @@
// on the next line is going to destroy the reference to the current elements being
// tracked. We need to save a copy of this collection so that we can add the new classes
// below.
- elements = $( currentElements.get() );
- this._removeClass( currentElements, classKey );
+ elements = $(currentElements.get());
+ this._removeClass(currentElements, classKey);
// We don't use _addClass() here, because that uses this.options.classes
// for generating the string of classes. We want to use the value passed in from
// _setOption(), this is the new value of the classes option which was passed to
// _setOption(). We pass this value directly to _classes().
- elements.addClass( this._classes( {
- element: elements,
- keys: classKey,
- classes: value,
- add: true
- } ) );
+ elements.addClass(
+ this._classes({
+ element: elements,
+ keys: classKey,
+ classes: value,
+ add: true
+ })
+ );
}
},
- _setOptionDisabled: function( value ) {
- this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value );
+ _setOptionDisabled: function (value) {
+ this._toggleClass(
+ this.widget(),
+ this.widgetFullName + '-disabled',
+ null,
+ !!value
+ );
// If the widget is becoming disabled, then nothing is interactive
- if ( value ) {
- this._removeClass( this.hoverable, null, "ui-state-hover" );
- this._removeClass( this.focusable, null, "ui-state-focus" );
+ if (value) {
+ this._removeClass(this.hoverable, null, 'ui-state-hover');
+ this._removeClass(this.focusable, null, 'ui-state-focus');
}
},
- enable: function() {
- return this._setOptions( { disabled: false } );
+ enable: function () {
+ return this._setOptions({ disabled: false });
},
- disable: function() {
- return this._setOptions( { disabled: true } );
+ disable: function () {
+ return this._setOptions({ disabled: true });
},
- _classes: function( options ) {
+ _classes: function (options) {
var full = [];
var that = this;
- options = $.extend( {
- element: this.element,
- classes: this.options.classes || {}
- }, options );
+ options = $.extend(
+ {
+ element: this.element,
+ classes: this.options.classes || {}
+ },
+ options
+ );
+
+ function bindRemoveEvent() {
+ options.element.each(function (_, element) {
+ var isTracked = $.map(that.classesElementLookup, function (elements) {
+ return elements;
+ }).some(function (elements) {
+ return elements.is(element);
+ });
+
+ if (!isTracked) {
+ that._on($(element), {
+ remove: '_untrackClassesElement'
+ });
+ }
+ });
+ }
- function processClassString( classes, checkOption ) {
+ function processClassString(classes, checkOption) {
var current, i;
- for ( i = 0; i < classes.length; i++ ) {
- current = that.classesElementLookup[ classes[ i ] ] || $();
- if ( options.add ) {
- current = $( $.unique( current.get().concat( options.element.get() ) ) );
+ for (i = 0; i < classes.length; i++) {
+ current = that.classesElementLookup[classes[i]] || $();
+ if (options.add) {
+ bindRemoveEvent();
+ current = $(
+ $.uniqueSort(current.get().concat(options.element.get()))
+ );
} else {
- current = $( current.not( options.element ).get() );
+ current = $(current.not(options.element).get());
}
- that.classesElementLookup[ classes[ i ] ] = current;
- full.push( classes[ i ] );
- if ( checkOption && options.classes[ classes[ i ] ] ) {
- full.push( options.classes[ classes[ i ] ] );
+ that.classesElementLookup[classes[i]] = current;
+ full.push(classes[i]);
+ if (checkOption && options.classes[classes[i]]) {
+ full.push(options.classes[classes[i]]);
}
}
}
- this._on( options.element, {
- "remove": "_untrackClassesElement"
- } );
-
- if ( options.keys ) {
- processClassString( options.keys.match( /\S+/g ) || [], true );
+ if (options.keys) {
+ processClassString(options.keys.match(/\S+/g) || [], true);
}
- if ( options.extra ) {
- processClassString( options.extra.match( /\S+/g ) || [] );
+ if (options.extra) {
+ processClassString(options.extra.match(/\S+/g) || []);
}
- return full.join( " " );
+ return full.join(' ');
},
- _untrackClassesElement: function( event ) {
+ _untrackClassesElement: function (event) {
var that = this;
- $.each( that.classesElementLookup, function( key, value ) {
- if ( $.inArray( event.target, value ) !== -1 ) {
- that.classesElementLookup[ key ] = $( value.not( event.target ).get() );
+ $.each(that.classesElementLookup, function (key, value) {
+ if ($.inArray(event.target, value) !== -1) {
+ that.classesElementLookup[key] = $(value.not(event.target).get());
}
- } );
+ });
+
+ this._off($(event.target));
},
- _removeClass: function( element, keys, extra ) {
- return this._toggleClass( element, keys, extra, false );
+ _removeClass: function (element, keys, extra) {
+ return this._toggleClass(element, keys, extra, false);
},
- _addClass: function( element, keys, extra ) {
- return this._toggleClass( element, keys, extra, true );
+ _addClass: function (element, keys, extra) {
+ return this._toggleClass(element, keys, extra, true);
},
- _toggleClass: function( element, keys, extra, add ) {
- add = ( typeof add === "boolean" ) ? add : extra;
- var shift = ( typeof element === "string" || element === null ),
+ _toggleClass: function (element, keys, extra, add) {
+ add = typeof add === 'boolean' ? add : extra;
+ var shift = typeof element === 'string' || element === null,
options = {
extra: shift ? keys : extra,
keys: shift ? element : keys,
element: shift ? this.element : element,
add: add
};
- options.element.toggleClass( this._classes( options ), add );
+ options.element.toggleClass(this._classes(options), add);
return this;
},
- _on: function( suppressDisabledCheck, element, handlers ) {
+ _on: function (suppressDisabledCheck, element, handlers) {
var delegateElement;
var instance = this;
// No suppressDisabledCheck flag, shuffle arguments
- if ( typeof suppressDisabledCheck !== "boolean" ) {
+ if (typeof suppressDisabledCheck !== 'boolean') {
handlers = element;
element = suppressDisabledCheck;
suppressDisabledCheck = false;
}
// No element argument, shuffle and use this.element
- if ( !handlers ) {
+ if (!handlers) {
handlers = element;
element = this.element;
delegateElement = this.widget();
} else {
- element = delegateElement = $( element );
- this.bindings = this.bindings.add( element );
+ element = delegateElement = $(element);
+ this.bindings = this.bindings.add(element);
}
- $.each( handlers, function( event, handler ) {
+ $.each(handlers, function (event, handler) {
function handlerProxy() {
-
// Allow widgets to customize the disabled handling
// - disabled as an array instead of boolean
// - disabled class as method for disabling individual parts
- if ( !suppressDisabledCheck &&
- ( instance.options.disabled === true ||
- $( this ).hasClass( "ui-state-disabled" ) ) ) {
+ if (
+ !suppressDisabledCheck &&
+ (instance.options.disabled === true ||
+ $(this).hasClass('ui-state-disabled'))
+ ) {
return;
}
- return ( typeof handler === "string" ? instance[ handler ] : handler )
- .apply( instance, arguments );
+ return (typeof handler === 'string'
+ ? instance[handler]
+ : handler
+ ).apply(instance, arguments);
}
// Copy the guid so direct unbinding works
- if ( typeof handler !== "string" ) {
+ if (typeof handler !== 'string') {
handlerProxy.guid = handler.guid =
handler.guid || handlerProxy.guid || $.guid++;
}
- var match = event.match( /^([\w:-]*)\s*(.*)$/ );
- var eventName = match[ 1 ] + instance.eventNamespace;
- var selector = match[ 2 ];
+ var match = event.match(/^([\w:-]*)\s*(.*)$/);
+ var eventName = match[1] + instance.eventNamespace;
+ var selector = match[2];
- if ( selector ) {
- delegateElement.on( eventName, selector, handlerProxy );
+ if (selector) {
+ delegateElement.on(eventName, selector, handlerProxy);
} else {
- element.on( eventName, handlerProxy );
+ element.on(eventName, handlerProxy);
}
- } );
+ });
},
- _off: function( element, eventName ) {
- eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) +
+ _off: function (element, eventName) {
+ eventName =
+ (eventName || '').split(' ').join(this.eventNamespace + ' ') +
this.eventNamespace;
- element.off( eventName ).off( eventName );
+ element.off(eventName);
// Clear the stack to avoid memory leaks (#10056)
- this.bindings = $( this.bindings.not( element ).get() );
- this.focusable = $( this.focusable.not( element ).get() );
- this.hoverable = $( this.hoverable.not( element ).get() );
+ this.bindings = $(this.bindings.not(element).get());
+ this.focusable = $(this.focusable.not(element).get());
+ this.hoverable = $(this.hoverable.not(element).get());
},
- _delay: function( handler, delay ) {
+ _delay: function (handler, delay) {
+ var instance = this;
function handlerProxy() {
- return ( typeof handler === "string" ? instance[ handler ] : handler )
- .apply( instance, arguments );
+ return (typeof handler === 'string'
+ ? instance[handler]
+ : handler
+ ).apply(instance, arguments);
}
- var instance = this;
- return setTimeout( handlerProxy, delay || 0 );
+ return setTimeout(handlerProxy, delay || 0);
},
- _hoverable: function( element ) {
- this.hoverable = this.hoverable.add( element );
- this._on( element, {
- mouseenter: function( event ) {
- this._addClass( $( event.currentTarget ), null, "ui-state-hover" );
+ _hoverable: function (element) {
+ this.hoverable = this.hoverable.add(element);
+ this._on(element, {
+ mouseenter: function (event) {
+ this._addClass($(event.currentTarget), null, 'ui-state-hover');
},
- mouseleave: function( event ) {
- this._removeClass( $( event.currentTarget ), null, "ui-state-hover" );
+ mouseleave: function (event) {
+ this._removeClass($(event.currentTarget), null, 'ui-state-hover');
}
- } );
+ });
},
- _focusable: function( element ) {
- this.focusable = this.focusable.add( element );
- this._on( element, {
- focusin: function( event ) {
- this._addClass( $( event.currentTarget ), null, "ui-state-focus" );
+ _focusable: function (element) {
+ this.focusable = this.focusable.add(element);
+ this._on(element, {
+ focusin: function (event) {
+ this._addClass($(event.currentTarget), null, 'ui-state-focus');
},
- focusout: function( event ) {
- this._removeClass( $( event.currentTarget ), null, "ui-state-focus" );
+ focusout: function (event) {
+ this._removeClass($(event.currentTarget), null, 'ui-state-focus');
}
- } );
+ });
},
- _trigger: function( type, event, data ) {
+ _trigger: function (type, event, data) {
var prop, orig;
- var callback = this.options[ type ];
+ var callback = this.options[type];
data = data || {};
- event = $.Event( event );
- event.type = ( type === this.widgetEventPrefix ?
- type :
- this.widgetEventPrefix + type ).toLowerCase();
+ event = $.Event(event);
+ event.type = (type === this.widgetEventPrefix
+ ? type
+ : this.widgetEventPrefix + type
+ ).toLowerCase();
// The original event may come from any element
// so we need to reset the target on the new event
- event.target = this.element[ 0 ];
+ event.target = this.element[0];
// Copy original event properties over to the new event
orig = event.originalEvent;
- if ( orig ) {
- for ( prop in orig ) {
- if ( !( prop in event ) ) {
- event[ prop ] = orig[ prop ];
+ if (orig) {
+ for (prop in orig) {
+ if (!(prop in event)) {
+ event[prop] = orig[prop];
}
}
}
- this.element.trigger( event, data );
- return !( $.isFunction( callback ) &&
- callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||
- event.isDefaultPrevented() );
+ this.element.trigger(event, data);
+ return !(
+ ($.isFunction(callback) &&
+ callback.apply(this.element[0], [event].concat(data)) === false) ||
+ event.isDefaultPrevented()
+ );
}
};
- $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
- $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
- if ( typeof options === "string" ) {
+ $.each({ show: 'fadeIn', hide: 'fadeOut' }, function (method, defaultEffect) {
+ $.Widget.prototype['_' + method] = function (element, options, callback) {
+ if (typeof options === 'string') {
options = { effect: options };
}
var hasOptions;
- var effectName = !options ?
- method :
- options === true || typeof options === "number" ?
- defaultEffect :
- options.effect || defaultEffect;
+ var effectName = !options
+ ? method
+ : options === true || typeof options === 'number'
+ ? defaultEffect
+ : options.effect || defaultEffect;
options = options || {};
- if ( typeof options === "number" ) {
+ if (typeof options === 'number') {
options = { duration: options };
}
- hasOptions = !$.isEmptyObject( options );
+ hasOptions = !$.isEmptyObject(options);
options.complete = callback;
- if ( options.delay ) {
- element.delay( options.delay );
+ if (options.delay) {
+ element.delay(options.delay);
}
- if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
- element[ method ]( options );
- } else if ( effectName !== method && element[ effectName ] ) {
- element[ effectName ]( options.duration, options.easing, callback );
+ if (hasOptions && $.effects && $.effects.effect[effectName]) {
+ element[method](options);
+ } else if (effectName !== method && element[effectName]) {
+ element[effectName](options.duration, options.easing, callback);
} else {
- element.queue( function( next ) {
- $( this )[ method ]();
- if ( callback ) {
- callback.call( element[ 0 ] );
+ element.queue(function (next) {
+ $(this)[method]();
+ if (callback) {
+ callback.call(element[0]);
}
next();
- } );
+ });
}
};
- } );
-
- var widget = $.widget;
-
-
-
-
-}));
+ });
+});
diff --git a/vendor/blueimp/jquery-file-upload/package-lock.json b/vendor/blueimp/jquery-file-upload/package-lock.json
index aaa4293bb..7d00a91d9 100644
--- a/vendor/blueimp/jquery-file-upload/package-lock.json
+++ b/vendor/blueimp/jquery-file-upload/package-lock.json
@@ -1,34 +1,36 @@
{
"name": "blueimp-file-upload",
- "version": "10.7.0",
+ "version": "10.21.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@babel/code-frame": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
- "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+ "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
"dev": true,
"requires": {
- "@babel/highlight": "^7.0.0"
+ "@babel/highlight": "^7.8.3"
}
},
"@babel/core": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz",
- "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==",
- "dev": true,
- "requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.5.5",
- "@babel/helpers": "^7.5.5",
- "@babel/parser": "^7.5.5",
- "@babel/template": "^7.4.4",
- "@babel/traverse": "^7.5.5",
- "@babel/types": "^7.5.5",
- "convert-source-map": "^1.1.0",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+ "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-module-transforms": "^7.9.0",
+ "@babel/helpers": "^7.9.6",
+ "@babel/parser": "^7.9.6",
+ "@babel/template": "^7.8.6",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6",
+ "convert-source-map": "^1.7.0",
"debug": "^4.1.0",
- "json5": "^2.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
"lodash": "^4.17.13",
"resolve": "^1.3.2",
"semver": "^5.4.1",
@@ -40,175 +42,271 @@
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
}
}
},
"@babel/generator": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz",
- "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+ "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
"dev": true,
"requires": {
- "@babel/types": "^7.5.5",
+ "@babel/types": "^7.9.6",
"jsesc": "^2.5.1",
"lodash": "^4.17.13",
- "source-map": "^0.5.0",
- "trim-right": "^1.0.1"
- },
- "dependencies": {
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- }
+ "source-map": "^0.5.0"
}
},
"@babel/helper-function-name": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
- "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz",
+ "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==",
"dev": true,
"requires": {
- "@babel/helper-get-function-arity": "^7.0.0",
- "@babel/template": "^7.1.0",
- "@babel/types": "^7.0.0"
+ "@babel/helper-get-function-arity": "^7.8.3",
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.9.5"
}
},
"@babel/helper-get-function-arity": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
- "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+ "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+ "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+ "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
"dev": true,
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz",
+ "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-module-imports": "^7.8.3",
+ "@babel/helper-replace-supers": "^7.8.6",
+ "@babel/helper-simple-access": "^7.8.3",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/template": "^7.8.6",
+ "@babel/types": "^7.9.0",
+ "lodash": "^4.17.13"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+ "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+ "dev": true,
+ "requires": {
+ "@babel/types": "^7.8.3"
+ }
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz",
+ "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.8.3",
+ "@babel/helper-optimise-call-expression": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+ "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+ "dev": true,
+ "requires": {
+ "@babel/template": "^7.8.3",
+ "@babel/types": "^7.8.3"
}
},
"@babel/helper-split-export-declaration": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
- "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+ "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
"dev": true,
"requires": {
- "@babel/types": "^7.4.4"
+ "@babel/types": "^7.8.3"
}
},
+ "@babel/helper-validator-identifier": {
+ "version": "7.9.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz",
+ "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==",
+ "dev": true
+ },
"@babel/helpers": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz",
- "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz",
+ "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==",
"dev": true,
"requires": {
- "@babel/template": "^7.4.4",
- "@babel/traverse": "^7.5.5",
- "@babel/types": "^7.5.5"
+ "@babel/template": "^7.8.3",
+ "@babel/traverse": "^7.9.6",
+ "@babel/types": "^7.9.6"
}
},
"@babel/highlight": {
- "version": "7.5.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
- "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz",
+ "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==",
"dev": true,
"requires": {
+ "@babel/helper-validator-identifier": "^7.9.0",
"chalk": "^2.0.0",
- "esutils": "^2.0.2",
"js-tokens": "^4.0.0"
}
},
"@babel/parser": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
- "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz",
+ "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==",
"dev": true
},
+ "@babel/runtime": {
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+ "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
+ "dev": true,
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
"@babel/template": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
- "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
+ "version": "7.8.6",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+ "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.0.0",
- "@babel/parser": "^7.4.4",
- "@babel/types": "^7.4.4"
+ "@babel/code-frame": "^7.8.3",
+ "@babel/parser": "^7.8.6",
+ "@babel/types": "^7.8.6"
}
},
"@babel/traverse": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz",
- "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz",
+ "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.5.5",
- "@babel/generator": "^7.5.5",
- "@babel/helper-function-name": "^7.1.0",
- "@babel/helper-split-export-declaration": "^7.4.4",
- "@babel/parser": "^7.5.5",
- "@babel/types": "^7.5.5",
+ "@babel/code-frame": "^7.8.3",
+ "@babel/generator": "^7.9.6",
+ "@babel/helper-function-name": "^7.9.5",
+ "@babel/helper-split-export-declaration": "^7.8.3",
+ "@babel/parser": "^7.9.6",
+ "@babel/types": "^7.9.6",
"debug": "^4.1.0",
"globals": "^11.1.0",
"lodash": "^4.17.13"
+ },
+ "dependencies": {
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true
+ }
}
},
"@babel/types": {
- "version": "7.5.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz",
- "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==",
+ "version": "7.9.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz",
+ "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==",
"dev": true,
"requires": {
- "esutils": "^2.0.2",
+ "@babel/helper-validator-identifier": "^7.9.5",
"lodash": "^4.17.13",
"to-fast-properties": "^2.0.0"
}
},
- "@mrmlnc/readdir-enhanced": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
- "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+ "@nodelib/fs.scandir": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+ "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
"dev": true,
"requires": {
- "call-me-maybe": "^1.0.1",
- "glob-to-regexp": "^0.3.0"
+ "@nodelib/fs.stat": "2.0.3",
+ "run-parallel": "^1.1.9"
}
},
"@nodelib/fs.stat": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
- "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+ "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
"dev": true
},
- "@types/events": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
- "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
- "dev": true
+ "@nodelib/fs.walk": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+ "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.3",
+ "fastq": "^1.6.0"
+ }
},
- "@types/glob": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
- "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+ "@stylelint/postcss-css-in-js": {
+ "version": "0.37.1",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-css-in-js/-/postcss-css-in-js-0.37.1.tgz",
+ "integrity": "sha512-UMf2Rni3JGKi3ZwYRGMYJ5ipOA5ENJSKMtYA/pE1ZLURwdh7B5+z2r73RmWvub+N0UuH1Lo+TGfCgYwPvqpXNw==",
"dev": true,
"requires": {
- "@types/events": "*",
- "@types/minimatch": "*",
- "@types/node": "*"
+ "@babel/core": ">=7.9.0"
}
},
- "@types/minimatch": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
- "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "@stylelint/postcss-markdown": {
+ "version": "0.36.1",
+ "resolved": "https://registry.npmjs.org/@stylelint/postcss-markdown/-/postcss-markdown-0.36.1.tgz",
+ "integrity": "sha512-iDxMBWk9nB2BPi1VFQ+Dc5+XpvODBHw2n3tYpaBZuEAFQlbtF9If0Qh5LTTwSi/XwdbJ2jt+0dis3i8omyggpw==",
+ "dev": true,
+ "requires": {
+ "remark": "^12.0.0",
+ "unist-util-find-all-after": "^3.0.1"
+ }
+ },
+ "@types/color-name": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
"dev": true
},
- "@types/node": {
- "version": "12.7.2",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.2.tgz",
- "integrity": "sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg==",
+ "@types/minimist": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.0.tgz",
+ "integrity": "sha1-aaI6OtKcrwCX8G7aWbNh7i8GOfY=",
+ "dev": true
+ },
+ "@types/normalize-package-data": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+ "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+ "dev": true
+ },
+ "@types/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
"dev": true
},
"@types/unist": {
@@ -217,61 +315,51 @@
"integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==",
"dev": true
},
- "@types/vfile": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@types/vfile/-/vfile-3.0.2.tgz",
- "integrity": "sha512-b3nLFGaGkJ9rzOcuXRfHkZMdjsawuDD0ENL9fzTophtBg8FJHSGbH7daXkEpcwy3v7Xol3pAvsmlYyFhR4pqJw==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/unist": "*",
- "@types/vfile-message": "*"
- }
- },
- "@types/vfile-message": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@types/vfile-message/-/vfile-message-1.0.1.tgz",
- "integrity": "sha512-mlGER3Aqmq7bqR1tTTIVHq8KSAFFRyGbrxuM8C/H82g6k7r2fS+IMEkIu3D7JHzG10NvPdR8DNx0jr0pwpp4dA==",
- "dev": true,
- "requires": {
- "@types/node": "*",
- "@types/unist": "*"
- }
- },
"acorn": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz",
- "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==",
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
+ "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
"dev": true
},
"acorn-jsx": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.2.tgz",
- "integrity": "sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.2.0.tgz",
+ "integrity": "sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==",
"dev": true
},
"ajv": {
- "version": "6.10.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
- "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+ "version": "6.12.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+ "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
"dev": true,
"requires": {
- "fast-deep-equal": "^2.0.1",
+ "fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"ansi-escapes": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
- "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
- "dev": true
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
+ "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.11.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+ "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+ "dev": true
+ }
+ }
},
"ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+ "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
"dev": true
},
"ansi-styles": {
@@ -292,49 +380,10 @@
"sprintf-js": "~1.0.2"
}
},
- "arr-diff": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
- "dev": true
- },
- "arr-flatten": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
- "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
- "dev": true
- },
- "arr-union": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
- "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
- "dev": true
- },
- "array-find-index": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
- "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
- "dev": true
- },
"array-union": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
- "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
- "dev": true,
- "requires": {
- "array-uniq": "^1.0.1"
- }
- },
- "array-uniq": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
- "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
- "dev": true
- },
- "array-unique": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
"dev": true
},
"arrify": {
@@ -343,51 +392,31 @@
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
- "assign-symbols": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
- "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
- "dev": true
- },
"astral-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true
},
- "atob": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
- "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
- "dev": true
- },
"autoprefixer": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz",
- "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==",
+ "version": "9.7.6",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.6.tgz",
+ "integrity": "sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ==",
"dev": true,
"requires": {
- "browserslist": "^4.6.3",
- "caniuse-lite": "^1.0.30000980",
+ "browserslist": "^4.11.1",
+ "caniuse-lite": "^1.0.30001039",
"chalk": "^2.4.2",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
- "postcss": "^7.0.17",
- "postcss-value-parser": "^4.0.0"
- },
- "dependencies": {
- "postcss-value-parser": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz",
- "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==",
- "dev": true
- }
+ "postcss": "^7.0.27",
+ "postcss-value-parser": "^4.0.3"
}
},
"bail": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz",
- "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
+ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
"dev": true
},
"balanced-match": {
@@ -396,77 +425,22 @@
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
- "base": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
- "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
- "dev": true,
- "requires": {
- "cache-base": "^1.0.1",
- "class-utils": "^0.3.5",
- "component-emitter": "^1.2.1",
- "define-property": "^1.0.0",
- "isobject": "^3.0.1",
- "mixin-deep": "^1.2.0",
- "pascalcase": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
"blueimp-canvas-to-blob": {
- "version": "3.16.0",
- "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.16.0.tgz",
- "integrity": "sha512-r5TRlxH5Y0iKrRajCfiW1K4o2U1JniarjLXuNJrC5nnlWV/UopieF8sysw9pAYBauxg2I3Ah1hUp3NEuinwmkA==",
+ "version": "3.24.0",
+ "resolved": "https://registry.npmjs.org/blueimp-canvas-to-blob/-/blueimp-canvas-to-blob-3.24.0.tgz",
+ "integrity": "sha512-HnHPjn/3QOqQpKCrd+2FVZaUXKygz3alozRdA2E8DGSjngQujM7QPXhowqc3BajJr2OT+tJSs1L4LPL1OyXhSw==",
"optional": true
},
"blueimp-load-image": {
- "version": "2.24.0",
- "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-2.24.0.tgz",
- "integrity": "sha512-fR/CNGEOqbcgbQC7+6hJKcxjD5updapWECbptrHrYpkacP1eXCOoA+92D0v49Sc+gwtxTDzu8nxNmYYd7AXzUg==",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/blueimp-load-image/-/blueimp-load-image-5.6.0.tgz",
+ "integrity": "sha512-3fcMbfyFJGZWEyl+xaLuA28skNLC4yWOLriy3HW+TeuaSqsSKh4CZ6i1vdwSw40IvlkWqFIBU5EuNarPWRVsAQ==",
"optional": true
},
"blueimp-tmpl": {
- "version": "3.13.0",
- "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.13.0.tgz",
- "integrity": "sha512-TC5eLXhPGGgBJG1gGxKRORB5DMxSVSTS/GsqsQuJ+shv0Ez5wc9bjoXVhPqtdbzVZAzFvveasAMrjqEYY/18Og==",
+ "version": "3.15.0",
+ "resolved": "https://registry.npmjs.org/blueimp-tmpl/-/blueimp-tmpl-3.15.0.tgz",
+ "integrity": "sha512-m+zf9NJ7xzPJJeSxzoMLTfgFGGGz/jySoPDcDBJuahPWMJFc7C1nNaXo5LjcmskOl0vCVX4ke2zZQ9fQIP6sVw==",
"optional": true
},
"brace-expansion": {
@@ -480,92 +454,24 @@
}
},
"braces": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
- "dev": true,
- "requires": {
- "arr-flatten": "^1.1.0",
- "array-unique": "^0.3.2",
- "extend-shallow": "^2.0.1",
- "fill-range": "^4.0.0",
- "isobject": "^3.0.1",
- "repeat-element": "^1.1.2",
- "snapdragon": "^0.8.1",
- "snapdragon-node": "^2.0.1",
- "split-string": "^3.0.2",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
- "browserslist": {
- "version": "4.6.6",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz",
- "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==",
- "dev": true,
- "requires": {
- "caniuse-lite": "^1.0.30000984",
- "electron-to-chromium": "^1.3.191",
- "node-releases": "^1.1.25"
- }
- },
- "cache-base": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
- "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
- "dev": true,
- "requires": {
- "collection-visit": "^1.0.0",
- "component-emitter": "^1.2.1",
- "get-value": "^2.0.6",
- "has-value": "^1.0.0",
- "isobject": "^3.0.1",
- "set-value": "^2.0.0",
- "to-object-path": "^0.3.0",
- "union-value": "^1.0.0",
- "unset-value": "^1.0.0"
- }
- },
- "call-me-maybe": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
- "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
- "dev": true
- },
- "caller-callsite": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
- "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
"dev": true,
"requires": {
- "callsites": "^2.0.0"
- },
- "dependencies": {
- "callsites": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
- "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
- "dev": true
- }
+ "fill-range": "^7.0.1"
}
},
- "caller-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
- "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+ "browserslist": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+ "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
"dev": true,
"requires": {
- "caller-callsite": "^2.0.0"
+ "caniuse-lite": "^1.0.30001043",
+ "electron-to-chromium": "^1.3.413",
+ "node-releases": "^1.1.53",
+ "pkg-up": "^2.0.0"
}
},
"callsites": {
@@ -575,32 +481,32 @@
"dev": true
},
"camelcase": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz",
- "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
"dev": true
},
"camelcase-keys": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz",
- "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=",
+ "version": "6.2.2",
+ "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz",
+ "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
"dev": true,
"requires": {
- "camelcase": "^4.1.0",
- "map-obj": "^2.0.0",
- "quick-lru": "^1.0.0"
+ "camelcase": "^5.3.1",
+ "map-obj": "^4.0.0",
+ "quick-lru": "^4.0.1"
}
},
"caniuse-lite": {
- "version": "1.0.30000989",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz",
- "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==",
+ "version": "1.0.30001051",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001051.tgz",
+ "integrity": "sha512-sw8UUnTlRevawTMZKN7vpfwSjCBVoiMPlYd8oT2VwNylyPCBdMAUmLGUApnYYTtIm5JXsQegUAY7GPHqgfDzjw==",
"dev": true
},
"ccount": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz",
- "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.5.tgz",
+ "integrity": "sha512-MOli1W+nfbPLlKEhInaxhRdp7KVLFxLN5ykwzHgLsLI3H3gs5jjFAK4Eoj3OzzcxCtumDaI8onoVDeQyWaNTkw==",
"dev": true
},
"chalk": {
@@ -615,27 +521,27 @@
}
},
"character-entities": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz",
- "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
"dev": true
},
"character-entities-html4": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz",
- "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz",
+ "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==",
"dev": true
},
"character-entities-legacy": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz",
- "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
"dev": true
},
"character-reference-invalid": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz",
- "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
"dev": true
},
"chardet": {
@@ -644,42 +550,19 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
- "class-utils": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
- "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "define-property": "^0.2.5",
- "isobject": "^3.0.0",
- "static-extend": "^0.1.1"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
"cli-cursor": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
- "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+ "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
"dev": true,
"requires": {
- "restore-cursor": "^2.0.0"
+ "restore-cursor": "^3.1.0"
}
},
"cli-width": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
- "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
+ "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
"dev": true
},
"clone-regexp": {
@@ -692,21 +575,11 @@
}
},
"collapse-white-space": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz",
- "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
+ "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==",
"dev": true
},
- "collection-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
- "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
- "dev": true,
- "requires": {
- "map-visit": "^1.0.0",
- "object-visit": "^1.0.0"
- }
- },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -723,15 +596,9 @@
"dev": true
},
"comment-parser": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.6.2.tgz",
- "integrity": "sha512-Wdms0Q8d4vvb2Yk72OwZjwNWtMklbC5Re7lD9cjCP/AG1fhocmc0TrxGBBAXPLy8fZQPrfHGgyygwI0lA7pbzA==",
- "dev": true
- },
- "component-emitter": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
- "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+ "version": "0.7.2",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.7.2.tgz",
+ "integrity": "sha512-4Rjb1FnxtOcv9qsfuaNuVsmmVn4ooVoBHzYfyKteiXwIU84PClyGA5jASoFMwPV93+FPh9spwueXauxFJZkGAg==",
"dev": true
},
"concat-map": {
@@ -741,56 +608,25 @@
"dev": true
},
"convert-source-map": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
- "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.1"
- },
- "dependencies": {
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true
- }
}
},
- "copy-descriptor": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
- "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
- "dev": true
- },
"cosmiconfig": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
- "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
"dev": true,
"requires": {
- "import-fresh": "^2.0.0",
- "is-directory": "^0.3.1",
- "js-yaml": "^3.13.1",
- "parse-json": "^4.0.0"
- },
- "dependencies": {
- "import-fresh": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
- "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
- "dev": true,
- "requires": {
- "caller-path": "^2.0.0",
- "resolve-from": "^3.0.0"
- }
- },
- "resolve-from": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
- "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
- "dev": true
- }
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
}
},
"cross-spawn": {
@@ -814,14 +650,11 @@
}
}
},
- "currently-unhandled": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
- "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
- "dev": true,
- "requires": {
- "array-find-index": "^1.0.1"
- }
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true
},
"debug": {
"version": "4.1.1",
@@ -856,66 +689,19 @@
}
}
},
- "decode-uri-component": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
- "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
- "dev": true
- },
"deep-is": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
- "define-property": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
- "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.2",
- "isobject": "^3.0.1"
- },
- "dependencies": {
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
"dir-glob": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
- "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
"dev": true,
"requires": {
- "path-type": "^3.0.0"
+ "path-type": "^4.0.0"
}
},
"doctrine": {
@@ -928,9 +714,9 @@
}
},
"dom-serializer": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz",
- "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==",
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
+ "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
"dev": true,
"requires": {
"domelementtype": "^2.0.1",
@@ -976,25 +762,16 @@
"domelementtype": "1"
}
},
- "dot-prop": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
- "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
- "dev": true,
- "requires": {
- "is-obj": "^1.0.0"
- }
- },
"electron-to-chromium": {
- "version": "1.3.241",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.241.tgz",
- "integrity": "sha512-Gb9E6nWZlbgjDDNe5cAvMJixtn79krNJ70EDpq/M10lkGo7PGtBUe7Y0CYVHsBScRwi6ybCS+YetXAN9ysAHDg==",
+ "version": "1.3.428",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.428.tgz",
+ "integrity": "sha512-u3+5jEfgLKq/hGO96YfAoOAM1tgFnRDTCD5mLuev44tttcXix+INtVegAkmGzUcfDsnzkPt51XXurXZLLwXt0w==",
"dev": true
},
"emoji-regex": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
- "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true
},
"entities": {
@@ -1019,9 +796,9 @@
"dev": true
},
"eslint": {
- "version": "6.2.2",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.2.2.tgz",
- "integrity": "sha512-mf0elOkxHbdyGX1IJEUsNBzCDdyoUgljF3rRlgfyYh0pwGnreLc0jjD6ZuleOibjmnUWZLY2eXwSooeOgGJ2jw==",
+ "version": "6.8.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz",
+ "integrity": "sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
@@ -1031,19 +808,19 @@
"debug": "^4.0.1",
"doctrine": "^3.0.0",
"eslint-scope": "^5.0.0",
- "eslint-utils": "^1.4.2",
+ "eslint-utils": "^1.4.3",
"eslint-visitor-keys": "^1.1.0",
- "espree": "^6.1.1",
+ "espree": "^6.1.2",
"esquery": "^1.0.1",
"esutils": "^2.0.2",
"file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1",
"glob-parent": "^5.0.0",
- "globals": "^11.7.0",
+ "globals": "^12.1.0",
"ignore": "^4.0.6",
"import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
- "inquirer": "^6.4.1",
+ "inquirer": "^7.0.0",
"is-glob": "^4.0.0",
"js-yaml": "^3.13.1",
"json-stable-stringify-without-jsonify": "^1.0.1",
@@ -1052,7 +829,7 @@
"minimatch": "^3.0.4",
"mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
- "optionator": "^0.8.2",
+ "optionator": "^0.8.3",
"progress": "^2.0.0",
"regexpp": "^2.0.1",
"semver": "^6.1.2",
@@ -1064,38 +841,39 @@
}
},
"eslint-config-blueimp": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/eslint-config-blueimp/-/eslint-config-blueimp-1.4.0.tgz",
- "integrity": "sha512-OWTLOSmsjDglgNvKKtb0t3iRPpyzFvXszXJkSS1w5oqkgVmFaKiNeoU6qOyZF2Q78rIog77RgIhzyA387b+7qA==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-blueimp/-/eslint-config-blueimp-1.9.0.tgz",
+ "integrity": "sha512-30uqxKoc3/AAn7H2lzISh77SRAecZ3D52RBwLdrV5G/ZorWcPNX0ZnlTz68AnaXoIXFu6irkMs1Zi/KJaA5ZJQ==",
"dev": true
},
"eslint-config-prettier": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.1.0.tgz",
- "integrity": "sha512-k9fny9sPjIBQ2ftFTesJV21Rg4R/7a7t7LCtZVrYQiHEp8Nnuk3EGaDmsKSAnsPj0BYcgB2zxzHa2NTkIxcOLg==",
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz",
+ "integrity": "sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA==",
"dev": true,
"requires": {
"get-stdin": "^6.0.0"
}
},
"eslint-plugin-jsdoc": {
- "version": "15.8.3",
- "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-15.8.3.tgz",
- "integrity": "sha512-p2O6SYetuSD5gWV04HHevIfp2WfimXReYwINuB4iC33hm1jrYoP+t2XbJtCBYvjhoRjjw8w4NfnyZKixte1fug==",
+ "version": "24.0.2",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-24.0.2.tgz",
+ "integrity": "sha512-tvk/jPpIP6MBVZETYnurKL/VGKzSinSbhpz1x+CzDOX20bmhRnCiexrgre4xF0WD/feg7ARKTVLCygVB3pfG5Q==",
"dev": true,
"requires": {
- "comment-parser": "^0.6.2",
+ "comment-parser": "^0.7.2",
"debug": "^4.1.1",
- "jsdoctypeparser": "5.0.1",
+ "jsdoctypeparser": "^6.1.0",
"lodash": "^4.17.15",
- "object.entries-ponyfill": "^1.0.1",
- "regextras": "^0.6.1"
+ "regextras": "^0.7.0",
+ "semver": "^6.3.0",
+ "spdx-expression-parse": "^3.0.0"
}
},
"eslint-plugin-prettier": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.0.tgz",
- "integrity": "sha512-XWX2yVuwVNLOUhQijAkXz+rMPPoCr7WFiAl8ig6I7Xn+pPVhDhzg4DxHpmbeb0iqjO9UronEA3Tb09ChnFVHHA==",
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.1.3.tgz",
+ "integrity": "sha512-+HG5jmu/dN3ZV3T6eCD7a4BlAySdN7mLIbJYo0z1cFQuI+r2DiTJEFeF68ots93PsnrMxbzIZ2S/ieX+mkrBeQ==",
"dev": true,
"requires": {
"prettier-linter-helpers": "^1.0.0"
@@ -1112,12 +890,12 @@
}
},
"eslint-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.2.tgz",
- "integrity": "sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==",
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
+ "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
"dev": true,
"requires": {
- "eslint-visitor-keys": "^1.0.0"
+ "eslint-visitor-keys": "^1.1.0"
}
},
"eslint-visitor-keys": {
@@ -1127,13 +905,13 @@
"dev": true
},
"espree": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/espree/-/espree-6.1.1.tgz",
- "integrity": "sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==",
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz",
+ "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==",
"dev": true,
"requires": {
- "acorn": "^7.0.0",
- "acorn-jsx": "^5.0.2",
+ "acorn": "^7.1.1",
+ "acorn-jsx": "^5.2.0",
"eslint-visitor-keys": "^1.1.0"
}
},
@@ -1144,12 +922,20 @@
"dev": true
},
"esquery": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
- "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
"dev": true,
"requires": {
- "estraverse": "^4.0.0"
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz",
+ "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==",
+ "dev": true
+ }
}
},
"esrecurse": {
@@ -1182,83 +968,12 @@
"clone-regexp": "^2.1.0"
}
},
- "expand-brackets": {
- "version": "2.1.4",
- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
- "dev": true,
- "requires": {
- "debug": "^2.3.3",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "posix-character-classes": "^0.1.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- }
- }
- },
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
"dev": true
},
- "extend-shallow": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
- "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
- "dev": true,
- "requires": {
- "assign-symbols": "^1.0.0",
- "is-extendable": "^1.0.1"
- },
- "dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
- }
- }
- },
"external-editor": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
@@ -1270,75 +985,10 @@
"tmp": "^0.0.33"
}
},
- "extglob": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
- "dev": true,
- "requires": {
- "array-unique": "^0.3.2",
- "define-property": "^1.0.0",
- "expand-brackets": "^2.1.4",
- "extend-shallow": "^2.0.1",
- "fragment-cache": "^0.2.1",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
"fast-deep-equal": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
- "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
"dev": true
},
"fast-diff": {
@@ -1348,67 +998,23 @@
"dev": true
},
"fast-glob": {
- "version": "2.2.7",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
- "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
+ "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
"dev": true,
"requires": {
- "@mrmlnc/readdir-enhanced": "^2.2.1",
- "@nodelib/fs.stat": "^1.1.2",
- "glob-parent": "^3.1.0",
- "is-glob": "^4.0.0",
- "merge2": "^1.2.3",
- "micromatch": "^3.1.10"
- },
- "dependencies": {
- "glob-parent": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
- "dev": true,
- "requires": {
- "is-glob": "^3.1.0",
- "path-dirname": "^1.0.0"
- },
- "dependencies": {
- "is-glob": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
- "dev": true,
- "requires": {
- "is-extglob": "^2.1.0"
- }
- }
- }
- },
- "micromatch": {
- "version": "3.1.10",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "braces": "^2.3.1",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "extglob": "^2.0.4",
- "fragment-cache": "^0.2.1",
- "kind-of": "^6.0.2",
- "nanomatch": "^1.2.9",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.2"
- }
- }
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
}
},
"fast-json-stable-stringify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
- "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
"fast-levenshtein": {
@@ -1417,10 +1023,19 @@
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
+ "fastq": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.7.0.tgz",
+ "integrity": "sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
"figures": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
- "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+ "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
"dev": true,
"requires": {
"escape-string-regexp": "^1.0.5"
@@ -1436,26 +1051,21 @@
}
},
"fill-range": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
"dev": true,
"requires": {
- "extend-shallow": "^2.0.1",
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1",
- "to-regex-range": "^2.1.0"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
}
},
"flat-cache": {
@@ -1470,26 +1080,11 @@
}
},
"flatted": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
- "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
- "dev": true
- },
- "for-in": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
- "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
+ "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
"dev": true
},
- "fragment-cache": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
- "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
- "dev": true,
- "requires": {
- "map-cache": "^0.2.2"
- }
- },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -1502,22 +1097,22 @@
"integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
"dev": true
},
+ "gensync": {
+ "version": "1.0.0-beta.1",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+ "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+ "dev": true
+ },
"get-stdin": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz",
"integrity": "sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==",
"dev": true
},
- "get-value": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
- "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
- "dev": true
- },
"glob": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
- "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
@@ -1529,20 +1124,14 @@
}
},
"glob-parent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz",
- "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==",
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+ "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
"dev": true,
"requires": {
"is-glob": "^4.0.1"
}
},
- "glob-to-regexp": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
- "dev": true
- },
"global-modules": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz",
@@ -1564,37 +1153,32 @@
}
},
"globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
},
"globby": {
- "version": "9.2.0",
- "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
- "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
- "dev": true,
- "requires": {
- "@types/glob": "^7.1.1",
- "array-union": "^1.0.2",
- "dir-glob": "^2.2.2",
- "fast-glob": "^2.2.6",
- "glob": "^7.1.3",
- "ignore": "^4.0.3",
- "pify": "^4.0.1",
- "slash": "^2.0.0"
+ "version": "11.0.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz",
+ "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==",
+ "dev": true,
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
},
"dependencies": {
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- },
- "slash": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
- "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+ "ignore": {
+ "version": "5.1.4",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
+ "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
"dev": true
}
}
@@ -1606,26 +1190,18 @@
"dev": true
},
"gonzales-pe": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.2.4.tgz",
- "integrity": "sha512-v0Ts/8IsSbh9n1OJRnSfa7Nlxi4AkXIsWB6vPept8FDbL4bXn3FNuxjYtO/nmBGu7GDkL9MFeGebeSu6l55EPQ==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
+ "integrity": "sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==",
"dev": true,
"requires": {
- "minimist": "1.1.x"
- },
- "dependencies": {
- "minimist": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
- "integrity": "sha1-O+39kaktOQFvz6ocaB6Pqhoe/ag=",
- "dev": true
- }
+ "minimist": "^1.2.5"
}
},
- "graceful-fs": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
- "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==",
+ "hard-rejection": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz",
+ "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
"dev": true
},
"has-flag": {
@@ -1634,42 +1210,10 @@
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
- "has-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
- "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.6",
- "has-values": "^1.0.0",
- "isobject": "^3.0.0"
- }
- },
- "has-values": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
- "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
- "dev": true,
- "requires": {
- "is-number": "^3.0.0",
- "kind-of": "^4.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
- "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"hosted-git-info": {
- "version": "2.8.4",
- "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
- "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==",
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+ "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
"dev": true
},
"html-tags": {
@@ -1708,9 +1252,9 @@
"dev": true
},
"import-fresh": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz",
- "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==",
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
"dev": true,
"requires": {
"parent-module": "^1.0.0",
@@ -1730,9 +1274,9 @@
"dev": true
},
"indent-string": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
- "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+ "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
"dev": true
},
"indexes-of": {
@@ -1764,50 +1308,91 @@
"dev": true
},
"inquirer": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz",
- "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==",
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
+ "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
"dev": true,
"requires": {
- "ansi-escapes": "^3.2.0",
- "chalk": "^2.4.2",
- "cli-cursor": "^2.1.0",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^3.0.0",
+ "cli-cursor": "^3.1.0",
"cli-width": "^2.0.0",
"external-editor": "^3.0.3",
- "figures": "^2.0.0",
- "lodash": "^4.17.12",
- "mute-stream": "0.0.7",
- "run-async": "^2.2.0",
- "rxjs": "^6.4.0",
- "string-width": "^2.1.0",
- "strip-ansi": "^5.1.0",
+ "figures": "^3.0.0",
+ "lodash": "^4.17.15",
+ "mute-stream": "0.0.8",
+ "run-async": "^2.4.0",
+ "rxjs": "^6.5.3",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0",
"through": "^2.3.6"
- }
- },
- "is-accessor-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
},
"dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": {
- "is-buffer": "^1.1.5"
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
}
}
}
},
"is-alphabetical": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz",
- "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
"dev": true
},
"is-alphanumeric": {
@@ -1817,9 +1402,9 @@
"dev": true
},
"is-alphanumerical": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz",
- "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
"dev": true,
"requires": {
"is-alphabetical": "^1.0.0",
@@ -1833,66 +1418,15 @@
"dev": true
},
"is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz",
+ "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==",
"dev": true
},
- "is-data-descriptor": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"is-decimal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz",
- "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ==",
- "dev": true
- },
- "is-descriptor": {
- "version": "0.1.6",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^0.1.6",
- "is-data-descriptor": "^0.1.4",
- "kind-of": "^5.0.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
- "dev": true
- }
- }
- },
- "is-directory": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
- "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
- "dev": true
- },
- "is-extendable": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
- "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
"dev": true
},
"is-extglob": {
@@ -1902,9 +1436,9 @@
"dev": true
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
- "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true
},
"is-glob": {
@@ -1917,56 +1451,21 @@
}
},
"is-hexadecimal": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz",
- "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
"dev": true
},
"is-number": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "is-obj": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
- "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
"is-plain-obj": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
- "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
- "dev": true
- },
- "is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-promise": {
"version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
- "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
"dev": true
},
"is-regexp": {
@@ -1975,28 +1474,22 @@
"integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
"dev": true
},
- "is-whitespace-character": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz",
- "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ==",
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
- "is-windows": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
- "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+ "is-whitespace-character": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
+ "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==",
"dev": true
},
"is-word-character": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz",
- "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A==",
- "dev": true
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
+ "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==",
"dev": true
},
"isexe": {
@@ -2005,12 +1498,6 @@
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
- "dev": true
- },
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -2028,9 +1515,9 @@
}
},
"jsdoctypeparser": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-5.0.1.tgz",
- "integrity": "sha512-dYwcK6TKzvq+ZKtbp4sbQSW9JMo6s+4YFfUs5D/K7bZsn3s1NhEhZ+jmIPzby0HbkbECBe+hNPEa6a+E21o94w==",
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-6.1.0.tgz",
+ "integrity": "sha512-UCQBZ3xCUBv/PLfwKAJhp6jmGOSLFNKzrotXGNgbKhWvz27wPsCsVeP7gIcHPElQw2agBmynAitXqhxR58XAmA==",
"dev": true
},
"jsesc": {
@@ -2058,32 +1545,24 @@
"dev": true
},
"json5": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
- "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+ "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
"dev": true,
"requires": {
- "minimist": "^1.2.0"
- },
- "dependencies": {
- "minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
- "dev": true
- }
+ "minimist": "^1.2.5"
}
},
"kind-of": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
"dev": true
},
"known-css-properties": {
- "version": "0.14.0",
- "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.14.0.tgz",
- "integrity": "sha512-P+0a/gBzLgVlCnK8I7VcD0yuYJscmWn66wH9tlKsQnmVdg689tLEmziwB9PuazZYLkcm07fvWOKCJJqI55sD5Q==",
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.18.0.tgz",
+ "integrity": "sha512-69AgJ1rQa7VvUsd2kpvVq+VeObDuo3zrj0CzM5Slmf6yduQFAI2kXPDQJR2IE/u6MSAUOJrwSzjg5vlz8qcMiw==",
"dev": true
},
"leven": {
@@ -2102,16 +1581,20 @@
"type-check": "~0.3.2"
}
},
- "load-json-file": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
- "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+ "lines-and-columns": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+ "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+ "dev": true
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"dev": true,
"requires": {
- "graceful-fs": "^4.1.2",
- "parse-json": "^4.0.0",
- "pify": "^3.0.0",
- "strip-bom": "^3.0.0"
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
}
},
"lodash": {
@@ -2130,90 +1613,78 @@
}
},
"longest-streak": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz",
- "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw==",
- "dev": true
- },
- "loud-rejection": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
- "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
- "dev": true,
- "requires": {
- "currently-unhandled": "^0.4.1",
- "signal-exit": "^3.0.0"
- }
- },
- "map-cache": {
- "version": "0.2.2",
- "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
- "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz",
+ "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==",
"dev": true
},
"map-obj": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz",
- "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
+ "integrity": "sha512-glc9y00wgtwcDmp7GaE/0b0OnxpNJsVf3ael/An6Fe2Q51LLwN1er6sdomLRzz5h0+yMpiYLhWYF5R7HeqVd4g==",
"dev": true
},
- "map-visit": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
- "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
- "dev": true,
- "requires": {
- "object-visit": "^1.0.0"
- }
- },
"markdown-escapes": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz",
- "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw==",
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
+ "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==",
"dev": true
},
"markdown-table": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
- "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==",
- "dev": true
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz",
+ "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==",
+ "dev": true,
+ "requires": {
+ "repeat-string": "^1.0.0"
+ }
},
"mathml-tag-names": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.1.tgz",
- "integrity": "sha512-pWB896KPGSGkp1XtyzRBftpTzwSOL0Gfk0wLvxt4f2mgzjY19o0LxJ3U25vNWTzsh7da+KTbuXQoQ3lOJZ8WHw==",
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
+ "integrity": "sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
"dev": true
},
"mdast-util-compact": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz",
- "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz",
+ "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==",
"dev": true,
"requires": {
- "unist-util-visit": "^1.1.0"
+ "unist-util-visit": "^2.0.0"
}
},
"meow": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
- "integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
- "dev": true,
- "requires": {
- "camelcase-keys": "^4.0.0",
- "decamelize-keys": "^1.0.0",
- "loud-rejection": "^1.0.0",
- "minimist-options": "^3.0.1",
- "normalize-package-data": "^2.3.4",
- "read-pkg-up": "^3.0.0",
- "redent": "^2.0.0",
- "trim-newlines": "^2.0.0",
- "yargs-parser": "^10.0.0"
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz",
+ "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==",
+ "dev": true,
+ "requires": {
+ "@types/minimist": "^1.2.0",
+ "camelcase-keys": "^6.2.2",
+ "decamelize-keys": "^1.1.0",
+ "hard-rejection": "^2.1.0",
+ "minimist-options": "^4.0.2",
+ "normalize-package-data": "^2.5.0",
+ "read-pkg-up": "^7.0.1",
+ "redent": "^3.0.0",
+ "trim-newlines": "^3.0.0",
+ "type-fest": "^0.13.1",
+ "yargs-parser": "^18.1.3"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
+ "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
+ "dev": true
+ }
}
},
"merge2": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.4.tgz",
- "integrity": "sha512-FYE8xI+6pjFOhokZu0We3S5NKCirLbCzSh2Usf3qEyr4X8U+0jNg9P8RZ4qz+V2UoECLVwSyzU3LxXBaLGtD3A==",
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+ "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
"dev": true
},
"micromatch": {
@@ -2224,47 +1695,18 @@
"requires": {
"braces": "^3.0.1",
"picomatch": "^2.0.5"
- },
- "dependencies": {
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true
- },
- "to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
- "requires": {
- "is-number": "^7.0.0"
- }
- }
}
},
"mimic-fn": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
- "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true
+ },
+ "min-indent": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.0.tgz",
+ "integrity": "sha1-z8RcN+nsDY8KDsPdTvf3w6vjklY=",
"dev": true
},
"minimatch": {
@@ -2277,49 +1719,36 @@
}
},
"minimist": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
},
"minimist-options": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz",
- "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.0.2.tgz",
+ "integrity": "sha512-seq4hpWkYSUh1y7NXxzucwAN9yVlBc3Upgdjz8vLCP97jG8kaOmzYrVH/m7tQ1NYD1wdtZbSLfdy4zFmRWuc/w==",
"dev": true,
"requires": {
"arrify": "^1.0.1",
"is-plain-obj": "^1.1.0"
- }
- },
- "mixin-deep": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
- "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
- "dev": true,
- "requires": {
- "for-in": "^1.0.2",
- "is-extendable": "^1.0.1"
},
"dependencies": {
- "is-extendable": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
- "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
- "dev": true,
- "requires": {
- "is-plain-object": "^2.0.4"
- }
+ "is-plain-obj": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
+ "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+ "dev": true
}
}
},
"mkdirp": {
- "version": "0.5.1",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
- "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
"dev": true,
"requires": {
- "minimist": "0.0.8"
+ "minimist": "^1.2.5"
}
},
"ms": {
@@ -2329,30 +1758,11 @@
"dev": true
},
"mute-stream": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
- "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+ "version": "0.0.8",
+ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
"dev": true
},
- "nanomatch": {
- "version": "1.2.13",
- "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
- "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
- "dev": true,
- "requires": {
- "arr-diff": "^4.0.0",
- "array-unique": "^0.3.2",
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "fragment-cache": "^0.2.1",
- "is-windows": "^1.0.2",
- "kind-of": "^6.0.2",
- "object.pick": "^1.3.0",
- "regex-not": "^1.0.0",
- "snapdragon": "^0.8.1",
- "to-regex": "^3.0.1"
- }
- },
"natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -2366,21 +1776,10 @@
"dev": true
},
"node-releases": {
- "version": "1.1.28",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.28.tgz",
- "integrity": "sha512-AQw4emh6iSXnCpDiFe0phYcThiccmkNWMZnFZ+lDJjAP8J0m2fVd59duvUUyuTirQOhIAajTFkzG6FHCLBO59g==",
- "dev": true,
- "requires": {
- "semver": "^5.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
+ "version": "1.1.54",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.54.tgz",
+ "integrity": "sha512-tLzytKpgwKQr37yw9CEODjNM9lnmsNxzlv575GzOZ16AgMvPcJis/DgrJX4UEV1KIYoXk6XoVfY6YaMOPJESAQ==",
+ "dev": true
},
"normalize-package-data": {
"version": "2.5.0",
@@ -2420,61 +1819,6 @@
"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
"dev": true
},
- "object-copy": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
- "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
- "dev": true,
- "requires": {
- "copy-descriptor": "^0.1.0",
- "define-property": "^0.2.5",
- "kind-of": "^3.0.3"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "object-visit": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
- "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.0"
- }
- },
- "object.entries-ponyfill": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.entries-ponyfill/-/object.entries-ponyfill-1.0.1.tgz",
- "integrity": "sha1-Kavfd8v70mVm3RqiTp2I9lQz0lY=",
- "dev": true
- },
- "object.pick": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
- "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
- "dev": true,
- "requires": {
- "isobject": "^3.0.1"
- }
- },
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -2485,26 +1829,26 @@
}
},
"onetime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
- "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+ "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
"dev": true,
"requires": {
- "mimic-fn": "^1.0.0"
+ "mimic-fn": "^2.1.0"
}
},
"optionator": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
- "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
"dev": true,
"requires": {
"deep-is": "~0.1.3",
- "fast-levenshtein": "~2.0.4",
+ "fast-levenshtein": "~2.0.6",
"levn": "~0.3.0",
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2",
- "wordwrap": "~1.0.0"
+ "word-wrap": "~1.2.3"
}
},
"os-tmpdir": {
@@ -2513,6 +1857,30 @@
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
"parent-module": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
@@ -2523,9 +1891,9 @@
}
},
"parse-entities": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz",
- "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
"dev": true,
"requires": {
"character-entities": "^1.0.0",
@@ -2537,27 +1905,17 @@
}
},
"parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+ "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
"dev": true,
"requires": {
+ "@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
- "json-parse-better-errors": "^1.0.1"
+ "json-parse-better-errors": "^1.0.1",
+ "lines-and-columns": "^1.1.6"
}
},
- "pascalcase": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
- "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
- "dev": true
- },
- "path-dirname": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
- "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
- "dev": true
- },
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
@@ -2583,36 +1941,30 @@
"dev": true
},
"path-type": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
- "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
- "dev": true,
- "requires": {
- "pify": "^3.0.0"
- }
- },
- "picomatch": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz",
- "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==",
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
"dev": true
},
- "pify": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
- "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
"dev": true
},
- "posix-character-classes": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
- "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
- "dev": true
+ "pkg-up": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
+ "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
+ "dev": true,
+ "requires": {
+ "find-up": "^2.1.0"
+ }
},
"postcss": {
- "version": "7.0.17",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz",
- "integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==",
+ "version": "7.0.29",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.29.tgz",
+ "integrity": "sha512-ba0ApvR3LxGvRMMiUa9n0WR4HjzcYm7tS+ht4/2Nd0NLtHpPIH77fuB9Xh1/yJVz9O/E/95Y/dn8ygWsyffXtw==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
@@ -2620,6 +1972,12 @@
"supports-color": "^6.1.0"
},
"dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
@@ -2640,15 +1998,6 @@
"htmlparser2": "^3.10.0"
}
},
- "postcss-jsx": {
- "version": "0.36.3",
- "resolved": "https://registry.npmjs.org/postcss-jsx/-/postcss-jsx-0.36.3.tgz",
- "integrity": "sha512-yV8Ndo6KzU8eho5mCn7LoLUGPkXrRXRjhMpX4AaYJ9wLJPv099xbtpbRQ8FrPnzVxb/cuMebbPR7LweSt+hTfA==",
- "dev": true,
- "requires": {
- "@babel/core": ">=7.2.2"
- }
- },
"postcss-less": {
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/postcss-less/-/postcss-less-3.1.4.tgz",
@@ -2658,16 +2007,6 @@
"postcss": "^7.0.14"
}
},
- "postcss-markdown": {
- "version": "0.36.0",
- "resolved": "https://registry.npmjs.org/postcss-markdown/-/postcss-markdown-0.36.0.tgz",
- "integrity": "sha512-rl7fs1r/LNSB2bWRhyZ+lM/0bwKv9fhl38/06gF6mKMo/NPnp55+K1dSTosSVjFZc0e1ppBlu+WT91ba0PMBfQ==",
- "dev": true,
- "requires": {
- "remark": "^10.0.1",
- "unist-util-find-all-after": "^1.0.2"
- }
- },
"postcss-media-query-parser": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
@@ -2704,22 +2043,22 @@
"dev": true
},
"postcss-safe-parser": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz",
- "integrity": "sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz",
+ "integrity": "sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==",
"dev": true,
"requires": {
- "postcss": "^7.0.0"
+ "postcss": "^7.0.26"
}
},
"postcss-sass": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.3.5.tgz",
- "integrity": "sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==",
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.4.4.tgz",
+ "integrity": "sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==",
"dev": true,
"requires": {
- "gonzales-pe": "^4.2.3",
- "postcss": "^7.0.1"
+ "gonzales-pe": "^4.3.0",
+ "postcss": "^7.0.21"
}
},
"postcss-scss": {
@@ -2732,12 +2071,12 @@
}
},
"postcss-selector-parser": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
- "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
+ "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
"dev": true,
"requires": {
- "dot-prop": "^4.1.1",
+ "cssesc": "^3.0.0",
"indexes-of": "^1.0.1",
"uniq": "^1.0.1"
}
@@ -2749,9 +2088,9 @@
"dev": true
},
"postcss-value-parser": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
- "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
+ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
"dev": true
},
"prelude-ls": {
@@ -2761,9 +2100,9 @@
"dev": true
},
"prettier": {
- "version": "1.18.2",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.18.2.tgz",
- "integrity": "sha512-OeHeMc0JhFE9idD4ZdtNibzY0+TPHSpSSb9h8FqtP+YnoZZ1sl8Vc9b1sasjfymH3SonAF4QcA2+mzHPhMvIiw==",
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.5.tgz",
+ "integrity": "sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg==",
"dev": true
},
"prettier-linter-helpers": {
@@ -2788,81 +2127,97 @@
"dev": true
},
"quick-lru": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz",
- "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=",
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz",
+ "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
"dev": true
},
"read-pkg": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
- "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+ "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
"requires": {
- "load-json-file": "^4.0.0",
- "normalize-package-data": "^2.3.2",
- "path-type": "^3.0.0"
+ "@types/normalize-package-data": "^2.4.0",
+ "normalize-package-data": "^2.5.0",
+ "parse-json": "^5.0.0",
+ "type-fest": "^0.6.0"
+ },
+ "dependencies": {
+ "type-fest": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+ "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+ "dev": true
+ }
}
},
"read-pkg-up": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz",
- "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=",
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz",
+ "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
"dev": true,
"requires": {
- "find-up": "^2.0.0",
- "read-pkg": "^3.0.0"
+ "find-up": "^4.1.0",
+ "read-pkg": "^5.2.0",
+ "type-fest": "^0.8.1"
},
"dependencies": {
"find-up": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
- "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
- "locate-path": "^2.0.0"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
}
},
"locate-path": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
- "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
- "p-locate": "^2.0.0",
- "path-exists": "^3.0.0"
+ "p-locate": "^4.1.0"
}
},
"p-limit": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
- "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dev": true,
"requires": {
- "p-try": "^1.0.0"
+ "p-try": "^2.0.0"
}
},
"p-locate": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
- "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
- "p-limit": "^1.1.0"
+ "p-limit": "^2.2.0"
}
},
"p-try": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
- "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
}
}
},
"readable-stream": {
- "version": "3.4.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz",
- "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
@@ -2871,24 +2226,20 @@
}
},
"redent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz",
- "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz",
+ "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
"dev": true,
"requires": {
- "indent-string": "^3.0.0",
- "strip-indent": "^2.0.0"
+ "indent-string": "^4.0.0",
+ "strip-indent": "^3.0.0"
}
},
- "regex-not": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
- "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.2",
- "safe-regex": "^1.1.0"
- }
+ "regenerator-runtime": {
+ "version": "0.13.5",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
+ "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
+ "dev": true
},
"regexpp": {
"version": "2.0.1",
@@ -2897,49 +2248,50 @@
"dev": true
},
"regextras": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.6.1.tgz",
- "integrity": "sha512-EzIHww9xV2Kpqx+corS/I7OBmf2rZ0pKKJPsw5Dc+l6Zq1TslDmtRIP9maVn3UH+72MIXmn8zzDgP07ihQogUA==",
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.7.0.tgz",
+ "integrity": "sha512-ds+fL+Vhl918gbAUb0k2gVKbTZLsg84Re3DI6p85Et0U0tYME3hyW4nMK8Px4dtDaBA2qNjvG5uWyW7eK5gfmw==",
"dev": true
},
"remark": {
- "version": "10.0.1",
- "resolved": "https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",
- "integrity": "sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",
+ "version": "12.0.0",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.0.tgz",
+ "integrity": "sha512-oX4lMIS0csgk8AEbzY0h2jdR0ngiCHOpwwpxjmRa5TqAkeknY+tkhjRJGZqnCmvyuWh55/0SW5WY3R3nn3PH9A==",
"dev": true,
"requires": {
- "remark-parse": "^6.0.0",
- "remark-stringify": "^6.0.0",
- "unified": "^7.0.0"
+ "remark-parse": "^8.0.0",
+ "remark-stringify": "^8.0.0",
+ "unified": "^9.0.0"
}
},
"remark-parse": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-6.0.3.tgz",
- "integrity": "sha512-QbDXWN4HfKTUC0hHa4teU463KclLAnwpn/FBn87j9cKYJWWawbiLgMfP2Q4XwhxxuuuOxHlw+pSN0OKuJwyVvg==",
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.2.tgz",
+ "integrity": "sha512-eMI6kMRjsAGpMXXBAywJwiwAse+KNpmt+BK55Oofy4KvBZEqUDj6mWbGLJZrujoPIPPxDXzn3T9baRlpsm2jnQ==",
"dev": true,
"requires": {
+ "ccount": "^1.0.0",
"collapse-white-space": "^1.0.2",
"is-alphabetical": "^1.0.0",
"is-decimal": "^1.0.0",
"is-whitespace-character": "^1.0.0",
"is-word-character": "^1.0.0",
"markdown-escapes": "^1.0.0",
- "parse-entities": "^1.1.0",
+ "parse-entities": "^2.0.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
"trim": "0.0.1",
"trim-trailing-lines": "^1.0.0",
"unherit": "^1.0.4",
- "unist-util-remove-position": "^1.0.0",
- "vfile-location": "^2.0.0",
+ "unist-util-remove-position": "^2.0.0",
+ "vfile-location": "^3.0.0",
"xtend": "^4.0.1"
}
},
"remark-stringify": {
- "version": "6.0.4",
- "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-6.0.4.tgz",
- "integrity": "sha512-eRWGdEPMVudijE/psbIDNcnJLRVx3xhfuEsTDGgH4GsFF91dVhw5nhmnBppafJ7+NWINW6C7ZwWbi30ImJzqWg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.0.0.tgz",
+ "integrity": "sha512-cABVYVloFH+2ZI5bdqzoOmemcz/ZuhQSH6W6ZNYnLojAUUn3xtX7u+6BpnYp35qHoGr2NFBsERV14t4vCIeW8w==",
"dev": true,
"requires": {
"ccount": "^1.0.0",
@@ -2948,22 +2300,16 @@
"is-whitespace-character": "^1.0.0",
"longest-streak": "^2.0.1",
"markdown-escapes": "^1.0.0",
- "markdown-table": "^1.1.0",
- "mdast-util-compact": "^1.0.0",
- "parse-entities": "^1.0.2",
+ "markdown-table": "^2.0.0",
+ "mdast-util-compact": "^2.0.0",
+ "parse-entities": "^2.0.0",
"repeat-string": "^1.5.4",
"state-toggle": "^1.0.0",
- "stringify-entities": "^1.0.1",
+ "stringify-entities": "^3.0.0",
"unherit": "^1.0.4",
"xtend": "^4.0.1"
}
},
- "repeat-element": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
- "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
- "dev": true
- },
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
@@ -2977,9 +2323,9 @@
"dev": true
},
"resolve": {
- "version": "1.12.0",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
- "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
+ "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
"dev": true,
"requires": {
"path-parse": "^1.0.6"
@@ -2991,26 +2337,20 @@
"integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
"dev": true
},
- "resolve-url": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
- "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
- "dev": true
- },
"restore-cursor": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
- "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+ "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
"dev": true,
"requires": {
- "onetime": "^2.0.0",
+ "onetime": "^5.1.0",
"signal-exit": "^3.0.2"
}
},
- "ret": {
- "version": "0.1.15",
- "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
- "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
"dev": true
},
"rimraf": {
@@ -3023,38 +2363,32 @@
}
},
"run-async": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
- "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
- "dev": true,
- "requires": {
- "is-promise": "^2.1.0"
- }
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+ "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+ "dev": true
+ },
+ "run-parallel": {
+ "version": "1.1.9",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+ "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
+ "dev": true
},
"rxjs": {
- "version": "6.5.2",
- "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz",
- "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==",
+ "version": "6.5.5",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+ "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
"dev": true,
"requires": {
"tslib": "^1.9.0"
}
},
"safe-buffer": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
- "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
"dev": true
},
- "safe-regex": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
- "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
- "dev": true,
- "requires": {
- "ret": "~0.1.10"
- }
- },
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -3067,29 +2401,6 @@
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
"dev": true
},
- "set-value": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
- "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^2.0.1",
- "is-extendable": "^0.1.1",
- "is-plain-object": "^2.0.3",
- "split-string": "^3.0.1"
- },
- "dependencies": {
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- }
- }
- },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -3106,9 +2417,9 @@
"dev": true
},
"signal-exit": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
- "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
"dev": true
},
"slash": {
@@ -3126,159 +2437,20 @@
"ansi-styles": "^3.2.0",
"astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0"
- }
- },
- "snapdragon": {
- "version": "0.8.2",
- "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
- "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
- "dev": true,
- "requires": {
- "base": "^0.11.1",
- "debug": "^2.2.0",
- "define-property": "^0.2.5",
- "extend-shallow": "^2.0.1",
- "map-cache": "^0.2.2",
- "source-map": "^0.5.6",
- "source-map-resolve": "^0.5.0",
- "use": "^3.1.0"
},
"dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "requires": {
- "ms": "2.0.0"
- }
- },
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- },
- "extend-shallow": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
- "dev": true,
- "requires": {
- "is-extendable": "^0.1.0"
- }
- },
- "ms": {
+ "is-fullwidth-code-point": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
"dev": true
}
}
},
- "snapdragon-node": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
- "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
- "dev": true,
- "requires": {
- "define-property": "^1.0.0",
- "isobject": "^3.0.0",
- "snapdragon-util": "^3.0.1"
- },
- "dependencies": {
- "define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^1.0.0"
- }
- },
- "is-accessor-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-data-descriptor": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
- "dev": true,
- "requires": {
- "kind-of": "^6.0.0"
- }
- },
- "is-descriptor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
- "dev": true,
- "requires": {
- "is-accessor-descriptor": "^1.0.0",
- "is-data-descriptor": "^1.0.0",
- "kind-of": "^6.0.2"
- }
- }
- }
- },
- "snapdragon-util": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
- "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
- "dev": true,
- "requires": {
- "kind-of": "^3.2.0"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
"source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true
- },
- "source-map-resolve": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
- "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
- "dev": true,
- "requires": {
- "atob": "^2.1.1",
- "decode-uri-component": "^0.2.0",
- "resolve-url": "^0.2.1",
- "source-map-url": "^0.4.0",
- "urix": "^0.1.0"
- }
- },
- "source-map-url": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
- "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"spdx-correct": {
@@ -3292,9 +2464,9 @@
}
},
"spdx-exceptions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
- "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
"dev": true
},
"spdx-expression-parse": {
@@ -3319,15 +2491,6 @@
"integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
"dev": true
},
- "split-string": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
- "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
- "dev": true,
- "requires": {
- "extend-shallow": "^3.0.0"
- }
- },
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
@@ -3335,49 +2498,29 @@
"dev": true
},
"state-toggle": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz",
- "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
+ "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==",
"dev": true
},
- "static-extend": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
- "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
- "dev": true,
- "requires": {
- "define-property": "^0.2.5",
- "object-copy": "^0.1.0"
- },
- "dependencies": {
- "define-property": {
- "version": "0.2.5",
- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
- "dev": true,
- "requires": {
- "is-descriptor": "^0.1.0"
- }
- }
- }
- },
"string-width": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
- "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
"dev": true,
"requires": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
},
"dependencies": {
"strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
"dev": true,
"requires": {
- "ansi-regex": "^3.0.0"
+ "ansi-regex": "^5.0.0"
}
}
}
@@ -3389,17 +2532,26 @@
"dev": true,
"requires": {
"safe-buffer": "~5.2.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
+ "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+ "dev": true
+ }
}
},
"stringify-entities": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
- "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.0.0.tgz",
+ "integrity": "sha512-h7NJJIssprqlyjHT2eQt2W1F+MCcNmwPGlKb0bWEdET/3N44QN3QbUF/ueKCgAssyKRZ3Br9rQ7FcXjHr0qLHw==",
"dev": true,
"requires": {
"character-entities-html4": "^1.0.0",
"character-entities-legacy": "^1.0.0",
"is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.2",
"is-hexadecimal": "^1.0.0"
}
},
@@ -3420,22 +2572,19 @@
}
}
},
- "strip-bom": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
- "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
- "dev": true
- },
"strip-indent": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz",
- "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=",
- "dev": true
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
+ "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
+ "dev": true,
+ "requires": {
+ "min-indent": "^1.0.0"
+ }
},
"strip-json-comments": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
- "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz",
+ "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==",
"dev": true
},
"style-search": {
@@ -3445,65 +2594,94 @@
"dev": true
},
"stylelint": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-10.1.0.tgz",
- "integrity": "sha512-OmlUXrgzEMLQYj1JPTpyZPR9G4bl0StidfHnGJEMpdiQ0JyTq0MPg1xkHk1/xVJ2rTPESyJCDWjG8Kbpoo7Kuw==",
+ "version": "13.3.3",
+ "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.3.3.tgz",
+ "integrity": "sha512-j8Oio2T1YNiJc6iXDaPYd74Jg4zOa1bByNm/g9/Nvnq4tDPsIjMi46jhRZyPPktGPwjJ5FwcmCqIRlH6PVP8mA==",
"dev": true,
"requires": {
- "autoprefixer": "^9.5.1",
+ "@stylelint/postcss-css-in-js": "^0.37.1",
+ "@stylelint/postcss-markdown": "^0.36.1",
+ "autoprefixer": "^9.7.6",
"balanced-match": "^1.0.0",
- "chalk": "^2.4.2",
- "cosmiconfig": "^5.2.0",
+ "chalk": "^4.0.0",
+ "cosmiconfig": "^6.0.0",
"debug": "^4.1.1",
"execall": "^2.0.0",
"file-entry-cache": "^5.0.1",
"get-stdin": "^7.0.0",
"global-modules": "^2.0.0",
- "globby": "^9.2.0",
+ "globby": "^11.0.0",
"globjoin": "^0.1.4",
- "html-tags": "^3.0.0",
- "ignore": "^5.0.6",
+ "html-tags": "^3.1.0",
+ "ignore": "^5.1.4",
"import-lazy": "^4.0.0",
"imurmurhash": "^0.1.4",
- "known-css-properties": "^0.14.0",
+ "known-css-properties": "^0.18.0",
"leven": "^3.1.0",
- "lodash": "^4.17.11",
+ "lodash": "^4.17.15",
"log-symbols": "^3.0.0",
- "mathml-tag-names": "^2.1.0",
- "meow": "^5.0.0",
- "micromatch": "^4.0.0",
+ "mathml-tag-names": "^2.1.3",
+ "meow": "^6.1.0",
+ "micromatch": "^4.0.2",
"normalize-selector": "^0.2.0",
- "pify": "^4.0.1",
- "postcss": "^7.0.14",
+ "postcss": "^7.0.27",
"postcss-html": "^0.36.0",
- "postcss-jsx": "^0.36.1",
"postcss-less": "^3.1.4",
- "postcss-markdown": "^0.36.0",
"postcss-media-query-parser": "^0.2.3",
"postcss-reporter": "^6.0.1",
"postcss-resolve-nested-selector": "^0.1.1",
- "postcss-safe-parser": "^4.0.1",
- "postcss-sass": "^0.3.5",
+ "postcss-safe-parser": "^4.0.2",
+ "postcss-sass": "^0.4.4",
"postcss-scss": "^2.0.0",
- "postcss-selector-parser": "^3.1.0",
+ "postcss-selector-parser": "^6.0.2",
"postcss-syntax": "^0.36.2",
- "postcss-value-parser": "^3.3.1",
+ "postcss-value-parser": "^4.0.3",
"resolve-from": "^5.0.0",
- "signal-exit": "^3.0.2",
"slash": "^3.0.0",
"specificity": "^0.4.1",
- "string-width": "^4.1.0",
- "strip-ansi": "^5.2.0",
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
"style-search": "^0.1.0",
"sugarss": "^2.0.0",
"svg-tags": "^1.0.0",
- "table": "^5.2.3"
+ "table": "^5.4.6",
+ "v8-compile-cache": "^2.1.0",
+ "write-file-atomic": "^3.0.3"
},
"dependencies": {
- "emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "ansi-styles": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+ "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+ "dev": true,
+ "requires": {
+ "@types/color-name": "^1.1.1",
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz",
+ "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true
},
"get-stdin": {
@@ -3512,53 +2690,54 @@
"integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
"dev": true
},
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
"ignore": {
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
"integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
"dev": true
},
- "is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true
- },
- "pify": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
- },
"resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
- "string-width": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
- "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
"dev": true,
"requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^5.2.0"
+ "has-flag": "^4.0.0"
}
}
}
},
"stylelint-config-prettier": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-5.2.0.tgz",
- "integrity": "sha512-ehrG/mBi9CTKkOBi0wlStX58+g9eGJhJW/jFEcCm/dUVHg9I2+T90k4tlyratvhlz876dyrTlor7gvDEaohVnA==",
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-8.0.1.tgz",
+ "integrity": "sha512-RcjNW7MUaNVqONhJH4+rtlAE3ow/9SsAM0YWV0Lgu3dbTKdWTa/pQXRdFWgoHWpzUKn+9oBKR5x8JdH+20wmgw==",
"dev": true
},
"stylelint-config-recommended": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-2.2.0.tgz",
- "integrity": "sha512-bZ+d4RiNEfmoR74KZtCKmsABdBJr4iXRiCso+6LtMJPw5rd/KnxUWTxht7TbafrTJK1YRjNgnN0iVZaJfc3xJA==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-3.0.0.tgz",
+ "integrity": "sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==",
"dev": true
},
"sugarss": {
@@ -3597,6 +2776,18 @@
"string-width": "^3.0.0"
},
"dependencies": {
+ "emoji-regex": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+ "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+ "dev": true
+ },
"string-width": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
@@ -3637,46 +2828,13 @@
"integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
"dev": true
},
- "to-object-path": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
- "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
- "dev": true,
- "requires": {
- "kind-of": "^3.0.2"
- },
- "dependencies": {
- "kind-of": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
- "dev": true,
- "requires": {
- "is-buffer": "^1.1.5"
- }
- }
- }
- },
- "to-regex": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
- "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
- "dev": true,
- "requires": {
- "define-property": "^2.0.2",
- "extend-shallow": "^3.0.2",
- "regex-not": "^1.0.2",
- "safe-regex": "^1.1.0"
- }
- },
"to-regex-range": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
- "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
"dev": true,
"requires": {
- "is-number": "^3.0.0",
- "repeat-string": "^1.6.1"
+ "is-number": "^7.0.0"
}
},
"trim": {
@@ -3686,33 +2844,27 @@
"dev": true
},
"trim-newlines": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz",
- "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=",
- "dev": true
- },
- "trim-right": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
- "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.0.tgz",
+ "integrity": "sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==",
"dev": true
},
"trim-trailing-lines": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz",
- "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.3.tgz",
+ "integrity": "sha512-4ku0mmjXifQcTVfYDfR5lpgV7zVqPg6zV9rdZmwOPqq0+Zq19xDqEgagqVbc4pOOShbncuAOIs59R3+3gcF3ZA==",
"dev": true
},
"trough": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz",
- "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
+ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
"dev": true
},
"tslib": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
- "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
+ "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==",
"dev": true
},
"type-check": {
@@ -3724,42 +2876,43 @@
"prelude-ls": "~1.1.2"
}
},
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
"unherit": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz",
- "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
+ "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
"dev": true,
"requires": {
- "inherits": "^2.0.1",
- "xtend": "^4.0.1"
+ "inherits": "^2.0.0",
+ "xtend": "^4.0.0"
}
},
"unified": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/unified/-/unified-7.1.0.tgz",
- "integrity": "sha512-lbk82UOIGuCEsZhPj8rNAkXSDXd6p0QLzIuSsCdxrqnqU56St4eyOB+AlXsVgVeRmetPTYydIuvFfpDIed8mqw==",
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-9.0.0.tgz",
+ "integrity": "sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ==",
"dev": true,
"requires": {
- "@types/unist": "^2.0.0",
- "@types/vfile": "^3.0.0",
"bail": "^1.0.0",
"extend": "^3.0.0",
- "is-plain-obj": "^1.1.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^2.0.0",
"trough": "^1.0.0",
- "vfile": "^3.0.0",
- "x-is-string": "^0.1.0"
- }
- },
- "union-value": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
- "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
- "dev": true,
- "requires": {
- "arr-union": "^3.1.0",
- "get-value": "^2.0.6",
- "is-extendable": "^0.1.1",
- "set-value": "^2.0.1"
+ "vfile": "^4.0.0"
}
},
"uniq": {
@@ -3769,91 +2922,57 @@
"dev": true
},
"unist-util-find-all-after": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.4.tgz",
- "integrity": "sha512-CaxvMjTd+yF93BKLJvZnEfqdM7fgEACsIpQqz8vIj9CJnUb9VpyymFS3tg6TCtgrF7vfCJBF5jbT2Ox9CBRYRQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-3.0.1.tgz",
+ "integrity": "sha512-0GICgc++sRJesLwEYDjFVJPJttBpVQaTNgc6Jw0Jhzvfs+jtKePEMu+uD+PqkRUrAvGQqwhpDwLGWo1PK8PDEw==",
"dev": true,
"requires": {
- "unist-util-is": "^3.0.0"
+ "unist-util-is": "^4.0.0"
}
},
"unist-util-is": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
- "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A==",
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.0.2.tgz",
+ "integrity": "sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==",
"dev": true
},
"unist-util-remove-position": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz",
- "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
+ "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
"dev": true,
"requires": {
- "unist-util-visit": "^1.1.0"
+ "unist-util-visit": "^2.0.0"
}
},
"unist-util-stringify-position": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
- "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ==",
- "dev": true
- },
- "unist-util-visit": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
- "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
+ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
"dev": true,
"requires": {
- "unist-util-visit-parents": "^2.0.0"
+ "@types/unist": "^2.0.2"
}
},
- "unist-util-visit-parents": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
- "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
+ "unist-util-visit": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.2.tgz",
+ "integrity": "sha512-HoHNhGnKj6y+Sq+7ASo2zpVdfdRifhTgX2KTU3B/sO/TTlZchp7E3S4vjRzDJ7L60KmrCPsQkVK3lEF3cz36XQ==",
"dev": true,
"requires": {
- "unist-util-is": "^3.0.0"
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
}
},
- "unset-value": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
- "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+ "unist-util-visit-parents": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz",
+ "integrity": "sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==",
"dev": true,
"requires": {
- "has-value": "^0.3.1",
- "isobject": "^3.0.0"
- },
- "dependencies": {
- "has-value": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
- "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
- "dev": true,
- "requires": {
- "get-value": "^2.0.3",
- "has-values": "^0.1.4",
- "isobject": "^2.0.0"
- },
- "dependencies": {
- "isobject": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
- "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
- "dev": true,
- "requires": {
- "isarray": "1.0.0"
- }
- }
- }
- },
- "has-values": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
- "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
- "dev": true
- }
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
}
},
"uri-js": {
@@ -3865,18 +2984,6 @@
"punycode": "^2.1.0"
}
},
- "urix": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
- "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
- "dev": true
- },
- "use": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
- "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
- "dev": true
- },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -3900,38 +3007,32 @@
}
},
"vfile": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/vfile/-/vfile-3.0.1.tgz",
- "integrity": "sha512-y7Y3gH9BsUSdD4KzHsuMaCzRjglXN0W2EcMf0gpvu6+SbsGhMje7xDc8AEoeXy6mIwCKMI6BkjMsRjzQbhMEjQ==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.1.0.tgz",
+ "integrity": "sha512-BaTPalregj++64xbGK6uIlsurN3BCRNM/P2Pg8HezlGzKd1O9PrwIac6bd9Pdx2uTb0QHoioZ+rXKolbVXEgJg==",
"dev": true,
"requires": {
+ "@types/unist": "^2.0.0",
"is-buffer": "^2.0.0",
"replace-ext": "1.0.0",
- "unist-util-stringify-position": "^1.0.0",
- "vfile-message": "^1.0.0"
- },
- "dependencies": {
- "is-buffer": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
- "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==",
- "dev": true
- }
+ "unist-util-stringify-position": "^2.0.0",
+ "vfile-message": "^2.0.0"
}
},
"vfile-location": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz",
- "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ==",
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.0.1.tgz",
+ "integrity": "sha512-yYBO06eeN/Ki6Kh1QAkgzYpWT1d3Qln+ZCtSbJqFExPl1S3y2qqotJQXoh6qEvl/jDlgpUJolBn3PItVnnZRqQ==",
"dev": true
},
"vfile-message": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
- "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
+ "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
"dev": true,
"requires": {
- "unist-util-stringify-position": "^1.1.1"
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0"
}
},
"which": {
@@ -3943,10 +3044,10 @@
"isexe": "^2.0.0"
}
},
- "wordwrap": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
- "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
"dev": true
},
"wrappy": {
@@ -3964,11 +3065,17 @@
"mkdirp": "^0.5.1"
}
},
- "x-is-string": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
- "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI=",
- "dev": true
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
},
"xtend": {
"version": "4.0.2",
@@ -3976,13 +3083,23 @@
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
"dev": true
},
+ "yaml": {
+ "version": "1.9.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.9.2.tgz",
+ "integrity": "sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.9.2"
+ }
+ },
"yargs-parser": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
- "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
+ "version": "18.1.3",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+ "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dev": true,
"requires": {
- "camelcase": "^4.1.0"
+ "camelcase": "^5.0.0",
+ "decamelize": "^1.2.0"
}
}
}
diff --git a/vendor/blueimp/jquery-file-upload/package.json b/vendor/blueimp/jquery-file-upload/package.json
index 9a6159619..6270c65b1 100644
--- a/vendor/blueimp/jquery-file-upload/package.json
+++ b/vendor/blueimp/jquery-file-upload/package.json
@@ -1,6 +1,6 @@
{
"name": "blueimp-file-upload",
- "version": "10.7.0",
+ "version": "10.21.0",
"title": "jQuery File Upload",
"description": "File Upload widget with multiple file selection, drag&drop support, progress bar, validation and preview images, audio and video for jQuery. Supports cross-domain, chunked and resumable file uploads. Works with any server-side platform (Google App Engine, PHP, Python, Ruby on Rails, Java, etc.) that supports standard HTML form file uploads.",
"keywords": [
@@ -35,23 +35,23 @@
},
"license": "MIT",
"peerDependencies": {
- "jquery": ">=1.6"
+ "jquery": ">=1.7"
},
"optionalDependencies": {
"blueimp-canvas-to-blob": "3",
- "blueimp-load-image": "2",
+ "blueimp-load-image": "5",
"blueimp-tmpl": "3"
},
"devDependencies": {
"eslint": "6",
"eslint-config-blueimp": "1",
"eslint-config-prettier": "6",
- "eslint-plugin-jsdoc": "15",
+ "eslint-plugin-jsdoc": "24",
"eslint-plugin-prettier": "3",
- "prettier": "1",
- "stylelint": "10",
- "stylelint-config-prettier": "5",
- "stylelint-config-recommended": "2"
+ "prettier": "2",
+ "stylelint": "13",
+ "stylelint-config-prettier": "8",
+ "stylelint-config-recommended": "3"
},
"stylelint": {
"extends": [
@@ -76,18 +76,19 @@
},
"eslintIgnore": [
"js/*.min.js",
- "js/vendor",
"test/vendor"
],
"prettier": {
+ "arrowParens": "avoid",
"proseWrap": "always",
- "singleQuote": true
+ "singleQuote": true,
+ "trailingComma": "none"
},
"scripts": {
"lint": "stylelint '**/*.css' && eslint .",
"unit": "docker-compose run --rm mocha",
"wdio": "docker-compose run --rm wdio",
- "test": "npm run lint && npm run unit && npm run wdio && npm run wdio -- firefox.js",
+ "test": "npm run lint && npm run unit && npm run wdio && npm run wdio -- conf/firefox.js",
"posttest": "docker-compose down -v",
"preversion": "npm test",
"postversion": "git push --tags origin master && npm publish"
diff --git a/vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php b/vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php
index 62f65a51f..856e81b11 100644
--- a/vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php
+++ b/vendor/blueimp/jquery-file-upload/server/php/UploadHandler.php
@@ -30,6 +30,7 @@ class UploadHandler
'min_file_size' => 'File is too small',
'accept_file_types' => 'Filetype not allowed',
'max_number_of_files' => 'Maximum number of files exceeded',
+ 'invalid_file_type' => 'Invalid file type',
'max_width' => 'Image exceeds maximum width',
'min_width' => 'Image requires a minimum width',
'max_height' => 'Image exceeds maximum height',
@@ -38,9 +39,9 @@ class UploadHandler
'image_resize' => 'Failed to resize image'
);
- const IMAGETYPE_GIF = 1;
- const IMAGETYPE_JPEG = 2;
- const IMAGETYPE_PNG = 3;
+ const IMAGETYPE_GIF = 'image/gif';
+ const IMAGETYPE_JPEG = 'image/jpeg';
+ const IMAGETYPE_PNG = 'image/png';
protected $image_objects = array();
protected $response = array();
@@ -393,7 +394,53 @@ class UploadHandler
return $this->fix_integer_overflow($val);
}
- protected function validate($uploaded_file, $file, $error, $index) {
+ protected function validate_image_file($uploaded_file, $file, $error, $index) {
+ if ($this->imagetype($uploaded_file) !== $this->get_file_type($file->name)) {
+ $file->error = $this->get_error_message('invalid_file_type');
+ return false;
+ }
+ $max_width = @$this->options['max_width'];
+ $max_height = @$this->options['max_height'];
+ $min_width = @$this->options['min_width'];
+ $min_height = @$this->options['min_height'];
+ if ($max_width || $max_height || $min_width || $min_height) {
+ list($img_width, $img_height) = $this->get_image_size($uploaded_file);
+ // If we are auto rotating the image by default, do the checks on
+ // the correct orientation
+ if (
+ @$this->options['image_versions']['']['auto_orient'] &&
+ function_exists('exif_read_data') &&
+ ($exif = @exif_read_data($uploaded_file)) &&
+ (((int) @$exif['Orientation']) >= 5)
+ ) {
+ $tmp = $img_width;
+ $img_width = $img_height;
+ $img_height = $tmp;
+ unset($tmp);
+ }
+ if (!empty($img_width) && !empty($img_height)) {
+ if ($max_width && $img_width > $max_width) {
+ $file->error = $this->get_error_message('max_width');
+ return false;
+ }
+ if ($max_height && $img_height > $max_height) {
+ $file->error = $this->get_error_message('max_height');
+ return false;
+ }
+ if ($min_width && $img_width < $min_width) {
+ $file->error = $this->get_error_message('min_width');
+ return false;
+ }
+ if ($min_height && $img_height < $min_height) {
+ $file->error = $this->get_error_message('min_height');
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+
+ protected function validate($uploaded_file, $file, $error, $index, $content_range) {
if ($error) {
$file->error = $this->get_error_message($error);
return false;
@@ -434,44 +481,8 @@ class UploadHandler
$file->error = $this->get_error_message('max_number_of_files');
return false;
}
- $max_width = @$this->options['max_width'];
- $max_height = @$this->options['max_height'];
- $min_width = @$this->options['min_width'];
- $min_height = @$this->options['min_height'];
- if (($max_width || $max_height || $min_width || $min_height)
- && $this->is_valid_image_file($uploaded_file)) {
- list($img_width, $img_height) = $this->get_image_size($uploaded_file);
- // If we are auto rotating the image by default, do the checks on
- // the correct orientation
- if (
- @$this->options['image_versions']['']['auto_orient'] &&
- function_exists('exif_read_data') &&
- ($exif = @exif_read_data($uploaded_file)) &&
- (((int) @$exif['Orientation']) >= 5)
- ) {
- $tmp = $img_width;
- $img_width = $img_height;
- $img_height = $tmp;
- unset($tmp);
- }
- }
- if (!empty($img_width) && !empty($img_height)) {
- if ($max_width && $img_width > $max_width) {
- $file->error = $this->get_error_message('max_width');
- return false;
- }
- if ($max_height && $img_height > $max_height) {
- $file->error = $this->get_error_message('max_height');
- return false;
- }
- if ($min_width && $img_width < $min_width) {
- $file->error = $this->get_error_message('min_width');
- return false;
- }
- if ($min_height && $img_height < $min_height) {
- $file->error = $this->get_error_message('min_height');
- return false;
- }
+ if (!$content_range && $this->has_image_file_extension($file->name)) {
+ return $this->validate_image_file($uploaded_file, $file, $error, $index);
}
return true;
}
@@ -508,6 +519,17 @@ class UploadHandler
return $name;
}
+ protected function get_valid_image_extensions($file_path) {
+ switch ($this->imagetype($file_path)) {
+ case self::IMAGETYPE_JPEG:
+ return array('jpg', 'jpeg');
+ case self::IMAGETYPE_PNG:
+ return array('png');
+ case self::IMAGETYPE_GIF:
+ return array('gif');
+ }
+ }
+
protected function fix_file_extension($file_path, $name, $size, $type, $error,
$index, $content_range) {
// Add missing file extension for known image types:
@@ -516,17 +538,7 @@ class UploadHandler
$name .= '.'.$matches[1];
}
if ($this->options['correct_image_extensions']) {
- switch ($this->imagetype($file_path)) {
- case self::IMAGETYPE_JPEG:
- $extensions = array('jpg', 'jpeg');
- break;
- case self::IMAGETYPE_PNG:
- $extensions = array('png');
- break;
- case self::IMAGETYPE_GIF:
- $extensions = array('gif');
- break;
- }
+ $extensions = $this->get_valid_image_extensions($file_path);
// Adjust incorrect image file extensions:
if (!empty($extensions)) {
$parts = explode('.', $name);
@@ -1094,12 +1106,13 @@ class UploadHandler
}
protected function is_valid_image_file($file_path) {
- if (!preg_match('/\.(gif|jpe?g|png)$/i', $file_path)) {
- return false;
- }
return !!$this->imagetype($file_path);
}
+ protected function has_image_file_extension($file_path) {
+ return !!preg_match('/\.(gif|jpe?g|png)$/i', $file_path);
+ }
+
protected function handle_image_file($file_path, $file) {
$failed_versions = array();
foreach ($this->options['image_versions'] as $version => $options) {
@@ -1131,7 +1144,7 @@ class UploadHandler
$index, $content_range);
$file->size = $this->fix_integer_overflow((int)$size);
$file->type = $type;
- if ($this->validate($uploaded_file, $file, $error, $index)) {
+ if ($this->validate($uploaded_file, $file, $error, $index, $content_range)) {
$this->handle_form_data($file, $index);
$upload_dir = $this->get_upload_path();
if (!is_dir($upload_dir)) {
@@ -1162,8 +1175,12 @@ class UploadHandler
$file_size = $this->get_file_size($file_path, $append_file);
if ($file_size === $file->size) {
$file->url = $this->get_download_url($file->name);
- if ($this->is_valid_image_file($file_path)) {
- $this->handle_image_file($file_path, $file);
+ if ($this->has_image_file_extension($file->name)) {
+ if ($content_range && !$this->validate_image_file($file_path, $file, $error, $index)) {
+ unlink($file_path);
+ } else {
+ $this->handle_image_file($file_path, $file);
+ }
}
} else {
$file->size = $file_size;
@@ -1249,11 +1266,11 @@ class UploadHandler
switch (strtolower(pathinfo($file_path, PATHINFO_EXTENSION))) {
case 'jpeg':
case 'jpg':
- return 'image/jpeg';
+ return self::IMAGETYPE_JPEG;
case 'png':
- return 'image/png';
+ return self::IMAGETYPE_PNG;
case 'gif':
- return 'image/gif';
+ return self::IMAGETYPE_GIF;
default:
return '';
}
diff --git a/vendor/blueimp/jquery-file-upload/test/unit.js b/vendor/blueimp/jquery-file-upload/test/unit.js
index c70d35dd6..d9d9fffb9 100644
--- a/vendor/blueimp/jquery-file-upload/test/unit.js
+++ b/vendor/blueimp/jquery-file-upload/test/unit.js
@@ -12,7 +12,7 @@
/* global beforeEach, afterEach, describe, it */
/* eslint-disable new-cap */
-(function(expect, $) {
+(function (expect, $) {
'use strict';
var canCreateBlob = !!window.dataURLtoBlob;
@@ -73,29 +73,29 @@
*/
function deleteFiles(files, callback) {
$.when(
- files.map(function(file) {
+ files.map(function (file) {
return $.ajax({
type: file.deleteType,
url: file.deleteUrl
});
})
- ).always(function() {
+ ).always(function () {
callback();
});
}
- beforeEach(function() {
+ beforeEach(function () {
fileGIF = new File([blobGIF], 'example.gif', { type: 'image/gif' });
fileJPEG = new File([blobJPEG], 'example.jpg', { type: 'image/jpeg' });
files = [fileGIF, fileJPEG];
items = [
{
- getAsFile: function() {
+ getAsFile: function () {
return files[0];
}
},
{
- getAsFile: function() {
+ getAsFile: function () {
return files[1];
}
}
@@ -108,71 +108,71 @@
};
});
- afterEach(function(done) {
- $.getJSON(uploadURL).then(function(result) {
+ afterEach(function (done) {
+ $.getJSON(uploadURL).then(function (result) {
deleteFiles(result.files, done);
});
});
- describe('Initialization', function() {
+ describe('Initialization', function () {
var form;
- beforeEach(function() {
+ beforeEach(function () {
form = createFileuploadForm();
});
- afterEach(function() {
+ afterEach(function () {
form.remove();
});
- it('widget', function() {
+ it('widget', function () {
form.fileupload();
expect(form.data('blueimp-fileupload')).to.be.an('object');
});
- it('file input', function() {
+ it('file input', function () {
form.fileupload();
expect(form.fileupload('option', 'fileInput').length).to.equal(1);
});
- it('drop zone', function() {
+ it('drop zone', function () {
form.fileupload();
expect(form.fileupload('option', 'dropZone').length).to.equal(1);
});
- it('paste zone', function() {
+ it('paste zone', function () {
form.fileupload({ pasteZone: document });
expect(form.fileupload('option', 'pasteZone').length).to.equal(1);
});
- it('data attributes', function() {
+ it('data attributes', function () {
form.attr('data-url', 'https://example.org');
form.fileupload();
expect(form.fileupload('option', 'url')).to.equal('https://example.org');
expect(form.data('blueimp-fileupload')).to.be.an('object');
});
- it('event listeners', function() {
+ it('event listeners', function () {
var eventsData = {};
form.fileupload({
autoUpload: false,
pasteZone: document,
- dragover: function() {
+ dragover: function () {
eventsData.dragover = true;
},
- dragenter: function() {
+ dragenter: function () {
eventsData.dragenter = true;
},
- dragleave: function() {
+ dragleave: function () {
eventsData.dragleave = true;
},
- drop: function(e, data) {
+ drop: function (e, data) {
eventsData.drop = data;
},
- paste: function(e, data) {
+ paste: function (e, data) {
eventsData.paste = data;
},
- change: function() {
+ change: function () {
eventsData.change = true;
}
});
@@ -197,40 +197,40 @@
});
});
- describe('API', function() {
+ describe('API', function () {
var form;
- beforeEach(function() {
+ beforeEach(function () {
form = createFileuploadForm().fileupload({
dataType: 'json',
autoUpload: false
});
});
- afterEach(function() {
+ afterEach(function () {
form.remove();
});
- it('destroy', function() {
+ it('destroy', function () {
var eventsData = {};
form.fileupload('option', {
pasteZone: document,
- dragover: function() {
+ dragover: function () {
eventsData.dragover = true;
},
- dragenter: function() {
+ dragenter: function () {
eventsData.dragenter = true;
},
- dragleave: function() {
+ dragleave: function () {
eventsData.dragleave = true;
},
- drop: function(e, data) {
+ drop: function (e, data) {
eventsData.drop = data;
},
- paste: function(e, data) {
+ paste: function (e, data) {
eventsData.paste = data;
},
- change: function() {
+ change: function () {
eventsData.change = true;
}
});
@@ -254,26 +254,26 @@
expect(eventsData.paste).to.equal();
});
- it('disable', function() {
+ it('disable', function () {
var eventsData = {};
form.fileupload('option', {
pasteZone: document,
- dragover: function() {
+ dragover: function () {
eventsData.dragover = true;
},
- dragenter: function() {
+ dragenter: function () {
eventsData.dragenter = true;
},
- dragleave: function() {
+ dragleave: function () {
eventsData.dragleave = true;
},
- drop: function(e, data) {
+ drop: function (e, data) {
eventsData.drop = data;
},
- paste: function(e, data) {
+ paste: function (e, data) {
eventsData.paste = data;
},
- change: function() {
+ change: function () {
eventsData.change = true;
}
});
@@ -298,26 +298,26 @@
expect(eventsData.paste).to.equal();
});
- it('enable', function() {
+ it('enable', function () {
var eventsData = {};
form.fileupload('option', {
pasteZone: document,
- dragover: function() {
+ dragover: function () {
eventsData.dragover = true;
},
- dragenter: function() {
+ dragenter: function () {
eventsData.dragenter = true;
},
- dragleave: function() {
+ dragleave: function () {
eventsData.dragleave = true;
},
- drop: function(e, data) {
+ drop: function (e, data) {
eventsData.drop = data;
},
- paste: function(e, data) {
+ paste: function (e, data) {
eventsData.paste = data;
},
- change: function() {
+ change: function () {
eventsData.change = true;
}
});
@@ -343,9 +343,9 @@
expect(eventsData.paste.files).to.deep.equal(files);
});
- it('option', function() {
+ it('option', function () {
var eventsData = {};
- form.fileupload('option', 'drop', function(e, data) {
+ form.fileupload('option', 'drop', function (e, data) {
eventsData.drop = data;
});
var dropZone = form
@@ -363,9 +363,9 @@
expect(eventsData.drop.files).to.deep.equal(files);
});
- it('add', function() {
+ it('add', function () {
var eventData = [];
- form.fileupload('option', 'add', function(e, data) {
+ form.fileupload('option', 'add', function (e, data) {
eventData.push(data);
});
form.fileupload('add', { files: files });
@@ -374,9 +374,9 @@
expect(eventData[1].files[0]).to.equal(files[1]);
});
- it('send', function(done) {
+ it('send', function (done) {
this.slow(200);
- form.fileupload('send', { files: files }).complete(function(result) {
+ form.fileupload('send', { files: files }).complete(function (result) {
var uploadedFiles = result.responseJSON.files;
expect(uploadedFiles.length).to.equal(2);
expect(uploadedFiles[0].type).to.equal(files[0].type);
@@ -388,20 +388,20 @@
});
});
- describe('Callbacks', function() {
+ describe('Callbacks', function () {
var form;
- beforeEach(function() {
+ beforeEach(function () {
form = createFileuploadForm().fileupload({ dataType: 'json' });
});
- afterEach(function() {
+ afterEach(function () {
form.remove();
});
- it('add', function() {
+ it('add', function () {
var eventData = [];
- form.fileupload('option', 'add', function(e, data) {
+ form.fileupload('option', 'add', function (e, data) {
eventData.push(data);
});
form.fileupload('add', { files: files });
@@ -410,14 +410,14 @@
expect(eventData[1].files[0]).to.equal(files[1]);
});
- it('submit', function(done) {
+ it('submit', function (done) {
this.slow(200);
var eventData = [];
form.fileupload('option', {
- submit: function(e, data) {
+ submit: function (e, data) {
eventData.push(data);
},
- stop: function() {
+ stop: function () {
if (eventData.length < 2) return;
expect(eventData[0].files[0]).to.equal(files[0]);
expect(eventData[1].files[0]).to.equal(files[1]);
@@ -427,14 +427,14 @@
form.fileupload('add', { files: files });
});
- it('send', function(done) {
+ it('send', function (done) {
this.slow(200);
var eventData = [];
form.fileupload('option', {
- send: function(e, data) {
+ send: function (e, data) {
eventData.push(data);
},
- stop: function() {
+ stop: function () {
expect(eventData.length).to.equal(1);
expect(eventData[0].files).to.deep.equal(files);
done();
@@ -443,14 +443,14 @@
form.fileupload('send', { files: files });
});
- it('done', function(done) {
+ it('done', function (done) {
this.slow(200);
var eventData = [];
form.fileupload('option', {
- done: function(e, data) {
+ done: function (e, data) {
eventData.push(data);
},
- stop: function() {
+ stop: function () {
if (eventData.length < 2) return;
expect(eventData[0].result.files.length).to.equal(1);
expect(eventData[1].result.files.length).to.equal(1);
@@ -460,15 +460,15 @@
form.fileupload('add', { files: files });
});
- it('fail', function(done) {
+ it('fail', function (done) {
this.slow(200);
var eventData = [];
form.fileupload('option', {
url: uploadURL + '404',
- fail: function(e, data) {
+ fail: function (e, data) {
eventData.push(data);
},
- stop: function() {
+ stop: function () {
if (eventData.length < 2) return;
expect(eventData[0].result).to.equal();
expect(eventData[1].result).to.equal();
@@ -478,14 +478,14 @@
form.fileupload('add', { files: files });
});
- it('always', function(done) {
+ it('always', function (done) {
this.slow(200);
var eventData = [];
form.fileupload('option', {
- always: function(e, data) {
+ always: function (e, data) {
eventData.push(data);
},
- stop: function() {
+ stop: function () {
if (eventData.length < 2) {
expect(eventData[0].result).to.equal();
form.fileupload('add', { files: [fileGIF] });
@@ -498,17 +498,17 @@
form.fileupload('add', { files: [fileGIF], url: uploadURL + '404' });
});
- it('progress', function(done) {
+ it('progress', function (done) {
this.slow(200);
var loaded;
var total;
form.fileupload('option', {
- progress: function(e, data) {
+ progress: function (e, data) {
loaded = data.loaded;
total = data.total;
expect(loaded).to.be.at.most(total);
},
- stop: function() {
+ stop: function () {
expect(loaded).to.equal(total);
done();
}
@@ -516,21 +516,21 @@
form.fileupload('add', { files: [fileGIF] });
});
- it('progressall', function(done) {
+ it('progressall', function (done) {
this.slow(200);
var loaded;
var total;
var completed = 0;
form.fileupload('option', {
- progressall: function(e, data) {
+ progressall: function (e, data) {
loaded = data.loaded;
total = data.total;
expect(loaded).to.be.at.most(total);
},
- always: function() {
+ always: function () {
completed++;
},
- stop: function() {
+ stop: function () {
if (completed < 2) return;
expect(loaded).to.equal(total);
done();
@@ -539,14 +539,14 @@
form.fileupload('add', { files: files });
});
- it('start', function(done) {
+ it('start', function (done) {
this.slow(200);
var started;
form.fileupload('option', {
- start: function() {
+ start: function () {
started = true;
},
- stop: function() {
+ stop: function () {
expect(started).to.equal(true);
done();
}
@@ -554,21 +554,21 @@
form.fileupload('add', { files: [fileGIF] });
});
- it('stop', function(done) {
+ it('stop', function (done) {
this.slow(200);
form.fileupload('option', {
- stop: function() {
+ stop: function () {
done();
}
});
form.fileupload('add', { files: [fileGIF] });
});
- it('dragover', function() {
+ it('dragover', function () {
var eventsData = {};
form.fileupload('option', {
autoUpload: false,
- dragover: function() {
+ dragover: function () {
eventsData.dragover = true;
}
});
@@ -578,11 +578,11 @@
expect(eventsData.dragover).to.equal(true);
});
- it('dragenter', function() {
+ it('dragenter', function () {
var eventsData = {};
form.fileupload('option', {
autoUpload: false,
- dragenter: function() {
+ dragenter: function () {
eventsData.dragenter = true;
}
});
@@ -592,11 +592,11 @@
expect(eventsData.dragenter).to.equal(true);
});
- it('dragleave', function() {
+ it('dragleave', function () {
var eventsData = {};
form.fileupload('option', {
autoUpload: false,
- dragleave: function() {
+ dragleave: function () {
eventsData.dragleave = true;
}
});
@@ -606,11 +606,11 @@
expect(eventsData.dragleave).to.equal(true);
});
- it('drop', function() {
+ it('drop', function () {
var eventsData = {};
form.fileupload('option', {
autoUpload: false,
- drop: function(e, data) {
+ drop: function (e, data) {
eventsData.drop = data;
}
});
@@ -620,12 +620,12 @@
expect(eventsData.drop.files).to.deep.equal(files);
});
- it('paste', function() {
+ it('paste', function () {
var eventsData = {};
form.fileupload('option', {
autoUpload: false,
pasteZone: document,
- paste: function(e, data) {
+ paste: function (e, data) {
eventsData.paste = data;
}
});
@@ -635,11 +635,11 @@
expect(eventsData.paste.files).to.deep.equal(files);
});
- it('change', function() {
+ it('change', function () {
var eventsData = {};
form.fileupload('option', {
autoUpload: false,
- change: function() {
+ change: function () {
eventsData.change = true;
}
});
@@ -650,20 +650,20 @@
});
});
- describe('Options', function() {
+ describe('Options', function () {
var form;
- beforeEach(function() {
+ beforeEach(function () {
form = createFileuploadForm();
});
- afterEach(function() {
+ afterEach(function () {
form.remove();
});
- it('paramName', function(done) {
+ it('paramName', function (done) {
form.fileupload({
- send: function(e, data) {
+ send: function (e, data) {
expect(data.paramName[0]).to.equal(
form.fileupload('option', 'fileInput').prop('name')
);
@@ -674,9 +674,9 @@
form.fileupload('add', { files: [fileGIF] });
});
- it('url', function(done) {
+ it('url', function (done) {
form.fileupload({
- send: function(e, data) {
+ send: function (e, data) {
expect(data.url).to.equal(form.prop('action'));
done();
return false;
@@ -685,10 +685,10 @@
form.fileupload('add', { files: [fileGIF] });
});
- it('type', function(done) {
+ it('type', function (done) {
form.fileupload({
type: 'PUT',
- send: function(e, data) {
+ send: function (e, data) {
expect(data.type).to.equal('PUT');
done();
return false;
@@ -697,7 +697,7 @@
form.fileupload('add', { files: [fileGIF] });
});
- it('replaceFileInput', function() {
+ it('replaceFileInput', function () {
form.fileupload();
var fileInput = form.fileupload('option', 'fileInput');
fileInput.trigger($.Event('change', eventObject));
@@ -710,10 +710,10 @@
expect(form.fileupload('option', 'fileInput')[0]).to.equal(fileInput[0]);
});
- it('forceIframeTransport', function(done) {
+ it('forceIframeTransport', function (done) {
form.fileupload({
forceIframeTransport: 'PUT',
- send: function(e, data) {
+ send: function (e, data) {
expect(data.dataType.substr(0, 6)).to.equal('iframe');
done();
return false;
@@ -722,10 +722,10 @@
form.fileupload('add', { files: [fileGIF] });
});
- it('singleFileUploads', function(done) {
+ it('singleFileUploads', function (done) {
form.fileupload({
singleFileUploads: false,
- send: function(e, data) {
+ send: function (e, data) {
expect(data.files).to.deep.equal(files);
done();
return false;
@@ -734,12 +734,12 @@
form.fileupload('add', { files: files });
});
- it('limitMultiFileUploads', function(done) {
+ it('limitMultiFileUploads', function (done) {
var completed = 0;
form.fileupload({
singleFileUploads: false,
limitMultiFileUploads: 2,
- send: function(e, data) {
+ send: function (e, data) {
expect(data.files).to.deep.equal(files);
completed++;
if (completed < 2) return;
@@ -750,13 +750,13 @@
form.fileupload('add', { files: files.concat(files) });
});
- it('limitMultiFileUploadSize', function(done) {
+ it('limitMultiFileUploadSize', function (done) {
var completed = 0;
form.fileupload({
singleFileUploads: false,
limitMultiFileUploadSize: files[0].size + files[1].size,
limitMultiFileUploadSizeOverhead: 0,
- send: function(e, data) {
+ send: function (e, data) {
expect(data.files).to.deep.equal(files);
completed++;
if (completed < 2) return;
@@ -767,21 +767,21 @@
form.fileupload('add', { files: files.concat(files) });
});
- it('sequentialUploads', function(done) {
+ it('sequentialUploads', function (done) {
this.slow(400);
var completed = 0;
var events = [];
form.fileupload({
sequentialUploads: true,
dataType: 'json',
- send: function() {
+ send: function () {
events.push('send');
},
- always: function() {
+ always: function () {
events.push('complete');
completed++;
},
- stop: function() {
+ stop: function () {
if (completed === 4) {
expect(events.join(',')).to.equal(
[
@@ -802,39 +802,36 @@
form.fileupload('add', { files: files.concat(files) });
});
- it('limitConcurrentUploads', function(done) {
+ it('limitConcurrentUploads', function (done) {
this.slow(800);
var completed = 0;
var loadCount = 0;
form.fileupload({
limitConcurrentUploads: 2,
dataType: 'json',
- send: function() {
+ send: function () {
loadCount++;
expect(loadCount).to.be.at.most(2);
},
- always: function() {
+ always: function () {
completed++;
loadCount--;
},
- stop: function() {
+ stop: function () {
if (completed === 8) {
done();
}
}
});
form.fileupload('add', {
- files: files
- .concat(files)
- .concat(files)
- .concat(files)
+ files: files.concat(files).concat(files).concat(files)
});
});
- it('multipart', function(done) {
+ it('multipart', function (done) {
form.fileupload({
multipart: false,
- send: function(e, data) {
+ send: function (e, data) {
expect(data.contentType).to.equal(fileGIF.type);
expect(data.headers['Content-Disposition']).to.equal(
'attachment; filename="' + fileGIF.name + '"'
@@ -846,10 +843,10 @@
form.fileupload('add', { files: [fileGIF] });
});
- it('uniqueFilenames', function(done) {
+ it('uniqueFilenames', function (done) {
form.fileupload({
uniqueFilenames: {},
- send: function(e, data) {
+ send: function (e, data) {
var formFiles = data.data.getAll('files[]');
expect(formFiles[0].name).to.equal(fileGIF.name);
expect(formFiles[1].name).to.equal(
@@ -865,27 +862,27 @@
form.fileupload('send', { files: [fileGIF, fileGIF, fileGIF] });
});
- it('maxChunkSize', function(done) {
+ it('maxChunkSize', function (done) {
this.slow(400);
var events = [];
form.fileupload({
maxChunkSize: 32,
dataType: 'json',
- chunkbeforesend: function() {
+ chunkbeforesend: function () {
events.push('chunkbeforesend');
},
- chunksend: function() {
+ chunksend: function () {
events.push('chunksend');
},
- chunkdone: function() {
+ chunkdone: function () {
events.push('chunkdone');
},
- done: function(e, data) {
+ done: function (e, data) {
var uploadedFile = data.result.files[0];
expect(uploadedFile.type).to.equal(fileGIF.type);
expect(uploadedFile.size).to.equal(fileGIF.size);
},
- stop: function() {
+ stop: function () {
expect(events.join(',')).to.equal(
[
'chunkbeforesend',
@@ -908,15 +905,15 @@
form.fileupload('send', { files: [fileGIF] });
});
- it('acceptFileTypes', function(done) {
+ it('acceptFileTypes', function (done) {
var processData;
form.fileupload({
acceptFileTypes: /^image\/gif$/,
singleFileUploads: false,
- processalways: function(e, data) {
+ processalways: function (e, data) {
processData = data;
},
- processstop: function() {
+ processstop: function () {
expect(processData.files[0].error).to.equal();
expect(processData.files[1].error).to.equal(
form.fileupload('option').i18n('acceptFileTypes')
@@ -927,15 +924,15 @@
form.fileupload('add', { files: files });
});
- it('maxFileSize', function(done) {
+ it('maxFileSize', function (done) {
var processData;
form.fileupload({
maxFileSize: 200,
singleFileUploads: false,
- processalways: function(e, data) {
+ processalways: function (e, data) {
processData = data;
},
- processstop: function() {
+ processstop: function () {
expect(processData.files[0].error).to.equal();
expect(processData.files[1].error).to.equal(
form.fileupload('option').i18n('maxFileSize')
@@ -946,15 +943,15 @@
form.fileupload('add', { files: files });
});
- it('minFileSize', function(done) {
+ it('minFileSize', function (done) {
var processData;
form.fileupload({
minFileSize: 200,
singleFileUploads: false,
- processalways: function(e, data) {
+ processalways: function (e, data) {
processData = data;
},
- processstop: function() {
+ processstop: function () {
expect(processData.files[0].error).to.equal(
form.fileupload('option').i18n('minFileSize')
);
@@ -965,18 +962,18 @@
form.fileupload('add', { files: files });
});
- it('maxNumberOfFiles', function(done) {
+ it('maxNumberOfFiles', function (done) {
var processData;
form.fileupload({
maxNumberOfFiles: 2,
- getNumberOfFiles: function() {
+ getNumberOfFiles: function () {
return 2;
},
singleFileUploads: false,
- processalways: function(e, data) {
+ processalways: function (e, data) {
processData = data;
},
- processstop: function() {
+ processstop: function () {
expect(processData.files[0].error).to.equal(
form.fileupload('option').i18n('maxNumberOfFiles')
);
diff --git a/vendor/blueimp/jquery-file-upload/test/vendor/mocha.css b/vendor/blueimp/jquery-file-upload/test/vendor/mocha.css
index ec96b003c..4ca8fcb89 100644
--- a/vendor/blueimp/jquery-file-upload/test/vendor/mocha.css
+++ b/vendor/blueimp/jquery-file-upload/test/vendor/mocha.css
@@ -139,7 +139,6 @@ body {
#mocha .test .html-error {
overflow: auto;
color: black;
- line-height: 1.5;
display: block;
float: left;
clear: left;
diff --git a/vendor/blueimp/jquery-file-upload/test/vendor/mocha.js b/vendor/blueimp/jquery-file-upload/test/vendor/mocha.js
index 508a306db..5be2b9eef 100644
--- a/vendor/blueimp/jquery-file-upload/test/vendor/mocha.js
+++ b/vendor/blueimp/jquery-file-upload/test/vendor/mocha.js
@@ -62,7 +62,7 @@ process.on = function(e, fn) {
if (e === 'uncaughtException') {
global.onerror = function(err, url, line) {
fn(new Error(err + ' (' + url + ':' + line + ')'));
- return !mocha.allowUncaught;
+ return !mocha.options.allowUncaught;
};
uncaughtExceptionHandlers.push(fn);
}
@@ -131,7 +131,7 @@ mocha.setup = function(opts) {
opts = {ui: opts};
}
for (var opt in opts) {
- if (opts.hasOwnProperty(opt)) {
+ if (Object.prototype.hasOwnProperty.call(opts, opt)) {
this[opt](opts[opt]);
}
}
@@ -1408,6 +1408,7 @@ var utils = require('./utils');
var mocharc = require('./mocharc.json');
var errors = require('./errors');
var Suite = require('./suite');
+var esmUtils = utils.supportsEsModules() ? require('./esm-utils') : undefined;
var createStatsCollector = require('./stats-collector');
var createInvalidReporterError = errors.createInvalidReporterError;
var createInvalidInterfaceError = errors.createInvalidInterfaceError;
@@ -1463,28 +1464,26 @@ exports.Test = require('./test');
* @param {boolean} [options.allowUncaught] - Propagate uncaught errors?
* @param {boolean} [options.asyncOnly] - Force `done` callback or promise?
* @param {boolean} [options.bail] - Bail after first test failure?
- * @param {boolean} [options.checkLeaks] - If true, check leaks.
+ * @param {boolean} [options.checkLeaks] - Check for global variable leaks?
+ * @param {boolean} [options.color] - Color TTY output from reporter?
* @param {boolean} [options.delay] - Delay root suite execution?
- * @param {boolean} [options.enableTimeouts] - Enable timeouts?
+ * @param {boolean} [options.diff] - Show diff on failure?
* @param {string} [options.fgrep] - Test filter given string.
* @param {boolean} [options.forbidOnly] - Tests marked `only` fail the suite?
* @param {boolean} [options.forbidPending] - Pending tests fail the suite?
- * @param {boolean} [options.fullStackTrace] - Full stacktrace upon failure?
+ * @param {boolean} [options.fullTrace] - Full stacktrace upon failure?
* @param {string[]} [options.global] - Variables expected in global scope.
* @param {RegExp|string} [options.grep] - Test filter given regular expression.
* @param {boolean} [options.growl] - Enable desktop notifications?
- * @param {boolean} [options.hideDiff] - Suppress diffs from failures?
- * @param {boolean} [options.ignoreLeaks] - Ignore global leaks?
+ * @param {boolean} [options.inlineDiffs] - Display inline diffs?
* @param {boolean} [options.invert] - Invert test filter matches?
* @param {boolean} [options.noHighlighting] - Disable syntax highlighting?
- * @param {string} [options.reporter] - Reporter name.
+ * @param {string|constructor} [options.reporter] - Reporter name or constructor.
* @param {Object} [options.reporterOption] - Reporter settings object.
* @param {number} [options.retries] - Number of times to retry failed tests.
* @param {number} [options.slow] - Slow threshold value.
* @param {number|string} [options.timeout] - Timeout threshold value.
* @param {string} [options.ui] - Interface name.
- * @param {boolean} [options.color] - Color TTY output from reporter?
- * @param {boolean} [options.useInlineDiffs] - Use inline diffs?
*/
function Mocha(options) {
options = utils.assign({}, mocharc, options || {});
@@ -1493,31 +1492,15 @@ function Mocha(options) {
// root suite
this.suite = new exports.Suite('', new exports.Context(), true);
- if ('useColors' in options) {
- utils.deprecate(
- 'useColors is DEPRECATED and will be removed from a future version of Mocha. Instead, use the "color" option'
- );
- options.color = 'color' in options ? options.color : options.useColors;
- }
-
this.grep(options.grep)
.fgrep(options.fgrep)
.ui(options.ui)
- .bail(options.bail)
- .reporter(options.reporter, options.reporterOptions)
- .useColors(options.color)
+ .reporter(
+ options.reporter,
+ options.reporterOption || options.reporterOptions // reporterOptions was previously the only way to specify options to reporter
+ )
.slow(options.slow)
- .useInlineDiffs(options.inlineDiffs)
- .globals(options.globals);
-
- if ('enableTimeouts' in options) {
- utils.deprecate(
- 'enableTimeouts is DEPRECATED and will be removed from a future version of Mocha. Instead, use "timeout: false" to disable timeouts.'
- );
- if (options.enableTimeouts === false) {
- this.timeout(0);
- }
- }
+ .global(options.global);
// this guard exists because Suite#timeout does not consider `undefined` to be valid input
if (typeof options.timeout !== 'undefined') {
@@ -1528,19 +1511,19 @@ function Mocha(options) {
this.retries(options.retries);
}
- if ('diff' in options) {
- this.hideDiff(!options.diff);
- }
-
[
'allowUncaught',
'asyncOnly',
+ 'bail',
'checkLeaks',
+ 'color',
'delay',
+ 'diff',
'forbidOnly',
'forbidPending',
'fullTrace',
'growl',
+ 'inlineDiffs',
'invert'
].forEach(function(opt) {
if (options[opt]) {
@@ -1553,16 +1536,13 @@ function Mocha(options) {
* Enables or disables bailing on the first failure.
*
* @public
- * @see {@link https://mochajs.org/#-b---bail|CLI option}
+ * @see [CLI option](../#-bail-b)
* @param {boolean} [bail=true] - Whether to bail on first error.
* @returns {Mocha} this
* @chainable
*/
Mocha.prototype.bail = function(bail) {
- if (!arguments.length) {
- bail = true;
- }
- this.suite.bail(bail);
+ this.suite.bail(bail !== false);
return this;
};
@@ -1574,7 +1554,7 @@ Mocha.prototype.bail = function(bail) {
* Useful for generic setup code that must be included within test suite.
*
* @public
- * @see {@link https://mochajs.org/#--file-file|CLI option}
+ * @see [CLI option](../#-file-filedirectoryglob)
* @param {string} file - Pathname of file to be loaded.
* @returns {Mocha} this
* @chainable
@@ -1588,8 +1568,8 @@ Mocha.prototype.addFile = function(file) {
* Sets reporter to `reporter`, defaults to "spec".
*
* @public
- * @see {@link https://mochajs.org/#-r---reporter-name|CLI option}
- * @see {@link https://mochajs.org/#reporters|Reporters}
+ * @see [CLI option](../#-reporter-name-r-name)
+ * @see [Reporters](../#reporters)
* @param {String|Function} reporter - Reporter name or constructor.
* @param {Object} [reporterOptions] - Options used to configure the reporter.
* @returns {Mocha} this
@@ -1647,6 +1627,8 @@ Mocha.prototype.reporter = function(reporter, reporterOptions) {
}
this._reporter = _reporter;
}
+ this.options.reporterOption = reporterOptions;
+ // alias option name is used in public reporters xunit/tap/progress
this.options.reporterOptions = reporterOptions;
return this;
};
@@ -1655,8 +1637,8 @@ Mocha.prototype.reporter = function(reporter, reporterOptions) {
* Sets test UI `name`, defaults to "bdd".
*
* @public
- * @see {@link https://mochajs.org/#-u---ui-name|CLI option}
- * @see {@link https://mochajs.org/#interfaces|Interface DSLs}
+ * @see [CLI option](../#-ui-name-u-name)
+ * @see [Interface DSLs](../#interfaces)
* @param {string|Function} [ui=bdd] - Interface name or class.
* @returns {Mocha} this
* @chainable
@@ -1703,16 +1685,18 @@ Mocha.prototype.ui = function(ui) {
};
/**
- * Loads `files` prior to execution.
+ * Loads `files` prior to execution. Does not support ES Modules.
*
* @description
* The implementation relies on Node's `require` to execute
* the test interface functions and will be subject to its cache.
+ * Supports only CommonJS modules. To load ES modules, use Mocha#loadFilesAsync.
*
* @private
* @see {@link Mocha#addFile}
* @see {@link Mocha#run}
* @see {@link Mocha#unloadFiles}
+ * @see {@link Mocha#loadFilesAsync}
* @param {Function} [fn] - Callback invoked upon completion.
*/
Mocha.prototype.loadFiles = function(fn) {
@@ -1728,6 +1712,49 @@ Mocha.prototype.loadFiles = function(fn) {
};
/**
+ * Loads `files` prior to execution. Supports Node ES Modules.
+ *
+ * @description
+ * The implementation relies on Node's `require` and `import` to execute
+ * the test interface functions and will be subject to its cache.
+ * Supports both CJS and ESM modules.
+ *
+ * @public
+ * @see {@link Mocha#addFile}
+ * @see {@link Mocha#run}
+ * @see {@link Mocha#unloadFiles}
+ * @returns {Promise}
+ * @example
+ *
+ * // loads ESM (and CJS) test files asynchronously, then runs root suite
+ * mocha.loadFilesAsync()
+ * .then(() => mocha.run(failures => process.exitCode = failures ? 1 : 0))
+ * .catch(() => process.exitCode = 1);
+ */
+Mocha.prototype.loadFilesAsync = function() {
+ var self = this;
+ var suite = this.suite;
+ this.loadAsync = true;
+
+ if (!esmUtils) {
+ return new Promise(function(resolve) {
+ self.loadFiles(resolve);
+ });
+ }
+
+ return esmUtils.loadFilesAsync(
+ this.files,
+ function(file) {
+ suite.emit(EVENT_FILE_PRE_REQUIRE, global, file, self);
+ },
+ function(file, resultModule) {
+ suite.emit(EVENT_FILE_REQUIRE, resultModule, file, self);
+ suite.emit(EVENT_FILE_POST_REQUIRE, global, file, self);
+ }
+ );
+};
+
+/**
* Removes a previously loaded file from Node's `require` cache.
*
* @private
@@ -1743,14 +1770,13 @@ Mocha.unloadFile = function(file) {
* Unloads `files` from Node's `require` cache.
*
* @description
- * This allows files to be "freshly" reloaded, providing the ability
+ * This allows required files to be "freshly" reloaded, providing the ability
* to reuse a Mocha instance programmatically.
+ * Note: does not clear ESM module files from the cache
*
* <strong>Intended for consumers &mdash; not used internally</strong>
*
* @public
- * @see {@link Mocha.unloadFile}
- * @see {@link Mocha#loadFiles}
* @see {@link Mocha#run}
* @returns {Mocha} this
* @chainable
@@ -1794,7 +1820,7 @@ Mocha.prototype.fgrep = function(str) {
* <strong>Previous filter value will be overwritten on each call!</strong>
*
* @public
- * @see {@link https://mochajs.org/#-g---grep-pattern|CLI option}
+ * @see [CLI option](../#-grep-regexp-g-regexp)
* @see {@link Mocha#fgrep}
* @see {@link Mocha#invert}
* @param {RegExp|String} re - Regular expression used to select tests.
@@ -1845,32 +1871,32 @@ Mocha.prototype.invert = function() {
/**
* Enables or disables ignoring global leaks.
*
+ * @deprecated since v7.0.0
* @public
* @see {@link Mocha#checkLeaks}
- * @param {boolean} ignoreLeaks - Whether to ignore global leaks.
+ * @param {boolean} [ignoreLeaks=false] - Whether to ignore global leaks.
* @return {Mocha} this
* @chainable
- * @example
- *
- * // Ignore global leaks
- * mocha.ignoreLeaks(true);
*/
Mocha.prototype.ignoreLeaks = function(ignoreLeaks) {
- this.options.ignoreLeaks = Boolean(ignoreLeaks);
+ utils.deprecate(
+ '"ignoreLeaks()" is DEPRECATED, please use "checkLeaks()" instead.'
+ );
+ this.options.checkLeaks = !ignoreLeaks;
return this;
};
/**
- * Enables checking for global variables leaked while running tests.
+ * Enables or disables checking for global variables leaked while running tests.
*
* @public
- * @see {@link https://mochajs.org/#--check-leaks|CLI option}
- * @see {@link Mocha#ignoreLeaks}
+ * @see [CLI option](../#-check-leaks)
+ * @param {boolean} [checkLeaks=true] - Whether to check for global variable leaks.
* @return {Mocha} this
* @chainable
*/
-Mocha.prototype.checkLeaks = function() {
- this.options.ignoreLeaks = false;
+Mocha.prototype.checkLeaks = function(checkLeaks) {
+ this.options.checkLeaks = checkLeaks !== false;
return this;
};
@@ -1878,11 +1904,13 @@ Mocha.prototype.checkLeaks = function() {
* Displays full stack trace upon test failure.
*
* @public
+ * @see [CLI option](../#-full-trace)
+ * @param {boolean} [fullTrace=true] - Whether to print full stacktrace upon failure.
* @return {Mocha} this
* @chainable
*/
-Mocha.prototype.fullTrace = function() {
- this.options.fullStackTrace = true;
+Mocha.prototype.fullTrace = function(fullTrace) {
+ this.options.fullTrace = fullTrace !== false;
return this;
};
@@ -1890,8 +1918,7 @@ Mocha.prototype.fullTrace = function() {
* Enables desktop notification support if prerequisite software installed.
*
* @public
- * @see {@link Mocha#isGrowlCapable}
- * @see {@link Mocha#_growl}
+ * @see [CLI option](../#-growl-g)
* @return {Mocha} this
* @chainable
*/
@@ -1934,62 +1961,121 @@ Mocha.prototype._growl = growl.notify;
* Specifies whitelist of variable names to be expected in global scope.
*
* @public
- * @see {@link https://mochajs.org/#--globals-names|CLI option}
+ * @see [CLI option](../#-global-variable-name)
* @see {@link Mocha#checkLeaks}
- * @param {String[]|String} globals - Accepted global variable name(s).
+ * @param {String[]|String} global - Accepted global variable name(s).
* @return {Mocha} this
* @chainable
* @example
*
* // Specify variables to be expected in global scope
- * mocha.globals(['jQuery', 'MyLib']);
- */
-Mocha.prototype.globals = function(globals) {
- this.options.globals = (this.options.globals || [])
- .concat(globals)
- .filter(Boolean);
+ * mocha.global(['jQuery', 'MyLib']);
+ */
+Mocha.prototype.global = function(global) {
+ this.options.global = (this.options.global || [])
+ .concat(global)
+ .filter(Boolean)
+ .filter(function(elt, idx, arr) {
+ return arr.indexOf(elt) === idx;
+ });
return this;
};
+// for backwards compability, 'globals' is an alias of 'global'
+Mocha.prototype.globals = Mocha.prototype.global;
/**
* Enables or disables TTY color output by screen-oriented reporters.
*
+ * @deprecated since v7.0.0
* @public
+ * @see {@link Mocha#color}
* @param {boolean} colors - Whether to enable color output.
* @return {Mocha} this
* @chainable
*/
Mocha.prototype.useColors = function(colors) {
+ utils.deprecate('"useColors()" is DEPRECATED, please use "color()" instead.');
if (colors !== undefined) {
- this.options.useColors = colors;
+ this.options.color = colors;
}
return this;
};
/**
+ * Enables or disables TTY color output by screen-oriented reporters.
+ *
+ * @public
+ * @see [CLI option](../#-color-c-colors)
+ * @param {boolean} [color=true] - Whether to enable color output.
+ * @return {Mocha} this
+ * @chainable
+ */
+Mocha.prototype.color = function(color) {
+ this.options.color = color !== false;
+ return this;
+};
+
+/**
* Determines if reporter should use inline diffs (rather than +/-)
* in test failure output.
*
+ * @deprecated since v7.0.0
* @public
- * @param {boolean} inlineDiffs - Whether to use inline diffs.
+ * @see {@link Mocha#inlineDiffs}
+ * @param {boolean} [inlineDiffs=false] - Whether to use inline diffs.
* @return {Mocha} this
* @chainable
*/
Mocha.prototype.useInlineDiffs = function(inlineDiffs) {
- this.options.useInlineDiffs = inlineDiffs !== undefined && inlineDiffs;
+ utils.deprecate(
+ '"useInlineDiffs()" is DEPRECATED, please use "inlineDiffs()" instead.'
+ );
+ this.options.inlineDiffs = inlineDiffs !== undefined && inlineDiffs;
+ return this;
+};
+
+/**
+ * Enables or disables reporter to use inline diffs (rather than +/-)
+ * in test failure output.
+ *
+ * @public
+ * @see [CLI option](../#-inline-diffs)
+ * @param {boolean} [inlineDiffs=true] - Whether to use inline diffs.
+ * @return {Mocha} this
+ * @chainable
+ */
+Mocha.prototype.inlineDiffs = function(inlineDiffs) {
+ this.options.inlineDiffs = inlineDiffs !== false;
return this;
};
/**
* Determines if reporter should include diffs in test failure output.
*
+ * @deprecated since v7.0.0
* @public
- * @param {boolean} hideDiff - Whether to hide diffs.
+ * @see {@link Mocha#diff}
+ * @param {boolean} [hideDiff=false] - Whether to hide diffs.
* @return {Mocha} this
* @chainable
*/
Mocha.prototype.hideDiff = function(hideDiff) {
- this.options.hideDiff = hideDiff !== undefined && hideDiff;
+ utils.deprecate('"hideDiff()" is DEPRECATED, please use "diff()" instead.');
+ this.options.diff = !(hideDiff === true);
+ return this;
+};
+
+/**
+ * Enables or disables reporter to include diff in test failure output.
+ *
+ * @public
+ * @see [CLI option](../#-diff)
+ * @param {boolean} [diff=true] - Whether to show diff on failure.
+ * @return {Mocha} this
+ * @chainable
+ */
+Mocha.prototype.diff = function(diff) {
+ this.options.diff = diff !== false;
return this;
};
@@ -2002,9 +2088,8 @@ Mocha.prototype.hideDiff = function(hideDiff) {
* If the value is `0`, timeouts will be disabled.
*
* @public
- * @see {@link https://mochajs.org/#-t---timeout-ms|CLI option}
- * @see {@link https://mochajs.org/#--no-timeouts|CLI option}
- * @see {@link https://mochajs.org/#timeouts|Timeouts}
+ * @see [CLI option](../#-timeout-ms-t-ms)
+ * @see [Timeouts](../#timeouts)
* @see {@link Mocha#enableTimeouts}
* @param {number|string} msecs - Timeout threshold value.
* @return {Mocha} this
@@ -2027,7 +2112,8 @@ Mocha.prototype.timeout = function(msecs) {
* Sets the number of times to retry failed tests.
*
* @public
- * @see {@link https://mochajs.org/#retry-tests|Retry Tests}
+ * @see [CLI option](../#-retries-n)
+ * @see [Retry Tests](../#retry-tests)
* @param {number} retry - Number of times to retry failed tests.
* @return {Mocha} this
* @chainable
@@ -2045,7 +2131,7 @@ Mocha.prototype.retries = function(n) {
* Sets slowness threshold value.
*
* @public
- * @see {@link https://mochajs.org/#-s---slow-ms|CLI option}
+ * @see [CLI option](../#-slow-ms-s-ms)
* @param {number} msecs - Slowness threshold value.
* @return {Mocha} this
* @chainable
@@ -2067,8 +2153,7 @@ Mocha.prototype.slow = function(msecs) {
* Enables or disables timeouts.
*
* @public
- * @see {@link https://mochajs.org/#-t---timeout-ms|CLI option}
- * @see {@link https://mochajs.org/#--no-timeouts|CLI option}
+ * @see [CLI option](../#-timeout-ms-t-ms)
* @param {boolean} enableTimeouts - Whether to enable timeouts.
* @return {Mocha} this
* @chainable
@@ -2084,11 +2169,13 @@ Mocha.prototype.enableTimeouts = function(enableTimeouts) {
* Forces all tests to either accept a `done` callback or return a promise.
*
* @public
+ * @see [CLI option](../#-async-only-a)
+ * @param {boolean} [asyncOnly=true] - Wether to force `done` callback or promise.
* @return {Mocha} this
* @chainable
*/
-Mocha.prototype.asyncOnly = function() {
- this.options.asyncOnly = true;
+Mocha.prototype.asyncOnly = function(asyncOnly) {
+ this.options.asyncOnly = asyncOnly !== false;
return this;
};
@@ -2105,14 +2192,16 @@ Mocha.prototype.noHighlighting = function() {
};
/**
- * Enables uncaught errors to propagate (in browser).
+ * Enables or disables uncaught errors to propagate.
*
* @public
+ * @see [CLI option](../#-allow-uncaught)
+ * @param {boolean} [allowUncaught=true] - Whether to propagate uncaught errors.
* @return {Mocha} this
* @chainable
*/
-Mocha.prototype.allowUncaught = function() {
- this.options.allowUncaught = true;
+Mocha.prototype.allowUncaught = function(allowUncaught) {
+ this.options.allowUncaught = allowUncaught !== false;
return this;
};
@@ -2124,7 +2213,7 @@ Mocha.prototype.allowUncaught = function() {
* Used to perform asynch operations before any suites are run.
*
* @public
- * @see {@link https://mochajs.org/#delayed-root-suite|delayed root suite}
+ * @see [delayed root suite](../#delayed-root-suite)
* @returns {Mocha} this
* @chainable
*/
@@ -2137,11 +2226,13 @@ Mocha.prototype.delay = function delay() {
* Causes tests marked `only` to fail the suite.
*
* @public
+ * @see [CLI option](../#-forbid-only)
+ * @param {boolean} [forbidOnly=true] - Whether tests marked `only` fail the suite.
* @returns {Mocha} this
* @chainable
*/
-Mocha.prototype.forbidOnly = function() {
- this.options.forbidOnly = true;
+Mocha.prototype.forbidOnly = function(forbidOnly) {
+ this.options.forbidOnly = forbidOnly !== false;
return this;
};
@@ -2149,11 +2240,13 @@ Mocha.prototype.forbidOnly = function() {
* Causes pending tests and tests marked `skip` to fail the suite.
*
* @public
+ * @see [CLI option](../#-forbid-pending)
+ * @param {boolean} [forbidPending=true] - Whether pending tests fail the suite.
* @returns {Mocha} this
* @chainable
*/
-Mocha.prototype.forbidPending = function() {
- this.options.forbidPending = true;
+Mocha.prototype.forbidPending = function(forbidPending) {
+ this.options.forbidPending = forbidPending !== false;
return this;
};
@@ -2187,14 +2280,17 @@ Object.defineProperty(Mocha.prototype, 'version', {
* the cache first!
*
* @public
- * @see {@link Mocha#loadFiles}
* @see {@link Mocha#unloadFiles}
* @see {@link Runner#run}
* @param {DoneCB} [fn] - Callback invoked when test execution completed.
- * @return {Runner} runner instance
+ * @returns {Runner} runner instance
+ * @example
+ *
+ * // exit with non-zero status if there were test failures
+ * mocha.run(failures => process.exitCode = failures ? 1 : 0);
*/
Mocha.prototype.run = function(fn) {
- if (this.files.length) {
+ if (this.files.length && !this.loadAsync) {
this.loadFiles();
}
var suite = this.suite;
@@ -2203,8 +2299,8 @@ Mocha.prototype.run = function(fn) {
var runner = new exports.Runner(suite, options.delay);
createStatsCollector(runner);
var reporter = new this._reporter(runner, options);
- runner.ignoreLeaks = options.ignoreLeaks !== false;
- runner.fullStackTrace = options.fullStackTrace;
+ runner.checkLeaks = options.checkLeaks === true;
+ runner.fullStackTrace = options.fullTrace;
runner.asyncOnly = options.asyncOnly;
runner.allowUncaught = options.allowUncaught;
runner.forbidOnly = options.forbidOnly;
@@ -2212,17 +2308,17 @@ Mocha.prototype.run = function(fn) {
if (options.grep) {
runner.grep(options.grep, options.invert);
}
- if (options.globals) {
- runner.globals(options.globals);
+ if (options.global) {
+ runner.globals(options.global);
}
if (options.growl) {
this._growl(runner);
}
- if (options.useColors !== undefined) {
- exports.reporters.Base.useColors = options.useColors;
+ if (options.color !== undefined) {
+ exports.reporters.Base.useColors = options.color;
}
- exports.reporters.Base.inlineDiffs = options.useInlineDiffs;
- exports.reporters.Base.hideDiff = options.hideDiff;
+ exports.reporters.Base.inlineDiffs = options.inlineDiffs;
+ exports.reporters.Base.hideDiff = !options.diff;
function done(failures) {
fn = fn || utils.noop;
@@ -2237,16 +2333,17 @@ Mocha.prototype.run = function(fn) {
};
}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {})
-},{"../package.json":90,"./context":5,"./errors":6,"./growl":2,"./hook":7,"./interfaces":11,"./mocharc.json":15,"./reporters":21,"./runnable":33,"./runner":34,"./stats-collector":35,"./suite":36,"./test":37,"./utils":38,"_process":69,"escape-string-regexp":49,"path":42}],15:[function(require,module,exports){
+},{"../package.json":90,"./context":5,"./errors":6,"./esm-utils":42,"./growl":2,"./hook":7,"./interfaces":11,"./mocharc.json":15,"./reporters":21,"./runnable":33,"./runner":34,"./stats-collector":35,"./suite":36,"./test":37,"./utils":38,"_process":69,"escape-string-regexp":49,"path":42}],15:[function(require,module,exports){
module.exports={
"diff": true,
- "extension": ["js"],
+ "extension": ["js", "cjs", "mjs"],
"opts": "./test/mocha.opts",
"package": "./package.json",
"reporter": "spec",
"slow": 75,
"timeout": 2000,
- "ui": "bdd"
+ "ui": "bdd",
+ "watch-ignore": ["node_modules", ".git"]
}
},{}],16:[function(require,module,exports){
@@ -2292,7 +2389,12 @@ exports = module.exports = Base;
* Check if both stdio streams are associated with a tty.
*/
-var isatty = tty.isatty(1) && tty.isatty(2);
+var isatty = process.stdout.isTTY && process.stderr.isTTY;
+
+/**
+ * Save log references to avoid tests interfering (see GH-3604).
+ */
+var consoleLog = console.log;
/**
* Enable coloring by default, except in the browser interface.
@@ -2416,14 +2518,14 @@ exports.cursor = {
}
};
-function showDiff(err) {
+var showDiff = (exports.showDiff = function(err) {
return (
err &&
err.showDiff !== false &&
sameType(err.actual, err.expected) &&
err.expected !== undefined
);
-}
+});
function stringifyDiffObjs(err) {
if (!utils.isString(err.actual) || !utils.isString(err.expected)) {
@@ -2444,9 +2546,19 @@ function stringifyDiffObjs(err) {
* @return {string} Diff
*/
var generateDiff = (exports.generateDiff = function(actual, expected) {
- return exports.inlineDiffs
- ? inlineDiff(actual, expected)
- : unifiedDiff(actual, expected);
+ try {
+ return exports.inlineDiffs
+ ? inlineDiff(actual, expected)
+ : unifiedDiff(actual, expected);
+ } catch (err) {
+ var msg =
+ '\n ' +
+ color('diff added', '+ expected') +
+ ' ' +
+ color('diff removed', '- actual: failed to generate Mocha diff') +
+ '\n';
+ return msg;
+ }
});
/**
@@ -2459,7 +2571,8 @@ var generateDiff = (exports.generateDiff = function(actual, expected) {
* Error property
*/
exports.list = function(failures) {
- console.log();
+ var multipleErr, multipleTest;
+ Base.consoleLog();
failures.forEach(function(test, i) {
// format
var fmt =
@@ -2469,7 +2582,16 @@ exports.list = function(failures) {
// msg
var msg;
- var err = test.err;
+ var err;
+ if (test.err && test.err.multiple) {
+ if (multipleTest !== test) {
+ multipleTest = test;
+ multipleErr = [test.err].concat(test.err.multiple);
+ }
+ err = multipleErr.shift();
+ } else {
+ err = test.err;
+ }
var message;
if (err.message && typeof err.message.toString === 'function') {
message = err.message + '';
@@ -2520,7 +2642,7 @@ exports.list = function(failures) {
testTitle += str;
});
- console.log(fmt, i + 1, testTitle, msg, stack);
+ Base.consoleLog(fmt, i + 1, testTitle, msg, stack);
});
};
@@ -2560,7 +2682,12 @@ function Base(runner, options) {
if (showDiff(err)) {
stringifyDiffObjs(err);
}
- test.err = err;
+ // more than one error per test
+ if (test.err && err instanceof Error) {
+ test.err.multiple = (test.err.multiple || []).concat(err);
+ } else {
+ test.err = err;
+ }
failures.push(test);
});
}
@@ -2569,13 +2696,13 @@ function Base(runner, options) {
* Outputs common epilogue used by many of the bundled reporters.
*
* @public
- * @memberof Mocha.reporters.Base
+ * @memberof Mocha.reporters
*/
Base.prototype.epilogue = function() {
var stats = this.stats;
var fmt;
- console.log();
+ Base.consoleLog();
// passes
fmt =
@@ -2583,26 +2710,26 @@ Base.prototype.epilogue = function() {
color('green', ' %d passing') +
color('light', ' (%s)');
- console.log(fmt, stats.passes || 0, milliseconds(stats.duration));
+ Base.consoleLog(fmt, stats.passes || 0, milliseconds(stats.duration));
// pending
if (stats.pending) {
fmt = color('pending', ' ') + color('pending', ' %d pending');
- console.log(fmt, stats.pending);
+ Base.consoleLog(fmt, stats.pending);
}
// failures
if (stats.failures) {
fmt = color('fail', ' %d failing');
- console.log(fmt, stats.failures);
+ Base.consoleLog(fmt, stats.failures);
Base.list(this.failures);
- console.log();
+ Base.consoleLog();
}
- console.log();
+ Base.consoleLog();
};
/**
@@ -2755,6 +2882,8 @@ function sameType(a, b) {
return objToString.call(a) === objToString.call(b);
}
+Base.consoleLog = consoleLog;
+
Base.abstract = true;
}).call(this,require('_process'))
@@ -2805,41 +2934,45 @@ function Doc(runner, options) {
return;
}
++indents;
- console.log('%s<section class="suite">', indent());
+ Base.consoleLog('%s<section class="suite">', indent());
++indents;
- console.log('%s<h1>%s</h1>', indent(), utils.escape(suite.title));
- console.log('%s<dl>', indent());
+ Base.consoleLog('%s<h1>%s</h1>', indent(), utils.escape(suite.title));
+ Base.consoleLog('%s<dl>', indent());
});
runner.on(EVENT_SUITE_END, function(suite) {
if (suite.root) {
return;
}
- console.log('%s</dl>', indent());
+ Base.consoleLog('%s</dl>', indent());
--indents;
- console.log('%s</section>', indent());
+ Base.consoleLog('%s</section>', indent());
--indents;
});
runner.on(EVENT_TEST_PASS, function(test) {
- console.log('%s <dt>%s</dt>', indent(), utils.escape(test.title));
+ Base.consoleLog('%s <dt>%s</dt>', indent(), utils.escape(test.title));
var code = utils.escape(utils.clean(test.body));
- console.log('%s <dd><pre><code>%s</code></pre></dd>', indent(), code);
+ Base.consoleLog('%s <dd><pre><code>%s</code></pre></dd>', indent(), code);
});
runner.on(EVENT_TEST_FAIL, function(test, err) {
- console.log(
+ Base.consoleLog(
'%s <dt class="error">%s</dt>',
indent(),
utils.escape(test.title)
);
var code = utils.escape(utils.clean(test.body));
- console.log(
+ Base.consoleLog(
'%s <dd class="error"><pre><code>%s</code></pre></dd>',
indent(),
code
);
- console.log('%s <dd class="error">%s</dd>', indent(), utils.escape(err));
+ Base.consoleLog(
+ '%s <dd class="error">%s</dd>',
+ indent(),
+ utils.escape(err)
+ );
});
}
@@ -2917,7 +3050,7 @@ function Dot(runner, options) {
});
runner.once(EVENT_RUN_END, function() {
- console.log();
+ process.stdout.write('\n');
self.epilogue();
});
}
@@ -3291,8 +3424,8 @@ function hideSuitesWithout(classname) {
*/
function unhide() {
var els = document.getElementsByClassName('suite hidden');
- for (var i = 0; i < els.length; ++i) {
- els[i].className = els[i].className.replace('suite hidden', 'suite');
+ while (els.length > 0) {
+ els[0].className = els[0].className.replace('suite hidden', 'suite');
}
}
@@ -3677,7 +3810,7 @@ function Landing(runner, options) {
runner.once(EVENT_RUN_END, function() {
cursor.show();
- console.log();
+ process.stdout.write('\n');
self.epilogue();
});
}
@@ -3735,7 +3868,7 @@ function List(runner, options) {
var n = 0;
runner.on(EVENT_RUN_BEGIN, function() {
- console.log();
+ Base.consoleLog();
});
runner.on(EVENT_TEST_BEGIN, function(test) {
@@ -3744,7 +3877,7 @@ function List(runner, options) {
runner.on(EVENT_TEST_PENDING, function(test) {
var fmt = color('checkmark', ' -') + color('pending', ' %s');
- console.log(fmt, test.fullTitle());
+ Base.consoleLog(fmt, test.fullTitle());
});
runner.on(EVENT_TEST_PASS, function(test) {
@@ -3753,12 +3886,12 @@ function List(runner, options) {
color('pass', ' %s: ') +
color(test.speed, '%dms');
cursor.CR();
- console.log(fmt, test.fullTitle(), test.duration);
+ Base.consoleLog(fmt, test.fullTitle(), test.duration);
});
runner.on(EVENT_TEST_FAIL, function(test) {
cursor.CR();
- console.log(color('fail', ' %d) %s'), ++n, test.fullTitle());
+ Base.consoleLog(color('fail', ' %d) %s'), ++n, test.fullTitle());
});
runner.once(EVENT_RUN_END, self.epilogue.bind(self));
@@ -4286,7 +4419,7 @@ function Progress(runner, options) {
// tests started
runner.on(EVENT_RUN_BEGIN, function() {
- console.log();
+ process.stdout.write('\n');
cursor.hide();
});
@@ -4319,7 +4452,7 @@ function Progress(runner, options) {
// and the failures if any
runner.once(EVENT_RUN_END, function() {
cursor.show();
- console.log();
+ process.stdout.write('\n');
self.epilogue();
});
}
@@ -4381,24 +4514,24 @@ function Spec(runner, options) {
}
runner.on(EVENT_RUN_BEGIN, function() {
- console.log();
+ Base.consoleLog();
});
runner.on(EVENT_SUITE_BEGIN, function(suite) {
++indents;
- console.log(color('suite', '%s%s'), indent(), suite.title);
+ Base.consoleLog(color('suite', '%s%s'), indent(), suite.title);
});
runner.on(EVENT_SUITE_END, function() {
--indents;
if (indents === 1) {
- console.log();
+ Base.consoleLog();
}
});
runner.on(EVENT_TEST_PENDING, function(test) {
var fmt = indent() + color('pending', ' - %s');
- console.log(fmt, test.title);
+ Base.consoleLog(fmt, test.title);
});
runner.on(EVENT_TEST_PASS, function(test) {
@@ -4408,19 +4541,19 @@ function Spec(runner, options) {
indent() +
color('checkmark', ' ' + Base.symbols.ok) +
color('pass', ' %s');
- console.log(fmt, test.title);
+ Base.consoleLog(fmt, test.title);
} else {
fmt =
indent() +
color('checkmark', ' ' + Base.symbols.ok) +
color('pass', ' %s') +
color(test.speed, ' (%dms)');
- console.log(fmt, test.title, test.duration);
+ Base.consoleLog(fmt, test.title, test.duration);
}
});
runner.on(EVENT_TEST_FAIL, function(test) {
- console.log(indent() + color('fail', ' %d) %s'), ++n, test.title);
+ Base.consoleLog(indent() + color('fail', ' %d) %s'), ++n, test.title);
});
runner.once(EVENT_RUN_END, self.epilogue.bind(self));
@@ -4877,7 +5010,7 @@ XUnit.prototype.write = function(line) {
} else if (typeof process === 'object' && process.stdout) {
process.stdout.write(line + '\n');
} else {
- console.log(line);
+ Base.consoleLog(line);
}
};
@@ -4898,9 +5031,9 @@ XUnit.prototype.test = function(test) {
if (test.state === STATE_FAILED) {
var err = test.err;
var diff =
- Base.hideDiff || !err.actual || !err.expected
- ? ''
- : '\n' + Base.generateDiff(err.actual, err.expected);
+ !Base.hideDiff && Base.showDiff(err)
+ ? '\n' + Base.generateDiff(err.actual, err.expected)
+ : '';
this.write(
tag(
'testcase',
@@ -5090,7 +5223,8 @@ Runnable.prototype.enableTimeouts = function(enabled) {
* @public
*/
Runnable.prototype.skip = function() {
- throw new Pending('sync skip');
+ this.pending = true;
+ throw new Pending('sync skip; aborting execution');
};
/**
@@ -5289,43 +5423,45 @@ Runnable.prototype.run = function(fn) {
fn(err);
}
- // for .resetTimeout()
+ // for .resetTimeout() and Runner#uncaught()
this.callback = done;
+ if (this.fn && typeof this.fn.call !== 'function') {
+ done(
+ new TypeError(
+ 'A runnable must be passed a function as its second argument.'
+ )
+ );
+ return;
+ }
+
// explicit async with `done` argument
if (this.async) {
this.resetTimeout();
// allows skip() to be used in an explicit async context
this.skip = function asyncSkip() {
- done(new Pending('async skip call'));
- // halt execution. the Runnable will be marked pending
- // by the previous call, and the uncaught handler will ignore
- // the failure.
+ this.pending = true;
+ done();
+ // halt execution, the uncaught handler will ignore the failure.
throw new Pending('async skip; aborting execution');
};
- if (this.allowUncaught) {
- return callFnAsync(this.fn);
- }
try {
callFnAsync(this.fn);
} catch (err) {
+ // handles async runnables which actually run synchronously
emitted = true;
+ if (err instanceof Pending) {
+ return; // done() is already called in this.skip()
+ } else if (this.allowUncaught) {
+ throw err;
+ }
done(Runnable.toValueOrError(err));
}
return;
}
- if (this.allowUncaught) {
- if (this.isPending()) {
- done();
- } else {
- callFn(this.fn);
- }
- return;
- }
-
// sync or promise-returning
try {
if (this.isPending()) {
@@ -5335,6 +5471,11 @@ Runnable.prototype.run = function(fn) {
}
} catch (err) {
emitted = true;
+ if (err instanceof Pending) {
+ return done();
+ } else if (this.allowUncaught) {
+ throw err;
+ }
done(Runnable.toValueOrError(err));
}
@@ -5479,8 +5620,9 @@ var sQuote = utils.sQuote;
var stackFilter = utils.stackTraceFilter();
var stringify = utils.stringify;
var type = utils.type;
-var createInvalidExceptionError = require('./errors')
- .createInvalidExceptionError;
+var errors = require('./errors');
+var createInvalidExceptionError = errors.createInvalidExceptionError;
+var createUnsupportedError = errors.createUnsupportedError;
/**
* Non-enumerable globals.
@@ -5589,6 +5731,11 @@ function Runner(suite, delay) {
this.total = suite.total();
this.failures = 0;
this.on(constants.EVENT_TEST_END, function(test) {
+ if (test.retriedTest() && test.parent) {
+ var idx =
+ test.parent.tests && test.parent.tests.indexOf(test.retriedTest());
+ if (idx > -1) test.parent.tests[idx] = test;
+ }
self.checkGlobals(test);
});
this.on(constants.EVENT_HOOK_END, function(hook) {
@@ -5596,7 +5743,7 @@ function Runner(suite, delay) {
});
this._defaultGrep = /.*/;
this.grep(this._defaultGrep);
- this.globals(this.globalProps().concat(extraGlobals()));
+ this.globals(this.globalProps());
}
/**
@@ -5699,7 +5846,7 @@ Runner.prototype.globals = function(arr) {
* @private
*/
Runner.prototype.checkGlobals = function(test) {
- if (this.ignoreLeaks) {
+ if (!this.checkLeaks) {
return;
}
var ok = this._globals;
@@ -5770,8 +5917,7 @@ Runner.prototype.fail = function(test, err) {
* - Failed `before each` hook skips remaining tests in a
* suite and jumps to corresponding `after each` hook,
* which is run only once
- * - Failed `after` hook does not alter
- * execution order
+ * - Failed `after` hook does not alter execution order
* - Failed `after each` hook skips remaining tests in a
* suite and subsuites, but executes other `after each`
* hooks
@@ -5841,34 +5987,37 @@ Runner.prototype.hook = function(name, fn) {
if (testError) {
self.fail(self.test, testError);
}
- if (err) {
- if (err instanceof Pending) {
- if (name === HOOK_TYPE_AFTER_ALL) {
- utils.deprecate(
- 'Skipping a test within an "after all" hook is DEPRECATED and will throw an exception in a future version of Mocha. ' +
- 'Use a return statement or other means to abort hook execution.'
- );
+ // conditional skip
+ if (hook.pending) {
+ if (name === HOOK_TYPE_AFTER_EACH) {
+ // TODO define and implement use case
+ if (self.test) {
+ self.test.pending = true;
}
- if (name === HOOK_TYPE_BEFORE_EACH || name === HOOK_TYPE_AFTER_EACH) {
- if (self.test) {
- self.test.pending = true;
- }
- } else {
- suite.tests.forEach(function(test) {
- test.pending = true;
- });
- suite.suites.forEach(function(suite) {
- suite.pending = true;
- });
- // a pending hook won't be executed twice.
- hook.pending = true;
+ } else if (name === HOOK_TYPE_BEFORE_EACH) {
+ if (self.test) {
+ self.test.pending = true;
}
+ self.emit(constants.EVENT_HOOK_END, hook);
+ hook.pending = false; // activates hook for next test
+ return fn(new Error('abort hookDown'));
+ } else if (name === HOOK_TYPE_BEFORE_ALL) {
+ suite.tests.forEach(function(test) {
+ test.pending = true;
+ });
+ suite.suites.forEach(function(suite) {
+ suite.pending = true;
+ });
} else {
- self.failHook(hook, err);
-
- // stop executing hooks, notify callee of hook err
- return fn(err);
+ hook.pending = false;
+ var errForbid = createUnsupportedError('`this.skip` forbidden');
+ self.failHook(hook, errForbid);
+ return fn(errForbid);
}
+ } else if (err) {
+ self.failHook(hook, err);
+ // stop executing hooks, notify callee of hook err
+ return fn(err);
}
self.emit(constants.EVENT_HOOK_END, hook);
delete hook.ctx.currentTest;
@@ -5980,6 +6129,9 @@ Runner.prototype.runTest = function(fn) {
test.asyncOnly = true;
}
test.on('error', function(err) {
+ if (err instanceof Pending) {
+ return;
+ }
self.fail(test, err);
});
if (this.allowUncaught) {
@@ -6075,6 +6227,7 @@ Runner.prototype.runTests = function(suite, fn) {
return;
}
+ // static skip, no hooks are executed
if (test.isPending()) {
if (self.forbidPending) {
test.isPending = alwaysFalse;
@@ -6090,6 +6243,7 @@ Runner.prototype.runTests = function(suite, fn) {
// execute test and hook(s)
self.emit(constants.EVENT_TEST_BEGIN, (self.test = test));
self.hookDown(HOOK_TYPE_BEFORE_EACH, function(err, errSuite) {
+ // conditional skip within beforeEach
if (test.isPending()) {
if (self.forbidPending) {
test.isPending = alwaysFalse;
@@ -6099,7 +6253,13 @@ Runner.prototype.runTests = function(suite, fn) {
self.emit(constants.EVENT_TEST_PENDING, test);
}
self.emit(constants.EVENT_TEST_END, test);
- return next();
+ // skip inner afterEach hooks below errSuite level
+ var origSuite = self.suite;
+ self.suite = errSuite || self.suite;
+ return self.hookUp(HOOK_TYPE_AFTER_EACH, function(e, eSuite) {
+ self.suite = origSuite;
+ next(e, eSuite);
+ });
}
if (err) {
return hookErr(err, errSuite, false);
@@ -6107,14 +6267,20 @@ Runner.prototype.runTests = function(suite, fn) {
self.currentRunnable = self.test;
self.runTest(function(err) {
test = self.test;
- if (err) {
- var retry = test.currentRetry();
- if (err instanceof Pending && self.forbidPending) {
+ // conditional skip within it
+ if (test.pending) {
+ if (self.forbidPending) {
+ test.isPending = alwaysFalse;
self.fail(test, new Error('Pending test forbidden'));
- } else if (err instanceof Pending) {
- test.pending = true;
+ delete test.isPending;
+ } else {
self.emit(constants.EVENT_TEST_PENDING, test);
- } else if (retry < test.retries()) {
+ }
+ self.emit(constants.EVENT_TEST_END, test);
+ return self.hookUp(HOOK_TYPE_AFTER_EACH, next);
+ } else if (err) {
+ var retry = test.currentRetry();
+ if (retry < test.retries()) {
var clonedTest = test.clone();
clonedTest.currentRetry(retry + 1);
tests.unshift(clonedTest);
@@ -6128,11 +6294,6 @@ Runner.prototype.runTests = function(suite, fn) {
self.fail(test, err);
}
self.emit(constants.EVENT_TEST_END, test);
-
- if (err instanceof Pending) {
- return next();
- }
-
return self.hookUp(HOOK_TYPE_AFTER_EACH, next);
}
@@ -6164,7 +6325,6 @@ Runner.prototype.runSuite = function(suite, fn) {
var i = 0;
var self = this;
var total = this.grepTotal(suite);
- var afterAllHookCalled = false;
debug('run suite %s', suite.fullTitle());
@@ -6212,21 +6372,13 @@ Runner.prototype.runSuite = function(suite, fn) {
self.suite = suite;
self.nextSuite = next;
- if (afterAllHookCalled) {
- fn(errSuite);
- } else {
- // mark that the afterAll block has been called once
- // and so can be skipped if there is an error in it.
- afterAllHookCalled = true;
+ // remove reference to test
+ delete self.test;
- // remove reference to test
- delete self.test;
-
- self.hook(HOOK_TYPE_AFTER_ALL, function() {
- self.emit(constants.EVENT_SUITE_END, suite);
- fn(errSuite);
- });
- }
+ self.hook(HOOK_TYPE_AFTER_ALL, function() {
+ self.emit(constants.EVENT_SUITE_END, suite);
+ fn(errSuite);
+ });
}
this.nextSuite = next;
@@ -6240,7 +6392,7 @@ Runner.prototype.runSuite = function(suite, fn) {
};
/**
- * Handle uncaught exceptions.
+ * Handle uncaught exceptions within runner.
*
* @param {Error} err
* @private
@@ -6249,6 +6401,11 @@ Runner.prototype.uncaught = function(err) {
if (err instanceof Pending) {
return;
}
+ // browser does not exit script when throwing in global.onerror()
+ if (this.allowUncaught && !process.browser) {
+ throw err;
+ }
+
if (err) {
debug('uncaught exception %O', err);
} else {
@@ -6284,43 +6441,37 @@ Runner.prototype.uncaught = function(err) {
runnable.clearTimeout();
- // Ignore errors if already failed or pending
- // See #3226
- if (runnable.isFailed() || runnable.isPending()) {
+ if (runnable.isFailed()) {
+ // Ignore error if already failed
+ return;
+ } else if (runnable.isPending()) {
+ // report 'pending test' retrospectively as failed
+ runnable.isPending = alwaysFalse;
+ this.fail(runnable, err);
+ delete runnable.isPending;
return;
}
+
// we cannot recover gracefully if a Runnable has already passed
// then fails asynchronously
- var alreadyPassed = runnable.isPassed();
- // this will change the state to "failed" regardless of the current value
- this.fail(runnable, err);
- if (!alreadyPassed) {
- // recover from test
- if (runnable.type === constants.EVENT_TEST_BEGIN) {
- this.emit(constants.EVENT_TEST_END, runnable);
- this.hookUp(HOOK_TYPE_AFTER_EACH, this.next);
- return;
- }
+ if (runnable.isPassed()) {
+ this.fail(runnable, err);
+ this.abort();
+ } else {
debug(runnable);
-
- // recover from hooks
- var errSuite = this.suite;
-
- // XXX how about a less awful way to determine this?
- // if hook failure is in afterEach block
- if (runnable.fullTitle().indexOf('after each') > -1) {
- return this.hookErr(err, errSuite, true);
- }
- // if hook failure is in beforeEach block
- if (runnable.fullTitle().indexOf('before each') > -1) {
- return this.hookErr(err, errSuite, false);
- }
- // if hook failure is in after or before blocks
- return this.nextSuite(errSuite);
+ return runnable.callback(err);
}
+};
- // bail
- this.emit(constants.EVENT_RUN_END);
+/**
+ * Handle uncaught exceptions after runner's end event.
+ *
+ * @param {Error} err
+ * @private
+ */
+Runner.prototype.uncaughtEnd = function uncaughtEnd(err) {
+ if (err instanceof Pending) return;
+ throw err;
};
/**
@@ -6370,10 +6521,12 @@ Runner.prototype.run = function(fn) {
this.on(constants.EVENT_RUN_END, function() {
debug(constants.EVENT_RUN_END);
process.removeListener('uncaughtException', uncaught);
+ process.on('uncaughtException', self.uncaughtEnd);
fn(self.failures);
});
// uncaught exception
+ process.removeListener('uncaughtException', self.uncaughtEnd);
process.on('uncaughtException', uncaught);
if (this._delay) {
@@ -6382,7 +6535,9 @@ Runner.prototype.run = function(fn) {
this.emit(constants.EVENT_DELAY_BEGIN, rootSuite);
rootSuite.once(EVENT_ROOT_SUITE_RUN, start);
} else {
- start();
+ Runner.immediately(function() {
+ start();
+ });
}
return this;
@@ -6471,30 +6626,6 @@ function thrown2Error(err) {
);
}
-/**
- * Array of globals dependent on the environment.
- *
- * @return {Array}
- * @deprecated
- * @todo remove; long since unsupported
- * @private
- */
-function extraGlobals() {
- if (typeof process === 'object' && typeof process.version === 'string') {
- var parts = process.version.split('.');
- var nodeVersion = parts.reduce(function(a, v) {
- return (a << 8) | v;
- });
-
- // 'errno' was renamed to process._errno in v0.9.11.
- if (nodeVersion < 0x00090b) {
- return ['errno'];
- }
- }
-
- return [];
-}
-
Runner.constants = constants;
/**
@@ -7274,6 +7405,18 @@ function Test(title, fn) {
*/
utils.inherits(Test, Runnable);
+/**
+ * Set or get retried test
+ *
+ * @private
+ */
+Test.prototype.retriedTest = function(n) {
+ if (!arguments.length) {
+ return this._retriedTest;
+ }
+ this._retriedTest = n;
+};
+
Test.prototype.clone = function() {
var test = new Test(this.title, this.fn);
test.timeout(this.timeout());
@@ -7281,6 +7424,7 @@ Test.prototype.clone = function() {
test.enableTimeouts(this.enableTimeouts());
test.retries(this.retries());
test.currentRetry(this.currentRetry());
+ test.retriedTest(this.retriedTest() || this);
test.globals(this.globals());
test.parent = this.parent;
test.file = this.file;
@@ -7346,80 +7490,6 @@ exports.isString = function(obj) {
};
/**
- * Watch the given `files` for changes
- * and invoke `fn(file)` on modification.
- *
- * @private
- * @param {Array} files
- * @param {Function} fn
- */
-exports.watch = function(files, fn) {
- var options = {interval: 100};
- var debug = require('debug')('mocha:watch');
- files.forEach(function(file) {
- debug('file %s', file);
- fs.watchFile(file, options, function(curr, prev) {
- if (prev.mtime < curr.mtime) {
- fn(file);
- }
- });
- });
-};
-
-/**
- * Predicate to screen `pathname` for further consideration.
- *
- * @description
- * Returns <code>false</code> for pathname referencing:
- * <ul>
- * <li>'npm' package installation directory
- * <li>'git' version control directory
- * </ul>
- *
- * @private
- * @param {string} pathname - File or directory name to screen
- * @return {boolean} whether pathname should be further considered
- * @example
- * ['node_modules', 'test.js'].filter(considerFurther); // => ['test.js']
- */
-function considerFurther(pathname) {
- var ignore = ['node_modules', '.git'];
-
- return !~ignore.indexOf(pathname);
-}
-
-/**
- * Lookup files in the given `dir`.
- *
- * @description
- * Filenames are returned in _traversal_ order by the OS/filesystem.
- * **Make no assumption that the names will be sorted in any fashion.**
- *
- * @private
- * @param {string} dir
- * @param {string[]} [exts=['js']]
- * @param {Array} [ret=[]]
- * @return {Array}
- */
-exports.files = function(dir, exts, ret) {
- ret = ret || [];
- exts = exts || ['js'];
-
- fs.readdirSync(dir)
- .filter(considerFurther)
- .forEach(function(dirent) {
- var pathname = path.join(dir, dirent);
- if (fs.lstatSync(pathname).isDirectory()) {
- exports.files(pathname, exts, ret);
- } else if (hasMatchingExtname(pathname, exts)) {
- ret.push(pathname);
- }
- });
-
- return ret;
-};
-
-/**
* Compute a slug from the given `str`.
*
* @private
@@ -7854,32 +7924,41 @@ function isHiddenOnUnix(pathname) {
*
* @public
* @memberof Mocha.utils
- * @todo Fix extension handling
* @param {string} filepath - Base path to start searching from.
- * @param {string[]} extensions - File extensions to look for.
- * @param {boolean} recursive - Whether to recurse into subdirectories.
+ * @param {string[]} [extensions=[]] - File extensions to look for.
+ * @param {boolean} [recursive=false] - Whether to recurse into subdirectories.
* @return {string[]} An array of paths.
* @throws {Error} if no files match pattern.
* @throws {TypeError} if `filepath` is directory and `extensions` not provided.
*/
exports.lookupFiles = function lookupFiles(filepath, extensions, recursive) {
+ extensions = extensions || [];
+ recursive = recursive || false;
var files = [];
var stat;
if (!fs.existsSync(filepath)) {
- if (fs.existsSync(filepath + '.js')) {
- filepath += '.js';
+ var pattern;
+ if (glob.hasMagic(filepath)) {
+ // Handle glob as is without extensions
+ pattern = filepath;
} else {
- // Handle glob
- files = glob.sync(filepath);
- if (!files.length) {
- throw createNoFilesMatchPatternError(
- 'Cannot find any files matching pattern ' + exports.dQuote(filepath),
- filepath
- );
- }
- return files;
+ // glob pattern e.g. 'filepath+(.js|.ts)'
+ var strExtensions = extensions
+ .map(function(v) {
+ return '.' + v;
+ })
+ .join('|');
+ pattern = filepath + '+(' + strExtensions + ')';
+ }
+ files = glob.sync(pattern, {nodir: true});
+ if (!files.length) {
+ throw createNoFilesMatchPatternError(
+ 'Cannot find any files matching pattern ' + exports.dQuote(filepath),
+ filepath
+ );
}
+ return files;
}
// Handle file
@@ -7910,7 +7989,7 @@ exports.lookupFiles = function lookupFiles(filepath, extensions, recursive) {
// ignore error
return;
}
- if (!extensions) {
+ if (!extensions.length) {
throw createMissingArgumentError(
util.format(
'Argument %s required when argument %s is a directory',
@@ -8006,7 +8085,8 @@ exports.stackTraceFilter = function() {
function isMochaInternal(line) {
return (
~line.indexOf('node_modules' + slash + 'mocha' + slash) ||
- ~line.indexOf(slash + 'mocha.js')
+ ~line.indexOf(slash + 'mocha.js') ||
+ ~line.indexOf(slash + 'mocha.min.js')
);
}
@@ -8188,8 +8268,30 @@ exports.defineConstants = function(obj) {
return Object.freeze(exports.createMap(obj));
};
+/**
+ * Whether current version of Node support ES modules
+ *
+ * @description
+ * Versions prior to 10 did not support ES Modules, and version 10 has an old incompatibile version of ESM.
+ * This function returns whether Node.JS has ES Module supports that is compatible with Mocha's needs,
+ * which is version >=12.11.
+ *
+ * @returns {Boolean} whether the current version of Node.JS supports ES Modules in a way that is compatible with Mocha
+ */
+exports.supportsEsModules = function() {
+ if (!process.browser && process.versions && process.versions.node) {
+ var versionFields = process.versions.node.split('.');
+ var major = +versionFields[0];
+ var minor = +versionFields[1];
+
+ if (major >= 13 || (major === 12 && minor >= 11)) {
+ return true;
+ }
+ }
+};
+
}).call(this,require('_process'),require("buffer").Buffer)
-},{"./errors":6,"_process":69,"buffer":43,"debug":45,"fs":42,"glob":42,"he":54,"object.assign":65,"path":42,"util":89}],39:[function(require,module,exports){
+},{"./errors":6,"_process":69,"buffer":43,"fs":42,"glob":42,"he":54,"object.assign":65,"path":42,"util":89}],39:[function(require,module,exports){
'use strict'
exports.byteLength = byteLength
@@ -18069,7 +18171,7 @@ function hasOwnProperty(obj, prop) {
},{"./support/isBuffer":88,"_process":69,"inherits":56}],90:[function(require,module,exports){
module.exports={
"name": "mocha",
- "version": "6.1.4",
+ "version": "7.1.1",
"homepage": "https://mochajs.org/",
"notifyLogo": "https://ibin.co/4QuRuGjXvl36.png"
}
diff --git a/vendor/blueimp/jquery-file-upload/wdio/.prettierrc.js b/vendor/blueimp/jquery-file-upload/wdio/.prettierrc.js
index 24237736e..049fe84a3 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/.prettierrc.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/.prettierrc.js
@@ -1,7 +1,9 @@
'use strict'
module.exports = {
+ arrowParens: 'avoid',
proseWrap: 'always',
semi: false,
- singleQuote: true
+ singleQuote: true,
+ trailingComma: 'none'
}
diff --git a/vendor/blueimp/jquery-file-upload/wdio/assets/black-80x60.gif b/vendor/blueimp/jquery-file-upload/wdio/assets/black-80x60.gif
deleted file mode 100644
index 5814bdaa5..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/assets/black-80x60.gif
+++ /dev/null
Binary files differ
diff --git a/vendor/blueimp/jquery-file-upload/wdio/assets/white-1x2.jpg b/vendor/blueimp/jquery-file-upload/wdio/assets/white-1x2.jpg
deleted file mode 100644
index 10a3d5492..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/assets/white-1x2.jpg
+++ /dev/null
Binary files differ
diff --git a/vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh b/vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh
index ed9c63e70..d6bee1da7 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh
+++ b/vendor/blueimp/jquery-file-upload/wdio/bin/safaridriver.sh
@@ -1,5 +1,12 @@
#!/bin/sh
+if [ "$1" = -t ]; then
+ BIN='/Applications/Safari Technology Preview.app/Contents/MacOS/safaridriver'
+ shift
+else
+ BIN=safaridriver
+fi
+
SCREEN='Capture screen'
if [ -z "$1" ]; then
@@ -14,7 +21,7 @@ else
fi
echo 'Starting safaridriver on 127.0.0.1:4444 ...' >&2
-safaridriver -p 4444 & pid=$!
+"$BIN" -p 4444 & pid=$!
# shellcheck disable=SC2064
trap "kill $pid; exit" INT TERM
diff --git a/vendor/blueimp/jquery-file-upload/wdio/chrome.js b/vendor/blueimp/jquery-file-upload/wdio/chrome.js
deleted file mode 100644
index fc7264417..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/chrome.js
+++ /dev/null
@@ -1,40 +0,0 @@
-'use strict'
-
-/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.Config */
-const config = {
- hostname: 'chromedriver',
- path: '/',
- capabilities: [
- {
- // Set maxInstances to 1 if screen recordings are enabled:
- // maxInstances: 1,
- browserName: 'chrome',
- 'goog:chromeOptions': {
- // Disable headless mode if screen recordings are enabled:
- args: ['--headless', '--window-size=1440,900']
- }
- }
- ],
- logLevel: 'warn',
- reporters: ['spec'],
- framework: 'mocha',
- mochaOpts: {
- timeout: 60000
- },
- specs: ['test/specs/**/*.js'],
- maximizeWindow: true,
- screenshots: {
- saveOnFail: true
- },
- videos: {
- enabled: false,
- resolution: '1440x900',
- startDelay: 500,
- stopDelay: 500
- },
- assetsDir: '/home/webdriver/assets/',
- baseUrl: 'http://example'
-}
-
-exports.config = Object.assign({}, require('./hooks'), config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/firefox.js b/vendor/blueimp/jquery-file-upload/wdio/firefox.js
deleted file mode 100644
index a4403de9e..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/firefox.js
+++ /dev/null
@@ -1,25 +0,0 @@
-'use strict'
-
-/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.Config */
-const config = {
- hostname: 'geckodriver',
- capabilities: [
- {
- // geckodriver supports no parallel sessions:
- maxInstances: 1,
- browserName: 'firefox',
- 'moz:firefoxOptions': {
- //args: ['-headless', '--window-size=1440,900']
- }
- }
- ],
- videos: {
- enabled: true,
- resolution: '1440x900',
- startDelay: 500,
- stopDelay: 500
- }
-}
-
-exports.config = Object.assign({}, require('./chrome').config, config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/hooks/index.js b/vendor/blueimp/jquery-file-upload/wdio/hooks/index.js
index 2f0dcd3f6..f369f5614 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/hooks/index.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/hooks/index.js
@@ -5,10 +5,9 @@
const cmds = require('wdio-screen-commands')
/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.Config */
+/** @type WebdriverIO.HookFunctions */
const config = {
before: async () => {
- global.Should = require('chai').should()
browser.addCommand('saveScreenshotByName', cmds.saveScreenshotByName)
browser.addCommand('saveAndDiffScreenshot', cmds.saveAndDiffScreenshot)
if (browser.config.maximizeWindow) await browser.maximizeWindow()
@@ -16,10 +15,10 @@ const config = {
beforeTest: async test => {
await cmds.startScreenRecording(test)
},
- afterTest: async test => {
+ afterTest: async (test, context, result) => {
await Promise.all([
- cmds.stopScreenRecording(test),
- cmds.saveScreenshotByTest(test)
+ cmds.stopScreenRecording(test, result),
+ cmds.saveScreenshotByTest(test, result)
])
}
}
diff --git a/vendor/blueimp/jquery-file-upload/wdio/ie.js b/vendor/blueimp/jquery-file-upload/wdio/ie.js
deleted file mode 100644
index 223a50190..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/ie.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict'
-
-/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.Config */
-const config = {
- hostname: process.env.WINDOWS_HOST || 'host.docker.internal',
- port: 4445,
- capabilities: [
- {
- // IEDriverServer supports no parallel sessions:
- maxInstances: 1,
- browserName: 'internet explorer'
- }
- ],
- videos: {
- enabled: true,
- inputFormat: 'mjpeg',
- startDelay: 500,
- stopDelay: 500
- },
- assetsDir: process.env.WINDOWS_ASSETS_DIR
-}
-
-exports.config = Object.assign({}, require('./chrome').config, config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/safari.js b/vendor/blueimp/jquery-file-upload/wdio/safari.js
deleted file mode 100644
index d252d0d5d..000000000
--- a/vendor/blueimp/jquery-file-upload/wdio/safari.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict'
-
-/* eslint-disable jsdoc/valid-types */
-/** @type WebdriverIO.Config */
-const config = {
- // Docker for Mac host address:
- hostname: 'host.docker.internal',
- capabilities: [
- {
- // safaridriver supports no parallel sessions:
- maxInstances: 1,
- browserName: 'safari'
- }
- ],
- videos: {
- enabled: true,
- inputFormat: 'mjpeg',
- startDelay: 500,
- stopDelay: 500
- },
- assetsDir: process.env.MACOS_ASSETS_DIR
-}
-
-exports.config = Object.assign({}, require('./chrome').config, config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js b/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js
index dfef36394..eccb6feb4 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/test/pages/file-upload.js
@@ -36,7 +36,7 @@ class FileUpload {
*/
open(timeout) {
browser.url('/')
- this.fileinput.waitForExist(timeout)
+ this.fileinput.waitForExist({ timeout })
return this
}
/**
@@ -48,10 +48,10 @@ class FileUpload {
*/
upload(files, timeout) {
this.fileinput.addValue(files.join('\n'))
- browser.waitUntil(() => !this.processing.length, timeout)
+ browser.waitUntil(() => !this.processing.length, { timeout })
this.start.click()
- browser.waitUntil(() => !!this.downloads.length, timeout)
- browser.waitUntil(() => !this.uploads.length, timeout)
+ browser.waitUntil(() => !!this.downloads.length, { timeout })
+ browser.waitUntil(() => !this.uploads.length, { timeout })
return this
}
/**
@@ -62,12 +62,11 @@ class FileUpload {
*/
delete(timeout) {
this.toggle.click()
- browser.waitUntil(
- () => this.downloads.length === this.checked.length,
+ browser.waitUntil(() => this.downloads.length === this.checked.length, {
timeout
- )
+ })
this.remove.click()
- browser.waitUntil(() => !this.downloads.length, timeout)
+ browser.waitUntil(() => !this.downloads.length, { timeout })
return this
}
}
diff --git a/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js b/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js
index 156dcc718..95e77e7d8 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/test/specs/01-file-upload.js
@@ -10,8 +10,8 @@ describe('File Upload', () => {
it('uploads files', () => {
FileUpload.open().upload([
- assetsDir + 'black-80x60.gif',
- assetsDir + 'white-1x2.jpg'
+ assetsDir + 'black+white-60x40.gif',
+ assetsDir + 'black+white-3x2.jpg'
])
browser.saveAndDiffScreenshot('Files uploaded')
})
diff --git a/vendor/blueimp/jquery-file-upload/wdio/wdio.conf.js b/vendor/blueimp/jquery-file-upload/wdio/wdio.conf.js
index eb078d844..b19783d1a 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/wdio.conf.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/wdio.conf.js
@@ -1 +1,4 @@
-chrome.js \ No newline at end of file
+'use strict'
+
+// Default to the Chrome config:
+exports.config = require('./conf/chrome').config
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 3cea719e1..a0ec32622 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -372,6 +372,9 @@ return array(
'Psr\\Log\\LoggerInterface' => $vendorDir . '/psr/log/Psr/Log/LoggerInterface.php',
'Psr\\Log\\LoggerTrait' => $vendorDir . '/psr/log/Psr/Log/LoggerTrait.php',
'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php',
+ 'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/DummyTest.php',
+ 'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
+ 'Psr\\Log\\Test\\TestLogger' => $vendorDir . '/psr/log/Psr/Log/Test/TestLogger.php',
'Ramsey\\Uuid\\BinaryUtils' => $vendorDir . '/ramsey/uuid/src/BinaryUtils.php',
'Ramsey\\Uuid\\Builder\\DefaultUuidBuilder' => $vendorDir . '/ramsey/uuid/src/Builder/DefaultUuidBuilder.php',
'Ramsey\\Uuid\\Builder\\DegradedUuidBuilder' => $vendorDir . '/ramsey/uuid/src/Builder/DegradedUuidBuilder.php',
@@ -727,6 +730,7 @@ return array(
'Sabre\\VObject\\Property\\VCard\\DateAndOrTime' => $vendorDir . '/sabre/vobject/lib/Property/VCard/DateAndOrTime.php',
'Sabre\\VObject\\Property\\VCard\\DateTime' => $vendorDir . '/sabre/vobject/lib/Property/VCard/DateTime.php',
'Sabre\\VObject\\Property\\VCard\\LanguageTag' => $vendorDir . '/sabre/vobject/lib/Property/VCard/LanguageTag.php',
+ 'Sabre\\VObject\\Property\\VCard\\PhoneNumber' => $vendorDir . '/sabre/vobject/lib/Property/VCard/PhoneNumber.php',
'Sabre\\VObject\\Property\\VCard\\TimeStamp' => $vendorDir . '/sabre/vobject/lib/Property/VCard/TimeStamp.php',
'Sabre\\VObject\\Reader' => $vendorDir . '/sabre/vobject/lib/Reader.php',
'Sabre\\VObject\\Recur\\EventIterator' => $vendorDir . '/sabre/vobject/lib/Recur/EventIterator.php',
@@ -1012,6 +1016,7 @@ return array(
'Zotlabs\\Identity\\ProfilePhoto\\ProfilePhoto' => $baseDir . '/Zotlabs/Identity/ProfilePhoto.php',
'Zotlabs\\Lib\\AConfig' => $baseDir . '/Zotlabs/Lib/AConfig.php',
'Zotlabs\\Lib\\AbConfig' => $baseDir . '/Zotlabs/Lib/AbConfig.php',
+ 'Zotlabs\\Lib\\AccessList' => $baseDir . '/Zotlabs/Lib/AccessList.php',
'Zotlabs\\Lib\\Activity' => $baseDir . '/Zotlabs/Lib/Activity.php',
'Zotlabs\\Lib\\ActivityStreams' => $baseDir . '/Zotlabs/Lib/ActivityStreams.php',
'Zotlabs\\Lib\\Api_router' => $baseDir . '/Zotlabs/Lib/Api_router.php',
@@ -1019,6 +1024,7 @@ return array(
'Zotlabs\\Lib\\Cache' => $baseDir . '/Zotlabs/Lib/Cache.php',
'Zotlabs\\Lib\\Chatroom' => $baseDir . '/Zotlabs/Lib/Chatroom.php',
'Zotlabs\\Lib\\Config' => $baseDir . '/Zotlabs/Lib/Config.php',
+ 'Zotlabs\\Lib\\Connect' => $baseDir . '/Zotlabs/Lib/Connect.php',
'Zotlabs\\Lib\\DB_Upgrade' => $baseDir . '/Zotlabs/Lib/DB_Upgrade.php',
'Zotlabs\\Lib\\DReport' => $baseDir . '/Zotlabs/Lib/DReport.php',
'Zotlabs\\Lib\\Enotify' => $baseDir . '/Zotlabs/Lib/Enotify.php',
@@ -1055,6 +1061,7 @@ return array(
'Zotlabs\\Lib\\Zotfinger' => $baseDir . '/Zotlabs/Lib/Zotfinger.php',
'Zotlabs\\Module\\Achievements' => $baseDir . '/Zotlabs/Module/Achievements.php',
'Zotlabs\\Module\\Acl' => $baseDir . '/Zotlabs/Module/Acl.php',
+ 'Zotlabs\\Module\\Activity' => $baseDir . '/Zotlabs/Module/Activity.php',
'Zotlabs\\Module\\Admin' => $baseDir . '/Zotlabs/Module/Admin.php',
'Zotlabs\\Module\\Admin\\Account_edit' => $baseDir . '/Zotlabs/Module/Admin/Account_edit.php',
'Zotlabs\\Module\\Admin\\Accounts' => $baseDir . '/Zotlabs/Module/Admin/Accounts.php',
@@ -1116,6 +1123,7 @@ return array(
'Zotlabs\\Module\\Email_validation' => $baseDir . '/Zotlabs/Module/Email_validation.php',
'Zotlabs\\Module\\Embed' => $baseDir . '/Zotlabs/Module/Embed.php',
'Zotlabs\\Module\\Embedphotos' => $baseDir . '/Zotlabs/Module/Embedphotos.php',
+ 'Zotlabs\\Module\\Event' => $baseDir . '/Zotlabs/Module/Event.php',
'Zotlabs\\Module\\Events' => $baseDir . '/Zotlabs/Module/Events.php',
'Zotlabs\\Module\\Fbrowser' => $baseDir . '/Zotlabs/Module/Fbrowser.php',
'Zotlabs\\Module\\Feed' => $baseDir . '/Zotlabs/Module/Feed.php',
@@ -1150,7 +1158,6 @@ return array(
'Zotlabs\\Module\\Logout' => $baseDir . '/Zotlabs/Module/Logout.php',
'Zotlabs\\Module\\Lostpass' => $baseDir . '/Zotlabs/Module/Lostpass.php',
'Zotlabs\\Module\\Magic' => $baseDir . '/Zotlabs/Module/Magic.php',
- 'Zotlabs\\Module\\Mail' => $baseDir . '/Zotlabs/Module/Mail.php',
'Zotlabs\\Module\\Manage' => $baseDir . '/Zotlabs/Module/Manage.php',
'Zotlabs\\Module\\Menu' => $baseDir . '/Zotlabs/Module/Menu.php',
'Zotlabs\\Module\\Message' => $baseDir . '/Zotlabs/Module/Message.php',
@@ -1258,6 +1265,7 @@ return array(
'Zotlabs\\Module\\View' => $baseDir . '/Zotlabs/Module/View.php',
'Zotlabs\\Module\\Viewconnections' => $baseDir . '/Zotlabs/Module/Viewconnections.php',
'Zotlabs\\Module\\Viewsrc' => $baseDir . '/Zotlabs/Module/Viewsrc.php',
+ 'Zotlabs\\Module\\Vote' => $baseDir . '/Zotlabs/Module/Vote.php',
'Zotlabs\\Module\\Wall_attach' => $baseDir . '/Zotlabs/Module/Wall_attach.php',
'Zotlabs\\Module\\Wall_upload' => $baseDir . '/Zotlabs/Module/Wall_upload.php',
'Zotlabs\\Module\\Webfinger' => $baseDir . '/Zotlabs/Module/Webfinger.php',
@@ -1269,6 +1277,7 @@ return array(
'Zotlabs\\Module\\Xpoco' => $baseDir . '/Zotlabs/Module/Xpoco.php',
'Zotlabs\\Module\\Xrd' => $baseDir . '/Zotlabs/Module/Xrd.php',
'Zotlabs\\Module\\Xref' => $baseDir . '/Zotlabs/Module/Xref.php',
+ 'Zotlabs\\Module\\Z6trans' => $baseDir . '/Zotlabs/Module/Z6trans.php',
'Zotlabs\\Module\\Zfinger' => $baseDir . '/Zotlabs/Module/Zfinger.php',
'Zotlabs\\Module\\Zot' => $baseDir . '/Zotlabs/Module/Zot.php',
'Zotlabs\\Module\\Zot_probe' => $baseDir . '/Zotlabs/Module/Zot_probe.php',
@@ -1531,6 +1540,9 @@ return array(
'Zotlabs\\Update\\_1232' => $baseDir . '/Zotlabs/Update/_1232.php',
'Zotlabs\\Update\\_1233' => $baseDir . '/Zotlabs/Update/_1233.php',
'Zotlabs\\Update\\_1234' => $baseDir . '/Zotlabs/Update/_1234.php',
+ 'Zotlabs\\Update\\_1235' => $baseDir . '/Zotlabs/Update/_1235.php',
+ 'Zotlabs\\Update\\_1236' => $baseDir . '/Zotlabs/Update/_1236.php',
+ 'Zotlabs\\Update\\_1237' => $baseDir . '/Zotlabs/Update/_1237.php',
'Zotlabs\\Web\\Controller' => $baseDir . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => $baseDir . '/Zotlabs/Web/HTTPHeaders.php',
'Zotlabs\\Web\\HTTPSig' => $baseDir . '/Zotlabs/Web/HTTPSig.php',
diff --git a/vendor/composer/autoload_real.php b/vendor/composer/autoload_real.php
index b310f60f2..de682b90d 100644
--- a/vendor/composer/autoload_real.php
+++ b/vendor/composer/autoload_real.php
@@ -13,6 +13,9 @@ class ComposerAutoloaderInit7b34d7e50a62201ec5d5e526a5b8b35d
}
}
+ /**
+ * @return \Composer\Autoload\ClassLoader
+ */
public static function getLoader()
{
if (null !== self::$loader) {
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 76a23da4f..3e79682c2 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -540,6 +540,9 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Psr\\Log\\LoggerInterface' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerInterface.php',
'Psr\\Log\\LoggerTrait' => __DIR__ . '/..' . '/psr/log/Psr/Log/LoggerTrait.php',
'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php',
+ 'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/DummyTest.php',
+ 'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php',
+ 'Psr\\Log\\Test\\TestLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/TestLogger.php',
'Ramsey\\Uuid\\BinaryUtils' => __DIR__ . '/..' . '/ramsey/uuid/src/BinaryUtils.php',
'Ramsey\\Uuid\\Builder\\DefaultUuidBuilder' => __DIR__ . '/..' . '/ramsey/uuid/src/Builder/DefaultUuidBuilder.php',
'Ramsey\\Uuid\\Builder\\DegradedUuidBuilder' => __DIR__ . '/..' . '/ramsey/uuid/src/Builder/DegradedUuidBuilder.php',
@@ -895,6 +898,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Sabre\\VObject\\Property\\VCard\\DateAndOrTime' => __DIR__ . '/..' . '/sabre/vobject/lib/Property/VCard/DateAndOrTime.php',
'Sabre\\VObject\\Property\\VCard\\DateTime' => __DIR__ . '/..' . '/sabre/vobject/lib/Property/VCard/DateTime.php',
'Sabre\\VObject\\Property\\VCard\\LanguageTag' => __DIR__ . '/..' . '/sabre/vobject/lib/Property/VCard/LanguageTag.php',
+ 'Sabre\\VObject\\Property\\VCard\\PhoneNumber' => __DIR__ . '/..' . '/sabre/vobject/lib/Property/VCard/PhoneNumber.php',
'Sabre\\VObject\\Property\\VCard\\TimeStamp' => __DIR__ . '/..' . '/sabre/vobject/lib/Property/VCard/TimeStamp.php',
'Sabre\\VObject\\Reader' => __DIR__ . '/..' . '/sabre/vobject/lib/Reader.php',
'Sabre\\VObject\\Recur\\EventIterator' => __DIR__ . '/..' . '/sabre/vobject/lib/Recur/EventIterator.php',
@@ -1180,6 +1184,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Identity\\ProfilePhoto\\ProfilePhoto' => __DIR__ . '/../..' . '/Zotlabs/Identity/ProfilePhoto.php',
'Zotlabs\\Lib\\AConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/AConfig.php',
'Zotlabs\\Lib\\AbConfig' => __DIR__ . '/../..' . '/Zotlabs/Lib/AbConfig.php',
+ 'Zotlabs\\Lib\\AccessList' => __DIR__ . '/../..' . '/Zotlabs/Lib/AccessList.php',
'Zotlabs\\Lib\\Activity' => __DIR__ . '/../..' . '/Zotlabs/Lib/Activity.php',
'Zotlabs\\Lib\\ActivityStreams' => __DIR__ . '/../..' . '/Zotlabs/Lib/ActivityStreams.php',
'Zotlabs\\Lib\\Api_router' => __DIR__ . '/../..' . '/Zotlabs/Lib/Api_router.php',
@@ -1187,6 +1192,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Lib\\Cache' => __DIR__ . '/../..' . '/Zotlabs/Lib/Cache.php',
'Zotlabs\\Lib\\Chatroom' => __DIR__ . '/../..' . '/Zotlabs/Lib/Chatroom.php',
'Zotlabs\\Lib\\Config' => __DIR__ . '/../..' . '/Zotlabs/Lib/Config.php',
+ 'Zotlabs\\Lib\\Connect' => __DIR__ . '/../..' . '/Zotlabs/Lib/Connect.php',
'Zotlabs\\Lib\\DB_Upgrade' => __DIR__ . '/../..' . '/Zotlabs/Lib/DB_Upgrade.php',
'Zotlabs\\Lib\\DReport' => __DIR__ . '/../..' . '/Zotlabs/Lib/DReport.php',
'Zotlabs\\Lib\\Enotify' => __DIR__ . '/../..' . '/Zotlabs/Lib/Enotify.php',
@@ -1223,6 +1229,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Lib\\Zotfinger' => __DIR__ . '/../..' . '/Zotlabs/Lib/Zotfinger.php',
'Zotlabs\\Module\\Achievements' => __DIR__ . '/../..' . '/Zotlabs/Module/Achievements.php',
'Zotlabs\\Module\\Acl' => __DIR__ . '/../..' . '/Zotlabs/Module/Acl.php',
+ 'Zotlabs\\Module\\Activity' => __DIR__ . '/../..' . '/Zotlabs/Module/Activity.php',
'Zotlabs\\Module\\Admin' => __DIR__ . '/../..' . '/Zotlabs/Module/Admin.php',
'Zotlabs\\Module\\Admin\\Account_edit' => __DIR__ . '/../..' . '/Zotlabs/Module/Admin/Account_edit.php',
'Zotlabs\\Module\\Admin\\Accounts' => __DIR__ . '/../..' . '/Zotlabs/Module/Admin/Accounts.php',
@@ -1284,6 +1291,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Email_validation' => __DIR__ . '/../..' . '/Zotlabs/Module/Email_validation.php',
'Zotlabs\\Module\\Embed' => __DIR__ . '/../..' . '/Zotlabs/Module/Embed.php',
'Zotlabs\\Module\\Embedphotos' => __DIR__ . '/../..' . '/Zotlabs/Module/Embedphotos.php',
+ 'Zotlabs\\Module\\Event' => __DIR__ . '/../..' . '/Zotlabs/Module/Event.php',
'Zotlabs\\Module\\Events' => __DIR__ . '/../..' . '/Zotlabs/Module/Events.php',
'Zotlabs\\Module\\Fbrowser' => __DIR__ . '/../..' . '/Zotlabs/Module/Fbrowser.php',
'Zotlabs\\Module\\Feed' => __DIR__ . '/../..' . '/Zotlabs/Module/Feed.php',
@@ -1318,7 +1326,6 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Logout' => __DIR__ . '/../..' . '/Zotlabs/Module/Logout.php',
'Zotlabs\\Module\\Lostpass' => __DIR__ . '/../..' . '/Zotlabs/Module/Lostpass.php',
'Zotlabs\\Module\\Magic' => __DIR__ . '/../..' . '/Zotlabs/Module/Magic.php',
- 'Zotlabs\\Module\\Mail' => __DIR__ . '/../..' . '/Zotlabs/Module/Mail.php',
'Zotlabs\\Module\\Manage' => __DIR__ . '/../..' . '/Zotlabs/Module/Manage.php',
'Zotlabs\\Module\\Menu' => __DIR__ . '/../..' . '/Zotlabs/Module/Menu.php',
'Zotlabs\\Module\\Message' => __DIR__ . '/../..' . '/Zotlabs/Module/Message.php',
@@ -1426,6 +1433,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\View' => __DIR__ . '/../..' . '/Zotlabs/Module/View.php',
'Zotlabs\\Module\\Viewconnections' => __DIR__ . '/../..' . '/Zotlabs/Module/Viewconnections.php',
'Zotlabs\\Module\\Viewsrc' => __DIR__ . '/../..' . '/Zotlabs/Module/Viewsrc.php',
+ 'Zotlabs\\Module\\Vote' => __DIR__ . '/../..' . '/Zotlabs/Module/Vote.php',
'Zotlabs\\Module\\Wall_attach' => __DIR__ . '/../..' . '/Zotlabs/Module/Wall_attach.php',
'Zotlabs\\Module\\Wall_upload' => __DIR__ . '/../..' . '/Zotlabs/Module/Wall_upload.php',
'Zotlabs\\Module\\Webfinger' => __DIR__ . '/../..' . '/Zotlabs/Module/Webfinger.php',
@@ -1437,6 +1445,7 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Module\\Xpoco' => __DIR__ . '/../..' . '/Zotlabs/Module/Xpoco.php',
'Zotlabs\\Module\\Xrd' => __DIR__ . '/../..' . '/Zotlabs/Module/Xrd.php',
'Zotlabs\\Module\\Xref' => __DIR__ . '/../..' . '/Zotlabs/Module/Xref.php',
+ 'Zotlabs\\Module\\Z6trans' => __DIR__ . '/../..' . '/Zotlabs/Module/Z6trans.php',
'Zotlabs\\Module\\Zfinger' => __DIR__ . '/../..' . '/Zotlabs/Module/Zfinger.php',
'Zotlabs\\Module\\Zot' => __DIR__ . '/../..' . '/Zotlabs/Module/Zot.php',
'Zotlabs\\Module\\Zot_probe' => __DIR__ . '/../..' . '/Zotlabs/Module/Zot_probe.php',
@@ -1699,6 +1708,9 @@ class ComposerStaticInit7b34d7e50a62201ec5d5e526a5b8b35d
'Zotlabs\\Update\\_1232' => __DIR__ . '/../..' . '/Zotlabs/Update/_1232.php',
'Zotlabs\\Update\\_1233' => __DIR__ . '/../..' . '/Zotlabs/Update/_1233.php',
'Zotlabs\\Update\\_1234' => __DIR__ . '/../..' . '/Zotlabs/Update/_1234.php',
+ 'Zotlabs\\Update\\_1235' => __DIR__ . '/../..' . '/Zotlabs/Update/_1235.php',
+ 'Zotlabs\\Update\\_1236' => __DIR__ . '/../..' . '/Zotlabs/Update/_1236.php',
+ 'Zotlabs\\Update\\_1237' => __DIR__ . '/../..' . '/Zotlabs/Update/_1237.php',
'Zotlabs\\Web\\Controller' => __DIR__ . '/../..' . '/Zotlabs/Web/Controller.php',
'Zotlabs\\Web\\HTTPHeaders' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPHeaders.php',
'Zotlabs\\Web\\HTTPSig' => __DIR__ . '/../..' . '/Zotlabs/Web/HTTPSig.php',
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 7f0e466d5..05823b19d 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1,20 +1,20 @@
[
{
"name": "blueimp/jquery-file-upload",
- "version": "v10.7.0",
- "version_normalized": "10.7.0.0",
+ "version": "v10.21.0",
+ "version_normalized": "10.21.0.0",
"source": {
"type": "git",
"url": "https://github.com/vkhramtsov/jQuery-File-Upload.git",
- "reference": "4677050d31be2da817e1d23d0bacb81fb4b37cb3"
+ "reference": "74462f4b06e0f3b006d43cb101226f9d0e1219b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/4677050d31be2da817e1d23d0bacb81fb4b37cb3",
- "reference": "4677050d31be2da817e1d23d0bacb81fb4b37cb3",
+ "url": "https://api.github.com/repos/vkhramtsov/jQuery-File-Upload/zipball/74462f4b06e0f3b006d43cb101226f9d0e1219b7",
+ "reference": "74462f4b06e0f3b006d43cb101226f9d0e1219b7",
"shasum": ""
},
- "time": "2020-01-04T05:46:30+00:00",
+ "time": "2020-05-06T06:34:07+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -54,6 +54,12 @@
"selection",
"upload",
"widget"
+ ],
+ "funding": [
+ {
+ "url": "https://github.com/blueimp",
+ "type": "github"
+ }
]
},
{
@@ -353,7 +359,8 @@
"codecs",
"php",
"tags"
- ]
+ ],
+ "abandoned": true
},
{
"name": "michelf/php-markdown",
@@ -501,23 +508,23 @@
},
{
"name": "psr/log",
- "version": "1.1.2",
- "version_normalized": "1.1.2.0",
+ "version": "1.1.3",
+ "version_normalized": "1.1.3.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
- "reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
- "time": "2019-11-01T11:05:21+00:00",
+ "time": "2020-03-23T09:12:05+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -550,17 +557,17 @@
},
{
"name": "ramsey/uuid",
- "version": "3.9.2",
- "version_normalized": "3.9.2.0",
+ "version": "3.9.3",
+ "version_normalized": "3.9.3.0",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
- "reference": "7779489a47d443f845271badbdcedfe4df8e06fb"
+ "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/7779489a47d443f845271badbdcedfe4df8e06fb",
- "reference": "7779489a47d443f845271badbdcedfe4df8e06fb",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/7e1633a6964b48589b142d60542f9ed31bd37a92",
+ "reference": "7e1633a6964b48589b142d60542f9ed31bd37a92",
"shasum": ""
},
"require": {
@@ -594,7 +601,7 @@
"ramsey/uuid-console": "A console application for generating UUIDs with ramsey/uuid",
"ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
},
- "time": "2019-12-17T08:18:51+00:00",
+ "time": "2020-02-21T04:36:14+00:00",
"type": "library",
"extra": {
"branch-alias": {
@@ -639,17 +646,17 @@
},
{
"name": "sabre/dav",
- "version": "4.0.3",
- "version_normalized": "4.0.3.0",
+ "version": "4.1.0",
+ "version_normalized": "4.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/dav.git",
- "reference": "b793fb4ce27cf0f981b540ad771281c430ffe818"
+ "reference": "8f6f4d272504ee8424e1d0a47d6efc7772de2270"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/dav/zipball/b793fb4ce27cf0f981b540ad771281c430ffe818",
- "reference": "b793fb4ce27cf0f981b540ad771281c430ffe818",
+ "url": "https://api.github.com/repos/sabre-io/dav/zipball/8f6f4d272504ee8424e1d0a47d6efc7772de2270",
+ "reference": "8f6f4d272504ee8424e1d0a47d6efc7772de2270",
"shasum": ""
},
"require": {
@@ -663,25 +670,27 @@
"ext-simplexml": "*",
"ext-spl": "*",
"lib-libxml": ">=2.7.0",
- "php": ">=7.0.0",
+ "php": "^7.1.0",
"psr/log": "^1.0",
"sabre/event": "^5.0",
- "sabre/http": "^5.0",
+ "sabre/http": "^5.0.5",
"sabre/uri": "^2.0",
- "sabre/vobject": "^4.2.0-alpha1",
+ "sabre/vobject": "^4.2.1",
"sabre/xml": "^2.0.1"
},
"require-dev": {
"evert/phpdoc-md": "~0.1.0",
+ "friendsofphp/php-cs-fixer": "~2.16.1",
"monolog/monolog": "^1.18",
- "phpunit/phpunit": "^6"
+ "phpstan/phpstan": "^0.12",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
},
"suggest": {
"ext-curl": "*",
"ext-imap": "*",
"ext-pdo": "*"
},
- "time": "2020-01-10T07:52:45+00:00",
+ "time": "2020-03-20T08:55:46+00:00",
"bin": [
"bin/sabredav",
"bin/naturalselection"
@@ -720,27 +729,27 @@
},
{
"name": "sabre/event",
- "version": "5.0.3",
- "version_normalized": "5.0.3.0",
+ "version": "5.1.0",
+ "version_normalized": "5.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/event.git",
- "reference": "f5cf802d240df1257866d8813282b98aee3bc548"
+ "reference": "d00a17507af0e7544cfe17096372f5d733e3b276"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/event/zipball/f5cf802d240df1257866d8813282b98aee3bc548",
- "reference": "f5cf802d240df1257866d8813282b98aee3bc548",
+ "url": "https://api.github.com/repos/sabre-io/event/zipball/d00a17507af0e7544cfe17096372f5d733e3b276",
+ "reference": "d00a17507af0e7544cfe17096372f5d733e3b276",
"shasum": ""
},
"require": {
- "php": ">=7.0"
+ "php": "^7.1"
},
"require-dev": {
- "phpunit/phpunit": ">=6",
- "sabre/cs": "~1.0.0"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit": "^7 || ^8"
},
- "time": "2018-03-05T13:55:47+00:00",
+ "time": "2020-01-31T18:52:29+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -782,34 +791,35 @@
},
{
"name": "sabre/http",
- "version": "5.0.5",
- "version_normalized": "5.0.5.0",
+ "version": "5.1.0",
+ "version_normalized": "5.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/http.git",
- "reference": "85962a2ed867e7e5beb9f9d3a15cd53cd521a09b"
+ "reference": "23446999f1f6e62892bbd89745070aa902dd3539"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/http/zipball/85962a2ed867e7e5beb9f9d3a15cd53cd521a09b",
- "reference": "85962a2ed867e7e5beb9f9d3a15cd53cd521a09b",
+ "url": "https://api.github.com/repos/sabre-io/http/zipball/23446999f1f6e62892bbd89745070aa902dd3539",
+ "reference": "23446999f1f6e62892bbd89745070aa902dd3539",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-curl": "*",
"ext-mbstring": "*",
- "php": "^7.0",
+ "php": "^7.1",
"sabre/event": ">=4.0 <6.0",
"sabre/uri": "^2.0"
},
"require-dev": {
- "phpunit/phpunit": "^6.0 || ^7.0"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit": "^7.0 || ^8.0"
},
"suggest": {
"ext-curl": " to make http requests with the Client class"
},
- "time": "2019-11-28T19:35:25+00:00",
+ "time": "2020-01-31T20:07:09+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -840,26 +850,27 @@
},
{
"name": "sabre/uri",
- "version": "2.1.3",
- "version_normalized": "2.1.3.0",
+ "version": "2.2.0",
+ "version_normalized": "2.2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/uri.git",
- "reference": "18f454324f371cbcabdad3d0d3755b4b0182095d"
+ "reference": "059d11012603be2e32ddb7543602965563ddbb09"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/uri/zipball/18f454324f371cbcabdad3d0d3755b4b0182095d",
- "reference": "18f454324f371cbcabdad3d0d3755b4b0182095d",
+ "url": "https://api.github.com/repos/sabre-io/uri/zipball/059d11012603be2e32ddb7543602965563ddbb09",
+ "reference": "059d11012603be2e32ddb7543602965563ddbb09",
"shasum": ""
},
"require": {
- "php": ">=7"
+ "php": "^7.1"
},
"require-dev": {
- "phpunit/phpunit": "^6"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit": "^7 || ^8"
},
- "time": "2019-09-09T23:00:25+00:00",
+ "time": "2020-01-31T18:53:43+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -892,31 +903,32 @@
},
{
"name": "sabre/vobject",
- "version": "4.2.1",
- "version_normalized": "4.2.1.0",
+ "version": "4.3.0",
+ "version_normalized": "4.3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/vobject.git",
- "reference": "6d7476fbd227ae285029c19ad518cd451336038c"
+ "reference": "5b2248d965160f93053f3a24704794a13a22a1bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/vobject/zipball/6d7476fbd227ae285029c19ad518cd451336038c",
- "reference": "6d7476fbd227ae285029c19ad518cd451336038c",
+ "url": "https://api.github.com/repos/sabre-io/vobject/zipball/5b2248d965160f93053f3a24704794a13a22a1bb",
+ "reference": "5b2248d965160f93053f3a24704794a13a22a1bb",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": ">=5.5",
- "sabre/xml": ">=1.5 <3.0"
+ "php": "^7.1",
+ "sabre/xml": "^2.1"
},
"require-dev": {
- "phpunit/phpunit": "> 4.8.35, <6.0.0"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit": "^7 || ^8"
},
"suggest": {
"hoa/bench": "If you would like to run the benchmark scripts"
},
- "time": "2019-12-18T19:29:43+00:00",
+ "time": "2020-01-31T18:50:58+00:00",
"bin": [
"bin/vobject",
"bin/generate_vcards"
@@ -990,17 +1002,17 @@
},
{
"name": "sabre/xml",
- "version": "2.1.3",
- "version_normalized": "2.1.3.0",
+ "version": "2.2.0",
+ "version_normalized": "2.2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/xml.git",
- "reference": "f08a58f57e2b0d7df769a432756aa371417ab9eb"
+ "reference": "705f5cbf7f4fb1e3dd47173e3f026892818c8d46"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sabre-io/xml/zipball/f08a58f57e2b0d7df769a432756aa371417ab9eb",
- "reference": "f08a58f57e2b0d7df769a432756aa371417ab9eb",
+ "url": "https://api.github.com/repos/sabre-io/xml/zipball/705f5cbf7f4fb1e3dd47173e3f026892818c8d46",
+ "reference": "705f5cbf7f4fb1e3dd47173e3f026892818c8d46",
"shasum": ""
},
"require": {
@@ -1008,13 +1020,14 @@
"ext-xmlreader": "*",
"ext-xmlwriter": "*",
"lib-libxml": ">=2.6.20",
- "php": ">=7.0",
+ "php": "^7.1",
"sabre/uri": ">=1.0,<3.0.0"
},
"require-dev": {
- "phpunit/phpunit": "^6"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit": "^7 || ^8"
},
- "time": "2019-08-14T15:41:34+00:00",
+ "time": "2020-01-31T18:52:58+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -1054,17 +1067,17 @@
},
{
"name": "simplepie/simplepie",
- "version": "1.5.4",
- "version_normalized": "1.5.4.0",
+ "version": "1.5.5",
+ "version_normalized": "1.5.5.0",
"source": {
"type": "git",
"url": "https://github.com/simplepie/simplepie.git",
- "reference": "f4c8246511a38fc9d99a59fb42f61eeeafb31663"
+ "reference": "ae49e2201b6da9c808e5dac437aca356a11831b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/simplepie/simplepie/zipball/f4c8246511a38fc9d99a59fb42f61eeeafb31663",
- "reference": "f4c8246511a38fc9d99a59fb42f61eeeafb31663",
+ "url": "https://api.github.com/repos/simplepie/simplepie/zipball/ae49e2201b6da9c808e5dac437aca356a11831b4",
+ "reference": "ae49e2201b6da9c808e5dac437aca356a11831b4",
"shasum": ""
},
"require": {
@@ -1083,7 +1096,7 @@
"ext-mbstring": "",
"mf2/mf2": "Microformat module that allows for parsing HTML for microformats"
},
- "time": "2019-11-23T07:05:15+00:00",
+ "time": "2020-05-01T12:23:14+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -1106,8 +1119,8 @@
"role": "Creator, alumnus developer"
},
{
- "name": "Geoffrey Sneddon",
- "homepage": "http://gsnedders.com/",
+ "name": "Sam Sneddon",
+ "homepage": "https://gsnedders.com/",
"role": "Alumnus developer"
},
{
@@ -1125,32 +1138,33 @@
"rss"
],
"support": {
- "source": "https://github.com/simplepie/simplepie/tree/master",
+ "source": "https://github.com/simplepie/simplepie/tree/1.5.5",
"issues": "https://github.com/simplepie/simplepie/issues"
}
},
{
"name": "smarty/smarty",
- "version": "v3.1.34",
- "version_normalized": "3.1.34.0",
+ "version": "v3.1.36",
+ "version_normalized": "3.1.36.0",
"source": {
"type": "git",
"url": "https://github.com/smarty-php/smarty.git",
- "reference": "c9f0de05f41b9e52798b268ab1e625fac3b8578c"
+ "reference": "fd148f7ade295014fff77f89ee3d5b20d9d55451"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/smarty-php/smarty/zipball/c9f0de05f41b9e52798b268ab1e625fac3b8578c",
- "reference": "c9f0de05f41b9e52798b268ab1e625fac3b8578c",
+ "url": "https://api.github.com/repos/smarty-php/smarty/zipball/fd148f7ade295014fff77f89ee3d5b20d9d55451",
+ "reference": "fd148f7ade295014fff77f89ee3d5b20d9d55451",
"shasum": ""
},
"require": {
"php": ">=5.2"
},
"require-dev": {
- "phpunit/phpunit": "6.4.1"
+ "phpunit/phpunit": "6.4.1",
+ "smarty/smarty-lexer": "^3.1"
},
- "time": "2019-02-28T06:42:20+00:00",
+ "time": "2020-04-14T14:44:26+00:00",
"type": "library",
"extra": {
"branch-alias": {
diff --git a/vendor/psr/log/.gitignore b/vendor/psr/log/.gitignore
deleted file mode 100644
index 22d0d82f8..000000000
--- a/vendor/psr/log/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-vendor
diff --git a/vendor/psr/log/Psr/Log/LoggerInterface.php b/vendor/psr/log/Psr/Log/LoggerInterface.php
index e695046e3..2206cfde4 100644
--- a/vendor/psr/log/Psr/Log/LoggerInterface.php
+++ b/vendor/psr/log/Psr/Log/LoggerInterface.php
@@ -22,8 +22,8 @@ interface LoggerInterface
/**
* System is unusable.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -35,8 +35,8 @@ interface LoggerInterface
* Example: Entire website down, database unavailable, etc. This should
* trigger the SMS alerts and wake you up.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -47,8 +47,8 @@ interface LoggerInterface
*
* Example: Application component unavailable, unexpected exception.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -58,8 +58,8 @@ interface LoggerInterface
* Runtime errors that do not require immediate action but should typically
* be logged and monitored.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -71,8 +71,8 @@ interface LoggerInterface
* Example: Use of deprecated APIs, poor use of an API, undesirable things
* that are not necessarily wrong.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -81,8 +81,8 @@ interface LoggerInterface
/**
* Normal but significant events.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -93,8 +93,8 @@ interface LoggerInterface
*
* Example: User logs in, SQL logs.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -103,8 +103,8 @@ interface LoggerInterface
/**
* Detailed debug information.
*
- * @param string $message
- * @param array $context
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*/
@@ -113,9 +113,9 @@ interface LoggerInterface
/**
* Logs with an arbitrary level.
*
- * @param mixed $level
- * @param string $message
- * @param array $context
+ * @param mixed $level
+ * @param string $message
+ * @param mixed[] $context
*
* @return void
*
diff --git a/vendor/ramsey/uuid/CHANGELOG.md b/vendor/ramsey/uuid/CHANGELOG.md
index f2f1548e2..57b7f5ea7 100644
--- a/vendor/ramsey/uuid/CHANGELOG.md
+++ b/vendor/ramsey/uuid/CHANGELOG.md
@@ -21,6 +21,23 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
### Security
+## [3.9.3] - 2020-02-20
+
+### Fixed
+
+* For v1 UUIDs, round down for timestamps so that microseconds do not bump the
+ timestamp to the next second.
+
+ As an example, consider the case of timestamp `1` with `600000` microseconds
+ (`1.600000`). This is the first second after midnight on January 1, 1970, UTC.
+ Previous versions of this library had a bug that would round this to `2`, so
+ the rendered time was `1970-01-01 00:00:02`. This was incorrect. Despite
+ having `600000` microseconds, the time should not round up to the next second.
+ Rather, the time should be `1970-01-01 00:00:01.600000`. Since this version of
+ ramsey/uuid does not support microseconds, the microseconds are dropped, and
+ the time is `1970-01-01 00:00:01`. No rounding should occur.
+
+
## [3.9.2] - 2019-12-17
### Fixed
@@ -591,7 +608,8 @@ versions leading up to this release.*
[ramsey/uuid-doctrine]: https://github.com/ramsey/uuid-doctrine
[ramsey/uuid-console]: https://github.com/ramsey/uuid-console
-[unreleased]: https://github.com/ramsey/uuid/compare/3.9.2...HEAD
+[unreleased]: https://github.com/ramsey/uuid/compare/3.9.3...HEAD
+[3.9.3]: https://github.com/ramsey/uuid/compare/3.9.2...3.9.3
[3.9.2]: https://github.com/ramsey/uuid/compare/3.9.1...3.9.2
[3.9.1]: https://github.com/ramsey/uuid/compare/3.9.0...3.9.1
[3.9.0]: https://github.com/ramsey/uuid/compare/3.8.0...3.9.0
diff --git a/vendor/ramsey/uuid/LICENSE b/vendor/ramsey/uuid/LICENSE
index f6f7e8043..b2aa4b587 100644
--- a/vendor/ramsey/uuid/LICENSE
+++ b/vendor/ramsey/uuid/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2012-2019 Ben Ramsey <ben@benramsey.com>
+Copyright (c) 2012-2020 Ben Ramsey <ben@benramsey.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php b/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php
index 270a1e75b..9d13af70c 100644
--- a/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php
+++ b/vendor/ramsey/uuid/src/Codec/TimestampFirstCombCodec.php
@@ -17,7 +17,7 @@ use Ramsey\Uuid\Exception\InvalidUuidStringException;
use Ramsey\Uuid\UuidInterface;
/**
- * TimestampLastCombCodec encodes and decodes COMB UUIDs which have the timestamp as the first 48 bits.
+ * TimestampFirstCombCodec encodes and decodes COMB UUIDs which have the timestamp as the first 48 bits.
* To be used with MySQL, PostgreSQL, Oracle.
*/
class TimestampFirstCombCodec extends StringCodec
diff --git a/vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php b/vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php
index c851792f3..23cf1640b 100644
--- a/vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php
+++ b/vendor/ramsey/uuid/src/Converter/TimeConverterInterface.php
@@ -28,7 +28,7 @@ interface TimeConverterInterface
*
* @param string $seconds
* @param string $microSeconds
- * @return string[] An array guaranteed to contain `low`, `mid`, and `high` keys
+ * @return string[] An array guaranteed to contain `low`, `mid`, and `hi` keys
* @throws UnsatisfiedDependencyException if called on a 32-bit system and
* `Moontoast\Math\BigNumber` is not present
* @link http://tools.ietf.org/html/rfc4122#section-4.2.2
diff --git a/vendor/ramsey/uuid/src/DegradedUuid.php b/vendor/ramsey/uuid/src/DegradedUuid.php
index 26697615c..4e11272d0 100644
--- a/vendor/ramsey/uuid/src/DegradedUuid.php
+++ b/vendor/ramsey/uuid/src/DegradedUuid.php
@@ -40,7 +40,7 @@ class DegradedUuid extends Uuid
$ts = new BigNumber($time, 20);
$ts->subtract('122192928000000000');
$ts->divide('10000000.0');
- $ts->round();
+ $ts->floor();
$unixTime = $ts->getValue();
return new DateTime("@{$unixTime}");
diff --git a/vendor/ramsey/uuid/src/Uuid.php b/vendor/ramsey/uuid/src/Uuid.php
index 38fbd5ed6..f2912b48a 100644
--- a/vendor/ramsey/uuid/src/Uuid.php
+++ b/vendor/ramsey/uuid/src/Uuid.php
@@ -350,8 +350,8 @@ class Uuid implements UuidInterface
throw new UnsupportedOperationException('Not a time-based UUID');
}
- $unixTime = ($this->getTimestamp() - 0x01b21dd213814000) / 1e7;
- $unixTime = number_format($unixTime, 0, '', '');
+ $unixTimeNanoseconds = $this->getTimestamp() - 0x01b21dd213814000;
+ $unixTime = ($unixTimeNanoseconds - $unixTimeNanoseconds % 1e7) / 1e7;
return new DateTime("@{$unixTime}");
}
@@ -676,7 +676,7 @@ class Uuid implements UuidInterface
*/
public static function isValid($uuid)
{
- $uuid = str_replace(['urn:', 'uuid:', '{', '}'], '', $uuid);
+ $uuid = str_replace(['urn:', 'uuid:', 'URN:', 'UUID:', '{', '}'], '', $uuid);
if ($uuid == self::NIL) {
return true;
diff --git a/vendor/sabre/dav/.gitignore b/vendor/sabre/dav/.gitignore
index 499f7b689..f287cca1a 100644
--- a/vendor/sabre/dav/.gitignore
+++ b/vendor/sabre/dav/.gitignore
@@ -6,6 +6,9 @@ tests/cov
# Custom settings for tests
tests/config.user.php
+# PHPUnit test Cache
+.phpunit.result.cache
+
# ViM
*.swp
@@ -14,14 +17,9 @@ composer.lock
vendor
# Composer binaries
-bin/phing
-bin/phpunit
bin/vobject
bin/generate_vcards
bin/phpdocmd
-bin/phpunit
-bin/php-cs-fixer
-bin/sabre-cs-fixer
# Assuming every .php file in the root is for testing
/*.php
@@ -39,7 +37,4 @@ build.properties
docs/api
docs/wikidocs
-# Mac
-.DS_Store
-
.php_cs.cache
diff --git a/vendor/sabre/dav/.php_cs.dist b/vendor/sabre/dav/.php_cs.dist
index 8d61ee259..c5c78a971 100644
--- a/vendor/sabre/dav/.php_cs.dist
+++ b/vendor/sabre/dav/.php_cs.dist
@@ -6,7 +6,7 @@ $config->getFinder()
->in(__DIR__);
$config->setRules([
'@PSR1' => true,
- '@Symfony' =>true
+ '@Symfony' => true
]);
return $config; \ No newline at end of file
diff --git a/vendor/sabre/dav/.travis.yml b/vendor/sabre/dav/.travis.yml
index 84a04423e..03d18de2f 100644
--- a/vendor/sabre/dav/.travis.yml
+++ b/vendor/sabre/dav/.travis.yml
@@ -1,10 +1,15 @@
language: php
sudo: required
+
+branches:
+ only:
+ - master
+
php:
- - 7.0
- 7.1
- 7.2
- 7.3
+ - 7.4
env:
global:
@@ -13,42 +18,44 @@ env:
- SABRE_MYSQLDSN="mysql:host=127.0.0.1;dbname=sabredav_test"
- RUN_PHPSTAN="FALSE"
matrix:
- - LOWEST_DEPS="" TEST_DEPS="" WITH_COVERAGE="--coverage-clover=coverage.xml"
- - LOWEST_DEPS="--prefer-lowest" TEST_DEPS="tests/Sabre/" $WITH_COVERAGE=""
+ - PREFER_LOWEST="" TEST_DEPS="" REPORT_COVERAGE="TRUE" WITH_COVERAGE="--coverage-clover=coverage.xml"
+ - PREFER_LOWEST="--prefer-lowest" TEST_DEPS="tests/Sabre/" REPORT_COVERAGE="FALSE" WITH_COVERAGE=""
matrix:
include:
- name: 'PHPStan'
- php: 7.2
- env: RUN_PHPSTAN="TRUE"
+ php: 7.4
+ env:
+ - RUN_PHPSTAN="TRUE"
+ - REPORT_COVERAGE="FALSE"
- name: 'Test with streaming propfind'
php: 7.2
- env: RUN_TEST_WITH_STREAMING_PROPFIND="TRUE"
+ env:
+ - RUN_TEST_WITH_STREAMING_PROPFIND="TRUE"
+ - REPORT_COVERAGE="FALSE"
+ fast_finish: true
services:
- mysql
- postgresql
-install:
- - if [ $RUN_PHPSTAN == "TRUE" ]; then wget https://github.com/phpstan/phpstan/releases/download/0.11.8/phpstan.phar; fi
-
before_script:
-# - mysql -u root -h 127.0.0.1 sabredav_test -e 'SELECT VERSION();'
-#- mysql -u root -h 127.0.0.1 -e 'create database sabredav_test'
+ - mysql -u root -h 127.0.0.1 -e 'create database sabredav_test'
- psql -c "create database sabredav_test" -U postgres
- psql -c "create user sabredav with PASSWORD 'sabredav';GRANT ALL PRIVILEGES ON DATABASE sabredav_test TO sabredav" -U postgres
- - composer update --prefer-dist $LOWEST_DEPS
+ - composer update $PREFER_LOWEST
addons:
postgresql: "9.5"
script:
- - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/phpunit --verbose --configuration tests/phpunit.xml.dist $WITH_COVERAGE $TEST_DEPS; fi
+ - if [ $RUN_PHPSTAN == "FALSE" ]; then php vendor/bin/php-cs-fixer fix --dry-run --diff; fi
+ - if [ $RUN_PHPSTAN == "FALSE" ]; then php vendor/bin/phpunit --configuration tests/phpunit.xml $WITH_COVERAGE $TEST_DEPS; fi
- if [ $RUN_PHPSTAN == "FALSE" ]; then rm -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini; fi
- - if [ $RUN_PHPSTAN == "TRUE" ]; then php phpstan.phar analyse -c phpstan.neon lib; fi
+ - if [ $RUN_PHPSTAN == "TRUE" ]; then composer phpstan; fi
after_success:
- - bash <(curl -s https://codecov.io/bash)
+ - if [ $REPORT_COVERAGE == "TRUE" ]; then bash <(curl -s https://codecov.io/bash); fi
cache:
directories:
diff --git a/vendor/sabre/dav/CHANGELOG.md b/vendor/sabre/dav/CHANGELOG.md
index 5867bd3ce..932827a72 100644
--- a/vendor/sabre/dav/CHANGELOG.md
+++ b/vendor/sabre/dav/CHANGELOG.md
@@ -1,6 +1,12 @@
ChangeLog
=========
+4.1.0 (2020-03-20)
+-------------------------
+* Support PHP 7.4
+* Drop support for PHP 7.0
+* CalDAV: send MIME-Version header in scheduling emails
+
4.0.3 (2020-01-10)
-------------------------
* DAV: Streaming PROPFIND server implementation
diff --git a/vendor/sabre/dav/README.md b/vendor/sabre/dav/README.md
index a06805443..acdb1e03c 100644
--- a/vendor/sabre/dav/README.md
+++ b/vendor/sabre/dav/README.md
@@ -16,7 +16,7 @@ Build status
| branch | status | minimum PHP version |
| ------------ | ------ | ------------------- |
-| master | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=master)](https://travis-ci.org/sabre-io/dav) | PHP 7.0 |
+| master | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=master)](https://travis-ci.org/sabre-io/dav) | PHP 7.1 |
| 3.1 | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=3.0)](https://travis-ci.org/sabre-io/dav) | PHP 5.5 |
| 3.0 | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=3.0)](https://travis-ci.org/sabre-io/dav) | PHP 5.4 |
| 2.1 | [![Build Status](https://travis-ci.org/sabre-io/dav.svg?branch=2.1)](https://travis-ci.org/sabre-io/dav) | PHP 5.4 |
diff --git a/vendor/sabre/dav/composer.json b/vendor/sabre/dav/composer.json
index 226b2cb30..f0fbf7af7 100644
--- a/vendor/sabre/dav/composer.json
+++ b/vendor/sabre/dav/composer.json
@@ -14,11 +14,11 @@
}
],
"require": {
- "php": ">=7.0.0",
- "sabre/vobject": "^4.2.0-alpha1",
+ "php": "^7.1.0",
+ "sabre/vobject": "^4.2.1",
"sabre/event" : "^5.0",
"sabre/xml" : "^2.0.1",
- "sabre/http" : "^5.0",
+ "sabre/http" : "^5.0.5",
"sabre/uri" : "^2.0",
"ext-dom": "*",
"ext-pcre": "*",
@@ -33,7 +33,9 @@
"ext-json": "*"
},
"require-dev" : {
- "phpunit/phpunit" : "^6",
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpstan/phpstan": "^0.12",
+ "phpunit/phpunit" : "^7.5 || ^8.5 || ^9.0",
"evert/phpdoc-md" : "~0.1.0",
"monolog/monolog": "^1.18"
},
@@ -50,6 +52,17 @@
"Sabre\\CardDAV\\" : "lib/CardDAV/"
}
},
+ "autoload-dev" : {
+ "psr-4" : {
+ "Sabre\\" : "tests/Sabre/",
+ "Sabre\\CalDAV\\" : "tests/Sabre/CalDAV",
+ "Sabre\\CardDAV\\" : "tests/Sabre/CardDAV",
+ "Sabre\\DAV\\" : "tests/Sabre/DAV",
+ "Sabre\\DAV\\Property\\" : "tests/Sabre/DAV/Xml/Property",
+ "Sabre\\DAVACL\\" : "tests/Sabre/DAVACL",
+ "Sabre\\HTTP\\" : "tests/Sabre/HTTP"
+ }
+ },
"support" : {
"forum" : "https://groups.google.com/group/sabredav-discuss",
"source" : "https://github.com/fruux/sabre-dav"
@@ -58,7 +71,20 @@
"bin/sabredav",
"bin/naturalselection"
],
- "config" : {
- "bin-dir" : "./bin"
+ "scripts": {
+ "phpstan": [
+ "phpstan analyse lib tests"
+ ],
+ "cs-fixer": [
+ "php-cs-fixer fix"
+ ],
+ "phpunit": [
+ "phpunit --configuration tests/phpunit.xml"
+ ],
+ "test": [
+ "composer phpstan",
+ "composer cs-fixer",
+ "composer phpunit"
+ ]
}
}
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php b/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php
index 336e104c8..c32c86489 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/AbstractBackend.php
@@ -30,8 +30,7 @@ abstract class AbstractBackend implements BackendInterface
*
* Read the PropPatch documentation for more info and examples.
*
- * @param mixed $calendarId
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param mixed $calendarId
*/
public function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch)
{
@@ -46,7 +45,6 @@ abstract class AbstractBackend implements BackendInterface
* If the backend supports this, it may allow for some speed-ups.
*
* @param mixed $calendarId
- * @param array $uris
*
* @return array
*/
@@ -103,7 +101,6 @@ abstract class AbstractBackend implements BackendInterface
* to think of.
*
* @param mixed $calendarId
- * @param array $filters
*
* @return array
*/
@@ -125,9 +122,6 @@ abstract class AbstractBackend implements BackendInterface
* This method validates if a filter (as passed to calendarQuery) matches
* the given object.
*
- * @param array $object
- * @param array $filters
- *
* @return bool
*/
protected function validateFilterForObject(array $object, array $filters)
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php b/vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php
index 7d125cf89..8bfa7446a 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/BackendInterface.php
@@ -51,7 +51,6 @@ interface BackendInterface
*
* @param string $principalUri
* @param string $calendarUri
- * @param array $properties
*
* @return mixed
*/
@@ -69,8 +68,7 @@ interface BackendInterface
*
* Read the PropPatch documentation for more info and examples.
*
- * @param mixed $calendarId
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param mixed $calendarId
*/
public function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch);
@@ -143,7 +141,6 @@ interface BackendInterface
* If the backend supports this, it may allow for some speed-ups.
*
* @param mixed $calendarId
- * @param array $uris
*
* @return array
*/
@@ -247,7 +244,6 @@ interface BackendInterface
* to think of.
*
* @param mixed $calendarId
- * @param array $filters
*
* @return array
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php
index 0ba493305..6e48d5454 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/NotificationSupport.php
@@ -40,8 +40,7 @@ interface NotificationSupport extends BackendInterface
*
* This may be called by a client once it deems a notification handled.
*
- * @param string $principalUri
- * @param NotificationInterface $notification
+ * @param string $principalUri
*/
public function deleteNotification($principalUri, NotificationInterface $notification);
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php b/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php
index da601fad8..7a07724b3 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/PDO.php
@@ -117,8 +117,6 @@ class PDO extends AbstractBackend implements SyncSupport, SubscriptionSupport, S
/**
* Creates the backend.
- *
- * @param \PDO $pdo
*/
public function __construct(\PDO $pdo)
{
@@ -220,7 +218,6 @@ SQL
*
* @param string $principalUri
* @param string $calendarUri
- * @param array $properties
*
* @return string
*/
@@ -290,8 +287,7 @@ SQL
*
* Read the PropPatch documentation for more info and examples.
*
- * @param mixed $calendarId
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param mixed $calendarId
*/
public function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch)
{
@@ -483,7 +479,6 @@ SQL
* If the backend supports this, it may allow for some speed-ups.
*
* @param mixed $calendarId
- * @param array $uris
*
* @return array
*/
@@ -760,7 +755,6 @@ SQL
* specific components, and VEVENT time-ranges.
*
* @param mixed $calendarId
- * @param array $filters
*
* @return array
*/
@@ -1109,7 +1103,6 @@ SQL;
*
* @param string $principalUri
* @param string $uri
- * @param array $properties
*
* @return mixed
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php b/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php
index b6f3c8bef..8f42072c9 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/SimplePDO.php
@@ -44,8 +44,6 @@ class SimplePDO extends AbstractBackend
/**
* Creates the backend.
- *
- * @param \PDO $pdo
*/
public function __construct(\PDO $pdo)
{
@@ -103,7 +101,6 @@ class SimplePDO extends AbstractBackend
*
* @param string $principalUri
* @param string $calendarUri
- * @param array $properties
*
* @return string
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php b/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php
index 2aaf95cdb..7655c2e11 100644
--- a/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Backend/SubscriptionSupport.php
@@ -58,7 +58,6 @@ interface SubscriptionSupport extends BackendInterface
*
* @param string $principalUri
* @param string $uri
- * @param array $properties
*
* @return mixed
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/Calendar.php b/vendor/sabre/dav/lib/CalDAV/Calendar.php
index 717f04f94..9f32e702a 100644
--- a/vendor/sabre/dav/lib/CalDAV/Calendar.php
+++ b/vendor/sabre/dav/lib/CalDAV/Calendar.php
@@ -39,8 +39,7 @@ class Calendar implements ICalendar, DAV\IProperties, DAV\Sync\ISyncCollection,
/**
* Constructor.
*
- * @param Backend\BackendInterface $caldavBackend
- * @param array $calendarInfo
+ * @param array $calendarInfo
*/
public function __construct(Backend\BackendInterface $caldavBackend, $calendarInfo)
{
@@ -66,8 +65,6 @@ class Calendar implements ICalendar, DAV\IProperties, DAV\Sync\ISyncCollection,
*
* To update specific properties, call the 'handle' method on this object.
* Read the PropPatch documentation for more information.
- *
- * @param PropPatch $propPatch
*/
public function propPatch(PropPatch $propPatch)
{
@@ -350,8 +347,6 @@ class Calendar implements ICalendar, DAV\IProperties, DAV\Sync\ISyncCollection,
* The list of filters are specified as an array. The exact array is
* documented by Sabre\CalDAV\CalendarQueryParser.
*
- * @param array $filters
- *
* @return array
*/
public function calendarQuery(array $filters)
diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarHome.php b/vendor/sabre/dav/lib/CalDAV/CalendarHome.php
index 663d449bf..159ddcc67 100644
--- a/vendor/sabre/dav/lib/CalDAV/CalendarHome.php
+++ b/vendor/sabre/dav/lib/CalDAV/CalendarHome.php
@@ -43,8 +43,7 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL
/**
* Constructor.
*
- * @param Backend\BackendInterface $caldavBackend
- * @param array $principalInfo
+ * @param array $principalInfo
*/
public function __construct(Backend\BackendInterface $caldavBackend, $principalInfo)
{
@@ -216,7 +215,6 @@ class CalendarHome implements DAV\IExtendedCollection, DAVACL\IACL
* Creates a new calendar or subscription.
*
* @param string $name
- * @param MkCol $mkCol
*
* @throws DAV\Exception\InvalidResourceType
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarObject.php b/vendor/sabre/dav/lib/CalDAV/CalendarObject.php
index 3f28ee7f7..671f4b5db 100644
--- a/vendor/sabre/dav/lib/CalDAV/CalendarObject.php
+++ b/vendor/sabre/dav/lib/CalDAV/CalendarObject.php
@@ -49,10 +49,6 @@ class CalendarObject extends \Sabre\DAV\File implements ICalendarObject, \Sabre\
* * size - (optional) The size of the data in bytes.
* * lastmodified - (optional) format as a unix timestamp.
* * acl - (optional) Use this to override the default ACL for the node.
- *
- * @param Backend\BackendInterface $caldavBackend
- * @param array $calendarInfo
- * @param array $objectData
*/
public function __construct(Backend\BackendInterface $caldavBackend, array $calendarInfo, array $objectData)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php b/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php
index 0e7f1307d..7ce1c05b7 100644
--- a/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php
+++ b/vendor/sabre/dav/lib/CalDAV/CalendarQueryValidator.php
@@ -27,9 +27,6 @@ class CalendarQueryValidator
*
* The list of filters must be formatted as parsed by \Sabre\CalDAV\CalendarQueryParser
*
- * @param VObject\Component\VCalendar $vObject
- * @param array $filters
- *
* @return bool
*/
public function validate(VObject\Component\VCalendar $vObject, array $filters)
@@ -52,9 +49,6 @@ class CalendarQueryValidator
* component we're checking should be specified, not the component to check
* itself.
*
- * @param VObject\Component $parent
- * @param array $filters
- *
* @return bool
*/
protected function validateCompFilters(VObject\Component $parent, array $filters)
@@ -116,9 +110,6 @@ class CalendarQueryValidator
* property we're checking should be specified, not the property to check
* itself.
*
- * @param VObject\Component $parent
- * @param array $filters
- *
* @return bool
*/
protected function validatePropFilters(VObject\Component $parent, array $filters)
@@ -181,9 +172,6 @@ class CalendarQueryValidator
* parameter we're checking should be specified, not the parameter to check
* itself.
*
- * @param VObject\Property $parent
- * @param array $filters
- *
* @return bool
*/
protected function validateParamFilters(VObject\Property $parent, array $filters)
@@ -231,8 +219,7 @@ class CalendarQueryValidator
* A single text-match should be specified as well as the specific property
* or parameter we need to validate.
*
- * @param VObject\Node|string $check value to check against
- * @param array $textMatch
+ * @param VObject\Node|string $check value to check against
*
* @return bool
*/
@@ -253,9 +240,8 @@ class CalendarQueryValidator
* This is all based on the rules specified in rfc4791, which are quite
* complex.
*
- * @param VObject\Node $component
- * @param DateTime $start
- * @param DateTime $end
+ * @param DateTime $start
+ * @param DateTime $end
*
* @return bool
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php b/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php
index 42f1a44d5..3038d218f 100644
--- a/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php
+++ b/vendor/sabre/dav/lib/CalDAV/CalendarRoot.php
@@ -38,9 +38,7 @@ class CalendarRoot extends \Sabre\DAVACL\AbstractPrincipalCollection
* actually located in a different path, use the $principalPrefix argument
* to override this.
*
- * @param PrincipalBackend\BackendInterface $principalBackend
- * @param Backend\BackendInterface $caldavBackend
- * @param string $principalPrefix
+ * @param string $principalPrefix
*/
public function __construct(PrincipalBackend\BackendInterface $principalBackend, Backend\BackendInterface $caldavBackend, $principalPrefix = 'principals')
{
@@ -68,8 +66,6 @@ class CalendarRoot extends \Sabre\DAVACL\AbstractPrincipalCollection
* at least contain a uri item. Other properties may or may not be
* supplied by the authentication backend.
*
- * @param array $principal
- *
* @return \Sabre\DAV\INode
*/
public function getChildForPrincipal(array $principal)
diff --git a/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php b/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php
index 3385ad8fe..e94378a68 100644
--- a/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php
+++ b/vendor/sabre/dav/lib/CalDAV/Exception/InvalidComponentType.php
@@ -20,9 +20,6 @@ class InvalidComponentType extends DAV\Exception\Forbidden
* Adds in extra information in the xml response.
*
* This method adds the {CALDAV:}supported-calendar-component as defined in rfc4791
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php b/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php
index 717d3a9c9..9171e36e7 100644
--- a/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/ICSExportPlugin.php
@@ -74,9 +74,6 @@ class ICSExportPlugin extends DAV\ServerPlugin
/**
* Intercepts GET requests on calendar urls ending with ?export.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @throws BadRequest
* @throws DAV\Exception\NotFound
* @throws VObject\InvalidDataException
@@ -164,14 +161,13 @@ class ICSExportPlugin extends DAV\ServerPlugin
/**
* This method is responsible for generating the actual, full response.
*
- * @param string $path
- * @param DateTime|null $start
- * @param DateTime|null $end
- * @param bool $expand
- * @param string $componentType
- * @param string $format
- * @param array $properties
- * @param ResponseInterface $response
+ * @param string $path
+ * @param DateTime|null $start
+ * @param DateTime|null $end
+ * @param bool $expand
+ * @param string $componentType
+ * @param string $format
+ * @param array $properties
*
* @throws DAV\Exception\NotFound
* @throws VObject\InvalidDataException
@@ -283,8 +279,7 @@ class ICSExportPlugin extends DAV\ServerPlugin
/**
* Merges all calendar objects, and builds one big iCalendar blob.
*
- * @param array $properties Some CalDAV properties
- * @param array $inputObjects
+ * @param array $properties Some CalDAV properties
*
* @return VObject\Component\VCalendar
*/
diff --git a/vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php b/vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php
index d9346f311..c08a05a8f 100644
--- a/vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php
+++ b/vendor/sabre/dav/lib/CalDAV/ICalendarObjectContainer.php
@@ -33,8 +33,6 @@ interface ICalendarObjectContainer extends \Sabre\DAV\ICollection
* The list of filters are specified as an array. The exact array is
* documented by \Sabre\CalDAV\CalendarQueryParser.
*
- * @param array $filters
- *
* @return array
*/
public function calendarQuery(array $filters);
diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php
index 884f205e4..e2e899683 100644
--- a/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php
+++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Collection.php
@@ -43,8 +43,7 @@ class Collection extends DAV\Collection implements ICollection, DAVACL\IACL
/**
* Constructor.
*
- * @param CalDAV\Backend\NotificationSupport $caldavBackend
- * @param string $principalUri
+ * @param string $principalUri
*/
public function __construct(CalDAV\Backend\NotificationSupport $caldavBackend, $principalUri)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php
index b1ec13ff4..7d3a3f46b 100644
--- a/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php
+++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Node.php
@@ -48,9 +48,7 @@ class Node extends DAV\File implements INode, DAVACL\IACL
/**
* Constructor.
*
- * @param CalDAV\Backend\NotificationSupport $caldavBackend
- * @param string $principalUri
- * @param NotificationInterface $notification
+ * @param string $principalUri
*/
public function __construct(CalDAV\Backend\NotificationSupport $caldavBackend, $principalUri, NotificationInterface $notification)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php
index 182b70c8e..56b2fe938 100644
--- a/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Notifications/Plugin.php
@@ -60,8 +60,6 @@ class Plugin extends ServerPlugin
* addPlugin is called.
*
* This method should set up the required event subscriptions.
- *
- * @param Server $server
*/
public function initialize(Server $server)
{
@@ -80,9 +78,6 @@ class Plugin extends ServerPlugin
/**
* PropFind.
- *
- * @param PropFind $propFind
- * @param BaseINode $node
*/
public function propFind(PropFind $propFind, BaseINode $node)
{
@@ -112,9 +107,6 @@ class Plugin extends ServerPlugin
*
* We use this to intercept GET calls to notification nodes, and return the
* proper response.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function httpGet(RequestInterface $request, ResponseInterface $response)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Plugin.php
index 04eaedf73..da172049e 100644
--- a/vendor/sabre/dav/lib/CalDAV/Plugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Plugin.php
@@ -183,8 +183,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Initializes the plugin.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -272,9 +270,6 @@ class Plugin extends DAV\ServerPlugin
* This function handles the MKCALENDAR HTTP method, which creates
* a new calendar.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpMkCalendar(RequestInterface $request, ResponseInterface $response)
@@ -323,9 +318,6 @@ class Plugin extends DAV\ServerPlugin
* This method handler is invoked before any after properties for a
* resource are fetched. This allows us to add in any CalDAV specific
* properties.
- *
- * @param DAV\PropFind $propFind
- * @param DAV\INode $node
*/
public function propFind(DAV\PropFind $propFind, DAV\INode $node)
{
@@ -641,8 +633,6 @@ class Plugin extends DAV\ServerPlugin
/**
* This method is responsible for parsing the request and generating the
* response for the CALDAV:free-busy-query REPORT.
- *
- * @param Xml\Request\FreeBusyQueryReport $report
*/
protected function freeBusyQueryReport(Xml\Request\FreeBusyQueryReport $report)
{
@@ -719,11 +709,10 @@ class Plugin extends DAV\ServerPlugin
* This plugin uses this method to ensure that CalDAV objects receive
* valid calendar data.
*
- * @param string $path
- * @param DAV\IFile $node
- * @param resource $data
- * @param bool $modified should be set to true, if this event handler
- * changed &$data
+ * @param string $path
+ * @param resource $data
+ * @param bool $modified should be set to true, if this event handler
+ * changed &$data
*/
public function beforeWriteContent($path, DAV\IFile $node, &$data, &$modified)
{
@@ -757,11 +746,10 @@ class Plugin extends DAV\ServerPlugin
* This plugin uses this method to ensure that newly created calendar
* objects contain valid calendar data.
*
- * @param string $path
- * @param resource $data
- * @param DAV\ICollection $parentNode
- * @param bool $modified should be set to true, if this event handler
- * changed &$data
+ * @param string $path
+ * @param resource $data
+ * @param bool $modified should be set to true, if this event handler
+ * changed &$data
*/
public function beforeCreateFile($path, &$data, DAV\ICollection $parentNode, &$modified)
{
@@ -927,9 +915,6 @@ class Plugin extends DAV\ServerPlugin
/**
* This method is triggered whenever a subsystem reqeuests the privileges
* that are supported on a particular node.
- *
- * @param INode $node
- * @param array $supportedPrivilegeSet
*/
public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet)
{
@@ -946,8 +931,7 @@ class Plugin extends DAV\ServerPlugin
* DAV\Browser\Plugin. This allows us to generate an interface users
* can use to create new calendars.
*
- * @param DAV\INode $node
- * @param string $output
+ * @param string $output
*
* @return bool
*/
@@ -974,9 +958,6 @@ class Plugin extends DAV\ServerPlugin
* This event is triggered after GET requests.
*
* This is used to transform data into jCal, if this was requested.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function httpAfterGet(RequestInterface $request, ResponseInterface $response)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/Collection.php b/vendor/sabre/dav/lib/CalDAV/Principal/Collection.php
index cae29c752..6d0230331 100644
--- a/vendor/sabre/dav/lib/CalDAV/Principal/Collection.php
+++ b/vendor/sabre/dav/lib/CalDAV/Principal/Collection.php
@@ -23,8 +23,6 @@ class Collection extends DAVACL\PrincipalCollection
/**
* Returns a child object based on principal information.
*
- * @param array $principalInfo
- *
* @return User
*/
public function getChildForPrincipal(array $principalInfo)
diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php
index 1b24984bd..7cf70268e 100644
--- a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php
+++ b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyRead.php
@@ -38,9 +38,6 @@ class ProxyRead implements IProxyRead
* Creates the object.
*
* Note that you MUST supply the parent principal information.
- *
- * @param DAVACL\PrincipalBackend\BackendInterface $principalBackend
- * @param array $principalInfo
*/
public function __construct(DAVACL\PrincipalBackend\BackendInterface $principalBackend, array $principalInfo)
{
@@ -143,8 +140,6 @@ class ProxyRead implements IProxyRead
* The list of members is always overwritten, never appended to.
*
* This method should throw an exception if the members could not be set.
- *
- * @param array $principals
*/
public function setGroupMemberSet(array $principals)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php
index 7b9c78e0a..2d1ce7c46 100644
--- a/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php
+++ b/vendor/sabre/dav/lib/CalDAV/Principal/ProxyWrite.php
@@ -38,9 +38,6 @@ class ProxyWrite implements IProxyWrite
* Creates the object.
*
* Note that you MUST supply the parent principal information.
- *
- * @param DAVACL\PrincipalBackend\BackendInterface $principalBackend
- * @param array $principalInfo
*/
public function __construct(DAVACL\PrincipalBackend\BackendInterface $principalBackend, array $principalInfo)
{
@@ -143,8 +140,6 @@ class ProxyWrite implements IProxyWrite
* The list of members is always overwritten, never appended to.
*
* This method should throw an exception if the members could not be set.
- *
- * @param array $principals
*/
public function setGroupMemberSet(array $principals)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php b/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php
index d71b3c0f8..e050ac273 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/IMipPlugin.php
@@ -81,8 +81,6 @@ class IMipPlugin extends DAV\ServerPlugin
/**
* Event handler for the 'schedule' event.
- *
- * @param ITip\Message $iTipMessage
*/
public function schedule(ITip\Message $iTipMessage)
{
@@ -132,6 +130,7 @@ class IMipPlugin extends DAV\ServerPlugin
$headers = [
'Reply-To: '.$sender,
'From: '.$iTipMessage->senderName.' <'.$this->senderEmail.'>',
+ 'MIME-Version: 1.0',
'Content-Type: text/calendar; charset=UTF-8; method='.$iTipMessage->method,
];
if (DAV\Server::$exposeVersion) {
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php
index d92f1dd4c..462069096 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Inbox.php
@@ -38,8 +38,7 @@ class Inbox extends DAV\Collection implements IInbox
/**
* Constructor.
*
- * @param Backend\SchedulingSupport $caldavBackend
- * @param string $principalUri
+ * @param string $principalUri
*/
public function __construct(Backend\SchedulingSupport $caldavBackend, $principalUri)
{
@@ -176,8 +175,6 @@ class Inbox extends DAV\Collection implements IInbox
* The list of filters are specified as an array. The exact array is
* documented by \Sabre\CalDAV\CalendarQueryParser.
*
- * @param array $filters
- *
* @return array
*/
public function calendarQuery(array $filters)
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php
index d2c9b68e9..6f8f68432 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/Plugin.php
@@ -94,8 +94,6 @@ class Plugin extends ServerPlugin
/**
* Initializes the plugin.
- *
- * @param Server $server
*/
public function initialize(Server $server)
{
@@ -158,9 +156,6 @@ class Plugin extends ServerPlugin
/**
* This method handles POST request for the outbox.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpPost(RequestInterface $request, ResponseInterface $response)
@@ -195,9 +190,6 @@ class Plugin extends ServerPlugin
* This method handler is invoked during fetching of properties.
*
* We use this event to add calendar-auto-schedule-specific properties.
- *
- * @param PropFind $propFind
- * @param INode $node
*/
public function propFind(PropFind $propFind, INode $node)
{
@@ -297,8 +289,7 @@ class Plugin extends ServerPlugin
/**
* This method is called during property updates.
*
- * @param string $path
- * @param PropPatch $propPatch
+ * @param string $path
*/
public function propPatch($path, PropPatch $propPatch)
{
@@ -353,8 +344,6 @@ class Plugin extends ServerPlugin
/**
* This method is responsible for delivering the ITip message.
- *
- * @param ITip\Message $iTipMessage
*/
public function deliver(ITip\Message $iTipMessage)
{
@@ -413,8 +402,6 @@ class Plugin extends ServerPlugin
*
* This handler attempts to look at local accounts to deliver the
* scheduling object.
- *
- * @param ITip\Message $iTipMessage
*/
public function scheduleLocalDelivery(ITip\Message $iTipMessage)
{
@@ -557,9 +544,6 @@ class Plugin extends ServerPlugin
* that are supported on a particular node.
*
* We need to add a number of privileges for scheduling purposes.
- *
- * @param INode $node
- * @param array $supportedPrivilegeSet
*/
public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet)
{
@@ -621,8 +605,6 @@ class Plugin extends ServerPlugin
* This method may update $newObject to add any status changes.
*
* @param VCalendar|string $oldObject
- * @param VCalendar $newObject
- * @param array $addresses
* @param array $ignore any addresses to not send messages to
* @param bool $modified a marker to indicate that the original object
* modified by this process
@@ -700,10 +682,6 @@ class Plugin extends ServerPlugin
* The latter is from an expired early draft of the CalDAV scheduling
* extensions, but iCal depends on a feature from that spec, so we
* implement it.
- *
- * @param IOutbox $outboxNode
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function outboxRequest(IOutbox $outboxNode, RequestInterface $request, ResponseInterface $response)
{
@@ -758,11 +736,6 @@ class Plugin extends ServerPlugin
* This method is responsible for parsing a free-busy query request and
* returning it's result.
*
- * @param IOutbox $outbox
- * @param VObject\Component $vObject
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return string
*/
protected function handleFreeBusyRequest(IOutbox $outbox, VObject\Component $vObject, RequestInterface $request, ResponseInterface $response)
@@ -852,10 +825,7 @@ class Plugin extends ServerPlugin
* * 2.0;description
* * 3.7;description
*
- * @param string $email address
- * @param \DateTimeInterface $start
- * @param \DateTimeInterface $end
- * @param VObject\Component $request
+ * @param string $email address
*
* @return array
*/
@@ -998,8 +968,6 @@ class Plugin extends ServerPlugin
* This method checks the 'Schedule-Reply' header
* and returns false if it's 'F', otherwise true.
*
- * @param RequestInterface $request
- *
* @return bool
*/
private function scheduleReply(RequestInterface $request)
diff --git a/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php b/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php
index d34c92327..b40f28a94 100644
--- a/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php
+++ b/vendor/sabre/dav/lib/CalDAV/Schedule/SchedulingObject.php
@@ -29,9 +29,6 @@ class SchedulingObject extends \Sabre\CalDAV\CalendarObject implements IScheduli
* * size - (optional) The size of the data in bytes.
* * lastmodified - (optional) format as a unix timestamp.
* * acl - (optional) Use this to override the default ACL for the node.
- *
- * @param Backend\SchedulingSupport $caldavBackend
- * @param array $objectData
*/
public function __construct(Backend\SchedulingSupport $caldavBackend, array $objectData)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php b/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php
index be8c46a9e..090cc34bf 100644
--- a/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/SharingPlugin.php
@@ -67,8 +67,6 @@ class SharingPlugin extends DAV\ServerPlugin
* addPlugin is called.
*
* This method should set up the required event subscriptions.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -99,9 +97,6 @@ class SharingPlugin extends DAV\ServerPlugin
* node.
*
* This allows us to inject any properties early.
- *
- * @param DAV\PropFind $propFind
- * @param DAV\INode $node
*/
public function propFindEarly(DAV\PropFind $propFind, DAV\INode $node)
{
@@ -118,9 +113,6 @@ class SharingPlugin extends DAV\ServerPlugin
* This method is triggered *after* all properties have been retrieved.
* This allows us to inject the correct resourcetype for calendars that
* have been shared.
- *
- * @param DAV\PropFind $propFind
- * @param DAV\INode $node
*/
public function propFindLate(DAV\PropFind $propFind, DAV\INode $node)
{
@@ -154,8 +146,7 @@ class SharingPlugin extends DAV\ServerPlugin
* Even though this is no longer in the current spec, we keep this around
* because OS X 10.7 may still make use of this feature.
*
- * @param string $path
- * @param DAV\PropPatch $propPatch
+ * @param string $path
*/
public function propPatch($path, DAV\PropPatch $propPatch)
{
@@ -183,9 +174,6 @@ class SharingPlugin extends DAV\ServerPlugin
/**
* We intercept this to handle POST requests on calendars.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool|null
*/
public function httpPost(RequestInterface $request, ResponseInterface $response)
diff --git a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php
index 238866894..6cfcc1a7b 100644
--- a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php
+++ b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Plugin.php
@@ -28,8 +28,6 @@ class Plugin extends ServerPlugin
* addPlugin is called.
*
* This method should set up the required event subscriptions.
- *
- * @param Server $server
*/
public function initialize(Server $server)
{
@@ -57,9 +55,6 @@ class Plugin extends ServerPlugin
/**
* Triggered after properties have been fetched.
- *
- * @param PropFind $propFind
- * @param INode $node
*/
public function propFind(PropFind $propFind, INode $node)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php
index 0b0282abe..3be1b609e 100644
--- a/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php
+++ b/vendor/sabre/dav/lib/CalDAV/Subscriptions/Subscription.php
@@ -40,9 +40,6 @@ class Subscription extends Collection implements ISubscription, IACL
/**
* Constructor.
- *
- * @param SubscriptionSupport $caldavBackend
- * @param array $subscriptionInfo
*/
public function __construct(SubscriptionSupport $caldavBackend, array $subscriptionInfo)
{
@@ -115,8 +112,6 @@ class Subscription extends Collection implements ISubscription, IACL
*
* To update specific properties, call the 'handle' method on this object.
* Read the PropPatch documentation for more information.
- *
- * @param PropPatch $propPatch
*/
public function propPatch(PropPatch $propPatch)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php
index 0d53aeda3..baa4250ab 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CalendarData.php
@@ -47,8 +47,6 @@ class CalendarData implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php
index 832346eea..929000bb8 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/CompFilter.php
@@ -44,8 +44,6 @@ class CompFilter implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php
index ec9ff753c..1e6dd5946 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/ParamFilter.php
@@ -42,8 +42,6 @@ class ParamFilter implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php
index f4600574e..c9a3cb5ac 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Filter/PropFilter.php
@@ -44,8 +44,6 @@ class PropFilter implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php
index 926656674..2dbb0f498 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/Invite.php
@@ -181,8 +181,6 @@ class Invite implements NotificationInterface
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -192,8 +190,6 @@ class Invite implements NotificationInterface
/**
* This method serializes the entire notification, as it is used in the
* response body.
- *
- * @param Writer $writer
*/
public function xmlSerializeFull(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php
index abcbde151..dbdba3b02 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/InviteReply.php
@@ -89,8 +89,6 @@ class InviteReply implements NotificationInterface
* * hostUrl - A url to the shared calendar.
* * summary - Description of the share, can be the same as the
* calendar, but may also be modified (optional).
- *
- * @param array $values
*/
public function __construct(array $values)
{
@@ -132,8 +130,6 @@ class InviteReply implements NotificationInterface
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -143,8 +139,6 @@ class InviteReply implements NotificationInterface
/**
* This method serializes the entire notification, as it is used in the
* response body.
- *
- * @param Writer $writer
*/
public function xmlSerializeFull(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php
index be7490533..e1b393f8b 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/NotificationInterface.php
@@ -19,8 +19,6 @@ interface NotificationInterface extends XmlSerializable
/**
* This method serializes the entire notification, as it is used in the
* response body.
- *
- * @param Writer $writer
*/
public function xmlSerializeFull(Writer $writer);
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php
index 3c656df34..6d196b30c 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Notification/SystemStatus.php
@@ -90,8 +90,6 @@ class SystemStatus implements NotificationInterface
*
* Important note 2: If you are writing any new elements, you are also
* responsible for closing them.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -116,8 +114,6 @@ class SystemStatus implements NotificationInterface
/**
* This method serializes the entire notification, as it is used in the
* response body.
- *
- * @param Writer $writer
*/
public function xmlSerializeFull(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php
index 224f52c96..58acb6d54 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/AllowedSharingModes.php
@@ -68,8 +68,6 @@ class AllowedSharingModes implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php
index 6b28d5df2..84f7ae02f 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/EmailAddressSet.php
@@ -30,8 +30,6 @@ class EmailAddressSet implements XmlSerializable
/**
* __construct.
- *
- * @param array $emails
*/
public function __construct(array $emails)
{
@@ -63,8 +61,6 @@ class EmailAddressSet implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php
index db456617c..c389ca827 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/Invite.php
@@ -67,8 +67,6 @@ class Invite implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php
index 780907169..159522025 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/ScheduleCalendarTransp.php
@@ -76,8 +76,6 @@ class ScheduleCalendarTransp implements Element
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -109,8 +107,6 @@ class ScheduleCalendarTransp implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php
index 56fa61b13..d86e7b77c 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarComponentSet.php
@@ -36,8 +36,6 @@ class SupportedCalendarComponentSet implements Element
/**
* Creates the property.
- *
- * @param array $components
*/
public function __construct(array $components)
{
@@ -69,8 +67,6 @@ class SupportedCalendarComponentSet implements Element
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -99,8 +95,6 @@ class SupportedCalendarComponentSet implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php
index 1c9c4779f..5b0893305 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCalendarData.php
@@ -39,8 +39,6 @@ class SupportedCalendarData implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php
index b88cd0d92..c5ffeee38 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Property/SupportedCollationSet.php
@@ -38,8 +38,6 @@ class SupportedCollationSet implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php
index 8231de6bd..3b3a94b26 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarMultiGetReport.php
@@ -81,8 +81,6 @@ class CalendarMultiGetReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php
index e85eccd2d..b3cc299d3 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/CalendarQueryReport.php
@@ -81,8 +81,6 @@ class CalendarQueryReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php
index a4d98a8d4..17df05a78 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/FreeBusyQueryReport.php
@@ -55,8 +55,6 @@ class FreeBusyQueryReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php
index 710095bb2..166721eb3 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/InviteReply.php
@@ -98,8 +98,6 @@ class InviteReply implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php
index 7cad98da5..b5701e2ea 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/MkCalendar.php
@@ -55,8 +55,6 @@ class MkCalendar implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php b/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php
index 60bd579d5..d597b76f1 100644
--- a/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php
+++ b/vendor/sabre/dav/lib/CalDAV/Xml/Request/Share.php
@@ -57,8 +57,6 @@ class Share implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBook.php b/vendor/sabre/dav/lib/CardDAV/AddressBook.php
index 434801554..86994f2d5 100644
--- a/vendor/sabre/dav/lib/CardDAV/AddressBook.php
+++ b/vendor/sabre/dav/lib/CardDAV/AddressBook.php
@@ -36,9 +36,6 @@ class AddressBook extends DAV\Collection implements IAddressBook, DAV\IPropertie
/**
* Constructor.
- *
- * @param Backend\BackendInterface $carddavBackend
- * @param array $addressBookInfo
*/
public function __construct(Backend\BackendInterface $carddavBackend, array $addressBookInfo)
{
@@ -181,8 +178,6 @@ class AddressBook extends DAV\Collection implements IAddressBook, DAV\IPropertie
*
* To update specific properties, call the 'handle' method on this object.
* Read the PropPatch documentation for more information.
- *
- * @param DAV\PropPatch $propPatch
*/
public function propPatch(DAV\PropPatch $propPatch)
{
diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php b/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php
index fb03000aa..884e9b24e 100644
--- a/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php
+++ b/vendor/sabre/dav/lib/CardDAV/AddressBookHome.php
@@ -39,8 +39,7 @@ class AddressBookHome extends DAV\Collection implements DAV\IExtendedCollection,
/**
* Constructor.
*
- * @param Backend\BackendInterface $carddavBackend
- * @param string $principalUri
+ * @param string $principalUri
*/
public function __construct(Backend\BackendInterface $carddavBackend, $principalUri)
{
@@ -152,7 +151,6 @@ class AddressBookHome extends DAV\Collection implements DAV\IExtendedCollection,
* Creates a new address book.
*
* @param string $name
- * @param MkCol $mkCol
*
* @throws DAV\Exception\InvalidResourceType
*/
diff --git a/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php b/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php
index 219f98906..ee1721a45 100644
--- a/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php
+++ b/vendor/sabre/dav/lib/CardDAV/AddressBookRoot.php
@@ -41,9 +41,7 @@ class AddressBookRoot extends DAVACL\AbstractPrincipalCollection
* actually located in a different path, use the $principalPrefix argument
* to override this.
*
- * @param DAVACL\PrincipalBackend\BackendInterface $principalBackend
- * @param Backend\BackendInterface $carddavBackend
- * @param string $principalPrefix
+ * @param string $principalPrefix
*/
public function __construct(DAVACL\PrincipalBackend\BackendInterface $principalBackend, Backend\BackendInterface $carddavBackend, $principalPrefix = 'principals')
{
@@ -68,8 +66,6 @@ class AddressBookRoot extends DAVACL\AbstractPrincipalCollection
* at least contain a uri item. Other properties may or may not be
* supplied by the authentication backend.
*
- * @param array $principal
- *
* @return \Sabre\DAV\INode
*/
public function getChildForPrincipal(array $principal)
diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php b/vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php
index 6b041ade4..a900c6256 100644
--- a/vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php
+++ b/vendor/sabre/dav/lib/CardDAV/Backend/AbstractBackend.php
@@ -26,7 +26,6 @@ abstract class AbstractBackend implements BackendInterface
* If the backend supports this, it may allow for some speed-ups.
*
* @param mixed $addressBookId
- * @param array $uris
*
* @return array
*/
diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php b/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php
index 804f09a36..6ef34d173 100644
--- a/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/CardDAV/Backend/BackendInterface.php
@@ -51,8 +51,7 @@ interface BackendInterface
*
* Read the PropPatch documentation for more info and examples.
*
- * @param string $addressBookId
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param string $addressBookId
*/
public function updateAddressBook($addressBookId, \Sabre\DAV\PropPatch $propPatch);
@@ -64,7 +63,6 @@ interface BackendInterface
*
* @param string $principalUri
* @param string $url just the 'basename' of the url
- * @param array $properties
*
* @return mixed
*/
@@ -123,7 +121,6 @@ interface BackendInterface
* If the backend supports this, it may allow for some speed-ups.
*
* @param mixed $addressBookId
- * @param array $uris
*
* @return array
*/
diff --git a/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php b/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php
index 0659455e5..a33de48de 100644
--- a/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/CardDAV/Backend/PDO.php
@@ -44,8 +44,6 @@ class PDO extends AbstractBackend implements SyncSupport
/**
* Sets up the object.
- *
- * @param \PDO $pdo
*/
public function __construct(\PDO $pdo)
{
@@ -93,8 +91,7 @@ class PDO extends AbstractBackend implements SyncSupport
*
* Read the PropPatch documentation for more info and examples.
*
- * @param string $addressBookId
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param string $addressBookId
*/
public function updateAddressBook($addressBookId, \Sabre\DAV\PropPatch $propPatch)
{
@@ -143,7 +140,6 @@ class PDO extends AbstractBackend implements SyncSupport
*
* @param string $principalUri
* @param string $url just the 'basename' of the url
- * @param array $properties
*
* @return int Last insert id
*/
@@ -269,7 +265,6 @@ class PDO extends AbstractBackend implements SyncSupport
* If the backend supports this, it may allow for some speed-ups.
*
* @param mixed $addressBookId
- * @param array $uris
*
* @return array
*/
diff --git a/vendor/sabre/dav/lib/CardDAV/Card.php b/vendor/sabre/dav/lib/CardDAV/Card.php
index 1d544f4aa..c9cd2bbf6 100644
--- a/vendor/sabre/dav/lib/CardDAV/Card.php
+++ b/vendor/sabre/dav/lib/CardDAV/Card.php
@@ -41,10 +41,6 @@ class Card extends DAV\File implements ICard, DAVACL\IACL
/**
* Constructor.
- *
- * @param Backend\BackendInterface $carddavBackend
- * @param array $addressBookInfo
- * @param array $cardData
*/
public function __construct(Backend\BackendInterface $carddavBackend, array $addressBookInfo, array $cardData)
{
diff --git a/vendor/sabre/dav/lib/CardDAV/Plugin.php b/vendor/sabre/dav/lib/CardDAV/Plugin.php
index 10398a4d2..09d1f593d 100644
--- a/vendor/sabre/dav/lib/CardDAV/Plugin.php
+++ b/vendor/sabre/dav/lib/CardDAV/Plugin.php
@@ -59,8 +59,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Initializes the plugin.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -131,9 +129,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Adds all CardDAV-specific properties.
- *
- * @param DAV\PropFind $propFind
- * @param DAV\INode $node
*/
public function propFindEarly(DAV\PropFind $propFind, DAV\INode $node)
{
@@ -267,11 +262,10 @@ class Plugin extends DAV\ServerPlugin
* This plugin uses this method to ensure that Card nodes receive valid
* vcard data.
*
- * @param string $path
- * @param DAV\IFile $node
- * @param resource $data
- * @param bool $modified should be set to true, if this event handler
- * changed &$data
+ * @param string $path
+ * @param resource $data
+ * @param bool $modified should be set to true, if this event handler
+ * changed &$data
*/
public function beforeWriteContent($path, DAV\IFile $node, &$data, &$modified)
{
@@ -288,11 +282,10 @@ class Plugin extends DAV\ServerPlugin
* This plugin uses this method to ensure that Card nodes receive valid
* vcard data.
*
- * @param string $path
- * @param resource $data
- * @param DAV\ICollection $parentNode
- * @param bool $modified should be set to true, if this event handler
- * changed &$data
+ * @param string $path
+ * @param resource $data
+ * @param bool $modified should be set to true, if this event handler
+ * changed &$data
*/
public function beforeCreateFile($path, &$data, DAV\ICollection $parentNode, &$modified)
{
@@ -481,7 +474,6 @@ class Plugin extends DAV\ServerPlugin
* Validates if a vcard makes it throught a list of filters.
*
* @param string $vcardData
- * @param array $filters
* @param string $test anyof or allof (which means OR or AND)
*
* @return bool
@@ -565,8 +557,6 @@ class Plugin extends DAV\ServerPlugin
* property. Any subsequence parameters with the same name are
* ignored.
*
- * @param array $vProperties
- * @param array $filters
* @param string $test
*
* @return bool
@@ -628,8 +618,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Validates if a text-filter can be applied to a specific property.
*
- * @param array $texts
- * @param array $filters
* @param string $test
*
* @return bool
@@ -672,9 +660,6 @@ class Plugin extends DAV\ServerPlugin
*
* This event is scheduled late in the process, after most work for
* propfind has been done.
- *
- * @param DAV\PropFind $propFind
- * @param DAV\INode $node
*/
public function propFindLate(DAV\PropFind $propFind, DAV\INode $node)
{
@@ -699,8 +684,7 @@ class Plugin extends DAV\ServerPlugin
* Sabre\DAV\Browser\Plugin. This allows us to generate an interface users
* can use to create new addressbooks.
*
- * @param DAV\INode $node
- * @param string $output
+ * @param string $output
*
* @return bool
*/
@@ -727,9 +711,6 @@ class Plugin extends DAV\ServerPlugin
* This event is triggered after GET requests.
*
* This is used to transform data into jCal, if this was requested.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function httpAfterGet(RequestInterface $request, ResponseInterface $response)
{
diff --git a/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php b/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php
index 194927c53..431391e04 100644
--- a/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php
+++ b/vendor/sabre/dav/lib/CardDAV/VCFExportPlugin.php
@@ -32,8 +32,6 @@ class VCFExportPlugin extends DAV\ServerPlugin
/**
* Initializes the plugin and registers event handlers.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -49,9 +47,6 @@ class VCFExportPlugin extends DAV\ServerPlugin
/**
* Intercepts GET requests on addressbook urls ending with ?export.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpGet(RequestInterface $request, ResponseInterface $response)
@@ -112,8 +107,6 @@ class VCFExportPlugin extends DAV\ServerPlugin
/**
* Merges all vcard objects, and builds one big vcf export.
*
- * @param array $nodes
- *
* @return string
*/
public function generateVCF(array $nodes)
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
index f1b651e76..b60fcebb6 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/AddressData.php
@@ -43,8 +43,6 @@ class AddressData implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php
index 2d39dea7f..0a7ec0659 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/ParamFilter.php
@@ -43,8 +43,6 @@ abstract class ParamFilter implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php
index a22a577c9..5dedac800 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Filter/PropFilter.php
@@ -43,8 +43,6 @@ class PropFilter implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php
index 9d0051698..fe5f976a0 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedAddressData.php
@@ -33,8 +33,6 @@ class SupportedAddressData implements XmlSerializable
/**
* Creates the property.
- *
- * @param array|null $supportedData
*/
public function __construct(array $supportedData = null)
{
@@ -64,8 +62,6 @@ class SupportedAddressData implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php
index 66e451a91..b19eddd9c 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Property/SupportedCollationSet.php
@@ -34,8 +34,6 @@ class SupportedCollationSet implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
index 845796760..c11d2dd73 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookMultiGetReport.php
@@ -71,8 +71,6 @@ class AddressBookMultiGetReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php
index 0e6f26d38..d3651ae61 100644
--- a/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php
+++ b/vendor/sabre/dav/lib/CardDAV/Xml/Request/AddressBookQueryReport.php
@@ -115,8 +115,6 @@ class AddressBookQueryReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php
index aa8b1f573..3132333b7 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBasic.php
@@ -86,9 +86,6 @@ abstract class AbstractBasic implements BackendInterface
*
* principals/users/[username]
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return array
*/
public function check(RequestInterface $request, ResponseInterface $response)
@@ -126,9 +123,6 @@ abstract class AbstractBasic implements BackendInterface
* WWW-Authenticate headers may already have been set, and you'll want to
* append your own WWW-Authenticate header instead of overwriting the
* existing one.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function challenge(RequestInterface $request, ResponseInterface $response)
{
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php
index a2653b2b0..b6817479f 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractBearer.php
@@ -79,9 +79,6 @@ abstract class AbstractBearer implements BackendInterface
*
* principals/users/[username]
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return array
*/
public function check(RequestInterface $request, ResponseInterface $response)
@@ -120,9 +117,6 @@ abstract class AbstractBearer implements BackendInterface
* WWW-Authenticate headers may already have been set, and you'll want to
* append your own WWW-Authenticate header instead of overwriting the
* existing one.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function challenge(RequestInterface $request, ResponseInterface $response)
{
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php
index 06c9ed3a4..297655da3 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/AbstractDigest.php
@@ -89,9 +89,6 @@ abstract class AbstractDigest implements BackendInterface
*
* principals/users/[username]
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return array
*/
public function check(RequestInterface $request, ResponseInterface $response)
@@ -143,9 +140,6 @@ abstract class AbstractDigest implements BackendInterface
* WWW-Authenticate headers may already have been set, and you'll want to
* append your own WWW-Authenticate header instead of overwriting the
* existing one.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function challenge(RequestInterface $request, ResponseInterface $response)
{
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php
index 201fe615c..ebf67cab2 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/Apache.php
@@ -52,9 +52,6 @@ class Apache implements BackendInterface
*
* principals/users/[username]
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return array
*/
public function check(RequestInterface $request, ResponseInterface $response)
@@ -89,9 +86,6 @@ class Apache implements BackendInterface
* WWW-Authenticate headers may already have been set, and you'll want to
* append your own WWW-Authenticate header instead of overwriting the
* existing one.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function challenge(RequestInterface $request, ResponseInterface $response)
{
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php
index 8598791fb..133eac926 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/BackendInterface.php
@@ -40,9 +40,6 @@ interface BackendInterface
*
* principals/users/[username]
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return array
*/
public function check(RequestInterface $request, ResponseInterface $response);
@@ -63,9 +60,6 @@ interface BackendInterface
* WWW-Authenticate headers may already have been set, and you'll want to
* append your own WWW-Authenticate header instead of overwriting the
* existing one.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function challenge(RequestInterface $request, ResponseInterface $response);
}
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php
index aab3c5e1c..5a8bb98ce 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/BasicCallBack.php
@@ -30,8 +30,6 @@ class BasicCallBack extends AbstractBasic
*
* A callback must be provided to handle checking the username and
* password.
- *
- * @param callable $callBack
*/
public function __construct(callable $callBack)
{
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php
index 87ead6fcd..9a06912d1 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Backend/PDO.php
@@ -31,8 +31,6 @@ class PDO extends AbstractDigest
* Creates the backend object.
*
* If the filename argument is passed in, it will parse out the specified file fist.
- *
- * @param \PDO $pdo
*/
public function __construct(\PDO $pdo)
{
diff --git a/vendor/sabre/dav/lib/DAV/Auth/Plugin.php b/vendor/sabre/dav/lib/DAV/Auth/Plugin.php
index 9be90283f..68adbede5 100644
--- a/vendor/sabre/dav/lib/DAV/Auth/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Auth/Plugin.php
@@ -67,8 +67,6 @@ class Plugin extends ServerPlugin
/**
* Adds an authentication backend to the plugin.
- *
- * @param Backend\BackendInterface $authBackend
*/
public function addBackend(Backend\BackendInterface $authBackend)
{
@@ -77,8 +75,6 @@ class Plugin extends ServerPlugin
/**
* Initializes the plugin. This function is automatically called by the server.
- *
- * @param Server $server
*/
public function initialize(Server $server)
{
@@ -118,9 +114,6 @@ class Plugin extends ServerPlugin
/**
* This method is called before any HTTP method and forces users to be authenticated.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function beforeMethod(RequestInterface $request, ResponseInterface $response)
@@ -176,9 +169,6 @@ class Plugin extends ServerPlugin
* unsuccessful. For every auth backend there will be one reason, so usually
* there's just one.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return array
*/
public function check(RequestInterface $request, ResponseInterface $response)
@@ -215,9 +205,6 @@ class Plugin extends ServerPlugin
* WWW-Authorization header, indicating to the client that it should
* authenticate.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return array
*/
public function challenge(RequestInterface $request, ResponseInterface $response)
diff --git a/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php b/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php
index b07103db9..5cda0b842 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/GuessContentType.php
@@ -49,8 +49,6 @@ class GuessContentType extends DAV\ServerPlugin
/**
* Initializes the plugin.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -63,9 +61,6 @@ class GuessContentType extends DAV\ServerPlugin
* Our PROPFIND handler.
*
* Here we set a contenttype, if the node didn't already have one.
- *
- * @param PropFind $propFind
- * @param INode $node
*/
public function propFind(PropFind $propFind, INode $node)
{
diff --git a/vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php b/vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php
index 59b3f5604..be5a28456 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/HtmlOutput.php
@@ -28,8 +28,6 @@ interface HtmlOutput
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html);
diff --git a/vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php b/vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php
index a7c747437..0a881abad 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/HtmlOutputHelper.php
@@ -42,7 +42,6 @@ class HtmlOutputHelper
* that can be used to make output a lot shorter.
*
* @param string $baseUri
- * @param array $namespaceMap
*/
public function __construct($baseUri, array $namespaceMap)
{
diff --git a/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php b/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php
index 25e061128..0bbe70c66 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/MapGetToPropFind.php
@@ -29,8 +29,6 @@ class MapGetToPropFind extends DAV\ServerPlugin
/**
* Initializes the plugin and subscribes to events.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -41,9 +39,6 @@ class MapGetToPropFind extends DAV\ServerPlugin
/**
* This method intercepts GET requests to non-files, and changes it into an HTTP PROPFIND request.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpGet(RequestInterface $request, ResponseInterface $response)
diff --git a/vendor/sabre/dav/lib/DAV/Browser/Plugin.php b/vendor/sabre/dav/lib/DAV/Browser/Plugin.php
index e2fab4b79..915f2895b 100644
--- a/vendor/sabre/dav/lib/DAV/Browser/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Browser/Plugin.php
@@ -70,8 +70,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Initializes the plugin and subscribes to events.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -88,9 +86,6 @@ class Plugin extends DAV\ServerPlugin
* This method intercepts GET requests that have ?sabreAction=info
* appended to the URL.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpGetEarly(RequestInterface $request, ResponseInterface $response)
@@ -104,9 +99,6 @@ class Plugin extends DAV\ServerPlugin
/**
* This method intercepts GET requests to collections and returns the html.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpGet(RequestInterface $request, ResponseInterface $response)
@@ -160,9 +152,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Handles POST requests for tree operations.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpPOST(RequestInterface $request, ResponseInterface $response)
@@ -499,9 +488,8 @@ HTML;
* This specifically generates the interfaces for creating new files, and
* creating new directories.
*
- * @param DAV\INode $node
- * @param mixed $output
- * @param string $path
+ * @param mixed $output
+ * @param string $path
*/
public function htmlActionsPanel(DAV\INode $node, &$output, $path)
{
@@ -630,7 +618,6 @@ HTML;
/**
* Maps a resource type to a human-readable string and icon.
*
- * @param array $resourceTypes
* @param DAV\INode $node
*
* @return array
diff --git a/vendor/sabre/dav/lib/DAV/Client.php b/vendor/sabre/dav/lib/DAV/Client.php
index cfa24cd29..a9de71cdb 100644
--- a/vendor/sabre/dav/lib/DAV/Client.php
+++ b/vendor/sabre/dav/lib/DAV/Client.php
@@ -112,8 +112,6 @@ class Client extends HTTP\Client
* requests to 'discover' this information.
*
* Encoding is a bitmap with one of the ENCODING constants.
- *
- * @param array $settings
*/
public function __construct(array $settings)
{
@@ -192,7 +190,6 @@ class Client extends HTTP\Client
* made to the server to also return all child resources.
*
* @param string $url
- * @param array $properties
* @param int $depth
*
* @return array
@@ -261,7 +258,6 @@ class Client extends HTTP\Client
* attempt is made to delete the property.
*
* @param string $url
- * @param array $properties
*
* @return bool
*/
@@ -359,7 +355,6 @@ class Client extends HTTP\Client
* @param string $method
* @param string $url
* @param string|resource|null $body
- * @param array $headers
*
* @throws clientException, in case a curl error occurred
*
@@ -415,7 +410,6 @@ class Client extends HTTP\Client
* ]
* ]
*
- *
* @param string $body xml body
*
* @return array
diff --git a/vendor/sabre/dav/lib/DAV/CorePlugin.php b/vendor/sabre/dav/lib/DAV/CorePlugin.php
index ef1dfceb6..74350c28d 100644
--- a/vendor/sabre/dav/lib/DAV/CorePlugin.php
+++ b/vendor/sabre/dav/lib/DAV/CorePlugin.php
@@ -27,8 +27,6 @@ class CorePlugin extends ServerPlugin
/**
* Sets up the plugin.
- *
- * @param Server $server
*/
public function initialize(Server $server)
{
@@ -70,9 +68,6 @@ class CorePlugin extends ServerPlugin
/**
* This is the default implementation for the GET method.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpGet(RequestInterface $request, ResponseInterface $response)
@@ -210,9 +205,6 @@ class CorePlugin extends ServerPlugin
/**
* HTTP OPTIONS.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpOptions(RequestInterface $request, ResponseInterface $response)
@@ -245,9 +237,6 @@ class CorePlugin extends ServerPlugin
* determine if a remote file was changed, so they can use a local cached
* version, instead of downloading it again
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpHead(RequestInterface $request, ResponseInterface $response)
@@ -281,9 +270,6 @@ class CorePlugin extends ServerPlugin
* HTTP Delete.
*
* The HTTP delete method, deletes a given uri
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function httpDelete(RequestInterface $request, ResponseInterface $response)
{
@@ -314,9 +300,6 @@ class CorePlugin extends ServerPlugin
* The response body is also an xml document, containing information about every uri resource and the requested properties
*
* It has to return a HTTP 207 Multi-status status code
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function httpPropFind(RequestInterface $request, ResponseInterface $response)
{
@@ -374,9 +357,6 @@ class CorePlugin extends ServerPlugin
* This method is called to update properties on a Node. The request is an XML body with all the mutations.
* In this XML body it is specified which properties should be set/updated and/or deleted
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpPropPatch(RequestInterface $request, ResponseInterface $response)
@@ -443,9 +423,6 @@ class CorePlugin extends ServerPlugin
*
* If a new resource was created, a 201 Created status code should be returned. If an existing resource is updated, it's a 204 No Content
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpPut(RequestInterface $request, ResponseInterface $response)
@@ -546,9 +523,6 @@ class CorePlugin extends ServerPlugin
*
* The MKCOL method is used to create a new collection (directory) on the server
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpMkcol(RequestInterface $request, ResponseInterface $response)
@@ -607,9 +581,6 @@ class CorePlugin extends ServerPlugin
*
* This method moves one uri to a different uri. A lot of the actual request processing is done in getCopyMoveInfo
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpMove(RequestInterface $request, ResponseInterface $response)
@@ -663,9 +634,6 @@ class CorePlugin extends ServerPlugin
* This method copies one uri to a different uri, and works much like the MOVE request
* A lot of the actual request processing is done in getCopyMoveInfo
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpCopy(RequestInterface $request, ResponseInterface $response)
@@ -702,9 +670,6 @@ class CorePlugin extends ServerPlugin
* Although the REPORT method is not part of the standard WebDAV spec (it's from rfc3253)
* It's used in a lot of extensions, so it made sense to implement it into the core.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpReport(RequestInterface $request, ResponseInterface $response)
@@ -733,8 +698,7 @@ class CorePlugin extends ServerPlugin
* Here we check if a user attempted to update a protected property and
* ensure that the process fails if this is the case.
*
- * @param string $path
- * @param PropPatch $propPatch
+ * @param string $path
*/
public function propPatchProtectedPropertyCheck($path, PropPatch $propPatch)
{
@@ -757,8 +721,7 @@ class CorePlugin extends ServerPlugin
* Here we check if a node implements IProperties and let the node handle
* updating of (some) properties.
*
- * @param string $path
- * @param PropPatch $propPatch
+ * @param string $path
*/
public function propPatchNodeUpdate($path, PropPatch $propPatch)
{
@@ -774,9 +737,6 @@ class CorePlugin extends ServerPlugin
* This method is called when properties are retrieved.
*
* Here we add all the default properties.
- *
- * @param PropFind $propFind
- * @param INode $node
*/
public function propFind(PropFind $propFind, INode $node)
{
@@ -832,9 +792,6 @@ class CorePlugin extends ServerPlugin
*
* This event is called a bit later, so plugins have a chance first to
* populate the result.
- *
- * @param PropFind $propFind
- * @param INode $node
*/
public function propFindNode(PropFind $propFind, INode $node)
{
@@ -851,9 +808,6 @@ class CorePlugin extends ServerPlugin
*
* This specific handler is called very late in the process, because we
* want other systems to first have a chance to handle the properties.
- *
- * @param PropFind $propFind
- * @param INode $node
*/
public function propFindLate(PropFind $propFind, INode $node)
{
diff --git a/vendor/sabre/dav/lib/DAV/Exception.php b/vendor/sabre/dav/lib/DAV/Exception.php
index e1d990623..9fc1d16bb 100644
--- a/vendor/sabre/dav/lib/DAV/Exception.php
+++ b/vendor/sabre/dav/lib/DAV/Exception.php
@@ -31,9 +31,6 @@ class Exception extends \Exception
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(Server $server, \DOMElement $errorNode)
{
@@ -44,8 +41,6 @@ class Exception extends \Exception
*
* The headers must be returned as an array.
*
- * @param Server $server
- *
* @return array
*/
public function getHTTPHeaders(Server $server)
diff --git a/vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php b/vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php
index c1a4914ed..7ceed266f 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/ConflictingLock.php
@@ -20,9 +20,6 @@ class ConflictingLock extends Locked
{
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php b/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php
index 99baeb8bc..4fabd24ad 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/InvalidResourceType.php
@@ -20,9 +20,6 @@ class InvalidResourceType extends Forbidden
{
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param \Sabre\DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(\Sabre\DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php b/vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php
index 6c5f1c435..37b28ca54 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/InvalidSyncToken.php
@@ -25,9 +25,6 @@ class InvalidSyncToken extends Forbidden
{
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php b/vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php
index 1c7402384..a813b1a38 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/LockTokenMatchesRequestUri.php
@@ -27,9 +27,6 @@ class LockTokenMatchesRequestUri extends Conflict
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAV/Exception/Locked.php b/vendor/sabre/dav/lib/DAV/Exception/Locked.php
index 632bafc60..28263cf13 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/Locked.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/Locked.php
@@ -51,9 +51,6 @@ class Locked extends DAV\Exception
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php b/vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php
index a3d9c56f2..d1ac349bd 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/MethodNotAllowed.php
@@ -32,8 +32,6 @@ class MethodNotAllowed extends DAV\Exception
*
* The headers must be returned as an array.
*
- * @param \Sabre\DAV\Server $server
- *
* @return array
*/
public function getHTTPHeaders(\Sabre\DAV\Server $server)
diff --git a/vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php b/vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php
index 20d8a2a30..7240f3696 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/PreconditionFailed.php
@@ -53,9 +53,6 @@ class PreconditionFailed extends DAV\Exception
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php b/vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php
index cecfec12d..a483838e6 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/ReportNotSupported.php
@@ -19,9 +19,6 @@ class ReportNotSupported extends UnsupportedMediaType
{
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php b/vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php
index 7dbe878b9..3f7d2d5fb 100644
--- a/vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php
+++ b/vendor/sabre/dav/lib/DAV/Exception/TooManyMatches.php
@@ -25,9 +25,6 @@ class TooManyMatches extends Forbidden
{
/**
* This method allows the exception to include additional information into the WebDAV error response.
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAV/IExtendedCollection.php b/vendor/sabre/dav/lib/DAV/IExtendedCollection.php
index d43b44bcb..fcf12a27e 100644
--- a/vendor/sabre/dav/lib/DAV/IExtendedCollection.php
+++ b/vendor/sabre/dav/lib/DAV/IExtendedCollection.php
@@ -36,7 +36,6 @@ interface IExtendedCollection extends ICollection
* property for you.
*
* @param string $name
- * @param MkCol $mkCol
*
* @throws Exception\InvalidResourceType
*/
diff --git a/vendor/sabre/dav/lib/DAV/IProperties.php b/vendor/sabre/dav/lib/DAV/IProperties.php
index d50fdff20..a69c178c0 100644
--- a/vendor/sabre/dav/lib/DAV/IProperties.php
+++ b/vendor/sabre/dav/lib/DAV/IProperties.php
@@ -23,8 +23,6 @@ interface IProperties extends INode
*
* To update specific properties, call the 'handle' method on this object.
* Read the PropPatch documentation for more information.
- *
- * @param PropPatch $propPatch
*/
public function propPatch(PropPatch $propPatch);
diff --git a/vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php b/vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php
index 9a6919f50..4d21beb2e 100644
--- a/vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/DAV/Locks/Backend/BackendInterface.php
@@ -35,8 +35,7 @@ interface BackendInterface
/**
* Locks a uri.
*
- * @param string $uri
- * @param Locks\LockInfo $lockInfo
+ * @param string $uri
*
* @return bool
*/
@@ -45,8 +44,7 @@ interface BackendInterface
/**
* Removes a lock from a uri.
*
- * @param string $uri
- * @param Locks\LockInfo $lockInfo
+ * @param string $uri
*
* @return bool
*/
diff --git a/vendor/sabre/dav/lib/DAV/Locks/Backend/File.php b/vendor/sabre/dav/lib/DAV/Locks/Backend/File.php
index 5957f35dd..b38189499 100644
--- a/vendor/sabre/dav/lib/DAV/Locks/Backend/File.php
+++ b/vendor/sabre/dav/lib/DAV/Locks/Backend/File.php
@@ -82,8 +82,7 @@ class File extends AbstractBackend
/**
* Locks a uri.
*
- * @param string $uri
- * @param LockInfo $lockInfo
+ * @param string $uri
*
* @return bool
*/
@@ -113,8 +112,7 @@ class File extends AbstractBackend
/**
* Removes a lock from a uri.
*
- * @param string $uri
- * @param LockInfo $lockInfo
+ * @param string $uri
*
* @return bool
*/
@@ -166,8 +164,6 @@ class File extends AbstractBackend
/**
* Saves the lockdata.
- *
- * @param array $newData
*/
protected function putData(array $newData)
{
diff --git a/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php
index 36a12d1ab..3f425f98d 100644
--- a/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/DAV/Locks/Backend/PDO.php
@@ -34,8 +34,6 @@ class PDO extends AbstractBackend
/**
* Constructor.
- *
- * @param \PDO $pdo
*/
public function __construct(\PDO $pdo)
{
@@ -111,8 +109,7 @@ class PDO extends AbstractBackend
/**
* Locks a uri.
*
- * @param string $uri
- * @param LockInfo $lockInfo
+ * @param string $uri
*
* @return bool
*/
@@ -161,8 +158,7 @@ class PDO extends AbstractBackend
/**
* Removes a lock from a uri.
*
- * @param string $uri
- * @param LockInfo $lockInfo
+ * @param string $uri
*
* @return bool
*/
diff --git a/vendor/sabre/dav/lib/DAV/Locks/Plugin.php b/vendor/sabre/dav/lib/DAV/Locks/Plugin.php
index 6d3e9b883..1e9b6839e 100644
--- a/vendor/sabre/dav/lib/DAV/Locks/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Locks/Plugin.php
@@ -40,8 +40,6 @@ class Plugin extends DAV\ServerPlugin
/**
* __construct.
- *
- * @param Backend\BackendInterface $locksBackend
*/
public function __construct(Backend\BackendInterface $locksBackend)
{
@@ -52,8 +50,6 @@ class Plugin extends DAV\ServerPlugin
* Initializes the plugin.
*
* This method is automatically called by the Server class after addPlugin.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -84,9 +80,6 @@ class Plugin extends DAV\ServerPlugin
/**
* This method is called after most properties have been found
* it allows us to add in any Lock-related properties.
- *
- * @param DAV\PropFind $propFind
- * @param DAV\INode $node
*/
public function propFind(DAV\PropFind $propFind, DAV\INode $node)
{
@@ -159,9 +152,6 @@ class Plugin extends DAV\ServerPlugin
*
* Additionally, a lock can be requested for a non-existent file. In these case we're obligated to create an empty file as per RFC4918:S7.3
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpLock(RequestInterface $request, ResponseInterface $response)
@@ -260,9 +250,6 @@ class Plugin extends DAV\ServerPlugin
*
* This WebDAV method allows you to remove a lock from a node. The client should provide a valid locktoken through the Lock-token http header
* The server should return 204 (No content) on success
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function httpUnlock(RequestInterface $request, ResponseInterface $response)
{
@@ -318,8 +305,7 @@ class Plugin extends DAV\ServerPlugin
* All the locking information is supplied in the lockInfo object. The object has a suggested timeout, but this can be safely ignored
* It is important that if the existing timeout is ignored, the property is overwritten, as this needs to be sent back to the client
*
- * @param string $uri
- * @param LockInfo $lockInfo
+ * @param string $uri
*
* @return bool
*/
@@ -337,8 +323,7 @@ class Plugin extends DAV\ServerPlugin
*
* This method removes a lock from a uri. It is assumed all the supplied information is correct and verified
*
- * @param string $uri
- * @param LockInfo $lockInfo
+ * @param string $uri
*
* @return bool
*/
@@ -380,8 +365,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Generates the response for successful LOCK requests.
*
- * @param LockInfo $lockInfo
- *
* @return string
*/
protected function generateLockResponse(LockInfo $lockInfo)
@@ -401,8 +384,7 @@ class Plugin extends DAV\ServerPlugin
* must be present in the request, and reject requests without the proper
* tokens.
*
- * @param RequestInterface $request
- * @param mixed $conditions
+ * @param mixed $conditions
*/
public function validateTokens(RequestInterface $request, &$conditions)
{
diff --git a/vendor/sabre/dav/lib/DAV/Mount/Plugin.php b/vendor/sabre/dav/lib/DAV/Mount/Plugin.php
index 5eaa4d462..b7f4851f6 100644
--- a/vendor/sabre/dav/lib/DAV/Mount/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Mount/Plugin.php
@@ -28,8 +28,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Initializes the plugin and registers event handles.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -41,9 +39,6 @@ class Plugin extends DAV\ServerPlugin
* 'beforeMethod' event handles. This event handles intercepts GET requests ending
* with ?mount.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpGet(RequestInterface $request, ResponseInterface $response)
@@ -67,8 +62,7 @@ class Plugin extends DAV\ServerPlugin
/**
* Generates the davmount response.
*
- * @param ResponseInterface $response
- * @param string $uri absolute uri
+ * @param string $uri absolute uri
*/
public function davMount(ResponseInterface $response, $uri)
{
diff --git a/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php b/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php
index f8ffc3706..d6f4d32bd 100644
--- a/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/PartialUpdate/Plugin.php
@@ -39,8 +39,6 @@ class Plugin extends DAV\ServerPlugin
* Initializes the plugin.
*
* This method is automatically called by the Server class after addPlugin.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -106,9 +104,6 @@ class Plugin extends DAV\ServerPlugin
* The WebDAV patch request can be used to modify only a part of an
* existing resource. If the resource does not exist yet and the first
* offset is not 0, the request fails
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function httpPatch(RequestInterface $request, ResponseInterface $response)
{
@@ -191,8 +186,6 @@ class Plugin extends DAV\ServerPlugin
* [2,10,null] - update bytes 10 until the end of the patch body
* [3,-5] - update from 5 bytes from the end of the file.
*
- * @param RequestInterface $request
- *
* @return array|null
*/
public function getHTTPUpdateRange(RequestInterface $request)
diff --git a/vendor/sabre/dav/lib/DAV/PropFind.php b/vendor/sabre/dav/lib/DAV/PropFind.php
index 4b6fe28eb..e9ffb07cb 100644
--- a/vendor/sabre/dav/lib/DAV/PropFind.php
+++ b/vendor/sabre/dav/lib/DAV/PropFind.php
@@ -38,7 +38,6 @@ class PropFind
* Creates the PROPFIND object.
*
* @param string $path
- * @param array $properties
* @param int $depth
* @param int $requestType
*/
diff --git a/vendor/sabre/dav/lib/DAV/PropPatch.php b/vendor/sabre/dav/lib/DAV/PropPatch.php
index 160bdb1a8..092909dea 100644
--- a/vendor/sabre/dav/lib/DAV/PropPatch.php
+++ b/vendor/sabre/dav/lib/DAV/PropPatch.php
@@ -82,7 +82,6 @@ class PropPatch
* code associated with the operation.
*
* @param string|string[] $properties
- * @param callable $callback
*/
public function handle($properties, callable $callback)
{
@@ -112,8 +111,6 @@ class PropPatch
* Call this function if you wish to handle _all_ properties that haven't
* been handled by anything else yet. Note that you effectively claim with
* this that you promise to process _all_ properties that are coming in.
- *
- * @param callable $callback
*/
public function handleRemaining(callable $callback)
{
@@ -250,8 +247,7 @@ class PropPatch
/**
* Executes a property callback with the single-property syntax.
*
- * @param string $propertyName
- * @param callable $callback
+ * @param string $propertyName
*/
private function doCallBackSingleProp($propertyName, callable $callback)
{
@@ -281,9 +277,6 @@ class PropPatch
/**
* Executes a property callback with the multi-property syntax.
- *
- * @param array $propertyList
- * @param callable $callback
*/
private function doCallBackMultiProp(array $propertyList, callable $callback)
{
diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php
index 4bdc44775..64a8825cb 100644
--- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/BackendInterface.php
@@ -32,8 +32,7 @@ interface BackendInterface
* However, you can also support the 'allprops' property here. In that
* case, you should check for $propFind->isAllProps().
*
- * @param string $path
- * @param PropFind $propFind
+ * @param string $path
*/
public function propFind($path, PropFind $propFind);
@@ -46,8 +45,7 @@ interface BackendInterface
* Usually you would want to call 'handleRemaining' on this object, to get;
* a list of all properties that need to be stored.
*
- * @param string $path
- * @param PropPatch $propPatch
+ * @param string $path
*/
public function propPatch($path, PropPatch $propPatch);
diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php
index e640f420e..896033192 100644
--- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php
+++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php
@@ -53,8 +53,6 @@ class PDO implements BackendInterface
/**
* Creates the PDO property storage engine.
- *
- * @param \PDO $pdo
*/
public function __construct(\PDO $pdo)
{
@@ -74,8 +72,7 @@ class PDO implements BackendInterface
* However, you can also support the 'allprops' property here. In that
* case, you should check for $propFind->isAllProps().
*
- * @param string $path
- * @param PropFind $propFind
+ * @param string $path
*/
public function propFind($path, PropFind $propFind)
{
@@ -115,8 +112,7 @@ class PDO implements BackendInterface
* Usually you would want to call 'handleRemaining' on this object, to get;
* a list of all properties that need to be stored.
*
- * @param string $path
- * @param PropPatch $propPatch
+ * @param string $path
*/
public function propPatch($path, PropPatch $propPatch)
{
diff --git a/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php b/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php
index aa8610eb8..da47ec9a9 100644
--- a/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/PropertyStorage/Plugin.php
@@ -46,8 +46,6 @@ class Plugin extends ServerPlugin
/**
* Creates the plugin.
- *
- * @param Backend\BackendInterface $backend
*/
public function __construct(Backend\BackendInterface $backend)
{
@@ -61,8 +59,6 @@ class Plugin extends ServerPlugin
* addPlugin is called.
*
* This method should set up the required event subscriptions.
- *
- * @param Server $server
*/
public function initialize(Server $server)
{
@@ -77,9 +73,6 @@ class Plugin extends ServerPlugin
*
* If there's any requested properties that don't have a value yet, this
* plugin will look in the property storage backend to find them.
- *
- * @param PropFind $propFind
- * @param INode $node
*/
public function propFind(PropFind $propFind, INode $node)
{
@@ -97,8 +90,7 @@ class Plugin extends ServerPlugin
* If there's any updated properties that haven't been stored, the
* propertystorage backend can handle it.
*
- * @param string $path
- * @param PropPatch $propPatch
+ * @param string $path
*/
public function propPatch($path, PropPatch $propPatch)
{
diff --git a/vendor/sabre/dav/lib/DAV/Server.php b/vendor/sabre/dav/lib/DAV/Server.php
index 69b3bb3f2..3c237500a 100644
--- a/vendor/sabre/dav/lib/DAV/Server.php
+++ b/vendor/sabre/dav/lib/DAV/Server.php
@@ -393,8 +393,6 @@ class Server implements LoggerAwareInterface, EmitterInterface
* Adds a plugin to the server.
*
* For more information, console the documentation of Sabre\DAV\ServerPlugin
- *
- * @param ServerPlugin $plugin
*/
public function addPlugin(ServerPlugin $plugin)
{
@@ -447,9 +445,7 @@ class Server implements LoggerAwareInterface, EmitterInterface
/**
* Handles a http request, and execute a method based on its name.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- * @param bool $sendResponse whether to send the HTTP response to the DAV client
+ * @param bool $sendResponse whether to send the HTTP response to the DAV client
*/
public function invokeMethod(RequestInterface $request, ResponseInterface $response, $sendResponse = true)
{
@@ -708,8 +704,6 @@ class Server implements LoggerAwareInterface, EmitterInterface
* * destination - Destination path
* * destinationExists - Whether or not the destination is an existing url (and should therefore be overwritten)
*
- * @param RequestInterface $request
- *
* @throws Exception\BadRequest upon missing or broken request headers
* @throws Exception\UnsupportedMediaType when trying to copy into a
* non-collection
@@ -882,8 +876,7 @@ class Server implements LoggerAwareInterface, EmitterInterface
/**
* Small helper to support PROPFIND with DEPTH_INFINITY.
*
- * @param PropFind $propFind
- * @param array $yieldFirst
+ * @param array $yieldFirst
*
* @return \Traversable
*/
@@ -1014,9 +1007,6 @@ class Server implements LoggerAwareInterface, EmitterInterface
* The result is returned as an array, with paths for it's keys.
* The result may be returned out of order.
*
- * @param array $paths
- * @param array $propertyNames
- *
* @return array
*/
public function getPropertiesForMultiplePaths(array $paths, array $propertyNames = [])
@@ -1053,9 +1043,6 @@ class Server implements LoggerAwareInterface, EmitterInterface
* target node and simply want to run through the system to get a correct
* list of properties.
*
- * @param PropFind $propFind
- * @param INode $node
- *
* @return bool
*/
public function getPropertiesByNode(PropFind $propFind, INode $node)
@@ -1162,8 +1149,7 @@ class Server implements LoggerAwareInterface, EmitterInterface
/**
* Use this method to create a new collection.
*
- * @param string $uri The new uri
- * @param MkCol $mkCol
+ * @param string $uri The new uri
*
* @return array|null
*/
@@ -1260,7 +1246,6 @@ class Server implements LoggerAwareInterface, EmitterInterface
* as their values.
*
* @param string $path
- * @param array $properties
*
* @return array
*/
@@ -1291,9 +1276,6 @@ class Server implements LoggerAwareInterface, EmitterInterface
* related to If-None-Match, If-Match and If-Unmodified Since. It will
* set the status to 304 Not Modified for If-Modified_since.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function checkPreconditions(RequestInterface $request, ResponseInterface $response)
@@ -1564,8 +1546,6 @@ class Server implements LoggerAwareInterface, EmitterInterface
* ],
* ]
*
- * @param RequestInterface $request
- *
* @return array
*/
public function getIfConditions(RequestInterface $request)
@@ -1618,8 +1598,6 @@ class Server implements LoggerAwareInterface, EmitterInterface
/**
* Returns an array with resourcetypes for a node.
*
- * @param INode $node
- *
* @return array
*/
public function getResourceTypeForNode(INode $node)
@@ -1664,9 +1642,7 @@ class Server implements LoggerAwareInterface, EmitterInterface
}
/**
- * @param Writer $w
* @param $fileProperties
- * @param bool $strip404s
*/
private function writeMultiStatus(Writer $w, $fileProperties, bool $strip404s)
{
diff --git a/vendor/sabre/dav/lib/DAV/ServerPlugin.php b/vendor/sabre/dav/lib/DAV/ServerPlugin.php
index 9aefa7f72..70acb01eb 100644
--- a/vendor/sabre/dav/lib/DAV/ServerPlugin.php
+++ b/vendor/sabre/dav/lib/DAV/ServerPlugin.php
@@ -22,8 +22,6 @@ abstract class ServerPlugin
* addPlugin is called.
*
* This method should set up the required event subscriptions.
- *
- * @param Server $server
*/
abstract public function initialize(Server $server);
diff --git a/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php b/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php
index 5706fabf1..3a41e67b4 100644
--- a/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Sharing/Plugin.php
@@ -79,8 +79,6 @@ class Plugin extends ServerPlugin
* addPlugin is called.
*
* This method should set up the required event subscriptions.
- *
- * @param Server $server
*/
public function initialize(Server $server)
{
@@ -139,9 +137,6 @@ class Plugin extends ServerPlugin
* This event is triggered when properties are requested for nodes.
*
* This allows us to inject any sharings-specific properties.
- *
- * @param PropFind $propFind
- * @param INode $node
*/
public function propFind(PropFind $propFind, INode $node)
{
@@ -161,9 +156,6 @@ class Plugin extends ServerPlugin
/**
* We intercept this to handle POST requests on shared resources.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool|null
*/
public function httpPost(RequestInterface $request, ResponseInterface $response)
@@ -207,9 +199,6 @@ class Plugin extends ServerPlugin
* hat are supported on a particular node.
*
* We need to add a number of privileges for scheduling purposes.
- *
- * @param INode $node
- * @param array $supportedPrivilegeSet
*/
public function getSupportedPrivilegeSet(INode $node, array &$supportedPrivilegeSet)
{
@@ -245,7 +234,6 @@ class Plugin extends ServerPlugin
* This method is used to generate HTML output for the
* DAV\Browser\Plugin.
*
- * @param INode $node
* @param string $output
* @param string $path
*
diff --git a/vendor/sabre/dav/lib/DAV/SimpleCollection.php b/vendor/sabre/dav/lib/DAV/SimpleCollection.php
index 1fbb6982d..3cd14d9ba 100644
--- a/vendor/sabre/dav/lib/DAV/SimpleCollection.php
+++ b/vendor/sabre/dav/lib/DAV/SimpleCollection.php
@@ -58,8 +58,6 @@ class SimpleCollection extends Collection
/**
* Adds a new childnode to this collection.
- *
- * @param INode $child
*/
public function addChild(INode $child)
{
diff --git a/vendor/sabre/dav/lib/DAV/Sync/Plugin.php b/vendor/sabre/dav/lib/DAV/Sync/Plugin.php
index f76827fe3..32106abb3 100644
--- a/vendor/sabre/dav/lib/DAV/Sync/Plugin.php
+++ b/vendor/sabre/dav/lib/DAV/Sync/Plugin.php
@@ -48,8 +48,6 @@ class Plugin extends DAV\ServerPlugin
* Initializes the plugin.
*
* This is when the plugin registers it's hooks.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -97,8 +95,7 @@ class Plugin extends DAV\ServerPlugin
/**
* This method handles the {DAV:}sync-collection HTTP REPORT.
*
- * @param string $uri
- * @param SyncCollectionReport $report
+ * @param string $uri
*/
public function syncCollection($uri, SyncCollectionReport $report)
{
@@ -143,10 +140,6 @@ class Plugin extends DAV\ServerPlugin
*
* @param string $syncToken
* @param string $collectionUrl
- * @param array $added
- * @param array $modified
- * @param array $deleted
- * @param array $properties
*/
protected function sendSyncCollectionResponse($syncToken, $collectionUrl, array $added, array $modified, array $deleted, array $properties)
{
@@ -183,9 +176,6 @@ class Plugin extends DAV\ServerPlugin
/**
* This method is triggered whenever properties are requested for a node.
* We intercept this to see if we must return a {DAV:}sync-token.
- *
- * @param DAV\PropFind $propFind
- * @param DAV\INode $node
*/
public function propFind(DAV\PropFind $propFind, DAV\INode $node)
{
@@ -204,8 +194,7 @@ class Plugin extends DAV\ServerPlugin
* It's a moment where this plugin can check all the supplied lock tokens
* in the If: header, and check if they are valid.
*
- * @param RequestInterface $request
- * @param array $conditions
+ * @param array $conditions
*/
public function validateTokens(RequestInterface $request, &$conditions)
{
diff --git a/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php b/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php
index 6cf772f44..9f8ec5b54 100644
--- a/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php
+++ b/vendor/sabre/dav/lib/DAV/TemporaryFileFilterPlugin.php
@@ -90,8 +90,6 @@ class TemporaryFileFilterPlugin extends ServerPlugin
*
* This is called automatically be the Server class after this plugin is
* added with Sabre\DAV\Server::addPlugin()
- *
- * @param Server $server
*/
public function initialize(Server $server)
{
@@ -106,9 +104,6 @@ class TemporaryFileFilterPlugin extends ServerPlugin
* This method intercepts any GET, DELETE, PUT and PROPFIND calls to
* filenames that are known to match the 'temporary file' regex.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function beforeMethod(RequestInterface $request, ResponseInterface $response)
@@ -137,11 +132,10 @@ class TemporaryFileFilterPlugin extends ServerPlugin
* This is used to deal with HTTP LOCK requests which create a new
* file.
*
- * @param string $uri
- * @param resource $data
- * @param ICollection $parent
- * @param bool $modified should be set to true, if this event handler
- * changed &$data
+ * @param string $uri
+ * @param resource $data
+ * @param bool $modified should be set to true, if this event handler
+ * changed &$data
*
* @return bool
*/
@@ -190,9 +184,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin
* If the file doesn't exist, it will return false which will kick in
* the regular system for the GET method.
*
- * @param RequestInterface $request
- * @param ResponseInterface $hR
- * @param string $tempLocation
+ * @param string $tempLocation
*
* @return bool
*/
@@ -214,9 +206,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin
/**
* This method handles the PUT method.
*
- * @param RequestInterface $request
- * @param ResponseInterface $hR
- * @param string $tempLocation
+ * @param string $tempLocation
*
* @return bool
*/
@@ -242,9 +232,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin
* If the file didn't exist, it will return false, which will make the
* standard HTTP DELETE handler kick in.
*
- * @param RequestInterface $request
- * @param ResponseInterface $hR
- * @param string $tempLocation
+ * @param string $tempLocation
*
* @return bool
*/
@@ -268,9 +256,7 @@ class TemporaryFileFilterPlugin extends ServerPlugin
* for which properties were requested, and just sends back a default
* set of properties.
*
- * @param RequestInterface $request
- * @param ResponseInterface $hR
- * @param string $tempLocation
+ * @param string $tempLocation
*
* @return bool
*/
diff --git a/vendor/sabre/dav/lib/DAV/Tree.php b/vendor/sabre/dav/lib/DAV/Tree.php
index 7a5a25f87..72e14d522 100644
--- a/vendor/sabre/dav/lib/DAV/Tree.php
+++ b/vendor/sabre/dav/lib/DAV/Tree.php
@@ -37,8 +37,6 @@ class Tree
* Creates the object.
*
* This method expects the rootObject to be passed as a parameter
- *
- * @param ICollection $rootNode
*/
public function __construct(ICollection $rootNode)
{
@@ -288,9 +286,7 @@ class Tree
/**
* copyNode.
*
- * @param INode $source
- * @param ICollection $destinationParent
- * @param string $destinationName
+ * @param string $destinationName
*/
protected function copyNode(INode $source, ICollection $destinationParent, $destinationName = null)
{
diff --git a/vendor/sabre/dav/lib/DAV/Version.php b/vendor/sabre/dav/lib/DAV/Version.php
index bb48768a9..d2c4afb56 100644
--- a/vendor/sabre/dav/lib/DAV/Version.php
+++ b/vendor/sabre/dav/lib/DAV/Version.php
@@ -16,5 +16,5 @@ class Version
/**
* Full version number.
*/
- const VERSION = '4.0.3';
+ public const VERSION = '4.1.0';
}
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php
index 52a04cf08..9c214792f 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Prop.php
@@ -39,8 +39,6 @@ class Prop implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
@@ -79,8 +77,6 @@ class Prop implements XmlDeserializable
* * name - A clark-notation XML element name.
* * value - The parsed value.
*
- * @param Reader $reader
- *
* @return array
*/
private static function parseCurrentElement(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php
index a11091809..45c161fa4 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Response.php
@@ -59,7 +59,6 @@ class Response implements Element
* deleted.
*
* @param string $href
- * @param array $responseProperties
* @param string $httpStatus
*/
public function __construct($href, array $responseProperties, $httpStatus = null)
@@ -110,8 +109,6 @@ class Response implements Element
*
* Important note 2: If you are writing any new elements, you are also
* responsible for closing them.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -167,8 +164,6 @@ class Response implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php b/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php
index e0db3bf37..33564d8f2 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Element/Sharee.php
@@ -84,8 +84,6 @@ class Sharee implements Element
* Creates the object.
*
* $properties will be used to populate all internal properties.
- *
- * @param array $properties
*/
public function __construct(array $properties = [])
{
@@ -113,8 +111,6 @@ class Sharee implements Element
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -157,8 +153,6 @@ class Sharee implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php
index 990302054..787d30d95 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Complex.php
@@ -37,8 +37,6 @@ class Complex extends XmlFragment
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php b/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php
index 05a00c5e5..c6f6d421c 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/GetLastModified.php
@@ -68,8 +68,6 @@ class GetLastModified implements Element
*
* Important note 2: If you are writing any new elements, you are also
* responsible for closing them.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -96,8 +94,6 @@ class GetLastModified implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php
index c479c1602..0ed14dcf3 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Href.php
@@ -87,8 +87,6 @@ class Href implements Element, HtmlOutput
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -109,8 +107,6 @@ class Href implements Element, HtmlOutput
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html)
@@ -141,8 +137,6 @@ class Href implements Element, HtmlOutput
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php b/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php
index b5e2dae46..e3f0a611b 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/Invite.php
@@ -56,8 +56,6 @@ class Invite implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php b/vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php
index c33812b3e..ec4cbc0c6 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/LockDiscovery.php
@@ -62,8 +62,6 @@ class LockDiscovery implements XmlSerializable
*
* Important note 2: If you are writing any new elements, you are also
* responsible for closing them.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php b/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php
index ce07d4382..6532b70c9 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/ResourceType.php
@@ -90,8 +90,6 @@ class ResourceType extends Element\Elements implements HtmlOutput
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
@@ -111,8 +109,6 @@ class ResourceType extends Element\Elements implements HtmlOutput
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php b/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php
index 95175053a..fdd55558c 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/ShareAccess.php
@@ -71,8 +71,6 @@ class ShareAccess implements Element
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -113,8 +111,6 @@ class ShareAccess implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php
index 26e7d646e..100829c60 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedLock.php
@@ -37,8 +37,6 @@ class SupportedLock implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php
index 06ab28c94..634401093 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedMethodSet.php
@@ -81,8 +81,6 @@ class SupportedMethodSet implements XmlSerializable, HtmlOutput
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -104,8 +102,6 @@ class SupportedMethodSet implements XmlSerializable, HtmlOutput
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php
index 4c25d23d9..0b4990e96 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Property/SupportedReportSet.php
@@ -109,8 +109,6 @@ class SupportedReportSet implements XmlSerializable, HtmlOutput
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -134,8 +132,6 @@ class SupportedReportSet implements XmlSerializable, HtmlOutput
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php b/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php
index 8d9348162..57d12ef93 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/Lock.php
@@ -56,8 +56,6 @@ class Lock implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php b/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php
index 7713646ea..e0d7e90a2 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/MkCol.php
@@ -56,8 +56,6 @@ class MkCol implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php b/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php
index b4cce423e..505e7c79c 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/PropFind.php
@@ -53,8 +53,6 @@ class PropFind implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php b/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php
index 55e154ec7..4a2709502 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/PropPatch.php
@@ -45,8 +45,6 @@ class PropPatch implements Element
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -81,8 +79,6 @@ class PropPatch implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php
index e1985b8c3..79d7dc826 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/ShareResource.php
@@ -56,8 +56,6 @@ class ShareResource implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php b/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php
index acf0039ce..8dd95765b 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Request/SyncCollectionReport.php
@@ -68,8 +68,6 @@ class SyncCollectionReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php b/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php
index 423d0b569..e824cda42 100644
--- a/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php
+++ b/vendor/sabre/dav/lib/DAV/Xml/Response/MultiStatus.php
@@ -80,8 +80,6 @@ class MultiStatus implements Element
*
* Important note 2: If you are writing any new elements, you are also
* responsible for closing them.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -111,8 +109,6 @@ class MultiStatus implements Element
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAVACL/ACLTrait.php b/vendor/sabre/dav/lib/DAVACL/ACLTrait.php
index d9bf4e1e0..98c1ce338 100644
--- a/vendor/sabre/dav/lib/DAVACL/ACLTrait.php
+++ b/vendor/sabre/dav/lib/DAVACL/ACLTrait.php
@@ -69,8 +69,6 @@ trait ACLTrait
* Updates the ACL.
*
* This method will receive a list of new ACE's as an array argument.
- *
- * @param array $acl
*/
public function setACL(array $acl)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php
index 1160dd7ac..d26f7d27b 100644
--- a/vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php
+++ b/vendor/sabre/dav/lib/DAVACL/AbstractPrincipalCollection.php
@@ -51,9 +51,7 @@ abstract class AbstractPrincipalCollection extends DAV\Collection implements IPr
* default is 'principals', if your principals are stored in a different
* collection, override $principalPrefix
*
- *
- * @param PrincipalBackend\BackendInterface $principalBackend
- * @param string $principalPrefix
+ * @param string $principalPrefix
*/
public function __construct(PrincipalBackend\BackendInterface $principalBackend, $principalPrefix = 'principals')
{
@@ -68,8 +66,6 @@ abstract class AbstractPrincipalCollection extends DAV\Collection implements IPr
* at least contain a uri item. Other properties may or may not be
* supplied by the authentication backend.
*
- * @param array $principalInfo
- *
* @return DAV\INode
*/
abstract public function getChildForPrincipal(array $principalInfo);
@@ -142,7 +138,6 @@ abstract class AbstractPrincipalCollection extends DAV\Collection implements IPr
* This method should simply return a list of 'child names', which may be
* used to call $this->getChild in the future.
*
- * @param array $searchProperties
* @param string $test
*
* @return array
diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php b/vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php
index 7756d4728..0fc3f778d 100644
--- a/vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php
+++ b/vendor/sabre/dav/lib/DAVACL/Exception/AceConflict.php
@@ -20,9 +20,6 @@ class AceConflict extends DAV\Exception\Conflict
* Adds in extra information in the xml response.
*
* This method adds the {DAV:}no-ace-conflict element as defined in rfc3744
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php b/vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php
index 19e0dac9d..af1f01c2b 100644
--- a/vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php
+++ b/vendor/sabre/dav/lib/DAVACL/Exception/NeedPrivileges.php
@@ -36,7 +36,6 @@ class NeedPrivileges extends DAV\Exception\Forbidden
* Constructor.
*
* @param string $uri
- * @param array $privileges
*/
public function __construct($uri, array $privileges)
{
@@ -50,9 +49,6 @@ class NeedPrivileges extends DAV\Exception\Forbidden
* Adds in extra information in the xml response.
*
* This method adds the {DAV:}need-privileges element as defined in rfc3744
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php b/vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php
index d90b01ffd..b9c66169e 100644
--- a/vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php
+++ b/vendor/sabre/dav/lib/DAVACL/Exception/NoAbstract.php
@@ -20,9 +20,6 @@ class NoAbstract extends DAV\Exception\PreconditionFailed
* Adds in extra information in the xml response.
*
* This method adds the {DAV:}no-abstract element as defined in rfc3744
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php b/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php
index b005c55d8..d4e728497 100644
--- a/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php
+++ b/vendor/sabre/dav/lib/DAVACL/Exception/NotRecognizedPrincipal.php
@@ -20,9 +20,6 @@ class NotRecognizedPrincipal extends DAV\Exception\PreconditionFailed
* Adds in extra information in the xml response.
*
* This method adds the {DAV:}recognized-principal element as defined in rfc3744
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php b/vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php
index dda2e6281..c04c5faa2 100644
--- a/vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php
+++ b/vendor/sabre/dav/lib/DAVACL/Exception/NotSupportedPrivilege.php
@@ -20,9 +20,6 @@ class NotSupportedPrivilege extends DAV\Exception\PreconditionFailed
* Adds in extra information in the xml response.
*
* This method adds the {DAV:}not-supported-privilege element as defined in rfc3744
- *
- * @param DAV\Server $server
- * @param \DOMElement $errorNode
*/
public function serialize(DAV\Server $server, \DOMElement $errorNode)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php b/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php
index c896d8e25..fa476e094 100644
--- a/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php
+++ b/vendor/sabre/dav/lib/DAVACL/FS/HomeCollection.php
@@ -42,9 +42,8 @@ class HomeCollection extends AbstractPrincipalCollection implements IACL
/**
* Creates the home collection.
*
- * @param BackendInterface $principalBackend
- * @param string $storagePath where the actual files are stored
- * @param string $principalPrefix list of principals to iterate
+ * @param string $storagePath where the actual files are stored
+ * @param string $principalPrefix list of principals to iterate
*/
public function __construct(BackendInterface $principalBackend, $storagePath, $principalPrefix = 'principals')
{
@@ -71,8 +70,6 @@ class HomeCollection extends AbstractPrincipalCollection implements IACL
* at least contain a uri item. Other properties may or may not be
* supplied by the authentication backend.
*
- * @param array $principalInfo
- *
* @return \Sabre\DAV\INode
*/
public function getChildForPrincipal(array $principalInfo)
diff --git a/vendor/sabre/dav/lib/DAVACL/IACL.php b/vendor/sabre/dav/lib/DAVACL/IACL.php
index d19a075be..291fb24ae 100644
--- a/vendor/sabre/dav/lib/DAVACL/IACL.php
+++ b/vendor/sabre/dav/lib/DAVACL/IACL.php
@@ -53,8 +53,6 @@ interface IACL extends DAV\INode
* Updates the ACL.
*
* This method will receive a list of new ACE's as an array argument.
- *
- * @param array $acl
*/
public function setACL(array $acl);
diff --git a/vendor/sabre/dav/lib/DAVACL/IPrincipal.php b/vendor/sabre/dav/lib/DAVACL/IPrincipal.php
index c804096de..43e23d0a7 100644
--- a/vendor/sabre/dav/lib/DAVACL/IPrincipal.php
+++ b/vendor/sabre/dav/lib/DAVACL/IPrincipal.php
@@ -60,8 +60,6 @@ interface IPrincipal extends DAV\INode
* The list of members is always overwritten, never appended to.
*
* This method should throw an exception if the members could not be set.
- *
- * @param array $principals
*/
public function setGroupMemberSet(array $principals);
diff --git a/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php
index 1003730d6..7a3009be5 100644
--- a/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php
+++ b/vendor/sabre/dav/lib/DAVACL/IPrincipalCollection.php
@@ -37,7 +37,6 @@ interface IPrincipalCollection extends DAV\ICollection
* This method should simply return a list of 'child names', which may be
* used to call $this->getChild in the future.
*
- * @param array $searchProperties
* @param string $test
*
* @return array
diff --git a/vendor/sabre/dav/lib/DAVACL/Plugin.php b/vendor/sabre/dav/lib/DAVACL/Plugin.php
index b9407472e..6f071927d 100644
--- a/vendor/sabre/dav/lib/DAVACL/Plugin.php
+++ b/vendor/sabre/dav/lib/DAVACL/Plugin.php
@@ -269,8 +269,6 @@ class Plugin extends DAV\ServerPlugin
* Sets the default ACL rules.
*
* These rules are used for all nodes that don't implement the IACL interface.
- *
- * @param array $acl
*/
public function setDefaultAcl(array $acl)
{
@@ -763,8 +761,6 @@ class Plugin extends DAV\ServerPlugin
* Sets up the plugin.
*
* This method is automatically called by the server class.
- *
- * @param DAV\Server $server
*/
public function initialize(DAV\Server $server)
{
@@ -829,9 +825,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Triggered before any method is handled.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function beforeMethod(RequestInterface $request, ResponseInterface $response)
{
@@ -923,8 +916,7 @@ class Plugin extends DAV\ServerPlugin
/**
* Triggered before a node is unlocked.
*
- * @param string $uri
- * @param DAV\Locks\LockInfo $lock
+ * @param string $uri
* @TODO: not yet implemented
*/
public function beforeUnlock($uri, DAV\Locks\LockInfo $lock)
@@ -934,8 +926,6 @@ class Plugin extends DAV\ServerPlugin
/**
* Triggered before properties are looked up in specific nodes.
*
- * @param DAV\PropFind $propFind
- * @param DAV\INode $node
* @TODO really should be broken into multiple methods, or even a class.
*
* @return bool
@@ -1044,8 +1034,7 @@ class Plugin extends DAV\ServerPlugin
* This method intercepts PROPPATCH methods and make sure the
* group-member-set is updated correctly.
*
- * @param string $path
- * @param DAV\PropPatch $propPatch
+ * @param string $path
*/
public function propPatch($path, DAV\PropPatch $propPatch)
{
@@ -1118,9 +1107,6 @@ class Plugin extends DAV\ServerPlugin
/**
* This method is responsible for handling the 'ACL' event.
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return bool
*/
public function httpAcl(RequestInterface $request, ResponseInterface $response)
@@ -1211,8 +1197,7 @@ class Plugin extends DAV\ServerPlugin
* or a principal URL, the principal URL and principal URLs of groups that
* principal belongs to.
*
- * @param string $path
- * @param Xml\Request\PrincipalMatchReport $report
+ * @param string $path
*/
protected function principalMatchReport($path, Xml\Request\PrincipalMatchReport $report)
{
@@ -1434,8 +1419,7 @@ class Plugin extends DAV\ServerPlugin
* clients to search for groups of principals, based on the value of one
* or more properties.
*
- * @param string $path
- * @param Xml\Request\PrincipalPropertySearchReport $report
+ * @param string $path
*/
protected function principalPropertySearchReport($path, Xml\Request\PrincipalPropertySearchReport $report)
{
@@ -1473,8 +1457,7 @@ class Plugin extends DAV\ServerPlugin
* is used to for example generate a UI with ACL rules, allowing you
* to show names for principals for every entry.
*
- * @param string $path
- * @param Xml\Request\AclPrincipalPropSetReport $report
+ * @param string $path
*/
protected function aclPrincipalPropSetReport($path, Xml\Request\AclPrincipalPropSetReport $report)
{
@@ -1520,8 +1503,7 @@ class Plugin extends DAV\ServerPlugin
* DAV\Browser\Plugin. This allows us to generate an interface users
* can use to create new calendars.
*
- * @param DAV\INode $node
- * @param string $output
+ * @param string $output
*
* @return bool
*/
diff --git a/vendor/sabre/dav/lib/DAVACL/Principal.php b/vendor/sabre/dav/lib/DAVACL/Principal.php
index e2df1c35e..ada38ab72 100644
--- a/vendor/sabre/dav/lib/DAVACL/Principal.php
+++ b/vendor/sabre/dav/lib/DAVACL/Principal.php
@@ -42,9 +42,6 @@ class Principal extends DAV\Node implements IPrincipal, DAV\IProperties, IACL
/**
* Creates the principal object.
- *
- * @param PrincipalBackend\BackendInterface $principalBackend
- * @param array $principalProperties
*/
public function __construct(PrincipalBackend\BackendInterface $principalBackend, array $principalProperties = [])
{
@@ -119,8 +116,6 @@ class Principal extends DAV\Node implements IPrincipal, DAV\IProperties, IACL
* The list of members is always overwritten, never appended to.
*
* This method should throw an exception if the members could not be set.
- *
- * @param array $groupMembers
*/
public function setGroupMemberSet(array $groupMembers)
{
@@ -181,8 +176,6 @@ class Principal extends DAV\Node implements IPrincipal, DAV\IProperties, IACL
*
* To update specific properties, call the 'handle' method on this object.
* Read the PropPatch documentation for more information.
- *
- * @param DAV\PropPatch $propPatch
*/
public function propPatch(DAV\PropPatch $propPatch)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php
index 40ac272b5..72717a59b 100644
--- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php
+++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/BackendInterface.php
@@ -59,8 +59,7 @@ interface BackendInterface
*
* Read the PropPatch documentation for more info and examples.
*
- * @param string $path
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param string $path
*/
public function updatePrincipal($path, \Sabre\DAV\PropPatch $propPatch);
@@ -89,7 +88,6 @@ interface BackendInterface
* from working.
*
* @param string $prefixPath
- * @param array $searchProperties
* @param string $test
*
* @return array
@@ -140,7 +138,6 @@ interface BackendInterface
* The principals should be passed as a list of uri's.
*
* @param string $principal
- * @param array $members
*/
public function setGroupMemberSet($principal, array $members);
}
diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php
index ee418e49b..7de369289 100644
--- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php
+++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/CreatePrincipalSupport.php
@@ -24,7 +24,6 @@ interface CreatePrincipalSupport extends BackendInterface
* of the principal.
*
* @param string $path
- * @param MkCol $mkCol
*/
public function createPrincipal($path, MkCol $mkCol);
}
diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php
index 160d41447..17bc245c5 100644
--- a/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php
+++ b/vendor/sabre/dav/lib/DAVACL/PrincipalBackend/PDO.php
@@ -11,7 +11,6 @@ use Sabre\Uri;
/**
* PDO principal backend.
*
- *
* This backend assumes all principals are in a single collection. The default collection
* is 'principals/', but this can be overridden.
*
@@ -65,8 +64,6 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport
/**
* Sets up the backend.
- *
- * @param \PDO $pdo
*/
public function __construct(\PDO $pdo)
{
@@ -176,8 +173,7 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport
*
* Read the PropPatch documentation for more info and examples.
*
- * @param string $path
- * @param DAV\PropPatch $propPatch
+ * @param string $path
*/
public function updatePrincipal($path, DAV\PropPatch $propPatch)
{
@@ -233,7 +229,6 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport
* from working.
*
* @param string $prefixPath
- * @param array $searchProperties
* @param string $test
*
* @return array
@@ -400,7 +395,6 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport
* The principals should be passed as a list of uri's.
*
* @param string $principal
- * @param array $members
*/
public function setGroupMemberSet($principal, array $members)
{
@@ -439,7 +433,6 @@ class PDO extends AbstractBackend implements CreatePrincipalSupport
* of the principal.
*
* @param string $path
- * @param MkCol $mkCol
*/
public function createPrincipal($path, MkCol $mkCol)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php b/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php
index 4fae96e0c..b823b6ceb 100644
--- a/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php
+++ b/vendor/sabre/dav/lib/DAVACL/PrincipalCollection.php
@@ -29,8 +29,6 @@ class PrincipalCollection extends AbstractPrincipalCollection implements IExtend
* at least contain a uri item. Other properties may or may not be
* supplied by the authentication backend.
*
- * @param array $principal
- *
* @return \Sabre\DAV\INode
*/
public function getChildForPrincipal(array $principal)
@@ -58,7 +56,6 @@ class PrincipalCollection extends AbstractPrincipalCollection implements IExtend
* property for you.
*
* @param string $name
- * @param MkCol $mkCol
*
* @throws InvalidResourceType
*/
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php
index 372f62ab3..c6e236dc5 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Acl.php
@@ -58,8 +58,7 @@ class Acl implements Element, HtmlOutput
* are already full urls. If this is kept to true, the servers base url
* will automatically be prefixed.
*
- * @param array $privileges
- * @param bool $prefixBaseUrl
+ * @param bool $prefixBaseUrl
*/
public function __construct(array $privileges, $prefixBaseUrl = true)
{
@@ -92,8 +91,6 @@ class Acl implements Element, HtmlOutput
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -113,8 +110,6 @@ class Acl implements Element, HtmlOutput
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html)
@@ -161,8 +156,6 @@ class Acl implements Element, HtmlOutput
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
@@ -226,9 +219,6 @@ class Acl implements Element, HtmlOutput
/**
* Serializes a single access control entry.
- *
- * @param Writer $writer
- * @param array $ace
*/
private function serializeAce(Writer $writer, array $ace)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php
index 0bf16b431..b5629c809 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/AclRestrictions.php
@@ -33,8 +33,6 @@ class AclRestrictions implements XmlSerializable
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php
index 083856330..e38a45c61 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/CurrentUserPrivilegeSet.php
@@ -33,8 +33,6 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput
* Creates the object.
*
* Pass the privileges in clark-notation
- *
- * @param array $privileges
*/
public function __construct(array $privileges)
{
@@ -56,8 +54,6 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -109,8 +105,6 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
@@ -139,8 +133,6 @@ class CurrentUserPrivilegeSet implements Element, HtmlOutput
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html)
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php
index e304a2aed..24aeffad9 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/Principal.php
@@ -98,8 +98,6 @@ class Principal extends DAV\Xml\Property\Href
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -130,8 +128,6 @@ class Principal extends DAV\Xml\Property\Href
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html)
@@ -166,8 +162,6 @@ class Principal extends DAV\Xml\Property\Href
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php b/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php
index 1762391d9..6e7514bd9 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Property/SupportedPrivilegeSet.php
@@ -34,8 +34,6 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput
/**
* Constructor.
- *
- * @param array $privileges
*/
public function __construct(array $privileges)
{
@@ -67,8 +65,6 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput
* This allows serializers to be re-used for different element names.
*
* If you are opening new elements, you must also close them again.
- *
- * @param Writer $writer
*/
public function xmlSerialize(Writer $writer)
{
@@ -86,8 +82,6 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput
* The baseUri parameter is a url to the root of the application, and can
* be used to construct local links.
*
- * @param HtmlOutputHelper $html
- *
* @return string
*/
public function toHtml(HtmlOutputHelper $html)
@@ -124,7 +118,6 @@ class SupportedPrivilegeSet implements XmlSerializable, HtmlOutput
*
* This is a recursive function.
*
- * @param Writer $writer
* @param string $privName
* @param array $privilege
*/
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php
index 17b37afab..4fc61273a 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/AclPrincipalPropSetReport.php
@@ -41,8 +41,6 @@ class AclPrincipalPropSetReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php
index 393308cd2..70a7e2200 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/ExpandPropertyReport.php
@@ -52,8 +52,6 @@ class ExpandPropertyReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php
index f868cc9df..b49582450 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalMatchReport.php
@@ -72,8 +72,6 @@ class PrincipalMatchReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php
index 26468fd21..bddceca8d 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalPropertySearchReport.php
@@ -73,8 +73,6 @@ class PrincipalPropertySearchReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php
index 37bc2cfbf..7f15d8a4e 100644
--- a/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php
+++ b/vendor/sabre/dav/lib/DAVACL/Xml/Request/PrincipalSearchPropertySetReport.php
@@ -40,8 +40,6 @@ class PrincipalSearchPropertySetReport implements XmlDeserializable
* $reader->parseInnerTree() will parse the entire sub-tree, and advance to
* the next element.
*
- * @param Reader $reader
- *
* @return mixed
*/
public static function xmlDeserialize(Reader $reader)
diff --git a/vendor/sabre/dav/phpstan.neon b/vendor/sabre/dav/phpstan.neon
index e50c5be6e..5335bc651 100644
--- a/vendor/sabre/dav/phpstan.neon
+++ b/vendor/sabre/dav/phpstan.neon
@@ -1,3 +1,2 @@
parameters:
level: 0
- bootstrap: %currentWorkingDirectory%/vendor/autoload.php
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php
index d2df483cd..9460b8922 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/AbstractPDOTest.php
@@ -15,7 +15,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
protected $pdo;
- public function setUp()
+ public function setup(): void
{
$this->dropTables([
'calendarobjects',
@@ -67,7 +67,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
'share-access' => \Sabre\DAV\Sharing\Plugin::ACCESS_SHAREDOWNER,
];
- $this->assertInternalType('array', $calendars);
+ $this->assertIsArray($calendars);
$this->assertEquals(1, count($calendars));
foreach ($elementCheck as $name => $value) {
@@ -112,7 +112,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
'{urn:ietf:params:xml:ns:caldav}schedule-calendar-transp' => new CalDAV\Xml\Property\ScheduleCalendarTransp('transparent'),
];
- $this->assertInternalType('array', $calendars);
+ $this->assertIsArray($calendars);
$this->assertEquals(1, count($calendars));
foreach ($elementCheck as $name => $value) {
@@ -123,10 +123,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testConstruct
- * @expectedException \InvalidArgumentException
*/
public function testUpdateCalendarBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
//Creating a new calendar
@@ -186,10 +186,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testCreateCalendarAndFetch
- * @expectedException \InvalidArgumentException
*/
public function testDeleteCalendarBadID()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
$returnedId = $backend->createCalendar('principals/user2', 'somerandomid', [
'{urn:ietf:params:xml:ns:caldav}supported-calendar-component-set' => new CalDAV\Xml\Property\SupportedCalendarComponentSet(['VEVENT']),
@@ -201,10 +201,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testCreateCalendarAndFetch
- * @expectedException \Sabre\DAV\Exception
*/
public function testCreateCalendarIncorrectComponentSet()
{
+ $this->expectException('Sabre\DAV\Exception');
$backend = new PDO($this->pdo);
//Creating a new calendar
@@ -276,7 +276,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
switch ($key) {
case 'lastmodified':
- $this->assertInternalType('int', $actual);
+ $this->assertIsInt($actual);
break;
case 'calendardata':
if (is_resource($actual)) {
@@ -292,20 +292,20 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testGetMultipleObjects
- * @expectedException \InvalidArgumentException
*/
public function testGetMultipleObjectsBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
$backend->getMultipleCalendarObjects('bad-id', ['foo-bar']);
}
/**
- * @expectedException \Sabre\DAV\Exception\BadRequest
* @depends testCreateCalendarObject
*/
public function testCreateCalendarObjectNoComponent()
{
+ $this->expectException('Sabre\DAV\Exception\BadRequest');
$backend = new PDO($this->pdo);
$returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []);
@@ -345,10 +345,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testCreateCalendarObject
- * @expectedException \InvalidArgumentException
*/
public function testCreateCalendarObjectBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
$returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []);
@@ -519,20 +519,20 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testGetCalendarObjects
- * @expectedException \InvalidArgumentException
*/
public function testGetCalendarObjectsBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
$backend->getCalendarObjects('bad-id');
}
/**
* @depends testGetCalendarObjects
- * @expectedException \InvalidArgumentException
*/
public function testGetCalendarObjectBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
$backend->getCalendarObject('bad-id', 'foo-bar');
}
@@ -582,10 +582,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testUpdateCalendarObject
- * @expectedException \InvalidArgumentException
*/
public function testUpdateCalendarObjectBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
$backend->updateCalendarObject('bad-id', 'object-id', 'objectdata');
}
@@ -608,10 +608,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testDeleteCalendarObject
- * @expectedException \InvalidArgumentException
*/
public function testDeleteCalendarObjectBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
$returnedId = $backend->createCalendar('principals/user2', 'somerandomid', []);
@@ -644,11 +644,11 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
}
/**
- * @expectedException \InvalidArgumentException
* @depends testCalendarQueryNoResult
*/
public function testCalendarQueryBadId()
{
+ $this->expectException('InvalidArgumentException');
$abstract = new PDO($this->pdo);
$filters = [
'name' => 'VCALENDAR',
@@ -859,10 +859,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testGetChanges
- * @expectedException \InvalidArgumentException
*/
public function testGetChangesBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
$id = $backend->createCalendar(
'principals/user1',
@@ -903,11 +903,9 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
}
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testCreateSubscriptionFail()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$props = [
];
@@ -1109,10 +1107,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testGetInvites
- * @expectedException \InvalidArgumentException
*/
public function testGetInvitesBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
// creating a new calendar
@@ -1259,10 +1257,10 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
/**
* @depends testUpdateInvites
- * @expectedException \InvalidArgumentException
*/
public function testUpdateInvitesBadId()
{
+ $this->expectException('InvalidArgumentException');
$backend = new PDO($this->pdo);
// Add a new invite
$backend->updateInvites(
@@ -1316,7 +1314,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
],
]),
];
- $this->assertEquals($expected, $result, null, 0.0, 10, true); // Last argument is $canonicalize = true, which allows us to compare, ignoring the order, because it's different between MySQL and Sqlite.
+ $this->assertEqualsCanonicalizing($expected, $result);
}
/**
@@ -1390,11 +1388,9 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
$this->assertEquals($expected, $result);
}
- /**
- * @expectedException \Sabre\DAV\Exception\NotImplemented
- */
public function testSetPublishStatus()
{
+ $this->expectException('Sabre\DAV\Exception\NotImplemented');
$backend = new PDO($this->pdo);
$backend->setPublishStatus([1, 1], true);
}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php
index 9f18eeb72..01ac1b39e 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Backend/Mock.php
@@ -65,7 +65,6 @@ class Mock extends AbstractBackend
*
* @param string $principalUri
* @param string $calendarUri
- * @param array $properties
*
* @return string|int
*/
@@ -94,8 +93,7 @@ class Mock extends AbstractBackend
*
* Read the PropPatch documentation for more info and examples.
*
- * @param mixed $calendarId
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param mixed $calendarId
*/
public function updateCalendar($calendarId, \Sabre\DAV\PropPatch $propPatch)
{
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php
index d6073514f..b7eb4539e 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarObjectTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
namespace Sabre\CalDAV;
-require_once 'Sabre/CalDAV/TestUtil.php';
-
class CalendarObjectTest extends \PHPUnit\Framework\TestCase
{
/**
@@ -18,7 +16,7 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase
protected $calendar;
protected $principalBackend;
- public function setup()
+ public function setup(): void
{
$this->backend = TestUtil::getBackend();
@@ -27,7 +25,7 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase
$this->calendar = new Calendar($this->backend, $calendars[0]);
}
- public function teardown()
+ public function teardown(): void
{
unset($this->calendar);
unset($this->backend);
@@ -38,17 +36,15 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase
$children = $this->calendar->getChildren();
$this->assertTrue($children[0] instanceof CalendarObject);
- $this->assertInternalType('string', $children[0]->getName());
- $this->assertInternalType('string', $children[0]->get());
- $this->assertInternalType('string', $children[0]->getETag());
+ $this->assertIsString($children[0]->getName());
+ $this->assertIsString($children[0]->get());
+ $this->assertIsString($children[0]->getETag());
$this->assertEquals('text/calendar; charset=utf-8', $children[0]->getContentType());
}
- /**
- * @expectedException \InvalidArgumentException
- */
public function testInvalidArg1()
{
+ $this->expectException('InvalidArgumentException');
$obj = new CalendarObject(
new Backend\Mock([], []),
[],
@@ -56,11 +52,9 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase
);
}
- /**
- * @expectedException \InvalidArgumentException
- */
public function testInvalidArg2()
{
+ $this->expectException('InvalidArgumentException');
$obj = new CalendarObject(
new Backend\Mock([], []),
[],
@@ -137,7 +131,7 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase
$obj = $children[0];
$size = $obj->getSize();
- $this->assertInternalType('int', $size);
+ $this->assertIsInt($size);
}
public function testGetOwner()
@@ -219,11 +213,9 @@ class CalendarObjectTest extends \PHPUnit\Framework\TestCase
$this->assertEquals($expected, $calendarObject->getACL());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetACL()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$children = $this->calendar->getChildren();
$this->assertTrue($children[0] instanceof CalendarObject);
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php
index 7d6414a80..18c3ec126 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/CalendarTest.php
@@ -6,8 +6,6 @@ namespace Sabre\CalDAV;
use Sabre\DAV\PropPatch;
-require_once 'Sabre/CalDAV/TestUtil.php';
-
class CalendarTest extends \PHPUnit\Framework\TestCase
{
/**
@@ -24,7 +22,7 @@ class CalendarTest extends \PHPUnit\Framework\TestCase
*/
protected $calendars;
- public function setup()
+ public function setup(): void
{
$this->backend = TestUtil::getBackend();
@@ -33,7 +31,7 @@ class CalendarTest extends \PHPUnit\Framework\TestCase
$this->calendar = new Calendar($this->backend, $this->calendars[0]);
}
- public function teardown()
+ public function teardown(): void
{
unset($this->backend);
}
@@ -80,11 +78,11 @@ class CalendarTest extends \PHPUnit\Framework\TestCase
}
/**
- * @expectedException \Sabre\DAV\Exception\NotFound
* @depends testSimple
*/
public function testGetChildNotFound()
{
+ $this->expectException('Sabre\DAV\Exception\NotFound');
$this->calendar->getChild('randomname');
}
@@ -110,19 +108,15 @@ class CalendarTest extends \PHPUnit\Framework\TestCase
$this->assertTrue($this->calendar->childExists($children[0]->getName()));
}
- /**
- * @expectedException \Sabre\DAV\Exception\MethodNotAllowed
- */
public function testCreateDirectory()
{
+ $this->expectException('Sabre\DAV\Exception\MethodNotAllowed');
$this->calendar->createDirectory('hello');
}
- /**
- * @expectedException \Sabre\DAV\Exception\MethodNotAllowed
- */
public function testSetName()
{
+ $this->expectException('Sabre\DAV\Exception\MethodNotAllowed');
$this->calendar->setName('hello');
}
@@ -211,11 +205,9 @@ class CalendarTest extends \PHPUnit\Framework\TestCase
$this->assertEquals($expected, $this->calendar->getACL());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetACL()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$this->calendar->setACL([]);
}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php
index d6e7b491c..93fc56dae 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ExpandEventsDTSTARTandDTENDTest.php
@@ -10,7 +10,6 @@ use Sabre\VObject;
/**
* This unittests is created to find out why recurring events have wrong DTSTART value.
*
- *
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php
index 3d4b36313..44823edab 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/FreeBusyReportTest.php
@@ -18,7 +18,7 @@ class FreeBusyReportTest extends \PHPUnit\Framework\TestCase
*/
protected $server;
- public function setUp()
+ public function setup(): void
{
$obj1 = <<<ics
BEGIN:VCALENDAR
@@ -108,11 +108,9 @@ XML;
$this->assertTrue(false !== strpos($this->server->httpResponse->body, '20111006T100000Z/20111006T110000Z'));
}
- /**
- * @expectedException \Sabre\DAV\Exception\BadRequest
- */
public function testFreeBusyReportNoTimeRange()
{
+ $this->expectException('Sabre\DAV\Exception\BadRequest');
$reportXML = <<<XML
<?xml version="1.0"?>
<c:free-busy-query xmlns:c="urn:ietf:params:xml:ns:caldav">
@@ -122,11 +120,9 @@ XML;
$report = $this->server->xml->parse($reportXML, null, $rootElem);
}
- /**
- * @expectedException \Sabre\DAV\Exception\NotImplemented
- */
public function testFreeBusyReportWrongNode()
{
+ $this->expectException('Sabre\DAV\Exception\NotImplemented');
$request = new HTTP\Request('REPORT', '/');
$this->server->httpRequest = $request;
@@ -141,11 +137,9 @@ XML;
$this->plugin->report($rootElem, $report, null);
}
- /**
- * @expectedException \Sabre\DAV\Exception
- */
public function testFreeBusyReportNoACLPlugin()
{
+ $this->expectException('Sabre\DAV\Exception');
$this->server = new DAV\Server();
$this->server->httpRequest = new HTTP\Request('REPORT', '/');
$this->plugin = new Plugin();
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php
index 8c99e6c46..8771f538b 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ICSExportPluginTest.php
@@ -15,7 +15,7 @@ class ICSExportPluginTest extends \Sabre\DAVServerTest
protected $icsExportPlugin;
- public function setUp()
+ public function setup(): void
{
parent::setUp();
$this->icsExportPlugin = new ICSExportPlugin();
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php
index eceb0b87f..594241e0d 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/CollectionTest.php
@@ -63,11 +63,9 @@ class CollectionTest extends \PHPUnit\Framework\TestCase
$this->assertEquals($expected, $col->getACL());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetACL()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$col = $this->getInstance();
$col->setACL([]);
}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php
index cb19ef962..623525e69 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Notifications/NodeTest.php
@@ -73,11 +73,9 @@ class NodeTest extends \PHPUnit\Framework\TestCase
$this->assertEquals($expected, $node->getACL());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetACL()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$node = $this->getInstance();
$node->setACL([]);
}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php
index f065e1ac8..a4f08f7e5 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/PluginTest.php
@@ -26,7 +26,7 @@ class PluginTest extends \PHPUnit\Framework\TestCase
*/
protected $caldavBackend;
- public function setup()
+ public function setup(): void
{
$caldavNS = '{urn:ietf:params:xml:ns:caldav}';
@@ -349,7 +349,7 @@ END:VCALENDAR';
}
}
- $this->assertInternalType('array', $newCalendar);
+ $this->assertIsArray($newCalendar);
$keys = [
'uri' => 'NEWCALENDAR',
@@ -394,7 +394,7 @@ END:VCALENDAR';
}
}
- $this->assertInternalType('array', $newCalendar);
+ $this->assertIsArray($newCalendar);
$keys = [
'uri' => 'NEWCALENDAR',
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php
index 8036635b2..95ff86fa1 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/ProxyReadTest.php
@@ -39,20 +39,16 @@ class ProxyReadTest extends \PHPUnit\Framework\TestCase
$this->assertNull($i->getLastModified());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testDelete()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$i = $this->getInstance();
$i->delete();
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetName()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$i = $this->getInstance();
$i->setName('foo');
}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php
index 2c690c65d..fd079acb2 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/Principal/UserTest.php
@@ -26,20 +26,16 @@ class UserTest extends \PHPUnit\Framework\TestCase
]);
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testCreateFile()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$u = $this->getInstance();
$u->createFile('test');
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testCreateDirectory()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$u = $this->getInstance();
$u->createDirectory('test');
}
@@ -58,20 +54,16 @@ class UserTest extends \PHPUnit\Framework\TestCase
$this->assertInstanceOf('Sabre\\CalDAV\\Principal\\ProxyWrite', $child);
}
- /**
- * @expectedException \Sabre\DAV\Exception\NotFound
- */
public function testGetChildNotFound()
{
+ $this->expectException('Sabre\DAV\Exception\NotFound');
$u = $this->getInstance();
$child = $u->getChild('foo');
}
- /**
- * @expectedException \Sabre\DAV\Exception\NotFound
- */
public function testGetChildNotFound2()
{
+ $this->expectException('Sabre\DAV\Exception\NotFound');
$u = $this->getInstance();
$child = $u->getChild('random');
}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php
index 45c389cc2..f11af8b95 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/SharingPluginTest.php
@@ -6,16 +6,17 @@ namespace Sabre\CalDAV;
use Sabre\DAV;
use Sabre\DAV\Xml\Element\Sharee;
+use Sabre\DAVServerTest;
use Sabre\HTTP;
-class SharingPluginTest extends \Sabre\DAVServerTest
+class SharingPluginTest extends DAVServerTest
{
protected $setupCalDAV = true;
protected $setupCalDAVSharing = true;
protected $setupACL = true;
protected $autoLogin = 'user1';
- public function setUp()
+ public function setup(): void
{
$this->caldavCalendars = [
[
@@ -51,11 +52,9 @@ class SharingPluginTest extends \Sabre\DAVServerTest
);
}
- /**
- * @expectedException \LogicException
- */
public function testSetupWithoutCoreSharingPlugin()
{
+ $this->expectException('LogicException');
$server = new DAV\Server();
$server->addPlugin(
new SharingPlugin()
@@ -180,7 +179,7 @@ RRR;
$request->setBody($xml);
- $response = $this->request($request, 200);
+ $this->request($request, 200);
$this->assertEquals(
[
@@ -230,7 +229,7 @@ RRR;
$request->setBody($xml);
- $response = $this->request($request, 403);
+ $this->request($request, 403);
}
public function testInviteReply()
@@ -289,7 +288,7 @@ RRR;
// If the plugin did not handle this request, it must ensure that the
// body is still accessible by other plugins.
- $this->assertEquals($xml, $request->getBody(true));
+ $this->assertEquals($xml, $request->getBody());
}
public function testPostWithoutContentType()
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php b/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php
index 72b5080af..5de11a31a 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/TestUtil.php
@@ -99,87 +99,4 @@ END:VCALENDAR';
return $calendarData;
}
-
- public static function getTestTODO($type = 'due')
- {
- switch ($type) {
- case 'due':
- $extra = 'DUE:20100104T000000Z';
- break;
- case 'due2':
- $extra = 'DUE:20060104T000000Z';
- break;
- case 'due_date':
- $extra = 'DUE;VALUE=DATE:20060104';
- break;
- case 'due_tz':
- $extra = 'DUE;TZID=Asia/Seoul:20060104T000000Z';
- break;
- case 'due_dtstart':
- $extra = "DTSTART:20050223T060000Z\nDUE:20060104T000000Z";
- break;
- case 'due_dtstart2':
- $extra = "DTSTART:20090223T060000Z\nDUE:20100104T000000Z";
- break;
- case 'dtstart':
- $extra = 'DTSTART:20100223T060000Z';
- break;
- case 'dtstart2':
- $extra = 'DTSTART:20060223T060000Z';
- break;
- case 'dtstart_date':
- $extra = 'DTSTART;VALUE=DATE:20100223';
- break;
- case 'dtstart_tz':
- $extra = 'DTSTART;TZID=Asia/Seoul:20100223T060000Z';
- break;
- case 'dtstart_duration':
- $extra = "DTSTART:20061023T060000Z\nDURATION:PT1H";
- break;
- case 'dtstart_duration2':
- $extra = "DTSTART:20101023T060000Z\nDURATION:PT1H";
- break;
- case 'completed':
- $extra = 'COMPLETED:20060601T000000Z';
- break;
- case 'completed2':
- $extra = 'COMPLETED:20090601T000000Z';
- break;
- case 'created':
- $extra = 'CREATED:20060601T000000Z';
- break;
- case 'created2':
- $extra = 'CREATED:20090601T000000Z';
- break;
- case 'completedcreated':
- $extra = "CREATED:20060601T000000Z\nCOMPLETED:20070101T000000Z";
- break;
- case 'completedcreated2':
- $extra = "CREATED:20090601T000000Z\nCOMPLETED:20100101T000000Z";
- break;
- case 'notime':
- $extra = 'X-FILLER:oh hello';
- break;
- default:
- throw new Exception('Unknown type: '.$type);
- }
-
- $todo = 'BEGIN:VCALENDAR
-VERSION:2.0
-PRODID:-//Example Corp.//CalDAV Client//EN
-BEGIN:VTODO
-DTSTAMP:20060205T235335Z
-'.$extra.'
-STATUS:NEEDS-ACTION
-SUMMARY:Task #1
-UID:DDDEEB7915FA61233B861457@example.com
-BEGIN:VALARM
-ACTION:AUDIO
-TRIGGER;RELATED=START:-PT10M
-END:VALARM
-END:VTODO
-END:VCALENDAR';
-
- return $todo;
- }
}
diff --git a/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php b/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php
index fc87184d9..4e2411391 100644
--- a/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CalDAV/ValidateICalTest.php
@@ -8,12 +8,10 @@ use Sabre\DAV;
use Sabre\DAVACL;
use Sabre\HTTP;
-require_once 'Sabre/HTTP/ResponseMock.php';
-
class ValidateICalTest extends \PHPUnit\Framework\TestCase
{
/**
- * @var Sabre\DAV\Server
+ * @var DAV\Server
*/
protected $server;
/**
@@ -21,7 +19,7 @@ class ValidateICalTest extends \PHPUnit\Framework\TestCase
*/
protected $calBackend;
- public function setUp()
+ public function setup(): void
{
$calendars = [
[
@@ -56,6 +54,9 @@ class ValidateICalTest extends \PHPUnit\Framework\TestCase
$this->server->httpResponse = $response;
}
+ /**
+ * @return Sabre\HTTP\ResponseMock
+ */
public function request(HTTP\Request $request)
{
$this->server->httpRequest = $request;
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php
index c945e2c58..6565fc459 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AbstractPluginTest.php
@@ -23,7 +23,7 @@ abstract class AbstractPluginTest extends \PHPUnit\Framework\TestCase
*/
protected $backend;
- public function setUp()
+ public function setup(): void
{
$this->backend = new Backend\Mock();
$principalBackend = new DAVACL\PrincipalBackend\Mock();
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php
index fe047fb84..a86d85144 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookQueryTest.php
@@ -7,9 +7,6 @@ namespace Sabre\CardDAV;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/CardDAV/AbstractPluginTest.php';
-require_once 'Sabre/HTTP/ResponseMock.php';
-
class AddressBookQueryTest extends AbstractPluginTest
{
public function testQuery()
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php
index 879816803..e985c54ff 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/AddressBookTest.php
@@ -16,7 +16,7 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase
protected $ab;
protected $backend;
- public function setUp()
+ public function setup(): void
{
$this->backend = new Backend\Mock();
$this->ab = new AddressBook(
@@ -42,11 +42,9 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase
$this->assertEquals('card1', $card->getName());
}
- /**
- * @expectedException \Sabre\DAV\Exception\NotFound
- */
public function testGetChildNotFound()
{
+ $this->expectException('Sabre\DAV\Exception\NotFound');
$card = $this->ab->getChild('card3');
}
@@ -59,11 +57,9 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase
$this->assertEquals('card2', $cards[1]->getName());
}
- /**
- * @expectedException \Sabre\DAV\Exception\MethodNotAllowed
- */
public function testCreateDirectory()
{
+ $this->expectException('Sabre\DAV\Exception\MethodNotAllowed');
$this->ab->createDirectory('name');
}
@@ -83,11 +79,9 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase
$this->assertEquals(1, count($this->backend->addressBooks));
}
- /**
- * @expectedException \Sabre\DAV\Exception\MethodNotAllowed
- */
public function testSetName()
{
+ $this->expectException('Sabre\DAV\Exception\MethodNotAllowed');
$this->ab->setName('foo');
}
@@ -128,11 +122,9 @@ class AddressBookTest extends \PHPUnit\Framework\TestCase
], $this->ab->getACL());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetACL()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$this->ab->setACL([]);
}
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php
index e5bd088fc..bac3b2b22 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/AbstractPDOTest.php
@@ -16,7 +16,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
*/
protected $backend;
- public function setUp()
+ public function setup(): void
{
$this->dropTables([
'addressbooks',
@@ -142,11 +142,9 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
$this->assertEquals([], $this->backend->getAddressBooksForUser('principals/user1'));
}
- /**
- * @expectedException \Sabre\DAV\Exception\BadRequest
- */
public function testCreateAddressBookUnsupportedProp()
{
+ $this->expectException('Sabre\DAV\Exception\BadRequest');
$this->backend->createAddressBook('principals/user1', 'book2', [
'{DAV:}foo' => 'bar',
]);
@@ -273,7 +271,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
switch ($k) {
case 'lastmodified':
- $this->assertInternalType('int', $actual);
+ $this->assertIsInt($actual);
break;
case 'carddata':
if (is_resource($actual)) {
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php
index f7e20fbfb..630465cc8 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/Backend/Mock.php
@@ -69,8 +69,7 @@ class Mock extends AbstractBackend
*
* Read the PropPatch documentation for more info and examples.
*
- * @param string $addressBookId
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param string $addressBookId
*/
public function updateAddressBook($addressBookId, \Sabre\DAV\PropPatch $propPatch)
{
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php
index 41853aa63..1de10b719 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/CardTest.php
@@ -15,7 +15,7 @@ class CardTest extends \PHPUnit\Framework\TestCase
*/
protected $backend;
- public function setUp()
+ public function setup(): void
{
$this->backend = new Backend\Mock();
$this->card = new Card(
@@ -179,11 +179,9 @@ class CardTest extends \PHPUnit\Framework\TestCase
], $card->getACL());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetACL()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$this->card->setACL([]);
}
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php
index 6fdfcd07a..ac0cd5e91 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/MultiGetTest.php
@@ -7,8 +7,6 @@ namespace Sabre\CardDAV;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/HTTP/ResponseMock.php';
-
class MultiGetTest extends AbstractPluginTest
{
public function testMultiGet()
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php b/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php
deleted file mode 100644
index 0bdf07df5..000000000
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/TestUtil.php
+++ /dev/null
@@ -1,63 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace Sabre\CardDAV;
-
-class TestUtil
-{
- public static function getBackend()
- {
- $backend = new Backend\PDO(self::getSQLiteDB());
-
- return $backend;
- }
-
- public static function getSQLiteDB()
- {
- $pdo = Backend\PDOSqliteTest::getSQLite();
-
- // Inserting events through a backend class.
- $backend = new Backend\PDO($pdo);
- $addressbookId = $backend->createAddressBook(
- 'principals/user1',
- 'UUID-123467',
- [
- '{DAV:}displayname' => 'user1 addressbook',
- '{urn:ietf:params:xml:ns:carddav}addressbook-description' => 'AddressBook description',
- ]
- );
- $backend->createAddressBook(
- 'principals/user1',
- 'UUID-123468',
- [
- '{DAV:}displayname' => 'user1 addressbook2',
- '{urn:ietf:params:xml:ns:carddav}addressbook-description' => 'AddressBook description',
- ]
- );
- $backend->createCard($addressbookId, 'UUID-2345', self::getTestCardData());
-
- return $pdo;
- }
-
- public static function deleteSQLiteDB()
- {
- $sqliteTest = new Backend\PDOSqliteTest();
- $pdo = $sqliteTest->tearDown();
- }
-
- public static function getTestCardData()
- {
- $addressbookData = 'BEGIN:VCARD
-VERSION:3.0
-PRODID:-//Acme Inc.//RoadRunner 1.0//EN
-FN:Wile E. Coyote
-N:Coyote;Wile;Erroll;;
-ORG:Acme Inc.
-UID:39A6B5ED-DD51-4AFE-A683-C35EE3749627
-REV:2012-06-20T07:00:39+00:00
-END:VCARD';
-
- return $addressbookData;
- }
-}
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php
index 48477d7f2..546a4ccfb 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/VCFExportTest.php
@@ -28,7 +28,7 @@ class VCFExportTest extends \Sabre\DAVServerTest
],
];
- public function setUp()
+ public function setup(): void
{
parent::setUp();
$plugin = new VCFExportPlugin();
@@ -84,7 +84,7 @@ END:VCARD
$actions = '';
$addressbook = new AddressBook($this->carddavBackend, []);
$this->server->emit('browserButtonActions', ['/foo', $addressbook, &$actions]);
- $this->assertContains('/foo?export', $actions);
+ $this->assertStringContainsString('/foo?export', $actions);
}
public function testContentDisposition()
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php
index 753efc73d..de7de19cd 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateFilterTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
namespace Sabre\CardDAV;
-require_once 'Sabre/CardDAV/AbstractPluginTest.php';
-
class ValidateFilterTest extends AbstractPluginTest
{
/**
@@ -16,7 +14,7 @@ class ValidateFilterTest extends AbstractPluginTest
* @param string|null $message
* @dataProvider data
*/
- public function testFilter($input, $filters, $test, $result, $message = null)
+ public function testFilter($input, $filters, $test, $result, $message = '')
{
if ($result) {
$this->assertTrue($this->plugin->validateFilters($input, $filters, $test), $message);
diff --git a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php
index a9be169c0..571cce3f0 100644
--- a/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php
+++ b/vendor/sabre/dav/tests/Sabre/CardDAV/ValidateVCardTest.php
@@ -8,14 +8,12 @@ use Sabre\DAV;
use Sabre\DAVACL;
use Sabre\HTTP;
-require_once 'Sabre/HTTP/ResponseMock.php';
-
class ValidateVCardTest extends \PHPUnit\Framework\TestCase
{
protected $server;
protected $cardBackend;
- public function setUp()
+ public function setup(): void
{
$addressbooks = [
[
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php b/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php
index bf1e22aea..807b66382 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/AbstractServer.php
@@ -19,7 +19,7 @@ abstract class AbstractServer extends \PHPUnit\Framework\TestCase
protected $server;
protected $tempDir = SABRE_TEMPDIR;
- public function setUp()
+ public function setup(): void
{
$this->response = new HTTP\ResponseMock();
$this->server = new Server($this->getRootNode());
@@ -32,7 +32,7 @@ abstract class AbstractServer extends \PHPUnit\Framework\TestCase
file_put_contents(SABRE_TEMPDIR.'/dir/child.txt', 'Child contents');
}
- public function tearDown()
+ public function teardown(): void
{
$this->deleteTree(SABRE_TEMPDIR, false);
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php
index d9af326fe..a751efdc2 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractDigestTest.php
@@ -35,11 +35,9 @@ class AbstractDigestTest extends \PHPUnit\Framework\TestCase
);
}
- /**
- * @expectedException \Sabre\DAV\Exception
- */
public function testCheckBadGetUserInfoResponse2()
{
+ $this->expectException('Sabre\DAV\Exception');
$header = 'username=array, realm=myRealm, nonce=12345, uri=/, response=HASH, opaque=1, qop=auth, nc=1, cnonce=1';
$request = HTTP\Sapi::createFromServerArray([
'REQUEST_METHOD' => 'GET',
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php
index 5e34f9c49..8b874f884 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/AbstractPDOTest.php
@@ -8,7 +8,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
{
use \Sabre\DAV\DbTestHelperTrait;
- public function setUp()
+ public function setup(): void
{
$this->dropTables('users');
$this->createSchema('users');
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php
index 0297b17f9..31a86f9ed 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/FileTest.php
@@ -6,7 +6,7 @@ namespace Sabre\DAV\Auth\Backend;
class FileTest extends \PHPUnit\Framework\TestCase
{
- public function tearDown()
+ public function teardown(): void
{
if (file_exists(SABRE_TEMPDIR.'/filebackend')) {
unlink(SABRE_TEMPDIR.'/filebackend');
@@ -19,11 +19,9 @@ class FileTest extends \PHPUnit\Framework\TestCase
$this->assertTrue($file instanceof File);
}
- /**
- * @expectedException \Sabre\DAV\Exception
- */
public function testLoadFileBroken()
{
+ $this->expectException('Sabre\DAV\Exception');
file_put_contents(SABRE_TEMPDIR.'/backend', 'user:realm:hash');
$file = new File(SABRE_TEMPDIR.'/backend');
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php
index 730f2a975..fca7f722f 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/Backend/Mock.php
@@ -44,9 +44,6 @@ class Mock implements BackendInterface
*
* principals/users/[username]
*
- * @param RequestInterface $request
- * @param ResponseInterface $response
- *
* @return array
*/
public function check(RequestInterface $request, ResponseInterface $response)
@@ -77,9 +74,6 @@ class Mock implements BackendInterface
* WWW-Authenticate headers may already have been set, and you'll want to
* append your own WWW-Authenticate header instead of overwriting the
* existing one.
- *
- * @param RequestInterface $request
- * @param ResponseInterface $response
*/
public function challenge(RequestInterface $request, ResponseInterface $response)
{
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php
index 03c8a4624..f4810d524 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Auth/PluginTest.php
@@ -16,7 +16,7 @@ class PluginTest extends \PHPUnit\Framework\TestCase
$this->assertTrue($plugin instanceof Plugin);
$fakeServer->addPlugin($plugin);
$this->assertEquals($plugin, $fakeServer->getPlugin('auth'));
- $this->assertInternalType('array', $plugin->getPluginInfo());
+ $this->assertIsArray($plugin->getPluginInfo());
}
/**
@@ -34,10 +34,10 @@ class PluginTest extends \PHPUnit\Framework\TestCase
/**
* @depends testInit
- * @expectedException \Sabre\DAV\Exception\NotAuthenticated
*/
public function testAuthenticateFail()
{
+ $this->expectException('Sabre\DAV\Exception\NotAuthenticated');
$fakeServer = new DAV\Server(new DAV\SimpleCollection('bla'));
$backend = new Backend\Mock();
$backend->fail = true;
@@ -87,10 +87,10 @@ class PluginTest extends \PHPUnit\Framework\TestCase
/**
* @depends testInit
- * @expectedException \Sabre\DAV\Exception
*/
public function testNoAuthBackend()
{
+ $this->expectException('Sabre\DAV\Exception');
$fakeServer = new DAV\Server(new DAV\SimpleCollection('bla'));
$plugin = new Plugin();
@@ -100,10 +100,10 @@ class PluginTest extends \PHPUnit\Framework\TestCase
/**
* @depends testInit
- * @expectedException \Sabre\DAV\Exception
*/
public function testInvalidCheckResponse()
{
+ $this->expectException('Sabre\DAV\Exception');
$fakeServer = new DAV\Server(new DAV\SimpleCollection('bla'));
$backend = new Backend\Mock();
$backend->invalidCheckResponse = true;
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php
index 60fcc73fc..e9a8eddad 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/BasicNodeTest.php
@@ -6,20 +6,16 @@ namespace Sabre\DAV;
class BasicNodeTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testPut()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$file = new FileMock();
$file->put('hi');
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testGet()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$file = new FileMock();
$file->get();
}
@@ -42,20 +38,16 @@ class BasicNodeTest extends \PHPUnit\Framework\TestCase
$this->assertNull($file->getContentType());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testDelete()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$file = new FileMock();
$file->delete();
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetName()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$file = new FileMock();
$file->setName('hi');
}
@@ -88,29 +80,23 @@ class BasicNodeTest extends \PHPUnit\Framework\TestCase
$this->assertFalse($dir->childExists('mockfile2'));
}
- /**
- * @expectedException \Sabre\DAV\Exception\NotFound
- */
public function testGetChild404()
{
+ $this->expectException('Sabre\DAV\Exception\NotFound');
$dir = new DirectoryMock();
$file = $dir->getChild('blabla');
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testCreateFile()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$dir = new DirectoryMock();
$dir->createFile('hello', 'data');
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testCreateDirectory()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$dir = new DirectoryMock();
$dir->createDirectory('hello');
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php
index 1f48256e0..cb4d3ce03 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/GuessContentTypeTest.php
@@ -6,10 +6,9 @@ namespace Sabre\DAV\Browser;
use Sabre\DAV;
-require_once 'Sabre/DAV/AbstractServer.php';
class GuessContentTypeTest extends DAV\AbstractServer
{
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
\Sabre\TestUtil::clearTempDir();
@@ -17,7 +16,7 @@ class GuessContentTypeTest extends DAV\AbstractServer
file_put_contents(SABRE_TEMPDIR.'/somefile.hoi', 'blabla');
}
- public function tearDown()
+ public function tearDown(): void
{
\Sabre\TestUtil::clearTempDir();
parent::tearDown();
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php
index f51f5546c..00b2661ac 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/MapGetToPropFindTest.php
@@ -7,11 +7,9 @@ namespace Sabre\DAV\Browser;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAV/AbstractServer.php';
-
class MapGetToPropFindTest extends DAV\AbstractServer
{
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->server->addPlugin(new MapGetToPropFind());
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php
index f28661ca7..a987525c0 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Browser/PluginTest.php
@@ -7,13 +7,11 @@ namespace Sabre\DAV\Browser;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAV/AbstractServer.php';
-
class PluginTest extends DAV\AbstractServer
{
protected $plugin;
- public function setUp()
+ public function setUp(): void
{
parent::setUp();
$this->server->addPlugin($this->plugin = new Plugin());
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php
index e9362c8e4..85a95c90e 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ClientTest.php
@@ -6,11 +6,9 @@ namespace Sabre\DAV;
use Sabre\HTTP\Response;
-require_once 'Sabre/DAV/ClientMock.php';
-
class ClientTest extends \PHPUnit\Framework\TestCase
{
- public function setUp()
+ public function setup(): void
{
if (!function_exists('curl_init')) {
$this->markTestSkipped('CURL must be installed to test the client');
@@ -25,11 +23,9 @@ class ClientTest extends \PHPUnit\Framework\TestCase
$this->assertInstanceOf('Sabre\DAV\ClientMock', $client);
}
- /**
- * @expectedException \InvalidArgumentException
- */
public function testConstructNoBaseUri()
{
+ $this->expectException('InvalidArgumentException');
$client = new ClientMock([]);
}
@@ -139,11 +135,9 @@ XML;
], $request->getHeaders());
}
- /**
- * @expectedException \Sabre\HTTP\ClientHttpException
- */
public function testPropFindError()
{
+ $this->expectException('Sabre\HTTP\ClientHttpException');
$client = new ClientMock([
'baseUri' => '/',
]);
@@ -225,10 +219,10 @@ XML;
/**
* @depends testPropPatch
- * @expectedException \Sabre\HTTP\ClientHttpException
*/
public function testPropPatchHTTPError()
{
+ $this->expectException('Sabre\HTTP\ClientHttpException');
$client = new ClientMock([
'baseUri' => '/',
]);
@@ -239,10 +233,10 @@ XML;
/**
* @depends testPropPatch
- * @expectedException \Sabre\HTTP\ClientException
*/
public function testPropPatchMultiStatusError()
{
+ $this->expectException('Sabre\HTTP\ClientException');
$client = new ClientMock([
'baseUri' => '/',
]);
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php
index 4bc79b597..2b759e5d0 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/FileTest.php
@@ -4,16 +4,14 @@ declare(strict_types=1);
namespace Sabre\DAV\FSExt;
-require_once 'Sabre/TestUtil.php';
-
class FileTest extends \PHPUnit\Framework\TestCase
{
- public function setUp()
+ public function setup(): void
{
file_put_contents(SABRE_TEMPDIR.'/file.txt', 'Contents');
}
- public function tearDown()
+ public function teardown(): void
{
\Sabre\TestUtil::clearTempDir();
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php
index f53807e6c..79ffb0186 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/FSExt/ServerTest.php
@@ -7,8 +7,6 @@ namespace Sabre\DAV\FSExt;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAV/AbstractServer.php';
-
class ServerTest extends DAV\AbstractServer
{
protected function getRootNode()
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php
index 500ad6147..36b182c44 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Issue33Test.php
@@ -6,11 +6,9 @@ namespace Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/TestUtil.php';
-
class Issue33Test extends \PHPUnit\Framework\TestCase
{
- public function setUp()
+ public function setup(): void
{
\Sabre\TestUtil::clearTempDir();
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php
index 50f17a7dd..57a3255c7 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/Backend/FileTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
namespace Sabre\DAV\Locks\Backend;
-require_once 'Sabre/TestUtil.php';
-
class FileTest extends AbstractTest
{
public function getBackend()
@@ -16,7 +14,7 @@ class FileTest extends AbstractTest
return $backend;
}
- public function tearDown()
+ public function teardown(): void
{
\Sabre\TestUtil::clearTempDir();
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php
index a2a31e87f..02c3d39ba 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/MSWordTest.php
@@ -7,12 +7,9 @@ namespace Sabre\DAV\Locks;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/HTTP/ResponseMock.php';
-require_once 'Sabre/TestUtil.php';
-
class MSWordTest extends \PHPUnit\Framework\TestCase
{
- public function tearDown()
+ public function teardown(): void
{
\Sabre\TestUtil::clearTempDir();
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php
index a9c6cc1bc..96e3939d0 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Locks/PluginTest.php
@@ -7,8 +7,6 @@ namespace Sabre\DAV\Locks;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAV/AbstractServer.php';
-
class PluginTest extends DAV\AbstractServer
{
/**
@@ -16,7 +14,7 @@ class PluginTest extends DAV\AbstractServer
*/
protected $locksPlugin;
- public function setUp()
+ public function setup(): void
{
parent::setUp();
$locksBackend = new Backend\File(SABRE_TEMPDIR.'/locksdb');
@@ -851,11 +849,9 @@ class PluginTest extends DAV\AbstractServer
$this->assertEquals(LockInfo::TIMEOUT_INFINITE, $this->locksPlugin->getTimeoutHeader());
}
- /**
- * @expectedException \Sabre\DAV\Exception\BadRequest
- */
public function testGetTimeoutHeaderInvalid()
{
+ $this->expectException('Sabre\DAV\Exception\BadRequest');
$request = new HTTP\Request('GET', '/', ['Timeout' => 'yourmom']);
$this->server->httpRequest = $request;
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php b/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php
index e0bdecc09..041274706 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Mock/Collection.php
@@ -31,7 +31,6 @@ class Collection extends DAV\Collection
* Creates the object.
*
* @param string $name
- * @param array $children
* @param Collection $parent
*/
public function __construct($name, array $children = [], Collection $parent = null)
@@ -88,8 +87,11 @@ class Collection extends DAV\Collection
*
* @return string|null
*/
- public function createFile($name, $data = '')
+ public function createFile($name, $data = null)
{
+ if (null === $data) {
+ $data = '';
+ }
if (is_resource($data)) {
$data = stream_get_contents($data);
}
@@ -120,8 +122,6 @@ class Collection extends DAV\Collection
/**
* Adds an already existing node to this collection.
- *
- * @param \Sabre\DAV\INode $node
*/
public function addNode(\Sabre\DAV\INode $node)
{
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php
index 0e3123b35..54f7e4cb4 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/Mount/PluginTest.php
@@ -7,11 +7,9 @@ namespace Sabre\DAV\Mount;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAV/AbstractServer.php';
-
class PluginTest extends DAV\AbstractServer
{
- public function setUp()
+ public function setup(): void
{
parent::setUp();
$this->server->addPlugin(new Plugin());
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php
index 6b6652967..7066c49fc 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ObjectTreeTest.php
@@ -4,13 +4,11 @@ declare(strict_types=1);
namespace Sabre\DAV;
-require_once 'Sabre/TestUtil.php';
-
class ObjectTreeTest extends \PHPUnit\Framework\TestCase
{
protected $tree;
- public function setup()
+ public function setup(): void
{
\Sabre\TestUtil::clearTempDir();
mkdir(SABRE_TEMPDIR.'/root');
@@ -21,7 +19,7 @@ class ObjectTreeTest extends \PHPUnit\Framework\TestCase
$this->tree = new Tree($rootNode);
}
- public function teardown()
+ public function teardown(): void
{
\Sabre\TestUtil::clearTempDir();
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php
index 0cf6dc4e4..4d99aee7d 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/PluginTest.php
@@ -6,14 +6,12 @@ namespace Sabre\DAV\PartialUpdate;
use Sabre\HTTP;
-require_once 'Sabre/DAV/PartialUpdate/FileMock.php';
-
class PluginTest extends \Sabre\DAVServerTest
{
protected $node;
protected $plugin;
- public function setUp()
+ public function setup(): void
{
$this->node = new FileMock();
$this->tree[] = $this->node;
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php
index 56b2d576f..a727a13e2 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/PartialUpdate/SpecificationTest.php
@@ -18,7 +18,7 @@ class SpecificationTest extends \PHPUnit\Framework\TestCase
{
protected $server;
- public function setUp()
+ public function setup(): void
{
$tree = [
new File(SABRE_TEMPDIR.'/foobar.txt'),
@@ -32,7 +32,7 @@ class SpecificationTest extends \PHPUnit\Framework\TestCase
$this->server = $server;
}
- public function tearDown()
+ public function teardown(): void
{
\Sabre\TestUtil::clearTempDir();
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php
index 7d55ea02e..b1f6754ea 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerEventsTest.php
@@ -6,8 +6,6 @@ namespace Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAV/AbstractServer.php';
-
class ServerEventsTest extends AbstractServer
{
private $tempPath;
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php
index bbf820eb5..47e1e6b4c 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerPluginTest.php
@@ -6,9 +6,6 @@ namespace Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAV/AbstractServer.php';
-require_once 'Sabre/DAV/TestPlugin.php';
-
class ServerPluginTest extends AbstractServer
{
/**
@@ -16,7 +13,7 @@ class ServerPluginTest extends AbstractServer
*/
protected $testPlugin;
- public function setUp()
+ public function setup(): void
{
parent::setUp();
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php
deleted file mode 100644
index fa88e9095..000000000
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPreconditionTest.php
+++ /dev/null
@@ -1,283 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace Sabre\DAV;
-
-use Sabre\HTTP;
-
-require_once 'Sabre/HTTP/ResponseMock.php';
-
-class ServerPreconditionsTest extends \PHPUnit\Framework\TestCase
-{
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfMatchNoNode()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/bar', ['If-Match' => '*']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfMatchHasNode()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '*']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfMatchWrongEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '1234']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfMatchCorrectEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '"abc123"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * Evolution sometimes uses \" instead of " for If-Match headers.
- *
- * @depends testIfMatchCorrectEtag
- */
- public function testIfMatchEvolutionEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '\\"abc123\\"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfMatchMultiple()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-Match' => '"hellothere", "abc123"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfNoneMatchNoNode()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/bar', ['If-None-Match' => '*']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfNoneMatchHasNode()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '*']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfNoneMatchWrongEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfNoneMatchWrongEtagMultiple()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234", "5678"']);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfNoneMatchCorrectEtag()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"abc123"']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfNoneMatchCorrectEtagMultiple()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('POST', '/foo', ['If-None-Match' => '"1234, "abc123"']);
- $httpResponse = new HTTP\Response();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfNoneMatchCorrectEtagAsGet()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-None-Match' => '"abc123"']);
- $server->httpResponse = new HTTP\ResponseMock();
-
- $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse));
- $this->assertEquals(304, $server->httpResponse->getStatus());
- $this->assertEquals(['ETag' => ['"abc123"']], $server->httpResponse->getHeaders());
- }
-
- /**
- * This was a test written for issue #515.
- */
- public function testNoneMatchCorrectEtagEnsureSapiSent()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $server->sapi = new HTTP\SapiMock();
- HTTP\SapiMock::$sent = 0;
- $httpRequest = new HTTP\Request('GET', '/foo', ['If-None-Match' => '"abc123"']);
- $server->httpRequest = $httpRequest;
- $server->httpResponse = new HTTP\ResponseMock();
-
- $server->exec();
-
- $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse));
- $this->assertEquals(304, $server->httpResponse->getStatus());
- $this->assertEquals([
- 'ETag' => ['"abc123"'],
- 'X-Sabre-Version' => [Version::VERSION],
- ], $server->httpResponse->getHeaders());
- $this->assertEquals(1, HTTP\SapiMock::$sent);
- }
-
- public function testIfModifiedSinceUnModified()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Modified-Since' => 'Sun, 06 Nov 1994 08:49:37 GMT',
- ]);
- $server->httpResponse = new HTTP\ResponseMock();
- $this->assertFalse($server->checkPreconditions($httpRequest, $server->httpResponse));
-
- $this->assertEquals(304, $server->httpResponse->status);
- $this->assertEquals([
- 'Last-Modified' => ['Sat, 06 Apr 1985 23:30:00 GMT'],
- ], $server->httpResponse->getHeaders());
- }
-
- public function testIfModifiedSinceModified()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Modified-Since' => 'Tue, 06 Nov 1984 08:49:37 GMT',
- ]);
-
- $httpResponse = new HTTP\ResponseMock();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfModifiedSinceInvalidDate()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Modified-Since' => 'Your mother',
- ]);
- $httpResponse = new HTTP\ResponseMock();
-
- // Invalid dates must be ignored, so this should return true
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfModifiedSinceInvalidDate2()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Unmodified-Since' => 'Sun, 06 Nov 1994 08:49:37 EST',
- ]);
- $httpResponse = new HTTP\ResponseMock();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- public function testIfUnmodifiedSinceUnModified()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Unmodified-Since' => 'Sun, 06 Nov 1994 08:49:37 GMT',
- ]);
- $httpResponse = new HTTP\Response();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-
- /**
- * @expectedException \Sabre\DAV\Exception\PreconditionFailed
- */
- public function testIfUnmodifiedSinceModified()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Unmodified-Since' => 'Tue, 06 Nov 1984 08:49:37 GMT',
- ]);
- $httpResponse = new HTTP\ResponseMock();
- $server->checkPreconditions($httpRequest, $httpResponse);
- }
-
- public function testIfUnmodifiedSinceInvalidDate()
- {
- $root = new SimpleCollection('root', [new ServerPreconditionsNode()]);
- $server = new Server($root);
- $httpRequest = new HTTP\Request('GET', '/foo', [
- 'If-Unmodified-Since' => 'Sun, 06 Nov 1984 08:49:37 CET',
- ]);
- $httpResponse = new HTTP\ResponseMock();
- $this->assertTrue($server->checkPreconditions($httpRequest, $httpResponse));
- }
-}
-
-class ServerPreconditionsNode extends File
-{
- public function getETag()
- {
- return '"abc123"';
- }
-
- public function getLastModified()
- {
- /* my birthday & time, I believe */
- return strtotime('1985-04-07 01:30 +02:00');
- }
-
- public function getName()
- {
- return 'foo';
- }
-}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php
index def9a9cfb..cd1ccfa53 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerPropsTest.php
@@ -6,9 +6,6 @@ namespace Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/HTTP/ResponseMock.php';
-require_once 'Sabre/DAV/AbstractServer.php';
-
class ServerPropsTest extends AbstractServer
{
protected function getRootNode()
@@ -16,7 +13,7 @@ class ServerPropsTest extends AbstractServer
return new FSExt\Directory(SABRE_TEMPDIR);
}
- public function setUp()
+ public function setup(): void
{
if (file_exists(SABRE_TEMPDIR.'../.sabredav')) {
unlink(SABRE_TEMPDIR.'../.sabredav');
@@ -28,7 +25,7 @@ class ServerPropsTest extends AbstractServer
$this->server->addPlugin(new Locks\Plugin(new Locks\Backend\File(SABRE_TEMPDIR.'/.locksdb')));
}
- public function tearDown()
+ public function teardown(): void
{
parent::tearDown();
if (file_exists(SABRE_TEMPDIR.'../.locksdb')) {
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php
index 93ea083d8..6d5be4608 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerRangeTest.php
@@ -23,7 +23,7 @@ class ServerRangeTest extends \Sabre\DAVServerTest
*/
protected $lastModified;
- public function setUp()
+ public function setup(): void
{
parent::setUp();
$this->server->createFile('files/test.txt', 'Test contents');
@@ -133,7 +133,7 @@ class ServerRangeTest extends \Sabre\DAVServerTest
$request = new HTTP\Request('GET', '/files/no-seeking.txt', ['Range' => 'bytes=2-5']);
$response = $this->request($request);
- $this->assertEquals(206, $response->getStatus(), $response);
+ $this->assertEquals(206, $response->getStatus());
$this->assertEquals([
'X-Sabre-Version' => [Version::VERSION],
'Content-Type' => ['application/octet-stream'],
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php b/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php
index 563f558eb..e4dd3cdb6 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/ServerSimpleTest.php
@@ -18,11 +18,9 @@ class ServerSimpleTest extends AbstractServer
$this->assertEquals($nodes[0], $server->tree->getNodeForPath('hello'));
}
- /**
- * @expectedException \Sabre\DAV\Exception
- */
public function testConstructInvalidArg()
{
+ $this->expectException('Sabre\DAV\Exception');
$server = new Server(1);
}
@@ -189,11 +187,9 @@ class ServerSimpleTest extends AbstractServer
}
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testCalculateUriBreakout()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$uri = '/path1/';
$this->server->setBaseUri('/path2/');
@@ -311,10 +307,10 @@ class ServerSimpleTest extends AbstractServer
/**
* @depends testGuessBaseUri
- * @expectedException \Sabre\DAV\Exception
*/
public function testGuessBaseUriBadConfig()
{
+ $this->expectException('Sabre\DAV\Exception');
$serverVars = [
'REQUEST_METHOD' => 'GET',
'REQUEST_URI' => '/index.php/root/heyyy',
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php
index 1e4b92197..bc36c6b78 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/StringUtilTest.php
@@ -72,19 +72,15 @@ class StringUtilTest extends \PHPUnit\Framework\TestCase
];
}
- /**
- * @expectedException \Sabre\DAV\Exception\BadRequest
- */
public function testBadCollation()
{
+ $this->expectException('Sabre\DAV\Exception\BadRequest');
StringUtil::textMatch('foobar', 'foo', 'blabla', 'contains');
}
- /**
- * @expectedException \Sabre\DAV\Exception\BadRequest
- */
public function testBadMatchType()
{
+ $this->expectException('Sabre\DAV\Exception\BadRequest');
StringUtil::textMatch('foobar', 'foo', 'i;octet', 'booh');
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php b/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php
index bae5b58bf..951078bf0 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/TemporaryFileFilterTest.php
@@ -8,7 +8,7 @@ use Sabre\HTTP;
class TemporaryFileFilterTest extends AbstractServer
{
- public function setUp()
+ public function setup(): void
{
parent::setUp();
$plugin = new TemporaryFileFilterPlugin(SABRE_TEMPDIR.'/tff');
diff --git a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php
index 51ff5ccde..e3f04ea3a 100644
--- a/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAV/TreeTest.php
@@ -203,8 +203,6 @@ class TreeFileTester extends File implements IProperties
*
* To update specific properties, call the 'handle' method on this object.
* Read the PropPatch documentation for more information.
- *
- * @param PropPatch $propPatch
*/
public function propPatch(PropPatch $propPatch)
{
@@ -221,8 +219,6 @@ class TreeMultiGetTester extends TreeDirectoryTester implements IMultiGet
*
* If any children are not found, you do not have to return them.
*
- * @param array $paths
- *
* @return array
*/
public function getMultipleChildren(array $paths)
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php
index 3627991bf..715559df3 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/ACLMethodTest.php
@@ -9,11 +9,9 @@ use Sabre\HTTP;
class ACLMethodTest extends \PHPUnit\Framework\TestCase
{
- /**
- * @expectedException \Sabre\DAV\Exception\BadRequest
- */
public function testCallback()
{
+ $this->expectException('Sabre\DAV\Exception\BadRequest');
$acl = new Plugin();
$server = new DAV\Server();
$server->addPlugin(new DAV\Auth\Plugin());
@@ -23,11 +21,11 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase
}
/**
- /**
- * @expectedException \Sabre\DAV\Exception\MethodNotAllowed
+ /**
*/
public function testNotSupportedByNode()
{
+ $this->expectException('Sabre\DAV\Exception\MethodNotAllowed');
$tree = [
new DAV\SimpleCollection('test'),
];
@@ -64,11 +62,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase
$this->assertFalse($acl->httpACL($server->httpRequest, $server->httpResponse));
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NotRecognizedPrincipal
- */
public function testUnrecognizedPrincipal()
{
+ $this->expectException('Sabre\DAVACL\Exception\NotRecognizedPrincipal');
$tree = [
new MockACLNode('test', []),
];
@@ -89,11 +85,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase
$acl->httpACL($server->httpRequest, $server->httpResponse);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NotRecognizedPrincipal
- */
public function testUnrecognizedPrincipal2()
{
+ $this->expectException('Sabre\DAVACL\Exception\NotRecognizedPrincipal');
$tree = [
new MockACLNode('test', []),
new DAV\SimpleCollection('principals', [
@@ -117,11 +111,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase
$acl->httpACL($server->httpRequest, $server->httpResponse);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NotSupportedPrivilege
- */
public function testUnknownPrivilege()
{
+ $this->expectException('Sabre\DAVACL\Exception\NotSupportedPrivilege');
$tree = [
new MockACLNode('test', []),
];
@@ -142,11 +134,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase
$acl->httpACL($server->httpRequest, $server->httpResponse);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NoAbstract
- */
public function testAbstractPrivilege()
{
+ $this->expectException('Sabre\DAVACL\Exception\NoAbstract');
$tree = [
new MockACLNode('test', []),
];
@@ -170,11 +160,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase
$acl->httpACL($server->httpRequest, $server->httpResponse);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\AceConflict
- */
public function testUpdateProtectedPrivilege()
{
+ $this->expectException('Sabre\DAVACL\Exception\AceConflict');
$oldACL = [
[
'principal' => 'principals/notfound',
@@ -203,11 +191,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase
$acl->httpACL($server->httpRequest, $server->httpResponse);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\AceConflict
- */
public function testUpdateProtectedPrivilege2()
{
+ $this->expectException('Sabre\DAVACL\Exception\AceConflict');
$oldACL = [
[
'principal' => 'principals/notfound',
@@ -236,11 +222,9 @@ class ACLMethodTest extends \PHPUnit\Framework\TestCase
$acl->httpACL($server->httpRequest, $server->httpResponse);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\AceConflict
- */
public function testUpdateProtectedPrivilege3()
{
+ $this->expectException('Sabre\DAVACL\Exception\AceConflict');
$oldACL = [
[
'principal' => 'principals/notfound',
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php
index 724abc685..04dd29c04 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/AllowAccessTest.php
@@ -13,7 +13,7 @@ class AllowAccessTest extends \PHPUnit\Framework\TestCase
*/
protected $server;
- public function setUp()
+ public function setup(): void
{
$nodes = [
new DAV\Mock\Collection('testdir', [
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php
index 3c3aaf6c9..566167ef0 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/BlockAccessTest.php
@@ -14,7 +14,7 @@ class BlockAccessTest extends \PHPUnit\Framework\TestCase
protected $server;
protected $plugin;
- public function setUp()
+ public function setup(): void
{
$nodes = [
new DAV\SimpleCollection('testdir'),
@@ -36,11 +36,9 @@ class BlockAccessTest extends \PHPUnit\Framework\TestCase
$this->server->addPlugin($this->plugin);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testGet()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('GET');
$this->server->httpRequest->setUrl('/testdir');
@@ -56,107 +54,87 @@ class BlockAccessTest extends \PHPUnit\Framework\TestCase
$this->assertTrue($r);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testHEAD()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('HEAD');
$this->server->httpRequest->setUrl('/testdir');
$this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testOPTIONS()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('OPTIONS');
$this->server->httpRequest->setUrl('/testdir');
$this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testPUT()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('PUT');
$this->server->httpRequest->setUrl('/testdir');
$this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testPROPPATCH()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('PROPPATCH');
$this->server->httpRequest->setUrl('/testdir');
$this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testCOPY()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('COPY');
$this->server->httpRequest->setUrl('/testdir');
$this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testMOVE()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('MOVE');
$this->server->httpRequest->setUrl('/testdir');
$this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testACL()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('ACL');
$this->server->httpRequest->setUrl('/testdir');
$this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testLOCK()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->httpRequest->setMethod('LOCK');
$this->server->httpRequest->setUrl('/testdir');
$this->server->emit('beforeMethod:GET', [$this->server->httpRequest, $this->server->httpResponse]);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testBeforeBind()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->emit('beforeBind', ['testdir/file']);
}
- /**
- * @expectedException \Sabre\DAVACL\Exception\NeedPrivileges
- */
public function testBeforeUnbind()
{
+ $this->expectException('Sabre\DAVACL\Exception\NeedPrivileges');
$this->server->emit('beforeUnbind', ['testdir']);
}
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php
index d0b67cfae..8afe6d30f 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/ExpandPropertiesTest.php
@@ -7,8 +7,6 @@ namespace Sabre\DAVACL;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/HTTP/ResponseMock.php';
-
class ExpandPropertiesTest extends \PHPUnit\Framework\TestCase
{
public function getServer()
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php
index 9ab16df74..048b9f249 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginAdminTest.php
@@ -7,14 +7,11 @@ namespace Sabre\DAVACL;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAVACL/MockACLNode.php';
-require_once 'Sabre/HTTP/ResponseMock.php';
-
class PluginAdminTest extends \PHPUnit\Framework\TestCase
{
public $server;
- public function setUp()
+ public function setup(): void
{
$principalBackend = new PrincipalBackend\Mock();
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php
index 169629a03..e6796e014 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PluginUpdatePropertiesTest.php
@@ -72,11 +72,9 @@ class PluginUpdatePropertiesTest extends \PHPUnit\Framework\TestCase
$this->assertEquals(['bar', 'baz'], $tree[0]->getGroupMemberSet());
}
- /**
- * @expectedException \Sabre\DAV\Exception
- */
public function testSetBadValue()
{
+ $this->expectException('Sabre\DAV\Exception');
$tree = [
new MockPrincipal('foo', 'foo'),
];
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php
index 95775d8fe..b18ab9488 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/AbstractPDOTest.php
@@ -10,7 +10,7 @@ abstract class AbstractPDOTest extends \PHPUnit\Framework\TestCase
{
use DAV\DbTestHelperTrait;
- public function setUp()
+ public function setup(): void
{
$this->dropTables(['principals', 'groupmembers']);
$this->createSchema('principals');
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php
index 551a77900..5f0434579 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalBackend/Mock.php
@@ -126,8 +126,7 @@ class Mock extends AbstractBackend
*
* Read the PropPatch documentation for more info and examples.
*
- * @param string $path
- * @param \Sabre\DAV\PropPatch $propPatch
+ * @param string $path
*/
public function updatePrincipal($path, \Sabre\DAV\PropPatch $propPatch)
{
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php
index 68aebe2ae..2777281a8 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalCollectionTest.php
@@ -33,10 +33,10 @@ class PrincipalCollectionTest extends \PHPUnit\Framework\TestCase
/**
* @depends testBasic
- * @expectedException \Sabre\DAV\Exception\MethodNotAllowed
*/
public function testGetChildrenDisable()
{
+ $this->expectException('Sabre\DAV\Exception\MethodNotAllowed');
$backend = new PrincipalBackend\Mock();
$pc = new PrincipalCollection($backend);
$pc->disableListing = true;
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php
index 55c64721e..6883f25b4 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalPropertySearchTest.php
@@ -7,8 +7,6 @@ namespace Sabre\DAVACL;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/HTTP/ResponseMock.php';
-
class PrincipalPropertySearchTest extends \PHPUnit\Framework\TestCase
{
public function getServer()
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php
index b44b46fc5..ec834fe1a 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalSearchPropertySetTest.php
@@ -7,8 +7,6 @@ namespace Sabre\DAVACL;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/HTTP/ResponseMock.php';
-
class PrincipalSearchPropertySetTest extends \PHPUnit\Framework\TestCase
{
public function getServer()
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php
index a4821da5a..7e1656a15 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/PrincipalTest.php
@@ -15,11 +15,9 @@ class PrincipalTest extends \PHPUnit\Framework\TestCase
$this->assertTrue($principal instanceof Principal);
}
- /**
- * @expectedException \Sabre\DAV\Exception
- */
public function testConstructNoUri()
{
+ $this->expectException('Sabre\DAV\Exception');
$principalBackend = new PrincipalBackend\Mock();
$principal = new Principal($principalBackend, []);
}
@@ -177,11 +175,9 @@ class PrincipalTest extends \PHPUnit\Framework\TestCase
], $principal->getACL());
}
- /**
- * @expectedException \Sabre\DAV\Exception\Forbidden
- */
public function testSetACl()
{
+ $this->expectException('Sabre\DAV\Exception\Forbidden');
$principalBackend = new PrincipalBackend\Mock();
$principal = new Principal($principalBackend, ['uri' => 'principals/admin']);
$principal->setACL([]);
diff --git a/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php b/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php
index a1e9ee36c..effa15838 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVACL/SimplePluginTest.php
@@ -7,9 +7,6 @@ namespace Sabre\DAVACL;
use Sabre\DAV;
use Sabre\HTTP;
-require_once 'Sabre/DAVACL/MockPrincipal.php';
-require_once 'Sabre/DAVACL/MockACLNode.php';
-
class SimplePluginTest extends \PHPUnit\Framework\TestCase
{
public function testValues()
diff --git a/vendor/sabre/dav/tests/Sabre/DAVServerTest.php b/vendor/sabre/dav/tests/Sabre/DAVServerTest.php
index 982090d23..2f64df08c 100644
--- a/vendor/sabre/dav/tests/Sabre/DAVServerTest.php
+++ b/vendor/sabre/dav/tests/Sabre/DAVServerTest.php
@@ -43,7 +43,7 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase
protected $carddavCards = [];
/**
- * @var Sabre\DAV\Server
+ * @var \Sabre\DAV\Server
*/
protected $server;
protected $tree = [];
@@ -82,12 +82,17 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase
protected $caldavSchedulePlugin;
/**
- * @var Sabre\DAV\Auth\Plugin
+ * @var CalDAV\ICSExportPlugin
+ */
+ protected $caldavICSExportPlugin;
+
+ /**
+ * @var \Sabre\DAV\Auth\Plugin
*/
protected $authPlugin;
/**
- * @var Sabre\DAV\Locks\Plugin
+ * @var \Sabre\DAV\Locks\Plugin
*/
protected $locksPlugin;
@@ -109,7 +114,7 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase
*/
protected $autoLogin = null;
- public function setUp()
+ public function setup(): void
{
$this->initializeEverything();
}
@@ -193,7 +198,7 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase
public function request($request, $expectedStatus = null)
{
if (is_array($request)) {
- $request = HTTP\Request::createFromServerArray($request);
+ $request = HTTP\Sapi::createFromServerArray($request);
}
$response = new HTTP\ResponseMock();
@@ -295,6 +300,6 @@ abstract class DAVServerTest extends \PHPUnit\Framework\TestCase
public function assertHttpStatus($expectedStatus, HTTP\Request $req)
{
$resp = $this->request($req);
- $this->assertEquals((int) $expectedStatus, (int) $resp->status, 'Incorrect HTTP status received: '.$resp->body);
+ $this->assertEquals((int) $expectedStatus, (int) $resp->getStatus(), 'Incorrect HTTP status received: '.$resp->getStatus());
}
}
diff --git a/vendor/sabre/dav/tests/bootstrap.php b/vendor/sabre/dav/tests/bootstrap.php
index bc79b86ab..d15805382 100644
--- a/vendor/sabre/dav/tests/bootstrap.php
+++ b/vendor/sabre/dav/tests/bootstrap.php
@@ -44,6 +44,7 @@ $config = [
];
if (file_exists(__DIR__.'/config.user.php')) {
+ $userConfig = [];
include __DIR__.'/config.user.php';
foreach ($userConfig as $key => $value) {
$config[$key] = $value;
diff --git a/vendor/sabre/event/.gitattributes b/vendor/sabre/event/.gitattributes
deleted file mode 100644
index 0fdd4b01c..000000000
--- a/vendor/sabre/event/.gitattributes
+++ /dev/null
@@ -1,2 +0,0 @@
-/examples export-ignore
-/tests export-ignore
diff --git a/vendor/sabre/event/.gitignore b/vendor/sabre/event/.gitignore
deleted file mode 100644
index d06a78164..000000000
--- a/vendor/sabre/event/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-#composer
-vendor
-composer.lock
-
-#binaries
-bin/sabre-cs-fixer
-bin/php-cs-fixer
-bin/phpunit
-
-#vim lock files
-.*.swp
-
-#development stuff
-tests/cov
diff --git a/vendor/sabre/event/.travis.yml b/vendor/sabre/event/.travis.yml
deleted file mode 100644
index 020488b79..000000000
--- a/vendor/sabre/event/.travis.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-language: php
-php:
- - 7.0
- - 7.1
- - 7.2
-
-env:
- matrix:
- - LOWEST_DEPS=""
- - LOWEST_DEPS="--prefer-lowest"
-
-before_script:
- - composer update --prefer-source $LOWEST_DEPS
-
-script:
- - ./bin/phpunit
- - ./bin/sabre-cs-fixer fix . --dry-run --diff
-
-sudo: false
-
-cache: vendor
diff --git a/vendor/sabre/event/CHANGELOG.md b/vendor/sabre/event/CHANGELOG.md
deleted file mode 100644
index 5b1fb2e68..000000000
--- a/vendor/sabre/event/CHANGELOG.md
+++ /dev/null
@@ -1,122 +0,0 @@
-ChangeLog
-=========
-5.0.3 (2018-05-03)
-------------------
-
-* Dropped remaining hhvm leftovers.
-* #55: Fixed typo in WildcardEmitterTrait (@SamMousa)
-* #54: export-ignore examples & tests in distribution (@staabm)
-
-5.0.2 (2017-04-29)
-------------------
-
-* #50: Fixed Promise\all to resolve immediately for empty arrays (@MadHed)
-* #48, #49: Performance optimisations for EmitterTrait and WildcardEmitterTrait (@lunixyacht).
-
-5.0.1 (2016-10-29)
-------------------
-
-* #45: Fixed `Emitter` class to use the correct interface. (@felixfbecker).
-
-
-5.0.0 (2016-10-23)
-------------------
-
-* #42: The `coroutine` function now supports `return` in the passed generator
- function. This allows you to more generally return a value. This is a BC
- break as this is a feature that was only made possible with PHP 7, and
- before the coroutine function would only ever return the last thing that
- was yielded. If you depended on that feature, replace your last `yield` with
- a `return`.
-
-
-4.0.0 (2016-09-19)
-------------------
-
-* sabre/event now requires PHP 7. If you need PHP 5.5 support, just keep
- using 3.0.0.
-* PHP 7 type hints are now used everywhere. We're also using strict_types.
-* Support for a new `WildcardEmitter` which allows you to listen for events
- using the `*` wildcard.
-* Removed deprecated functions `Promise::error` and `Promise::all`. Instead,
- use `Promise::otherwise` and `Promise\all()`.
-* `EventEmitter`, `EventEmitterTrait` and `EventEmitterInterface` are now just
- called `Emitter`, `EmitterTrait`, and `EmitterInterface`.
-* When rejecting Promises, it's now _required_ to use an `Exception` or
- `Throwable`. This makes the typical case simpler and reduces special cases.
-
-3.0.0 (2015-11-05)
-------------------
-
-* Now requires PHP 5.5!
-* `Promise::all()` is moved to `Promise\all()`.
-* Aside from the `Promise\all()` function, there's now also `Promise\race()`.
-* `Promise\reject()` and `Promise\resolve()` have also been added.
-* Now 100% compatible with the Ecmascript 6 Promise.
-
-
-3.0.0-alpha1 (2015-10-23)
--------------------------
-
-* This package now requires PHP 5.5.
-* #26: Added an event loop implementation. Also knows as the Reactor Pattern.
-* Renamed `Promise::error` to `Promise::otherwise` to be consistent with
- ReactPHP and Guzzle. The `error` method is kept for BC but will be removed
- in a future version.
-* #27: Support for Promise-based coroutines via the `Sabre\Event\coroutine`
- function.
-* BC Break: Promises now use the EventLoop to run "then"-events in a separate
- execution context. In practise that means you need to run the event loop to
- wait for any `then`/`otherwise` callbacks to trigger.
-* Promises now have a `wait()` method. Allowing you to make a promise
- synchronous and simply wait for a result (or exception) to happen.
-
-
-2.0.2 (2015-05-19)
-------------------
-
-* This release has no functional changes. It's just been brought up to date
- with the latest coding standards.
-
-
-2.0.1 (2014-10-06)
-------------------
-
-* Fixed: `$priority` was ignored in `EventEmitter::once` method.
-* Fixed: Breaking the event chain was not possible in `EventEmitter::once`.
-
-
-2.0.0 (2014-06-21)
-------------------
-
-* Added: When calling emit, it's now possible to specify a callback that will be
- triggered after each method handled. This is dubbed the 'continueCallback' and
- can be used to implement strategy patterns.
-* Added: Promise object!
-* Changed: EventEmitter::listeners now returns just the callbacks for an event,
- and no longer returns the list by reference. The list is now automatically
- sorted by priority.
-* Update: Speed improvements.
-* Updated: It's now possible to remove all listeners for every event.
-* Changed: Now uses psr-4 autoloading.
-
-
-1.0.1 (2014-06-12)
-------------------
-
-* hhvm compatible!
-* Fixed: Issue #4. Compatiblitiy for PHP < 5.4.14.
-
-
-1.0.0 (2013-07-19)
-------------------
-
-* Added: removeListener, removeAllListeners
-* Added: once, to only listen to an event emitting once.
-* Added README.md.
-
-
-0.0.1-alpha (2013-06-29)
-------------------------
-
-* First version!
diff --git a/vendor/sabre/event/README.md b/vendor/sabre/event/README.md
deleted file mode 100644
index 9e2bdd042..000000000
--- a/vendor/sabre/event/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
-sabre/event
-===========
-
-A lightweight library for event-based development in PHP.
-
-This library provides the following event-based concepts:
-
-1. EventEmitter.
-2. Promises.
-3. An event loop.
-4. Co-routines.
-
-Full documentation can be found on [the website][1].
-
-Installation
-------------
-
-Make sure you have [composer][3] installed, and then run:
-
- composer require sabre/event "^3.0"
-
-This package requires PHP 5.5. The 2.0 branch is still maintained as well, and
-supports PHP 5.4.
-
-Build status
-------------
-
-| branch | status |
-| ------ | ------ |
-| master | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=master)](https://travis-ci.org/sabre-io/event) |
-| 3.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=2.0)](https://travis-ci.org/sabre-io/event) |
-| 2.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=2.0)](https://travis-ci.org/sabre-io/event) |
-| 1.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=1.0)](https://travis-ci.org/sabre-io/event) |
-| php53 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=php53)](https://travis-ci.org/sabre-io/event) |
-
-
-Questions?
-----------
-
-Head over to the [sabre/dav mailinglist][4], or you can also just open a ticket
-on [GitHub][5].
-
-Made at fruux
--------------
-
-This library is being developed by [fruux](https://fruux.com/). Drop us a line for commercial services or enterprise support.
-
-[1]: http://sabre.io/event/
-[3]: http://getcomposer.org/
-[4]: http://groups.google.com/group/sabredav-discuss
-[5]: https://github.com/fruux/sabre-event/issues/
diff --git a/vendor/sabre/event/_config.yml b/vendor/sabre/event/_config.yml
deleted file mode 100644
index c4192631f..000000000
--- a/vendor/sabre/event/_config.yml
+++ /dev/null
@@ -1 +0,0 @@
-theme: jekyll-theme-cayman \ No newline at end of file
diff --git a/vendor/sabre/event/composer.json b/vendor/sabre/event/composer.json
index d7a13c5ca..144704118 100644
--- a/vendor/sabre/event/composer.json
+++ b/vendor/sabre/event/composer.json
@@ -16,7 +16,7 @@
"homepage": "http://sabre.io/event/",
"license": "BSD-3-Clause",
"require": {
- "php": ">=7.0"
+ "php": "^7.1"
},
"authors": [
{
@@ -41,8 +41,8 @@
]
},
"require-dev": {
- "sabre/cs": "~1.0.0",
- "phpunit/phpunit" : ">=6"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit" : "^7 || ^8"
},
"config" : {
"bin-dir" : "bin/"
diff --git a/vendor/sabre/event/lib/Emitter.php b/vendor/sabre/event/lib/Emitter.php
index ab5e8c90e..e1f23fc87 100644
--- a/vendor/sabre/event/lib/Emitter.php
+++ b/vendor/sabre/event/lib/Emitter.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -11,8 +13,7 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class Emitter implements EmitterInterface {
-
+class Emitter implements EmitterInterface
+{
use EmitterTrait;
-
}
diff --git a/vendor/sabre/event/lib/EmitterInterface.php b/vendor/sabre/event/lib/EmitterInterface.php
index a7e4b6132..6ce0f34db 100644
--- a/vendor/sabre/event/lib/EmitterInterface.php
+++ b/vendor/sabre/event/lib/EmitterInterface.php
@@ -1,9 +1,11 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
/**
- * Event Emitter Interface
+ * Event Emitter Interface.
*
* Anything that accepts listeners and emits events should implement this
* interface.
@@ -12,26 +14,22 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-interface EmitterInterface {
-
+interface EmitterInterface
+{
/**
* Subscribe to an event.
- *
- * @return void
*/
- function on(string $eventName, callable $callBack, int $priority = 100);
+ public function on(string $eventName, callable $callBack, int $priority = 100);
/**
* Subscribe to an event exactly once.
- *
- * @return void
*/
- function once(string $eventName, callable $callBack, int $priority = 100);
+ public function once(string $eventName, callable $callBack, int $priority = 100);
/**
* Emits an event.
*
- * This method will return true if 0 or more listeners were succesfully
+ * This method will return true if 0 or more listeners were successfully
* handled. false is returned if one of the events broke the event chain.
*
* If the continueCallBack is specified, this callback will be called every
@@ -49,7 +47,7 @@ interface EmitterInterface {
* Lastly, if there are 5 event handlers for an event. The continueCallback
* will be called at most 4 times.
*/
- function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool;
+ public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool;
/**
* Returns the list of listeners for an event.
@@ -59,7 +57,7 @@ interface EmitterInterface {
*
* @return callable[]
*/
- function listeners(string $eventName) : array;
+ public function listeners(string $eventName): array;
/**
* Removes a specific listener from an event.
@@ -67,7 +65,7 @@ interface EmitterInterface {
* If the listener could not be found, this method will return false. If it
* was removed it will return true.
*/
- function removeListener(string $eventName, callable $listener) : bool;
+ public function removeListener(string $eventName, callable $listener): bool;
/**
* Removes all listeners.
@@ -75,9 +73,6 @@ interface EmitterInterface {
* If the eventName argument is specified, all listeners for that event are
* removed. If it is not specified, every listener for every event is
* removed.
- *
- * @return void
*/
- function removeAllListeners(string $eventName = null);
-
+ public function removeAllListeners(string $eventName = null);
}
diff --git a/vendor/sabre/event/lib/EmitterTrait.php b/vendor/sabre/event/lib/EmitterTrait.php
index dafae362f..5502ef9f3 100644
--- a/vendor/sabre/event/lib/EmitterTrait.php
+++ b/vendor/sabre/event/lib/EmitterTrait.php
@@ -1,9 +1,11 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
/**
- * Event Emitter Trait
+ * Event Emitter Trait.
*
* This trait contains all the basic functions to implement an
* EventEmitterInterface.
@@ -15,53 +17,45 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-trait EmitterTrait {
-
-
+trait EmitterTrait
+{
/**
* Subscribe to an event.
- *
- * @return void
*/
- function on(string $eventName, callable $callBack, int $priority = 100) {
-
+ public function on(string $eventName, callable $callBack, int $priority = 100)
+ {
if (!isset($this->listeners[$eventName])) {
$this->listeners[$eventName] = [
true, // If there's only one item, it's sorted
[$priority],
- [$callBack]
+ [$callBack],
];
} else {
$this->listeners[$eventName][0] = false; // marked as unsorted
$this->listeners[$eventName][1][] = $priority;
$this->listeners[$eventName][2][] = $callBack;
}
-
}
/**
* Subscribe to an event exactly once.
- *
- * @return void
*/
- function once(string $eventName, callable $callBack, int $priority = 100) {
-
+ public function once(string $eventName, callable $callBack, int $priority = 100)
+ {
$wrapper = null;
- $wrapper = function() use ($eventName, $callBack, &$wrapper) {
-
+ $wrapper = function () use ($eventName, $callBack, &$wrapper) {
$this->removeListener($eventName, $wrapper);
- return \call_user_func_array($callBack, \func_get_args());
+ return \call_user_func_array($callBack, \func_get_args());
};
$this->on($eventName, $wrapper, $priority);
-
}
/**
* Emits an event.
*
- * This method will return true if 0 or more listeners were succesfully
+ * This method will return true if 0 or more listeners were successfully
* handled. false is returned if one of the events broke the event chain.
*
* If the continueCallBack is specified, this callback will be called every
@@ -79,41 +73,35 @@ trait EmitterTrait {
* Lastly, if there are 5 event handlers for an event. The continueCallback
* will be called at most 4 times.
*/
- function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool {
-
+ public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool
+ {
if (\is_null($continueCallBack)) {
-
foreach ($this->listeners($eventName) as $listener) {
-
$result = \call_user_func_array($listener, $arguments);
- if ($result === false) {
+ if (false === $result) {
return false;
}
}
-
} else {
-
$listeners = $this->listeners($eventName);
$counter = \count($listeners);
foreach ($listeners as $listener) {
-
- $counter--;
+ --$counter;
$result = \call_user_func_array($listener, $arguments);
- if ($result === false) {
+ if (false === $result) {
return false;
}
if ($counter > 0) {
- if (!$continueCallBack()) break;
+ if (!$continueCallBack()) {
+ break;
+ }
}
-
}
-
}
return true;
-
}
/**
@@ -124,15 +112,14 @@ trait EmitterTrait {
*
* @return callable[]
*/
- function listeners(string $eventName) : array {
-
+ public function listeners(string $eventName): array
+ {
if (!isset($this->listeners[$eventName])) {
return [];
}
// The list is not sorted
if (!$this->listeners[$eventName][0]) {
-
// Sorting
\array_multisort($this->listeners[$eventName][1], SORT_NUMERIC, $this->listeners[$eventName][2]);
@@ -141,7 +128,6 @@ trait EmitterTrait {
}
return $this->listeners[$eventName][2];
-
}
/**
@@ -150,8 +136,8 @@ trait EmitterTrait {
* If the listener could not be found, this method will return false. If it
* was removed it will return true.
*/
- function removeListener(string $eventName, callable $listener) : bool {
-
+ public function removeListener(string $eventName, callable $listener): bool
+ {
if (!isset($this->listeners[$eventName])) {
return false;
}
@@ -159,11 +145,12 @@ trait EmitterTrait {
if ($check === $listener) {
unset($this->listeners[$eventName][1][$index]);
unset($this->listeners[$eventName][2][$index]);
+
return true;
}
}
- return false;
+ return false;
}
/**
@@ -172,24 +159,20 @@ trait EmitterTrait {
* If the eventName argument is specified, all listeners for that event are
* removed. If it is not specified, every listener for every event is
* removed.
- *
- * @return void
*/
- function removeAllListeners(string $eventName = null) {
-
+ public function removeAllListeners(string $eventName = null)
+ {
if (!\is_null($eventName)) {
unset($this->listeners[$eventName]);
} else {
$this->listeners = [];
}
-
}
/**
- * The list of listeners
+ * The list of listeners.
*
* @var array
*/
protected $listeners = [];
-
}
diff --git a/vendor/sabre/event/lib/EventEmitter.php b/vendor/sabre/event/lib/EventEmitter.php
index cae6ac2a6..18971e3ee 100644
--- a/vendor/sabre/event/lib/EventEmitter.php
+++ b/vendor/sabre/event/lib/EventEmitter.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -12,8 +14,7 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class EventEmitter implements EmitterInterface {
-
+class EventEmitter implements EmitterInterface
+{
use EmitterTrait;
-
}
diff --git a/vendor/sabre/event/lib/Loop/Loop.php b/vendor/sabre/event/lib/Loop/Loop.php
index 301fe8920..ec09be921 100644
--- a/vendor/sabre/event/lib/Loop/Loop.php
+++ b/vendor/sabre/event/lib/Loop/Loop.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event\Loop;
@@ -15,20 +17,19 @@ namespace Sabre\Event\Loop;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class Loop {
-
+class Loop
+{
/**
* Executes a function after x seconds.
- *
- * @return void
*/
- function setTimeout(callable $cb, float $timeout) {
-
+ public function setTimeout(callable $cb, float $timeout)
+ {
$triggerTime = microtime(true) + ($timeout);
if (!$this->timers) {
// Special case when the timers array was empty.
$this->timers[] = [$triggerTime, $cb];
+
return;
}
@@ -46,14 +47,12 @@ class Loop {
[[$triggerTime, $cb]]
);
break;
- } elseif ($index === 0) {
+ } elseif (0 === $index) {
array_unshift($this->timers, [$triggerTime, $cb]);
break;
}
- $index--;
-
+ --$index;
}
-
}
/**
@@ -62,12 +61,12 @@ class Loop {
* The value this function returns can be used to stop the interval with
* clearInterval.
*/
- function setInterval(callable $cb, float $timeout) : array {
-
+ public function setInterval(callable $cb, float $timeout): array
+ {
$keepGoing = true;
$f = null;
- $f = function() use ($cb, &$f, $timeout, &$keepGoing) {
+ $f = function () use ($cb, &$f, $timeout, &$keepGoing) {
if ($keepGoing) {
$cb();
$this->setTimeout($f, $timeout);
@@ -82,32 +81,24 @@ class Loop {
// Because I'm worried people will be confused by using a boolean as a
// sort of identifier, I added an extra string.
return ['I\'m an implementation detail', &$keepGoing];
-
}
/**
* Stops a running interval.
- *
- * @return void
*/
- function clearInterval(array $intervalId) {
-
+ public function clearInterval(array $intervalId)
+ {
$intervalId[1] = false;
-
}
/**
* Runs a function immediately at the next iteration of the loop.
- *
- * @return void
*/
- function nextTick(callable $cb) {
-
+ public function nextTick(callable $cb)
+ {
$this->nextTick[] = $cb;
-
}
-
/**
* Adds a read stream.
*
@@ -118,13 +109,11 @@ class Loop {
* prevent the eventloop from never stopping.
*
* @param resource $stream
- * @return void
*/
- function addReadStream($stream, callable $cb) {
-
- $this->readStreams[(int)$stream] = $stream;
- $this->readCallbacks[(int)$stream] = $cb;
-
+ public function addReadStream($stream, callable $cb)
+ {
+ $this->readStreams[(int) $stream] = $stream;
+ $this->readCallbacks[(int) $stream] = $cb;
}
/**
@@ -137,65 +126,53 @@ class Loop {
* prevent the eventloop from never stopping.
*
* @param resource $stream
- * @return void
*/
- function addWriteStream($stream, callable $cb) {
-
- $this->writeStreams[(int)$stream] = $stream;
- $this->writeCallbacks[(int)$stream] = $cb;
-
+ public function addWriteStream($stream, callable $cb)
+ {
+ $this->writeStreams[(int) $stream] = $stream;
+ $this->writeCallbacks[(int) $stream] = $cb;
}
/**
* Stop watching a stream for reads.
*
* @param resource $stream
- * @return void
*/
- function removeReadStream($stream) {
-
+ public function removeReadStream($stream)
+ {
unset(
- $this->readStreams[(int)$stream],
- $this->readCallbacks[(int)$stream]
+ $this->readStreams[(int) $stream],
+ $this->readCallbacks[(int) $stream]
);
-
}
/**
* Stop watching a stream for writes.
*
* @param resource $stream
- * @return void
*/
- function removeWriteStream($stream) {
-
+ public function removeWriteStream($stream)
+ {
unset(
- $this->writeStreams[(int)$stream],
- $this->writeCallbacks[(int)$stream]
+ $this->writeStreams[(int) $stream],
+ $this->writeCallbacks[(int) $stream]
);
-
}
-
/**
* Runs the loop.
*
- * This function will run continiously, until there's no more events to
+ * This function will run continuously, until there's no more events to
* handle.
- *
- * @return void
*/
- function run() {
-
+ public function run()
+ {
$this->running = true;
do {
-
$hasEvents = $this->tick(true);
-
} while ($this->running && $hasEvents);
$this->running = false;
-
}
/**
@@ -210,8 +187,8 @@ class Loop {
* This function will return true if there are _any_ events left in the
* loop after the tick.
*/
- function tick(bool $block = false) : bool {
-
+ public function tick(bool $block = false): bool
+ {
$this->runNextTicks();
$nextTimeout = $this->runTimers();
@@ -232,19 +209,15 @@ class Loop {
$this->runStreams($streamWait);
- return ($this->readStreams || $this->writeStreams || $this->nextTick || $this->timers);
-
+ return $this->readStreams || $this->writeStreams || $this->nextTick || $this->timers;
}
/**
- * Stops a running eventloop
- *
- * @return void
+ * Stops a running eventloop.
*/
- function stop() {
-
+ public function stop()
+ {
$this->running = false;
-
}
/**
@@ -252,15 +225,14 @@ class Loop {
*
* return void
*/
- protected function runNextTicks() {
-
+ protected function runNextTicks()
+ {
$nextTick = $this->nextTick;
$this->nextTick = [];
foreach ($nextTick as $cb) {
$cb();
}
-
}
/**
@@ -273,8 +245,8 @@ class Loop {
*
* @return float|null
*/
- protected function runTimers() {
-
+ protected function runTimers()
+ {
$now = microtime(true);
while (($timer = array_pop($this->timers)) && $timer[0] < $now) {
$timer[1]();
@@ -282,9 +254,9 @@ class Loop {
// Add the last timer back to the array.
if ($timer) {
$this->timers[] = $timer;
+
return max(0, $timer[0] - microtime(true));
}
-
}
/**
@@ -295,36 +267,31 @@ class Loop {
*
* @param float|null timeout
*/
- protected function runStreams($timeout) {
-
+ protected function runStreams($timeout)
+ {
if ($this->readStreams || $this->writeStreams) {
-
$read = $this->readStreams;
$write = $this->writeStreams;
$except = null;
- if (stream_select($read, $write, $except, ($timeout === null) ? null : 0, $timeout ? (int)($timeout * 1000000) : 0)) {
-
+ if (stream_select($read, $write, $except, (null === $timeout) ? null : 0, $timeout ? (int) ($timeout * 1000000) : 0)) {
// See PHP Bug https://bugs.php.net/bug.php?id=62452
// Fixed in PHP7
foreach ($read as $readStream) {
- $readCb = $this->readCallbacks[(int)$readStream];
+ $readCb = $this->readCallbacks[(int) $readStream];
$readCb();
}
foreach ($write as $writeStream) {
- $writeCb = $this->writeCallbacks[(int)$writeStream];
+ $writeCb = $this->writeCallbacks[(int) $writeStream];
$writeCb();
}
-
}
-
} elseif ($this->running && ($this->nextTick || $this->timers)) {
- usleep($timeout !== null ? intval($timeout * 1000000) : 200000);
+ usleep(null !== $timeout ? intval($timeout * 1000000) : 200000);
}
-
}
/**
- * Is the main loop active
+ * Is the main loop active.
*
* @var bool
*/
@@ -361,16 +328,14 @@ class Loop {
/**
* List of read callbacks, indexed by stream id.
*
- * @var callback[]
+ * @var callable[]
*/
protected $readCallbacks = [];
/**
* List of write callbacks, indexed by stream id.
*
- * @var callback[]
+ * @var callable[]
*/
protected $writeCallbacks = [];
-
-
}
diff --git a/vendor/sabre/event/lib/Loop/functions.php b/vendor/sabre/event/lib/Loop/functions.php
index b5884b2b6..bf4d933f2 100644
--- a/vendor/sabre/event/lib/Loop/functions.php
+++ b/vendor/sabre/event/lib/Loop/functions.php
@@ -1,16 +1,15 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event\Loop;
/**
* Executes a function after x seconds.
- *
- * @return void
*/
-function setTimeout(callable $cb, float $timeout) {
-
+function setTimeout(callable $cb, float $timeout)
+{
instance()->setTimeout($cb, $timeout);
-
}
/**
@@ -19,35 +18,27 @@ function setTimeout(callable $cb, float $timeout) {
* The value this function returns can be used to stop the interval with
* clearInterval.
*/
-function setInterval(callable $cb, float $timeout) : array {
-
+function setInterval(callable $cb, float $timeout): array
+{
return instance()->setInterval($cb, $timeout);
-
}
/**
* Stops a running interval.
- *
- * @return void
*/
-function clearInterval(array $intervalId) {
-
+function clearInterval(array $intervalId)
+{
instance()->clearInterval($intervalId);
-
}
/**
* Runs a function immediately at the next iteration of the loop.
- *
- * @return void
*/
-function nextTick(callable $cb) {
-
+function nextTick(callable $cb)
+{
instance()->nextTick($cb);
-
}
-
/**
* Adds a read stream.
*
@@ -58,12 +49,10 @@ function nextTick(callable $cb) {
* prevent the eventloop from never stopping.
*
* @param resource $stream
- * @return void
*/
-function addReadStream($stream, callable $cb) {
-
+function addReadStream($stream, callable $cb)
+{
instance()->addReadStream($stream, $cb);
-
}
/**
@@ -76,51 +65,41 @@ function addReadStream($stream, callable $cb) {
* prevent the eventloop from never stopping.
*
* @param resource $stream
- * @return void
*/
-function addWriteStream($stream, callable $cb) {
-
+function addWriteStream($stream, callable $cb)
+{
instance()->addWriteStream($stream, $cb);
-
}
/**
* Stop watching a stream for reads.
*
* @param resource $stream
- * @return void
*/
-function removeReadStream($stream) {
-
+function removeReadStream($stream)
+{
instance()->removeReadStream($stream);
-
}
/**
* Stop watching a stream for writes.
*
* @param resource $stream
- * @return void
*/
-function removeWriteStream($stream) {
-
+function removeWriteStream($stream)
+{
instance()->removeWriteStream($stream);
-
}
-
/**
* Runs the loop.
*
- * This function will run continiously, until there's no more events to
+ * This function will run continuously, until there's no more events to
* handle.
- *
- * @return void
*/
-function run() {
-
+function run()
+{
instance()->run();
-
}
/**
@@ -135,34 +114,30 @@ function run() {
* This function will return true if there are _any_ events left in the
* loop after the tick.
*/
-function tick(bool $block = false) : bool {
-
+function tick(bool $block = false): bool
+{
return instance()->tick($block);
-
}
/**
- * Stops a running eventloop
- *
- * @return void
+ * Stops a running eventloop.
*/
-function stop() {
-
+function stop()
+{
instance()->stop();
-
}
/**
* Retrieves or sets the global Loop object.
*/
-function instance(Loop $newLoop = null) : Loop {
-
+function instance(Loop $newLoop = null): Loop
+{
static $loop;
if ($newLoop) {
$loop = $newLoop;
} elseif (!$loop) {
$loop = new Loop();
}
- return $loop;
+ return $loop;
}
diff --git a/vendor/sabre/event/lib/Promise.php b/vendor/sabre/event/lib/Promise.php
index 1d04bd4d4..1d4ddd74a 100644
--- a/vendor/sabre/event/lib/Promise.php
+++ b/vendor/sabre/event/lib/Promise.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -21,8 +23,8 @@ use Throwable;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class Promise {
-
+class Promise
+{
/**
* The asynchronous operation is pending.
*/
@@ -54,15 +56,14 @@ class Promise {
* Each are callbacks that map to $this->fulfill and $this->reject.
* Using the executor is optional.
*/
- function __construct(callable $executor = null) {
-
+ public function __construct(callable $executor = null)
+ {
if ($executor) {
$executor(
[$this, 'fulfill'],
[$this, 'reject']
);
}
-
}
/**
@@ -84,32 +85,32 @@ class Promise {
* If either of the callbacks throw an exception, the returned promise will
* be rejected and the exception will be passed back.
*/
- function then(callable $onFulfilled = null, callable $onRejected = null) : Promise {
-
+ public function then(callable $onFulfilled = null, callable $onRejected = null): Promise
+ {
// This new subPromise will be returned from this function, and will
// be fulfilled with the result of the onFulfilled or onRejected event
// handlers.
$subPromise = new self();
switch ($this->state) {
- case self::PENDING :
+ case self::PENDING:
// The operation is pending, so we keep a reference to the
// event handlers so we can call them later.
$this->subscribers[] = [$subPromise, $onFulfilled, $onRejected];
break;
- case self::FULFILLED :
+ case self::FULFILLED:
// The async operation is already fulfilled, so we trigger the
// onFulfilled callback asap.
$this->invokeCallback($subPromise, $onFulfilled);
break;
- case self::REJECTED :
- // The async operation failed, so we call teh onRejected
+ case self::REJECTED:
+ // The async operation failed, so we call the onRejected
// callback asap.
$this->invokeCallback($subPromise, $onRejected);
break;
}
- return $subPromise;
+ return $subPromise;
}
/**
@@ -118,20 +119,19 @@ class Promise {
* Its usage is identical to then(). However, the otherwise() function is
* preferred.
*/
- function otherwise(callable $onRejected) : Promise {
-
+ public function otherwise(callable $onRejected): Promise
+ {
return $this->then(null, $onRejected);
-
}
/**
* Marks this promise as fulfilled and sets its return value.
*
* @param mixed $value
- * @return void
*/
- function fulfill($value = null) {
- if ($this->state !== self::PENDING) {
+ public function fulfill($value = null)
+ {
+ if (self::PENDING !== $this->state) {
throw new PromiseAlreadyResolvedException('This promise is already resolved, and you\'re not allowed to resolve a promise more than once');
}
$this->state = self::FULFILLED;
@@ -143,11 +143,10 @@ class Promise {
/**
* Marks this promise as rejected, and set it's rejection reason.
- *
- * @return void
*/
- function reject(Throwable $reason) {
- if ($this->state !== self::PENDING) {
+ public function reject(Throwable $reason)
+ {
+ if (self::PENDING !== $this->state) {
throw new PromiseAlreadyResolvedException('This promise is already resolved, and you\'re not allowed to resolve a promise more than once');
}
$this->state = self::REJECTED;
@@ -155,13 +154,12 @@ class Promise {
foreach ($this->subscribers as $subscriber) {
$this->invokeCallback($subscriber[0], $subscriber[2]);
}
-
}
/**
* Stops execution until this promise is resolved.
*
- * This method stops exection completely. If the promise is successful with
+ * This method stops execution completely. If the promise is successful with
* a value, this method will return this value. If the promise was
* rejected, this method will throw an exception.
*
@@ -171,11 +169,10 @@ class Promise {
*
* @return mixed
*/
- function wait() {
-
+ public function wait()
+ {
$hasEvents = true;
- while ($this->state === self::PENDING) {
-
+ while (self::PENDING === $this->state) {
if (!$hasEvents) {
throw new \LogicException('There were no more events in the loop. This promise will never be fulfilled.');
}
@@ -183,10 +180,9 @@ class Promise {
// As long as the promise is not fulfilled, we tell the event loop
// to handle events, and to block.
$hasEvents = Loop\tick(true);
-
}
- if ($this->state === self::FULFILLED) {
+ if (self::FULFILLED === $this->state) {
// If the state of this promise is fulfilled, we can return the value.
return $this->value;
} else {
@@ -194,11 +190,8 @@ class Promise {
// errored. Therefore we need to throw an exception.
throw $this->value;
}
-
-
}
-
/**
* A list of subscribers. Subscribers are the callbacks that want us to let
* them know if the callback was fulfilled or rejected.
@@ -224,21 +217,18 @@ class Promise {
* correctly, and any chained promises are also correctly fulfilled or
* rejected.
*
- * @param Promise $subPromise
* @param callable $callBack
- * @return void
*/
- private function invokeCallback(Promise $subPromise, callable $callBack = null) {
-
+ private function invokeCallback(Promise $subPromise, callable $callBack = null)
+ {
// We use 'nextTick' to ensure that the event handlers are always
// triggered outside of the calling stack in which they were originally
// passed to 'then'.
//
// This makes the order of execution more predictable.
- Loop\nextTick(function() use ($callBack, $subPromise) {
+ Loop\nextTick(function () use ($callBack, $subPromise) {
if (is_callable($callBack)) {
try {
-
$result = $callBack($this->value);
if ($result instanceof self) {
// If the callback (onRejected or onFulfilled)
@@ -257,7 +247,7 @@ class Promise {
$subPromise->reject($e);
}
} else {
- if ($this->state === self::FULFILLED) {
+ if (self::FULFILLED === $this->state) {
$subPromise->fulfill($this->value);
} else {
$subPromise->reject($this->value);
@@ -265,5 +255,4 @@ class Promise {
}
});
}
-
}
diff --git a/vendor/sabre/event/lib/Promise/functions.php b/vendor/sabre/event/lib/Promise/functions.php
index 275492cbc..986fe2b00 100644
--- a/vendor/sabre/event/lib/Promise/functions.php
+++ b/vendor/sabre/event/lib/Promise/functions.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event\Promise;
@@ -14,7 +16,6 @@ use Throwable;
* @license http://sabre.io/license/ Modified BSD License
*/
-
/**
* This function takes an array of Promises, and returns a Promise that
* resolves when all of the given arguments have resolved.
@@ -24,17 +25,17 @@ use Throwable;
*
* This array will be in the exact same order as the array of input promises.
*
- * If any of the given Promises fails, the returned promise will immidiately
+ * If any of the given Promises fails, the returned promise will immediately
* fail with the first Promise that fails, and its reason.
*
* @param Promise[] $promises
*/
-function all(array $promises) : Promise {
-
- return new Promise(function($success, $fail) use ($promises) {
-
+function all(array $promises): Promise
+{
+ return new Promise(function ($success, $fail) use ($promises) {
if (empty($promises)) {
$success([]);
+
return;
}
@@ -42,25 +43,23 @@ function all(array $promises) : Promise {
$completeResult = [];
foreach ($promises as $promiseIndex => $subPromise) {
-
$subPromise->then(
- function($result) use ($promiseIndex, &$completeResult, &$successCount, $success, $promises) {
+ function ($result) use ($promiseIndex, &$completeResult, &$successCount, $success, $promises) {
$completeResult[$promiseIndex] = $result;
- $successCount++;
+ ++$successCount;
if ($successCount === count($promises)) {
$success($completeResult);
}
+
return $result;
}
)->otherwise(
- function($reason) use ($fail) {
+ function ($reason) use ($fail) {
$fail($reason);
}
);
-
}
});
-
}
/**
@@ -72,22 +71,20 @@ function all(array $promises) : Promise {
*
* @param Promise[] $promises
*/
-function race(array $promises) : Promise {
-
- return new Promise(function($success, $fail) use ($promises) {
-
+function race(array $promises): Promise
+{
+ return new Promise(function ($success, $fail) use ($promises) {
$alreadyDone = false;
foreach ($promises as $promise) {
-
$promise->then(
- function($result) use ($success, &$alreadyDone) {
+ function ($result) use ($success, &$alreadyDone) {
if ($alreadyDone) {
return;
}
$alreadyDone = true;
$success($result);
},
- function($reason) use ($fail, &$alreadyDone) {
+ function ($reason) use ($fail, &$alreadyDone) {
if ($alreadyDone) {
return;
}
@@ -95,14 +92,10 @@ function race(array $promises) : Promise {
$fail($reason);
}
);
-
}
-
});
-
}
-
/**
* Returns a Promise that resolves with the given value.
*
@@ -111,25 +104,25 @@ function race(array $promises) : Promise {
*
* @param mixed $value
*/
-function resolve($value) : Promise {
-
+function resolve($value): Promise
+{
if ($value instanceof Promise) {
return $value->then();
} else {
$promise = new Promise();
$promise->fulfill($value);
+
return $promise;
}
-
}
/**
* Returns a Promise that will reject with the given reason.
*/
-function reject(Throwable $reason) : Promise {
-
+function reject(Throwable $reason): Promise
+{
$promise = new Promise();
$promise->reject($reason);
- return $promise;
+ return $promise;
}
diff --git a/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php b/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php
index 534a3d494..abb6c108e 100644
--- a/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php
+++ b/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -10,6 +12,6 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class PromiseAlreadyResolvedException extends \LogicException {
-
+class PromiseAlreadyResolvedException extends \LogicException
+{
}
diff --git a/vendor/sabre/event/lib/Version.php b/vendor/sabre/event/lib/Version.php
index 9aee4b3ab..e98e2e3ff 100644
--- a/vendor/sabre/event/lib/Version.php
+++ b/vendor/sabre/event/lib/Version.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -9,11 +11,10 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class Version {
-
+class Version
+{
/**
- * Full version number
+ * Full version number.
*/
- const VERSION = '5.0.3';
-
+ const VERSION = '5.1.0';
}
diff --git a/vendor/sabre/event/lib/WildcardEmitter.php b/vendor/sabre/event/lib/WildcardEmitter.php
index 2ef15fe83..1b7c248b2 100644
--- a/vendor/sabre/event/lib/WildcardEmitter.php
+++ b/vendor/sabre/event/lib/WildcardEmitter.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -14,7 +16,7 @@ namespace Sabre\Event;
* on('change:*')
*
* A few notes:
- *
+ *
* - Wildcards only work at the end of an event name.
* - Currently you can only use 1 wildcard.
* - Using ":" as a separator is optional, but it's highly recommended to use
@@ -28,10 +30,7 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class WildcardEmitter implements EmitterInterface {
-
+class WildcardEmitter implements EmitterInterface
+{
use WildcardEmitterTrait;
-
-
-
}
diff --git a/vendor/sabre/event/lib/WildcardEmitterTrait.php b/vendor/sabre/event/lib/WildcardEmitterTrait.php
index 7d8d62c26..206a8f3c5 100644
--- a/vendor/sabre/event/lib/WildcardEmitterTrait.php
+++ b/vendor/sabre/event/lib/WildcardEmitterTrait.php
@@ -1,9 +1,11 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
/**
- * Wildcard Emitter Trait
+ * Wildcard Emitter Trait.
*
* This trait provides the implementation for WildCardEmitter
* Refer to that class for the full documentation about this
@@ -17,21 +19,19 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-trait WildcardEmitterTrait {
-
+trait WildcardEmitterTrait
+{
/**
* Subscribe to an event.
- *
- * @return void
*/
- function on(string $eventName, callable $callBack, int $priority = 100) {
-
- // If it ends with a wildcard, we use the wildcardListeners array
- if ($eventName[\strlen($eventName) - 1] === '*') {
+ public function on(string $eventName, callable $callBack, int $priority = 100)
+ {
+ // If it ends with a wildcard, we use the wildcardListeners array
+ if ('*' === $eventName[\strlen($eventName) - 1]) {
$eventName = \substr($eventName, 0, -1);
- $listeners = & $this->wildcardListeners;
+ $listeners = &$this->wildcardListeners;
} else {
- $listeners = & $this->listeners;
+ $listeners = &$this->listeners;
}
// Always fully reset the listener index. This is fairly sane for most
@@ -44,32 +44,27 @@ trait WildcardEmitterTrait {
$listeners[$eventName] = [];
}
$listeners[$eventName][] = [$priority, $callBack];
-
}
/**
* Subscribe to an event exactly once.
- *
- * @return void
*/
- function once(string $eventName, callable $callBack, int $priority = 100) {
-
+ public function once(string $eventName, callable $callBack, int $priority = 100)
+ {
$wrapper = null;
- $wrapper = function() use ($eventName, $callBack, &$wrapper) {
-
+ $wrapper = function () use ($eventName, $callBack, &$wrapper) {
$this->removeListener($eventName, $wrapper);
- return \call_user_func_array($callBack, \func_get_args());
+ return \call_user_func_array($callBack, \func_get_args());
};
$this->on($eventName, $wrapper, $priority);
-
}
/**
* Emits an event.
*
- * This method will return true if 0 or more listeners were succesfully
+ * This method will return true if 0 or more listeners were successfully
* handled. false is returned if one of the events broke the event chain.
*
* If the continueCallBack is specified, this callback will be called every
@@ -87,42 +82,35 @@ trait WildcardEmitterTrait {
* Lastly, if there are 5 event handlers for an event. The continueCallback
* will be called at most 4 times.
*/
- function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool {
-
+ public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool
+ {
if (\is_null($continueCallBack)) {
-
foreach ($this->listeners($eventName) as $listener) {
-
$result = \call_user_func_array($listener, $arguments);
- if ($result === false) {
+ if (false === $result) {
return false;
}
}
-
} else {
-
$listeners = $this->listeners($eventName);
$counter = \count($listeners);
foreach ($listeners as $listener) {
-
- $counter--;
+ --$counter;
$result = \call_user_func_array($listener, $arguments);
- if ($result === false) {
+ if (false === $result) {
return false;
}
if ($counter > 0) {
- if (!$continueCallBack()) break;
+ if (!$continueCallBack()) {
+ break;
+ }
}
-
}
-
}
return true;
-
-
}
/**
@@ -133,34 +121,27 @@ trait WildcardEmitterTrait {
*
* @return callable[]
*/
- function listeners(string $eventName) : array {
-
+ public function listeners(string $eventName): array
+ {
if (!\array_key_exists($eventName, $this->listenerIndex)) {
-
// Create a new index.
$listeners = [];
$listenersPriority = [];
- if (isset($this->listeners[$eventName])) foreach ($this->listeners[$eventName] as $listener) {
-
- $listenersPriority[] = $listener[0];
- $listeners[] = $listener[1];
-
+ if (isset($this->listeners[$eventName])) {
+ foreach ($this->listeners[$eventName] as $listener) {
+ $listenersPriority[] = $listener[0];
+ $listeners[] = $listener[1];
+ }
}
foreach ($this->wildcardListeners as $wcEvent => $wcListeners) {
-
// Wildcard match
if (\substr($eventName, 0, \strlen($wcEvent)) === $wcEvent) {
-
foreach ($wcListeners as $listener) {
-
$listenersPriority[] = $listener[0];
$listeners[] = $listener[1];
-
}
-
}
-
}
// Sorting by priority
@@ -168,11 +149,9 @@ trait WildcardEmitterTrait {
// Creating index
$this->listenerIndex[$eventName] = $listeners;
-
}
return $this->listenerIndex[$eventName];
-
}
/**
@@ -181,14 +160,14 @@ trait WildcardEmitterTrait {
* If the listener could not be found, this method will return false. If it
* was removed it will return true.
*/
- function removeListener(string $eventName, callable $listener) : bool {
-
- // If it ends with a wildcard, we use the wildcardListeners array
- if ($eventName[\strlen($eventName) - 1] === '*') {
+ public function removeListener(string $eventName, callable $listener): bool
+ {
+ // If it ends with a wildcard, we use the wildcardListeners array
+ if ('*' === $eventName[\strlen($eventName) - 1]) {
$eventName = \substr($eventName, 0, -1);
- $listeners = & $this->wildcardListeners;
+ $listeners = &$this->wildcardListeners;
} else {
- $listeners = & $this->listeners;
+ $listeners = &$this->listeners;
}
if (!isset($listeners[$eventName])) {
@@ -196,21 +175,17 @@ trait WildcardEmitterTrait {
}
foreach ($listeners[$eventName] as $index => $check) {
-
if ($check[1] === $listener) {
-
// Remove listener
unset($listeners[$eventName][$index]);
// Reset index
$this->listenerIndex = [];
- return true;
+ return true;
}
-
}
return false;
-
}
/**
@@ -219,38 +194,32 @@ trait WildcardEmitterTrait {
* If the eventName argument is specified, all listeners for that event are
* removed. If it is not specified, every listener for every event is
* removed.
- *
- * @return void
*/
- function removeAllListeners(string $eventName = null) {
-
+ public function removeAllListeners(string $eventName = null)
+ {
if (\is_null($eventName)) {
$this->listeners = [];
$this->wildcardListeners = [];
-
} else {
-
- if ($eventName[\strlen($eventName) - 1] === '*') {
+ if ('*' === $eventName[\strlen($eventName) - 1]) {
// Wildcard event
unset($this->wildcardListeners[\substr($eventName, 0, -1)]);
} else {
unset($this->listeners[$eventName]);
}
-
}
// Reset index
$this->listenerIndex = [];
-
}
/**
- * The list of listeners
+ * The list of listeners.
*/
protected $listeners = [];
/**
- * The list of "wildcard listeners".
+ * The list of "wildcard listeners".
*/
protected $wildcardListeners = [];
diff --git a/vendor/sabre/event/lib/coroutine.php b/vendor/sabre/event/lib/coroutine.php
index 750e8ab52..a6a2baf41 100644
--- a/vendor/sabre/event/lib/coroutine.php
+++ b/vendor/sabre/event/lib/coroutine.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -41,12 +43,13 @@ use Throwable;
* });
*
* @return \Sabre\Event\Promise
+ *
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-function coroutine(callable $gen) : Promise {
-
+function coroutine(callable $gen): Promise
+{
$generator = $gen();
if (!$generator instanceof Generator) {
throw new \InvalidArgumentException('You must pass a generator function');
@@ -59,22 +62,20 @@ function coroutine(callable $gen) : Promise {
* So tempted to use the mythical y-combinator here, but it's not needed in
* PHP.
*/
- $advanceGenerator = function() use (&$advanceGenerator, $generator, $promise, &$lastYieldResult) {
-
+ $advanceGenerator = function () use (&$advanceGenerator, $generator, $promise) {
while ($generator->valid()) {
-
$yieldedValue = $generator->current();
if ($yieldedValue instanceof Promise) {
$yieldedValue->then(
- function($value) use ($generator, &$advanceGenerator, &$lastYieldResult) {
+ function ($value) use ($generator, &$advanceGenerator) {
$generator->send($value);
$advanceGenerator();
},
- function(Throwable $reason) use ($generator, $advanceGenerator) {
+ function (Throwable $reason) use ($generator, $advanceGenerator) {
$generator->throw($reason);
$advanceGenerator();
}
- )->otherwise(function(Throwable $reason) use ($promise) {
+ )->otherwise(function (Throwable $reason) use ($promise) {
// This error handler would be called, if something in the
// generator throws an exception, and it's not caught
// locally.
@@ -87,31 +88,25 @@ function coroutine(callable $gen) : Promise {
// If the value was not a promise, we'll just let it pass through.
$generator->send($yieldedValue);
}
-
}
// If the generator is at the end, and we didn't run into an exception,
// We're grabbing the "return" value and fulfilling our top-level
// promise with its value.
- if (!$generator->valid() && $promise->state === Promise::PENDING) {
- $returnValue = $generator->getReturn();
-
- // The return value is a promise.
- if ($returnValue instanceof Promise) {
- $returnValue->then(function($value) use ($promise) {
- $promise->fulfill($value);
- }, function(Throwable $reason) {
- $promise->reject($reason);
- });
- } else {
-
- $promise->fulfill($returnValue);
-
- }
-
-
+ if (!$generator->valid() && Promise::PENDING === $promise->state) {
+ $returnValue = $generator->getReturn();
+
+ // The return value is a promise.
+ if ($returnValue instanceof Promise) {
+ $returnValue->then(function ($value) use ($promise) {
+ $promise->fulfill($value);
+ }, function (Throwable $reason) use ($promise) {
+ $promise->reject($reason);
+ });
+ } else {
+ $promise->fulfill($returnValue);
+ }
}
-
};
try {
@@ -121,5 +116,4 @@ function coroutine(callable $gen) : Promise {
}
return $promise;
-
}
diff --git a/vendor/sabre/event/phpunit.xml.dist b/vendor/sabre/event/phpunit.xml.dist
deleted file mode 100644
index ccd59be9c..000000000
--- a/vendor/sabre/event/phpunit.xml.dist
+++ /dev/null
@@ -1,18 +0,0 @@
-<phpunit
- colors="true"
- bootstrap="vendor/autoload.php"
- convertErrorsToExceptions="true"
- convertNoticesToExceptions="true"
- convertWarningsToExceptions="true"
- strict="true"
- >
- <testsuite name="sabre-event">
- <directory>tests/</directory>
- </testsuite>
-
- <filter>
- <whitelist addUncoveredFilesFromWhitelist="true">
- <directory suffix=".php">./lib/</directory>
- </whitelist>
- </filter>
-</phpunit>
diff --git a/vendor/sabre/http/.gitignore b/vendor/sabre/http/.gitignore
index 5f85ecc1b..d291af69a 100644
--- a/vendor/sabre/http/.gitignore
+++ b/vendor/sabre/http/.gitignore
@@ -5,14 +5,19 @@ composer.lock
# Tests
tests/cov/
+# phpunit cache
+.phpunit.result.cache
+
# Composer binaries
bin/phpunit*
bin/phpcs*
bin/php-cs-fixer*
-bin/sabre-cs-fixer*
+bin/phpstan
+bin/phpstan.phar
# Vim
.*.swp
# development stuff
+/.idea
.php_cs.cache
diff --git a/vendor/sabre/http/.php_cs.dist b/vendor/sabre/http/.php_cs.dist
index 8d61ee259..c5c78a971 100644
--- a/vendor/sabre/http/.php_cs.dist
+++ b/vendor/sabre/http/.php_cs.dist
@@ -6,7 +6,7 @@ $config->getFinder()
->in(__DIR__);
$config->setRules([
'@PSR1' => true,
- '@Symfony' =>true
+ '@Symfony' => true
]);
return $config; \ No newline at end of file
diff --git a/vendor/sabre/http/.travis.yml b/vendor/sabre/http/.travis.yml
index 3b85d5f39..daa24bff5 100644
--- a/vendor/sabre/http/.travis.yml
+++ b/vendor/sabre/http/.travis.yml
@@ -1,11 +1,10 @@
language: php
sudo: required
php:
- - 7.0
- 7.1
- 7.2
- 7.3
- - 7.4snapshot
+ - 7.4
env:
global:
@@ -26,7 +25,7 @@ cache:
- $HOME/.composer/cache
install:
- - if [ $RUN_PHPSTAN == "TRUE" ]; then composer require --dev phpstan/phpstan; fi
+ - if [ $RUN_PHPSTAN == "TRUE" ]; then composer require --dev phpstan/phpstan:^0.12; fi
before_script:
- composer update --prefer-source $PREFER_LOWEST
@@ -34,6 +33,7 @@ before_script:
- sudo $PHP_BIN -S localhost:80 -t $TRAVIS_BUILD_DIR/tests/www 2>/dev/null &
script:
+ - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/php-cs-fixer fix --dry-run --diff; fi
- if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/phpunit --configuration tests/phpunit.xml $WITH_COVERAGE; fi
- if [ $RUN_PHPSTAN == "TRUE" ]; then php ./bin/phpstan analyse -c phpstan.neon lib; fi
diff --git a/vendor/sabre/http/CHANGELOG.md b/vendor/sabre/http/CHANGELOG.md
index e300aad09..716e09e68 100644
--- a/vendor/sabre/http/CHANGELOG.md
+++ b/vendor/sabre/http/CHANGELOG.md
@@ -1,6 +1,13 @@
ChangeLog
=========
+5.1.0 (2020-01-31)
+-------------------------
+
+* Added support for PHP 7.4, dropped support for PHP 7.0 (@phil-davis)
+* Updated testsuite for phpunit8, added phpstan coverage (@phil-davis)
+* Added autoload-dev for test classes (@C0pyR1ght)
+
5.0.5 (2019-11-28)
-------------------------
diff --git a/vendor/sabre/http/composer.json b/vendor/sabre/http/composer.json
index 851a08730..198cf2344 100644
--- a/vendor/sabre/http/composer.json
+++ b/vendor/sabre/http/composer.json
@@ -5,7 +5,7 @@
"homepage" : "https://github.com/fruux/sabre-http",
"license" : "BSD-3-Clause",
"require" : {
- "php" : "^7.0",
+ "php" : "^7.1",
"ext-mbstring" : "*",
"ext-ctype" : "*",
"ext-curl" : "*",
@@ -13,7 +13,8 @@
"sabre/uri" : "^2.0"
},
"require-dev" : {
- "phpunit/phpunit" : "^6.0 || ^7.0"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit" : "^7.0 || ^8.0"
},
"suggest" : {
"ext-curl" : " to make http requests with the Client class"
@@ -38,6 +39,11 @@
"Sabre\\HTTP\\" : "lib/"
}
},
+ "autoload-dev" : {
+ "psr-4" : {
+ "Sabre\\HTTP\\" : "tests/HTTP"
+ }
+ },
"config" : {
"bin-dir" : "bin/"
}
diff --git a/vendor/sabre/http/lib/Client.php b/vendor/sabre/http/lib/Client.php
index 48862e7da..b79c564da 100644
--- a/vendor/sabre/http/lib/Client.php
+++ b/vendor/sabre/http/lib/Client.php
@@ -450,8 +450,6 @@ class Client extends EventEmitter
* * http_code - HTTP status code, as an int. Only set if Only set if
* status is STATUS_SUCCESS, or STATUS_HTTPERROR
*
- * @param array $headerLines
- * @param string $body
* @param resource $curlHandle
*/
protected function parseCurlResponse(array $headerLines, string $body, $curlHandle): array
diff --git a/vendor/sabre/http/lib/Message.php b/vendor/sabre/http/lib/Message.php
index fc34f8d7f..90153fda5 100644
--- a/vendor/sabre/http/lib/Message.php
+++ b/vendor/sabre/http/lib/Message.php
@@ -283,8 +283,6 @@ abstract class Message implements MessageInterface
/**
* Returns the HTTP version.
- *
- * @return string
*/
public function getHttpVersion(): string
{
diff --git a/vendor/sabre/http/lib/MessageDecoratorTrait.php b/vendor/sabre/http/lib/MessageDecoratorTrait.php
index d5504ac78..6f49dadfc 100644
--- a/vendor/sabre/http/lib/MessageDecoratorTrait.php
+++ b/vendor/sabre/http/lib/MessageDecoratorTrait.php
@@ -180,8 +180,6 @@ trait MessageDecoratorTrait
* The specified header name must be treated as case-insensitive.
* This method should return true if the header was successfully deleted,
* and false if the header did not exist.
- *
- * @return bool
*/
public function removeHeader(string $name): bool
{
diff --git a/vendor/sabre/http/lib/MessageInterface.php b/vendor/sabre/http/lib/MessageInterface.php
index 8070845d9..8504f0f59 100644
--- a/vendor/sabre/http/lib/MessageInterface.php
+++ b/vendor/sabre/http/lib/MessageInterface.php
@@ -29,8 +29,6 @@ interface MessageInterface
*
* Note that because the underlying data may be based on a stream, this
* method could only work correctly the first time.
- *
- * @return string
*/
public function getBodyAsString(): string;
diff --git a/vendor/sabre/http/lib/ResponseDecorator.php b/vendor/sabre/http/lib/ResponseDecorator.php
index 289dba5cc..5f9fe7c65 100644
--- a/vendor/sabre/http/lib/ResponseDecorator.php
+++ b/vendor/sabre/http/lib/ResponseDecorator.php
@@ -64,8 +64,6 @@ class ResponseDecorator implements ResponseInterface
* Serializes the request object as a string.
*
* This is useful for debugging purposes.
- *
- * @return string
*/
public function __toString(): string
{
diff --git a/vendor/sabre/http/lib/Version.php b/vendor/sabre/http/lib/Version.php
index 655753acf..8946a46a6 100644
--- a/vendor/sabre/http/lib/Version.php
+++ b/vendor/sabre/http/lib/Version.php
@@ -16,5 +16,5 @@ class Version
/**
* Full version number.
*/
- const VERSION = '5.0.5';
+ const VERSION = '5.1.0';
}
diff --git a/vendor/sabre/http/lib/functions.php b/vendor/sabre/http/lib/functions.php
index 197a9e661..a23840a1a 100644
--- a/vendor/sabre/http/lib/functions.php
+++ b/vendor/sabre/http/lib/functions.php
@@ -29,8 +29,6 @@ use InvalidArgumentException;
* See:
* http://tools.ietf.org/html/rfc7231#section-7.1.1.1
*
- * @param string $dateString
- *
* @return bool|DateTime
*/
function parseDate(string $dateString)
@@ -75,10 +73,6 @@ function parseDate(string $dateString)
/**
* Transforms a DateTime object to a valid HTTP/1.1 Date header value.
- *
- * @param DateTime $dateTime
- *
- * @return string
*/
function toDate(DateTime $dateTime): string
{
@@ -107,7 +101,6 @@ function toDate(DateTime $dateTime): string
* implying that no accept header was sent.
*
* @param string|null $acceptHeaderValue
- * @param array $availableOptions
*
* @return string|null
*/
@@ -218,8 +211,6 @@ function negotiateContentType($acceptHeaderValue, array $availableOptions)
* uses them.
*
* @param string|string[] $input
- *
- * @return array
*/
function parsePrefer($input): array
{
@@ -303,7 +294,7 @@ function getHeaderValues($values, $values2 = null): array
$values = array_merge($values, (array) $values2);
}
- $result = array();
+ $result = [];
foreach ($values as $l1) {
foreach (explode(',', $l1) as $l2) {
$result[] = trim($l2);
@@ -320,10 +311,6 @@ function getHeaderValues($values, $values2 = null): array
* 2. subtype
* 3. quality
* 4. parameters
- *
- * @param string $str
- *
- * @return array
*/
function parseMimeType(string $str): array
{
diff --git a/vendor/sabre/http/phpstan.neon b/vendor/sabre/http/phpstan.neon
index 241663a72..213da6dad 100644
--- a/vendor/sabre/http/phpstan.neon
+++ b/vendor/sabre/http/phpstan.neon
@@ -1,3 +1,2 @@
parameters:
level: 1
- bootstrap: %currentWorkingDirectory%/vendor/autoload.php
diff --git a/vendor/sabre/uri/.gitignore b/vendor/sabre/uri/.gitignore
index b6fc3f896..4c8ac0855 100644
--- a/vendor/sabre/uri/.gitignore
+++ b/vendor/sabre/uri/.gitignore
@@ -2,8 +2,16 @@
vendor/
composer.lock
+# Composer binaries
+bin/phpunit
+bin/phpstan
+bin/phpstan.phar
+bin/php-cs-fixer
+
# Tests
tests/cov/
+tests/.phpunit.result.cache
+coverage.xml
# Composer binaries
bin
@@ -11,5 +19,8 @@ bin
# Vim
.*.swp
+# IDEs
+/.idea
+
# development stuff
.php_cs.cache
diff --git a/vendor/sabre/uri/.php_cs.dist b/vendor/sabre/uri/.php_cs.dist
index 8d61ee259..c5c78a971 100644
--- a/vendor/sabre/uri/.php_cs.dist
+++ b/vendor/sabre/uri/.php_cs.dist
@@ -6,7 +6,7 @@ $config->getFinder()
->in(__DIR__);
$config->setRules([
'@PSR1' => true,
- '@Symfony' =>true
+ '@Symfony' => true
]);
return $config; \ No newline at end of file
diff --git a/vendor/sabre/uri/composer.json b/vendor/sabre/uri/composer.json
index 30f382937..29194c670 100644
--- a/vendor/sabre/uri/composer.json
+++ b/vendor/sabre/uri/composer.json
@@ -9,7 +9,7 @@
"homepage": "http://sabre.io/uri/",
"license": "BSD-3-Clause",
"require": {
- "php": ">=7"
+ "php": "^7.1"
},
"authors": [
{
@@ -37,7 +37,8 @@
}
},
"require-dev": {
- "phpunit/phpunit" : "^6"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit" : "^7 || ^8"
},
"config" : {
"bin-dir" : "bin/"
diff --git a/vendor/sabre/uri/lib/Version.php b/vendor/sabre/uri/lib/Version.php
index ad6c89867..ba7caf273 100644
--- a/vendor/sabre/uri/lib/Version.php
+++ b/vendor/sabre/uri/lib/Version.php
@@ -16,5 +16,5 @@ class Version
/**
* Full version number.
*/
- const VERSION = '2.1.3';
+ const VERSION = '2.2.0';
}
diff --git a/vendor/sabre/uri/lib/functions.php b/vendor/sabre/uri/lib/functions.php
index 161e684d7..329c862ee 100644
--- a/vendor/sabre/uri/lib/functions.php
+++ b/vendor/sabre/uri/lib/functions.php
@@ -18,11 +18,6 @@ namespace Sabre\Uri;
* This function takes a basePath, which itself _may_ also be relative, and
* then applies the relative path on top of it.
*
- * @param string $basePath
- * @param string $newPath
- *
- * @return string
- *
* @throws InvalidUriException
*/
function resolve(string $basePath, string $newPath): string
@@ -112,10 +107,6 @@ function resolve(string $basePath, string $newPath): string
*
* It will also change a %3a into a %3A.
*
- * @param string $uri
- *
- * @return string
- *
* @throws InvalidUriException
*/
function normalize(string $uri): string
@@ -183,9 +174,7 @@ function normalize(string $uri): string
* Unlike PHP's parse_url, it will also convert any non-ascii characters to
* percent-encoded strings. PHP's parse_url corrupts these characters on OS X.
*
- * @param string $uri
- *
- * @return array
+ * @return array<string, string>
*
* @throws InvalidUriException
*/
@@ -225,9 +214,7 @@ function parse(string $uri): array
* This function takes the components returned from PHP's parse_url, and uses
* it to generate a new uri.
*
- * @param array $parts
- *
- * @return string
+ * @param array<string, string> $parts
*/
function build(array $parts): string
{
@@ -281,9 +268,7 @@ function build(array $parts): string
* If there is no dirname, it will return an empty string. Any / appearing at
* the end of the string is stripped off.
*
- * @param string $path
- *
- * @return array
+ * @return array<int, mixed>
*/
function split(string $path): array
{
@@ -305,9 +290,7 @@ function split(string $path): array
* This function is only called if the main parse method fails. It's pretty
* crude and probably slow, so the original parse_url is usually preferred.
*
- * @param string $uri
- *
- * @return array
+ * @return array<string, mixed>
*
* @throws InvalidUriException
*/
diff --git a/vendor/sabre/uri/phpstan.neon b/vendor/sabre/uri/phpstan.neon
index 341d02818..91375db8b 100644
--- a/vendor/sabre/uri/phpstan.neon
+++ b/vendor/sabre/uri/phpstan.neon
@@ -1,3 +1,2 @@
parameters:
level: 7
- bootstrap: %currentWorkingDirectory%/vendor/autoload.php
diff --git a/vendor/sabre/vobject/.gitignore b/vendor/sabre/vobject/.gitignore
index f08b31359..e9b0ed32f 100644
--- a/vendor/sabre/vobject/.gitignore
+++ b/vendor/sabre/vobject/.gitignore
@@ -3,20 +3,22 @@ vendor/
composer.lock
tests/cov/
tests/temp
+tests/.phpunit.result.cache
#vim
.*.swp
#binaries
bin/phpunit
-bin/phpcs
bin/php-cs-fixer
-bin/sabre-cs-fixer
+bin/phpstan
+bin/phpstan.phar
bin/hoa
# Development stuff
testdata/
.php_cs.cache
+.idea
# OS X
.DS_Store
diff --git a/vendor/sabre/vobject/.php_cs.dist b/vendor/sabre/vobject/.php_cs.dist
index 8d61ee259..c5c78a971 100644
--- a/vendor/sabre/vobject/.php_cs.dist
+++ b/vendor/sabre/vobject/.php_cs.dist
@@ -6,7 +6,7 @@ $config->getFinder()
->in(__DIR__);
$config->setRules([
'@PSR1' => true,
- '@Symfony' =>true
+ '@Symfony' => true
]);
return $config; \ No newline at end of file
diff --git a/vendor/sabre/vobject/.travis.yml b/vendor/sabre/vobject/.travis.yml
index 64b055bf1..511119bbb 100644
--- a/vendor/sabre/vobject/.travis.yml
+++ b/vendor/sabre/vobject/.travis.yml
@@ -1,37 +1,24 @@
language: php
-sudo: required
php:
- - 5.5
- - 5.6
- - 7.0
- 7.1
- 7.2
- 7.3
- - 7.4snapshot
-
-env:
- global:
- - RUN_PHPSTAN="FALSE"
+ - 7.4
matrix:
- include:
- - name: 'PHPStan'
- php: 7.2
- env: RUN_PHPSTAN="TRUE"
fast_finish: true
- allow_failures:
- - php: 5.5
install:
- - if [ $RUN_PHPSTAN == "TRUE" ]; then wget https://github.com/phpstan/phpstan/releases/download/0.11.8/phpstan.phar; fi
+ - composer require --dev phpstan/phpstan:^0.12
before_script:
- composer install
script:
- - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/phpunit --configuration tests/phpunit.xml --coverage-clover=coverage.xml; fi
- - if [ $RUN_PHPSTAN == "TRUE" ]; then php phpstan.phar analyse -c phpstan.neon lib; fi
-
+ - ./bin/php-cs-fixer fix lib/ --dry-run --diff
+ - php ./bin/phpstan.phar analyse -c phpstan.neon lib tests
+ - ./bin/phpunit --configuration tests/phpunit.xml --coverage-clover=coverage.xml
+
after_success:
- bash <(curl -s https://codecov.io/bash)
diff --git a/vendor/sabre/vobject/CHANGELOG.md b/vendor/sabre/vobject/CHANGELOG.md
index 3f70f37db..5126e04f9 100644
--- a/vendor/sabre/vobject/CHANGELOG.md
+++ b/vendor/sabre/vobject/CHANGELOG.md
@@ -1,6 +1,19 @@
ChangeLog
=========
+4.3.0 (2020-01-31)
+------------------
+
+* Added support for PHP 7.4, dropped support for PHP 7.0 (@phil-davis)
+* #487: Added phpstan coverage, updated testsuite for phpunit8 (@phil-davis, @JeroenVanOort)
+* #495: refactored maps to use ::class notation (@JeroenVanOort)
+
+4.2.2 (2020-01-14)
+------------------
+
+* #465: Add TZ in iTip REPLY iTip messages
+* #486: Add PHONE-NUMBER value type (used for TEL in vCard 3.0)
+
4.2.1 (2019-12-18)
------------------
diff --git a/vendor/sabre/vobject/composer.json b/vendor/sabre/vobject/composer.json
index ad026879e..9e522f8a4 100644
--- a/vendor/sabre/vobject/composer.json
+++ b/vendor/sabre/vobject/composer.json
@@ -32,12 +32,13 @@
"homepage" : "http://sabre.io/vobject/",
"license" : "BSD-3-Clause",
"require" : {
- "php" : ">=5.5",
+ "php" : "^7.1",
"ext-mbstring" : "*",
- "sabre/xml" : ">=1.5 <3.0"
+ "sabre/xml" : "^2.1"
},
"require-dev" : {
- "phpunit/phpunit" : "> 4.8.35, <6.0.0"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit" : "^7 || ^8"
},
"suggest" : {
"hoa/bench" : "If you would like to run the benchmark scripts"
@@ -71,6 +72,11 @@
"Sabre\\VObject\\" : "lib/"
}
},
+ "autoload-dev" : {
+ "psr-4" : {
+ "Sabre\\VObject\\" : "tests/VObject"
+ }
+ },
"bin" : [
"bin/vobject",
"bin/generate_vcards"
diff --git a/vendor/sabre/vobject/lib/Cli.php b/vendor/sabre/vobject/lib/Cli.php
index 8350719a4..f3e419b15 100644
--- a/vendor/sabre/vobject/lib/Cli.php
+++ b/vendor/sabre/vobject/lib/Cli.php
@@ -29,7 +29,7 @@ class Cli
protected $showHelp = false;
/**
- * Wether to spit out 'mimedir' or 'json' format.
+ * Whether to spit out 'mimedir' or 'json' format.
*
* @var string
*/
@@ -312,8 +312,6 @@ HELP
/**
* Validates a VObject file.
*
- * @param Component $vObj
- *
* @return int
*/
protected function validate(Component $vObj)
@@ -354,8 +352,6 @@ HELP
/**
* Repairs a VObject file.
*
- * @param Component $vObj
- *
* @return int
*/
protected function repair(Component $vObj)
@@ -516,7 +512,7 @@ HELP
*
* A higher score means the item will be lower in the list.
* To avoid score collisions, each "score category" has a reasonable
- * space to accomodate elements. The $key is added to the $score to
+ * space to accommodate elements. The $key is added to the $score to
* preserve the original relative order of elements.
*
* @param int $key
@@ -582,8 +578,6 @@ HELP
/**
* Colorizes a property.
- *
- * @param Property $property
*/
protected function serializeProperty(Property $property)
{
@@ -642,8 +636,6 @@ HELP
/**
* Parses the list of arguments.
- *
- * @param array $argv
*/
protected function parseArguments(array $argv)
{
diff --git a/vendor/sabre/vobject/lib/Component.php b/vendor/sabre/vobject/lib/Component.php
index a33b7d577..58594aec1 100644
--- a/vendor/sabre/vobject/lib/Component.php
+++ b/vendor/sabre/vobject/lib/Component.php
@@ -43,10 +43,8 @@ class Component extends Node
* an iCalendar object, this may be something like CALSCALE:GREGORIAN. To
* ensure that this does not happen, set $defaults to false.
*
- * @param Document $root
- * @param string $name such as VCALENDAR, VEVENT
- * @param array $children
- * @param bool $defaults
+ * @param string $name such as VCALENDAR, VEVENT
+ * @param bool $defaults
*/
public function __construct(Document $root, $name, array $children = [], $defaults = true)
{
@@ -276,7 +274,7 @@ class Component extends Node
*
* A higher score means the item will be lower in the list.
* To avoid score collisions, each "score category" has a reasonable
- * space to accomodate elements. The $key is added to the $score to
+ * space to accommodate elements. The $key is added to the $score to
* preserve the original relative order of elements.
*
* @param int $key
diff --git a/vendor/sabre/vobject/lib/Component/VAvailability.php b/vendor/sabre/vobject/lib/Component/VAvailability.php
index 6f3e7f13c..04ec38dcb 100644
--- a/vendor/sabre/vobject/lib/Component/VAvailability.php
+++ b/vendor/sabre/vobject/lib/Component/VAvailability.php
@@ -26,9 +26,6 @@ class VAvailability extends VObject\Component
*
* https://tools.ietf.org/html/draft-daboo-calendar-availability-05#section-3.1
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
diff --git a/vendor/sabre/vobject/lib/Component/VCalendar.php b/vendor/sabre/vobject/lib/Component/VCalendar.php
index e21ae077a..40e09a1c0 100644
--- a/vendor/sabre/vobject/lib/Component/VCalendar.php
+++ b/vendor/sabre/vobject/lib/Component/VCalendar.php
@@ -37,15 +37,15 @@ class VCalendar extends VObject\Document
* @var array
*/
public static $componentMap = [
- 'VCALENDAR' => 'Sabre\\VObject\\Component\\VCalendar',
- 'VALARM' => 'Sabre\\VObject\\Component\\VAlarm',
- 'VEVENT' => 'Sabre\\VObject\\Component\\VEvent',
- 'VFREEBUSY' => 'Sabre\\VObject\\Component\\VFreeBusy',
- 'VAVAILABILITY' => 'Sabre\\VObject\\Component\\VAvailability',
- 'AVAILABLE' => 'Sabre\\VObject\\Component\\Available',
- 'VJOURNAL' => 'Sabre\\VObject\\Component\\VJournal',
- 'VTIMEZONE' => 'Sabre\\VObject\\Component\\VTimeZone',
- 'VTODO' => 'Sabre\\VObject\\Component\\VTodo',
+ 'VCALENDAR' => self::class,
+ 'VALARM' => VAlarm::class,
+ 'VEVENT' => VEvent::class,
+ 'VFREEBUSY' => VFreeBusy::class,
+ 'VAVAILABILITY' => VAvailability::class,
+ 'AVAILABLE' => Available::class,
+ 'VJOURNAL' => VJournal::class,
+ 'VTIMEZONE' => VTimeZone::class,
+ 'VTODO' => VTodo::class,
];
/**
@@ -54,21 +54,21 @@ class VCalendar extends VObject\Document
* @var array
*/
public static $valueMap = [
- 'BINARY' => 'Sabre\\VObject\\Property\\Binary',
- 'BOOLEAN' => 'Sabre\\VObject\\Property\\Boolean',
- 'CAL-ADDRESS' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
- 'DATE' => 'Sabre\\VObject\\Property\\ICalendar\\Date',
- 'DATE-TIME' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DURATION' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
- 'FLOAT' => 'Sabre\\VObject\\Property\\FloatValue',
- 'INTEGER' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'PERIOD' => 'Sabre\\VObject\\Property\\ICalendar\\Period',
- 'RECUR' => 'Sabre\\VObject\\Property\\ICalendar\\Recur',
- 'TEXT' => 'Sabre\\VObject\\Property\\Text',
- 'TIME' => 'Sabre\\VObject\\Property\\Time',
- 'UNKNOWN' => 'Sabre\\VObject\\Property\\Unknown', // jCard / jCal-only.
- 'URI' => 'Sabre\\VObject\\Property\\Uri',
- 'UTC-OFFSET' => 'Sabre\\VObject\\Property\\UtcOffset',
+ 'BINARY' => VObject\Property\Binary::class,
+ 'BOOLEAN' => VObject\Property\Boolean::class,
+ 'CAL-ADDRESS' => VObject\Property\ICalendar\CalAddress::class,
+ 'DATE' => VObject\Property\ICalendar\Date::class,
+ 'DATE-TIME' => VObject\Property\ICalendar\DateTime::class,
+ 'DURATION' => VObject\Property\ICalendar\Duration::class,
+ 'FLOAT' => VObject\Property\FloatValue::class,
+ 'INTEGER' => VObject\Property\IntegerValue::class,
+ 'PERIOD' => VObject\Property\ICalendar\Period::class,
+ 'RECUR' => VObject\Property\ICalendar\Recur::class,
+ 'TEXT' => VObject\Property\Text::class,
+ 'TIME' => VObject\Property\Time::class,
+ 'UNKNOWN' => VObject\Property\Unknown::class, // jCard / jCal-only.
+ 'URI' => VObject\Property\Uri::class,
+ 'UTC-OFFSET' => VObject\Property\UtcOffset::class,
];
/**
@@ -78,78 +78,78 @@ class VCalendar extends VObject\Document
*/
public static $propertyMap = [
// Calendar properties
- 'CALSCALE' => 'Sabre\\VObject\\Property\\FlatText',
- 'METHOD' => 'Sabre\\VObject\\Property\\FlatText',
- 'PRODID' => 'Sabre\\VObject\\Property\\FlatText',
- 'VERSION' => 'Sabre\\VObject\\Property\\FlatText',
+ 'CALSCALE' => VObject\Property\FlatText::class,
+ 'METHOD' => VObject\Property\FlatText::class,
+ 'PRODID' => VObject\Property\FlatText::class,
+ 'VERSION' => VObject\Property\FlatText::class,
// Component properties
- 'ATTACH' => 'Sabre\\VObject\\Property\\Uri',
- 'CATEGORIES' => 'Sabre\\VObject\\Property\\Text',
- 'CLASS' => 'Sabre\\VObject\\Property\\FlatText',
- 'COMMENT' => 'Sabre\\VObject\\Property\\FlatText',
- 'DESCRIPTION' => 'Sabre\\VObject\\Property\\FlatText',
- 'GEO' => 'Sabre\\VObject\\Property\\FloatValue',
- 'LOCATION' => 'Sabre\\VObject\\Property\\FlatText',
- 'PERCENT-COMPLETE' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'PRIORITY' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'RESOURCES' => 'Sabre\\VObject\\Property\\Text',
- 'STATUS' => 'Sabre\\VObject\\Property\\FlatText',
- 'SUMMARY' => 'Sabre\\VObject\\Property\\FlatText',
+ 'ATTACH' => VObject\Property\Uri::class,
+ 'CATEGORIES' => VObject\Property\Text::class,
+ 'CLASS' => VObject\Property\FlatText::class,
+ 'COMMENT' => VObject\Property\FlatText::class,
+ 'DESCRIPTION' => VObject\Property\FlatText::class,
+ 'GEO' => VObject\Property\FloatValue::class,
+ 'LOCATION' => VObject\Property\FlatText::class,
+ 'PERCENT-COMPLETE' => VObject\Property\IntegerValue::class,
+ 'PRIORITY' => VObject\Property\IntegerValue::class,
+ 'RESOURCES' => VObject\Property\Text::class,
+ 'STATUS' => VObject\Property\FlatText::class,
+ 'SUMMARY' => VObject\Property\FlatText::class,
// Date and Time Component Properties
- 'COMPLETED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DTEND' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DUE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DTSTART' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DURATION' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
- 'FREEBUSY' => 'Sabre\\VObject\\Property\\ICalendar\\Period',
- 'TRANSP' => 'Sabre\\VObject\\Property\\FlatText',
+ 'COMPLETED' => VObject\Property\ICalendar\DateTime::class,
+ 'DTEND' => VObject\Property\ICalendar\DateTime::class,
+ 'DUE' => VObject\Property\ICalendar\DateTime::class,
+ 'DTSTART' => VObject\Property\ICalendar\DateTime::class,
+ 'DURATION' => VObject\Property\ICalendar\Duration::class,
+ 'FREEBUSY' => VObject\Property\ICalendar\Period::class,
+ 'TRANSP' => VObject\Property\FlatText::class,
// Time Zone Component Properties
- 'TZID' => 'Sabre\\VObject\\Property\\FlatText',
- 'TZNAME' => 'Sabre\\VObject\\Property\\FlatText',
- 'TZOFFSETFROM' => 'Sabre\\VObject\\Property\\UtcOffset',
- 'TZOFFSETTO' => 'Sabre\\VObject\\Property\\UtcOffset',
- 'TZURL' => 'Sabre\\VObject\\Property\\Uri',
+ 'TZID' => VObject\Property\FlatText::class,
+ 'TZNAME' => VObject\Property\FlatText::class,
+ 'TZOFFSETFROM' => VObject\Property\UtcOffset::class,
+ 'TZOFFSETTO' => VObject\Property\UtcOffset::class,
+ 'TZURL' => VObject\Property\Uri::class,
// Relationship Component Properties
- 'ATTENDEE' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
- 'CONTACT' => 'Sabre\\VObject\\Property\\FlatText',
- 'ORGANIZER' => 'Sabre\\VObject\\Property\\ICalendar\\CalAddress',
- 'RECURRENCE-ID' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'RELATED-TO' => 'Sabre\\VObject\\Property\\FlatText',
- 'URL' => 'Sabre\\VObject\\Property\\Uri',
- 'UID' => 'Sabre\\VObject\\Property\\FlatText',
+ 'ATTENDEE' => VObject\Property\ICalendar\CalAddress::class,
+ 'CONTACT' => VObject\Property\FlatText::class,
+ 'ORGANIZER' => VObject\Property\ICalendar\CalAddress::class,
+ 'RECURRENCE-ID' => VObject\Property\ICalendar\DateTime::class,
+ 'RELATED-TO' => VObject\Property\FlatText::class,
+ 'URL' => VObject\Property\Uri::class,
+ 'UID' => VObject\Property\FlatText::class,
// Recurrence Component Properties
- 'EXDATE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'RDATE' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'RRULE' => 'Sabre\\VObject\\Property\\ICalendar\\Recur',
- 'EXRULE' => 'Sabre\\VObject\\Property\\ICalendar\\Recur', // Deprecated since rfc5545
+ 'EXDATE' => VObject\Property\ICalendar\DateTime::class,
+ 'RDATE' => VObject\Property\ICalendar\DateTime::class,
+ 'RRULE' => VObject\Property\ICalendar\Recur::class,
+ 'EXRULE' => VObject\Property\ICalendar\Recur::class, // Deprecated since rfc5545
// Alarm Component Properties
- 'ACTION' => 'Sabre\\VObject\\Property\\FlatText',
- 'REPEAT' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'TRIGGER' => 'Sabre\\VObject\\Property\\ICalendar\\Duration',
+ 'ACTION' => VObject\Property\FlatText::class,
+ 'REPEAT' => VObject\Property\IntegerValue::class,
+ 'TRIGGER' => VObject\Property\ICalendar\Duration::class,
// Change Management Component Properties
- 'CREATED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'DTSTAMP' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'LAST-MODIFIED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'SEQUENCE' => 'Sabre\\VObject\\Property\\IntegerValue',
+ 'CREATED' => VObject\Property\ICalendar\DateTime::class,
+ 'DTSTAMP' => VObject\Property\ICalendar\DateTime::class,
+ 'LAST-MODIFIED' => VObject\Property\ICalendar\DateTime::class,
+ 'SEQUENCE' => VObject\Property\IntegerValue::class,
// Request Status
- 'REQUEST-STATUS' => 'Sabre\\VObject\\Property\\Text',
+ 'REQUEST-STATUS' => VObject\Property\Text::class,
// Additions from draft-daboo-valarm-extensions-04
- 'ALARM-AGENT' => 'Sabre\\VObject\\Property\\Text',
- 'ACKNOWLEDGED' => 'Sabre\\VObject\\Property\\ICalendar\\DateTime',
- 'PROXIMITY' => 'Sabre\\VObject\\Property\\Text',
- 'DEFAULT-ALARM' => 'Sabre\\VObject\\Property\\Boolean',
+ 'ALARM-AGENT' => VObject\Property\Text::class,
+ 'ACKNOWLEDGED' => VObject\Property\ICalendar\DateTime::class,
+ 'PROXIMITY' => VObject\Property\Text::class,
+ 'DEFAULT-ALARM' => VObject\Property\Boolean::class,
// Additions from draft-daboo-calendar-availability-05
- 'BUSYTYPE' => 'Sabre\\VObject\\Property\\Text',
+ 'BUSYTYPE' => VObject\Property\Text::class,
];
/**
@@ -276,10 +276,8 @@ class VCalendar extends VObject\Document
* In addition, this method will cause timezone information to be stripped,
* and normalized to UTC.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- * @param DateTimeZone $timeZone reference timezone for floating dates and
- * times
+ * @param DateTimeZone $timeZone reference timezone for floating dates and
+ * times
*
* @return VCalendar
*/
diff --git a/vendor/sabre/vobject/lib/Component/VCard.php b/vendor/sabre/vobject/lib/Component/VCard.php
index 860e45ffa..51321949f 100644
--- a/vendor/sabre/vobject/lib/Component/VCard.php
+++ b/vendor/sabre/vobject/lib/Component/VCard.php
@@ -39,7 +39,7 @@ class VCard extends VObject\Document
* @var array
*/
public static $componentMap = [
- 'VCARD' => 'Sabre\\VObject\\Component\\VCard',
+ 'VCARD' => VCard::class,
];
/**
@@ -48,22 +48,23 @@ class VCard extends VObject\Document
* @var array
*/
public static $valueMap = [
- 'BINARY' => 'Sabre\\VObject\\Property\\Binary',
- 'BOOLEAN' => 'Sabre\\VObject\\Property\\Boolean',
- 'CONTENT-ID' => 'Sabre\\VObject\\Property\\FlatText', // vCard 2.1 only
- 'DATE' => 'Sabre\\VObject\\Property\\VCard\\Date',
- 'DATE-TIME' => 'Sabre\\VObject\\Property\\VCard\\DateTime',
- 'DATE-AND-OR-TIME' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime', // vCard only
- 'FLOAT' => 'Sabre\\VObject\\Property\\FloatValue',
- 'INTEGER' => 'Sabre\\VObject\\Property\\IntegerValue',
- 'LANGUAGE-TAG' => 'Sabre\\VObject\\Property\\VCard\\LanguageTag',
- 'TIMESTAMP' => 'Sabre\\VObject\\Property\\VCard\\TimeStamp',
- 'TEXT' => 'Sabre\\VObject\\Property\\Text',
- 'TIME' => 'Sabre\\VObject\\Property\\Time',
- 'UNKNOWN' => 'Sabre\\VObject\\Property\\Unknown', // jCard / jCal-only.
- 'URI' => 'Sabre\\VObject\\Property\\Uri',
- 'URL' => 'Sabre\\VObject\\Property\\Uri', // vCard 2.1 only
- 'UTC-OFFSET' => 'Sabre\\VObject\\Property\\UtcOffset',
+ 'BINARY' => VObject\Property\Binary::class,
+ 'BOOLEAN' => VObject\Property\Boolean::class,
+ 'CONTENT-ID' => VObject\Property\FlatText::class, // vCard 2.1 only
+ 'DATE' => VObject\Property\VCard\Date::class,
+ 'DATE-TIME' => VObject\Property\VCard\DateTime::class,
+ 'DATE-AND-OR-TIME' => VObject\Property\VCard\DateAndOrTime::class, // vCard only
+ 'FLOAT' => VObject\Property\FloatValue::class,
+ 'INTEGER' => VObject\Property\IntegerValue::class,
+ 'LANGUAGE-TAG' => VObject\Property\VCard\LanguageTag::class,
+ 'PHONE-NUMBER' => VObject\Property\VCard\PhoneNumber::class, // vCard 3.0 only
+ 'TIMESTAMP' => VObject\Property\VCard\TimeStamp::class,
+ 'TEXT' => VObject\Property\Text::class,
+ 'TIME' => VObject\Property\Time::class,
+ 'UNKNOWN' => VObject\Property\Unknown::class, // jCard / jCal-only.
+ 'URI' => VObject\Property\Uri::class,
+ 'URL' => VObject\Property\Uri::class, // vCard 2.1 only
+ 'UTC-OFFSET' => VObject\Property\UtcOffset::class,
];
/**
@@ -73,68 +74,68 @@ class VCard extends VObject\Document
*/
public static $propertyMap = [
// vCard 2.1 properties and up
- 'N' => 'Sabre\\VObject\\Property\\Text',
- 'FN' => 'Sabre\\VObject\\Property\\FlatText',
- 'PHOTO' => 'Sabre\\VObject\\Property\\Binary',
- 'BDAY' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
- 'ADR' => 'Sabre\\VObject\\Property\\Text',
- 'LABEL' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
- 'TEL' => 'Sabre\\VObject\\Property\\FlatText',
- 'EMAIL' => 'Sabre\\VObject\\Property\\FlatText',
- 'MAILER' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
- 'GEO' => 'Sabre\\VObject\\Property\\FlatText',
- 'TITLE' => 'Sabre\\VObject\\Property\\FlatText',
- 'ROLE' => 'Sabre\\VObject\\Property\\FlatText',
- 'LOGO' => 'Sabre\\VObject\\Property\\Binary',
+ 'N' => VObject\Property\Text::class,
+ 'FN' => VObject\Property\FlatText::class,
+ 'PHOTO' => VObject\Property\Binary::class,
+ 'BDAY' => VObject\Property\VCard\DateAndOrTime::class,
+ 'ADR' => VObject\Property\Text::class,
+ 'LABEL' => VObject\Property\FlatText::class, // Removed in vCard 4.0
+ 'TEL' => VObject\Property\FlatText::class,
+ 'EMAIL' => VObject\Property\FlatText::class,
+ 'MAILER' => VObject\Property\FlatText::class, // Removed in vCard 4.0
+ 'GEO' => VObject\Property\FlatText::class,
+ 'TITLE' => VObject\Property\FlatText::class,
+ 'ROLE' => VObject\Property\FlatText::class,
+ 'LOGO' => VObject\Property\Binary::class,
// 'AGENT' => 'Sabre\\VObject\\Property\\', // Todo: is an embedded vCard. Probably rare, so
// not supported at the moment
- 'ORG' => 'Sabre\\VObject\\Property\\Text',
- 'NOTE' => 'Sabre\\VObject\\Property\\FlatText',
- 'REV' => 'Sabre\\VObject\\Property\\VCard\\TimeStamp',
- 'SOUND' => 'Sabre\\VObject\\Property\\FlatText',
- 'URL' => 'Sabre\\VObject\\Property\\Uri',
- 'UID' => 'Sabre\\VObject\\Property\\FlatText',
- 'VERSION' => 'Sabre\\VObject\\Property\\FlatText',
- 'KEY' => 'Sabre\\VObject\\Property\\FlatText',
- 'TZ' => 'Sabre\\VObject\\Property\\Text',
+ 'ORG' => VObject\Property\Text::class,
+ 'NOTE' => VObject\Property\FlatText::class,
+ 'REV' => VObject\Property\VCard\TimeStamp::class,
+ 'SOUND' => VObject\Property\FlatText::class,
+ 'URL' => VObject\Property\Uri::class,
+ 'UID' => VObject\Property\FlatText::class,
+ 'VERSION' => VObject\Property\FlatText::class,
+ 'KEY' => VObject\Property\FlatText::class,
+ 'TZ' => VObject\Property\Text::class,
// vCard 3.0 properties
- 'CATEGORIES' => 'Sabre\\VObject\\Property\\Text',
- 'SORT-STRING' => 'Sabre\\VObject\\Property\\FlatText',
- 'PRODID' => 'Sabre\\VObject\\Property\\FlatText',
- 'NICKNAME' => 'Sabre\\VObject\\Property\\Text',
- 'CLASS' => 'Sabre\\VObject\\Property\\FlatText', // Removed in vCard 4.0
+ 'CATEGORIES' => VObject\Property\Text::class,
+ 'SORT-STRING' => VObject\Property\FlatText::class,
+ 'PRODID' => VObject\Property\FlatText::class,
+ 'NICKNAME' => VObject\Property\Text::class,
+ 'CLASS' => VObject\Property\FlatText::class, // Removed in vCard 4.0
// rfc2739 properties
- 'FBURL' => 'Sabre\\VObject\\Property\\Uri',
- 'CAPURI' => 'Sabre\\VObject\\Property\\Uri',
- 'CALURI' => 'Sabre\\VObject\\Property\\Uri',
- 'CALADRURI' => 'Sabre\\VObject\\Property\\Uri',
+ 'FBURL' => VObject\Property\Uri::class,
+ 'CAPURI' => VObject\Property\Uri::class,
+ 'CALURI' => VObject\Property\Uri::class,
+ 'CALADRURI' => VObject\Property\Uri::class,
// rfc4770 properties
- 'IMPP' => 'Sabre\\VObject\\Property\\Uri',
+ 'IMPP' => VObject\Property\Uri::class,
// vCard 4.0 properties
- 'SOURCE' => 'Sabre\\VObject\\Property\\Uri',
- 'XML' => 'Sabre\\VObject\\Property\\FlatText',
- 'ANNIVERSARY' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
- 'CLIENTPIDMAP' => 'Sabre\\VObject\\Property\\Text',
- 'LANG' => 'Sabre\\VObject\\Property\\VCard\\LanguageTag',
- 'GENDER' => 'Sabre\\VObject\\Property\\Text',
- 'KIND' => 'Sabre\\VObject\\Property\\FlatText',
- 'MEMBER' => 'Sabre\\VObject\\Property\\Uri',
- 'RELATED' => 'Sabre\\VObject\\Property\\Uri',
+ 'SOURCE' => VObject\Property\Uri::class,
+ 'XML' => VObject\Property\FlatText::class,
+ 'ANNIVERSARY' => VObject\Property\VCard\DateAndOrTime::class,
+ 'CLIENTPIDMAP' => VObject\Property\Text::class,
+ 'LANG' => VObject\Property\VCard\LanguageTag::class,
+ 'GENDER' => VObject\Property\Text::class,
+ 'KIND' => VObject\Property\FlatText::class,
+ 'MEMBER' => VObject\Property\Uri::class,
+ 'RELATED' => VObject\Property\Uri::class,
// rfc6474 properties
- 'BIRTHPLACE' => 'Sabre\\VObject\\Property\\FlatText',
- 'DEATHPLACE' => 'Sabre\\VObject\\Property\\FlatText',
- 'DEATHDATE' => 'Sabre\\VObject\\Property\\VCard\\DateAndOrTime',
+ 'BIRTHPLACE' => VObject\Property\FlatText::class,
+ 'DEATHPLACE' => VObject\Property\FlatText::class,
+ 'DEATHDATE' => VObject\Property\VCard\DateAndOrTime::class,
// rfc6715 properties
- 'EXPERTISE' => 'Sabre\\VObject\\Property\\FlatText',
- 'HOBBY' => 'Sabre\\VObject\\Property\\FlatText',
- 'INTEREST' => 'Sabre\\VObject\\Property\\FlatText',
- 'ORG-DIRECTORY' => 'Sabre\\VObject\\Property\\FlatText',
+ 'EXPERTISE' => VObject\Property\FlatText::class,
+ 'HOBBY' => VObject\Property\FlatText::class,
+ 'INTEREST' => VObject\Property\FlatText::class,
+ 'ORG-DIRECTORY' => VObject\Property\FlatText::class,
];
/**
@@ -525,8 +526,8 @@ class VCard extends VObject\Document
$className = parent::getClassNameForPropertyName($propertyName);
// In vCard 4, BINARY no longer exists, and we need URI instead.
- if ('Sabre\\VObject\\Property\\Binary' == $className && self::VCARD40 === $this->getDocumentType()) {
- return 'Sabre\\VObject\\Property\\Uri';
+ if (VObject\Property\Binary::class == $className && self::VCARD40 === $this->getDocumentType()) {
+ return VObject\Property\Uri::class;
}
return $className;
diff --git a/vendor/sabre/vobject/lib/Component/VEvent.php b/vendor/sabre/vobject/lib/Component/VEvent.php
index 09f37033c..6ea93ed5e 100644
--- a/vendor/sabre/vobject/lib/Component/VEvent.php
+++ b/vendor/sabre/vobject/lib/Component/VEvent.php
@@ -25,9 +25,6 @@ class VEvent extends VObject\Component
* The rules used to determine if an event falls within the specified
* time-range is based on the CalDAV specification.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
@@ -36,7 +33,7 @@ class VEvent extends VObject\Component
try {
$it = new EventIterator($this, null, $start->getTimezone());
} catch (NoInstancesException $e) {
- // If we've catched this exception, there are no instances
+ // If we've caught this exception, there are no instances
// for the event that fall into the specified time-range.
return false;
}
diff --git a/vendor/sabre/vobject/lib/Component/VFreeBusy.php b/vendor/sabre/vobject/lib/Component/VFreeBusy.php
index 558a85233..fef418b53 100644
--- a/vendor/sabre/vobject/lib/Component/VFreeBusy.php
+++ b/vendor/sabre/vobject/lib/Component/VFreeBusy.php
@@ -21,9 +21,6 @@ class VFreeBusy extends VObject\Component
* Checks based on the contained FREEBUSY information, if a timeslot is
* available.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isFree(DateTimeInterface $start, DatetimeInterface $end)
diff --git a/vendor/sabre/vobject/lib/Component/VJournal.php b/vendor/sabre/vobject/lib/Component/VJournal.php
index 9bd336776..9b7f1b873 100644
--- a/vendor/sabre/vobject/lib/Component/VJournal.php
+++ b/vendor/sabre/vobject/lib/Component/VJournal.php
@@ -23,9 +23,6 @@ class VJournal extends VObject\Component
* The rules used to determine if an event falls within the specified
* time-range is based on the CalDAV specification.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
diff --git a/vendor/sabre/vobject/lib/Component/VTodo.php b/vendor/sabre/vobject/lib/Component/VTodo.php
index 9de77e841..6f022ba6d 100644
--- a/vendor/sabre/vobject/lib/Component/VTodo.php
+++ b/vendor/sabre/vobject/lib/Component/VTodo.php
@@ -23,9 +23,6 @@ class VTodo extends VObject\Component
* The rules used to determine if an event falls within the specified
* time-range is based on the CalDAV specification.
*
- * @param DateTimeInterface $start
- * @param DateTimeInterface $end
- *
* @return bool
*/
public function isInTimeRange(DateTimeInterface $start, DateTimeInterface $end)
diff --git a/vendor/sabre/vobject/lib/Document.php b/vendor/sabre/vobject/lib/Document.php
index 0cb2e0978..14a77c911 100644
--- a/vendor/sabre/vobject/lib/Document.php
+++ b/vendor/sabre/vobject/lib/Document.php
@@ -160,7 +160,7 @@ abstract class Document extends Component
public function createComponent($name, array $children = null, $defaults = true)
{
$name = strtoupper($name);
- $class = 'Sabre\\VObject\\Component';
+ $class = Component::class;
if (isset(static::$componentMap[$name])) {
$class = static::$componentMap[$name];
@@ -258,7 +258,7 @@ abstract class Document extends Component
if (isset(static::$propertyMap[$propertyName])) {
return static::$propertyMap[$propertyName];
} else {
- return 'Sabre\\VObject\\Property\\Unknown';
+ return Property\Unknown::class;
}
}
}
diff --git a/vendor/sabre/vobject/lib/FreeBusyGenerator.php b/vendor/sabre/vobject/lib/FreeBusyGenerator.php
index adb214c08..a1c24044c 100644
--- a/vendor/sabre/vobject/lib/FreeBusyGenerator.php
+++ b/vendor/sabre/vobject/lib/FreeBusyGenerator.php
@@ -109,8 +109,6 @@ class FreeBusyGenerator
* for setting things like the METHOD, CALSCALE, VERSION, etc..
*
* The VFREEBUSY object will be automatically added though.
- *
- * @param Document $vcalendar
*/
public function setBaseObject(Document $vcalendar)
{
@@ -119,8 +117,6 @@ class FreeBusyGenerator
/**
* Sets a VAVAILABILITY document.
- *
- * @param Document $vcalendar
*/
public function setVAvailability(Document $vcalendar)
{
@@ -176,8 +172,6 @@ class FreeBusyGenerator
/**
* Sets the reference timezone for floating times.
- *
- * @param DateTimeZone $timeZone
*/
public function setTimeZone(DateTimeZone $timeZone)
{
@@ -208,9 +202,6 @@ class FreeBusyGenerator
/**
* This method takes a VAVAILABILITY component and figures out all the
* available times.
- *
- * @param FreeBusyData $fbData
- * @param VCalendar $vavailability
*/
protected function calculateAvailability(FreeBusyData $fbData, VCalendar $vavailability)
{
@@ -363,8 +354,7 @@ class FreeBusyGenerator
* This method takes an array of iCalendar objects and applies its busy
* times on fbData.
*
- * @param FreeBusyData $fbData
- * @param VCalendar[] $objects
+ * @param VCalendar[] $objects
*/
protected function calculateBusy(FreeBusyData $fbData, array $objects)
{
diff --git a/vendor/sabre/vobject/lib/ITip/Broker.php b/vendor/sabre/vobject/lib/ITip/Broker.php
index 4f37b75d0..c09cdf3be 100644
--- a/vendor/sabre/vobject/lib/ITip/Broker.php
+++ b/vendor/sabre/vobject/lib/ITip/Broker.php
@@ -104,7 +104,6 @@ class Broker
*
* If the iTip message was not supported, we will always return false.
*
- * @param Message $itipMessage
* @param VCalendar $existingObject
*
* @return VCalendar|null
@@ -263,8 +262,6 @@ class Broker
* This is message from an organizer, and is either a new event
* invite, or an update to an existing one.
*
- *
- * @param Message $itipMessage
* @param VCalendar $existingObject
*
* @return VCalendar|null
@@ -300,7 +297,6 @@ class Broker
* attendee got removed from an event, or an event got cancelled
* altogether.
*
- * @param Message $itipMessage
* @param VCalendar $existingObject
*
* @return VCalendar|null
@@ -326,7 +322,6 @@ class Broker
* The message is a reply. This is for example an attendee telling
* an organizer he accepted the invite, or declined it.
*
- * @param Message $itipMessage
* @param VCalendar $existingObject
*
* @return VCalendar|null
@@ -452,10 +447,6 @@ class Broker
* We will detect which attendees got added, which got removed and create
* specific messages for these situations.
*
- * @param VCalendar $calendar
- * @param array $eventInfo
- * @param array $oldEventInfo
- *
* @return array
*/
protected function parseEventForOrganizer(VCalendar $calendar, array $eventInfo, array $oldEventInfo)
@@ -505,20 +496,21 @@ class Broker
$message->recipient = $attendee['href'];
$message->recipientName = $attendee['name'];
+ // Creating the new iCalendar body.
+ $icalMsg = new VCalendar();
+
+ foreach ($calendar->select('VTIMEZONE') as $timezone) {
+ $icalMsg->add(clone $timezone);
+ }
+
if (!$attendee['newInstances']) {
// If there are no instances the attendee is a part of, it
// means the attendee was removed and we need to send him a
// CANCEL.
$message->method = 'CANCEL';
- // Creating the new iCalendar body.
- $icalMsg = new VCalendar();
$icalMsg->METHOD = $message->method;
- foreach ($calendar->select('VTIMEZONE') as $timezone) {
- $icalMsg->add(clone $timezone);
- }
-
$event = $icalMsg->add('VEVENT', [
'UID' => $message->uid,
'SEQUENCE' => $message->sequence,
@@ -545,14 +537,8 @@ class Broker
// The attendee gets the updated event body
$message->method = 'REQUEST';
- // Creating the new iCalendar body.
- $icalMsg = new VCalendar();
$icalMsg->METHOD = $message->method;
- foreach ($calendar->select('VTIMEZONE') as $timezone) {
- $icalMsg->add(clone $timezone);
- }
-
// We need to find out that this change is significant. If it's
// not, systems may opt to not send messages.
//
@@ -625,10 +611,7 @@ class Broker
*
* This function figures out if we need to send a reply to an organizer.
*
- * @param VCalendar $calendar
- * @param array $eventInfo
- * @param array $oldEventInfo
- * @param string $attendee
+ * @param string $attendee
*
* @return Message[]
*/
@@ -711,6 +694,10 @@ class Broker
$icalMsg = new VCalendar();
$icalMsg->METHOD = 'REPLY';
+ foreach ($calendar->select('VTIMEZONE') as $timezone) {
+ $icalMsg->add(clone $timezone);
+ }
+
$hasReply = false;
foreach ($instances as $instance) {
diff --git a/vendor/sabre/vobject/lib/Node.php b/vendor/sabre/vobject/lib/Node.php
index 154a7fac5..4c0c04f72 100644
--- a/vendor/sabre/vobject/lib/Node.php
+++ b/vendor/sabre/vobject/lib/Node.php
@@ -115,8 +115,6 @@ abstract class Node implements \IteratorAggregate, \ArrayAccess, \Countable, \Js
* Sets the overridden iterator.
*
* Note that this is not actually part of the iterator interface
- *
- * @param ElementList $iterator
*/
public function setIterator(ElementList $iterator)
{
diff --git a/vendor/sabre/vobject/lib/PHPUnitAssertions.php b/vendor/sabre/vobject/lib/PHPUnitAssertions.php
index d77e4b1ed..45c0a21c6 100644
--- a/vendor/sabre/vobject/lib/PHPUnitAssertions.php
+++ b/vendor/sabre/vobject/lib/PHPUnitAssertions.php
@@ -15,7 +15,7 @@ namespace Sabre\VObject;
trait PHPUnitAssertions
{
/**
- * This method tests wether two vcards or icalendar objects are
+ * This method tests whether two vcards or icalendar objects are
* semantically identical.
*
* It supports objects being supplied as strings, streams or
@@ -34,8 +34,7 @@ trait PHPUnitAssertions
*/
public function assertVObjectEqualsVObject($expected, $actual, $message = '')
{
- $self = $this;
- $getObj = function ($input) use ($self) {
+ $getObj = function ($input) {
if (is_resource($input)) {
$input = stream_get_contents($input);
}
diff --git a/vendor/sabre/vobject/lib/Parameter.php b/vendor/sabre/vobject/lib/Parameter.php
index 2c9a8e7fd..e39d320a1 100644
--- a/vendor/sabre/vobject/lib/Parameter.php
+++ b/vendor/sabre/vobject/lib/Parameter.php
@@ -201,8 +201,6 @@ class Parameter extends Node
/**
* Sets multiple values for this parameter.
- *
- * @param array $value
*/
public function setParts(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Parser/Json.php b/vendor/sabre/vobject/lib/Parser/Json.php
index 3fd307e97..f33603207 100644
--- a/vendor/sabre/vobject/lib/Parser/Json.php
+++ b/vendor/sabre/vobject/lib/Parser/Json.php
@@ -7,6 +7,8 @@ use Sabre\VObject\Component\VCard;
use Sabre\VObject\Document;
use Sabre\VObject\EofException;
use Sabre\VObject\ParseException;
+use Sabre\VObject\Property\FlatText;
+use Sabre\VObject\Property\Text;
/**
* Json Parser.
@@ -87,8 +89,6 @@ class Json extends Parser
/**
* Parses a component.
*
- * @param array $jComp
- *
* @return \Sabre\VObject\Component
*/
public function parseComponent(array $jComp)
@@ -124,8 +124,6 @@ class Json extends Parser
/**
* Parses properties.
*
- * @param array $jProp
- *
* @return \Sabre\VObject\Property
*/
public function parseProperty(array $jProp)
@@ -160,8 +158,8 @@ class Json extends Parser
// represents TEXT values. We have to normalize these here. In the
// future we can get rid of FlatText once we're allowed to break BC
// again.
- if ('Sabre\VObject\Property\FlatText' === $defaultPropertyClass) {
- $defaultPropertyClass = 'Sabre\VObject\Property\Text';
+ if (FlatText::class === $defaultPropertyClass) {
+ $defaultPropertyClass = Text::class;
}
// If the value type we received (e.g.: TEXT) was not the default value
diff --git a/vendor/sabre/vobject/lib/Parser/MimeDir.php b/vendor/sabre/vobject/lib/Parser/MimeDir.php
index 26a7101e5..ea5ac0326 100644
--- a/vendor/sabre/vobject/lib/Parser/MimeDir.php
+++ b/vendor/sabre/vobject/lib/Parser/MimeDir.php
@@ -124,7 +124,7 @@ class MimeDir extends Parser
$this->startLine = 0;
if (is_string($input)) {
- // Convering to a stream.
+ // Converting to a stream.
$stream = fopen('php://temp', 'r+');
fwrite($stream, $input);
rewind($stream);
@@ -480,7 +480,7 @@ class MimeDir extends Parser
* vCard 3.0 says:
* * (rfc2425) Backslashes, newlines (\n or \N) and comma's must be
* escaped, all time time.
- * * Comma's are used for delimeters in multiple values
+ * * Comma's are used for delimiters in multiple values
* * (rfc2426) Adds to to this that the semi-colon MUST also be escaped,
* as in some properties semi-colon is used for separators.
* * Properties using semi-colons: N, ADR, GEO, ORG
diff --git a/vendor/sabre/vobject/lib/Parser/XML.php b/vendor/sabre/vobject/lib/Parser/XML.php
index 90f262d9e..78773173d 100644
--- a/vendor/sabre/vobject/lib/Parser/XML.php
+++ b/vendor/sabre/vobject/lib/Parser/XML.php
@@ -112,8 +112,6 @@ class XML extends Parser
/**
* Parse a xCalendar component.
- *
- * @param Component $parentComponent
*/
protected function parseVCalendarComponents(Component $parentComponent)
{
@@ -134,8 +132,6 @@ class XML extends Parser
/**
* Parse a xCard component.
- *
- * @param Component $parentComponent
*/
protected function parseVCardComponents(Component $parentComponent)
{
@@ -146,8 +142,7 @@ class XML extends Parser
/**
* Parse xCalendar and xCard properties.
*
- * @param Component $parentComponent
- * @param string $propertyNamePrefix
+ * @param string $propertyNamePrefix
*/
protected function parseProperties(Component $parentComponent, $propertyNamePrefix = '')
{
@@ -302,8 +297,6 @@ class XML extends Parser
/**
* Parse a component.
- *
- * @param Component $parentComponent
*/
protected function parseComponent(Component $parentComponent)
{
@@ -327,11 +320,10 @@ class XML extends Parser
/**
* Create a property.
*
- * @param Component $parentComponent
- * @param string $name
- * @param array $parameters
- * @param string $type
- * @param mixed $value
+ * @param string $name
+ * @param array $parameters
+ * @param string $type
+ * @param mixed $value
*/
protected function createProperty(Component $parentComponent, $name, $parameters, $type, $value)
{
@@ -359,9 +351,9 @@ class XML extends Parser
if (is_string($input)) {
$reader = new SabreXml\Reader();
$reader->elementMap['{'.self::XCAL_NAMESPACE.'}period']
- = 'Sabre\VObject\Parser\XML\Element\KeyValue';
+ = XML\Element\KeyValue::class;
$reader->elementMap['{'.self::XCAL_NAMESPACE.'}recur']
- = 'Sabre\VObject\Parser\XML\Element\KeyValue';
+ = XML\Element\KeyValue::class;
$reader->xml($input);
$input = $reader->parse();
}
diff --git a/vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php b/vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php
index e26540036..c0bbf0d9b 100644
--- a/vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php
+++ b/vendor/sabre/vobject/lib/Parser/XML/Element/KeyValue.php
@@ -18,7 +18,7 @@ class KeyValue extends SabreXml\Element\KeyValue
/**
* The deserialize method is called during xml parsing.
*
- * This method is called staticly, this is because in theory this method
+ * This method is called statically, this is because in theory this method
* may be used as a type of constructor, or factory method.
*
* Often you want to return an instance of the current class, but you are
diff --git a/vendor/sabre/vobject/lib/Property.php b/vendor/sabre/vobject/lib/Property.php
index 6105cb0f0..f9cf8e38e 100644
--- a/vendor/sabre/vobject/lib/Property.php
+++ b/vendor/sabre/vobject/lib/Property.php
@@ -123,8 +123,6 @@ abstract class Property extends Node
/**
* Sets a multi-valued property.
- *
- * @param array $parts
*/
public function setParts(array $parts)
{
@@ -262,8 +260,6 @@ abstract class Property extends Node
* Sets the JSON value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
@@ -309,8 +305,6 @@ abstract class Property extends Node
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/Binary.php b/vendor/sabre/vobject/lib/Property/Binary.php
index 830dd9028..ec6713fdd 100644
--- a/vendor/sabre/vobject/lib/Property/Binary.php
+++ b/vendor/sabre/vobject/lib/Property/Binary.php
@@ -100,8 +100,6 @@ class Binary extends Property
* Sets the json value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/Boolean.php b/vendor/sabre/vobject/lib/Property/Boolean.php
index 1b219bb8c..9fb2bce35 100644
--- a/vendor/sabre/vobject/lib/Property/Boolean.php
+++ b/vendor/sabre/vobject/lib/Property/Boolean.php
@@ -8,7 +8,7 @@ use
/**
* Boolean property.
*
- * This object represents BOOLEAN values. These are always the case-insenstive
+ * This object represents BOOLEAN values. These are always the case-insensitive
* string TRUE or FALSE.
*
* Automatic conversion to PHP's true and false are done.
@@ -59,8 +59,6 @@ class Boolean extends Property
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/FloatValue.php b/vendor/sabre/vobject/lib/Property/FloatValue.php
index 208d74516..0d0346968 100644
--- a/vendor/sabre/vobject/lib/Property/FloatValue.php
+++ b/vendor/sabre/vobject/lib/Property/FloatValue.php
@@ -93,8 +93,6 @@ class FloatValue extends Property
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php b/vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php
index 7eb3e0bb7..f2dbdeba3 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/DateTime.php
@@ -38,8 +38,6 @@ class DateTime extends Property
* Sets a multi-valued property.
*
* You may also specify DateTime objects here.
- *
- * @param array $parts
*/
public function setParts(array $parts)
{
@@ -175,7 +173,6 @@ class DateTime extends Property
/**
* Sets the property as a DateTime object.
*
- * @param DateTimeInterface $dt
* @param bool isFloating If set to true, timezones will be ignored
*/
public function setDateTime(DateTimeInterface $dt, $isFloating = false)
@@ -279,8 +276,6 @@ class DateTime extends Property
* Sets the json value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
@@ -343,8 +338,8 @@ class DateTime extends Property
$messages = parent::validate($options);
$valueType = $this->getValueType();
$values = $this->getParts();
- try {
- foreach ($values as $value) {
+ foreach ($values as $value) {
+ try {
switch ($valueType) {
case 'DATE':
DateTimeParser::parseDate($value);
@@ -353,13 +348,14 @@ class DateTime extends Property
DateTimeParser::parseDateTime($value);
break;
}
+ } catch (InvalidDataException $e) {
+ $messages[] = [
+ 'level' => 3,
+ 'message' => 'The supplied value ('.$value.') is not a correct '.$valueType,
+ 'node' => $this,
+ ];
+ break;
}
- } catch (InvalidDataException $e) {
- $messages[] = [
- 'level' => 3,
- 'message' => 'The supplied value ('.$value.') is not a correct '.$valueType,
- 'node' => $this,
- ];
}
return $messages;
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
index 17bfa5c5c..eb3752770 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Period.php
@@ -67,8 +67,6 @@ class Period extends Property
* Sets the json value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
index baeda781e..3d632fec1 100644
--- a/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
+++ b/vendor/sabre/vobject/lib/Property/ICalendar/Recur.php
@@ -88,8 +88,6 @@ class Recur extends Property
/**
* Sets a multi-valued property.
- *
- * @param array $parts
*/
public function setParts(array $parts)
{
diff --git a/vendor/sabre/vobject/lib/Property/IntegerValue.php b/vendor/sabre/vobject/lib/Property/IntegerValue.php
index ddd71d731..6f709bfff 100644
--- a/vendor/sabre/vobject/lib/Property/IntegerValue.php
+++ b/vendor/sabre/vobject/lib/Property/IntegerValue.php
@@ -9,7 +9,7 @@ use
* Integer property.
*
* This object represents INTEGER values. These are always a single integer.
- * They may be preceeded by either + or -.
+ * They may be preceded by either + or -.
*
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
@@ -68,8 +68,6 @@ class IntegerValue extends Property
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/Text.php b/vendor/sabre/vobject/lib/Property/Text.php
index 23c945551..ac8aa066b 100644
--- a/vendor/sabre/vobject/lib/Property/Text.php
+++ b/vendor/sabre/vobject/lib/Property/Text.php
@@ -111,7 +111,7 @@ class Text extends Property
// that.
//
// We also don't have to unescape \\, so all we need to look for is a ;
- // that's not preceeded with a \.
+ // that's not preceded with a \.
$regex = '# (?<!\\\\) ; #x';
$matches = preg_split($regex, $val);
$this->setValue($matches);
diff --git a/vendor/sabre/vobject/lib/Property/Time.php b/vendor/sabre/vobject/lib/Property/Time.php
index 7aeafc8d0..544b5ced3 100644
--- a/vendor/sabre/vobject/lib/Property/Time.php
+++ b/vendor/sabre/vobject/lib/Property/Time.php
@@ -40,8 +40,6 @@ class Time extends Text
* Sets the JSON value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
@@ -119,8 +117,6 @@ class Time extends Text
/**
* Hydrate data from a XML subtree, as it would appear in a xCard or xCal
* object.
- *
- * @param array $value
*/
public function setXmlValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/Uri.php b/vendor/sabre/vobject/lib/Property/Uri.php
index 3449ba1f2..830cd3f18 100644
--- a/vendor/sabre/vobject/lib/Property/Uri.php
+++ b/vendor/sabre/vobject/lib/Property/Uri.php
@@ -72,7 +72,7 @@ class Uri extends Text
{
// Normally we don't need to do any type of unescaping for these
// properties, however.. we've noticed that Google Contacts
- // specifically escapes the colon (:) with a blackslash. While I have
+ // specifically escapes the colon (:) with a backslash. While I have
// no clue why they thought that was a good idea, I'm unescaping it
// anyway.
//
diff --git a/vendor/sabre/vobject/lib/Property/UtcOffset.php b/vendor/sabre/vobject/lib/Property/UtcOffset.php
index 732239e23..248ed40ea 100644
--- a/vendor/sabre/vobject/lib/Property/UtcOffset.php
+++ b/vendor/sabre/vobject/lib/Property/UtcOffset.php
@@ -38,8 +38,6 @@ class UtcOffset extends Text
* Sets the JSON value, as it would appear in a jCard or jCal object.
*
* The value must always be an array.
- *
- * @param array $value
*/
public function setJsonValue(array $value)
{
diff --git a/vendor/sabre/vobject/lib/Property/VCard/Date.php b/vendor/sabre/vobject/lib/Property/VCard/Date.php
index a018ccbb8..fc679d572 100644
--- a/vendor/sabre/vobject/lib/Property/VCard/Date.php
+++ b/vendor/sabre/vobject/lib/Property/VCard/Date.php
@@ -28,8 +28,6 @@ class Date extends DateAndOrTime
/**
* Sets the property as a DateTime object.
- *
- * @param \DateTimeInterface $dt
*/
public function setDateTime(\DateTimeInterface $dt)
{
diff --git a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
index b7e17492a..09918b31a 100644
--- a/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
+++ b/vendor/sabre/vobject/lib/Property/VCard/DateAndOrTime.php
@@ -45,8 +45,6 @@ class DateAndOrTime extends Property
* Sets a multi-valued property.
*
* You may also specify DateTimeInterface objects here.
- *
- * @param array $parts
*/
public function setParts(array $parts)
{
@@ -80,8 +78,6 @@ class DateAndOrTime extends Property
/**
* Sets the property as a DateTime object.
- *
- * @param DateTimeInterface $dt
*/
public function setDateTime(DateTimeInterface $dt)
{
diff --git a/vendor/sabre/vobject/lib/Recur/EventIterator.php b/vendor/sabre/vobject/lib/Recur/EventIterator.php
index 135ecf00e..fd904b383 100644
--- a/vendor/sabre/vobject/lib/Recur/EventIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/EventIterator.php
@@ -380,8 +380,6 @@ class EventIterator implements \Iterator
/**
* Quickly jump to a date in the future.
- *
- * @param DateTimeInterface $dateTime
*/
public function fastForward(DateTimeInterface $dateTime)
{
diff --git a/vendor/sabre/vobject/lib/Recur/NoInstancesException.php b/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
index b55af567d..348c02306 100644
--- a/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
+++ b/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
@@ -7,7 +7,7 @@ use Exception;
/**
* This exception gets thrown when a recurrence iterator produces 0 instances.
*
- * This may happen when every occurence in a rrule is also in EXDATE.
+ * This may happen when every occurrence in a rrule is also in EXDATE.
*
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
diff --git a/vendor/sabre/vobject/lib/Recur/RDateIterator.php b/vendor/sabre/vobject/lib/Recur/RDateIterator.php
index 013694b95..d117e152c 100644
--- a/vendor/sabre/vobject/lib/Recur/RDateIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/RDateIterator.php
@@ -24,8 +24,7 @@ class RDateIterator implements Iterator
/**
* Creates the Iterator.
*
- * @param string|array $rrule
- * @param DateTimeInterface $start
+ * @param string|array $rrule
*/
public function __construct($rrule, DateTimeInterface $start)
{
@@ -107,8 +106,6 @@ class RDateIterator implements Iterator
/**
* This method allows you to quickly go to the next occurrence after the
* specified date.
- *
- * @param DateTimeInterface $dt
*/
public function fastForward(DateTimeInterface $dt)
{
diff --git a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
index 75342a2a8..55581e9ac 100644
--- a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
@@ -27,8 +27,7 @@ class RRuleIterator implements Iterator
/**
* Creates the Iterator.
*
- * @param string|array $rrule
- * @param DateTimeInterface $start
+ * @param string|array $rrule
*/
public function __construct($rrule, DateTimeInterface $start)
{
@@ -132,8 +131,6 @@ class RRuleIterator implements Iterator
/**
* This method allows you to quickly go to the next occurrence after the
* specified date.
- *
- * @param DateTimeInterface $dt
*/
public function fastForward(DateTimeInterface $dt)
{
@@ -232,7 +229,7 @@ class RRuleIterator implements Iterator
*
* This is an array of weekdays
*
- * This may also be preceeded by a positive or negative integer. If present,
+ * This may also be preceded by a positive or negative integer. If present,
* this indicates the nth occurrence of a specific day within the monthly or
* yearly rrule. For instance, -2TU indicates the second-last tuesday of
* the month, or year.
@@ -325,14 +322,17 @@ class RRuleIterator implements Iterator
return;
}
+ $recurrenceHours = [];
if (!empty($this->byHour)) {
$recurrenceHours = $this->getHours();
}
+ $recurrenceDays = [];
if (!empty($this->byDay)) {
$recurrenceDays = $this->getDays();
}
+ $recurrenceMonths = [];
if (!empty($this->byMonth)) {
$recurrenceMonths = $this->getMonths();
}
@@ -375,10 +375,12 @@ class RRuleIterator implements Iterator
return;
}
+ $recurrenceHours = [];
if ($this->byHour) {
$recurrenceHours = $this->getHours();
}
+ $recurrenceDays = [];
if ($this->byDay) {
$recurrenceDays = $this->getDays();
}
@@ -439,6 +441,7 @@ class RRuleIterator implements Iterator
return;
}
+ $occurrence = -1;
while (true) {
$occurrences = $this->getMonthlyOccurrences();
@@ -608,6 +611,7 @@ class RRuleIterator implements Iterator
// If we got a byDay or getMonthDay filter, we must first expand
// further.
if ($this->byDay || $this->byMonthDay) {
+ $occurrence = -1;
while (true) {
$occurrences = $this->getMonthlyOccurrences();
@@ -771,7 +775,7 @@ class RRuleIterator implements Iterator
$this->byMonth = (array) $value;
foreach ($this->byMonth as $byMonth) {
if (!is_numeric($byMonth) || (int) $byMonth < 1 || (int) $byMonth > 12) {
- throw new InvalidDataException('BYMONTH in RRULE must have value(s) betweeen 1 and 12!');
+ throw new InvalidDataException('BYMONTH in RRULE must have value(s) between 1 and 12!');
}
}
break;
@@ -948,7 +952,7 @@ class RRuleIterator implements Iterator
{
$recurrenceDays = [];
foreach ($this->byDay as $byDay) {
- // The day may be preceeded with a positive (+n) or
+ // The day may be preceded with a positive (+n) or
// negative (-n) integer. However, this does not make
// sense in 'weekly' so we ignore it here.
$recurrenceDays[] = $this->dayMap[substr($byDay, -2)];
diff --git a/vendor/sabre/vobject/lib/Settings.php b/vendor/sabre/vobject/lib/Settings.php
index afc586b0c..b0bb80a82 100644
--- a/vendor/sabre/vobject/lib/Settings.php
+++ b/vendor/sabre/vobject/lib/Settings.php
@@ -46,7 +46,7 @@ class Settings
* specific events that recur many, many times, potentially DDOSing the
* server.
*
- * The default (3500) allows creation of a dialy event that goes on for 10
+ * The default (3500) allows creation of a daily event that goes on for 10
* years, which is hopefully long enough for most.
*
* Set this value to -1 to disable this control altogether.
diff --git a/vendor/sabre/vobject/lib/TimeZoneUtil.php b/vendor/sabre/vobject/lib/TimeZoneUtil.php
index 5b1a775c2..2c407fee6 100644
--- a/vendor/sabre/vobject/lib/TimeZoneUtil.php
+++ b/vendor/sabre/vobject/lib/TimeZoneUtil.php
@@ -139,7 +139,7 @@ class TimeZoneUtil
// PHP has a bug that logs PHP warnings even it shouldn't:
// https://bugs.php.net/bug.php?id=67881
//
- // That's why we're checking if we'll be able to successfull instantiate
+ // That's why we're checking if we'll be able to successfully instantiate
// \DateTimeZone() before doing so. Otherwise we could simply instantiate
// and catch the exception.
$tzIdentifiers = \DateTimeZone::listIdentifiers();
diff --git a/vendor/sabre/vobject/lib/VCardConverter.php b/vendor/sabre/vobject/lib/VCardConverter.php
index 156b83b4e..04932fe67 100644
--- a/vendor/sabre/vobject/lib/VCardConverter.php
+++ b/vendor/sabre/vobject/lib/VCardConverter.php
@@ -26,8 +26,7 @@ class VCardConverter
*
* If input and output version are identical, a clone is returned.
*
- * @param Component\VCard $input
- * @param int $targetVersion
+ * @param int $targetVersion
*/
public function convert(Component\VCard $input, $targetVersion)
{
@@ -62,10 +61,7 @@ class VCardConverter
/**
* Handles conversion of a single property.
*
- * @param Component\VCard $input
- * @param Component\VCard $output
- * @param Property $property
- * @param int $targetVersion
+ * @param int $targetVersion
*/
protected function convertProperty(Component\VCard $input, Component\VCard $output, Property $property, $targetVersion)
{
@@ -83,6 +79,9 @@ class VCardConverter
if (!$valueType) {
$valueType = $property->getValueType();
}
+ if (Document::VCARD30 !== $targetVersion && 'PHONE-NUMBER' === $valueType) {
+ $valueType = null;
+ }
$newProperty = $output->createProperty(
$property->name,
$property->getParts(),
@@ -227,7 +226,7 @@ class VCardConverter
// Lastly, we need to see if there's a need for a VALUE parameter.
//
- // We can do that by instantating a empty property with that name, and
+ // We can do that by instantiating a empty property with that name, and
// seeing if the default valueType is identical to the current one.
$tempProperty = $output->createProperty($newProperty->name);
if ($tempProperty->getValueType() !== $newProperty->getValueType()) {
@@ -242,8 +241,7 @@ class VCardConverter
*
* vCard 4.0 no longer supports BINARY properties.
*
- * @param Component\VCard $output
- * @param Property\Uri $property the input property
+ * @param Property\Uri $property the input property
* @param $parameters list of parameters that will eventually be added to
* the new property
*
@@ -296,8 +294,7 @@ class VCardConverter
* be valid in vCard 3.0 as well, we should convert those to BINARY if
* possible, to improve compatibility.
*
- * @param Component\VCard $output
- * @param Property\Uri $property the input property
+ * @param Property\Uri $property the input property
*
* @return Property\Binary|null
*/
@@ -344,9 +341,6 @@ class VCardConverter
/**
* Adds parameters to a new property for vCard 4.0.
- *
- * @param Property $newProperty
- * @param array $parameters
*/
protected function convertParameters40(Property $newProperty, array $parameters)
{
@@ -383,9 +377,6 @@ class VCardConverter
/**
* Adds parameters to a new property for vCard 3.0.
- *
- * @param Property $newProperty
- * @param array $parameters
*/
protected function convertParameters30(Property $newProperty, array $parameters)
{
diff --git a/vendor/sabre/vobject/lib/Version.php b/vendor/sabre/vobject/lib/Version.php
index b728f216d..883d20289 100644
--- a/vendor/sabre/vobject/lib/Version.php
+++ b/vendor/sabre/vobject/lib/Version.php
@@ -14,5 +14,5 @@ class Version
/**
* Full version number.
*/
- const VERSION = '4.2.1';
+ const VERSION = '4.3.0';
}
diff --git a/vendor/sabre/vobject/lib/Writer.php b/vendor/sabre/vobject/lib/Writer.php
index c70a6ae4d..cbd22022e 100644
--- a/vendor/sabre/vobject/lib/Writer.php
+++ b/vendor/sabre/vobject/lib/Writer.php
@@ -19,8 +19,6 @@ class Writer
/**
* Serializes a vCard or iCalendar object.
*
- * @param Component $component
- *
* @return string
*/
public static function write(Component $component)
@@ -31,8 +29,7 @@ class Writer
/**
* Serializes a jCal or jCard object.
*
- * @param Component $component
- * @param int $options
+ * @param int $options
*
* @return string
*/
@@ -44,8 +41,6 @@ class Writer
/**
* Serializes a xCal or xCard object.
*
- * @param Component $component
- *
* @return string
*/
public static function writeXml(Component $component)
diff --git a/vendor/sabre/vobject/phpstan.neon b/vendor/sabre/vobject/phpstan.neon
index e50c5be6e..c705178c9 100644
--- a/vendor/sabre/vobject/phpstan.neon
+++ b/vendor/sabre/vobject/phpstan.neon
@@ -1,3 +1,4 @@
parameters:
- level: 0
- bootstrap: %currentWorkingDirectory%/vendor/autoload.php
+ level: 1
+ universalObjectCratesClasses:
+ - \Sabre\VObject\Component
diff --git a/vendor/sabre/vobject/tests/bootstrap.php b/vendor/sabre/vobject/tests/bootstrap.php
index 46e9014cb..2496aa4ff 100644
--- a/vendor/sabre/vobject/tests/bootstrap.php
+++ b/vendor/sabre/vobject/tests/bootstrap.php
@@ -13,13 +13,3 @@ foreach ($try as $path) {
break;
}
}
-
-$autoLoader->addPsr4('Sabre\\VObject\\', __DIR__.'/VObject');
-
-if (!defined('SABRE_TEMPDIR')) {
- define('SABRE_TEMPDIR', __DIR__.'/temp/');
-}
-
-if (!file_exists(SABRE_TEMPDIR)) {
- mkdir(SABRE_TEMPDIR);
-}
diff --git a/vendor/sabre/vobject/tests/phpunit.xml b/vendor/sabre/vobject/tests/phpunit.xml
index 46dad6a3d..c9abae412 100644
--- a/vendor/sabre/vobject/tests/phpunit.xml
+++ b/vendor/sabre/vobject/tests/phpunit.xml
@@ -6,11 +6,12 @@
convertWarningsToExceptions="true"
beStrictAboutTestsThatDoNotTestAnything="true"
beStrictAboutOutputDuringTests="true"
- beStrictAboutTestSize="true"
>
- <testsuite name="Sabre\VObject">
- <directory>VObject/</directory>
- </testsuite>
+ <testsuites>
+ <testsuite name="Sabre\VObject">
+ <directory>VObject/</directory>
+ </testsuite>
+ </testsuites>
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
diff --git a/vendor/sabre/xml/.gitignore b/vendor/sabre/xml/.gitignore
index 51fc188bf..a85591183 100644
--- a/vendor/sabre/xml/.gitignore
+++ b/vendor/sabre/xml/.gitignore
@@ -1,10 +1,22 @@
+# Composer
vendor
composer.lock
+
+# Tests
tests/cov
+tests/.phpunit.result.cache
.*.swp
-.php_cs.cache
# Composer binaries
bin/phpunit
bin/php-cs-fixer
-bin/sabre-cs-fixer
+bin/phpstan
+bin/phpstan.phar
+
+# Vim
+.*.swp
+
+# IDEs
+/.idea
+
+.php_cs.cache
diff --git a/vendor/sabre/xml/.php_cs.dist b/vendor/sabre/xml/.php_cs.dist
index 8d61ee259..c5c78a971 100644
--- a/vendor/sabre/xml/.php_cs.dist
+++ b/vendor/sabre/xml/.php_cs.dist
@@ -6,7 +6,7 @@ $config->getFinder()
->in(__DIR__);
$config->setRules([
'@PSR1' => true,
- '@Symfony' =>true
+ '@Symfony' => true
]);
return $config; \ No newline at end of file
diff --git a/vendor/sabre/xml/.travis.yml b/vendor/sabre/xml/.travis.yml
index 49a0c9a22..953c2a60b 100644
--- a/vendor/sabre/xml/.travis.yml
+++ b/vendor/sabre/xml/.travis.yml
@@ -1,19 +1,20 @@
language: php
sudo: required
-dist: xenial
php:
- - 7.0
- 7.1
- 7.2
- - 7.3snapshot
+ - 7.3
+ - 7.4
-addons:
- apt:
- packages:
- # required for php7.3
- - libzip4
+env:
+ global:
+ - RUN_PHPSTAN="FALSE"
matrix:
+ include:
+ - name: 'PHPStan'
+ php: 7.2
+ env: RUN_PHPSTAN="TRUE"
fast_finish: true
cache:
@@ -21,11 +22,15 @@ cache:
- $HOME/.composer/cache
install:
+ - if [ $RUN_PHPSTAN == "TRUE" ]; then composer require --dev phpstan/phpstan:^0.12; fi
+
+before_script:
- composer install
script:
- - ./bin/phpunit --configuration tests/phpunit.xml.dist --coverage-clover=coverage.xml
+ - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/php-cs-fixer fix --dry-run --diff; fi
+ - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/phpunit --configuration tests/phpunit.xml --coverage-clover=coverage.xml; fi
+ - if [ $RUN_PHPSTAN == "TRUE" ]; then php ./bin/phpstan analyse -c phpstan.neon lib; fi
after_success:
-- bash <(curl -s https://codecov.io/bash)
-
+ - bash <(curl -s https://codecov.io/bash)
diff --git a/vendor/sabre/xml/CHANGELOG.md b/vendor/sabre/xml/CHANGELOG.md
index 1ad830124..bbfc8ddec 100644
--- a/vendor/sabre/xml/CHANGELOG.md
+++ b/vendor/sabre/xml/CHANGELOG.md
@@ -1,16 +1,28 @@
ChangeLog
=========
+2.2.0 (2020-01-31)
+------------------
+
+* #171: Added Support for PHP 7.4, dropped Support for PHP 7.0 (@staabm, @phil-davis)
+* #174: Update testsuite to phpunit8 (@phil-davis)
+* Added phpstan coverage (@phil-davis)
+* #144: Added a new `functionCaller` deserializer function for executing a callable when reading a XML
+element (@vsouz4)
+
+
2.1.3 (2019-08-14)
------------------
* #166: Throw exception when empty inputs found
+
2.1.2 (2019-01-09)
------------------
* #161: Prevent infinite loop on empty xml elements
+
2.1.1 (2018-10-09)
------------------
diff --git a/vendor/sabre/xml/composer.json b/vendor/sabre/xml/composer.json
index c782dbc5e..2af0dd458 100644
--- a/vendor/sabre/xml/composer.json
+++ b/vendor/sabre/xml/composer.json
@@ -5,7 +5,7 @@
"homepage" : "https://sabre.io/xml/",
"license" : "BSD-3-Clause",
"require" : {
- "php" : ">=7.0",
+ "php" : "^7.1",
"ext-xmlwriter" : "*",
"ext-xmlreader" : "*",
"ext-dom" : "*",
@@ -44,7 +44,8 @@
}
},
"require-dev": {
- "phpunit/phpunit" : "^6"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit" : "^7 || ^8"
},
"config" : {
"bin-dir" : "bin/"
diff --git a/vendor/sabre/xml/lib/ContextStackTrait.php b/vendor/sabre/xml/lib/ContextStackTrait.php
index bc770ffad..757088847 100644
--- a/vendor/sabre/xml/lib/ContextStackTrait.php
+++ b/vendor/sabre/xml/lib/ContextStackTrait.php
@@ -45,7 +45,7 @@ trait ContextStackTrait
* common use-case for parsing XML documents, it's added here as a
* convenience.
*
- * @var string
+ * @var string|null
*/
public $contextUri;
diff --git a/vendor/sabre/xml/lib/Deserializer/functions.php b/vendor/sabre/xml/lib/Deserializer/functions.php
index 0eff4b7e0..c4f240970 100644
--- a/vendor/sabre/xml/lib/Deserializer/functions.php
+++ b/vendor/sabre/xml/lib/Deserializer/functions.php
@@ -173,7 +173,7 @@ function enum(Reader $reader, string $namespace = null): array
if (!is_null($namespace) && $namespace === $reader->namespaceURI) {
$values[] = $reader->localName;
} else {
- $values[] = $reader->getClark();
+ $values[] = (string) $reader->getClark();
}
} while ($reader->depth >= $currentDepth && $reader->next());
@@ -316,3 +316,44 @@ function mixedContent(Reader $reader): array
return $content;
}
+
+/**
+ * The functionCaller deserializer turns an xml element into whatever your callable return.
+ *
+ * You can use, e.g., a named constructor (factory method) to create an object using
+ * this function.
+ *
+ * @return mixed
+ */
+function functionCaller(Reader $reader, callable $func, string $namespace)
+{
+ if ($reader->isEmptyElement) {
+ $reader->next();
+
+ return null;
+ }
+
+ $funcArgs = [];
+ $func = is_string($func) && false !== strpos($func, '::') ? explode('::', $func) : $func;
+ $ref = is_array($func) ? new \ReflectionMethod($func[0], $func[1]) : new \ReflectionFunction($func);
+ foreach ($ref->getParameters() as $parameter) {
+ $funcArgs[$parameter->getName()] = null;
+ }
+
+ $reader->read();
+ do {
+ if (Reader::ELEMENT === $reader->nodeType && $reader->namespaceURI == $namespace) {
+ if (array_key_exists($reader->localName, $funcArgs)) {
+ $funcArgs[$reader->localName] = $reader->parseCurrentElement()['value'];
+ } else {
+ // Ignore property
+ $reader->next();
+ }
+ } else {
+ $reader->read();
+ }
+ } while (Reader::END_ELEMENT !== $reader->nodeType);
+ $reader->read();
+
+ return $func(...array_values($funcArgs));
+}
diff --git a/vendor/sabre/xml/lib/Element/Uri.php b/vendor/sabre/xml/lib/Element/Uri.php
index 898a26457..2644fbcd7 100644
--- a/vendor/sabre/xml/lib/Element/Uri.php
+++ b/vendor/sabre/xml/lib/Element/Uri.php
@@ -91,7 +91,7 @@ class Uri implements Xml\Element
{
return new self(
\Sabre\Uri\resolve(
- $reader->contextUri,
+ (string) $reader->contextUri,
$reader->readText()
)
);
diff --git a/vendor/sabre/xml/lib/Element/XmlFragment.php b/vendor/sabre/xml/lib/Element/XmlFragment.php
index 413e0f106..12109e5c9 100644
--- a/vendor/sabre/xml/lib/Element/XmlFragment.php
+++ b/vendor/sabre/xml/lib/Element/XmlFragment.php
@@ -85,7 +85,7 @@ XML;
switch ($reader->nodeType) {
case Reader::ELEMENT:
$writer->startElement(
- $reader->getClark()
+ (string) $reader->getClark()
);
$empty = $reader->isEmptyElement;
while ($reader->moveToNextAttribute()) {
@@ -97,7 +97,7 @@ XML;
// Skip namespace declarations
break;
default:
- $writer->writeAttribute($reader->getClark(), $reader->value);
+ $writer->writeAttribute((string) $reader->getClark(), $reader->value);
break;
}
}
diff --git a/vendor/sabre/xml/lib/LibXMLException.php b/vendor/sabre/xml/lib/LibXMLException.php
index 4701c304a..ae136f57b 100644
--- a/vendor/sabre/xml/lib/LibXMLException.php
+++ b/vendor/sabre/xml/lib/LibXMLException.php
@@ -21,7 +21,7 @@ class LibXMLException extends ParseException
/**
* The error list.
*
- * @var []LibXMLError
+ * @var \LibXMLError[]
*/
protected $errors;
@@ -30,8 +30,7 @@ class LibXMLException extends ParseException
*
* You should pass a list of LibXMLError objects in its constructor.
*
- * @param []LibXMLError $errors
- * @param int $code
+ * @param LibXMLError[] $errors
* @param Throwable $previousException
*/
public function __construct(array $errors, int $code = 0, Throwable $previousException = null)
diff --git a/vendor/sabre/xml/lib/ParseException.php b/vendor/sabre/xml/lib/ParseException.php
index e237b8732..5980b5fc4 100644
--- a/vendor/sabre/xml/lib/ParseException.php
+++ b/vendor/sabre/xml/lib/ParseException.php
@@ -4,7 +4,8 @@ declare(strict_types=1);
namespace Sabre\Xml;
-use Exception;
+use
+ Exception;
/**
* This is a base exception for any exception related to parsing xml files.
diff --git a/vendor/sabre/xml/lib/Reader.php b/vendor/sabre/xml/lib/Reader.php
index 37e0c86dd..a28cf8c3b 100644
--- a/vendor/sabre/xml/lib/Reader.php
+++ b/vendor/sabre/xml/lib/Reader.php
@@ -118,7 +118,7 @@ class Reader extends XMLReader
* If the $elementMap argument is specified, the existing elementMap will
* be overridden while parsing the tree, and restored after this process.
*
- * @return array|string
+ * @return array|string|null
*/
public function parseInnerTree(array $elementMap = null)
{
@@ -147,7 +147,9 @@ class Reader extends XMLReader
throw new ParseException('This should never happen (famous last words)');
}
- while (true) {
+ $keepOnParsing = true;
+
+ while ($keepOnParsing) {
if (!$this->isValid()) {
$errors = libxml_get_errors();
@@ -169,7 +171,8 @@ class Reader extends XMLReader
case self::END_ELEMENT:
// Ensuring we are moving the cursor after the end element.
$this->read();
- break 2;
+ $keepOnParsing = false;
+ break;
case self::NONE:
throw new ParseException('We hit the end of the document prematurely. This likely means that some parser "eats" too many elements. Do not attempt to continue parsing.');
default:
@@ -223,7 +226,7 @@ class Reader extends XMLReader
}
$value = call_user_func(
- $this->getDeserializerForElementName($name),
+ $this->getDeserializerForElementName((string) $name),
$this
);
diff --git a/vendor/sabre/xml/lib/Serializer/functions.php b/vendor/sabre/xml/lib/Serializer/functions.php
index 3694d9791..8d0330558 100644
--- a/vendor/sabre/xml/lib/Serializer/functions.php
+++ b/vendor/sabre/xml/lib/Serializer/functions.php
@@ -148,7 +148,7 @@ function repeatingElements(Writer $writer, array $items, string $childElementNam
*
* You can even mix the two array syntaxes.
*
- * @param string|int|float|bool|array|object
+ * @param string|int|float|bool|array|object $value
*/
function standardSerializer(Writer $writer, $value)
{
@@ -164,8 +164,6 @@ function standardSerializer(Writer $writer, $value)
} elseif (is_callable($value)) {
// A callback
$value($writer);
- } elseif (is_null($value)) {
- // nothing!
} elseif (is_array($value) && array_key_exists('name', $value)) {
// if the array had a 'name' element, we assume that this array
// describes a 'name' and optionally 'attributes' and 'value'.
@@ -204,7 +202,7 @@ function standardSerializer(Writer $writer, $value)
}
} elseif (is_object($value)) {
throw new InvalidArgumentException('The writer cannot serialize objects of class: '.get_class($value));
- } else {
+ } elseif (!is_null($value)) {
throw new InvalidArgumentException('The writer cannot serialize values of type: '.gettype($value));
}
}
diff --git a/vendor/sabre/xml/lib/Service.php b/vendor/sabre/xml/lib/Service.php
index 882b2dc2c..9a2c47794 100644
--- a/vendor/sabre/xml/lib/Service.php
+++ b/vendor/sabre/xml/lib/Service.php
@@ -61,6 +61,13 @@ class Service
public $classMap = [];
/**
+ * A bitmask of the LIBXML_* constants.
+ *
+ * @var int
+ */
+ public $options = 0;
+
+ /**
* Returns a fresh XML Reader.
*/
public function getReader(): Reader
@@ -107,7 +114,7 @@ class Service
if (is_resource($input)) {
// Unfortunately the XMLReader doesn't support streams. When it
// does, we can optimize this.
- $input = stream_get_contents($input);
+ $input = (string) stream_get_contents($input);
// If input is an empty string, then its safe to throw exception
if ('' === $input) {
@@ -116,7 +123,7 @@ class Service
}
$r = $this->getReader();
$r->contextUri = $contextUri;
- $r->xml($input);
+ $r->XML($input, null, $this->options);
$result = $r->parse();
$rootElementName = $result['name'];
@@ -140,7 +147,6 @@ class Service
*
* @param string|string[] $rootElementName
* @param string|resource $input
- * @param string|null $contextUri
*
* @throws ParseException
*
@@ -151,7 +157,7 @@ class Service
if (is_resource($input)) {
// Unfortunately the XMLReader doesn't support streams. When it
// does, we can optimize this.
- $input = stream_get_contents($input);
+ $input = (string) stream_get_contents($input);
// If input is empty string, then its safe to throw exception
if ('' === $input) {
@@ -160,7 +166,7 @@ class Service
}
$r = $this->getReader();
$r->contextUri = $contextUri;
- $r->xml($input);
+ $r->XML($input, null, $this->options);
$rootElementName = (array) $rootElementName;
@@ -172,7 +178,7 @@ class Service
$result = $r->parse();
if (!in_array($result['name'], $rootElementName, true)) {
- throw new ParseException('Expected '.implode(' or ', (array) $rootElementName).' but received '.$result['name'].' as the root element');
+ throw new ParseException('Expected '.implode(' or ', $rootElementName).' but received '.$result['name'].' as the root element');
}
return $result['value'];
@@ -192,7 +198,7 @@ class Service
* This allows an implementor to easily create URI's relative to the root
* of the domain.
*
- * @param string|array|XmlSerializable $value
+ * @param string|array|object|XmlSerializable $value
*
* @return string
*/
diff --git a/vendor/sabre/xml/lib/Version.php b/vendor/sabre/xml/lib/Version.php
index 65706ec42..cf2810c2a 100644
--- a/vendor/sabre/xml/lib/Version.php
+++ b/vendor/sabre/xml/lib/Version.php
@@ -16,5 +16,5 @@ class Version
/**
* Full version number.
*/
- const VERSION = '2.1.1';
+ const VERSION = '2.2.0';
}
diff --git a/vendor/sabre/xml/lib/Writer.php b/vendor/sabre/xml/lib/Writer.php
index f5957bbce..e3238a7ed 100644
--- a/vendor/sabre/xml/lib/Writer.php
+++ b/vendor/sabre/xml/lib/Writer.php
@@ -182,8 +182,6 @@ class Writer extends XMLWriter
* XMLWriter::startElement doesn't either.
*
* @param array|string|object|null $content
- *
- * @return bool
*/
public function writeElement($name, $content = null): bool
{
diff --git a/vendor/simplepie/simplepie/LICENSE.txt b/vendor/simplepie/simplepie/LICENSE.txt
index a822a4bd9..6503e83c1 100644
--- a/vendor/simplepie/simplepie/LICENSE.txt
+++ b/vendor/simplepie/simplepie/LICENSE.txt
@@ -1,4 +1,4 @@
-Copyright (c) 2004-2007, Ryan Parman and Geoffrey Sneddon.
+Copyright (c) 2004-2007, Ryan Parman and Sam Sneddon.
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
diff --git a/vendor/simplepie/simplepie/README.markdown b/vendor/simplepie/simplepie/README.markdown
index 6903a065b..9fcc12937 100644
--- a/vendor/simplepie/simplepie/README.markdown
+++ b/vendor/simplepie/simplepie/README.markdown
@@ -87,14 +87,14 @@ Authors and contributors
### Alumni
* [Ryan McCue][] (developer, support)
* [Ryan Parman][] (Creator, developer, evangelism, support)
-* [Geoffrey Sneddon][] (Lead developer)
+* [Sam Sneddon][] (Lead developer)
* [Michael Shipley][] (Submitter of patches, support)
* [Steve Minutillo][] (Submitter of patches)
[Malcolm Blaney]: https://unicyclic.com/mal
[Ryan McCue]: http://ryanmccue.info
[Ryan Parman]: http://ryanparman.com
-[Geoffrey Sneddon]: http://gsnedders.com
+[Sam Sneddon]: https://gsnedders.com
[Michael Shipley]: http://michaelpshipley.com
[Steve Minutillo]: http://minutillo.com/steve/
diff --git a/vendor/simplepie/simplepie/autoloader.php b/vendor/simplepie/simplepie/autoloader.php
index fd7690da2..e42f07b3a 100644
--- a/vendor/simplepie/simplepie/autoloader.php
+++ b/vendor/simplepie/simplepie/autoloader.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/composer.json b/vendor/simplepie/simplepie/composer.json
index dd1346150..d76ee7d4d 100644
--- a/vendor/simplepie/simplepie/composer.json
+++ b/vendor/simplepie/simplepie/composer.json
@@ -12,8 +12,8 @@
"role": "Creator, alumnus developer"
},
{
- "name": "Geoffrey Sneddon",
- "homepage": "http://gsnedders.com/",
+ "name": "Sam Sneddon",
+ "homepage": "https://gsnedders.com/",
"role": "Alumnus developer"
},
{
diff --git a/vendor/simplepie/simplepie/library/SimplePie.php b/vendor/simplepie/simplepie/library/SimplePie.php
index 406ab0aec..5ce5f82f3 100644
--- a/vendor/simplepie/simplepie/library/SimplePie.php
+++ b/vendor/simplepie/simplepie/library/SimplePie.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2017, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2017, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,10 +33,10 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @version 1.5.3
- * @copyright 2004-2017 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @version 1.5.5
+ * @copyright 2004-2017 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
@@ -50,7 +50,7 @@ define('SIMPLEPIE_NAME', 'SimplePie');
/**
* SimplePie Version
*/
-define('SIMPLEPIE_VERSION', '1.5.3');
+define('SIMPLEPIE_VERSION', '1.5.5');
/**
* SimplePie Build
@@ -706,7 +706,7 @@ class SimplePie
*/
public function __destruct()
{
- if ((version_compare(PHP_VERSION, '5.6', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
+ if (!gc_enabled())
{
if (!empty($this->data['items']))
{
@@ -1373,7 +1373,8 @@ class SimplePie
// Decide whether to enable caching
if ($this->cache && $parsed_feed_url['scheme'] !== '')
{
- $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, call_user_func($this->cache_name_function, $this->feed_url), 'spc'));
+ $url = $this->feed_url . ($this->force_feed ? '#force_feed' : '');
+ $cache = $this->registry->call('Cache', 'get_handler', array($this->cache_location, call_user_func($this->cache_name_function, $url), 'spc'));
}
// Fetch the data via SimplePie_File into $this->raw_data
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Author.php b/vendor/simplepie/simplepie/library/SimplePie/Author.php
index 14794cf27..563932f4c 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Author.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Author.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache.php b/vendor/simplepie/simplepie/library/SimplePie/Cache.php
index d98cc6511..9c5577d95 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Cache.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php
index 333fb05cf..522ff7e10 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Base.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php
index 7e8f77532..74d57b8da 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/DB.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/File.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/File.php
index a09dea637..03758e923 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Cache/File.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/File.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php
index 5190eef93..caf785275 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcache.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php
index 1f73b3890..0b40d87c8 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/Memcached.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php b/vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php
index 061ed043a..a684eb833 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Cache/MySQL.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Caption.php b/vendor/simplepie/simplepie/library/SimplePie/Caption.php
index 854857603..3d7bfdd71 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Caption.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Caption.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Category.php b/vendor/simplepie/simplepie/library/SimplePie/Category.php
index df0f13f9a..e4dabed8b 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Category.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Category.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php b/vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php
index b86dfa33c..39972b5a7 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Content/Type/Sniffer.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Copyright.php b/vendor/simplepie/simplepie/library/SimplePie/Copyright.php
index a57f323e6..92f9b0947 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Copyright.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Copyright.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Core.php b/vendor/simplepie/simplepie/library/SimplePie/Core.php
index c856ba361..ffcca46f5 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Core.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Core.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Credit.php b/vendor/simplepie/simplepie/library/SimplePie/Credit.php
index 064a1b864..d6ff07eba 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Credit.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Credit.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php b/vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php
index 773481a8c..a43c374b3 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Decode/HTML/Entities.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Enclosure.php b/vendor/simplepie/simplepie/library/SimplePie/Enclosure.php
index ddbbc3c92..32216d848 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Enclosure.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Enclosure.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Exception.php b/vendor/simplepie/simplepie/library/SimplePie/Exception.php
index 53c015e77..7a04c560c 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Exception.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Exception.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/File.php b/vendor/simplepie/simplepie/library/SimplePie/File.php
index c73e0fbc9..82db47ec9 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/File.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/File.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
@@ -109,7 +109,7 @@ class SimplePie_File
curl_setopt($fp, CURLOPT_REFERER, $url);
curl_setopt($fp, CURLOPT_USERAGENT, $useragent);
curl_setopt($fp, CURLOPT_HTTPHEADER, $headers2);
- if (!ini_get('open_basedir') && !ini_get('safe_mode') && version_compare(SimplePie_Misc::get_curl_version(), '7.15.2', '>='))
+ if (!ini_get('open_basedir') && version_compare(SimplePie_Misc::get_curl_version(), '7.15.2', '>='))
{
curl_setopt($fp, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($fp, CURLOPT_MAXREDIRS, $redirects);
diff --git a/vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php b/vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php
index 7d6188dd1..1dbe06c3e 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/HTTP/Parser.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/IRI.php b/vendor/simplepie/simplepie/library/SimplePie/IRI.php
index ffba232b1..a02de682c 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/IRI.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/IRI.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
@@ -46,10 +46,10 @@
*
* @package SimplePie
* @subpackage HTTP
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Steve Minutillo
* @author Ryan McCue
- * @copyright 2007-2012 Geoffrey Sneddon, Steve Minutillo, Ryan McCue
+ * @copyright 2007-2012 Sam Sneddon, Steve Minutillo, Ryan McCue
* @license http://www.opensource.org/licenses/bsd-license.php
*/
class SimplePie_IRI
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Item.php b/vendor/simplepie/simplepie/library/SimplePie/Item.php
index 47e69e3d7..5be6b1994 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Item.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Item.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
@@ -121,7 +121,7 @@ class SimplePie_Item
*/
public function __destruct()
{
- if ((version_compare(PHP_VERSION, '5.6', '<') || !gc_enabled()) && !ini_get('zend.ze1_compatibility_mode'))
+ if (!gc_enabled())
{
unset($this->feed);
}
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Locator.php b/vendor/simplepie/simplepie/library/SimplePie/Locator.php
index 12bc15e15..bf7c21a6f 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Locator.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Locator.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Misc.php b/vendor/simplepie/simplepie/library/SimplePie/Misc.php
index 2a2ecc575..48d7c860a 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Misc.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Misc.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php b/vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php
index a054e8be5..25c992bd1 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Net/IPv6.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
@@ -53,7 +53,7 @@
* @author Alexander Merz <alexander.merz@web.de>
* @author elfrink at introweb dot nl
* @author Josh Peck <jmp at joshpeck dot org>
- * @author Geoffrey Sneddon <geoffers@gmail.com>
+ * @author Sam Sneddon <geoffers@gmail.com>
*/
class SimplePie_Net_IPv6
{
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php b/vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php
index f6ba42425..cf57437d2 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Parse/Date.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Parser.php b/vendor/simplepie/simplepie/library/SimplePie/Parser.php
index 3cef2287d..4efdf41a7 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Parser.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Parser.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Rating.php b/vendor/simplepie/simplepie/library/SimplePie/Rating.php
index 108dd22bf..599f75acb 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Rating.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Rating.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Registry.php b/vendor/simplepie/simplepie/library/SimplePie/Registry.php
index e0909bb74..bf3baf179 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Registry.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Registry.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Restriction.php b/vendor/simplepie/simplepie/library/SimplePie/Restriction.php
index 803d84fde..950017fae 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Restriction.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Restriction.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Sanitize.php b/vendor/simplepie/simplepie/library/SimplePie/Sanitize.php
index cd3a410c6..35838032f 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Sanitize.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Sanitize.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/Source.php b/vendor/simplepie/simplepie/library/SimplePie/Source.php
index 8fac13ef7..f14e5b220 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/Source.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/Source.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php b/vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php
index 18ca1b79b..0c857a586 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/XML/Declaration/Parser.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/simplepie/simplepie/library/SimplePie/gzdecode.php b/vendor/simplepie/simplepie/library/SimplePie/gzdecode.php
index f4aeafa28..9c54f8833 100644
--- a/vendor/simplepie/simplepie/library/SimplePie/gzdecode.php
+++ b/vendor/simplepie/simplepie/library/SimplePie/gzdecode.php
@@ -5,7 +5,7 @@
* A PHP-Based RSS and Atom Feed Framework.
* Takes the hard work out of managing a complete RSS/Atom solution.
*
- * Copyright (c) 2004-2016, Ryan Parman, Geoffrey Sneddon, Ryan McCue, and contributors
+ * Copyright (c) 2004-2016, Ryan Parman, Sam Sneddon, Ryan McCue, and contributors
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without modification, are
@@ -33,9 +33,9 @@
* POSSIBILITY OF SUCH DAMAGE.
*
* @package SimplePie
- * @copyright 2004-2016 Ryan Parman, Geoffrey Sneddon, Ryan McCue
+ * @copyright 2004-2016 Ryan Parman, Sam Sneddon, Ryan McCue
* @author Ryan Parman
- * @author Geoffrey Sneddon
+ * @author Sam Sneddon
* @author Ryan McCue
* @link http://simplepie.org/ SimplePie
* @license http://www.opensource.org/licenses/bsd-license.php BSD License
diff --git a/vendor/smarty/smarty/README.md b/vendor/smarty/smarty/README.md
index 24baae4c2..ee7edb1ab 100644
--- a/vendor/smarty/smarty/README.md
+++ b/vendor/smarty/smarty/README.md
@@ -1,11 +1,17 @@
# Smarty 3 template engine
[smarty.net](https://www.smarty.net/)
+[![Build Status](https://travis-ci.org/smarty-php/smarty.svg?branch=master)](https://travis-ci.org/smarty-php/smarty)
+
## Documentation
For documentation see
[www.smarty.net/docs/en/](https://www.smarty.net/docs/en/)
+## Requirements
+
+Smarty can be run with PHP 5.2 to PHP 7.4.
+
## Distribution repository
> Smarty 3.1.28 introduces run time template inheritance
diff --git a/vendor/smarty/smarty/change_log.txt b/vendor/smarty/smarty/change_log.txt
deleted file mode 100644
index aeb17e4d9..000000000
--- a/vendor/smarty/smarty/change_log.txt
+++ /dev/null
@@ -1,3412 +0,0 @@
-===== 3.1.34-dev-6 =====
-30.10.2018
- - bugfix a nested subblock in an inheritance child template was not replace by
- outer level block with same name in same child template https://github.com/smarty-php/smarty/issues/500
-
-29.10.2018
- - bugfix Smarty::$php_handling == PHP_PASSTHRU (default) did eat the "\n" (newline) character if it did directly followed
- a PHP tag like "?>" or other https://github.com/smarty-php/smarty/issues/501
-
-14.10.2018
- - bugfix autoloader exit shortcut https://github.com/smarty-php/smarty/issues/467
-
-11.10.2018
- - bugfix {insert} not works when caching is enabled and included template is present
- https://github.com/smarty-php/smarty/issues/496
- - bugfix in date-format modifier; NULL at date string or default_date did not produce correct output
- https://github.com/smarty-php/smarty/pull/458
-
-09.10.2018
- - bugfix fix of 26.8.2017 https://github.com/smarty-php/smarty/issues/327
- modifier is applied to sum expression https://github.com/smarty-php/smarty/issues/491
- - bugfix indexed arrays could not be defined "array(...)""
-
-18.09.2018
- - bugfix large plain text template sections without a Smarty tag > 700kB could
- could fail in version 3.1.32 and 3.1.33 because PHP preg_match() restrictions
- https://github.com/smarty-php/smarty/issues/488
-
-===== 3.1.33 release ===== 12.09.2018
-===== 3.1.33-dev-12 =====
-03.09.2018
- - bugfix {foreach} using new style property access like {$item@property} on
- Smarty 2 style named foreach loop could produce errors https://github.com/smarty-php/smarty/issues/484
-
-31.08.2018
- - bugfix some custom left and right delimiters like '{^' '^}' did not work
- https://github.com/smarty-php/smarty/issues/450 https://github.com/smarty-php/smarty/pull/482
-
- - reformating for PSR-2 coding standards https://github.com/smarty-php/smarty/pull/483
-
- - bugfix on Windows absolute filepathes did fail if the drive letter was followed by a linux DIRECTORY_SEPARATOR
- like C:/ at Smarty > 3.1.33-dev-5 https://github.com/smarty-php/smarty/issues/451
-
- - PSR-2 code style fixes for config and template file Lexer/Parser generated with
- the Smarty Lexer/Parser generator from https://github.com/smarty-php/smarty-lexer
- https://github.com/smarty-php/smarty/pull/483
-
-26.08.2018
- - bugfix/enhancement {capture} allow variable as capture block name in Smarty special variable
- like $smarty.capture.$foo https://github.com/smarty-php/smarty/issues/478 https://github.com/smarty-php/smarty/pull/481
-
-===== 3.1.33-dev-6 =====
-19.08.2018
- - fix PSR-2 coding standards and PHPDoc blocks https://github.com/smarty-php/smarty/pull/452
- https://github.com/smarty-php/smarty/pull/475
- https://github.com/smarty-php/smarty/pull/473
- - bugfix PHP5.2 compatibility https://github.com/smarty-php/smarty/pull/472
-
-===== 3.1.33-dev-4 =====
-17.05.2018
- - bugfix strip-block produces different output in Smarty v3.1.32 https://github.com/smarty-php/smarty/issues/436
- - bugfix Smarty::compileAllTemplates ignores `$extension` parameter https://github.com/smarty-php/smarty/issues/437
- https://github.com/smarty-php/smarty/pull/438
- - improvement do not compute total property in {foreach} if not needed https://github.com/smarty-php/smarty/issues/443
- - bugfix plugins may not be loaded when setMergeCompiledIncludes is true https://github.com/smarty-php/smarty/issues/435
-
-26.04.2018
- - bugfix regarding Security Vulnerability did not solve the problem under Linux.
- Security issue CVE-2018-16831
-
-===== 3.1.32 ===== (24.04.2018)
-24.04.2018
- - bugfix possible Security Vulnerability in Smarty_Security class.
-
-26.03.2018
- - bugfix plugins may not be loaded if {function} or {block} tags are executed in nocache mode
- https://github.com/smarty-php/smarty/issues/371
-
-26.03.2018
- - new feature {parent} = {$smarty.block.parent} {child} = {$smarty.block.child}
-
-23.03.2018
- - bugfix preg_replace could fail on large content resulting in a blank page https://github.com/smarty-php/smarty/issues/417
-
-21.03.2018
- - bugfix {$smarty.section...} used outside {section}{/section} showed incorrect values if {section}{/section} was called inside
- another loop https://github.com/smarty-php/smarty/issues/422
- - bugfix short form of {section} attributes did not work https://github.com/smarty-php/smarty/issues/428
-
-17.03.2018
- - improvement Smarty::compileAllTemplates() exit with a non-zero status code if max errors is reached https://github.com/smarty-php/smarty/pull/402
-
-16.03.2018
- - bugfix extends resource did not work with user defined left/right delimiter https://github.com/smarty-php/smarty/issues/419
-
-22.11.2017
- - bugfix {break} and {continue} could fail if {foreach}{/foreach} did contain other
- looping tags like {for}, {section} and {while} https://github.com/smarty-php/smarty/issues/323
-
-20.11.2017
- - bugfix rework of newline spacing between tag code and template text.
- now again identical with Smarty2 (forum topic 26878)
- - replacement of " by '
-
-05.11.2017
- - lexer/parser optimization
- - code cleanup and optimizations
- - bugfix {$smarty.section.name.loop} used together with {$smarty.section.name.total} could produce
- wrong results (forum topic 27041)
-
-26.10.2017
- - bugfix Smarty version was not filled in header comment of compiled and cached files
- - optimization replace internal Smarty::$ds property by DIRECTORY_SEPARATOR
- - deprecate functions Smarty::muteExpectedErrors() and Smarty::unmuteExpectedErrors()
- as Smarty does no longer use error suppression like @filemtime().
- for backward compatibility code is moved from Smarty class to an external class and still can be
- called.
- - correction of PHPDoc blocks
- - minor code cleanup
-
-21.10.2017
- - bugfix custom delimiters could fail since modification of version 3.1.32-dev-23
- https://github.com/smarty-php/smarty/issues/394
-
-18.10.2017
- - bugfix fix implementation of unclosed block tag in double quoted string of 12.10.2017
- https://github.com/smarty-php/smarty/issues/396 https://github.com/smarty-php/smarty/issues/397
- https://github.com/smarty-php/smarty/issues/391 https://github.com/smarty-php/smarty/issues/392
-
-12.10.2017
- - bugfix $smarty.block.child and $smarty.block.parent could not be used like any
- $smarty special variable https://github.com/smarty-php/smarty/issues/393
- - unclosed block tag in double quoted string must throw compiler exception.
- https://github.com/smarty-php/smarty/issues/391 https://github.com/smarty-php/smarty/issues/392
-
-07.10.2017
- - bugfix modification of 9.8.2017 did fail on some recursive
- tag nesting. https://github.com/smarty-php/smarty/issues/389
-
-26.8.2017
- - bugfix chained modifier failed when last modifier parameter is a signed value
- https://github.com/smarty-php/smarty/issues/327
- - bugfix templates filepath with multibyte characters did not work
- https://github.com/smarty-php/smarty/issues/385
- - bugfix {make_nocache} did display code if the template did not contain other nocache code
- https://github.com/smarty-php/smarty/issues/369
-
-09.8.2017
- - improvement repeated delimiter like {{ and }} will be treated as literal
- https://groups.google.com/forum/#!topic/smarty-developers/h9r82Bx4KZw
-
-05.8.2017
- - bugfix wordwrap modifier could fail if used in nocache code.
- converted plugin file shared.mb_wordwrap.php into modifier.mb_wordwrap.php
- - cleanup of _getSmartyObj()
-
-31.7.2017
- - Call clearstatcache() after mkdir() failure https://github.com/smarty-php/smarty/pull/379
-
-30.7.2017
- - rewrite mkdir() bugfix to retry automatically see https://github.com/smarty-php/smarty/pull/377
- https://github.com/smarty-php/smarty/pull/379
-
-21.7.2017
- - security possible PHP code injection on custom resources at display() or fetch()
- calls if the resource does not sanitize the template name
- - bugfix fix 'mkdir(): File exists' error on create directory from parallel
- processes https://github.com/smarty-php/smarty/pull/377
- - bugfix solve preg_match() hhvm parameter problem https://github.com/smarty-php/smarty/pull/372
-
-27.5.2017
- - bugfix change compiled code for registered function and modifiers to called as callable to allow closures
- https://github.com/smarty-php/smarty/pull/368, https://github.com/smarty-php/smarty/issues/273
- - bugfix https://github.com/smarty-php/smarty/pull/368 did break the default plugin handler
- - improvement replace phpversion() by PHP_VERSION constant.
- https://github.com/smarty-php/smarty/pull/363
-
-21.5.2017
- - performance store flag for already required shared plugin functions in static variable or
- Smarty's $_cache to improve performance when plugins are often called
- https://github.com/smarty-php/smarty/commit/51e0d5cd405d764a4ea257d1bac1fb1205f74528#commitcomment-22280086
- - bugfix remove special treatment of classes implementing ArrayAccess in {foreach}
- https://github.com/smarty-php/smarty/issues/332
- - bugfix remove deleted files by clear_cache() and clear_compiled_template() from
- ACP cache if present, add some is_file() checks to avoid possible warnings on filemtime()
- caused by above functions.
- https://github.com/smarty-php/smarty/issues/341
- - bugfix version 3.1.31 did fail under PHP 5.2
- https://github.com/smarty-php/smarty/issues/365
-
-19.5.2017
- - change properties $accessMap and $obsoleteProperties from private to protected
- https://github.com/smarty-php/smarty/issues/351
- - new feature The named capture buffers can now be accessed also as array
- See NEWS_FEATURES.txt https://github.com/smarty-php/smarty/issues/366
- - improvement check if ini_get() and ini_set() not disabled
- https://github.com/smarty-php/smarty/pull/362
-
-24.4.2017
- - fix spelling https://github.com/smarty-php/smarty/commit/e3eda8a5f5653d8abb960eb1bc47e3eca679b1b4#commitcomment-21803095
-
-17.4.2017
- - correct generated code on empty() and isset() call, observe change PHP behaviour since PHP 5.5
- https://github.com/smarty-php/smarty/issues/347
-
-14.4.2017
- - merge pull requests https://github.com/smarty-php/smarty/pull/349, https://github.com/smarty-php/smarty/pull/322 and https://github.com/smarty-php/smarty/pull/337 to fix spelling and annotation
-
-13.4.2017
- - bugfix array_merge() parameter should be checked https://github.com/smarty-php/smarty/issues/350
-
-===== 3.1.31 ===== (14.12.2016)
- 23.11.2016
- - move template object cache into static variables
-
- 19.11.2016
- - bugfix inheritance root child templates containing nested {block}{/block} could call sub-bock content from parent
- template https://github.com/smarty-php/smarty/issues/317
- - change version checking
-
- 11.11.2016
- - bugfix when Smarty is using a cached template object on Smarty::fetch() or Smarty::isCached() the inheritance data
- must be removed https://github.com/smarty-php/smarty/issues/312
- - smaller speed optimization
-
- 08.11.2016
- - add bootstrap file to load and register Smarty_Autoloader. Change composer.json to make it known to composer
-
- 07.11.2016
- - optimization of lexer speed https://github.com/smarty-php/smarty/issues/311
-
- 27.10.2016
- - bugfix template function definitions array has not been cached between Smarty::fetch() and Smarty::display() calls
- https://github.com/smarty-php/smarty/issues/301
-
- 23.10.2016
- - improvement/bugfix when Smarty::fetch() is called on a template object the inheritance and tplFunctions property
- should be copied to the called template object
-
- 21.10.2016
- - bugfix for compile locking touched timestamp of old compiled file was not restored on compilation error https://github.com/smarty-php/smarty/issues/308
-
- 20.10.2016
- - bugfix nocache code was not removed in cache file when subtemplate did contain PHP short tags in text but no other
- nocache code https://github.com/smarty-php/smarty/issues/300
-
- 19.10.2016
- - bugfix {make_nocache $var} did fail when variable value did contain '\' https://github.com/smarty-php/smarty/issues/305
- - bugfix {make_nocache $var} remove spaces from variable value https://github.com/smarty-php/smarty/issues/304
-
- 12.10.2016
- - bugfix {include} with template names including variable or constants could fail after bugfix from
- 28.09.2016 https://github.com/smarty-php/smarty/issues/302
-
- 08.10.2016
- - optimization move runtime extension for template functions into Smarty objects
-
- 29.09.2016
- - improvement new Smarty::$extends_recursion property to disable execution of {extends} in templates called by extends resource
- https://github.com/smarty-php/smarty/issues/296
-
- 28.09.2016
- - bugfix the generated code for calling a subtemplate must pass the template resource name in single quotes https://github.com/smarty-php/smarty/issues/299
- - bugfix nocache hash was not removed for <?xml ?> tags in subtemplates https://github.com/smarty-php/smarty/issues/300
-
- 27.09.2016
- - bugfix when Smarty does use an internally cached template object on Smarty::fetch() calls
- the template and config variables must be cleared https://github.com/smarty-php/smarty/issues/297
-
- 20.09.2016
- - bugfix some $smarty special template variables are no longer accessed as real variable.
- using them on calls like {if isset($smarty.foo)} or {if empty($smarty.foo)} will fail
- http://www.smarty.net/forums/viewtopic.php?t=26222
- - temporary fix for https://github.com/smarty-php/smarty/issues/293 main reason still under investigation
- - improvement new tags {block_parent} {block_child} in template inheritance
-
- 19.09.2016
- - optimization clear compiled and cached folder completely on detected version change
- - cleanup convert cache resource file method clear into runtime extension
-
- 15.09.2016
- - bugfix assigning a variable in if condition by function like {if $value = array_shift($array)} the function got called twice https://github.com/smarty-php/smarty/issues/291
- - bugfix function plugins called with assign attribute like {foo assign='bar'} did not output returned content because
- because assumption was made that it was assigned to a variable https://github.com/smarty-php/smarty/issues/292
- - bugfix calling $smarty->isCached() on a not existing cache file with $smarty->cache_locking = true; could cause a 10 second delay http://www.smarty.net/forums/viewtopic.php?t=26282
- - improvement make Smarty::clearCompiledTemplate() on custom resource independent from changes of templateId computation
-
- 11.09.2016
- - improvement {math} misleading E_USER_WARNING messages when parameter value = null https://github.com/smarty-php/smarty/issues/288
- - improvement move often used code snippets into methods
- - performance Smarty::configLoad() did load unneeded template source object
-
- 09.09.2016
- - bugfix/optimization {foreach} did not execute the {foreachelse} when iterating empty objects https://github.com/smarty-php/smarty/pull/287
- - bugfix {foreach} must keep the @properties when restoring a saved $item variable as the properties might be used outside {foreach} https://github.com/smarty-php/smarty/issues/267
- - improvement {foreach} observe {break n} and {continue n} nesting levels when restoring saved $item and $key variables
-
- 08.09.2016
- - bugfix implement wrapper for removed method getConfigVariable() https://github.com/smarty-php/smarty/issues/286
-
- 07.09.2016
- - bugfix using nocache like attribute with value true like {plugin nocache=true} did not work https://github.com/smarty-php/smarty/issues/285
- - bugfix uppercase TRUE, FALSE and NULL did not work when security was enabled https://github.com/smarty-php/smarty/issues/282
- - bugfix when {foreach} was looping over an object the total property like {$item@total} did always return 1 https://github.com/smarty-php/smarty/issues/281
- - bugfix {capture}{/capture} did add in 3.1.30 unintended additional blank lines https://github.com/smarty-php/smarty/issues/268
-
- 01.09.2016
- - performance require_once should be called only once for shared plugins https://github.com/smarty-php/smarty/issues/280
-
- 26.08.2016
- - bugfix change of 23.08.2016 failed on linux when use_include_path = true
-
- 23.08.2016
- - bugfix remove constant DS as shortcut for DIRECTORY_SEPARATOR as the user may have defined it to something else https://github.com/smarty-php/smarty/issues/277
-
- 20.08-2016
- - bugfix {config_load ... scope="global"} shall not throw an arror but fallback to scope="smarty" https://github.com/smarty-php/smarty/issues/274
- - bugfix {make_nocache} failed when using composer autoloader https://github.com/smarty-php/smarty/issues/275
-
- 14.08.2016
- - bugfix $smarty_>debugging = true; did E_NOTICE messages when {eval} tag was used https://github.com/smarty-php/smarty/issues/266
- - bugfix Class 'Smarty_Internal_Runtime_ValidateCompiled' not found when upgrading from some older Smarty versions with existing
- compiled or cached template files https://github.com/smarty-php/smarty/issues/269
- - optimization remove unneeded call to update acopes when {assign} scope and template scope was local (default)
-
-===== 3.1.30 ===== (07.08.2016)
-
- 07.08.2016
- - bugfix update of 04.08.2016 was incomplete
-
- 05.08.2016
- - bugfix compiling of templates failed when the Smarty delimiter did contain '/' https://github.com/smarty-php/smarty/issues/264
- - updated error checking at template and config default handler
-
- 04.08.2016
- - improvement move template function source parameter into extension
-
- 26.07.2016
- - optimization unneeded loading of compiled resource
-
- 24.07.2016
- - regression this->addPluginsDir('/abs/path/to/dir') adding absolute path without trailing '/' did fail https://github.com/smarty-php/smarty/issues/260
-
- 23.07.2016
- - bugfix setTemplateDir('/') and setTemplateDir('') did create wrong absolute filepath https://github.com/smarty-php/smarty/issues/245
- - optimization of filepath normalization
- - improvement remove double function declaration in plugin shared.escape_special_cars.php https://github.com/smarty-php/smarty/issues/229
-
- 19.07.2016
- - bugfix multiple {include} with relative filepath within {block}{/block} could fail https://github.com/smarty-php/smarty/issues/246
- - bugfix {math} shell injection vulnerability patch provided by Tim Weber
-
- 18.07.2016
- - bugfix {foreach} if key variable and item@key attribute have been used both the key variable was not updated https://github.com/smarty-php/smarty/issues/254
- - bugfix modifier on plugins like {plugin|modifier ... } did fail when the plugin does return an array https://github.com/smarty-php/smarty/issues/228
- - bugfix avoid opcache_invalidate to result in ErrorException when opcache.restrict_api is not empty https://github.com/smarty-php/smarty/pull/244
- - bugfix multiple {include} with relative filepath within {block}{/block} could fail https://github.com/smarty-php/smarty/issues/246
-
- 14.07.2016
- - bugfix wrong parameter on compileAllTemplates() and compileAllConfig() https://github.com/smarty-php/smarty/issues/231
-
- 13.07.2016
- - bugfix PHP 7 compatibility on registered compiler plugins https://github.com/smarty-php/smarty/issues/241
- - update testInstall() https://github.com/smarty-php/smarty/issues/248https://github.com/smarty-php/smarty/issues/248
- - bugfix enable debugging could fail when template objects did already exists https://github.com/smarty-php/smarty/issues/237
- - bugfix template function data should be merged when loading subtemplate https://github.com/smarty-php/smarty/issues/240
- - bugfix wrong parameter on compileAllTemplates() https://github.com/smarty-php/smarty/issues/231
-
- 12.07.2016
- - bugfix {foreach} item variable must be created also on empty from array https://github.com/smarty-php/smarty/issues/238 and https://github.com/smarty-php/smarty/issues/239
- - bugfix enableSecurity() must init cache flags https://github.com/smarty-php/smarty/issues/247
-
- 27.05.2016
- - bugfix/improvement of compileAlltemplates() follow symlinks in template folder (PHP >= 5.3.1) https://github.com/smarty-php/smarty/issues/224
- clear internal cache and expension handler for each template to avoid possible conflicts https://github.com/smarty-php/smarty/issues/231
-
- 16.05.2016
- - optimization {foreach} compiler and processing
- - broken PHP 5.3 and 5.4 compatibility
-
- 15.05.2016
- - optimization and cleanup of resource code
-
- 10.05.2016
- - optimization of inheritance processing
-
- 07.05.2016
- -bugfix Only variables should be assigned by reference https://github.com/smarty-php/smarty/issues/227
-
- 02.05.2016
- - enhancement {block} tag names can now be variable https://github.com/smarty-php/smarty/issues/221
-
- 01.05.2016
- - bugfix same relative filepath at {include} called from template in different folders could display wrong sub-template
-
- 29.04.2016
- - bugfix {strip} remove space on linebreak between html tags https://github.com/smarty-php/smarty/issues/213
-
- 24.04.2016
- - bugfix nested {include} with relative file path could fail when called in {block} ... {/block} https://github.com/smarty-php/smarty/issues/218
-
- 14.04.2016
- - bugfix special variable {$smarty.capture.name} was not case sensitive on name https://github.com/smarty-php/smarty/issues/210
- - bugfix the default template handler must calculate the source uid https://github.com/smarty-php/smarty/issues/205
-
- 13.04.2016
- - bugfix template inheritance status must be saved when calling sub-templates https://github.com/smarty-php/smarty/issues/215
-
- 27.03.2016
- - bugfix change of 11.03.2016 cause again {capture} data could not been seen in other templates with {$smarty.capture.name} https://github.com/smarty-php/smarty/issues/153
-
- 11.03.2016
- - optimization of capture and security handling
- - improvement $smarty->clearCompiledTemplate() should return on recompiled or uncompiled resources
-
- 10.03.2016
- - optimization of resource processing
-
- 09.03.2016
- - improvement rework of 'scope' attribute handling see see NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/194
- https://github.com/smarty-php/smarty/issues/186 https://github.com/smarty-php/smarty/issues/179
- - bugfix correct Autoloader update of 2.3.2014 https://github.com/smarty-php/smarty/issues/199
-
- 04.03.2016
- - bugfix change from 01.03.2016 will cause $smarty->isCached(..) failure if called multiple time for same template
- (forum topic 25935)
-
- 02.03.2016
- - revert autoloader optimizations because of unexplainable warning when using plugins https://github.com/smarty-php/smarty/issues/199
-
- 01.03.2016
- - bugfix template objects must be cached on $smarty->fetch('foo.tpl) calls incase the template is fetched
- multiple times (forum topic 25909)
-
- 25.02.2016
- - bugfix wrong _realpath with 4 or more parent-directories https://github.com/smarty-php/smarty/issues/190
- - optimization of _realpath
- - bugfix instanceof expression in template code must be treated as value https://github.com/smarty-php/smarty/issues/191
-
- 20.02.2016
- - bugfix {strip} must keep space between hmtl tags. Broken by changes of 10.2.2016 https://github.com/smarty-php/smarty/issues/184
- - new feature/bugfix {foreach}{section} add 'properties' attribute to force compilation of loop properties
- see NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/189
-
- 19.02.2016
- - revert output buffer flushing on display, echo content again because possible problems when PHP files had
- characters (newline} after ?> at file end https://github.com/smarty-php/smarty/issues/187
-
- 14.02.2016
- - new tag {make_nocache} read NEW_FEATURES.txt https://github.com/smarty-php/smarty/issues/110
- - optimization of sub-template processing
- - bugfix using extendsall as default resource and {include} inside {block} tags could produce unexpected results https://github.com/smarty-php/smarty/issues/183
- - optimization of tag attribute compiling
- - optimization make compiler tag object cache static for higher compilation speed
-
- 11.02.2016
- - improvement added KnockoutJS comments to trimwhitespace outputfilter https://github.com/smarty-php/smarty/issues/82
- https://github.com/smarty-php/smarty/pull/181
-
- 10.02.2016
- - bugfix {strip} must keep space on output creating smarty tags within html tags https://github.com/smarty-php/smarty/issues/177
- - bugfix wrong precedence on special if conditions like '$foo is ... by $bar' could cause wrong code https://github.com/smarty-php/smarty/issues/178
- - improvement because of ambiguities the inline constant support has been removed from the $foo.bar syntax https://github.com/smarty-php/smarty/issues/149
- - bugfix other {strip} error with output tags between hmtl https://github.com/smarty-php/smarty/issues/180
-
- 09.02.2016
- - move some code from parser into compiler
- - reformat all code for unique style
- - update/bugfix scope attribute handling reworked. Read the newfeatures.txt file
-
- 05.02.2016
- - improvement internal compiler changes
-
- 01.02.2016
- - bugfix {foreach} compilation failed when $smarty->merge_compiled_includes = true and pre-filters are used.
-
- 29.01.2016
- - bugfix implement replacement code for _tag_stack property https://github.com/smarty-php/smarty/issues/151
-
- 28.01.2016
- - bugfix allow windows network filepath or wrapper (forum topic 25876) https://github.com/smarty-php/smarty/issues/170
- - bugfix if fetch('foo.tpl') is called on a template object the $parent parameter should default to the calling template object https://github.com/smarty-php/smarty/issues/152
-
- 27.01.2016
- - revert bugfix compiling {section} did create warning
- - bugfix {$smarty.section.customer.loop} did throw compiler error https://github.com/smarty-php/smarty/issues/161
- update of yesterdays fix
- - bugfix string resource could inject code at {block} or inline subtemplates through PHP comments https://github.com/smarty-php/smarty/issues/157
- - bugfix output filters did not observe nocache code flhttps://github.com/smarty-php/smarty/issues/154g https://github.com/smarty-php/smarty/issues/160
- - bugfix {extends} with relative file path did not work https://github.com/smarty-php/smarty/issues/154
- https://github.com/smarty-php/smarty/issues/158
- - bugfix {capture} data could not been seen in other templates with {$smarty.capture.name} https://github.com/smarty-php/smarty/issues/153
-
- 26.01.2016
- - improvement observe Smarty::$_CHARSET in debugging console https://github.com/smarty-php/smarty/issues/169
- - bugfix compiling {section} did create warning
- - bugfix {$smarty.section.customer.loop} did throw compiler error https://github.com/smarty-php/smarty/issues/161
-
- 02.01.2016
- - update scope handling
- - optimize block plugin compiler
- - improvement runtime checks if registered block plugins are callable
-
- 01.01.2016
- - remove Smarty::$resource_cache_mode property
-
- 31.12.2015
- - optimization of {assign}, {if} and {while} compiled code
-
- 30.12.2015
- - bugfix plugin names starting with "php" did not compile https://github.com/smarty-php/smarty/issues/147
-
- 29.12.2015
- - bugfix Smarty::error_reporting was not observed when display() or fetch() was called on template objects https://github.com/smarty-php/smarty/issues/145
-
- 28.12.2015
- - optimization of {foreach} code size and processing
-
- 27.12.2015
- - improve inheritance code
- - update external methods
- - code fixes
- - PHPdoc updates
-
- 25.12.2015
- - compile {block} tag code and its processing into classes
- - optimization replace hhvm extension by inline code
- - new feature If ACP is enabled force an apc_compile_file() when compiled or cached template was updated
-
- 24.12.2015
- - new feature Compiler does now observe the template_dir setting and will create separate compiled files if required
- - bugfix post filter did fail on template inheritance https://github.com/smarty-php/smarty/issues/144
-
- 23.12.2015
- - optimization move internal method decodeProperties back into template object
- - optimization move subtemplate processing back into template object
- - new feature Caching does now observe the template_dir setting and will create separate cache files if required
-
- 22.12.2015
- - change $xxx_dir properties from private to protected in case Smarty class gets extended
- - code optimizations
-
- 21.12.2015
- - bugfix a filepath starting with '/' or '\' on windows should normalize to the root dir
- of current working drive https://github.com/smarty-php/smarty/issues/134
- - optimization of filepath normalization
- - bugfix {strip} must remove all blanks between html tags https://github.com/smarty-php/smarty/issues/136
-
- ===== 3.1.29 ===== (21.12.2015)
- 21.12.2015
- - optimization improve speed of filetime checks on extends and extendsall resource
-
- 20.12.2015
- - bugfix failure when the default resource type was set to 'extendsall' https://github.com/smarty-php/smarty/issues/123
- - update compilation of Smarty special variables
- - bugfix add addition check for OS type on normalization of file path https://github.com/smarty-php/smarty/issues/134
- - bugfix the source uid of the extendsall resource must contain $template_dir settings https://github.com/smarty-php/smarty/issues/123
-
- 19.12.2015
- - bugfix using $smarty.capture.foo in expressions could fail https://github.com/smarty-php/smarty/pull/138
- - bugfix broken PHP 5.2 compatibility https://github.com/smarty-php/smarty/issues/139
- - remove no longer used code
- - improvement make sure that compiled and cache templates never can contain a trailing '?>?
-
- 18.12.2015
- - bugfix regression when modifier parameter was followed by math https://github.com/smarty-php/smarty/issues/132
-
- 17.12.2015
- - bugfix {$smarty.capture.nameFail} did lowercase capture name https://github.com/smarty-php/smarty/issues/135
- - bugfix using {block append/prepend} on same block in multiple levels of inheritance templates could fail (forum topic 25827)
- - bugfix text content consisting of just a single '0' like in {if true}0{/if} was suppressed (forum topic 25834)
-
- 16.12.2015
- - bugfix {foreach} did fail if from atrribute is a Generator class https://github.com/smarty-php/smarty/issues/128
- - bugfix direct access $smarty->template_dir = 'foo'; should call Smarty::setTemplateDir() https://github.com/smarty-php/smarty/issues/121
-
- 15.12.2015
- - bugfix {$smarty.cookies.foo} did return the $_COOKIE array not the 'foo' value https://github.com/smarty-php/smarty/issues/122
- - bugfix a call to clearAllCache() and other should clear all internal template object caches (forum topic 25828)
-
- 14.12.2015
- - bugfix {$smarty.config.foo} broken in 3.1.28 https://github.com/smarty-php/smarty/issues/120
- - bugfix multiple calls of {section} with same name droped E_NOTICE error https://github.com/smarty-php/smarty/issues/118
-
- ===== 3.1.28 ===== (13.12.2015)
- 13.12.2015
- - bugfix {foreach} and {section} with uppercase characters in name attribute did not work (forum topic 25819)
- - bugfix $smarty->debugging_ctrl = 'URL' did not work (forum topic 25811)
- - bugfix Debug Console could display incorrect data when using subtemplates
-
- 09.12.2015
- - bugfix Smarty did fail under PHP 7.0.0 with use_include_path = true;
-
- 09.12.2015
- - bugfix {strip} should exclude some html tags from stripping, related to fix for https://github.com/smarty-php/smarty/issues/111
-
- 08.12.2015
- - bugfix internal template function data got stored in wrong compiled file https://github.com/smarty-php/smarty/issues/114
-
- 05.12.2015
- -bugfix {strip} should insert a single space https://github.com/smarty-php/smarty/issues/111
-
- 25.11.2015
- -bugfix a left delimter like '[%' did fail on [%$var_[%$variable%]%] (forum topic 25798)
-
- 02.11.2015
- - bugfix {include} with variable file name like {include file="foo_`$bar`.tpl"} did fail in 3.1.28-dev https://github.com/smarty-php/smarty/issues/102
-
- 01.11.2015
- - update config file processing
-
- 31.10.2015
- - bugfix add missing $trusted_dir property to SmartyBC class (forum topic 25751)
-
- 29.10.2015
- - improve template scope handling
-
- 24.10.2015
- - more optimizations of template processing
- - bugfix Error when using {include} within {capture} https://github.com/smarty-php/smarty/issues/100
-
- 21.10.2015
- - move some code into runtime extensions
-
- 18.10.2015
- - optimize filepath normalization
- - rework of template inheritance
- - speed and size optimizations
- - bugfix under HHVM temporary cache file must only be created when caches template was updated
- - fix compiled code for new {block} assign attribute
- - update code generated by template function call handler
-
- 18.09.2015
- - bugfix {if $foo instanceof $bar} failed to compile if 2nd value is a variable https://github.com/smarty-php/smarty/issues/92
-
- 17.09.2015
- - bugfix {foreach} first attribute was not correctly reset since commit 05a8fa2 of 02.08.2015 https://github.com/smarty-php/smarty/issues/90
-
- 16.09.2015
- - update compiler by moving no longer needed properties, code optimizations and other
-
- 14.09.2015
- - optimize autoloader
- - optimize subtemplate handling
- - update template inheritance processing
- - move code of {call} processing back into Smarty_Internal_Template class
- - improvement invalidate OPCACHE for cleared compiled and cached template files (forum topic 25557)
- - bugfix unintended multiple debug windows (forum topic 25699)
-
- 30.08.2015
- - size optimization move some runtime functions into extension
- - optimize inline template processing
- - optimization merge inheritance child and parent templates into one compiled template file
-
- 29.08.2015
- - improvement convert template inheritance into runtime processing
- - bugfix {$smarty.block.parent} did always reference the root parent block https://github.com/smarty-php/smarty/issues/68
-
- 23.08.2015
- - introduce Smarty::$resource_cache_mode and cache template object of {include} inside loop
- - load seldom used Smarty API methods dynamically to reduce memory footprint
- - cache template object of {include} if same template is included several times
- - convert debug console processing to object
- - use output buffers for better performance and less memory usage
- - optimize nocache hash processing
- - remove not really needed properties
- - optimize rendering
- - move caching to Smarty::_cache
- - remove properties with redundant content
- - optimize Smarty::templateExists()
- - optimize use_include_path processing
- - relocate properties for size optimization
- - remove redundant code
- - bugfix compiling super globals like {$smarty.get.foo} did fail in the master branch https://github.com/smarty-php/smarty/issues/77
-
- 06.08.2015
- - avoid possible circular object references caused by parser/lexer objects
- - rewrite compileAll... utility methods
- - commit several internal improvements
- - bugfix Smarty failed when compile_id did contain "|"
-
- 03.08.2015
- - rework clear cache methods
- - bugfix compileAllConfig() was broken since 3.1.22 because of the changes in config file processing
- - improve getIncludePath() to return directory if no file was given
-
- 02.08.2015
- - optimization and code cleanup of {foreach} and {section} compiler
- - rework {capture} compiler
-
- 01.08.2015
- - update DateTime object can be instance of DateTimeImmutable since PHP5.5 https://github.com/smarty-php/smarty/pull/75
- - improvement show resource type and start of template source instead of uid on eval: and string: resource (forum topic 25630)
-
- 31.07.2015
- - optimize {foreach} and {section} compiler
-
- 29.07.2015
- - optimize {section} compiler for speed and size of compiled code
-
- 28.07.2015
- - update for PHP 7 compatibility
-
- 26.07.2015
- - improvement impement workaround for HHVM PHP incompatibillity https://github.com/facebook/hhvm/issues/4797
-
- 25.07.2015
- - bugfix parser did hang on text starting <?something https://github.com/smarty-php/smarty/issues/74
-
- 20.07.2015
- - bugfix config files got recompiled on each request
- - improvement invalidate PHP 5.5 opcache for recompiled and cached templates https://github.com/smarty-php/smarty/issues/72
-
- 12.07.2015
- - optimize {extends} compilation
-
- 10.07.2015
- - bugfix force file: resource in demo resource.extendsall.php
-
- 08.07.2015
- - bugfix convert each word of class names to ucfirst in in compiler. (forum topic 25588)
-
- 07.07.2015
- - improvement allow fetch() or display() called on a template object to get output from other template
- like $template->fetch('foo.tpl') https://github.com/smarty-php/smarty/issues/70
- - improvement Added $limit parameter to regex_replace modifier #71
- - new feature multiple indices on file: resource
-
- 06.07.2015
- - optimize {block} compilation
- - optimization get rid of __get and __set in source object
-
- 01.07.2015
- - optimize compile check handling
- - update {foreach} compiler
- - bugfix debugging console did not display string values containing \n, \r or \t correctly https://github.com/smarty-php/smarty/issues/66
- - optimize source resources
-
- 28.06.2015
- - move $smarty->enableSecurity() into Smarty_Security class
- - optimize security isTrustedResourceDir()
- - move auto load filter methods into extension
- - move $smarty->getTemplateVars() into extension
- - move getStreamVariable() into extension
- - move $smarty->append() and $smarty->appendByRef() into extension
- - optimize autoloader
- - optimize file path normalization
- - bugfix PATH_SEPARATOR was replaced by mistake in autoloader
- - remove redundant code
-
- 27.06.2015
- - bugfix resolve naming conflict between custom Smarty delimiter '<%' and PHP ASP tags https://github.com/smarty-php/smarty/issues/64
- - update $smarty->_realpath for relative path not starting with './'
- - update Smarty security with new realpath handling
- - update {include_php} with new realpath handling
- - move $smarty->loadPlugin() into extension
- - minor compiler optimizations
- - bugfix allow function plugins with name ending with 'close' https://github.com/smarty-php/smarty/issues/52
- - rework of $smarty->clearCompiledTemplate() and move it to its own extension
-
- 19.06.2015
- - improvement allow closures as callback at $smarty->registerFilter() https://github.com/smarty-php/smarty/issues/59
-
- ===== 3.1.27===== (18.06.2015)
- 18.06.2015
- - bugfix another update on file path normalization failed on path containing something like "/.foo/" https://github.com/smarty-php/smarty/issues/56
-
- ===== 3.1.26===== (18.06.2015)
- 18.06.2015
- - bugfix file path normalization failed on path containing something like "/.foo/" https://github.com/smarty-php/smarty/issues/56
-
- 17.06.2015
- - bugfix calling a plugin with nocache option but no other attributes like {foo nocache} caused call to undefined function https://github.com/smarty-php/smarty/issues/55
-
- ===== 3.1.25===== (15.06.2015)
- 15.06.2015
- - optimization of smarty_cachereource_keyvaluestore.php code
-
- 14.06.2015
- - bugfix a relative sub template path could fail if template_dir path did contain /../ https://github.com/smarty-php/smarty/issues/50
- - optimization rework of path normalization
- - bugfix an output tag with variable, modifier followed by an operator like {$foo|modifier+1} did fail https://github.com/smarty-php/smarty/issues/53
-
- 13.06.2015
- - bugfix a custom cache resource using smarty_cachereource_keyvaluestore.php did fail if php.ini mbstring.func_overload = 2 (forum topic 25568)
-
- 11.06.2015
- - bugfix the lexer could hang on very large quoted strings (forum topic 25570)
-
- 08.06.2015
- - bugfix using {$foo} as array index like $bar.{$foo} or in double quoted string like "some {$foo} thing" failed https://github.com/smarty-php/smarty/issues/49
-
- 04.06.2015
- - bugfix possible error message on unset() while compiling {block} tags https://github.com/smarty-php/smarty/issues/46
-
- 01.06.2015
- - bugfix <?xml ... ?> including template variables broken since 3.1.22 https://github.com/smarty-php/smarty/issues/47
-
- 27.05.2015
- - bugfix {include} with variable file name must not create by default individual cache file (since 3.1.22) https://github.com/smarty-php/smarty/issues/43
-
- 24.05.2015
- - bugfix if condition string 'neq' broken due to a typo https://github.com/smarty-php/smarty/issues/42
-
- ===== 3.1.24===== (23.05.2015)
- 23.05.2015
- - improvement on php_handling to allow very large PHP sections, better error handling
- - improvement allow extreme large comment sections (forum 25538)
-
- 21.05.2015
- - bugfix broken PHP 5.2 compatibility when compiling <?php tags https://github.com/smarty-php/smarty/issues/40
- - bugfix named {foreach} comparison like $smarty.foreach.foobar.index > 1 did compile into wrong code https://github.com/smarty-php/smarty/issues/41
-
- 19.05.2015
- - bugfix compiler did overwrite existing variable value when setting the nocache attribute https://github.com/smarty-php/smarty/issues/39
- - bugfix output filter trimwhitespace could run into the pcre.backtrack_limit on large output (code.google issue 220)
- - bugfix compiler could run into the pcre.backtrack_limit on larger comment or {php} tag sections (forum 25538)
-
- 18.05.2015
- - improvement introduce shortcuts in lexer/parser rules for most frequent terms for higher
- compilation speed
-
- 16.05.2015
- - bugfix {php}{/php} did work just for single lines https://github.com/smarty-php/smarty/issues/33
- - improvement remove not needed ?><?php transitions from compiled code
- - improvement reduce number of lexer tokens on operators and if conditions
- - improvement higher compilation speed by modified lexer/parser generator at "smarty/smarty-lexer"
-
- 13.05.2015
- - improvement remove not needed ?><?php transitions from compiled code
- - improvement of debugging:
- - use fresh Smarty object to display the debug console because of possible problems when the Smarty
- was extended or Smarty properties had been modified in the class source
- - display Smarty version number
- - Truncate lenght of Origin display and extend strin value display to 80 character
- - bugfix in Smarty_Security 'nl2br' should be a trusted modifier, not PHP function (code.google issue 223)
-
- 12.05.2015
- - bugfix {$smarty.constant.TEST} did fail on undefined constant https://github.com/smarty-php/smarty/issues/28
- - bugfix access to undefined config variable like {#undef#} did fail https://github.com/smarty-php/smarty/issues/29
- - bugfix in nested {foreach} saved item attributes got overwritten https://github.com/smarty-php/smarty/issues/33
-
- ===== 3.1.23 ===== (12.05.2015)
- 12.05.2015
- - bugfix of smaller performance issue introduce in 3.1.22 when caching is enabled
- - bugfix missig entry for smarty-temmplate-config in autoloader
-
- ===== 3.1.22 ===== tag was deleted because 3.1.22 did fail caused by the missing entry for smarty-temmplate-config in autoloader
- 10.05.2015
- - bugfix custom cache resource did not observe compile_id and cache_id when $cache_locking == true
- - bugfix cache lock was not handled correctly after timeout when $cache_locking == true
- - improvement added constants for $debugging
-
- 07.05.2015
- - improvement of the debugging console. Read NEW_FEATURES.txt
- - optimization of resource class loading
-
- 06.05.2015
- - bugfix in 3.1.22-dev cache resource must not be loaded for subtemplates
- - bugfix/improvement in 3.1.22-dev cache locking did not work as expected
-
- 05.05.2015
- - optimization on cache update when main template is modified
- - optimization move <?php ?> handling from parser to new compiler module
-
- 05.05.2015
- - bugfix code could be messed up when {tags} are used in multiple attributes https://github.com/smarty-php/smarty/issues/23
-
- 04.05.2015
- - bugfix Smarty_Resource::parseResourceName incompatible with Google AppEngine (https://github.com/smarty-php/smarty/issues/22)
- - improvement use is_file() checks to avoid errors suppressed by @ which could still cause problems (https://github.com/smarty-php/smarty/issues/24)
-
- 28.04.2015
- - bugfix plugins of merged subtemplates not loaded in 3.1.22-dev (forum topic 25508) 2nd fix
-
- 28.04.2015
- - bugfix plugins of merged subtemplates not loaded in 3.1.22-dev (forum topic 25508)
-
- 23.04.2015
- - bugfix a nocache template variable used as parameter at {insert} was by mistake cached
-
- 20.04.2015
- - bugfix at a template function containing nocache code a parmeter could overwrite a template variable of same name
-
- 27.03.2015
- - bugfix Smarty_Security->allow_constants=false; did also disable true, false and null (change of 16.03.2015)
- - improvement added a whitelist for trusted constants to security Smarty_Security::$trusted_constants (forum topic 25471)
-
- 20.03.2015
- - bugfix make sure that function properties get saved only in compiled files containing the fuction definition {forum topic 25452}
- - bugfix correct update of global variable values on exit of template functions. (reported under Smarty Developers)
-
- 16.03.2015
- - bugfix problems with {function}{/function} and {call} tags in different subtemplate cache files {forum topic 25452}
- - bugfix Smarty_Security->allow_constants=false; did not disallow direct usage of defined constants like {SMARTY_DIR} {forum topic 25457}
- - bugfix {block}{/block} tags did not work inside double quoted strings https://github.com/smarty-php/smarty/issues/18
-
-
- 15.03.2015
- - bugfix $smarty->compile_check must be restored before rendering of a just updated cache file {forum 25452}
-
- 14.03.2015
- - bugfix {nocache} {/nocache} tags corrupted code when used within a nocache section caused by a nocache template variable.
-
- - bugfix template functions defined with {function} in an included subtemplate could not be called in nocache
- mode with {call... nocache} if the subtemplate had it's own cache file {forum 25452}
-
- 10.03.2015
- - bugfix {include ... nocache} whith variable file or compile_id attribute was not executed in nocache mode.
-
- 12.02.2015
- - bugfix multiple Smarty::fetch() of same template when $smarty->merge_compiled_includes = true; could cause function already defined error
-
- 11.02.2015
- - bugfix recursive {includes} did create E_NOTICE message when $smarty->merge_compiled_includes = true; (github issue #16)
-
- 22.01.2015
- - new feature security can now control access to static methods and properties
- see also NEW_FEATURES.txt
-
- 21.01.2015
- - bugfix clearCompiledTemplates(), clearAll() and clear() could try to delete whole drive at wrong path permissions because realpath() fail (forum 25397)
- - bugfix 'self::' and 'parent::' was interpreted in template syntax as static class
-
- 04.01.2015
- - push last weeks changes to github
-
- - different optimizations
- - improvement automatically create different versions of compiled templates and config files depending
- on property settings.
- - optimization restructure template processing by moving code into classes it better belongs to
- - optimization restructure config file processing
-
- 31.12.2014
- - bugfix use function_exists('mb_get_info') for setting Smarty::$_MBSTRING.
- Function mb_split could be overloaded depending on php.ini mbstring.func_overload
-
-
- 29.12.2014
- - new feature security can now limit the template nesting level by property $max_template_nesting
- see also NEW_FEATURES.txt (forum 25370)
-
- 29.12.2014
- - new feature security can now disable special $smarty variables listed in property $disabled_special_smarty_vars
- see also NEW_FEATURES.txt (forum 25370)
-
- 27.12.2014
- - bugfix clear internal _is_file_cache when plugins_dir was modified
-
- 13.12.2014
- - improvement optimization of lexer and parser resulting in a up to 30% higher compiling speed
-
- 11.12.2014
- - bugfix resolve parser ambiguity between constant print tag {CONST} and other smarty tags after change of 09.12.2014
-
- 09.12.2014
- - bugfix variables $null, $true and $false did not work after the change of 12.11.2014 (forum 25342)
- - bugfix call of template function by a variable name did not work after latest changes (forum 25342)
-
- 23.11.2014
- - bugfix a plugin with attached modifier could fail if the tag was immediately followed by another Smarty tag (since 3.1.21) (forum 25326)
-
- 13.11.2014
- - improvement move autoload code into Autoloader.php. Use Composer autoloader when possible
-
- 12.11.2014
- - new feature added support of namespaces to template code
-
- 08.11.2014 - 10.11.2014
- - bugfix subtemplate called in nocache mode could be called with wrong compile_id when it did change on one of the calling templates
- - improvement add code of template functions called in nocache mode dynamically to cache file (related to bugfix of 01.11.2014)
- - bugfix Debug Console did not include all data from merged compiled subtemplates
-
- 04.11.2014
- - new feature $smarty->debugging = true; => overwrite existing Debug Console window (old behaviour)
- $smarty->debugging = 2; => individual Debug Console window by template name
-
- 03.11.2014
- - bugfix Debug Console did not show included subtemplates since 3.1.17 (forum 25301)
- - bugfix Modifier debug_print_var did not limit recursion or prevent recursive object display at Debug Console
- (ATTENTION: parameter order has changed to be able to specify maximum recursion)
- - bugfix Debug consol did not include subtemplate information with $smarty->merge_compiled_includes = true
- - improvement The template variables are no longer displayed as objects on the Debug Console
- - improvement $smarty->createData($parent = null, $name = null) new optional name parameter for display at Debug Console
- - addition of some hooks for future extension of Debug Console
-
- 01.11.2014
- - bugfix and enhancement on subtemplate {include} and template {function} tags.
- * Calling a template which has a nocache section could fail if it was called from a cached and a not cached subtemplate.
- * Calling the same subtemplate cached and not cached with the $smarty->merge_compiled_includes enabled could cause problems
- * Many smaller related changes
-
- 30.10.2014
- - bugfix access to class constant by object like {$object::CONST} or variable class name {$class::CONST} did not work (forum 25301)
-
- 26.10.2014
- - bugfix E_NOTICE message was created during compilation when ASP tags '<%' or '%>' are in template source text
- - bugfix merge_compiled_includes option failed when caching enables and same subtemplate was included cached and not cached
-
- ===== 3.1.21 ===== (18.10.2014)
- 18.10.2014
- - composer moved to github
-
- 17.10.2014
- - bugfix on $php_handling security and optimization of smarty_internal_parsetree (Thue Kristensen)
-
- 16.10.2014
- - bugfix composer.json update
-
- 15.10.2014
- - bugfix calling a new created cache file with fetch() and Smarty::CACHING_LIFETIME_SAVED multiple times did fail (forum 22350)
-
- 14.10.2014
- - bugfix any tag placed within "<script language=php>" will throw a security exception to close all thinkable holes
- - bugfix classmap in root composer.json should start at "libs/..."
- - improvement cache is_file(file_exists) results of loadPlugin() to avoid unnecessary calls during compilation (Issue 201}
-
- 12.10.2014
- - bugfix a comment like "<script{*foo*} language=php>" bypassed $php_handling checking (Thue Kristensen)
- - bugfix change of 08.10.2014 could create E_NOTICE meassage when using "<?php" tags
- - bugfix "<script language=php>" with $php_handling PHP_PASSTHRU was executed in {nocache} sections
-
- ===== 3.1.20 ===== (09.10.2014)
- 08.10.2014
- - bugfix security mode of "<script language=php>" must be controlled by $php_handling property (Thue Kristensen)
-
- 01.10.2014
- - bugfix template resource of inheritance blocks could get invalid if the default resource type is not 'file'(Issue 202)
- - bugfix existing child {block} tag must override parent {block} tag append / prepend setting (topic 25259)
-
- 02.08.2014
- - bugfix modifier wordwrap did output break string wrong if first word was exceeding length with cut = true (topic 25193)
-
- 24.07.2014
- - bugfix cache clear when cache folder does not exist
-
- 16.07.2014
- - enhancement remove BOM automatically from template source (topic 25161)
-
- 04.07.2014
- - bugfix the bufix of 02.06.2014 broke correct handling of child templates with same name but different template folders in extends resource (issue 194 and topic 25099)
-
- ===== 3.1.19 ===== (30.06.2014)
- 20.06.2014
- - bugfix template variables could not be passed as parameter in {include} when the include was in a {nocache} section (topic 25131)
-
- 17.06.2014
- - bugfix large template text of some charsets could cause parsing errors (topic 24630)
-
- 08.06.2014
- - bugfix registered objects did not work after spelling fixes of 06.06.2014
- - bugfix {block} tags within {literal} .. {/literal} got not displayed correctly (topic 25024)
- - bugfix UNC WINDOWS PATH like "\\psf\path\to\dir" did not work as template directory (Issue 192)
- - bugfix {html_image} security check did fail on files relative to basedir (Issue 191)
-
- 06.06.2014
- - fixed PHPUnit outputFilterTrimWhitespaceTests.php assertion of test result
- - fixed spelling, PHPDoc , minor errors, code cleanup
-
- 02.06.2014
- - using multiple cwd with relative template dirs could result in identical compiled file names. (issue 194 and topic 25099)
-
- 19.04.2014
- - bugfix calling createTemplate(template, data) with empty data array caused notice of array to string conversion (Issue 189)
- - bugfix clearCompiledTemplate() did not delete files on WINDOWS when a compile_id was specified
-
- 18.04.2014
- - revert bugfix of 5.4.2014 because %-e date format is not supported on all operating systems
-
- ===== 3.1.18 ===== (07.04.2014)
- 06.04.2014
- - bugfix template inheritance fail when using custom resource after patch of 8.3.2014 (Issue 187)
- - bugfix update of composer file (Issue 168 and 184)
-
- 05.04.2014
- - bugfix default date format leads to extra spaces when displaying dates with single digit days (Issue 165)
-
- 26.03.2014
- - bugfix Smart_Resource_Custom should not lowercase the resource name (Issue 183)
-
- 24.03.2014
- - bugfix using a {foreach} property like @iteration could fail when used in inheritance parent templates (Issue 182)
-
- 20.03.2014
- - bugfix $smarty->auto_literal and mbsting.func_overload 2, 6 or 7 did fail (forum topic 24899)
-
- 18.03.2014
- - revert change of 17.03.2014
-
-17.03.2014
- - bugfix $smarty->auto_literal and mbsting.func_overload 2, 6 or 7 did fail (forum topic 24899)
-
- 15.03.2014
- - bugfix Smarty_CacheResource_Keyvaluestore did use different keys on read/writes and clearCache() calls (Issue 169)
-
- 13.03.2014
- - bugfix clearXxx() change of 27.1.2014 did not work when specifing cache_id or compile_id (forum topic 24868 and 24867)
-
- ===== 3.1.17 =====
- 08.03.2014
- - bugfix relative file path {include} within {block} of child templates did throw exception on first call (Issue 177)
-
- 17.02.2014
- - bugfix Smarty failed when executing PHP on HHVM (Hip Hop 2.4) because uniqid('',true) does return string with ',' (forum topic 20343)
-
- 16.02.2014
- - bugfix a '//' or '\\' in template_dir path could produce wrong path on relative filepath in {include} (Issue 175)
-
- 05.02.2014
- - bugfix shared.literal_compiler_param.php did throw an exception when literal did contain a '-' (smarty-developers group)
-
- 27.01.2014
- - bugfix $smarty->debugging = true; did show the variable of the $smarty object not the variables used in display() call (forum topic 24764)
- - bugfix clearCompiledTemplate(), clearAll() and clear() should use realpath to avoid possible exception from RecursiveDirectoryIterator (Issue 171)
-
- 26.01.2014
- - bugfix undo block nesting checks for {nocache} for reasons like forum topic 23280 (forum topic 24762)
-
- 18.01.2014
- - bugfix the compiler did fail when using template inheritance and recursive {include} (smarty-developers group)
-
- 11.01.2014
- - bugfix "* }" (spaces before right delimiter) was interpreted by mistake as comment end tag (Issue 170)
- - internals content cache should be clear when updating cache file
-
- 08.01.2014
- - bugfix Smarty_CacheResource_Custom did not handle template resource type specifications on clearCache() calls (Issue 169)
- - bugfix SmartyBC.class.php should use require_once to load Smarty.class.php (forum topic 24683)
-
- ===== 3.1.16 =====
- 15.12.2013
- - bugfix {include} with {block} tag handling (forum topic 24599, 24594, 24682) (Issue 161)
- Read 3.1.16_RELEASE_NOTES for more details
- - enhancement additional debug output at $smarty->_parserdebug = true;
-
- 07.11.2013
- - bugfix too restrictive handling of {include} within {block} tags. 3.1.15 did throw errors where 3.1.14 did not (forum topic 24599)
- - bugfix compiler could fail if PHP mbstring.func_overload is enabled (Issue 164)
-
- 28.10.2013
- - bugfix variable resource name at custom resource plugin did not work within {block} tags (Issue 163)
- - bugfix notice "Trying to get property of non-object" removed (Issue 163)
- - bugfix correction of modifier capitalize fix from 3.10.2013 (issue 159)
- - bugfix multiple {block}s with same name in parent did not work (forum topic 24631)
-
- 20.10.2013
- - bugfix a variable file name at {extends} tag did fail (forum topic 24618)
-
- 14.10.2013
- - bugfix yesterdays fix could result in an undefined variable
-
- 13.10.2013
- - bugfix variable names on {include} in template inheritance did unextepted error message (forum topic 24594) (Issue 161)
-.- bugfix relative includes with same name like {include './foo.tpl'} from different folder failed (forum topic 24590)(Issue 161)
-
- 04.10.2013
- - bugfix variable file names at {extends} had been disbabled by mistake with the rewrite of
- template inheritance of 24.08.2013 (forum topic 24585)
-
-03.10.2013
- - bugfix loops using modifier capitalize did eat up memory (issue 159)
-
- ===== Smarty 3.1.15 =====
-01.10.2013
- - use current delimiters in compiler error messages (issue 157)
- - improvement on performance when using error handler and multiple template folders (issue 152)
-
-17.09.2013
- - improvement added patch for additional SmartyCompilerException properties for better access to scource information (forum topic 24559)
-
-16.09.2013
- - bugfix recompiled templates did not show on first request with zend opcache cache (forum topic 24320)
-
-13.09.2013
- - bugfix html_select_time defaulting error for the Meridian dropdown (forum topic 24549)
-
-09.09.2012
-- bugfix incorrect compiled code with array(object,method) callback at registered Variable Filter (forum topic 24542)
-
-27.08.2013
-- bugfix delimiter followed by linebreak did not work as auto literal after update from 24.08.2013 (forum topic 24518)
-
-24.08.2013
-- bugfix and enhancement
- Because several recent problems with template inheritance the {block} tag compiler has been rewriten
- - Error messages shown now the correct child template file and line number
- - The compiler could fail on some larger UTF-8 text block (forum topic 24455)
- - The {strip} tag can now be placed outside {block} tags in child templates (forum topic 24289)
-- change SmartyException::$escape is now false by default
-- change PHP traceback has been remove for SmartyException and SmartyCompilerException
-
-14.08.2013
-- bugfix compiled filepath of config file did not observe different config_dir (forum topic 24493)
-
-13.08.2013
-- bugfix the internal resource cache did not observe config_dir changes (forum topic 24493)
-
-12.08.2013
-- bugfix internal $tmpx variables must be unique over all inheritance templates (Issue 149)
-
-10.08.2013
-- bugfix a newline was eaten when a <?xml ... ?> was passed by a Smarty variable and caching was enabled (forum topic 24482)
-
-29.07.2013
-- bugfix headers already send warning thrown when using 'SMARTY_DEBUG=on' from URL (Issue 148)
-
-27.07.2013
-- enhancement allow access to properties of registered opjects for Smarty2 BC (forum topic 24344)
-
-26.07.2013
-- bugfix template inheritance nesting problem (forum topic 24387)
-
-15.7.2013
-- update code generated by PSR-2 standards fixer which introduced PHP 5.4 incompatibilities of 14.7.2013
-
-14.7.2013
-- bugfix increase of internal maximum parser stacksize to allow more complex tag code {forum topic 24426}
-- update for PHP 5.4 compatibility
-- reformat source to PSR-2 standard
-
-12.7.2013
-- bugfix Do not remove '//' from file path at normalization (Issue 142)
-
-2.7.2013
-- bugfix trimwhitespace would replace captured items in wrong order (forum topic 24387)
-
-===== Smarty-3.1.14 =====
-27.06.2013
-- bugfix removed PHP 5.5 deprecated preg_replace /e option in modifier capitalize (forum topic 24389)
-
-17.06.2013
-- fixed spelling in sources and documentation (from smarty-developers forum Veres Lajos)
-- enhancement added constant SMARTY::CLEAR_EXPIRED for the change of 26.05.2013 (forum topic 24310)
-- bugfix added smarty_security.php to composer.json (Issue 135)
-
-26.05.2013
-- enhancement an expire_time of -1 in clearCache() and clearAllCache() will delete outdated cache files
- by their individual cache_lifetime used at creation (forum topic 24310)
-
-21.05.2013
-- bugfix modifier strip_tags:true was compiled into wrong code (Forum Topic 24287)
-- bugfix /n after ?> in Smarty.class.php did start output buffering (Issue 138)
-
-25.04.2013
-- bugfix escape and wordrap modifier could be compiled into wrong code when used in {nocache}{/nocache}
- section but caching is disabled (Forum Topic 24260)
-
-05.04.2013
-- bugfix post filter must not run when compiling inheritance child blocks (Forum Topic 24094)
-- bugfix after the fix for Issue #130 compiler exceptions got double escaped (Forum Topic 24199)
-
-28.02.2013
-- bugfix nocache blocks could be lost when using CACHING_LIFETIME_SAVED (Issue #133)
-- bugfix Compile ID gets nulled when compiling child blocks (Issue #134)
-
-
-24.01.2013
-- bugfix wrong tag type in smarty_internal_templatecompilerbase.php could cause wrong plugin search order (Forum Topic 24028)
-
-===== Smarty-3.1.13 =====
-13.01.2013
-- enhancement allow to disable exception message escaping by SmartyException::$escape = false; (Issue #130)
-
-09.01.2013
-- bugfix compilation did fail when a prefilter did modify an {extends} tag c
-- bugfix template inheritance could fail if nested {block} tags in childs did contain {$smarty.block.child} (Issue #127)
-- bugfix template inheritance could fail if {block} tags in childs did have similar name as used plugins (Issue #128)
-- added abstract method declaration doCompile() in Smarty_Internal_TemplateCompilerBase (Forum Topic 23969)
-
-06.01.2013
-- Allow '://' URL syntax in template names of stream resources (Issue #129)
-
-27.11.2012
-- bugfix wrong variable usage in smarty_internal_utility.php (Issue #125)
-
-26.11.2012
-- bugfix global variable assigned within template function are not seen after template function exit (Forum Topic 23800)
-
-24.11.2012
-- made SmartyBC loadable via composer (Issue #124)
-
-20.11.2012
-- bugfix assignGlobal() called from plugins did not work (Forum Topic 23771)
-
-13.11.2012
-- adding attribute "strict" to html_options, html_checkboxes, html_radios to only print disabled/readonly attributes if their values are true or "disabled"/"readonly" (Issue #120)
-
-01.11.2012
-- bugfix muteExcpetedErrors() would screw up for non-readable paths (Issue #118)
-
-===== Smarty-3.1.12 =====
-14.09.2012
-- bugfix template inheritance failed to compile with delimiters {/ and /} (Forum Topic 23008)
-
-11.09.2012
-- bugfix escape Smarty exception messages to avoid possible script execution
-
-10.09.2012
-- bugfix tag option flags and shorttag attributes did not work when rdel started with '=' (Forum Topic 22979)
-
-31.08.2012
-- bugfix resolving relative paths broke in some circumstances (Issue #114)
-
-22.08.2012
-- bugfix test MBString availability through mb_split, as it could've been compiled without regex support (--enable-mbregex).
- Either we get MBstring's full package, or we pretend it's not there at all.
-
-21.08.2012
-- bugfix $auto_literal = false did not work with { block} tags in child templates
- (problem was reintroduced after fix in 3.1.7)(Forum Topic 20581)
-
-17.08.2012
-- bugfix compiled code of nocache sections could contain wrong escaping (Forum Topic 22810)
-
-15.08.2012
-- bugfix template inheritance did produce wrong code if subtemplates with {block} was
- included several times (from smarty-developers forum)
-
-14.08.2012
-- bugfix PHP5.2 compatibility compromised by SplFileInfo::getBasename() (Issue 110)
-
-01.08.2012
-- bugfix avoid PHP error on $smarty->configLoad(...) with invalid section specification (Forum Topic 22608)
-
-30.07.2012
--bugfix {assign} in a nocache section should not overwrite existing variable values
- during compilation (issue 109)
-
-28.07.2012
-- bugfix array access of config variables did not work (Forum Topic 22527)
-
-19.07.2012
-- bugfix the default plugin handler did create wrong compiled code for static class methods
- from external script files (issue 108)
-
-===== Smarty-3.1.11 =====
-30.06.2012
-- bugfix {block.. hide} did not work as nested child (Forum Topic 22216)
-
-25.06.2012
-- bugfix the default plugin handler did not allow static class methods for modifier (issue 85)
-
-24.06.2012
-- bugfix escape modifier support for PHP < 5.2.3 (Forum Topic 21176)
-
-11.06.2012
-- bugfix the patch for Topic 21856 did break tabs between tag attributes (Forum Topic 22124)
-
-===== Smarty-3.1.10 =====
-09.06.2012
-- bugfix the compiler did ignore registered compiler plugins for closing tags (Forum Topic 22094)
-- bugfix the patch for Topic 21856 did break multiline tags (Forum Topic 22124)
-
-===== Smarty-3.1.9 =====
-07.06.2012
-- bugfix fetch() and display() with relative paths (Issue 104)
-- bugfix treat "0000-00-00" as 0 in modifier.date_format (Issue 103)
-
-24.05.2012
-- bugfix Smarty_Internal_Write_File::writeFile() could cause race-conditions on linux systems (Issue 101)
-- bugfix attribute parameter names of plugins may now contain also "-" and ":" (Forum Topic 21856)
-- bugfix add compile_id to cache key of of source (Issue 97)
-
-22.05.2012
-- bugfix recursive {include} within {section} did fail (Smarty developer group)
-
-12.05.2012
-- bugfix {html_options} did not properly escape values (Issue 98)
-
-03.05.2012
-- bugfix make HTTP protocall version variable (issue 96)
-
-02.05.2012
-- bugfix {nocache}{block}{plugin}... did produce wrong compiled code when caching is disabled (Forum Topic 21572, issue 95)
-
-12.04.2012
-- bugfix Smarty did eat the linebreak after the <?xml...?> closing tag (Issue 93)
-- bugfix concurrent cache updates could create a warning (Forum Topic 21403)
-
-08.04.2012
-- bugfix "\\" was not escaped correctly when generating nocache code (Forum Topic 21364)
-
-30.03.2012
-- bugfix template inheritance did not throw exception when a parent template was deleted (issue 90)
-
-27.03.2012
-- bugfix prefilter did run multiple times on inline subtemplates compiled into several main templates (Forum Topic 21325)
-- bugfix implement Smarty2's behaviour of variables assigned by reference in SmartyBC. {assign} will affect all references.
- (issue 88)
-
-21.03.2012
-- bugfix compileAllTemplates() and compileAllConfig() did not return the number of compiled files (Forum Topic 21286)
-
-13.03.2012
-- correction of yesterdays bugfix (Forum Topic 21175 and 21182)
-
-12.03.2012
-- bugfix a double quoted string of "$foo" did not compile into PHP "$foo" (Forum Topic 21175)
-- bugfix template inheritance did set $merge_compiled_includes globally true
-
-03.03.2012
-- optimization of compiling speed when same modifier was used several times
-
-02.03.2012
-- enhancement the default plugin handler can now also resolve undefined modifier (Smarty::PLUGIN_MODIFIER)
- (Issue 85)
-
-===== Smarty-3.1.8 =====
-19.02.2012
-- bugfix {include} could result in a fatal error if used in appended or prepended nested {block} tags
- (reported by mh and Issue 83)
-- enhancement added Smarty special variable $smarty.template_object to return the current template object (Forum Topic 20289)
-
-
-07.02.2012
-- bugfix increase entropy of internal function names in compiled and cached template files (Forum Topic 20996)
-- enhancement cacheable parameter added to default plugin handler, same functionality as in registerPlugin (request by calguy1000)
-
-06.02.2012
-- improvement stream_resolve_include_path() added to Smarty_Internal_Get_Include_Path (Forum Topic 20980)
-- bugfix fetch('extends:foo.tpl') always yielded $source->exists == true (Forum Topic 20980)
-- added modifier unescape:"url", fix (Forum Topic 20980)
-- improvement replaced some calls of preg_replace with str_replace (Issue 73)
-
-30.01.2012
-- bugfix Smarty_Security internal $_resource_dir cache wasn't properly propagated
-
-27.01.2012
-- bugfix Smarty did not a template name of "0" (Forum Topic 20895)
-
-20.01.2012
-- bugfix typo in Smarty_Internal_Get_IncludePath did cause runtime overhead (Issue 74)
-- improvment remove unneeded assigments (Issue 75 and 76)
-- fixed typo in template parser
-- bugfix output filter must not run before writing cache when template does contain nocache code (Issue 71)
-
-02.01.2012
-- bugfix {block foo nocache} did not load plugins within child {block} in nocache mode (Forum Topic 20753)
-
-29.12.2011
-- bugfix enable more entropy in Smarty_Internal_Write_File for "more uniqueness" and Cygwin compatibility (Forum Topic 20724)
-- bugfix embedded quotes in single quoted strings did not compile correctly in {nocache} sections (Forum Topic 20730)
-
-28.12.2011
-- bugfix Smarty's internal header code must be excluded from postfilters (issue 71)
-
-22.12.2011
-- bugfix the new lexer of 17.12.2011 did fail if mbstring.func_overload != 0 (issue 70) (Forum Topic 20680)
-- bugfix template inheritace did fail if mbstring.func_overload != 0 (issue 70) (Forum Topic 20680)
-
-20.12.2011
-- bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return
- content after {$smarty.block.child} (Forum Topic 20564)
-
-===== Smarty-3.1.7 =====
-18.12.2011
-- bugfix strings ending with " in multiline strings of config files failed to compile (issue #67)
-- added chaining to Smarty_Internal_Templatebase
-- changed unloadFilter() to not return a boolean in favor of chaining and API conformity
-- bugfix unregisterObject() raised notice when object to unregister did not exist
-- changed internals to use Smarty::$_MBSTRING ($_CHARSET, $_DATE_FORMAT) for better unit testing
-- added Smarty::$_UTF8_MODIFIER for proper PCRE charset handling (Forum Topic 20452)
-- added Smarty_Security::isTrustedUri() and Smarty_Security::$trusted_uri to validate
- remote resource calls through {fetch} and {html_image} (Forum Topic 20627)
-
-17.12.2011
-- improvement of compiling speed by new handling of plain text blocks in the lexer/parser (issue #68)
-
-16.12.2011
-- bugfix the source exits flag and timestamp was not setup when template was in php include path (issue #69)
-
-9.12.2011
-- bugfix {capture} tags around recursive {include} calls did throw exception (Forum Topic 20549)
-- bugfix $auto_literal = false did not work with { block} tags in child templates (Forum Topic 20581)
-- bugfix template inheritance: do not include code of {include} in overloaded {block} into compiled
- parent template (Issue #66}
-- bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return expected
- result (Forum Topic 20564)
-
-===== Smarty-3.1.6 =====
-30.11.2011
-- bugfix is_cache() for individual cached subtemplates with $smarty->caching = CACHING_OFF did produce
- an exception (Forum Topic 20531)
-
-29.11.2011
-- bugfix added exception if the default plugin handler did return a not static callback (Forum Topic 20512)
-
-25.11.2011
-- bugfix {html_select_date} and {html_slecet_time} did not default to current time if "time" was not specified
- since r4432 (issue 60)
-
-24.11.2011
-- bugfix a subtemplate later used as main template did use old variable values
-
-21.11.2011
-- bugfix cache file could include unneeded modifier plugins under certain condition
-
-18.11.2011
-- bugfix declare all directory properties private to map direct access to getter/setter also on extended Smarty class
-
-16.11.2011
-- bugfix Smarty_Resource::load() did not always return a proper resource handler (Forum Topic 20414)
-- added escape argument to html_checkboxes and html_radios (Forum Topic 20425)
-
-===== Smarty-3.1.5 =====
-14.11.2011
-- bugfix allow space between function name and open bracket (forum topic 20375)
-
-09.11.2011
-- bugfix different behaviour of uniqid() on cygwin. See https://bugs.php.net/bug.php?id=34908
- (forum topic 20343)
-
-01.11.2011
-- bugfix {if} and {while} tags without condition did not throw a SmartyCompilerException (Issue #57)
-- bugfix multiline strings in config files could fail on longer strings (reopened Issue #55)
-
-22.10.2011
-- bugfix smarty_mb_from_unicode() would not decode unicode-points properly
-- bugfix use catch Exception instead UnexpectedValueException in
- clearCompiledTemplate to be PHP 5.2 compatible
-
-21.10.2011
-- bugfix apostrophe in plugins_dir path name failed (forum topic 20199)
-- improvement sha1() for array keys longer than 150 characters
-- add Smarty::$allow_ambiguous_resources to activate unique resource handling (Forum Topic 20128)
-
-20.10.2011
-- @silenced unlink() in Smarty_Internal_Write_File since debuggers go haywire without it.
-- bugfix Smarty::clearCompiledTemplate() threw an Exception if $cache_id was not present in $compile_dir when $use_sub_dirs = true.
-- bugfix {html_select_date} and {html_select_time} did not properly handle empty time arguments (Forum Topic 20190)
-- improvement removed unnecessary sha1()
-
-19.10.2011
-- revert PHP4 constructor message
-- fixed PHP4 constructor message
-
-===== Smarty-3.1.4 =====
-19.10.2011
-- added exception when using PHP4 style constructor
-
-16.10.2011
-- bugfix testInstall() did not propery check cache_dir and compile_dir
-
-15.10.2011
-- bugfix Smarty_Resource and Smarty_CacheResource runtime caching (Forum Post 75264)
-
-14.10.2011
-- bugfix unique_resource did not properly apply to compiled resources (Forum Topic 20128)
-- add locking to custom resources (Forum Post 75252)
-- add Smarty_Internal_Template::clearCache() to accompany isCached() fetch() etc.
-
-13.10.2011
-- add caching for config files in Smarty_Resource
-- bugfix disable of caching after isCached() call did not work (Forum Topic 20131)
-- add concept unique_resource to combat potentially ambiguous template_resource values when custom resource handlers are used (Forum Topic 20128)
-- bugfix multiline strings in config files could fail on longer strings (Issue #55)
-
-11.10.2011
-- add runtime checks for not matching {capture}/{/capture} calls (Forum Topic 20120)
-
-10.10.2011
-- bugfix variable name typo in {html_options} and {html_checkboxes} (Issue #54)
-- bugfix <?xml> tag did create wrong output when caching enabled and the tag was in included subtemplate
-- bugfix Smarty_CacheResource_mysql example was missing strtotime() calls
-
-===== Smarty-3.1.3 =====
-07.10.2011
-- improvement removed html comments from {mailto} (Forum Topic 20092)
-- bugfix testInstall() would not show path to internal plugins_dir (Forum Post 74627)
-- improvement testInstall() now showing resolved paths and checking the include_path if necessary
-- bugfix html_options plugin did not handle object values properly (Issue #49, Forum Topic 20049)
-- improvement html_checkboxes and html_radios to accept null- and object values, and label_ids attribute
-- improvement removed some unnecessary count()s
-- bugfix parent pointer was not set when fetch() for other template was called on template object
-
-06.10.2011
-- bugfix switch lexer internals depending on mbstring.func_overload
-- bugfix start_year and end_year of {html_select_date} did not use current year as offset base (Issue #53)
-
-05.10.2011
-- bugfix of problem introduced with r4342 by replacing strlen() with isset()
-- add environment configuration issue with mbstring.func_overload Smarty cannot compensate for (Issue #45)
-- bugfix nofilter tag option did not disable default modifier
-- bugfix html_options plugin did not handle null- and object values properly (Issue #49, Forum Topic 20049)
-
-04.10.2011
-- bugfix assign() in plugins called in subtemplates did change value also in parent template
-- bugfix of problem introduced with r4342 on math plugin
-- bugfix output filter should not run on individually cached subtemplates
-- add unloadFilter() method
-- bugfix has_nocache_code flag was not reset before compilation
-
-===== Smarty-3.1.2 =====
-03.10.2011
-- improvement add internal $joined_template_dir property instead computing it on the fly several times
-
-01.10.2011
-- improvement replaced most in_array() calls by more efficient isset() on array_flip()ed haystacks
-- improvement replaced some strlen($foo) > 3 calls by isset($foo[3])
-- improvement Smarty_Internal_Utility::clearCompiledTemplate() removed redundant strlen()s
-
-29.09.2011
-- improvement of Smarty_Internal_Config::loadConfigVars() dropped the in_array for index look up
-
-28.09.2011
-- bugfix on template functions called nocache calling other template functions
-
-27.09.2011
-- bugfix possible warning "attempt to modify property of non-object" in {section} (issue #34)
-- added chaining to Smarty_Internal_Data so $smarty->assign('a',1)->assign('b',2); is possible now
-- bugfix remove race condition when a custom resource did change timestamp during compilation
-- bugfix variable property did not work on objects variable in template
-- bugfix smarty_make_timestamp() failed to process DateTime objects properly
-- bugfix wrong resource could be used on compile check of custom resource
-
-26.09.2011
-- bugfix repeated calls to same subtemplate did not make use of cached template object
-
-24.09.2011
-- removed internal muteExpectedErrors() calls in favor of having the implementor call this once from his application
-- optimized muteExpectedErrors() to pass errors to the latest registered error handler, if appliccable
-- added compile_dir and cache_dir to list of muted directories
-- improvment better error message for undefined templates at {include}
-
-23.09.2011
-- remove unused properties
-- optimization use real function instead anonymous function for preg_replace_callback
-- bugfix a relative {include} in child template blocks failed
-- bugfix direct setting of $template_dir, $config_dir, $plugins_dir in __construct() of an
- extended Smarty class created problems
-- bugfix error muting was not implemented for cache locking
-
-===== Smarty 3.1.1 =====
-22.09.2011
-- bugfix {foreachelse} does fail if {section} was nested inside {foreach}
-- bugfix debug.tpl did not display correctly when it was compiled with escape_html = true
-
-21.09.2011
-- bugfix look for mixed case plugin file names as in 3.0 if not found try all lowercase
-- added $error_muting to suppress error messages even for badly implemented error_handlers
-- optimized autoloader
-- reverted ./ and ../ handling in fetch() and display() - they're allowed again
-
-20.09.2011
-- bugfix removed debug echo output while compiling template inheritance
-- bugfix relative paths in $template_dir broke relative path resolving in {include "../foo.tpl"}
-- bugfix {include} did not work inside nested {block} tags
-- bugfix {assign} with scope root and global did not work in all cases
-
-19.09.2011
-- bugfix regression in Smarty_CacheReource_KeyValueStore introduced by r4261
-- bugfix output filter shall not run on included subtemplates
-
-18.09.2011
-- bugfix template caching did not care about file.tpl in different template_dir
-- bugfix {include $file} was broken when merge_compiled_incluges = true
-- bugfix {include} was broken when merge_compiled_incluges = true and same indluded template
- was used in different main templates in one compilation run
-- bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar}
-- bugfix debug.tpl did not display correctly when it was compiled with escape_html = true
-
-17.09.2011
-- bugfix lock_id for file resource would create invalid filepath
-- bugfix resource caching did not care about file.tpl in different template_dir
-
-===== Smarty 3.1.0 =====
-15/09/2011
-- optimization of {foreach}; call internal _count() method only when "total" or "last" {foreach} properties are used
-
-11/09/2011
-- added unregisterObject() method
-
-06/09/2011
-- bugfix isset() did not work in templates on config variables
-
-03/09/2011
-- bugfix createTemplate() must default to cache_id and compile_id of Smarty object
-- bugfix Smarty_CacheResource_KeyValueStore must include $source->uid in cache filepath to keep templates with same
- name but different folders separated
-- added cacheresource.apc.php example in demo folder
-
-02/09/2011
-- bugfix cache lock file must use absolute filepath
-
-01/09/2011
-- update of cache locking
-
-30/08/2011
-- added locking mechanism to CacheResource API (implemented with File and KeyValueStores)
-
-28/08/2011
-- bugfix clearCompileTemplate() did not work for specific template subfolder or resource
-
-27/08/2011
-- bugfix {$foo|bar+1} did create syntax error
-
-26/08/2011
-- bugfix when generating nocache code which contains double \
-- bugfix handle race condition if cache file was deleted between filemtime and include
-
-17/08/2011
-- bugfix CacheResource_Custom bad internal fetch() call
-
-15/08/2011
-- bugfix CacheResource would load content twice for KeyValueStore and Custom handlers
-
-06/08/2011
-- bugfix {include} with scope attribute could execute in wrong scope
-- optimization of compile_check processing
-
-03/08/2011
-- allow comment tags to comment {block} tags out in child templates
-
-26/07/2011
-- bugfix experimental getTags() method did not work
-
-24/07/2011
-- sure opened output buffers are closed on exception
-- bugfix {foreach} did not work on IteratorAggregate
-
-22/07/2011
-- clear internal caches on clearAllCache(), clearCache(), clearCompiledTemplate()
-
-21/07/2011
-- bugfix value changes of variable values assigned to Smarty object could not be seen on repeated $smarty->fetch() calls
-
-17/07/2011
-- bugfix {$smarty.block.child} did drop a notice at undefined child
-
-15/07/2011
-- bugfix individual cache_lifetime of {include} did not work correctly inside {block} tags
-- added caches for Smarty_Internal_TemplateSource and Smarty_Internal_TemplateCompiled to reduce I/O for multiple cache_id rendering
-
-14/07/2011
-- made Smarty::loadPlugin() respect the include_path if required
-
-13/07/2011
-- optimized internal file write functionality
-- bugfix PHP did eat line break on nocache sections
-- fixed typo of Smarty_Security properties $allowed_modifiers and $disabled_modifiers
-
-06/07/2011
-- bugfix variable modifier must run befor gereral filtering/escaping
-
-04/07/2011
-- bugfix use (?P<name>) syntax at preg_match as some pcre libraries failed on (?<name>)
-- some performance improvement when using generic getter/setter on template objects
-
-30/06/2011
-- bugfix generic getter/setter of Smarty properties used on template objects did throw exception
-- removed is_dir and is_readable checks from directory setters for better performance
-
-28/06/2011
-- added back support of php template resource as undocumented feature
-- bugfix automatic recompilation on version change could drop undefined index notice on old 3.0 cache and compiled files
-- update of README_3_1_DEV.txt and moved into the distribution folder
-- improvement show first characters of eval and string templates instead sha1 Uid in debug window
-
-===== Smarty 3.1-RC1 =====
-25/06/2011
-- revert change of 17/06/2011. $_smarty varibale removed. call loadPlugin() from inside plugin code if required
-- code cleanup, remove no longer used properties and methods
-- update of PHPdoc comments
-
-23/06/2011
-- bugfix {html_select_date} would not respect current time zone
-
-19/06/2011
-- added $errors argument to testInstall() functions to suppress output.
-- added plugin-file checks to testInstall()
-
-18/06/2011
-- bugfix mixed use of same subtemplate inline and not inline in same script could cause a warning during compilation
-
-17/06/2011
-- bugfix/change use $_smarty->loadPlugin() when loading nested depending plugins via loadPlugin
-- bugfix {include ... inline} within {block}...{/block} did fail
-
-16/06/2011
-- bugfix do not overwrite '$smarty' template variable when {include ... scope=parent} is called
-- bugfix complete empty inline subtemplates did fail
-
-15/06/2011
-- bugfix template variables where not accessable within inline subtemplates
-
-12/06/2011
-- bugfix removed unneeded merging of template variable when fetching includled subtemplates
-
-10/06/2011
-- made protected properties $template_dir, $plugins_dir, $cache_dir, $compile_dir, $config_dir accessible via magic methods
-
-09/06/2011
-- fix smarty security_policy issue in plugins {html_image} and {fetch}
-
-05/06/2011
-- update of SMARTY_VERSION
-- bugfix made getTags() working again
-
-04/06/2011
-- allow extends resource in file attribute of {extends} tag
-
-03/06/2011
-- added {setfilter} tag to set filters for variable output
-- added escape_html property to control autoescaping of variable output
-
-27/05/2011
-- added allowed/disabled tags and modifiers in security for sandboxing
-
-23/05/2011
-- added base64: and urlencode: arguments to eval and string resource types
-
-22/05/2011
-- made time-attribute of {html_select_date} and {html_select_time} accept arrays as defined by attributes prefix and field_array
-
-13/05/2011
-- remove setOption / getOption calls from SamrtyBC class
-
-02/05/2011
-- removed experimental setOption() getOption() methods
-- output returned content also on opening tag calls of block plugins
-- rewrite of default plugin handler
-- compile code of variable filters for better performance
-
-20/04/2011
-- allow {php} {include_php} tags and PHP_ALLOW handling only with the SmartyBC class
-- removed support of php template resource
-
-20/04/2011
-- added extendsall resource example
-- optimization of template variable access
-- optimization of subtemplate handling {include}
-- optimization of template class
-
-01/04/2011
-- bugfix quote handling in capitalize modifier
-
-28/03/2011
-- bugfix stripslashes() requried when using PCRE e-modifier
-
-04/03/2011
-- upgrade to new PHP_LexerGenerator version 0.4.0 for better performance
-
-27/02/2011
-- ignore .svn folders when clearing cache and compiled files
-- string resources do not need a modify check
-
-26/02/2011
-- replaced smarty_internal_wrapper by SmartyBC class
-- load utility functions as static methods instead through __call()
-- bugfix in extends resource when subresources are used
-- optimization of modify checks
-
-25/02/2011
-- use $smarty->error_unassigned to control NOTICE handling on unassigned variables
-
-21/02/2011
-- added new new compile_check mode COMPILECHECK_CACHEMISS
-- corrected new cloning behaviour of createTemplate()
-- do no longer store the compiler object as property in the compile_tag classes to avoid possible memory leaks
- during compilation
-
-19/02/2011
-- optimizations on merge_compiled_includes handling
-- a couple of optimizations and bugfixes related to new resource structure
-
-17/02/2011
-- changed ./ and ../ behaviour
-
-14/02/2011
-- added {block ... hide} option to suppress block if no child is defined
-
-13/02/2011
-- update handling of recursive subtemplate calls
-- bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
-
-12/02/2011
-- new class Smarty_Internal_TemplateBase with shared methods of Smarty and Template objects
-- optimizations of template processing
-- made register... methods permanet
-- code for default_plugin_handler
-- add automatic recompilation at version change
-
-04/02/2011
-- change in Smarty_CacheResource_Custom
-- bugfix cache_lifetime did not compile correctly at {include} after last update
-- moved isCached processing into CacheResource class
-- bugfix new CacheResource API did not work with disabled compile_check
-
-03/02/2011
-- handle template content as function to improve speed on multiple calls of same subtemplate and isCached()/display() calls
-- bugfixes and improvents in the new resource API
-- optimizations of template class code
-
-25/01/2011
-- optimized function html_select_time
-
-22/01/2011
-- added Smarty::$use_include_path configuration directive for Resource API
-
-21/01/2011
-- optimized function html_select_date
-
-19/01/2011
-- optimized outputfilter trimwhitespace
-
-18/01/2011
-- bugfix Config to use Smarty_Resource to fetch sources
-- optimized Smarty_Security's isTrustedDir() and isTrustedPHPDir()
-
-17/01/2011
-- bugfix HTTP headers for CGI SAPIs
-
-16/01/2011
-- optimized internals of Smarty_Resource and Smarty_CacheResource
-
-14/01/2011
-- added modifiercompiler escape to improve performance of escaping html, htmlall, url, urlpathinfo, quotes, javascript
-- added support to choose template_dir to load from: [index]filename.tpl
-
-12/01/2011
-- added unencode modifier to revert results of encode modifier
-- added to_charset and from_charset modifier for character encoding
-
-11/01/2011
-- added SMARTY_MBSTRING to generalize MBString detection
-- added argument $lc_rest to modifier.capitalize to lower-case anything but the first character of a word
-- changed strip modifier to consider unicode white-space, too
-- changed wordwrap modifier to accept UTF-8 strings
-- changed count_sentences modifier to consider unicode characters and treat sequences delimited by ? and ! as sentences, too
-- added argument $double_encode to modifier.escape (applies to html and htmlall only)
-- changed escape modifier to be UTF-8 compliant
-- changed textformat block to be UTF-8 compliant
-- optimized performance of mailto function
-- fixed spacify modifier so characters are not prepended and appended, made it unicode compatible
-- fixed truncate modifier to properly use mb_string if possible
-- removed UTF-8 frenzy from count_characters modifier
-- fixed count_words modifier to treat "hello-world" as a single word like str_count_words() does
-- removed UTF-8 frenzy from upper modifier
-- removed UTF-8 frenzy from lower modifier
-
-01/01/2011
-- optimize smarty_modified_escape for hex, hexentity, decentity.
-
-28/12/2010
-- changed $tpl_vars, $config_vars and $parent to belong to Smarty_Internal_Data
-- added Smarty::registerCacheResource() for dynamic cache resource object registration
-
-27/12/2010
-- added Smarty_CacheResource API and refactored existing cache resources accordingly
-- added Smarty_CacheResource_Custom and Smarty_CacheResource_Mysql
-
-26/12/2010
-- added Smarty_Resource API and refactored existing resources accordingly
-- added Smarty_Resource_Custom and Smarty_Resource_Mysql
-- bugfix Smarty::createTemplate() to return properly cloned template instances
-
-24/12/2010
-- optimize smarty_function_escape_special_chars() for PHP >= 5.2.3
-
-===== SVN 3.0 trunk =====
-14/05/2011
-- bugfix error handling at stream resources
-
-13/05/2011
-- bugfix condition starting with "-" did fail at {if} and {while} tags
-
-22/04/2011
-- bugfix allow only fixed string as file attribute at {extends} tag
-
-01/04/2011
-- bugfix do not run filters and default modifier when displaying the debug template
-- bugfix of embedded double quotes within multi line strings (""")
-
-29/03/2011
-- bugfix on error message in smarty_internal_compile_block.php
-- bugfix mb handling in strip modifier
-- bugfix for Smarty2 style registered compiler function on unnamed attribute passing like {tag $foo $bar}
-
-17/03/2011
-- bugfix on default {function} parameters when {function} was used in nocache sections
-- bugfix on compiler object destruction. compiler_object property was by mistake unset.
-
-09/03/2011
--bugfix a variable filter should run before modifiers on an output tag (see change of 23/07/2010)
-
-08/03/2011
-- bugfix loading config file without section should load only defaults
-
-03/03/2011
-- bugfix "smarty" template variable was not recreated when cached templated had expired
-- bugfix internal rendered_content must be cleared after subtemplate was included
-
-01/03/2011
-- bugfix replace modifier did not work in 3.0.7 on systems without multibyte support
-- bugfix {$smarty.template} could return in 3.0.7 parent template name instead of
- child name when it needed to compile
-
-25/02/2011
-- bugfix for Smarty2 style compiler plugins on unnamed attribute passing like {tag $foo $bar}
-
-24/02/2011
-- bugfix $smarty->clearCache('some.tpl') did by mistake cache the template object
-
-18/02/2011
-- bugfix removed possible race condition when isCached() was called for an individually cached subtemplate
-- bugfix force default debug.tpl to be loaded by the file resource
-
-17/02/2011
--improvement not to delete files starting with '.' from cache and template_c folders on clearCompiledTemplate() and clearCache()
-
-16/02/2011
--fixed typo in exception message of Smarty_Internal_Template
--improvement allow leading spaces on } tag closing if auto_literal is enabled
-
-13/02/2011
-- bufix replace $smarty->triggerError() by exception
-- removed obsolete {popup_init..} plugin from demo templates
-- bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
-
-===== Smarty 3.0.7 =====
-09/02/2011
-- patched vulnerability when using {$smarty.template}
-
-01/02/2011
-- removed assert() from config and template parser
-
-31/01/2011
-- bugfix the lexer/parser did fail on special characters like VT
-
-16/01/2011
--bugfix of ArrayAccess object handling in internal _count() method
--bugfix of Iterator object handling in internal _count() method
-
-14/01/2011
--bugfix removed memory leak while processing compileAllTemplates
-
-12/01/2011
-- bugfix in {if} and {while} tag compiler when using assignments as condition and nocache mode
-
-10/01/2011
-- bugfix when using {$smarty.block.child} and name of {block} was in double quoted string
-- bugfix updateParentVariables() was called twice when leaving {include} processing
-
-- bugfix mb_str_replace in replace and escape modifiers work with utf8
-
-31/12/2010
-- bugfix dynamic configuration of $debugging_crtl did not work
-- bugfix default value of $config_read_hidden changed to false
-- bugfix format of attribute array on compiler plugins
-- bugfix getTemplateVars() could return value from wrong scope
-
-28/12/2010
-- bugfix multiple {append} tags failed to compile.
-
-22/12/2010
-- update do not clone the Smarty object an internal createTemplate() calls to increase performance
-
-21/12/2010
-- update html_options to support class and id attrs
-
-17/12/2010
-- bugfix added missing support of $cache_attrs for registered plugins
-
-15/12/2010
-- bugfix assignment as condition in {while} did drop an E_NOTICE
-
-14/12/2010
-- bugfix when passing an array as default parameter at {function} tag
-
-13/12/2010
-- bugfix {$smarty.template} in child template did not return right content
-- bugfix Smarty3 did not search the PHP include_path for template files
-
-===== Smarty 3.0.6 =====
-
-12/12/2010
-- bugfix fixed typo regarding yesterdays change to allow streamWrapper
-
-11/12/2010
-- bugfix nested block tags in template inheritance child templates did not work correctly
-- bugfix {$smarty.current_dir} in child template did not point to dir of child template
-- bugfix changed code when writing temporary compiled files to allow stream_wrapper
-
-06/12/2010
-- bugfix getTemplateVars() should return 'null' instead dropping E_NOTICE on an unassigned variable
-
-05/12/2010
-- bugfix missing declaration of $smarty in Smarty class
-- bugfix empty($foo) in {if} did drop a notice when $foo was not assigned
-
-01/12/2010
-- improvement of {debug} tag output
-
-27/11/2010
--change run output filter before cache file is written. (same as in Smarty2)
-
-24/11/2011
--bugfix on parser at !$foo|modifier
--change parser logic when assignments used as condition in {if] and {while} to allow assign to array element
-
-23/11/2011
--bugfix allow integer as attribute name in plugin calls
--change trimm whitespace from error message, removed long list of expected tokens
-
-22/11/2010
-- bugfix on template inheritance when an {extends} tag was inserted by a prefilter
-- added error message for illegal variable file attributes at {extends...} tags
-
-===== Smarty 3.0.5 =====
-
-
-19/11/2010
-- bugfix on block plugins with modifiers
-
-18/11/2010
-- change on handling of unassigned template variable -- default will drop E_NOTICE
-- bugfix on Smarty2 wrapper load_filter() did not work
-
-17/11/2010
-- bugfix on {call} with variable function name
-- bugfix on {block} if name did contain '-'
-- bugfix in function.fetch.php , referece to undefined $smarty
-
-16/11/2010
-- bugfix whitespace in front of "<?php" in smarty_internal_compile_private_block_plugin.php
-- bugfix {$smarty.now} did compile incorrectly
-- bugfix on reset(),end(),next(),prev(),current() within templates
-- bugfix on default parameter for {function}
-
-15/11/2010
-- bugfix when using {$smarty.session} as object
-- bugfix scoping problem on $smarty object passed to filters
-- bugfix captured content could not be accessed globally
-- bugfix Smarty2 wrapper functions could not be call from within plugins
-
-===== Smarty 3.0.4 =====
-
-14/11/2010
-- bugfix isset() did not allow multiple parameter
-- improvment of some error messages
-- bugfix html_image did use removed property $request_use_auto_globals
-- small performace patch in Smarty class
-
-13/11/2010
-- bugfix overloading problem when $smarty->fetch()/display() have been used in plugins
- (introduced with 3.0.2)
-- code cleanup
-
-===== Smarty 3.0.3 =====
-
-13/11/2010
-- bugfix on {debug}
-- reverted location of loadPlugin() to Smarty class
-- fixed comments in plugins
-- fixed internal_config (removed unwanted code line)
-- improvement remove last linebreak from {function} definition
-
-===== Smarty 3.0.2 =====
-
-12/11/2010
-- reactivated $error_reporting property handling
-- fixed typo in compile_continue
-- fixed security in {fetch} plugin
-- changed back plugin parameters to two. second is template object
- with transparent access to Smarty object
-- fixed {config_load} scoping form compile time to run time
-
-===== Smarty 3.0.0 =====
-
-
-
-11/11/2010
-- major update including some API changes
-
-10/11/2010
-- observe compile_id also for config files
-
-09/11/2010
--bugfix on complex expressions as start value for {for} tag
-request_use_auto_globals
-04/11/2010
-- bugfix do not allow access of dynamic and private object members of assigned objects when
- security is enabled.
-
-01/11/2010
-- bugfix related to E_NOTICE change. {if empty($foo)} did fail when $foo contained a string
-
-28/10/2010
-- bugfix on compiling modifiers within $smarty special vars like {$smarty.post.{$foo|lower}}
-
-27/10/2010
-- bugfix default parameter values did not work for template functions included with {include}
-
-25/10/2010
-- bugfix for E_NOTICE change, array elements did not work as modifier parameter
-
-20/10/2010
-- bugfix for the E_NOTICE change
-
-19/10/2010
-- change Smarty does no longer mask out E_NOTICE by default during template processing
-
-13/10/2010
-- bugfix removed ambiguity between ternary and stream variable in template syntax
-- bugfix use caching properties of template instead of smarty object when compiling child {block}
-- bugfix {*block}...{/block*} did throw an exception in template inheritance
-- bugfix on template inheritance using nested eval or string resource in {extends} tags
-- bugfix on output buffer handling in isCached() method
-
-===== RC4 =====
-
-01/10/2010
-- added {break} and {continue} tags for flow control of {foreach},{section},{for} and {while} loops
-- change of 'string' resource. It's no longer evaluated and compiled files are now stored
-- new 'eval' resource which evaluates a template without saving the compiled file
-- change in isCached() method to allow multiple calls for the same template
-
-25/09/2010
-- bugfix on some compiling modifiers
-
-24/09/2010
-- bugfix merge_compiled_includes flag was not restored correctly in {block} tag
-
-22/09/2010
-- bugfix on default modifier
-
-18/09/2010
-- bugfix untility compileAllConfig() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS
-- bugfix on templateExists() for extends resource
-
-17/09/2010
-- bugfix {$smarty.template} and {$smarty.current_dir} did not compile correctly within {block} tags
-- bugfix corrected error message on missing template files in extends resource
-- bugfix untility compileAllTemplates() did not create sha1 code for compiled template file names if template_dir was defined with no trailing DS
-
-16/09/2010
-- bugfix when a doublequoted modifier parameter did contain Smarty tags and ':'
-
-15/09/2010
-- bugfix resolving conflict between '<%'/'%>' as custom Smarty delimiter and ASP tags
-- use ucfirst for resource name on internal resource class names
-
-12/09/2010
-- bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
-
-10/09/2010
-- bugfix for change of 08/09/2010 (final {block} tags in subtemplates did not produce correct results)
-
-08/09/2010
-- allow multiple template inheritance branches starting in subtemplates
-
-07/09/2010
-- bugfix {counter} and {cycle} plugin assigned result to smarty variable not in local(template) scope
-- bugfix templates containing just {strip} {/strip} tags did produce an error
-
-
-23/08/2010
-- fixed E_STRICT errors for uninitialized variables
-
-22/08/2010
-- added attribute cache_id to {include} tag
-
-13/08/2010
-- remove exception_handler property from Smarty class
-- added Smarty's own exceptions SmartyException and SmartyCompilerException
-
-09/08/2010
-- bugfix on modifier with doublequoted strings as parameter containing embedded tags
-
-06/08/2010
-- bugfix when cascading some modifier like |strip|strip_tags modifier
-
-05/08/2010
-- added plugin type modifiercompiler to produce compiled modifier code
-- changed standard modifier plugins to the compiling versions whenever possible
-- bugfix in nocache sections {include} must not cache the subtemplate
-
-02/08/2010
-- bugfix strip did not work correctly in conjunction with comment lines
-
-31/07/2010
-- bugfix on nocache attribute at {assign} and {append}
-
-30/07/2010
-- bugfix passing scope attributes in doublequoted strings did not work at {include} {assign} and {append}
-
-25/07/2010
-- another bugfix of change from 23/07/2010 when compiling modifier
-
-24/07/2010
-- bugfix of change from 23/07/2010 when compiling modifier
-
-23/07/2010
-- changed execution order. A variable filter does now run before modifiers on output of variables
-- bugfix use always { and } as delimiter for debug.tpl
-
-
-22/07/2010
-- bugfix in templateExists() method
-
-20/07/2010
-- fixed handling of { strip } tag with whitespaces
-
-15/07/2010
-- bufix {$smarty.template} does include now the relative path, not just filename
-
-===== RC3 =====
-
-
-
-
-15/07/2010
-- make the date_format modifier work also on objects of the DateTime class
-- implementation of parsetrees in the parser to close security holes and remove unwanted empty line in HTML output
-
-08/07/2010
-- bugfix on assigning multidimensional arrays within templates
-- corrected bugfix for truncate modifier
-
-07/07/2010
-- bugfix the truncate modifier needs to check if the string is utf-8 encoded or not
-- bugfix support of script files relative to trusted_dir
-
-06/07/2010
-- create exception on recursive {extends} calls
-- fixed reported line number at "unexpected closing tag " exception
-- bugfix on escape:'mail' modifier
-- drop exception if 'item' variable is equal 'from' variable in {foreach} tag
-
-01/07/2010
-- removed call_user_func_array calls for optimization of compiled code when using registered modifiers and plugins
-
-25/06/2010
-- bugfix escaping " when block tags are used within doublequoted strings
-
-24/06/2010
-- replace internal get_time() calls with standard PHP5 microtime(true) calls in Smarty_Internal_Utility
-- added $smarty->register->templateClass() and $smarty->unregister->templateClass() methods for supporting static classes with namespace
-
-
-22/06/2010
-- allow spaces between typecast and value in template syntax
-- bugfix get correct count of traversables in {foreach} tag
-
-21/06/2010
-- removed use of PHP shortags SMARTY_PHP_PASSTHRU mode
-- improved speed of cache->clear() when a compile_id was specified and use_sub_dirs is true
-
-20/06/2010
-- replace internal get_time() calls with standard PHP5 microtime(true) calls
-- closed security hole when php.ini asp_tags = on
-
-18/06/2010
-- added __toString method to the Smarty_Variable class
-
-
-14/06/2010
-- make handling of Smarty comments followed by newline BC to Smarty2
-
-
-===== RC2 =====
-
-
-
-13/06/2010
-- bugfix Smarty3 did not handle hexadecimals like 0x0F as numerical value
-- bugifx Smarty3 did not accept numerical constants like .1 or 2. (without a leading or trailing digit)
-
-11/06/2010
-- bugfix the lexer did fail on larger {literal} ... {/literal} sections
-
-03/06/2010
-- bugfix on calling template functions like Smarty tags
-
-01/06/2010
-- bugfix on template functions used with template inheritance
-- removed /* vim: set expandtab: */ comments
-- bugfix of auto literal problem introduce with fix of 31/05/2010
-
-31/05/2010
-- bugfix the parser did not allow some smarty variables with special name like $for, $if, $else and others.
-
-27/05/2010
-- bugfix on object chaining using variable properties
-- make scope of {counter} and {cycle} tags again global as in Smarty2
-
-26/05/2010
-- bugfix removed decrepated register_resource call in smarty_internal_template.php
-
-25/05/2010
-- rewrite of template function handling to improve speed
-- bugfix on file dependency when merge_compiled_includes = true
-
-
-16/05/2010
-- bugfix when passing parameter with numeric name like {foo 1='bar' 2='blar'}
-
-14/05/2010
-- bugfix compile new config files if compile_check and force_compile = false
-- added variable static classes names to template syntax
-
-11/05/2010
-- bugfix make sure that the cache resource is loaded in all conditions when template methods getCached... are called externally
-- reverted the change 0f 30/04/2010. With the exception of forward references template functions can be again called by a standard tag.
-
-10/05/2010
-- bugfix on {foreach} and {for} optimizations of 27/04/2010
-
-09/05/2010
-- update of template and config file parser because of minor parser generator bugs
-
-07/05/2010
-- bugfix on {insert}
-
-06/05/2010
-- bugfix when merging compiled templates and objects are passed as parameter of the {include} tag
-
-05/05/2010
-- bugfix on {insert} to cache parameter
-- implementation of $smarty->default_modifiers as in Smarty2
-- bugfix on getTemplateVars method
-
-01/05/2010
-- bugfix on handling of variable method names at object chaning
-
-30/04/2010
-- bugfix when comparing timestamps in sysplugins/smarty_internal_config.php
-- work around of a substr_compare bug in older PHP5 versions
-- bugfix on template inheritance for tag names starting with "block"
-- bugfix on {function} tag with name attribute in doublequoted strings
-- fix to make calling of template functions unambiguously by madatory usage of the {call} tag
-
-===== RC1 =====
-
-27/04/2010
-- change default of $debugging_ctrl to 'NONE'
-- optimization of compiled code of {foreach} and {for} loops
-- change of compiler for config variables
-
-27/04/2010
-- bugfix in $smarty->cache->clear() method. (do not cache template object)
-
-
-17/04/2010
-- security fix in {math} plugin
-
-
-12/04/2010
-- bugfix in smarty_internal_templatecompilerbase (overloaded property)
-- removed parser restrictions in using true,false and null as ID
-
-07/04/2010
-- bugfix typo in smarty_internal_templatecompilerbase
-
-31/03/2010
-- compile locking by touching old compiled files to avoid concurrent compilations
-
-29/03/2010
-- bugfix allow array definitions as modifier parameter
-- bugfix observe compile_check property when loading config files
-- added the template object as third filter parameter
-
-25/03/2010
-- change of utility->compileAllTemplates() log messages
-- bugfix on nocache code in {function} tags
-- new method utility->compileAllConfig() to compile all config files
-
-24/03/2010
-- bugfix on register->modifier() error messages
-
-23/03/2010
-- bugfix on template inheritance when calling multiple child/parent relations
-- bugfix on caching mode SMARTY_CACHING_LIFETIME_SAVED and cache_lifetime = 0
-
-22/03/2010
-- bugfix make directory separator operating system independend in compileAllTemplates()
-
-21/03/2010
-- removed unused code in compileAllTemplates()
-
-19/03/2010
-- bugfix for multiple {/block} tags on same line
-
-17/03/2010
-- bugfix make $smarty->cache->clear() function independent from caching status
-
-16/03/2010
-- bugfix on assign attribute at registered template objects
-- make handling of modifiers on expression BC to Smarty2
-
-15/03/2010
-- bugfix on block plugin calls
-
-11/03/2010
-- changed parsing of <?php and ?> back to Smarty2 behaviour
-
-08/03/2010
-- bugfix on uninitialized properties in smarty_internal_template
-- bugfix on $smarty->disableSecurity()
-
-04/03/2010
-- bugfix allow uppercase chars in registered resource names
-- bugfix on accessing chained objects of static classes
-
-01/03/2010
-- bugfix on nocache code in {block} tags if child template was included by {include}
-
-27/02/2010
-- allow block tags inside double quoted string
-
-26/02/2010
-- cache modified check implemented
-- support of access to a class constant from an object (since PHP 5.3)
-
-24/02/2010
-- bugfix on expressions in doublequoted string enclosed in backticks
-- added security property $static_classes for static class security
-
-18/02/2010
-- bugfix on parsing Smarty tags inside <?xml ... ?>
-- bugfix on truncate modifier
-
-17/02/2010
-- removed restriction that modifiers did require surrounding parenthesis in some cases
-- added {$smarty.block.child} special variable for template inheritance
-
-16/02/2010
-- bugfix on <?xml ... ?> tags for all php_handling modes
-- bugfix on parameter of variablefilter.htmlspecialchars.php plugin
-
-14/02/2010
-- added missing _plugins property in smarty.class.php
-- bugfix $smarty.const... inside doublequoted strings and backticks was compiled into wrong PHP code
-
-12/02/2010
-- bugfix on nested {block} tags
-- changed Smarty special variable $smarty.parent to $smarty.block.parent
-- added support of nested {bock} tags
-
-10/02/2010
-- avoid possible notice on $smarty->cache->clear(...), $smarty->clear_cache(....)
-- allow Smarty tags inside <? ... ?> tags in SMARTY_PHP_QUOTE and SMARTY_PHP_PASSTHRU mode
-- bugfix at new "for" syntax like {for $x=1 to 10 step 2}
-
-09/02/2010
-- added $smarty->_tag_stack for tracing block tag hierarchy
-
-08/02/2010
-- bugfix use template fullpath at §smarty->cache->clear(...), $smarty->clear_cache(....)
-- bugfix of cache filename on extended templates when force_compile=true
-
-07/02/2010
-- bugfix on changes of 05/02/2010
-- preserve line endings type form template source
-- API changes (see README file)
-
-05/02/2010
-- bugfix on modifier and block plugins with same name
-
-02/02/2010
-- retaining newlines at registered functions and function plugins
-
-01/25/2010
-- bugfix cache resource was not loaded when caching was globally off but enabled at a template object
-- added test that $_SERVER['SCRIPT_NAME'] does exist in Smarty.class.php
-
-01/22/2010
-- new method $smarty->createData([$parent]) for creating a data object (required for bugfixes below)
-- bugfix config_load() method now works also on a data object
-- bugfix get_config_vars() method now works also on a data and template objects
-- bugfix clear_config() method now works also on a data and template objects
-
-01/19/2010
-- bugfix on plugins if same plugin was called from a nocache section first and later from a cached section
-
-
-###beta 7###
-
-
-01/17/2010
-- bugfix on $smarty.const... in double quoted strings
-
-01/16/2010
-- internal change of config file lexer/parser on handling of section names
-- bugfix on registered objects (format parameter of register_object was not handled correctly)
-
-01/14/2010
-- bugfix on backslash within single quoted strings
-- bugfix allow absolute filepath for config files
-- bugfix on special Smarty variable $smarty.cookies
-- revert handling of newline on no output tags like {if...}
-- allow special characters in config file section names for Smarty2 BC
-
-01/13/2010
-- bugfix on {if} tags
-
-01/12/2010
-- changed back modifier handling in parser. Some restrictions still apply:
- if modifiers are used in side {if...} expression or in mathematical expressions
- parentheses must be used.
-- bugfix the {function..} tag did not accept the name attribute in double quotes
-- closed possible security hole at <?php ... ?> tags
-- bugfix of config file parser on large config files
-
-
-###beta 6####
-
-01/11/2010
-- added \n to the compiled code of the {if},{else},{elseif},{/if} tags to get output of newlines as expected by the template source
-- added missing support of insert plugins
-- added optional nocache attribute to {block} tags in parent template
-- updated <?php...?> handling supporting now heredocs and newdocs. (thanks to Thue Jnaus Kristensen)
-
-01/09/2010
-- bugfix on nocache {block} tags in parent templates
-
-01/08/2010
-- bugfix on variable filters. filter/nofilter attributes did not work on output statements
-
-01/07/2010
-- bugfix on file dependency at template inheritance
-- bugfix on nocache code at template inheritance
-
-01/06/2010
-- fixed typo in smarty_internal_resource_registered
-- bugfix for custom delimiter at extends resource and {extends} tag
-
-01/05/2010
-- bugfix sha1() calculations at extends resource and some general improvments on sha1() handling
-
-
-01/03/2010
-- internal change on building cache files
-
-01/02/2010
-- update cached_timestamp at the template object after cache file is written to avoid possible side effects
-- use internally always SMARTY_CACHING_LIFETIME_* constants
-
-01/01/2010
-- bugfix for obtaining plugins which must be included (related to change of 12/30/2009)
-- bugfix for {php} tag (trow an exception if allow_php_tag = false)
-
-12/31/2009
-- optimization of generated code for doublequoted strings containing variables
-- rewrite of {function} tag handling
- - can now be declared in an external subtemplate
- - can contain nocache sections (nocache_hash handling)
- - can be called in noccache sections (nocache_hash handling)
- - new {call..} tag to call template functions with a variable name {call name=$foo}
-- fixed nocache_hash handling in merged compiled templates
-
-12/30/2009
-- bugfix for plugins defined in the script as smarty_function_foo
-
-12/29/2009
-- use sha1() for filepath encoding
-- updates on nocache_hash handling
-- internal change on merging some data
-- fixed cache filename for custom resources
-
-12/28/2009
-- update for security fixes
-- make modifier plugins always trusted
-- fixed bug loading modifiers in child template at template inheritance
-
-12/27/2009
---- this is a major update with a couple of internal changes ---
-- new config file lexer/parser (thanks to Thue Jnaus Kristensen)
-- template lexer/parser fixes for PHP and {literal} handing (thanks to Thue Jnaus Kristensen)
-- fix on registered plugins with different type but same name
-- rewrite of plugin handling (optimized execution speed)
-- closed a security hole regarding PHP code injection into cache files
-- fixed bug in clear cache handling
-- Renamed a couple of internal classes
-- code cleanup for merging compiled templates
-- couple of runtime optimizations (still not all done)
-- update of getCachedTimestamp()
-- fixed bug on modifier plugins at nocache output
-
-12/19/2009
-- bugfix on comment lines in config files
-
-12/17/2009
-- bugfix of parent/global variable update at included/merged subtemplates
-- encode final template filepath into filename of compiled and cached files
-- fixed {strip} handling in auto literals
-
-12/16/2009
-- update of changelog
-- added {include file='foo.tpl' inline} inline option to merge compiled code of subtemplate into the calling template
-
-12/14/2009
-- fixed sideefect of last modification (objects in array index did not work anymore)
-
-12/13/2009
-- allow boolean negation ("!") as operator on variables outside {if} tag
-
-12/12/2009
-- bugfix on single quotes inside {function} tag
-- fix short append/prepend attributes in {block} tags
-
-12/11/2009
-- bugfix on clear_compiled_tpl (avoid possible warning)
-
-12/10/2009
-- bugfix on {function} tags and template inheritance
-
-12/05/2009
-- fixed problem when a cached file was fetched several times
-- removed unneeded lexer code
-
-12/04/2009
-- added max attribute to for loop
-- added security mode allow_super_globals
-
-12/03/2009
-- template inheritance: child templates can now call functions defined by the {function} tag in the parent template
-- added {for $foo = 1 to 5 step 2} syntax
-- bugfix for {$foo.$x.$y.$z}
-
-12/01/2009
-- fixed parsing of names of special formated tags like if,elseif,while,for,foreach
-- removed direct access to constants in templates because of some syntax problems
-- removed cache resource plugin for mysql from the distribution
-- replaced most hard errors (exceptions) by softerrors(trigger_error) in plugins
-- use $template_class property for template class name when compiling {include},{eval} and {extends} tags
-
-11/30/2009
-- map 'true' to SMARTY_CACHING_LIFETIME_CURRENT for the $smarty->caching parameter
-- allow {function} tags within {block} tags
-
-11/28/2009
-- ignore compile_id at debug template
-- added direct access to constants in templates
-- some lexer/parser optimizations
-
-11/27/2009
-- added cache resource MYSQL plugin
-
-11/26/2009
-- bugfix on nested doublequoted strings
-- correct line number on unknown tag error message
-- changed {include} compiled code
-- fix on checking dynamic varibales with error_unassigned = true
-
-11/25/2009
-- allow the following writing for boolean: true, TRUE, True, false, FALSE, False
-- {strip} tag functionality rewritten
-
-11/24/2009
-- bugfix for $smarty->config_overwrite = false
-
-11/23/2009
-- suppress warnings on unlink caused by race conditions
-- correct line number on unknown tag error message
-
-------- beta 5
-11/23/2009
-- fixed configfile parser for text starting with a numeric char
-- the default_template_handler_func may now return a filepath to a template source
-
-11/20/2009
-- bugfix for empty config files
-- convert timestamps of registered resources to integer
-
-11/19/2009
-- compiled templates are no longer touched with the filemtime of template source
-
-11/18/2009
-- allow integer as attribute name in plugin calls
-
-------- beta 4
-11/18/2009
-- observe umask settings when setting file permissions
-- avoide unneeded cache file creation for subtemplates which did occur in some situations
-- make $smarty->_current_file available during compilation for Smarty2 BC
-
-11/17/2009
-- sanitize compile_id and cache_id (replace illegal chars with _)
-- use _dir_perms and _file_perms properties at file creation
-- new constant SMARTY_RESOURCE_DATE_FORMAT (default '%b %e, %Y') which is used as default format in modifier date_format
-- added {foreach $array as $key=>$value} syntax
-- renamed extend tag and resource to extends: {extends file='foo.tol'} , $smarty->display('extends:foo.tpl|bar.tpl);
-- bugfix cycle plugin
-
-11/15/2009
-- lexer/parser optimizations on quoted strings
-
-11/14/2009
-- bugfix on merging compiled templates when source files got removed or renamed.
-- bugfix modifiers on registered object tags
-- fixed locaion where outputfilters are running
-- fixed config file definitions at EOF
-- fix on merging compiled templates with nocache sections in nocache includes
-- parser could run into a PHP error on wrong file attribute
-
-11/12/2009
-- fixed variable filenames in {include_php} and {insert}
-- added scope to Smarty variables in the {block} tag compiler
-- fix on nocache code in child {block} tags
-
-11/11/2009
-- fixed {foreachelse}, {forelse}, {sectionelse} compiled code at nocache variables
-- removed checking for reserved variables
-- changed debugging handling
-
-11/10/2009
-- fixed preg_qoute on delimiters
-
-11/09/2009
-- lexer/parser bugfix
-- new SMARTY_SPL_AUTOLOAD constant to control the autoloader option
-- bugfix for {function} block tags in included templates
-
-11/08/2009
-- fixed alphanumeric array index
-- bugfix on complex double quoted strings
-
-11/05/2009
-- config_load method can now be called on data and template objects
-
-11/04/2009
-- added typecasting support for template variables
-- bugfix on complex indexed special Smarty variables
-
-11/03/2009
-- fixed parser error on objects with special smarty vars
-- fixed file dependency for {incude} inside {block} tag
-- fixed not compiling on non existing compiled templates when compile_check = false
-- renamed function names of autoloaded Smarty methods to Smarty_Method_....
-- new security_class property (default is Smarty_Security)
-
-11/02/2009
-- added neq,lte,gte,mod as aliases to if conditions
-- throw exception on illegal Smarty() constructor calls
-
-10/31/2009
-- change of filenames in sysplugins folder for internal spl_autoload function
-- lexer/parser changed for increased compilation speed
-
-10/27/2009
-- fixed missing quotes in include_php.php
-
-10/27/2009
-- fixed typo in method.register_resource
-- pass {} through as literal
-
-10/26/2009
-- merge only compiled subtemplates into the compiled code of the main template
-
-10/24/2009
-- fixed nocache vars at internal block tags
-- fixed merging of recursive includes
-
-10/23/2009
-- fixed nocache var problem
-
-10/22/2009
-- fix trimwhitespace outputfilter parameter
-
-10/21/2009
-- added {$foo++}{$foo--} syntax
-- buxfix changed PHP "if (..):" to "if (..){" because of possible bad code when concenating PHP tags
-- autoload Smarty internal classes
-- fixed file dependency for config files
-- some code optimizations
-- fixed function definitions on some autoloaded methods
-- fixed nocache variable inside if condition of {if} tag
-
-10/20/2009
-- check at compile time for variable filter to improve rendering speed if no filter is used
-- fixed bug at combination of {elseif} tag and {...} in double quoted strings of static class parameter
-
-10/19/2009
-- fixed compiled template merging on variable double quoted strings as name
-- fixed bug in caching mode 2 and cache_lifetime -1
-- fixed modifier support on block tags
-
-10/17/2009
-- remove ?>\n<?php and ?><?php sequences from compiled template
-
-10/15/2009
-- buxfix on assigning array elements inside templates
-- parser bugfix on array access
-
-10/15/2009
-- allow bit operator '&' inside {if} tag
-- implementation of ternary operator
-
-10/13/2009
-- do not recompile evaluated templates if reused just with other data
-- recompile config files when config properties did change
-- some lexer/parser otimizations
-
-10/11/2009
-- allow {block} tags inside included templates
-- bugfix for resource plugins in Smarty2 format
-- some optimizations of internal.template.php
-
-10/11/2009
-- fixed bug when template with same name is used with different data objects
-- fixed bug with double quoted name attribute at {insert} tag
-- reenabled assign_by_ref and append_by_ref methods
-
-10/07/2009
-- removed block nesting checks for {capture}
-
-10/05/2009
-- added support of "isinstance" to {if} tag
-
-10/03/2009
-- internal changes to improve performance
-- fix registering of filters for classes
-
-10/01/2009
-- removed default timezone setting
-- reactivated PHP resource for simple PHP templates. Must set allow_php_templates = true to enable
-- {PHP} tag can be enabled by allow_php_tag = true
-
-09/30/2009
-- fixed handling template_exits method for all resource types
-- bugfix for other cache resources than file
-- the methods assign_by_ref is now wrapped to assign, append_by_ref to append
-- allow arrays of variables pass in display, fetch and createTemplate calls
- $data = array('foo'=>'bar','foo2'=>'blar');
- $smarty->display('my.tpl',$data);
-
-09/29/2009
-- changed {php} tag handling
-- removed support of Smarty::instance()
-- removed support of PHP resource type
-- improved execution speed of {foreach} tags
-- fixed bug in {section} tag
-
-09/23/2009
-- improvements and bugfix on {include} tag handling
-NOTICE: existing compiled template and cache files must be deleted
-
-09/19/2009
-- replace internal "eval()" calls by "include" during rendering process
-- speed improvment for templates which have included subtemplates
- the compiled code of included templates is merged into the compiled code of the parent template
-- added logical operator "xor" for {if} tag
-- changed parameter ordering for Smarty2 BC
- fetch($template, $cache_id = null, $compile_id = null, $parent = null)
- display($template, $cache_id = null, $compile_id = null, $parent = null)
- createTemplate($template, $cache_id = null, $compile_id = null, $parent = null)
-- property resource_char_set is now replaced by constant SMARTY_RESOURCE_CHAR_SET
-- fixed handling of classes in registered blocks
-- speed improvement of lexer on text sections
-
-09/01/2009
-- dropped nl2br as plugin
-- added '<>' as comparission operator in {if} tags
-- cached caching_lifetime property to cache_liftime for backward compatibility with Smarty2.
- {include} optional attribute is also now cache_lifetime
-- fixed trigger_error method (moved into Smarty class)
-- version is now Beta!!!
-
-
-08/30/2009
-- some speed optimizations on loading internal plugins
-
-
-08/29/2009
-- implemented caching of registered Resources
-- new property 'auto_literal'. if true(default) '{ ' and ' }' interpreted as literal, not as Smarty delimiter
-
-
-08/28/2009
-- Fix on line breaks inside {if} tags
-
-08/26/2009
-- implemented registered resources as in Smarty2. NOTE: caching does not work yet
-- new property 'force_cache'. if true it forces the creation of a new cache file
-- fixed modifiers on arrays
-- some speed optimization on loading internal classes
-
-
-08/24/2009
-- fixed typo in lexer definition for '!==' operator
-- bugfix - the ouput of plugins was not cached
-- added global variable SCRIPT_NAME
-
-08/21/2009
-- fixed problems whitespace in conjuction with custom delimiters
-- Smarty tags can now be used as value anywhere
-
-08/18/2009
-- definition of template class name moded in internal.templatebase.php
-- whitespace parser changes
-
-08/12/2009
-- fixed parser problems
-
-08/11/2009
-- fixed parser problems with custom delimiter
-
-08/10/2009
-- update of mb support in plugins
-
-
-08/09/2009
-- fixed problems with doublequoted strings at name attribute of {block} tag
-- bugfix at scope attribute of {append} tag
-
-08/08/2009
-- removed all internal calls of Smarty::instance()
-- fixed code in double quoted strings
-
-08/05/2009
-- bugfix mb_string support
-- bugfix of \n.\t etc in double quoted strings
-
-07/29/2009
-- added syntax for variable config vars like #$foo#
-
-07/28/2009
-- fixed parsing of $smarty.session vars containing objects
-
-07/22/2009
-- fix of "$" handling in double quoted strings
-
-07/21/2009
-- fix that {$smarty.current_dir} return correct value within {block} tags.
-
-07/20/2009
-- drop error message on unmatched {block} {/block} pairs
-
-07/01/2009
-- fixed smarty_function_html_options call in plugin function.html_select_date.php (missing ,)
-
-06/24/2009
-- fixed smarty_function_html_options call in plugin function.html_select_date.php
-
-06/22/2009
-- fix on \n and spaces inside smarty tags
-- removed request_use_auto_globals propert as it is no longer needed because Smarty 3 will always run under PHP 5
-
-
-06/18/2009
-- fixed compilation of block plugins when caching enabled
-- added $smarty.current_dir which returns the current working directory
-
-06/14/2009
-- fixed array access on super globals
-- allow smarty tags within xml tags
-
-06/13/2009
-- bugfix at extend resource: create unique files for compiled template and cache for each combination of template files
-- update extend resource to handle appen and prepend block attributes
-- instantiate classes of plugins instead of calling them static
-
-06/03/2009
-- fixed repeat at block plugins
-
-05/25/2009
-- fixed problem with caching of compiler plugins
-
-05/14/2009
-- fixed directory separator handling
-
-05/09/2009
-- syntax change for stream variables
-- fixed bug when using absolute template filepath and caching
-
-05/08/2009
-- fixed bug of {nocache} tag in included templates
-
-05/06/2009
-- allow that plugins_dir folder names can end without directory separator
-
-05/05/2009
-- fixed E_STRICT incompabilities
-- {function} tag bug fix
-- security policy definitions have been moved from plugins folder to file Security.class.php in libs folder
-- added allow_super_global configuration to security
-
-04/30/2009
-- functions defined with the {function} tag now always have global scope
-
-04/29/2009
-- fixed problem with directory setter methods
-- allow that cache_dir can end without directory separator
-
-04/28/2009
-- the {function} tag can no longer overwrite standard smarty tags
-- inherit functions defined by the {fuction} tag into subtemplates
-- added {while <statement>} sytax to while tag
-
-04/26/2009
-- added trusted stream checking to security
-- internal changes at file dependency check for caching
-
-04/24/2009
-- changed name of {template} tag to {function}
-- added new {template} tag
-
-04/23/2009
-- fixed access of special smarty variables from included template
-
-04/22/2009
-- unified template stream syntax with standard Smarty resource syntax $smarty->display('mystream:mytemplate')
-
-04/21/2009
-- change of new style syntax for forach. Now: {foreach $array as $var} like in PHP
-
-04/20/2009
-- fixed "$foo.bar ..." variable replacement in double quoted strings
-- fixed error in {include} tag with variable file attribute
-
-04/18/2009
-- added stream resources ($smarty->display('mystream://mytemplate'))
-- added stream variables {$mystream:myvar}
-
-04/14/2009
-- fixed compile_id handling on {include} tags
-- fixed append/prepend attributes in {block} tag
-- added {if 'expression' is in 'array'} syntax
-- use crc32 as hash for compiled config files.
-
-04/13/2009
-- fixed scope problem with parent variables when appending variables within templates.
-- fixed code for {block} without childs (possible sources for notice errors removed)
-
-04/12/2009
-- added append and prepend attribute to {block} tag
-
-04/11/2009
-- fixed variables in 'file' attribute of {extend} tag
-- fixed problems in modifiers (if mb string functions not present)
-
-04/10/2009
-- check if mb string functions available otherwise fallback to normal string functions
-- added global variable scope SMARTY_GLOBAL_SCOPE
-- enable 'variable' filter by default
-- fixed {$smarty.block.parent.foo}
-- implementation of a 'variable' filter as replacement for default modifier
-
-04/09/2009
-- fixed execution of filters defined by classes
-- compile the always the content of {block} tags to make shure that the filters are running over it
-- syntax corrections on variable object property
-- syntax corrections on array access in dot syntax
-
-04/08/2009
-- allow variable object property
-
-04/07/2009
-- changed variable scopes to SMARTY_LOCAL_SCOPE, SMARTY_PARENT_SCOPE, SMARTY_ROOT_SCOPE to avoid possible conflicts with user constants
-- Smarty variable global attribute replaced with scope attribute
-
-04/06/2009
-- variable scopes LOCAL_SCOPE, PARENT_SCOPE, ROOT_SCOPE
-- more getter/setter methods
-
-04/05/2009
-- replaced new array looping syntax {for $foo in $array} with {foreach $foo in $array} to avoid confusion
-- added append array for short form of assign {$foo[]='bar'} and allow assignments to nested arrays {$foo['bla']['blue']='bar'}
-
-04/04/2009
-- make output of template default handlers cachable and save compiled source
-- some fixes on yesterdays update
-
-04/03/2006
-- added registerDefaultTemplateHandler method and functionallity
-- added registerDefaultPluginHandler method and functionallity
-- added {append} tag to extend Smarty array variabled
-
-04/02/2009
-- added setter/getter methods
-- added $foo@first and $foo@last properties at {for} tag
-- added $set_timezone (true/false) property to setup optionally the default time zone
-
-03/31/2009
-- bugfix smarty.class and internal.security_handler
-- added compile_check configuration
-- added setter/getter methods
-
-03/30/2009
-- added all major setter/getter methods
-
-03/28/2009
-- {block} tags can be nested now
-- md5 hash function replace with crc32 for speed optimization
-- file order for exted resource inverted
-- clear_compiled_tpl and clear_cache_all will not touch .svn folder any longer
-
-03/27/2009
-- added extend resource
-
-03/26/2009
-- fixed parser not to create error on `word` in double quoted strings
-- allow PHP array(...)
-- implemented $smarty.block.name.parent to access parent block content
-- fixed smarty.class
-
-
-03/23/2009
-- fixed {foreachelse} and {forelse} tags
-
-03/22/2009
-- fixed possible sources for notice errors
-- rearrange SVN into distribution and development folders
-
-03/21/2009
-- fixed exceptions in function plugins
-- fixed notice error in Smarty.class.php
-- allow chained objects to span multiple lines
-- fixed error in modifiers
-
-03/20/2009
-- moved /plugins folder into /libs folder
-- added noprint modifier
-- autoappend a directory separator if the xxxxx_dir definition have no trailing one
-
-03/19/2009
-- allow array definition as modifier parameter
-- changed modifier to use multi byte string funktions.
-
-03/17/2009
-- bugfix
-
-03/15/2009
-- added {include_php} tag for BC
-- removed @ error suppression
-- bugfix fetch did always repeat output of first call when calling same template several times
-- PHPunit tests extended
-
-03/13/2009
-- changed block syntax to be Smarty like {block:titel} -> {block name=titel}
-- compiling of {block} and {extend} tags rewriten for better performance
-- added special Smarty variable block ($smarty.block.foo} returns the parent definition of block foo
-- optimization of {block} tag compiled code.
-- fixed problem with escaped double quotes in double quoted strings
-
-03/12/2009
-- added support of template inheritance by {extend } and {block } tags.
-- bugfix comments within literals
-- added scope attribuie to {include} tag
-
-03/10/2009
-- couple of bugfixes and improvements
-- PHPunit tests extended
-
-03/09/2009
-- added support for global template vars. {assign_global...} $smarty->assign_global(...)
-- added direct_access_security
-- PHPunit tests extended
-- added missing {if} tag conditions like "is div by" etc.
-
-03/08/2009
-- splitted up the Compiler class to make it easier to use a coustom compiler
-- made default plugins_dir relative to Smarty root and not current working directory
-- some changes to make the lexer parser better configurable
-- implemented {section} tag for Smarty2 BC
-
-03/07/2009
-- fixed problem with comment tags
-- fixed problem with #xxxx in double quoted string
-- new {while} tag implemented
-- made lexer and paser class configurable as $smarty property
-- Smarty method get_template_vars implemented
-- Smarty method get_registered_object implemented
-- Smarty method trigger_error implemented
-- PHPunit tests extended
-
-03/06/2009
-- final changes on config variable handling
-- parser change - unquoted strings will by be converted into single quoted strings
-- PHPunit tests extended
-- some code cleanup
-- fixed problem on catenate strings with expression
-- update of count_words modifier
-- bugfix on comment tags
-
-
-03/05/2009
-- bugfix on <?xml...> tag with caching enabled
-- changes on exception handling (by Monte)
-
-03/04/2009
-- added support for config variables
-- bugfix on <?xml...> tag
-
-03/02/2009
-- fixed unqouted strings within modifier parameter
-- bugfix parsing of mofifier parameter
-
-03/01/2009
-- modifier chaining works now as in Smarty2
-
-02/28/2009
-- changed handling of unqouted strings
-
-02/26/2009
-- bugfix
-- changed $smarty.capture.foo to be global for Smarty2 BC.
-
-02/24/2009
-- bugfix {php} {/php} tags for backward compatibility
-- bugfix for expressions on arrays
-- fixed usage of "null" value
-- added $smarty.foreach.foo.first and $smarty.foreach.foo.last
-
-02/06/2009
-- bugfix for request variables without index for example $smarty.get
-- experimental solution for variable functions in static class
-
-02/05/2009
-- update of popup plugin
-- added config variables to template parser (load config functions still missing)
-- parser bugfix for empty quoted strings
-
-02/03/2009
-- allow array of objects as static class variabales.
-- use htmlentities at source output at template errors.
-
-02/02/2009
-- changed search order on modifiers to look at plugins folder first
-- parser bug fix for modifier on array elements $foo.bar|modifier
-- parser bug fix on single quoted srings
-- internal: splitted up compiler plugin files
-
-02/01/2009
-- allow method chaining on static classes
-- special Smarty variables $smarty.... implemented
-- added {PHP} {/PHP} tags for backward compatibility
-
-01/31/2009
-- added {math} plugin for Smarty2 BC
-- added template_exists method
-- changed Smarty3 method enable_security() to enableSecurity() to follow camelCase standards
-
-01/30/2009
-- bugfix in single quoted strings
-- changed syntax for variable property access from $foo:property to $foo@property because of ambiguous syntax at modifiers
-
-01/29/2009
-- syntax for array definition changed from (1,2,3) to [1,2,3] to remove ambiguous syntax
-- allow {for $foo in [1,2,3]} syntax
-- bugfix in double quoted strings
-- allow <?xml...?> tags in template even if short_tags are enabled
-
-01/28/2009
-- fixed '!==' if condition.
-
-01/28/2009
-- added support of {strip} {/strip} tag.
-
-01/27/2009
-- bug fix on backticks in double quoted strings at objects
-
-01/25/2009
-- Smarty2 modfiers added to SVN
-
-01/25/2009
-- bugfix allow arrays at object properties in Smarty syntax
-- the template object is now passed as additional parameter at plugin calls
-- clear_compiled_tpl method completed
-
-01/20/2009
-- access to class constants implemented ( class::CONSTANT )
-- access to static class variables implemented ( class::$variable )
-- call of static class methods implemented ( class::method() )
-
-01/16/2009
-- reallow leading _ in variable names {$_var}
-- allow array of objects {$array.index->method()} syntax
-- finished work on clear_cache and clear_cache_all methods
-
-01/11/2009
-- added support of {literal} tag
-- added support of {ldelim} and {rdelim} tags
-- make code compatible to run with E_STRICT error setting
-
-01/08/2009
-- moved clear_assign and clear_all_assign to internal.templatebase.php
-- added assign_by_ref, append and append_by_ref methods
-
-01/02/2009
-- added load_filter method
-- fished work on filter handling
-- optimization of plugin loading
-
-12/30/2008
-- added compiler support of registered object
-- added backtick support in doubled quoted strings for backward compatibility
-- some minor bug fixes and improvments
-
-12/23/2008
-- fixed problem of not working "not" operator in if-expressions
-- added handling of compiler function plugins
-- finished work on (un)register_compiler_function method
-- finished work on (un)register_modifier method
-- plugin handling from plugins folder changed for modifier plugins
- deleted - internal.modifier.php
-- added modifier chaining to parser
-
-12/17/2008
-- finished (un)register_function method
-- finished (un)register_block method
-- added security checking for PHP functions in PHP templates
-- plugin handling from plugins folder rewritten
- new - internal.plugin_handler.php
- deleted - internal.block.php
- deleted - internal.function.php
-- removed plugin checking from security handler
-
-12/16/2008
-
-- new start of this change_log file
diff --git a/vendor/smarty/smarty/composer.json b/vendor/smarty/smarty/composer.json
index 28c392c95..889cb9444 100644
--- a/vendor/smarty/smarty/composer.json
+++ b/vendor/smarty/smarty/composer.json
@@ -40,6 +40,7 @@
}
},
"require-dev": {
- "phpunit/phpunit": "6.4.1"
+ "phpunit/phpunit": "6.4.1",
+ "smarty/smarty-lexer": "^3.1"
}
}
diff --git a/vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php b/vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php
index 9c8855c31..71fe9d3f1 100644
--- a/vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php
+++ b/vendor/smarty/smarty/demo/plugins/cacheresource.memcache.php
@@ -42,18 +42,12 @@ class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore
*/
protected function read(array $keys)
{
- $_keys = $lookup = array();
- foreach ($keys as $k) {
- $_k = sha1($k);
- $_keys[] = $_k;
- $lookup[ $_k ] = $k;
- }
- $_res = array();
- $res = $this->memcache->get($_keys);
- foreach ($res as $k => $v) {
- $_res[ $lookup[ $k ] ] = $v;
+ $res = array();
+ foreach ($keys as $key) {
+ $k = sha1($key);
+ $res[$key] = $this->memcache->get($k);
}
- return $_res;
+ return $res;
}
/**
@@ -68,7 +62,11 @@ class Smarty_CacheResource_Memcache extends Smarty_CacheResource_KeyValueStore
{
foreach ($keys as $k => $v) {
$k = sha1($k);
- $this->memcache->set($k, $v, 0, $expire);
+ if (class_exists('Memcached')) {
+ $this->memcache->set($k, $v, $expire);
+ } else {
+ $this->memcache->set($k, $v, 0, $expire);
+ }
}
return true;
}
diff --git a/vendor/smarty/smarty/error_reporting.ini b/vendor/smarty/smarty/error_reporting.ini
deleted file mode 100644
index 496bbf5c2..000000000
--- a/vendor/smarty/smarty/error_reporting.ini
+++ /dev/null
@@ -1 +0,0 @@
-error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT \ No newline at end of file
diff --git a/vendor/smarty/smarty/libs/Smarty.class.php b/vendor/smarty/smarty/libs/Smarty.class.php
index 44b77a856..9e0ca7670 100644
--- a/vendor/smarty/smarty/libs/Smarty.class.php
+++ b/vendor/smarty/smarty/libs/Smarty.class.php
@@ -112,7 +112,7 @@ class Smarty extends Smarty_Internal_TemplateBase
/**
* smarty version
*/
- const SMARTY_VERSION = '3.1.34-dev-7';
+ const SMARTY_VERSION = '3.1.36';
/**
* define variable scopes
*/
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_assign.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_assign.php
index 4b9984888..1f0ab9b7d 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_assign.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_assign.php
@@ -83,7 +83,7 @@ class Smarty_Internal_Compile_Assign extends Smarty_Internal_CompileBase
if (isset($parameter[ 'smarty_internal_index' ])) {
$output =
"<?php \$_tmp_array = isset(\$_smarty_tpl->tpl_vars[{$_var}]) ? \$_smarty_tpl->tpl_vars[{$_var}]->value : array();\n";
- $output .= "if (!is_array(\$_tmp_array) || \$_tmp_array instanceof ArrayAccess) {\n";
+ $output .= "if (!(is_array(\$_tmp_array) || \$_tmp_array instanceof ArrayAccess)) {\n";
$output .= "settype(\$_tmp_array, 'array');\n";
$output .= "}\n";
$output .= "\$_tmp_array{$parameter['smarty_internal_index']} = {$_attr['value']};\n";
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_foreach.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_foreach.php
index 78b45ea7e..a68da5409 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_foreach.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_compile_foreach.php
@@ -219,8 +219,9 @@ class Smarty_Internal_Compile_Foreach extends Smarty_Internal_Compile_Private_Fo
if (isset($itemAttr[ 'index' ])) {
$output .= "{$itemVar}->index = -1;\n";
}
- $output .= "if (\$_from !== null) {\n";
- $output .= "foreach (\$_from as {$keyTerm}{$itemVar}->value) {\n";
+ $output .= "{$itemVar}->do_else = true;\n";
+ $output .= "if (\$_from !== null) foreach (\$_from as {$keyTerm}{$itemVar}->value) {\n";
+ $output .= "{$itemVar}->do_else = false;\n";
if (isset($attributes[ 'key' ]) && isset($itemAttr[ 'key' ])) {
$output .= "\$_smarty_tpl->tpl_vars['{$key}']->value = {$itemVar}->key;\n";
}
@@ -296,7 +297,7 @@ class Smarty_Internal_Compile_Foreachelse extends Smarty_Internal_CompileBase
if ($restore === 2) {
$output .= "{$itemVar} = {$local}saved;\n";
}
- $output .= "}\n} else {\n?>";
+ $output .= "}\nif ({$itemVar}->do_else) {\n?>";
return $output;
}
}
@@ -332,9 +333,6 @@ class Smarty_Internal_Compile_Foreachclose extends Smarty_Internal_CompileBase
if ($restore === 2) {
$output .= "{$itemVar} = {$local}saved;\n";
}
- if ($restore > 0) {
- $output .= "}\n";
- }
$output .= "}\n";
/* @var Smarty_Internal_Compile_Foreach $foreachCompiler */
$foreachCompiler = $compiler->getTagCompiler('foreach');
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_method_registerplugin.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_method_registerplugin.php
index f987f6da5..ed18d84bb 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_method_registerplugin.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_method_registerplugin.php
@@ -48,6 +48,8 @@ class Smarty_Internal_Method_RegisterPlugin
throw new SmartyException("Plugin tag '{$name}' already registered");
} elseif (!is_callable($callback)) {
throw new SmartyException("Plugin '{$name}' not callable");
+ } elseif ($cacheable && $cache_attr) {
+ throw new SmartyException("Cannot set caching attributes for plugin '{$name}' when it is cacheable.");
} else {
$smarty->registered_plugins[ $type ][ $name ] = array($callback, (bool)$cacheable, (array)$cache_attr);
}
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_template.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_template.php
index 8e716bd5d..477232ef8 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_template.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_template.php
@@ -85,45 +85,85 @@ class Smarty_Internal_ParseTree_Template extends Smarty_Internal_ParseTree
public function to_smarty_php(Smarty_Internal_Templateparser $parser)
{
$code = '';
- for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key++) {
- if ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Text) {
- $subtree = $this->subtrees[ $key ]->to_smarty_php($parser);
- while ($key + 1 < $cnt && ($this->subtrees[ $key + 1 ] instanceof Smarty_Internal_ParseTree_Text ||
- $this->subtrees[ $key + 1 ]->data === '')) {
- $key++;
- if ($this->subtrees[ $key ]->data === '') {
- continue;
- }
- $subtree .= $this->subtrees[ $key ]->to_smarty_php($parser);
- }
- if ($subtree === '') {
- continue;
- }
- $code .= preg_replace(
- '/((<%)|(%>)|(<\?php)|(<\?)|(\?>)|(<\/?script))/',
- "<?php echo '\$1'; ?>\n",
- $subtree
- );
- continue;
- }
- if ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Tag) {
- $subtree = $this->subtrees[ $key ]->to_smarty_php($parser);
- while ($key + 1 < $cnt && ($this->subtrees[ $key + 1 ] instanceof Smarty_Internal_ParseTree_Tag ||
- $this->subtrees[ $key + 1 ]->data === '')) {
- $key++;
- if ($this->subtrees[ $key ]->data === '') {
- continue;
- }
- $subtree = $parser->compiler->appendCode($subtree, $this->subtrees[ $key ]->to_smarty_php($parser));
- }
- if ($subtree === '') {
- continue;
- }
- $code .= $subtree;
- continue;
- }
- $code .= $this->subtrees[ $key ]->to_smarty_php($parser);
+
+ foreach ($this->getChunkedSubtrees() as $chunk) {
+ $text = '';
+ switch ($chunk['mode']) {
+ case 'textstripped':
+ foreach ($chunk['subtrees'] as $subtree) {
+ $text .= $subtree->to_smarty_php($parser);
+ }
+ $code .= preg_replace(
+ '/((<%)|(%>)|(<\?php)|(<\?)|(\?>)|(<\/?script))/',
+ "<?php echo '\$1'; ?>\n",
+ $parser->compiler->processText($text)
+ );
+ break;
+ case 'text':
+ foreach ($chunk['subtrees'] as $subtree) {
+ $text .= $subtree->to_smarty_php($parser);
+ }
+ $code .= preg_replace(
+ '/((<%)|(%>)|(<\?php)|(<\?)|(\?>)|(<\/?script))/',
+ "<?php echo '\$1'; ?>\n",
+ $text
+ );
+ break;
+ case 'tag':
+ foreach ($chunk['subtrees'] as $subtree) {
+ $text = $parser->compiler->appendCode($text, $subtree->to_smarty_php($parser));
+ }
+ $code .= $text;
+ break;
+ default:
+ foreach ($chunk['subtrees'] as $subtree) {
+ $text = $subtree->to_smarty_php($parser);
+ }
+ $code .= $text;
+
+ }
}
return $code;
}
+
+ private function getChunkedSubtrees() {
+ $chunks = [];
+ $currentMode = null;
+ $currentChunk = [];
+ for ($key = 0, $cnt = count($this->subtrees); $key < $cnt; $key++) {
+
+ if ($this->subtrees[ $key ]->data === '' && in_array($currentMode, ['textstripped', 'text', 'tag'])) {
+ continue;
+ }
+
+ if ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Text
+ && $this->subtrees[ $key ]->isToBeStripped()) {
+ $newMode = 'textstripped';
+ } elseif ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Text) {
+ $newMode = 'text';
+ } elseif ($this->subtrees[ $key ] instanceof Smarty_Internal_ParseTree_Tag) {
+ $newMode = 'tag';
+ } else {
+ $newMode = 'other';
+ }
+
+ if ($newMode == $currentMode) {
+ $currentChunk[] = $this->subtrees[ $key ];
+ } else {
+ $chunks[] = [
+ 'mode' => $currentMode,
+ 'subtrees' => $currentChunk
+ ];
+ $currentMode = $newMode;
+ $currentChunk = [$this->subtrees[ $key ]];
+ }
+ }
+ if ($currentMode && $currentChunk) {
+ $chunks[] = [
+ 'mode' => $currentMode,
+ 'subtrees' => $currentChunk
+ ];
+ }
+ return $chunks;
+ }
}
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_text.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_text.php
index b3100fa09..399e84941 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_text.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_parsetree_text.php
@@ -16,14 +16,31 @@
*/
class Smarty_Internal_ParseTree_Text extends Smarty_Internal_ParseTree
{
- /**
- * Create template text buffer
- *
- * @param string $data text
- */
- public function __construct($data)
+
+ /**
+ * Wether this section should be stripped on output to smarty php
+ * @var bool
+ */
+ private $toBeStripped = false;
+
+ /**
+ * Create template text buffer
+ *
+ * @param string $data text
+ * @param bool $toBeStripped wether this section should be stripped on output to smarty php
+ */
+ public function __construct($data, $toBeStripped = false)
{
$this->data = $data;
+ $this->toBeStripped = $toBeStripped;
+ }
+
+ /**
+ * Wether this section should be stripped on output to smarty php
+ * @return bool
+ */
+ public function isToBeStripped() {
+ return $this->toBeStripped;
}
/**
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php
index 4476f120f..200c11bb5 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php
@@ -265,7 +265,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data
*
* @param string $type plugin type
* @param string $name name of template tag
- * @param callback $callback PHP callback to register
+ * @param callable $callback PHP callback to register
* @param bool $cacheable if true (default) this function is cache able
* @param mixed $cache_attr caching attributes if any
*
@@ -301,7 +301,7 @@ abstract class Smarty_Internal_TemplateBase extends Smarty_Internal_Data
* @link http://www.smarty.net/docs/en/api.register.filter.tpl
*
* @param string $type filter type
- * @param callback $callback
+ * @param callable $callback
* @param string|null $name optional filter name
*
* @return \Smarty|\Smarty_Internal_Template
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php
index a72f3a4ab..3cc957dec 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatecompilerbase.php
@@ -621,22 +621,18 @@ abstract class Smarty_Internal_TemplateCompilerBase
|| strcasecmp($name, 'array') === 0 || is_callable($name)
) {
$func_name = strtolower($name);
- $par = implode(',', $parameter);
- $parHasFuction = strpos($par, '(') !== false;
+
if ($func_name === 'isset') {
if (count($parameter) === 0) {
$this->trigger_template_error('Illegal number of parameter in "isset()"');
}
- if ($parHasFuction) {
- $pa = array();
- foreach ($parameter as $p) {
- $pa[] = (strpos($p, '(') === false) ? ('isset(' . $p . ')') : ('(' . $p . ' !== null )');
- }
- return '(' . implode(' && ', $pa) . ')';
- } else {
- $isset_par = str_replace("')->value", "',null,true,false)->value", $par);
- }
- return $name . '(' . $isset_par . ')';
+
+ $pa = array();
+ foreach ($parameter as $p) {
+ $pa[] = $this->syntaxMatchesVariable($p) ? 'isset(' . $p . ')' : '(' . $p . ' !== null )';
+ }
+ return '(' . implode(' && ', $pa) . ')';
+
} elseif (in_array(
$func_name,
array(
@@ -653,7 +649,7 @@ abstract class Smarty_Internal_TemplateCompilerBase
$this->trigger_template_error("Illegal number of parameter in '{$func_name()}'");
}
if ($func_name === 'empty') {
- if ($parHasFuction && version_compare(PHP_VERSION, '5.5.0', '<')) {
+ if (!$this->syntaxMatchesVariable($parameter[0]) && version_compare(PHP_VERSION, '5.5.0', '<')) {
return '(' . $parameter[ 0 ] . ' === false )';
} else {
return $func_name . '(' .
@@ -671,74 +667,82 @@ abstract class Smarty_Internal_TemplateCompilerBase
}
}
+ /**
+ * Determines whether the passed string represents a valid (PHP) variable.
+ * This is important, because `isset()` only works on variables and `empty()` can only be passed
+ * a variable prior to php5.5
+ * @param $string
+ * @return bool
+ */
+ private function syntaxMatchesVariable($string) {
+ static $regex_pattern = '/^\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*((->)[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*|\[.*]*\])*$/';
+ return 1 === preg_match($regex_pattern, trim($string));
+ }
+
/**
- * This method is called from parser to process a text content section
+ * This method is called from parser to process a text content section if strip is enabled
* - remove text from inheritance child templates as they may generate output
- * - strip text if strip is enabled
*
* @param string $text
*
- * @return null|\Smarty_Internal_ParseTree_Text
+ * @return string
*/
public function processText($text)
{
- if ((string)$text != '') {
- $store = array();
- $_store = 0;
- if ($this->parser->strip) {
- if (strpos($text, '<') !== false) {
- // capture html elements not to be messed with
- $_offset = 0;
- if (preg_match_all(
- '#(<script[^>]*>.*?</script[^>]*>)|(<textarea[^>]*>.*?</textarea[^>]*>)|(<pre[^>]*>.*?</pre[^>]*>)#is',
- $text,
- $matches,
- PREG_OFFSET_CAPTURE | PREG_SET_ORDER
- )
- ) {
- foreach ($matches as $match) {
- $store[] = $match[ 0 ][ 0 ];
- $_length = strlen($match[ 0 ][ 0 ]);
- $replace = '@!@SMARTY:' . $_store . ':SMARTY@!@';
- $text = substr_replace($text, $replace, $match[ 0 ][ 1 ] - $_offset, $_length);
- $_offset += $_length - strlen($replace);
- $_store++;
- }
- }
- $expressions = array(// replace multiple spaces between tags by a single space
- '#(:SMARTY@!@|>)[\040\011]+(?=@!@SMARTY:|<)#s' => '\1 \2',
- // remove newline between tags
- '#(:SMARTY@!@|>)[\040\011]*[\n]\s*(?=@!@SMARTY:|<)#s' => '\1\2',
- // remove multiple spaces between attributes (but not in attribute values!)
- '#(([a-z0-9]\s*=\s*("[^"]*?")|(\'[^\']*?\'))|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \5',
- '#>[\040\011]+$#Ss' => '> ',
- '#>[\040\011]*[\n]\s*$#Ss' => '>',
- $this->stripRegEx => '',
- );
- $text = preg_replace(array_keys($expressions), array_values($expressions), $text);
- $_offset = 0;
- if (preg_match_all(
- '#@!@SMARTY:([0-9]+):SMARTY@!@#is',
- $text,
- $matches,
- PREG_OFFSET_CAPTURE | PREG_SET_ORDER
- )
- ) {
- foreach ($matches as $match) {
- $_length = strlen($match[ 0 ][ 0 ]);
- $replace = $store[ $match[ 1 ][ 0 ] ];
- $text = substr_replace($text, $replace, $match[ 0 ][ 1 ] + $_offset, $_length);
- $_offset += strlen($replace) - $_length;
- $_store++;
- }
- }
- } else {
- $text = preg_replace($this->stripRegEx, '', $text);
- }
+
+ if (strpos($text, '<') === false) {
+ return preg_replace($this->stripRegEx, '', $text);
+ }
+
+ $store = array();
+ $_store = 0;
+
+ // capture html elements not to be messed with
+ $_offset = 0;
+ if (preg_match_all(
+ '#(<script[^>]*>.*?</script[^>]*>)|(<textarea[^>]*>.*?</textarea[^>]*>)|(<pre[^>]*>.*?</pre[^>]*>)#is',
+ $text,
+ $matches,
+ PREG_OFFSET_CAPTURE | PREG_SET_ORDER
+ )
+ ) {
+ foreach ($matches as $match) {
+ $store[] = $match[ 0 ][ 0 ];
+ $_length = strlen($match[ 0 ][ 0 ]);
+ $replace = '@!@SMARTY:' . $_store . ':SMARTY@!@';
+ $text = substr_replace($text, $replace, $match[ 0 ][ 1 ] - $_offset, $_length);
+ $_offset += $_length - strlen($replace);
+ $_store++;
+ }
+ }
+ $expressions = array(// replace multiple spaces between tags by a single space
+ '#(:SMARTY@!@|>)[\040\011]+(?=@!@SMARTY:|<)#s' => '\1 \2',
+ // remove newline between tags
+ '#(:SMARTY@!@|>)[\040\011]*[\n]\s*(?=@!@SMARTY:|<)#s' => '\1\2',
+ // remove multiple spaces between attributes (but not in attribute values!)
+ '#(([a-z0-9]\s*=\s*("[^"]*?")|(\'[^\']*?\'))|<[a-z0-9_]+)\s+([a-z/>])#is' => '\1 \5',
+ '#>[\040\011]+$#Ss' => '> ',
+ '#>[\040\011]*[\n]\s*$#Ss' => '>',
+ $this->stripRegEx => '',
+ );
+ $text = preg_replace(array_keys($expressions), array_values($expressions), $text);
+ $_offset = 0;
+ if (preg_match_all(
+ '#@!@SMARTY:([0-9]+):SMARTY@!@#is',
+ $text,
+ $matches,
+ PREG_OFFSET_CAPTURE | PREG_SET_ORDER
+ )
+ ) {
+ foreach ($matches as $match) {
+ $_length = strlen($match[ 0 ][ 0 ]);
+ $replace = $store[ $match[ 1 ][ 0 ] ];
+ $text = substr_replace($text, $replace, $match[ 0 ][ 1 ] + $_offset, $_length);
+ $_offset += strlen($replace) - $_length;
+ $_store++;
}
- return new Smarty_Internal_ParseTree_Text($text);
}
- return null;
+ return $text;
}
/**
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatelexer.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatelexer.php
index d29c39b56..867a31d26 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatelexer.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatelexer.php
@@ -376,7 +376,7 @@ class Smarty_Internal_Templatelexer
continue;
}
} else {
- throw new Exception('Unexpected input at line' . $this->line .
+ throw new Exception('Unexpected input at line ' . $this->line .
': ' . $this->data[ $this->counter ]);
}
break;
@@ -497,7 +497,7 @@ class Smarty_Internal_Templatelexer
continue;
}
} else {
- throw new Exception('Unexpected input at line' . $this->line .
+ throw new Exception('Unexpected input at line ' . $this->line .
': ' . $this->data[ $this->counter ]);
}
break;
@@ -635,7 +635,7 @@ class Smarty_Internal_Templatelexer
continue;
}
} else {
- throw new Exception('Unexpected input at line' . $this->line .
+ throw new Exception('Unexpected input at line ' . $this->line .
': ' . $this->data[ $this->counter ]);
}
break;
@@ -927,7 +927,7 @@ class Smarty_Internal_Templatelexer
continue;
}
} else {
- throw new Exception('Unexpected input at line' . $this->line .
+ throw new Exception('Unexpected input at line ' . $this->line .
': ' . $this->data[ $this->counter ]);
}
break;
@@ -1014,7 +1014,7 @@ class Smarty_Internal_Templatelexer
continue;
}
} else {
- throw new Exception('Unexpected input at line' . $this->line .
+ throw new Exception('Unexpected input at line ' . $this->line .
': ' . $this->data[ $this->counter ]);
}
break;
@@ -1092,4 +1092,4 @@ class Smarty_Internal_Templatelexer
}
}
- \ No newline at end of file
+
diff --git a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templateparser.php b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templateparser.php
index a26e7a147..aaeae63b7 100644
--- a/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templateparser.php
+++ b/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templateparser.php
@@ -2169,8 +2169,13 @@ class Smarty_Internal_Templateparser
// line 255 "../smarty/lexer/smarty_internal_templateparser.y"
public function yy_r2()
{
- $this->current_buffer->append_subtree($this,
- $this->compiler->processText($this->yystack[ $this->yyidx + 0 ]->minor));
+ $text = $this->yystack[ $this->yyidx + 0 ]->minor;
+
+ if ((string)$text == '') {
+ $this->current_buffer->append_subtree($this, null);
+ }
+
+ $this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Text($text, $this->strip));
}
// line 259 "../smarty/lexer/smarty_internal_templateparser.y"
@@ -2252,7 +2257,7 @@ class Smarty_Internal_Templateparser
-$this->compiler->getRdelLength()));
if ($tag == 'strip') {
$this->strip = true;
- $this->_retvalue = null;;
+ $this->_retvalue = null;
} else {
if (defined($tag)) {
if ($this->security) {