aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml21
-rw-r--r--Zotlabs/Lib/Activity.php12
-rw-r--r--Zotlabs/Lib/Apps.php1
-rw-r--r--Zotlabs/Module/Connect.php17
-rw-r--r--Zotlabs/Update/_1237.php25
-rw-r--r--app/premium_channel.apd6
-rwxr-xr-xboot.php2
-rw-r--r--composer.lock167
-rw-r--r--include/channel.php22
-rw-r--r--tests/unit/Photo/PhotoGdTest.php4
-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+white-3x2.jpgbin0 -> 407 bytes
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/assets/black+white-60x40.gifbin0 -> 145 bytes
-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/conf/chrome.js (renamed from vendor/blueimp/jquery-file-upload/wdio/chrome.js)2
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/conf/edge.js23
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/conf/firefox.js (renamed from vendor/blueimp/jquery-file-upload/wdio/firefox.js)0
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/conf/internet-explorer.js (renamed from vendor/blueimp/jquery-file-upload/wdio/ie.js)0
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/conf/safari.js (renamed from vendor/blueimp/jquery-file-upload/wdio/safari.js)0
-rw-r--r--vendor/blueimp/jquery-file-upload/wdio/hooks/index.js9
-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/.php_cs.dist12
-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/phpstan.neon2
-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/Property/VCard/PhoneNumber.php30
-rw-r--r--vendor/sabre/vobject/lib/Recur/EventIterator.php2
-rw-r--r--vendor/sabre/vobject/lib/Recur/NoInstancesException.php2
-rw-r--r--vendor/sabre/vobject/lib/Recur/RDateIterator.php5
-rw-r--r--vendor/sabre/vobject/lib/Recur/RRuleIterator.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/sabre/xml/phpstan.neon6
-rw-r--r--vendor/simplepie/simplepie/CHANGELOG.md134
-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/CHANGELOG.md (renamed from vendor/smarty/smarty/change_log.txt)135
-rw-r--r--vendor/smarty/smarty/README.md6
-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/lexer/smarty_internal_configfilelexer.plex318
-rw-r--r--vendor/smarty/smarty/lexer/smarty_internal_configfileparser.y346
-rw-r--r--vendor/smarty/smarty/lexer/smarty_internal_templatelexer.plex696
-rw-r--r--vendor/smarty/smarty/lexer/smarty_internal_templateparser.y1271
-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
-rw-r--r--view/js/autocomplete.js8
-rw-r--r--view/theme/redbasic/css/style.css23
-rw-r--r--view/theme/redbasic/php/style.php9
469 files changed, 7369 insertions, 6827 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 40e219551..8c06e3151 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,8 +1,7 @@
# Select image from https://hub.docker.com/_/php/
-#image: php:7.2
+#image: php:7.3
# Use a prepared Hubzilla image to optimise pipeline duration
-image: registry.gitlab.com/dawnbreak/hubzilla/core:php7.2
-
+image: registry.gitlab.com/dawnbreak/hubzilla/core:php7.3
stages:
- test
@@ -82,23 +81,23 @@ before_script:
- tests/results/
-# PHP7.2 with MySQL 5.7
-php7.2_mysql5.7:
+# PHP7.3 with MySQL 5.7
+php7.3_mysql5.7:
<<: *job_definition_mysql
services:
- mysql:5.7
-# PHP7.2 with MySQL 8 (latest)
-php7.2_mysql8:
+# PHP7.3 with MySQL 8 (latest)
+php7.3_mysql8:
<<: *job_definition_mysql
services:
- name: mysql:8
command: ["--default-authentication-plugin=mysql_native_password"]
-# PHP7.2 with MariaDB 10.2
-php7.2_mariadb10.2:
+# PHP7.3 with MariaDB 10.2
+php7.3_mariadb10.2:
<<: *job_definition_mysql
services:
- name: mariadb:10.2
@@ -114,8 +113,8 @@ php7.3_mariadb10.3:
alias: mysql
-# PHP7.2 with PostgreSQL latest (11)
-php7.2_postgres11:
+# PHP7.3 with PostgreSQL latest (11)
+php7.3_postgres11:
<<: *job_definition_postgres
artifacts: *artifacts_template
diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php
index 5c72a1175..3287dd6fb 100644
--- a/Zotlabs/Lib/Activity.php
+++ b/Zotlabs/Lib/Activity.php
@@ -346,6 +346,7 @@ class Activity {
$ret['id'] = ((strpos($i['mid'],'http') === 0) ? $i['mid'] : z_root() . '/item/' . urlencode($i['mid']));
+ $ret['diaspora:guid'] = $i['uuid'];
if($i['title'])
$ret['name'] = $i['title'];
@@ -1597,7 +1598,7 @@ class Activity {
// sort function width decreasing
- static function as_vid_sort($a,$b) {
+ static function vid_sort($a,$b) {
if($a['width'] === $b['width'])
return 0;
return (($a['width'] > $b['width']) ? -1 : 1);
@@ -1662,6 +1663,7 @@ class Activity {
$s['aid'] = $channel['channel_account_id'];
$s['uid'] = $channel['channel_id'];
$s['mid'] = urldecode($act->obj['id']);
+ $s['uuid'] = $act->obj['diaspora:guid'];
$s['plink'] = urldecode($act->obj['id']);
@@ -1767,7 +1769,7 @@ class Activity {
}
}
if($mps) {
- usort($mps,'as_vid_sort');
+ usort($mps,[ __CLASS__, 'vid_sort' ]);
foreach($mps as $m) {
if(intval($m['width']) < 500) {
$s['body'] .= "\n\n" . '[video]' . $m['href'] . '[/video]';
@@ -1953,6 +1955,7 @@ class Activity {
self::actor_store($act->actor['id'],$act->actor);
$s['mid'] = $act->obj['id'];
+ $s['uuid'] = $act->obj['diaspora:guid'];
$s['parent_mid'] = $act->parent_id;
if($act->data['published']) {
@@ -2400,11 +2403,6 @@ class Activity {
$item['aid'] = $channel['channel_account_id'];
$item['uid'] = $channel['channel_id'];
- $s['uuid'] = '';
-
- // Friendica sends the diaspora guid in a nonstandard field via AP
- if($act->obj['diaspora:guid'])
- $s['uuid'] = $act->obj['diaspora:guid'];
if(! ( $item['author_xchan'] && $item['owner_xchan'])) {
logger('owner or author missing.');
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index d65eed14f..f11bb9628 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -372,7 +372,6 @@ class Apps {
'OAuth2 Apps Manager' => t('OAuth2 Apps Manager'),
'PDL Editor' => t('PDL Editor'),
'Permission Categories' => t('Permission Categories'),
- 'Premium Channel' => t('Premium Channel'),
'Public Stream' => t('Public Stream'),
'My Chatrooms' => t('My Chatrooms'),
'Channel Export' => t('Channel Export')
diff --git a/Zotlabs/Module/Connect.php b/Zotlabs/Module/Connect.php
index 62d3af840..31da42035 100644
--- a/Zotlabs/Module/Connect.php
+++ b/Zotlabs/Module/Connect.php
@@ -28,10 +28,6 @@ class Connect extends Controller {
$channel_id = App::$data['channel']['channel_id'];
- if(! Apps::system_app_installed($channel_id, 'Premium Channel')) {
- return;
- }
-
profile_load($which,'');
}
@@ -42,10 +38,6 @@ class Connect extends Controller {
$channel_id = App::$data['channel']['channel_id'];
- if(! Apps::system_app_installed($channel_id, 'Premium Channel')) {
- return;
- }
-
$edit = ((local_channel() && (local_channel() == $channel_id)) ? true : false);
if($edit) {
@@ -97,15 +89,6 @@ class Connect extends Controller {
$channel_id = App::$data['channel']['channel_id'];
- if(! Apps::system_app_installed($channel_id, 'Premium Channel')) {
- //Do not display any associated widgets at this point
- App::$pdl = '';
-
- $o = '<b>' . t('Premium Channel App') . ' (' . t('Not Installed') . '):</b><br>';
- $o .= t('Allows you to set restrictions and terms on those that connect with your channel');
- return $o;
- }
-
$edit = ((local_channel() && (local_channel() == $channel_id)) ? true : false);
$text = get_pconfig($channel_id,'system','selltext');
diff --git a/Zotlabs/Update/_1237.php b/Zotlabs/Update/_1237.php
new file mode 100644
index 000000000..6c998ba4f
--- /dev/null
+++ b/Zotlabs/Update/_1237.php
@@ -0,0 +1,25 @@
+<?php
+
+namespace Zotlabs\Update;
+
+class _1237 {
+
+ function run() {
+
+ q("START TRANSACTION");
+
+ $r = q("DELETE FROM app WHERE app_name = '%s'",
+ dbesc('Premium Channel')
+ );
+
+ if($r) {
+ q("COMMIT");
+ return UPDATE_SUCCESS;
+ }
+
+ q("ROLLBACK");
+ return UPDATE_FAILED;
+
+ }
+
+}
diff --git a/app/premium_channel.apd b/app/premium_channel.apd
deleted file mode 100644
index 9764051d1..000000000
--- a/app/premium_channel.apd
+++ /dev/null
@@ -1,6 +0,0 @@
-version: 2
-url: $baseurl/connect/$nick
-requires: local_channel
-name: Premium Channel
-photo: icon:check-circle-o
-categories: Networking
diff --git a/boot.php b/boot.php
index c574b84fb..b02a2a84a 100755
--- a/boot.php
+++ b/boot.php
@@ -53,7 +53,7 @@ define ( 'PLATFORM_NAME', 'hubzilla' );
define ( 'STD_VERSION', '4.7.6' );
define ( 'ZOT_REVISION', '6.0a' );
-define ( 'DB_UPDATE_VERSION', 1236 );
+define ( 'DB_UPDATE_VERSION', 1237 );
define ( 'PROJECT_BASE', __DIR__ );
diff --git a/composer.lock b/composer.lock
index 5e2f5932f..cd4209f1d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -8,16 +8,16 @@
"packages": [
{
"name": "blueimp/jquery-file-upload",
- "version": "v10.7.0",
+ "version": "v10.21.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": ""
},
"type": "library",
@@ -59,7 +59,13 @@
"upload",
"widget"
],
- "time": "2020-01-04T05:46:30+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/blueimp",
+ "type": "github"
+ }
+ ],
+ "time": "2020-05-06T06:34:07+00:00"
},
{
"name": "bshaffer/oauth2-server-php",
@@ -346,6 +352,7 @@
"php",
"tags"
],
+ "abandoned": true,
"time": "2016-09-22T15:10:54+00:00"
},
{
@@ -488,16 +495,16 @@
},
{
"name": "psr/log",
- "version": "1.1.2",
+ "version": "1.1.3",
"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": {
@@ -531,20 +538,20 @@
"psr",
"psr-3"
],
- "time": "2019-11-01T11:05:21+00:00"
+ "time": "2020-03-23T09:12:05+00:00"
},
{
"name": "ramsey/uuid",
- "version": "3.9.2",
+ "version": "3.9.3",
"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": {
@@ -618,20 +625,20 @@
"identifier",
"uuid"
],
- "time": "2019-12-17T08:18:51+00:00"
+ "time": "2020-02-21T04:36:14+00:00"
},
{
"name": "sabre/dav",
- "version": "4.0.3",
+ "version": "4.1.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": {
@@ -645,18 +652,20 @@
"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": "*",
@@ -697,28 +706,28 @@
"framework",
"iCalendar"
],
- "time": "2020-01-10T07:52:45+00:00"
+ "time": "2020-03-20T08:55:46+00:00"
},
{
"name": "sabre/event",
- "version": "5.0.3",
+ "version": "5.1.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"
},
"type": "library",
"autoload": {
@@ -757,32 +766,33 @@
"reactor",
"signal"
],
- "time": "2018-03-05T13:55:47+00:00"
+ "time": "2020-01-31T18:52:29+00:00"
},
{
"name": "sabre/http",
- "version": "5.0.5",
+ "version": "5.1.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"
@@ -813,27 +823,28 @@
"keywords": [
"http"
],
- "time": "2019-11-28T19:35:25+00:00"
+ "time": "2020-01-31T20:07:09+00:00"
},
{
"name": "sabre/uri",
- "version": "2.1.3",
+ "version": "2.2.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"
},
"type": "library",
"autoload": {
@@ -863,29 +874,30 @@
"uri",
"url"
],
- "time": "2019-09-09T23:00:25+00:00"
+ "time": "2020-01-31T18:53:43+00:00"
},
{
"name": "sabre/vobject",
- "version": "4.2.1",
+ "version": "4.3.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"
@@ -959,20 +971,20 @@
"xCal",
"xCard"
],
- "time": "2019-12-18T19:29:43+00:00"
+ "time": "2020-01-31T18:50:58+00:00"
},
{
"name": "sabre/xml",
- "version": "2.1.3",
+ "version": "2.2.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": {
@@ -980,11 +992,12 @@
"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"
},
"type": "library",
"autoload": {
@@ -1021,20 +1034,20 @@
"dom",
"xml"
],
- "time": "2019-08-14T15:41:34+00:00"
+ "time": "2020-01-31T18:52:58+00:00"
},
{
"name": "simplepie/simplepie",
- "version": "1.5.4",
+ "version": "1.5.5",
"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": {
@@ -1074,8 +1087,8 @@
"role": "Creator, alumnus developer"
},
{
- "name": "Geoffrey Sneddon",
- "homepage": "http://gsnedders.com/",
+ "name": "Sam Sneddon",
+ "homepage": "https://gsnedders.com/",
"role": "Alumnus developer"
},
{
@@ -1093,30 +1106,31 @@
"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"
},
- "time": "2019-11-23T07:05:15+00:00"
+ "time": "2020-05-01T12:23:14+00:00"
},
{
"name": "smarty/smarty",
- "version": "v3.1.34",
+ "version": "v3.1.36",
"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"
},
"type": "library",
"extra": {
@@ -1152,7 +1166,7 @@
"keywords": [
"templating"
],
- "time": "2019-02-28T06:42:20+00:00"
+ "time": "2020-04-14T14:44:26+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -4692,5 +4706,6 @@
"ext-xml": "*",
"ext-openssl": "*"
},
- "platform-dev": []
+ "platform-dev": [],
+ "plugin-api-version": "1.1.0"
}
diff --git a/include/channel.php b/include/channel.php
index 742d9e3a7..210b6ae91 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -4,6 +4,7 @@
* @brief Channel related functions.
*/
+
use Zotlabs\Access\PermissionRoles;
use Zotlabs\Access\PermissionLimits;
use Zotlabs\Access\Permissions;
@@ -2486,6 +2487,12 @@ function channelx_by_nick($nick) {
$nick = punify($nick);
+ // return a cached copy if there is a cached copy and it's a match
+
+ if (App::$channel && is_array(App::$channel) && array_key_exists('channel_address',App::$channel) && App::$channel['channel_address'] === $nick) {
+ return App::$channel;
+ }
+
$r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_address = '%s' and channel_removed = 0 LIMIT 1",
dbesc($nick)
);
@@ -2500,6 +2507,11 @@ function channelx_by_nick($nick) {
* @return array|boolean false if channel ID not found, otherwise the channel array
*/
function channelx_by_hash($hash) {
+
+ if (App::$channel && is_array(App::$channel) && array_key_exists('channel_hash',App::$channel) && App::$channel['channel_hash'] === $hash) {
+ return App::$channel;
+ }
+
$r = q("SELECT * FROM channel left join xchan on channel_hash = xchan_hash WHERE channel_hash = '%s' and channel_removed = 0 LIMIT 1",
dbesc($hash)
);
@@ -2515,6 +2527,11 @@ function channelx_by_hash($hash) {
* @return array|boolean false if channel ID not found, otherwise the channel array
*/
function channelx_by_portid($hash) {
+
+ if (App::$channel && is_array(App::$channel) && array_key_exists('channel_portable_id',App::$channel) && intval(App::$channel['channel_portable_id']) === intval($hash)) {
+ return App::$channel;
+ }
+
$r = q("SELECT * FROM channel left join xchan on channel_portable_id = xchan_hash WHERE channel_portable_id = '%s' and channel_removed = 0 LIMIT 1",
dbesc($hash)
);
@@ -2529,6 +2546,11 @@ function channelx_by_portid($hash) {
* @return array|boolean false if channel ID not found, otherwise the channel array
*/
function channelx_by_n($id) {
+
+ if (App::$channel && is_array(App::$channel) && array_key_exists('channel_id',App::$channel) && intval(App::$channel['channel_id']) === intval($id)) {
+ return App::$channel;
+ }
+
$r = q("SELECT * FROM channel LEFT JOIN xchan ON channel_hash = xchan_hash WHERE channel_id = %d AND channel_removed = 0 LIMIT 1",
dbesc($id)
);
diff --git a/tests/unit/Photo/PhotoGdTest.php b/tests/unit/Photo/PhotoGdTest.php
index 1d4f9467f..ae7382c43 100644
--- a/tests/unit/Photo/PhotoGdTest.php
+++ b/tests/unit/Photo/PhotoGdTest.php
@@ -26,7 +26,7 @@ class PhotoGdTest extends UnitTestCase {
/**
* Prepares the environment before running a test.
*/
- protected function setUp() {
+ protected function setUp(): void {
parent::setUp();
$data = file_get_contents('images/hz-16.png');
@@ -37,7 +37,7 @@ class PhotoGdTest extends UnitTestCase {
/**
* Cleans up the environment after running a test.
*/
- protected function tearDown() {
+ protected function tearDown(): void {
$this->photoGd = null;
parent::tearDown();
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+white-3x2.jpg b/vendor/blueimp/jquery-file-upload/wdio/assets/black+white-3x2.jpg
new file mode 100644
index 000000000..0d7592ae3
--- /dev/null
+++ b/vendor/blueimp/jquery-file-upload/wdio/assets/black+white-3x2.jpg
Binary files differ
diff --git a/vendor/blueimp/jquery-file-upload/wdio/assets/black+white-60x40.gif b/vendor/blueimp/jquery-file-upload/wdio/assets/black+white-60x40.gif
new file mode 100644
index 000000000..926fd9276
--- /dev/null
+++ b/vendor/blueimp/jquery-file-upload/wdio/assets/black+white-60x40.gif
Binary files differ
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/conf/chrome.js
index fc7264417..270465e9c 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/chrome.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/conf/chrome.js
@@ -37,4 +37,4 @@ const config = {
baseUrl: 'http://example'
}
-exports.config = Object.assign({}, require('./hooks'), config)
+exports.config = Object.assign({}, require('../hooks'), config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/conf/edge.js b/vendor/blueimp/jquery-file-upload/wdio/conf/edge.js
new file mode 100644
index 000000000..887294460
--- /dev/null
+++ b/vendor/blueimp/jquery-file-upload/wdio/conf/edge.js
@@ -0,0 +1,23 @@
+'use strict'
+
+/* eslint-disable jsdoc/valid-types */
+/** @type WebdriverIO.Config */
+const config = {
+ hostname: process.env.WINDOWS_HOST || 'host.docker.internal',
+ capabilities: [
+ {
+ // Set maxInstances to 1 if screen recordings are enabled:
+ // maxInstances: 1,
+ browserName: 'MicrosoftEdge'
+ }
+ ],
+ videos: {
+ enabled: false,
+ inputFormat: 'mjpeg',
+ startDelay: 500,
+ stopDelay: 500
+ },
+ assetsDir: process.env.WINDOWS_ASSETS_DIR || process.env.MACOS_ASSETS_DIR
+}
+
+exports.config = Object.assign({}, require('./chrome').config, config)
diff --git a/vendor/blueimp/jquery-file-upload/wdio/firefox.js b/vendor/blueimp/jquery-file-upload/wdio/conf/firefox.js
index a4403de9e..a4403de9e 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/firefox.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/conf/firefox.js
diff --git a/vendor/blueimp/jquery-file-upload/wdio/ie.js b/vendor/blueimp/jquery-file-upload/wdio/conf/internet-explorer.js
index 223a50190..223a50190 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/ie.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/conf/internet-explorer.js
diff --git a/vendor/blueimp/jquery-file-upload/wdio/safari.js b/vendor/blueimp/jquery-file-upload/wdio/conf/safari.js
index d252d0d5d..d252d0d5d 100644
--- a/vendor/blueimp/jquery-file-upload/wdio/safari.js
+++ b/vendor/blueimp/jquery-file-upload/wdio/conf/safari.js
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/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/.php_cs.dist b/vendor/sabre/event/.php_cs.dist
new file mode 100644
index 000000000..c5c78a971
--- /dev/null
+++ b/vendor/sabre/event/.php_cs.dist
@@ -0,0 +1,12 @@
+<?php
+
+$config = PhpCsFixer\Config::create();
+$config->getFinder()
+ ->exclude('vendor')
+ ->in(__DIR__);
+$config->setRules([
+ '@PSR1' => true,
+ '@Symfony' => true
+]);
+
+return $config; \ No newline at end of file
diff --git a/vendor/sabre/event/.travis.yml b/vendor/sabre/event/.travis.yml
deleted file mode 100644
index 020488b79..000000000
--- a/vendor/sabre/event/.travis.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-language: php
-php:
- - 7.0
- - 7.1
- - 7.2
-
-env:
- matrix:
- - LOWEST_DEPS=""
- - LOWEST_DEPS="--prefer-lowest"
-
-before_script:
- - composer update --prefer-source $LOWEST_DEPS
-
-script:
- - ./bin/phpunit
- - ./bin/sabre-cs-fixer fix . --dry-run --diff
-
-sudo: false
-
-cache: vendor
diff --git a/vendor/sabre/event/CHANGELOG.md b/vendor/sabre/event/CHANGELOG.md
deleted file mode 100644
index 5b1fb2e68..000000000
--- a/vendor/sabre/event/CHANGELOG.md
+++ /dev/null
@@ -1,122 +0,0 @@
-ChangeLog
-=========
-5.0.3 (2018-05-03)
-------------------
-
-* Dropped remaining hhvm leftovers.
-* #55: Fixed typo in WildcardEmitterTrait (@SamMousa)
-* #54: export-ignore examples & tests in distribution (@staabm)
-
-5.0.2 (2017-04-29)
-------------------
-
-* #50: Fixed Promise\all to resolve immediately for empty arrays (@MadHed)
-* #48, #49: Performance optimisations for EmitterTrait and WildcardEmitterTrait (@lunixyacht).
-
-5.0.1 (2016-10-29)
-------------------
-
-* #45: Fixed `Emitter` class to use the correct interface. (@felixfbecker).
-
-
-5.0.0 (2016-10-23)
-------------------
-
-* #42: The `coroutine` function now supports `return` in the passed generator
- function. This allows you to more generally return a value. This is a BC
- break as this is a feature that was only made possible with PHP 7, and
- before the coroutine function would only ever return the last thing that
- was yielded. If you depended on that feature, replace your last `yield` with
- a `return`.
-
-
-4.0.0 (2016-09-19)
-------------------
-
-* sabre/event now requires PHP 7. If you need PHP 5.5 support, just keep
- using 3.0.0.
-* PHP 7 type hints are now used everywhere. We're also using strict_types.
-* Support for a new `WildcardEmitter` which allows you to listen for events
- using the `*` wildcard.
-* Removed deprecated functions `Promise::error` and `Promise::all`. Instead,
- use `Promise::otherwise` and `Promise\all()`.
-* `EventEmitter`, `EventEmitterTrait` and `EventEmitterInterface` are now just
- called `Emitter`, `EmitterTrait`, and `EmitterInterface`.
-* When rejecting Promises, it's now _required_ to use an `Exception` or
- `Throwable`. This makes the typical case simpler and reduces special cases.
-
-3.0.0 (2015-11-05)
-------------------
-
-* Now requires PHP 5.5!
-* `Promise::all()` is moved to `Promise\all()`.
-* Aside from the `Promise\all()` function, there's now also `Promise\race()`.
-* `Promise\reject()` and `Promise\resolve()` have also been added.
-* Now 100% compatible with the Ecmascript 6 Promise.
-
-
-3.0.0-alpha1 (2015-10-23)
--------------------------
-
-* This package now requires PHP 5.5.
-* #26: Added an event loop implementation. Also knows as the Reactor Pattern.
-* Renamed `Promise::error` to `Promise::otherwise` to be consistent with
- ReactPHP and Guzzle. The `error` method is kept for BC but will be removed
- in a future version.
-* #27: Support for Promise-based coroutines via the `Sabre\Event\coroutine`
- function.
-* BC Break: Promises now use the EventLoop to run "then"-events in a separate
- execution context. In practise that means you need to run the event loop to
- wait for any `then`/`otherwise` callbacks to trigger.
-* Promises now have a `wait()` method. Allowing you to make a promise
- synchronous and simply wait for a result (or exception) to happen.
-
-
-2.0.2 (2015-05-19)
-------------------
-
-* This release has no functional changes. It's just been brought up to date
- with the latest coding standards.
-
-
-2.0.1 (2014-10-06)
-------------------
-
-* Fixed: `$priority` was ignored in `EventEmitter::once` method.
-* Fixed: Breaking the event chain was not possible in `EventEmitter::once`.
-
-
-2.0.0 (2014-06-21)
-------------------
-
-* Added: When calling emit, it's now possible to specify a callback that will be
- triggered after each method handled. This is dubbed the 'continueCallback' and
- can be used to implement strategy patterns.
-* Added: Promise object!
-* Changed: EventEmitter::listeners now returns just the callbacks for an event,
- and no longer returns the list by reference. The list is now automatically
- sorted by priority.
-* Update: Speed improvements.
-* Updated: It's now possible to remove all listeners for every event.
-* Changed: Now uses psr-4 autoloading.
-
-
-1.0.1 (2014-06-12)
-------------------
-
-* hhvm compatible!
-* Fixed: Issue #4. Compatiblitiy for PHP < 5.4.14.
-
-
-1.0.0 (2013-07-19)
-------------------
-
-* Added: removeListener, removeAllListeners
-* Added: once, to only listen to an event emitting once.
-* Added README.md.
-
-
-0.0.1-alpha (2013-06-29)
-------------------------
-
-* First version!
diff --git a/vendor/sabre/event/README.md b/vendor/sabre/event/README.md
deleted file mode 100644
index 9e2bdd042..000000000
--- a/vendor/sabre/event/README.md
+++ /dev/null
@@ -1,51 +0,0 @@
-sabre/event
-===========
-
-A lightweight library for event-based development in PHP.
-
-This library provides the following event-based concepts:
-
-1. EventEmitter.
-2. Promises.
-3. An event loop.
-4. Co-routines.
-
-Full documentation can be found on [the website][1].
-
-Installation
-------------
-
-Make sure you have [composer][3] installed, and then run:
-
- composer require sabre/event "^3.0"
-
-This package requires PHP 5.5. The 2.0 branch is still maintained as well, and
-supports PHP 5.4.
-
-Build status
-------------
-
-| branch | status |
-| ------ | ------ |
-| master | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=master)](https://travis-ci.org/sabre-io/event) |
-| 3.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=2.0)](https://travis-ci.org/sabre-io/event) |
-| 2.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=2.0)](https://travis-ci.org/sabre-io/event) |
-| 1.0 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=1.0)](https://travis-ci.org/sabre-io/event) |
-| php53 | [![Build Status](https://travis-ci.org/sabre-io/event.svg?branch=php53)](https://travis-ci.org/sabre-io/event) |
-
-
-Questions?
-----------
-
-Head over to the [sabre/dav mailinglist][4], or you can also just open a ticket
-on [GitHub][5].
-
-Made at fruux
--------------
-
-This library is being developed by [fruux](https://fruux.com/). Drop us a line for commercial services or enterprise support.
-
-[1]: http://sabre.io/event/
-[3]: http://getcomposer.org/
-[4]: http://groups.google.com/group/sabredav-discuss
-[5]: https://github.com/fruux/sabre-event/issues/
diff --git a/vendor/sabre/event/_config.yml b/vendor/sabre/event/_config.yml
deleted file mode 100644
index c4192631f..000000000
--- a/vendor/sabre/event/_config.yml
+++ /dev/null
@@ -1 +0,0 @@
-theme: jekyll-theme-cayman \ No newline at end of file
diff --git a/vendor/sabre/event/composer.json b/vendor/sabre/event/composer.json
index d7a13c5ca..144704118 100644
--- a/vendor/sabre/event/composer.json
+++ b/vendor/sabre/event/composer.json
@@ -16,7 +16,7 @@
"homepage": "http://sabre.io/event/",
"license": "BSD-3-Clause",
"require": {
- "php": ">=7.0"
+ "php": "^7.1"
},
"authors": [
{
@@ -41,8 +41,8 @@
]
},
"require-dev": {
- "sabre/cs": "~1.0.0",
- "phpunit/phpunit" : ">=6"
+ "friendsofphp/php-cs-fixer": "~2.16.1",
+ "phpunit/phpunit" : "^7 || ^8"
},
"config" : {
"bin-dir" : "bin/"
diff --git a/vendor/sabre/event/lib/Emitter.php b/vendor/sabre/event/lib/Emitter.php
index ab5e8c90e..e1f23fc87 100644
--- a/vendor/sabre/event/lib/Emitter.php
+++ b/vendor/sabre/event/lib/Emitter.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -11,8 +13,7 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class Emitter implements EmitterInterface {
-
+class Emitter implements EmitterInterface
+{
use EmitterTrait;
-
}
diff --git a/vendor/sabre/event/lib/EmitterInterface.php b/vendor/sabre/event/lib/EmitterInterface.php
index a7e4b6132..6ce0f34db 100644
--- a/vendor/sabre/event/lib/EmitterInterface.php
+++ b/vendor/sabre/event/lib/EmitterInterface.php
@@ -1,9 +1,11 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
/**
- * Event Emitter Interface
+ * Event Emitter Interface.
*
* Anything that accepts listeners and emits events should implement this
* interface.
@@ -12,26 +14,22 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-interface EmitterInterface {
-
+interface EmitterInterface
+{
/**
* Subscribe to an event.
- *
- * @return void
*/
- function on(string $eventName, callable $callBack, int $priority = 100);
+ public function on(string $eventName, callable $callBack, int $priority = 100);
/**
* Subscribe to an event exactly once.
- *
- * @return void
*/
- function once(string $eventName, callable $callBack, int $priority = 100);
+ public function once(string $eventName, callable $callBack, int $priority = 100);
/**
* Emits an event.
*
- * This method will return true if 0 or more listeners were succesfully
+ * This method will return true if 0 or more listeners were successfully
* handled. false is returned if one of the events broke the event chain.
*
* If the continueCallBack is specified, this callback will be called every
@@ -49,7 +47,7 @@ interface EmitterInterface {
* Lastly, if there are 5 event handlers for an event. The continueCallback
* will be called at most 4 times.
*/
- function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool;
+ public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool;
/**
* Returns the list of listeners for an event.
@@ -59,7 +57,7 @@ interface EmitterInterface {
*
* @return callable[]
*/
- function listeners(string $eventName) : array;
+ public function listeners(string $eventName): array;
/**
* Removes a specific listener from an event.
@@ -67,7 +65,7 @@ interface EmitterInterface {
* If the listener could not be found, this method will return false. If it
* was removed it will return true.
*/
- function removeListener(string $eventName, callable $listener) : bool;
+ public function removeListener(string $eventName, callable $listener): bool;
/**
* Removes all listeners.
@@ -75,9 +73,6 @@ interface EmitterInterface {
* If the eventName argument is specified, all listeners for that event are
* removed. If it is not specified, every listener for every event is
* removed.
- *
- * @return void
*/
- function removeAllListeners(string $eventName = null);
-
+ public function removeAllListeners(string $eventName = null);
}
diff --git a/vendor/sabre/event/lib/EmitterTrait.php b/vendor/sabre/event/lib/EmitterTrait.php
index dafae362f..5502ef9f3 100644
--- a/vendor/sabre/event/lib/EmitterTrait.php
+++ b/vendor/sabre/event/lib/EmitterTrait.php
@@ -1,9 +1,11 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
/**
- * Event Emitter Trait
+ * Event Emitter Trait.
*
* This trait contains all the basic functions to implement an
* EventEmitterInterface.
@@ -15,53 +17,45 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-trait EmitterTrait {
-
-
+trait EmitterTrait
+{
/**
* Subscribe to an event.
- *
- * @return void
*/
- function on(string $eventName, callable $callBack, int $priority = 100) {
-
+ public function on(string $eventName, callable $callBack, int $priority = 100)
+ {
if (!isset($this->listeners[$eventName])) {
$this->listeners[$eventName] = [
true, // If there's only one item, it's sorted
[$priority],
- [$callBack]
+ [$callBack],
];
} else {
$this->listeners[$eventName][0] = false; // marked as unsorted
$this->listeners[$eventName][1][] = $priority;
$this->listeners[$eventName][2][] = $callBack;
}
-
}
/**
* Subscribe to an event exactly once.
- *
- * @return void
*/
- function once(string $eventName, callable $callBack, int $priority = 100) {
-
+ public function once(string $eventName, callable $callBack, int $priority = 100)
+ {
$wrapper = null;
- $wrapper = function() use ($eventName, $callBack, &$wrapper) {
-
+ $wrapper = function () use ($eventName, $callBack, &$wrapper) {
$this->removeListener($eventName, $wrapper);
- return \call_user_func_array($callBack, \func_get_args());
+ return \call_user_func_array($callBack, \func_get_args());
};
$this->on($eventName, $wrapper, $priority);
-
}
/**
* Emits an event.
*
- * This method will return true if 0 or more listeners were succesfully
+ * This method will return true if 0 or more listeners were successfully
* handled. false is returned if one of the events broke the event chain.
*
* If the continueCallBack is specified, this callback will be called every
@@ -79,41 +73,35 @@ trait EmitterTrait {
* Lastly, if there are 5 event handlers for an event. The continueCallback
* will be called at most 4 times.
*/
- function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool {
-
+ public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool
+ {
if (\is_null($continueCallBack)) {
-
foreach ($this->listeners($eventName) as $listener) {
-
$result = \call_user_func_array($listener, $arguments);
- if ($result === false) {
+ if (false === $result) {
return false;
}
}
-
} else {
-
$listeners = $this->listeners($eventName);
$counter = \count($listeners);
foreach ($listeners as $listener) {
-
- $counter--;
+ --$counter;
$result = \call_user_func_array($listener, $arguments);
- if ($result === false) {
+ if (false === $result) {
return false;
}
if ($counter > 0) {
- if (!$continueCallBack()) break;
+ if (!$continueCallBack()) {
+ break;
+ }
}
-
}
-
}
return true;
-
}
/**
@@ -124,15 +112,14 @@ trait EmitterTrait {
*
* @return callable[]
*/
- function listeners(string $eventName) : array {
-
+ public function listeners(string $eventName): array
+ {
if (!isset($this->listeners[$eventName])) {
return [];
}
// The list is not sorted
if (!$this->listeners[$eventName][0]) {
-
// Sorting
\array_multisort($this->listeners[$eventName][1], SORT_NUMERIC, $this->listeners[$eventName][2]);
@@ -141,7 +128,6 @@ trait EmitterTrait {
}
return $this->listeners[$eventName][2];
-
}
/**
@@ -150,8 +136,8 @@ trait EmitterTrait {
* If the listener could not be found, this method will return false. If it
* was removed it will return true.
*/
- function removeListener(string $eventName, callable $listener) : bool {
-
+ public function removeListener(string $eventName, callable $listener): bool
+ {
if (!isset($this->listeners[$eventName])) {
return false;
}
@@ -159,11 +145,12 @@ trait EmitterTrait {
if ($check === $listener) {
unset($this->listeners[$eventName][1][$index]);
unset($this->listeners[$eventName][2][$index]);
+
return true;
}
}
- return false;
+ return false;
}
/**
@@ -172,24 +159,20 @@ trait EmitterTrait {
* If the eventName argument is specified, all listeners for that event are
* removed. If it is not specified, every listener for every event is
* removed.
- *
- * @return void
*/
- function removeAllListeners(string $eventName = null) {
-
+ public function removeAllListeners(string $eventName = null)
+ {
if (!\is_null($eventName)) {
unset($this->listeners[$eventName]);
} else {
$this->listeners = [];
}
-
}
/**
- * The list of listeners
+ * The list of listeners.
*
* @var array
*/
protected $listeners = [];
-
}
diff --git a/vendor/sabre/event/lib/EventEmitter.php b/vendor/sabre/event/lib/EventEmitter.php
index cae6ac2a6..18971e3ee 100644
--- a/vendor/sabre/event/lib/EventEmitter.php
+++ b/vendor/sabre/event/lib/EventEmitter.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -12,8 +14,7 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class EventEmitter implements EmitterInterface {
-
+class EventEmitter implements EmitterInterface
+{
use EmitterTrait;
-
}
diff --git a/vendor/sabre/event/lib/Loop/Loop.php b/vendor/sabre/event/lib/Loop/Loop.php
index 301fe8920..ec09be921 100644
--- a/vendor/sabre/event/lib/Loop/Loop.php
+++ b/vendor/sabre/event/lib/Loop/Loop.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event\Loop;
@@ -15,20 +17,19 @@ namespace Sabre\Event\Loop;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class Loop {
-
+class Loop
+{
/**
* Executes a function after x seconds.
- *
- * @return void
*/
- function setTimeout(callable $cb, float $timeout) {
-
+ public function setTimeout(callable $cb, float $timeout)
+ {
$triggerTime = microtime(true) + ($timeout);
if (!$this->timers) {
// Special case when the timers array was empty.
$this->timers[] = [$triggerTime, $cb];
+
return;
}
@@ -46,14 +47,12 @@ class Loop {
[[$triggerTime, $cb]]
);
break;
- } elseif ($index === 0) {
+ } elseif (0 === $index) {
array_unshift($this->timers, [$triggerTime, $cb]);
break;
}
- $index--;
-
+ --$index;
}
-
}
/**
@@ -62,12 +61,12 @@ class Loop {
* The value this function returns can be used to stop the interval with
* clearInterval.
*/
- function setInterval(callable $cb, float $timeout) : array {
-
+ public function setInterval(callable $cb, float $timeout): array
+ {
$keepGoing = true;
$f = null;
- $f = function() use ($cb, &$f, $timeout, &$keepGoing) {
+ $f = function () use ($cb, &$f, $timeout, &$keepGoing) {
if ($keepGoing) {
$cb();
$this->setTimeout($f, $timeout);
@@ -82,32 +81,24 @@ class Loop {
// Because I'm worried people will be confused by using a boolean as a
// sort of identifier, I added an extra string.
return ['I\'m an implementation detail', &$keepGoing];
-
}
/**
* Stops a running interval.
- *
- * @return void
*/
- function clearInterval(array $intervalId) {
-
+ public function clearInterval(array $intervalId)
+ {
$intervalId[1] = false;
-
}
/**
* Runs a function immediately at the next iteration of the loop.
- *
- * @return void
*/
- function nextTick(callable $cb) {
-
+ public function nextTick(callable $cb)
+ {
$this->nextTick[] = $cb;
-
}
-
/**
* Adds a read stream.
*
@@ -118,13 +109,11 @@ class Loop {
* prevent the eventloop from never stopping.
*
* @param resource $stream
- * @return void
*/
- function addReadStream($stream, callable $cb) {
-
- $this->readStreams[(int)$stream] = $stream;
- $this->readCallbacks[(int)$stream] = $cb;
-
+ public function addReadStream($stream, callable $cb)
+ {
+ $this->readStreams[(int) $stream] = $stream;
+ $this->readCallbacks[(int) $stream] = $cb;
}
/**
@@ -137,65 +126,53 @@ class Loop {
* prevent the eventloop from never stopping.
*
* @param resource $stream
- * @return void
*/
- function addWriteStream($stream, callable $cb) {
-
- $this->writeStreams[(int)$stream] = $stream;
- $this->writeCallbacks[(int)$stream] = $cb;
-
+ public function addWriteStream($stream, callable $cb)
+ {
+ $this->writeStreams[(int) $stream] = $stream;
+ $this->writeCallbacks[(int) $stream] = $cb;
}
/**
* Stop watching a stream for reads.
*
* @param resource $stream
- * @return void
*/
- function removeReadStream($stream) {
-
+ public function removeReadStream($stream)
+ {
unset(
- $this->readStreams[(int)$stream],
- $this->readCallbacks[(int)$stream]
+ $this->readStreams[(int) $stream],
+ $this->readCallbacks[(int) $stream]
);
-
}
/**
* Stop watching a stream for writes.
*
* @param resource $stream
- * @return void
*/
- function removeWriteStream($stream) {
-
+ public function removeWriteStream($stream)
+ {
unset(
- $this->writeStreams[(int)$stream],
- $this->writeCallbacks[(int)$stream]
+ $this->writeStreams[(int) $stream],
+ $this->writeCallbacks[(int) $stream]
);
-
}
-
/**
* Runs the loop.
*
- * This function will run continiously, until there's no more events to
+ * This function will run continuously, until there's no more events to
* handle.
- *
- * @return void
*/
- function run() {
-
+ public function run()
+ {
$this->running = true;
do {
-
$hasEvents = $this->tick(true);
-
} while ($this->running && $hasEvents);
$this->running = false;
-
}
/**
@@ -210,8 +187,8 @@ class Loop {
* This function will return true if there are _any_ events left in the
* loop after the tick.
*/
- function tick(bool $block = false) : bool {
-
+ public function tick(bool $block = false): bool
+ {
$this->runNextTicks();
$nextTimeout = $this->runTimers();
@@ -232,19 +209,15 @@ class Loop {
$this->runStreams($streamWait);
- return ($this->readStreams || $this->writeStreams || $this->nextTick || $this->timers);
-
+ return $this->readStreams || $this->writeStreams || $this->nextTick || $this->timers;
}
/**
- * Stops a running eventloop
- *
- * @return void
+ * Stops a running eventloop.
*/
- function stop() {
-
+ public function stop()
+ {
$this->running = false;
-
}
/**
@@ -252,15 +225,14 @@ class Loop {
*
* return void
*/
- protected function runNextTicks() {
-
+ protected function runNextTicks()
+ {
$nextTick = $this->nextTick;
$this->nextTick = [];
foreach ($nextTick as $cb) {
$cb();
}
-
}
/**
@@ -273,8 +245,8 @@ class Loop {
*
* @return float|null
*/
- protected function runTimers() {
-
+ protected function runTimers()
+ {
$now = microtime(true);
while (($timer = array_pop($this->timers)) && $timer[0] < $now) {
$timer[1]();
@@ -282,9 +254,9 @@ class Loop {
// Add the last timer back to the array.
if ($timer) {
$this->timers[] = $timer;
+
return max(0, $timer[0] - microtime(true));
}
-
}
/**
@@ -295,36 +267,31 @@ class Loop {
*
* @param float|null timeout
*/
- protected function runStreams($timeout) {
-
+ protected function runStreams($timeout)
+ {
if ($this->readStreams || $this->writeStreams) {
-
$read = $this->readStreams;
$write = $this->writeStreams;
$except = null;
- if (stream_select($read, $write, $except, ($timeout === null) ? null : 0, $timeout ? (int)($timeout * 1000000) : 0)) {
-
+ if (stream_select($read, $write, $except, (null === $timeout) ? null : 0, $timeout ? (int) ($timeout * 1000000) : 0)) {
// See PHP Bug https://bugs.php.net/bug.php?id=62452
// Fixed in PHP7
foreach ($read as $readStream) {
- $readCb = $this->readCallbacks[(int)$readStream];
+ $readCb = $this->readCallbacks[(int) $readStream];
$readCb();
}
foreach ($write as $writeStream) {
- $writeCb = $this->writeCallbacks[(int)$writeStream];
+ $writeCb = $this->writeCallbacks[(int) $writeStream];
$writeCb();
}
-
}
-
} elseif ($this->running && ($this->nextTick || $this->timers)) {
- usleep($timeout !== null ? intval($timeout * 1000000) : 200000);
+ usleep(null !== $timeout ? intval($timeout * 1000000) : 200000);
}
-
}
/**
- * Is the main loop active
+ * Is the main loop active.
*
* @var bool
*/
@@ -361,16 +328,14 @@ class Loop {
/**
* List of read callbacks, indexed by stream id.
*
- * @var callback[]
+ * @var callable[]
*/
protected $readCallbacks = [];
/**
* List of write callbacks, indexed by stream id.
*
- * @var callback[]
+ * @var callable[]
*/
protected $writeCallbacks = [];
-
-
}
diff --git a/vendor/sabre/event/lib/Loop/functions.php b/vendor/sabre/event/lib/Loop/functions.php
index b5884b2b6..bf4d933f2 100644
--- a/vendor/sabre/event/lib/Loop/functions.php
+++ b/vendor/sabre/event/lib/Loop/functions.php
@@ -1,16 +1,15 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event\Loop;
/**
* Executes a function after x seconds.
- *
- * @return void
*/
-function setTimeout(callable $cb, float $timeout) {
-
+function setTimeout(callable $cb, float $timeout)
+{
instance()->setTimeout($cb, $timeout);
-
}
/**
@@ -19,35 +18,27 @@ function setTimeout(callable $cb, float $timeout) {
* The value this function returns can be used to stop the interval with
* clearInterval.
*/
-function setInterval(callable $cb, float $timeout) : array {
-
+function setInterval(callable $cb, float $timeout): array
+{
return instance()->setInterval($cb, $timeout);
-
}
/**
* Stops a running interval.
- *
- * @return void
*/
-function clearInterval(array $intervalId) {
-
+function clearInterval(array $intervalId)
+{
instance()->clearInterval($intervalId);
-
}
/**
* Runs a function immediately at the next iteration of the loop.
- *
- * @return void
*/
-function nextTick(callable $cb) {
-
+function nextTick(callable $cb)
+{
instance()->nextTick($cb);
-
}
-
/**
* Adds a read stream.
*
@@ -58,12 +49,10 @@ function nextTick(callable $cb) {
* prevent the eventloop from never stopping.
*
* @param resource $stream
- * @return void
*/
-function addReadStream($stream, callable $cb) {
-
+function addReadStream($stream, callable $cb)
+{
instance()->addReadStream($stream, $cb);
-
}
/**
@@ -76,51 +65,41 @@ function addReadStream($stream, callable $cb) {
* prevent the eventloop from never stopping.
*
* @param resource $stream
- * @return void
*/
-function addWriteStream($stream, callable $cb) {
-
+function addWriteStream($stream, callable $cb)
+{
instance()->addWriteStream($stream, $cb);
-
}
/**
* Stop watching a stream for reads.
*
* @param resource $stream
- * @return void
*/
-function removeReadStream($stream) {
-
+function removeReadStream($stream)
+{
instance()->removeReadStream($stream);
-
}
/**
* Stop watching a stream for writes.
*
* @param resource $stream
- * @return void
*/
-function removeWriteStream($stream) {
-
+function removeWriteStream($stream)
+{
instance()->removeWriteStream($stream);
-
}
-
/**
* Runs the loop.
*
- * This function will run continiously, until there's no more events to
+ * This function will run continuously, until there's no more events to
* handle.
- *
- * @return void
*/
-function run() {
-
+function run()
+{
instance()->run();
-
}
/**
@@ -135,34 +114,30 @@ function run() {
* This function will return true if there are _any_ events left in the
* loop after the tick.
*/
-function tick(bool $block = false) : bool {
-
+function tick(bool $block = false): bool
+{
return instance()->tick($block);
-
}
/**
- * Stops a running eventloop
- *
- * @return void
+ * Stops a running eventloop.
*/
-function stop() {
-
+function stop()
+{
instance()->stop();
-
}
/**
* Retrieves or sets the global Loop object.
*/
-function instance(Loop $newLoop = null) : Loop {
-
+function instance(Loop $newLoop = null): Loop
+{
static $loop;
if ($newLoop) {
$loop = $newLoop;
} elseif (!$loop) {
$loop = new Loop();
}
- return $loop;
+ return $loop;
}
diff --git a/vendor/sabre/event/lib/Promise.php b/vendor/sabre/event/lib/Promise.php
index 1d04bd4d4..1d4ddd74a 100644
--- a/vendor/sabre/event/lib/Promise.php
+++ b/vendor/sabre/event/lib/Promise.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -21,8 +23,8 @@ use Throwable;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class Promise {
-
+class Promise
+{
/**
* The asynchronous operation is pending.
*/
@@ -54,15 +56,14 @@ class Promise {
* Each are callbacks that map to $this->fulfill and $this->reject.
* Using the executor is optional.
*/
- function __construct(callable $executor = null) {
-
+ public function __construct(callable $executor = null)
+ {
if ($executor) {
$executor(
[$this, 'fulfill'],
[$this, 'reject']
);
}
-
}
/**
@@ -84,32 +85,32 @@ class Promise {
* If either of the callbacks throw an exception, the returned promise will
* be rejected and the exception will be passed back.
*/
- function then(callable $onFulfilled = null, callable $onRejected = null) : Promise {
-
+ public function then(callable $onFulfilled = null, callable $onRejected = null): Promise
+ {
// This new subPromise will be returned from this function, and will
// be fulfilled with the result of the onFulfilled or onRejected event
// handlers.
$subPromise = new self();
switch ($this->state) {
- case self::PENDING :
+ case self::PENDING:
// The operation is pending, so we keep a reference to the
// event handlers so we can call them later.
$this->subscribers[] = [$subPromise, $onFulfilled, $onRejected];
break;
- case self::FULFILLED :
+ case self::FULFILLED:
// The async operation is already fulfilled, so we trigger the
// onFulfilled callback asap.
$this->invokeCallback($subPromise, $onFulfilled);
break;
- case self::REJECTED :
- // The async operation failed, so we call teh onRejected
+ case self::REJECTED:
+ // The async operation failed, so we call the onRejected
// callback asap.
$this->invokeCallback($subPromise, $onRejected);
break;
}
- return $subPromise;
+ return $subPromise;
}
/**
@@ -118,20 +119,19 @@ class Promise {
* Its usage is identical to then(). However, the otherwise() function is
* preferred.
*/
- function otherwise(callable $onRejected) : Promise {
-
+ public function otherwise(callable $onRejected): Promise
+ {
return $this->then(null, $onRejected);
-
}
/**
* Marks this promise as fulfilled and sets its return value.
*
* @param mixed $value
- * @return void
*/
- function fulfill($value = null) {
- if ($this->state !== self::PENDING) {
+ public function fulfill($value = null)
+ {
+ if (self::PENDING !== $this->state) {
throw new PromiseAlreadyResolvedException('This promise is already resolved, and you\'re not allowed to resolve a promise more than once');
}
$this->state = self::FULFILLED;
@@ -143,11 +143,10 @@ class Promise {
/**
* Marks this promise as rejected, and set it's rejection reason.
- *
- * @return void
*/
- function reject(Throwable $reason) {
- if ($this->state !== self::PENDING) {
+ public function reject(Throwable $reason)
+ {
+ if (self::PENDING !== $this->state) {
throw new PromiseAlreadyResolvedException('This promise is already resolved, and you\'re not allowed to resolve a promise more than once');
}
$this->state = self::REJECTED;
@@ -155,13 +154,12 @@ class Promise {
foreach ($this->subscribers as $subscriber) {
$this->invokeCallback($subscriber[0], $subscriber[2]);
}
-
}
/**
* Stops execution until this promise is resolved.
*
- * This method stops exection completely. If the promise is successful with
+ * This method stops execution completely. If the promise is successful with
* a value, this method will return this value. If the promise was
* rejected, this method will throw an exception.
*
@@ -171,11 +169,10 @@ class Promise {
*
* @return mixed
*/
- function wait() {
-
+ public function wait()
+ {
$hasEvents = true;
- while ($this->state === self::PENDING) {
-
+ while (self::PENDING === $this->state) {
if (!$hasEvents) {
throw new \LogicException('There were no more events in the loop. This promise will never be fulfilled.');
}
@@ -183,10 +180,9 @@ class Promise {
// As long as the promise is not fulfilled, we tell the event loop
// to handle events, and to block.
$hasEvents = Loop\tick(true);
-
}
- if ($this->state === self::FULFILLED) {
+ if (self::FULFILLED === $this->state) {
// If the state of this promise is fulfilled, we can return the value.
return $this->value;
} else {
@@ -194,11 +190,8 @@ class Promise {
// errored. Therefore we need to throw an exception.
throw $this->value;
}
-
-
}
-
/**
* A list of subscribers. Subscribers are the callbacks that want us to let
* them know if the callback was fulfilled or rejected.
@@ -224,21 +217,18 @@ class Promise {
* correctly, and any chained promises are also correctly fulfilled or
* rejected.
*
- * @param Promise $subPromise
* @param callable $callBack
- * @return void
*/
- private function invokeCallback(Promise $subPromise, callable $callBack = null) {
-
+ private function invokeCallback(Promise $subPromise, callable $callBack = null)
+ {
// We use 'nextTick' to ensure that the event handlers are always
// triggered outside of the calling stack in which they were originally
// passed to 'then'.
//
// This makes the order of execution more predictable.
- Loop\nextTick(function() use ($callBack, $subPromise) {
+ Loop\nextTick(function () use ($callBack, $subPromise) {
if (is_callable($callBack)) {
try {
-
$result = $callBack($this->value);
if ($result instanceof self) {
// If the callback (onRejected or onFulfilled)
@@ -257,7 +247,7 @@ class Promise {
$subPromise->reject($e);
}
} else {
- if ($this->state === self::FULFILLED) {
+ if (self::FULFILLED === $this->state) {
$subPromise->fulfill($this->value);
} else {
$subPromise->reject($this->value);
@@ -265,5 +255,4 @@ class Promise {
}
});
}
-
}
diff --git a/vendor/sabre/event/lib/Promise/functions.php b/vendor/sabre/event/lib/Promise/functions.php
index 275492cbc..986fe2b00 100644
--- a/vendor/sabre/event/lib/Promise/functions.php
+++ b/vendor/sabre/event/lib/Promise/functions.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event\Promise;
@@ -14,7 +16,6 @@ use Throwable;
* @license http://sabre.io/license/ Modified BSD License
*/
-
/**
* This function takes an array of Promises, and returns a Promise that
* resolves when all of the given arguments have resolved.
@@ -24,17 +25,17 @@ use Throwable;
*
* This array will be in the exact same order as the array of input promises.
*
- * If any of the given Promises fails, the returned promise will immidiately
+ * If any of the given Promises fails, the returned promise will immediately
* fail with the first Promise that fails, and its reason.
*
* @param Promise[] $promises
*/
-function all(array $promises) : Promise {
-
- return new Promise(function($success, $fail) use ($promises) {
-
+function all(array $promises): Promise
+{
+ return new Promise(function ($success, $fail) use ($promises) {
if (empty($promises)) {
$success([]);
+
return;
}
@@ -42,25 +43,23 @@ function all(array $promises) : Promise {
$completeResult = [];
foreach ($promises as $promiseIndex => $subPromise) {
-
$subPromise->then(
- function($result) use ($promiseIndex, &$completeResult, &$successCount, $success, $promises) {
+ function ($result) use ($promiseIndex, &$completeResult, &$successCount, $success, $promises) {
$completeResult[$promiseIndex] = $result;
- $successCount++;
+ ++$successCount;
if ($successCount === count($promises)) {
$success($completeResult);
}
+
return $result;
}
)->otherwise(
- function($reason) use ($fail) {
+ function ($reason) use ($fail) {
$fail($reason);
}
);
-
}
});
-
}
/**
@@ -72,22 +71,20 @@ function all(array $promises) : Promise {
*
* @param Promise[] $promises
*/
-function race(array $promises) : Promise {
-
- return new Promise(function($success, $fail) use ($promises) {
-
+function race(array $promises): Promise
+{
+ return new Promise(function ($success, $fail) use ($promises) {
$alreadyDone = false;
foreach ($promises as $promise) {
-
$promise->then(
- function($result) use ($success, &$alreadyDone) {
+ function ($result) use ($success, &$alreadyDone) {
if ($alreadyDone) {
return;
}
$alreadyDone = true;
$success($result);
},
- function($reason) use ($fail, &$alreadyDone) {
+ function ($reason) use ($fail, &$alreadyDone) {
if ($alreadyDone) {
return;
}
@@ -95,14 +92,10 @@ function race(array $promises) : Promise {
$fail($reason);
}
);
-
}
-
});
-
}
-
/**
* Returns a Promise that resolves with the given value.
*
@@ -111,25 +104,25 @@ function race(array $promises) : Promise {
*
* @param mixed $value
*/
-function resolve($value) : Promise {
-
+function resolve($value): Promise
+{
if ($value instanceof Promise) {
return $value->then();
} else {
$promise = new Promise();
$promise->fulfill($value);
+
return $promise;
}
-
}
/**
* Returns a Promise that will reject with the given reason.
*/
-function reject(Throwable $reason) : Promise {
-
+function reject(Throwable $reason): Promise
+{
$promise = new Promise();
$promise->reject($reason);
- return $promise;
+ return $promise;
}
diff --git a/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php b/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php
index 534a3d494..abb6c108e 100644
--- a/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php
+++ b/vendor/sabre/event/lib/PromiseAlreadyResolvedException.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -10,6 +12,6 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class PromiseAlreadyResolvedException extends \LogicException {
-
+class PromiseAlreadyResolvedException extends \LogicException
+{
}
diff --git a/vendor/sabre/event/lib/Version.php b/vendor/sabre/event/lib/Version.php
index 9aee4b3ab..e98e2e3ff 100644
--- a/vendor/sabre/event/lib/Version.php
+++ b/vendor/sabre/event/lib/Version.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -9,11 +11,10 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class Version {
-
+class Version
+{
/**
- * Full version number
+ * Full version number.
*/
- const VERSION = '5.0.3';
-
+ const VERSION = '5.1.0';
}
diff --git a/vendor/sabre/event/lib/WildcardEmitter.php b/vendor/sabre/event/lib/WildcardEmitter.php
index 2ef15fe83..1b7c248b2 100644
--- a/vendor/sabre/event/lib/WildcardEmitter.php
+++ b/vendor/sabre/event/lib/WildcardEmitter.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -14,7 +16,7 @@ namespace Sabre\Event;
* on('change:*')
*
* A few notes:
- *
+ *
* - Wildcards only work at the end of an event name.
* - Currently you can only use 1 wildcard.
* - Using ":" as a separator is optional, but it's highly recommended to use
@@ -28,10 +30,7 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-class WildcardEmitter implements EmitterInterface {
-
+class WildcardEmitter implements EmitterInterface
+{
use WildcardEmitterTrait;
-
-
-
}
diff --git a/vendor/sabre/event/lib/WildcardEmitterTrait.php b/vendor/sabre/event/lib/WildcardEmitterTrait.php
index 7d8d62c26..206a8f3c5 100644
--- a/vendor/sabre/event/lib/WildcardEmitterTrait.php
+++ b/vendor/sabre/event/lib/WildcardEmitterTrait.php
@@ -1,9 +1,11 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
/**
- * Wildcard Emitter Trait
+ * Wildcard Emitter Trait.
*
* This trait provides the implementation for WildCardEmitter
* Refer to that class for the full documentation about this
@@ -17,21 +19,19 @@ namespace Sabre\Event;
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-trait WildcardEmitterTrait {
-
+trait WildcardEmitterTrait
+{
/**
* Subscribe to an event.
- *
- * @return void
*/
- function on(string $eventName, callable $callBack, int $priority = 100) {
-
- // If it ends with a wildcard, we use the wildcardListeners array
- if ($eventName[\strlen($eventName) - 1] === '*') {
+ public function on(string $eventName, callable $callBack, int $priority = 100)
+ {
+ // If it ends with a wildcard, we use the wildcardListeners array
+ if ('*' === $eventName[\strlen($eventName) - 1]) {
$eventName = \substr($eventName, 0, -1);
- $listeners = & $this->wildcardListeners;
+ $listeners = &$this->wildcardListeners;
} else {
- $listeners = & $this->listeners;
+ $listeners = &$this->listeners;
}
// Always fully reset the listener index. This is fairly sane for most
@@ -44,32 +44,27 @@ trait WildcardEmitterTrait {
$listeners[$eventName] = [];
}
$listeners[$eventName][] = [$priority, $callBack];
-
}
/**
* Subscribe to an event exactly once.
- *
- * @return void
*/
- function once(string $eventName, callable $callBack, int $priority = 100) {
-
+ public function once(string $eventName, callable $callBack, int $priority = 100)
+ {
$wrapper = null;
- $wrapper = function() use ($eventName, $callBack, &$wrapper) {
-
+ $wrapper = function () use ($eventName, $callBack, &$wrapper) {
$this->removeListener($eventName, $wrapper);
- return \call_user_func_array($callBack, \func_get_args());
+ return \call_user_func_array($callBack, \func_get_args());
};
$this->on($eventName, $wrapper, $priority);
-
}
/**
* Emits an event.
*
- * This method will return true if 0 or more listeners were succesfully
+ * This method will return true if 0 or more listeners were successfully
* handled. false is returned if one of the events broke the event chain.
*
* If the continueCallBack is specified, this callback will be called every
@@ -87,42 +82,35 @@ trait WildcardEmitterTrait {
* Lastly, if there are 5 event handlers for an event. The continueCallback
* will be called at most 4 times.
*/
- function emit(string $eventName, array $arguments = [], callable $continueCallBack = null) : bool {
-
+ public function emit(string $eventName, array $arguments = [], callable $continueCallBack = null): bool
+ {
if (\is_null($continueCallBack)) {
-
foreach ($this->listeners($eventName) as $listener) {
-
$result = \call_user_func_array($listener, $arguments);
- if ($result === false) {
+ if (false === $result) {
return false;
}
}
-
} else {
-
$listeners = $this->listeners($eventName);
$counter = \count($listeners);
foreach ($listeners as $listener) {
-
- $counter--;
+ --$counter;
$result = \call_user_func_array($listener, $arguments);
- if ($result === false) {
+ if (false === $result) {
return false;
}
if ($counter > 0) {
- if (!$continueCallBack()) break;
+ if (!$continueCallBack()) {
+ break;
+ }
}
-
}
-
}
return true;
-
-
}
/**
@@ -133,34 +121,27 @@ trait WildcardEmitterTrait {
*
* @return callable[]
*/
- function listeners(string $eventName) : array {
-
+ public function listeners(string $eventName): array
+ {
if (!\array_key_exists($eventName, $this->listenerIndex)) {
-
// Create a new index.
$listeners = [];
$listenersPriority = [];
- if (isset($this->listeners[$eventName])) foreach ($this->listeners[$eventName] as $listener) {
-
- $listenersPriority[] = $listener[0];
- $listeners[] = $listener[1];
-
+ if (isset($this->listeners[$eventName])) {
+ foreach ($this->listeners[$eventName] as $listener) {
+ $listenersPriority[] = $listener[0];
+ $listeners[] = $listener[1];
+ }
}
foreach ($this->wildcardListeners as $wcEvent => $wcListeners) {
-
// Wildcard match
if (\substr($eventName, 0, \strlen($wcEvent)) === $wcEvent) {
-
foreach ($wcListeners as $listener) {
-
$listenersPriority[] = $listener[0];
$listeners[] = $listener[1];
-
}
-
}
-
}
// Sorting by priority
@@ -168,11 +149,9 @@ trait WildcardEmitterTrait {
// Creating index
$this->listenerIndex[$eventName] = $listeners;
-
}
return $this->listenerIndex[$eventName];
-
}
/**
@@ -181,14 +160,14 @@ trait WildcardEmitterTrait {
* If the listener could not be found, this method will return false. If it
* was removed it will return true.
*/
- function removeListener(string $eventName, callable $listener) : bool {
-
- // If it ends with a wildcard, we use the wildcardListeners array
- if ($eventName[\strlen($eventName) - 1] === '*') {
+ public function removeListener(string $eventName, callable $listener): bool
+ {
+ // If it ends with a wildcard, we use the wildcardListeners array
+ if ('*' === $eventName[\strlen($eventName) - 1]) {
$eventName = \substr($eventName, 0, -1);
- $listeners = & $this->wildcardListeners;
+ $listeners = &$this->wildcardListeners;
} else {
- $listeners = & $this->listeners;
+ $listeners = &$this->listeners;
}
if (!isset($listeners[$eventName])) {
@@ -196,21 +175,17 @@ trait WildcardEmitterTrait {
}
foreach ($listeners[$eventName] as $index => $check) {
-
if ($check[1] === $listener) {
-
// Remove listener
unset($listeners[$eventName][$index]);
// Reset index
$this->listenerIndex = [];
- return true;
+ return true;
}
-
}
return false;
-
}
/**
@@ -219,38 +194,32 @@ trait WildcardEmitterTrait {
* If the eventName argument is specified, all listeners for that event are
* removed. If it is not specified, every listener for every event is
* removed.
- *
- * @return void
*/
- function removeAllListeners(string $eventName = null) {
-
+ public function removeAllListeners(string $eventName = null)
+ {
if (\is_null($eventName)) {
$this->listeners = [];
$this->wildcardListeners = [];
-
} else {
-
- if ($eventName[\strlen($eventName) - 1] === '*') {
+ if ('*' === $eventName[\strlen($eventName) - 1]) {
// Wildcard event
unset($this->wildcardListeners[\substr($eventName, 0, -1)]);
} else {
unset($this->listeners[$eventName]);
}
-
}
// Reset index
$this->listenerIndex = [];
-
}
/**
- * The list of listeners
+ * The list of listeners.
*/
protected $listeners = [];
/**
- * The list of "wildcard listeners".
+ * The list of "wildcard listeners".
*/
protected $wildcardListeners = [];
diff --git a/vendor/sabre/event/lib/coroutine.php b/vendor/sabre/event/lib/coroutine.php
index 750e8ab52..a6a2baf41 100644
--- a/vendor/sabre/event/lib/coroutine.php
+++ b/vendor/sabre/event/lib/coroutine.php
@@ -1,4 +1,6 @@
-<?php declare (strict_types=1);
+<?php
+
+declare(strict_types=1);
namespace Sabre\Event;
@@ -41,12 +43,13 @@ use Throwable;
* });
*
* @return \Sabre\Event\Promise
+ *
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
* @license http://sabre.io/license/ Modified BSD License
*/
-function coroutine(callable $gen) : Promise {
-
+function coroutine(callable $gen): Promise
+{
$generator = $gen();
if (!$generator instanceof Generator) {
throw new \InvalidArgumentException('You must pass a generator function');
@@ -59,22 +62,20 @@ function coroutine(callable $gen) : Promise {
* So tempted to use the mythical y-combinator here, but it's not needed in
* PHP.
*/
- $advanceGenerator = function() use (&$advanceGenerator, $generator, $promise, &$lastYieldResult) {
-
+ $advanceGenerator = function () use (&$advanceGenerator, $generator, $promise) {
while ($generator->valid()) {
-
$yieldedValue = $generator->current();
if ($yieldedValue instanceof Promise) {
$yieldedValue->then(
- function($value) use ($generator, &$advanceGenerator, &$lastYieldResult) {
+ function ($value) use ($generator, &$advanceGenerator) {
$generator->send($value);
$advanceGenerator();
},
- function(Throwable $reason) use ($generator, $advanceGenerator) {
+ function (Throwable $reason) use ($generator, $advanceGenerator) {
$generator->throw($reason);
$advanceGenerator();
}
- )->otherwise(function(Throwable $reason) use ($promise) {
+ )->otherwise(function (Throwable $reason) use ($promise) {
// This error handler would be called, if something in the
// generator throws an exception, and it's not caught
// locally.
@@ -87,31 +88,25 @@ function coroutine(callable $gen) : Promise {
// If the value was not a promise, we'll just let it pass through.
$generator->send($yieldedValue);
}
-
}
// If the generator is at the end, and we didn't run into an exception,
// We're grabbing the "return" value and fulfilling our top-level
// promise with its value.
- if (!$generator->valid() && $promise->state === Promise::PENDING) {
- $returnValue = $generator->getReturn();
-
- // The return value is a promise.
- if ($returnValue instanceof Promise) {
- $returnValue->then(function($value) use ($promise) {
- $promise->fulfill($value);
- }, function(Throwable $reason) {
- $promise->reject($reason);
- });
- } else {
-
- $promise->fulfill($returnValue);
-
- }
-
-
+ if (!$generator->valid() && Promise::PENDING === $promise->state) {
+ $returnValue = $generator->getReturn();
+
+ // The return value is a promise.
+ if ($returnValue instanceof Promise) {
+ $returnValue->then(function ($value) use ($promise) {
+ $promise->fulfill($value);
+ }, function (Throwable $reason) use ($promise) {
+ $promise->reject($reason);
+ });
+ } else {
+ $promise->fulfill($returnValue);
+ }
}
-
};
try {
@@ -121,5 +116,4 @@ function coroutine(callable $gen) : Promise {
}
return $promise;
-
}
diff --git a/vendor/sabre/event/phpstan.neon b/vendor/sabre/event/phpstan.neon
new file mode 100644
index 000000000..213da6dad
--- /dev/null
+++ b/vendor/sabre/event/phpstan.neon
@@ -0,0 +1,2 @@
+parameters:
+ level: 1
diff --git a/vendor/sabre/event/phpunit.xml.dist b/vendor/sabre/event/phpunit.xml.dist
deleted file mode 100644
index ccd59be9c..000000000
--- a/vendor/sabre/event/phpunit.xml.dist
+++ /dev/null
@@ -1,18 +0,0 @@
-<phpunit
- colors="true"
- bootstrap="vendor/autoload.php"
- convertErrorsToExceptions="true"
- convertNoticesToExceptions="true"
- convertWarningsToExceptions="true"
- strict="true"
- >
- <testsuite name="sabre-event">
- <directory>tests/</directory>
- </testsuite>
-
- <filter>
- <whitelist addUncoveredFilesFromWhitelist="true">
- <directory suffix=".php">./lib/</directory>
- </whitelist>
- </filter>
-</phpunit>
diff --git a/vendor/sabre/http/.gitignore b/vendor/sabre/http/.gitignore
index 5f85ecc1b..d291af69a 100644
--- a/vendor/sabre/http/.gitignore
+++ b/vendor/sabre/http/.gitignore
@@ -5,14 +5,19 @@ composer.lock
# Tests
tests/cov/
+# phpunit cache
+.phpunit.result.cache
+
# Composer binaries
bin/phpunit*
bin/phpcs*
bin/php-cs-fixer*
-bin/sabre-cs-fixer*
+bin/phpstan
+bin/phpstan.phar
# Vim
.*.swp
# development stuff
+/.idea
.php_cs.cache
diff --git a/vendor/sabre/http/.php_cs.dist b/vendor/sabre/http/.php_cs.dist
index 8d61ee259..c5c78a971 100644
--- a/vendor/sabre/http/.php_cs.dist
+++ b/vendor/sabre/http/.php_cs.dist
@@ -6,7 +6,7 @@ $config->getFinder()
->in(__DIR__);
$config->setRules([
'@PSR1' => true,
- '@Symfony' =>true
+ '@Symfony' => true
]);
return $config; \ No newline at end of file
diff --git a/vendor/sabre/http/.travis.yml b/vendor/sabre/http/.travis.yml
index 3b85d5f39..daa24bff5 100644
--- a/vendor/sabre/http/.travis.yml
+++ b/vendor/sabre/http/.travis.yml
@@ -1,11 +1,10 @@
language: php
sudo: required
php:
- - 7.0
- 7.1
- 7.2
- 7.3
- - 7.4snapshot
+ - 7.4
env:
global:
@@ -26,7 +25,7 @@ cache:
- $HOME/.composer/cache
install:
- - if [ $RUN_PHPSTAN == "TRUE" ]; then composer require --dev phpstan/phpstan; fi
+ - if [ $RUN_PHPSTAN == "TRUE" ]; then composer require --dev phpstan/phpstan:^0.12; fi
before_script:
- composer update --prefer-source $PREFER_LOWEST
@@ -34,6 +33,7 @@ before_script:
- sudo $PHP_BIN -S localhost:80 -t $TRAVIS_BUILD_DIR/tests/www 2>/dev/null &
script:
+ - if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/php-cs-fixer fix --dry-run --diff; fi
- if [ $RUN_PHPSTAN == "FALSE" ]; then ./bin/phpunit --configuration tests/phpunit.xml $WITH_COVERAGE; fi
- if [ $RUN_PHPSTAN == "TRUE" ]; then php ./bin/phpstan analyse -c phpstan.neon lib; fi
diff --git a/vendor/sabre/http/CHANGELOG.md b/vendor/sabre/http/CHANGELOG.md
index 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/Property/VCard/PhoneNumber.php b/vendor/sabre/vobject/lib/Property/VCard/PhoneNumber.php
new file mode 100644
index 000000000..b714ffd03
--- /dev/null
+++ b/vendor/sabre/vobject/lib/Property/VCard/PhoneNumber.php
@@ -0,0 +1,30 @@
+<?php
+
+namespace Sabre\VObject\Property\VCard;
+
+use Sabre\VObject\Property;
+
+/**
+ * PhoneNumber property.
+ *
+ * This object encodes PHONE-NUMBER values.
+ *
+ * @author Christian Kraus <christian@kraus.work>
+ */
+class PhoneNumber extends Property\Text
+{
+ protected $structuredValues = [];
+
+ /**
+ * Returns the type of value.
+ *
+ * This corresponds to the VALUE= parameter. Every property also has a
+ * 'default' valueType.
+ *
+ * @return string
+ */
+ public function getValueType()
+ {
+ return 'PHONE-NUMBER';
+ }
+}
diff --git a/vendor/sabre/vobject/lib/Recur/EventIterator.php b/vendor/sabre/vobject/lib/Recur/EventIterator.php
index 135ecf00e..fd904b383 100644
--- a/vendor/sabre/vobject/lib/Recur/EventIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/EventIterator.php
@@ -380,8 +380,6 @@ class EventIterator implements \Iterator
/**
* Quickly jump to a date in the future.
- *
- * @param DateTimeInterface $dateTime
*/
public function fastForward(DateTimeInterface $dateTime)
{
diff --git a/vendor/sabre/vobject/lib/Recur/NoInstancesException.php b/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
index b55af567d..348c02306 100644
--- a/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
+++ b/vendor/sabre/vobject/lib/Recur/NoInstancesException.php
@@ -7,7 +7,7 @@ use Exception;
/**
* This exception gets thrown when a recurrence iterator produces 0 instances.
*
- * This may happen when every occurence in a rrule is also in EXDATE.
+ * This may happen when every occurrence in a rrule is also in EXDATE.
*
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
* @author Evert Pot (http://evertpot.com/)
diff --git a/vendor/sabre/vobject/lib/Recur/RDateIterator.php b/vendor/sabre/vobject/lib/Recur/RDateIterator.php
index 013694b95..d117e152c 100644
--- a/vendor/sabre/vobject/lib/Recur/RDateIterator.php
+++ b/vendor/sabre/vobject/lib/Recur/RDateIterator.php
@@ -24,8 +24,7 @@ class RDateIterator implements Iterator
/**
* Creates the Iterator.
*
- * @param string|array $rrule
- * @param DateTimeInterface $start
+ * @param string|array $rrule
*/
public function __construct($rrule, DateTimeInterface $start)
{
@@ -107,8 +106,6 @@ class RDateIterator implements Iterator
/**
* This method allows you to quickly go to the next occurrence after the
* specified date.
- *
- * @param DateTimeInterface $dt
*/
public function fastForward(DateTimeInterface $dt)
{
diff --git a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php
index 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/sabre/xml/phpstan.neon b/vendor/sabre/xml/phpstan.neon
new file mode 100644
index 000000000..d6dd4e577
--- /dev/null
+++ b/vendor/sabre/xml/phpstan.neon
@@ -0,0 +1,6 @@
+parameters:
+ level: 5
+ ignoreErrors:
+ -
+ message: '!Parameter #3 \$uri of method XMLWriter::startElementNs\(\) expects string, null given.!'
+ path: lib/Writer.php
diff --git a/vendor/simplepie/simplepie/CHANGELOG.md b/vendor/simplepie/simplepie/CHANGELOG.md
new file mode 100644
index 000000000..60395f0f7
--- /dev/null
+++ b/vendor/simplepie/simplepie/CHANGELOG.md
@@ -0,0 +1,134 @@
+## 1.5.5 (May 1, 2020)
+
+* Ensure that feeds retrieved with `force_feed` do not share the same cache as those retrieved without. [#643](https://github.com/simplepie/simplepie/pull/643)
+* Removed references to removed PHP directives and some PHP < 5.6 checks. [#645](https://github.com/simplepie/simplepie/pull/645)
+* Corrected incorrect alumni name. [#638](https://github.com/simplepie/simplepie/pull/638)
+
+## 1.5.4 (December 17, 2019)
+
+* PHP 5.6 or newer is now required. [#625](https://github.com/simplepie/simplepie/pull/625)
+* Fixed invalid docblock parameter types [#633](https://github.com/simplepie/simplepie/pull/633)
+* Added support for German short forms for weekdays and months. [#632](https://github.com/simplepie/simplepie/pull/632)
+* PHP 7.4 support: Fixed instances of accessing array offset on null type values. [#628](https://github.com/simplepie/simplepie/pull/628)
+* Return an effective feed URL when asking for non-permanent `subscribe_url`. [#627](https://github.com/simplepie/simplepie/pull/627)
+
+## 1.5.3 (September 22, 2019)
+
+* Replaced `pow()` call with `**` operator (micro performance optimization). [#622](https://github.com/simplepie/simplepie/pull/622)
+* Match links containing `feed` in the Locator class. [#621](https://github.com/simplepie/simplepie/pull/621)
+* PHP 7.4 support: Ensure the proper argument order for `implode()` calls. [#617](https://github.com/simplepie/simplepie/pull/617)
+* Added support for Russian dates. [#607](https://github.com/simplepie/simplepie/pull/607)
+* Preemptively changed `is_writeable()` calls to `is_writable()` in case the former is deprecated in PHP. [#604](https://github.com/simplepie/simplepie/pull/604)
+
+## 1.5.2 (August 2, 2018)
+
+* Added support for PHPUnit 6. [#565](https://github.com/simplepie/simplepie/pull/565)
+* Added PHP module requirements to Composer. [#590](https://github.com/simplepie/simplepie/pull/590)
+* Added support for Redis password and database. [#589](https://github.com/simplepie/simplepie/pull/589)
+* Changed the spelling of `writeable` to `writable` within inline documentation. [#586](https://github.com/simplepie/simplepie/pull/586)
+* Fixed various issues in the test suite and Travis. [#576](https://github.com/simplepie/simplepie/pull/576)
+* Removed ambiguous tests failing on `usort()` in PHP 7. [#578](https://github.com/simplepie/simplepie/pull/578)
+* Simplified logic for some function returns. [#573](https://github.com/simplepie/simplepie/pull/573)
+* Fixed inline documentation for return value types for accuracy. [#570](https://github.com/simplepie/simplepie/pull/570)
+* Fixed Travis to run `composer install`. [#567](https://github.com/simplepie/simplepie/pull/567)
+* Removed unnecessary `else`s when a value has already been returned. [#566](https://github.com/simplepie/simplepie/pull/566)
+* Fixed a bug where URL fragments are included when `SimplePie_File` normalizes URLs when really old versions of cURL are used. [#564](https://github.com/simplepie/simplepie/pull/564)
+* Updated `SimplePie_Locator` to respect cURL options specified. [#561](https://github.com/simplepie/simplepie/pull/561)
+
+## 1.5.1 (November 17, 2017)
+
+* Fixed photos so they are not added if the URL is empty. [#530](https://github.com/simplepie/simplepie/pull/530)
+* Fixed issues with retrieving feeds from behind a proxy. [#512](https://github.com/simplepie/simplepie/pull/512)/[#548](https://github.com/simplepie/simplepie/pull/548)
+* Updated favicon URL in `get_favicon()`. [#525](https://github.com/simplepie/simplepie/pull/525)
+* Fixed inline documentation typo. [#540](https://github.com/simplepie/simplepie/pull/540)
+* Removed extra closing `<a>` tag. [#537](https://github.com/simplepie/simplepie/pull/537)
+* Removed and updated feed URLs in the demo. [#535](https://github.com/simplepie/simplepie/pull/535)
+* Improvements to microformat feed parsing. [#533](https://github.com/simplepie/simplepie/pull/533)
+* Switched from regex to xpath for microformats discovery. [#536](https://github.com/simplepie/simplepie/pull/536)
+* Update the registry if the Sanitize class has been changed. [#532](https://github.com/simplepie/simplepie/pull/532)
+* Changed the sanitization type for author and category back to text from HTML. [#531](https://github.com/simplepie/simplepie/pull/531)
+
+## 1.5 (April 17, 2017)
+
+* Introduced `SimplePie_Category->get_type()` for retrieving category type. [#492](https://github.com/simplepie/simplepie/pull/492)
+* Added `$enable_exceptions` to the class property declarations for `SimplePie` class. [#504](https://github.com/simplepie/simplepie/pull/504)
+* Titles are now parsed for ATOM10 enclosure links. [#507](https://github.com/simplepie/simplepie/pull/507)
+* `$item->get_id()` can now be forced to return the supplied ID instead of generating a new one. [#509](https://github.com/simplepie/simplepie/pull/509)
+
+## 1.4.3 (November 26, 2016)
+
+* Removed support for PHP 5.2. [#469](https://github.com/simplepie/simplepie/pull/469)
+* Added support for the PHP `UConverter` class. [#485](https://github.com/simplepie/simplepie/pull/485)
+* PHP 7.1 Support: Fixed PHP error when trying to use a non-numeric value in `round()`. [#458](https://github.com/simplepie/simplepie/pull/458)
+* PHP 7 Support: Fixed deprecated message for old style constructors. [#489](https://github.com/simplepie/simplepie/pull/489)
+* Fixed the error message shown when a feed has an empty body. [#487](https://github.com/simplepie/simplepie/pull/487)
+* Added an error message when the XML or PCRE PHP extensions are missing. [#468](https://github.com/simplepie/simplepie/pull/468)
+* Check the result of sanitize before returning in `get_content()` and `get_description()`. [#494](https://github.com/simplepie/simplepie/pull/494)
+* Use `saveHTML()` to fix issues with non UTF-8 characters. [#470](https://github.com/simplepie/simplepie/pull/470)
+* Stop passing compressed data through `trim()`. [#455](https://github.com/simplepie/simplepie/pull/455)
+* Refactored the UTF-8 conversion error message. [#467](https://github.com/simplepie/simplepie/pull/467)
+* Updated the readme file. [#486](https://github.com/simplepie/simplepie/pull/486)
+* Added command line support for compayibility test. [#481](https://github.com/simplepie/simplepie/pull/481)
+* Added PHP 7.1 to the testing matrix. [#462](https://github.com/simplepie/simplepie/pull/462)
+* Use the latest HHVM version in testing (3.15.2). [#480](https://github.com/simplepie/simplepie/pull/480)
+* Added PHPUnit as a `dev-dependency` in Composer. [#463](https://github.com/simplepie/simplepie/pull/463)
+* Added `mf2/mf2` as a suggestion in Composer for use with microformats. [#491](https://github.com/simplepie/simplepie/pull/491)
+* Fixed misspelled occurrences of "separated". [#459](https://github.com/simplepie/simplepie/pull/459)
+* Improvements to the compatibility test and error messages. [#488](https://github.com/simplepie/simplepie/pull/488)
+
+## 1.4.2 (June 14, 2016)
+
+* Fixed a bug with IRI parsing.
+* More cleanly separates discovery of microformats and parsing when php-mf2 is not present.
+
+## 1.4.1 (June 2, 2016)
+
+* Fixed inconsistent hash results in `SimplePie_Item->get_id()`.
+* Leading and trailing whitespace is now trimmed from XML feed content to prevent errors. [#445](https://github.com/simplepie/simplepie/pull/445)
+* Improved support for microformat feeds.
+
+## 1.4.0 (April 25, 2016)
+
+* Dropped support for PHP 5.2. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Serialized data is now used for hashing in `SimplePie_Item->get_id()`. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added support for PHP 5.5 and 5.6. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added the `add_attributes()` method to `SimplePie`. [#394](https://github.com/simplepie/simplepie/pull/394)
+* Added the `force_cache_fallback()` method to `SimplePie` to allow an expired cache to be used when a feed is unavailable. [#389](https://github.com/simplepie/simplepie/pull/389)
+* Added Memcached. [#386](https://github.com/simplepie/simplepie/pull/386)
+* Added `set_curl_options()` method to `SimplePie` to allow custom options. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added Redis Caching. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added the CEST timezone. [#380](https://github.com/simplepie/simplepie/pull/380)
+* Added support for HTTP 301 Moved Permanently. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added support for `application/x-rss+xml` in `SimplePie_Locator`. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added photo de-duping in microformats. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added decoding for special characters in MAYBE_HTML. [#400](https://github.com/simplepie/simplepie/pull/400)
+* Added `SimplePie_Exception` for internally reporting errors. Also, use this to show an error when trying to load the class instead of causing a failure. [#241](https://github.com/simplepie/simplepie/pull/241)
+* Added sanitization of the `</html>` and `</body>` tags. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added support for media thumbnails through `SimplePie_Item->get_thumbnail()`. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added the `feed_url` to a returned error message. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Added cache purging after a specified period of time when using MySQL cache. [#329](https://github.com/simplepie/simplepie/pull/329)
+* Added backwards compatibility for removed `subscribe_*()` and `enable_xml_dump()` methods. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Re-added the deprecated `get/set_favicon()` methods for backwards compatibility.
+* Charsets are now compared without case sensitivity to avoid duplicates. [#352](https://github.com/simplepie/simplepie/pull/352)
+* Fixed encoding of ampersands in `SimplePie->subscribe_url()`. [#348](https://github.com/simplepie/simplepie/pull/348)
+* The feed URL is now updated based on the URL returned by cURL. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Explicitly use UTF-8 in `SimplePie_Misc->get_element()` and `Simple_ie_Misc->element_implode()`. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Improved support, feed and authorship discovery, and parsing for microformats. [#348](https://github.com/simplepie/simplepie/pull/348)
+* `rss:pubDate` is now used over `atom:updated` when determining the posting date. [#288](https://github.com/simplepie/simplepie/pull/288)
+* Simplified the use of `mtime()` and `touch()`. [#403](https://github.com/simplepie/simplepie/pull/403)
+* All items are now forced to have a timestamp. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Fixed typo in the date parser that incorrectly identified September as month 8. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Fixed backwards compatibility with cache subclasses. [#243](https://github.com/simplepie/simplepie/pull/243)
+* Fixed a bug where the updated date was not fetched correctly. [#239](https://github.com/simplepie/simplepie/pull/239)
+* Fixed the datatype for `items.data` to be more appropriate in when using MySQL cache. [#302](https://github.com/simplepie/simplepie/pull/302)
+* Fixed cURL not failing when the server returns an error. [#425](https://github.com/simplepie/simplepie/pull/425)
+* Fixed an error caused when trying to instantiate a `SimplePie_File` object with a bad URI. [#272](https://github.com/simplepie/simplepie/pull/272)
+* Fixed a PHP notice that occurs when a date starts with `(`. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Fixed uninitialized string offeset PHP notices. [#353](https://github.com/simplepie/simplepie/pull/353)
+* Fixed call to non-existent property in Memcache. [#311](https://github.com/simplepie/simplepie/pull/311)
+* Fixed a bug where MySQL statements were not being passed thorugh `prepare()`. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Fixed an instance where an error message in `SimplePie` was not being triggered correctly. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Fixed a bug with Russian feeds. [#348](https://github.com/simplepie/simplepie/pull/348)
+* Fixed an issue with memory leaks. [#287](https://github.com/simplepie/simplepie/pull/287)
+* Fixed use of `DOMElement` as array. [#315](https://github.com/simplepie/simplepie/pull/315)
+* Improved the error message when a feed cannot be found. [#348](https://github.com/simplepie/simplepie/pull/348)
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/change_log.txt b/vendor/smarty/smarty/CHANGELOG.md
index aeb17e4d9..7eb151bf8 100644
--- a/vendor/smarty/smarty/change_log.txt
+++ b/vendor/smarty/smarty/CHANGELOG.md
@@ -1,4 +1,35 @@
-===== 3.1.34-dev-6 =====
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+## [3.1.36] - 2020-04-14
+
+### Fixed
+ - Smarty::SMARTY_VERSION wasn't updated in v3.1.35 https://github.com/smarty-php/smarty/issues/584
+
+## [3.1.35] - 2020-04-14
+ - remove whitespaces after comments https://github.com/smarty-php/smarty/issues/447
+ - fix foreachelse on arrayiterators https://github.com/smarty-php/smarty/issues/506
+ - fix files contained in git export archive for package maintainers https://github.com/smarty-php/smarty/issues/325
+ - throw SmartyException when setting caching attributes for cacheable plugin https://github.com/smarty-php/smarty/issues/457
+ - fix errors that occured where isset was replaced with null check such as https://github.com/smarty-php/smarty/issues/453
+ - unit tests are now in the repository
+
+## 3.1.34 release - 05.11.2019
+13.01.2020
+ - fix typo in exception message (JercSi)
+ - fix typehint warning with callable (bets4breakfast)
+ - add travis badge and compatability info to readme (matks)
+ - fix stdClass cast when compiling foreach (carpii)
+ - fix wrong set/get methods for memcached (IT-Experte)
+ - fix pborm assigning value to object variables in smarty_internal_compile_assign (Hunman)
+ - exclude error_reporting.ini from git export (glensc)
+
+## 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
@@ -26,8 +57,8 @@
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 =====
+## 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
@@ -49,14 +80,14 @@
- 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 =====
+## 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 =====
+## 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
@@ -68,7 +99,7 @@
- bugfix regarding Security Vulnerability did not solve the problem under Linux.
Security issue CVE-2018-16831
-===== 3.1.32 ===== (24.04.2018)
+## 3.1.32 - (24.04.2018)
24.04.2018
- bugfix possible Security Vulnerability in Smarty_Security class.
@@ -209,7 +240,7 @@
13.4.2017
- bugfix array_merge() parameter should be checked https://github.com/smarty-php/smarty/issues/350
-===== 3.1.31 ===== (14.12.2016)
+## 3.1.31 - (14.12.2016)
23.11.2016
- move template object cache into static variables
@@ -323,7 +354,7 @@
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)
+## 3.1.30 - (07.08.2016)
07.08.2016
- bugfix update of 04.08.2016 was incomplete
@@ -546,7 +577,7 @@
- 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)
+ - 3.1.29 - (21.12.2015)
21.12.2015
- optimization improve speed of filetime checks on extends and extendsall resource
@@ -582,7 +613,7 @@
- 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)
+ - 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)
@@ -761,18 +792,18 @@
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)
+ - 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)
+ - 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)
+ - 3.1.25- (15.06.2015)
15.06.2015
- optimization of smarty_cachereource_keyvaluestore.php code
@@ -802,7 +833,7 @@
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)
+ - 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)
@@ -840,12 +871,12 @@
- 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)
+ - 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
+ - 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
@@ -997,7 +1028,7 @@
- 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)
+ - 3.1.21 - (18.10.2014)
18.10.2014
- composer moved to github
@@ -1020,7 +1051,7 @@
- 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)
+ - 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)
@@ -1040,7 +1071,7 @@
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)
+ - 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)
@@ -1067,7 +1098,7 @@
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)
+ - 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)
@@ -1096,7 +1127,7 @@
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 =====
+ - 3.1.17 -
08.03.2014
- bugfix relative file path {include} within {block} of child templates did throw exception on first call (Issue 177)
@@ -1127,7 +1158,7 @@
- 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 =====
+ - 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
@@ -1160,13 +1191,13 @@
03.10.2013
- bugfix loops using modifier capitalize did eat up memory (issue 159)
- ===== Smarty 3.1.15 =====
+ - 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)
+ - improvement added patch for additional SmartyCompilerException properties for better access to source information (forum topic 24559)
16.09.2013
- bugfix recompiled templates did not show on first request with zend opcache cache (forum topic 24320)
@@ -1224,7 +1255,7 @@
2.7.2013
- bugfix trimwhitespace would replace captured items in wrong order (forum topic 24387)
-===== Smarty-3.1.14 =====
+## Smarty-3.1.14 -
27.06.2013
- bugfix removed PHP 5.5 deprecated preg_replace /e option in modifier capitalize (forum topic 24389)
@@ -1257,7 +1288,7 @@
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 =====
+## Smarty-3.1.13 -
13.01.2013
- enhancement allow to disable exception message escaping by SmartyException::$escape = false; (Issue #130)
@@ -1288,7 +1319,7 @@
01.11.2012
- bugfix muteExcpetedErrors() would screw up for non-readable paths (Issue #118)
-===== Smarty-3.1.12 =====
+## Smarty-3.1.12 -
14.09.2012
- bugfix template inheritance failed to compile with delimiters {/ and /} (Forum Topic 23008)
@@ -1333,7 +1364,7 @@
- bugfix the default plugin handler did create wrong compiled code for static class methods
from external script files (issue 108)
-===== Smarty-3.1.11 =====
+## Smarty-3.1.11 -
30.06.2012
- bugfix {block.. hide} did not work as nested child (Forum Topic 22216)
@@ -1346,12 +1377,12 @@
11.06.2012
- bugfix the patch for Topic 21856 did break tabs between tag attributes (Forum Topic 22124)
-===== Smarty-3.1.10 =====
+## 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 =====
+## 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)
@@ -1405,7 +1436,7 @@
- enhancement the default plugin handler can now also resolve undefined modifier (Smarty::PLUGIN_MODIFIER)
(Issue 85)
-===== Smarty-3.1.8 =====
+## 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)
@@ -1452,7 +1483,7 @@
- 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 =====
+## 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
@@ -1477,7 +1508,7 @@
- bugfix template inheritance: {$smarty.block.child} in nested child {block} tags did not return expected
result (Forum Topic 20564)
-===== Smarty-3.1.6 =====
+## 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)
@@ -1502,7 +1533,7 @@
- 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 =====
+## Smarty-3.1.5 -
14.11.2011
- bugfix allow space between function name and open bracket (forum topic 20375)
@@ -1534,7 +1565,7 @@
- revert PHP4 constructor message
- fixed PHP4 constructor message
-===== Smarty-3.1.4 =====
+## Smarty-3.1.4 -
19.10.2011
- added exception when using PHP4 style constructor
@@ -1563,7 +1594,7 @@
- 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 =====
+## 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)
@@ -1590,7 +1621,7 @@
- add unloadFilter() method
- bugfix has_nocache_code flag was not reset before compilation
-===== Smarty-3.1.2 =====
+## Smarty-3.1.2 -
03.10.2011
- improvement add internal $joined_template_dir property instead computing it on the fly several times
@@ -1630,7 +1661,7 @@
extended Smarty class created problems
- bugfix error muting was not implemented for cache locking
-===== Smarty 3.1.1 =====
+## 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
@@ -1663,7 +1694,7 @@
- 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 =====
+## Smarty 3.1.0 -
15/09/2011
- optimization of {foreach}; call internal _count() method only when "total" or "last" {foreach} properties are used
@@ -1756,7 +1787,7 @@
- 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 =====
+## 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
@@ -1957,7 +1988,7 @@
24/12/2010
- optimize smarty_function_escape_special_chars() for PHP >= 5.2.3
-===== SVN 3.0 trunk =====
+## SVN 3.0 trunk -
14/05/2011
- bugfix error handling at stream resources
@@ -2017,7 +2048,7 @@
- removed obsolete {popup_init..} plugin from demo templates
- bugfix replace $smarty->triggerError() by exception in smarty_internal_resource_extends.php
-===== Smarty 3.0.7 =====
+## Smarty 3.0.7 -
09/02/2011
- patched vulnerability when using {$smarty.template}
@@ -2071,7 +2102,7 @@
- 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 =====
+## Smarty 3.0.6 -
12/12/2010
- bugfix fixed typo regarding yesterdays change to allow streamWrapper
@@ -2106,7 +2137,7 @@
- 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 =====
+## Smarty 3.0.5 -
19/11/2010
@@ -2133,7 +2164,7 @@
- bugfix captured content could not be accessed globally
- bugfix Smarty2 wrapper functions could not be call from within plugins
-===== Smarty 3.0.4 =====
+## Smarty 3.0.4 -
14/11/2010
- bugfix isset() did not allow multiple parameter
@@ -2146,7 +2177,7 @@
(introduced with 3.0.2)
- code cleanup
-===== Smarty 3.0.3 =====
+## Smarty 3.0.3 -
13/11/2010
- bugfix on {debug}
@@ -2155,7 +2186,7 @@
- fixed internal_config (removed unwanted code line)
- improvement remove last linebreak from {function} definition
-===== Smarty 3.0.2 =====
+## Smarty 3.0.2 -
12/11/2010
- reactivated $error_reporting property handling
@@ -2165,7 +2196,7 @@
with transparent access to Smarty object
- fixed {config_load} scoping form compile time to run time
-===== Smarty 3.0.0 =====
+## Smarty 3.0.0 -
@@ -2207,7 +2238,7 @@ request_use_auto_globals
- bugfix on template inheritance using nested eval or string resource in {extends} tags
- bugfix on output buffer handling in isCached() method
-===== RC4 =====
+## RC4 -
01/10/2010
- added {break} and {continue} tags for flow control of {foreach},{section},{for} and {while} loops
@@ -2304,7 +2335,7 @@ request_use_auto_globals
15/07/2010
- bufix {$smarty.template} does include now the relative path, not just filename
-===== RC3 =====
+## RC3 -
@@ -2358,7 +2389,7 @@ request_use_auto_globals
- make handling of Smarty comments followed by newline BC to Smarty2
-===== RC2 =====
+## RC2 -
@@ -2430,7 +2461,7 @@ request_use_auto_globals
- 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 =====
+## RC1 -
27/04/2010
- change default of $debugging_ctrl to 'NONE'
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/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/lexer/smarty_internal_configfilelexer.plex b/vendor/smarty/smarty/lexer/smarty_internal_configfilelexer.plex
new file mode 100644
index 000000000..7a86fadc4
--- /dev/null
+++ b/vendor/smarty/smarty/lexer/smarty_internal_configfilelexer.plex
@@ -0,0 +1,318 @@
+<?php
+/**
+* Smarty Internal Plugin Configfilelexer
+*
+* This is the lexer to break the config file source into tokens
+* @package Smarty
+* @subpackage Config
+* @author Uwe Tews
+*/
+/**
+* Smarty_Internal_Configfilelexer
+*
+* This is the config file lexer.
+* It is generated from the smarty_internal_configfilelexer.plex file
+*
+* @package Smarty
+* @subpackage Compiler
+* @author Uwe Tews
+*/
+class Smarty_Internal_Configfilelexer
+{
+ /**
+ * Source
+ *
+ * @var string
+ */
+ public $data;
+ /**
+ * Source length
+ *
+ * @var int
+ */
+ public $dataLength = null;
+ /**
+ * byte counter
+ *
+ * @var int
+ */
+ public $counter;
+ /**
+ * token number
+ *
+ * @var int
+ */
+ public $token;
+ /**
+ * token value
+ *
+ * @var string
+ */
+ public $value;
+ /**
+ * current line
+ *
+ * @var int
+ */
+ public $line;
+ /**
+ * state number
+ *
+ * @var int
+ */
+ public $state = 1;
+ /**
+ * Smarty object
+ *
+ * @var Smarty
+ */
+ public $smarty = null;
+ /**
+ * compiler object
+ *
+ * @var Smarty_Internal_Config_File_Compiler
+ */
+ private $compiler = null;
+ /**
+ * copy of config_booleanize
+ *
+ * @var bool
+ */
+ private $configBooleanize = false;
+ /**
+ * trace file
+ *
+ * @var resource
+ */
+ public $yyTraceFILE;
+ /**
+ * trace prompt
+ *
+ * @var string
+ */
+ public $yyTracePrompt;
+ /**
+ * state names
+ *
+ * @var array
+ */
+ public $state_name = array(1 => 'START', 2 => 'VALUE', 3 => 'NAKED_STRING_VALUE', 4 => 'COMMENT', 5 => 'SECTION', 6 => 'TRIPPLE');
+
+ /**
+ * storage for assembled token patterns
+ *
+ * @var string
+ */
+ private $yy_global_pattern1 = null;
+ private $yy_global_pattern2 = null;
+ private $yy_global_pattern3 = null;
+ private $yy_global_pattern4 = null;
+ private $yy_global_pattern5 = null;
+ private $yy_global_pattern6 = null;
+
+ /**
+ * token names
+ *
+ * @var array
+ */
+ public $smarty_token_names = array( // Text for parser error messages
+ );
+
+ /**
+ * constructor
+ *
+ * @param string $data template source
+ * @param Smarty_Internal_Config_File_Compiler $compiler
+ */
+ public function __construct($data, Smarty_Internal_Config_File_Compiler $compiler)
+ {
+ $this->data = $data . "\n"; //now all lines are \n-terminated
+ $this->dataLength = strlen($data);
+ $this->counter = 0;
+ if (preg_match('/^\xEF\xBB\xBF/', $this->data, $match)) {
+ $this->counter += strlen($match[0]);
+ }
+ $this->line = 1;
+ $this->compiler = $compiler;
+ $this->smarty = $compiler->smarty;
+ $this->configBooleanize = $this->smarty->config_booleanize;
+ }
+
+ public function replace ($input) {
+ return $input;
+ }
+
+ public function PrintTrace()
+ {
+ $this->yyTraceFILE = fopen('php://output', 'w');
+ $this->yyTracePrompt = '<br>';
+ }
+
+
+/*!lex2php
+%input $this->data
+%counter $this->counter
+%token $this->token
+%value $this->value
+%line $this->line
+commentstart = /#|;/
+openB = /\[/
+closeB = /\]/
+section = /.*?(?=[\.=\[\]\r\n])/
+equal = /=/
+whitespace = /[ \t\r]+/
+dot = /\./
+id = /[0-9]*[a-zA-Z_]\w*/
+newline = /\n/
+single_quoted_string = /'[^'\\]*(?:\\.[^'\\]*)*'(?=[ \t\r]*[\n#;])/
+double_quoted_string = /"[^"\\]*(?:\\.[^"\\]*)*"(?=[ \t\r]*[\n#;])/
+tripple_quotes = /"""/
+tripple_quotes_end = /"""(?=[ \t\r]*[\n#;])/
+text = /[\S\s]/
+float = /\d+\.\d+(?=[ \t\r]*[\n#;])/
+int = /\d+(?=[ \t\r]*[\n#;])/
+maybe_bool = /[a-zA-Z]+(?=[ \t\r]*[\n#;])/
+naked_string = /[^\n]+?(?=[ \t\r]*\n)/
+*/
+
+/*!lex2php
+%statename START
+
+commentstart {
+ $this->token = Smarty_Internal_Configfileparser::TPC_COMMENTSTART;
+ $this->yypushstate(self::COMMENT);
+}
+openB {
+ $this->token = Smarty_Internal_Configfileparser::TPC_OPENB;
+ $this->yypushstate(self::SECTION);
+}
+closeB {
+ $this->token = Smarty_Internal_Configfileparser::TPC_CLOSEB;
+}
+equal {
+ $this->token = Smarty_Internal_Configfileparser::TPC_EQUAL;
+ $this->yypushstate(self::VALUE);
+}
+whitespace {
+ return false;
+}
+newline {
+ $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
+}
+id {
+ $this->token = Smarty_Internal_Configfileparser::TPC_ID;
+}
+text {
+ $this->token = Smarty_Internal_Configfileparser::TPC_OTHER;
+}
+
+*/
+
+/*!lex2php
+%statename VALUE
+
+whitespace {
+ return false;
+}
+float {
+ $this->token = Smarty_Internal_Configfileparser::TPC_FLOAT;
+ $this->yypopstate();
+}
+int {
+ $this->token = Smarty_Internal_Configfileparser::TPC_INT;
+ $this->yypopstate();
+}
+tripple_quotes {
+ $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES;
+ $this->yypushstate(self::TRIPPLE);
+}
+single_quoted_string {
+ $this->token = Smarty_Internal_Configfileparser::TPC_SINGLE_QUOTED_STRING;
+ $this->yypopstate();
+}
+double_quoted_string {
+ $this->token = Smarty_Internal_Configfileparser::TPC_DOUBLE_QUOTED_STRING;
+ $this->yypopstate();
+}
+maybe_bool {
+ if (!$this->configBooleanize || !in_array(strtolower($this->value), array('true', 'false', 'on', 'off', 'yes', 'no')) ) {
+ $this->yypopstate();
+ $this->yypushstate(self::NAKED_STRING_VALUE);
+ return true; //reprocess in new state
+ } else {
+ $this->token = Smarty_Internal_Configfileparser::TPC_BOOL;
+ $this->yypopstate();
+ }
+}
+naked_string {
+ $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
+ $this->yypopstate();
+}
+newline {
+ $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
+ $this->value = '';
+ $this->yypopstate();
+}
+
+*/
+
+/*!lex2php
+%statename NAKED_STRING_VALUE
+
+naked_string {
+ $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
+ $this->yypopstate();
+}
+
+*/
+
+/*!lex2php
+%statename COMMENT
+
+whitespace {
+ return false;
+}
+naked_string {
+ $this->token = Smarty_Internal_Configfileparser::TPC_NAKED_STRING;
+}
+newline {
+ $this->token = Smarty_Internal_Configfileparser::TPC_NEWLINE;
+ $this->yypopstate();
+}
+
+*/
+
+/*!lex2php
+%statename SECTION
+
+dot {
+ $this->token = Smarty_Internal_Configfileparser::TPC_DOT;
+}
+section {
+ $this->token = Smarty_Internal_Configfileparser::TPC_SECTION;
+ $this->yypopstate();
+}
+
+*/
+/*!lex2php
+%statename TRIPPLE
+
+tripple_quotes_end {
+ $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_QUOTES_END;
+ $this->yypopstate();
+ $this->yypushstate(self::START);
+}
+text {
+ $to = strlen($this->data);
+ preg_match("/\"\"\"[ \t\r]*[\n#;]/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ } else {
+ $this->compiler->trigger_config_file_error ('missing or misspelled literal closing tag');
+ }
+ $this->value = substr($this->data,$this->counter,$to-$this->counter);
+ $this->token = Smarty_Internal_Configfileparser::TPC_TRIPPLE_TEXT;
+}
+*/
+
+}
diff --git a/vendor/smarty/smarty/lexer/smarty_internal_configfileparser.y b/vendor/smarty/smarty/lexer/smarty_internal_configfileparser.y
new file mode 100644
index 000000000..c981b58e9
--- /dev/null
+++ b/vendor/smarty/smarty/lexer/smarty_internal_configfileparser.y
@@ -0,0 +1,346 @@
+/**
+* Smarty Internal Plugin Configfileparser
+*
+* This is the config file parser
+*
+*
+* @package Smarty
+* @subpackage Config
+* @author Uwe Tews
+*/
+%name TPC_
+%declare_class {
+/**
+* Smarty Internal Plugin Configfileparse
+*
+* This is the config file parser.
+* It is generated from the smarty_internal_configfileparser.y file
+* @package Smarty
+* @subpackage Compiler
+* @author Uwe Tews
+*/
+class Smarty_Internal_Configfileparser
+}
+%include_class
+{
+ /**
+ * result status
+ *
+ * @var bool
+ */
+ public $successful = true;
+ /**
+ * return value
+ *
+ * @var mixed
+ */
+ public $retvalue = 0;
+ /**
+ * @var
+ */
+ public $yymajor;
+ /**
+ * lexer object
+ *
+ * @var Smarty_Internal_Configfilelexer
+ */
+ private $lex;
+ /**
+ * internal error flag
+ *
+ * @var bool
+ */
+ private $internalError = false;
+ /**
+ * compiler object
+ *
+ * @var Smarty_Internal_Config_File_Compiler
+ */
+ public $compiler = null;
+ /**
+ * smarty object
+ *
+ * @var Smarty
+ */
+ public $smarty = null;
+ /**
+ * copy of config_overwrite property
+ *
+ * @var bool
+ */
+ private $configOverwrite = false;
+ /**
+ * copy of config_read_hidden property
+ *
+ * @var bool
+ */
+ private $configReadHidden = false;
+ /**
+ * helper map
+ *
+ * @var array
+ */
+ private static $escapes_single = array('\\' => '\\',
+ '\'' => '\'');
+
+ /**
+ * constructor
+ *
+ * @param Smarty_Internal_Configfilelexer $lex
+ * @param Smarty_Internal_Config_File_Compiler $compiler
+ */
+ public function __construct(Smarty_Internal_Configfilelexer $lex, Smarty_Internal_Config_File_Compiler $compiler)
+ {
+ $this->lex = $lex;
+ $this->smarty = $compiler->smarty;
+ $this->compiler = $compiler;
+ $this->configOverwrite = $this->smarty->config_overwrite;
+ $this->configReadHidden = $this->smarty->config_read_hidden;
+ }
+
+ /**
+ * parse optional boolean keywords
+ *
+ * @param string $str
+ *
+ * @return bool
+ */
+ private function parse_bool($str)
+ {
+ $str = strtolower($str);
+ if (in_array($str, array('on', 'yes', 'true'))) {
+ $res = true;
+ } else {
+ $res = false;
+ }
+ return $res;
+ }
+
+ /**
+ * parse single quoted string
+ * remove outer quotes
+ * unescape inner quotes
+ *
+ * @param string $qstr
+ *
+ * @return string
+ */
+ private static function parse_single_quoted_string($qstr)
+ {
+ $escaped_string = substr($qstr, 1, strlen($qstr) - 2); //remove outer quotes
+
+ $ss = preg_split('/(\\\\.)/', $escaped_string, - 1, PREG_SPLIT_DELIM_CAPTURE);
+
+ $str = '';
+ foreach ($ss as $s) {
+ if (strlen($s) === 2 && $s[0] === '\\') {
+ if (isset(self::$escapes_single[$s[1]])) {
+ $s = self::$escapes_single[$s[1]];
+ }
+ }
+ $str .= $s;
+ }
+ return $str;
+ }
+
+ /**
+ * parse double quoted string
+ *
+ * @param string $qstr
+ *
+ * @return string
+ */
+ private static function parse_double_quoted_string($qstr)
+ {
+ $inner_str = substr($qstr, 1, strlen($qstr) - 2);
+ return stripcslashes($inner_str);
+ }
+
+ /**
+ * parse triple quoted string
+ *
+ * @param string $qstr
+ *
+ * @return string
+ */
+ private static function parse_tripple_double_quoted_string($qstr)
+ {
+ return stripcslashes($qstr);
+ }
+
+ /**
+ * set a config variable in target array
+ *
+ * @param array $var
+ * @param array $target_array
+ */
+ private function set_var(array $var, array &$target_array)
+ {
+ $key = $var['key'];
+ $value = $var['value'];
+
+ if ($this->configOverwrite || !isset($target_array['vars'][$key])) {
+ $target_array['vars'][$key] = $value;
+ } else {
+ settype($target_array['vars'][$key], 'array');
+ $target_array['vars'][$key][] = $value;
+ }
+ }
+
+ /**
+ * add config variable to global vars
+ *
+ * @param array $vars
+ */
+ private function add_global_vars(array $vars)
+ {
+ if (!isset($this->compiler->config_data['vars'])) {
+ $this->compiler->config_data['vars'] = array();
+ }
+ foreach ($vars as $var) {
+ $this->set_var($var, $this->compiler->config_data);
+ }
+ }
+
+ /**
+ * add config variable to section
+ *
+ * @param string $section_name
+ * @param array $vars
+ */
+ private function add_section_vars($section_name, array $vars)
+ {
+ if (!isset($this->compiler->config_data['sections'][$section_name]['vars'])) {
+ $this->compiler->config_data['sections'][$section_name]['vars'] = array();
+ }
+ foreach ($vars as $var) {
+ $this->set_var($var, $this->compiler->config_data['sections'][$section_name]);
+ }
+ }
+}
+
+%token_prefix TPC_
+
+%parse_accept
+{
+ $this->successful = !$this->internalError;
+ $this->internalError = false;
+ $this->retvalue = $this->_retvalue;
+}
+
+%syntax_error
+{
+ $this->internalError = true;
+ $this->yymajor = $yymajor;
+ $this->compiler->trigger_config_file_error();
+}
+
+%stack_overflow
+{
+ $this->internalError = true;
+ $this->compiler->trigger_config_file_error('Stack overflow in configfile parser');
+}
+
+// Complete config file
+start(res) ::= global_vars sections. {
+ res = null;
+}
+
+// Global vars
+global_vars(res) ::= var_list(vl). {
+ $this->add_global_vars(vl);
+ res = null;
+}
+
+// Sections
+sections(res) ::= sections section. {
+ res = null;
+}
+
+sections(res) ::= . {
+ res = null;
+}
+
+section(res) ::= OPENB SECTION(i) CLOSEB newline var_list(vars). {
+ $this->add_section_vars(i, vars);
+ res = null;
+}
+
+section(res) ::= OPENB DOT SECTION(i) CLOSEB newline var_list(vars). {
+ if ($this->configReadHidden) {
+ $this->add_section_vars(i, vars);
+ }
+ res = null;
+}
+
+// Var list
+var_list(res) ::= var_list(vl) newline. {
+ res = vl;
+}
+
+var_list(res) ::= var_list(vl) var(v). {
+ res = array_merge(vl, array(v));
+}
+
+var_list(res) ::= . {
+ res = array();
+}
+
+
+// Var
+var(res) ::= ID(id) EQUAL value(v). {
+ res = array('key' => id, 'value' => v);
+}
+
+
+value(res) ::= FLOAT(i). {
+ res = (float) i;
+}
+
+value(res) ::= INT(i). {
+ res = (int) i;
+}
+
+value(res) ::= BOOL(i). {
+ res = $this->parse_bool(i);
+}
+
+value(res) ::= SINGLE_QUOTED_STRING(i). {
+ res = self::parse_single_quoted_string(i);
+}
+
+value(res) ::= DOUBLE_QUOTED_STRING(i). {
+ res = self::parse_double_quoted_string(i);
+}
+
+value(res) ::= TRIPPLE_QUOTES(i) TRIPPLE_TEXT(c) TRIPPLE_QUOTES_END(ii). {
+ res = self::parse_tripple_double_quoted_string(c);
+}
+
+value(res) ::= TRIPPLE_QUOTES(i) TRIPPLE_QUOTES_END(ii). {
+ res = '';
+}
+
+value(res) ::= NAKED_STRING(i). {
+ res = i;
+}
+
+// NOTE: this is not a valid rule
+// It is added hier to produce a usefull error message on a missing '=';
+value(res) ::= OTHER(i). {
+ res = i;
+}
+
+
+// Newline and comments
+newline(res) ::= NEWLINE. {
+ res = null;
+}
+
+newline(res) ::= COMMENTSTART NEWLINE. {
+ res = null;
+}
+
+newline(res) ::= COMMENTSTART NAKED_STRING NEWLINE. {
+ res = null;
+}
diff --git a/vendor/smarty/smarty/lexer/smarty_internal_templatelexer.plex b/vendor/smarty/smarty/lexer/smarty_internal_templatelexer.plex
new file mode 100644
index 000000000..ac1250255
--- /dev/null
+++ b/vendor/smarty/smarty/lexer/smarty_internal_templatelexer.plex
@@ -0,0 +1,696 @@
+<?php
+/*
+ * This file is part of Smarty.
+ *
+ * (c) 2015 Uwe Tews
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+/**
+ * Smarty_Internal_Templatelexer
+ * This is the template file lexer.
+ * It is generated from the smarty_internal_templatelexer.plex file
+ *
+ *
+ * @author Uwe Tews <uwe.tews@googlemail.com>
+ */
+class Smarty_Internal_Templatelexer
+{
+ /**
+ * Source
+ *
+ * @var string
+ */
+ public $data;
+
+ /**
+ * Source length
+ *
+ * @var int
+ */
+ public $dataLength = null;
+
+ /**
+ * byte counter
+ *
+ * @var int
+ */
+ public $counter;
+
+ /**
+ * token number
+ *
+ * @var int
+ */
+ public $token;
+
+ /**
+ * token value
+ *
+ * @var string
+ */
+ public $value;
+
+ /**
+ * current line
+ *
+ * @var int
+ */
+ public $line;
+
+ /**
+ * tag start line
+ *
+ * @var
+ */
+ public $taglineno;
+
+ /**
+ * php code type
+ *
+ * @var string
+ */
+ public $phpType = '';
+
+ /**
+ * state number
+ *
+ * @var int
+ */
+ public $state = 1;
+
+ /**
+ * Smarty object
+ *
+ * @var Smarty
+ */
+ public $smarty = null;
+
+ /**
+ * compiler object
+ *
+ * @var Smarty_Internal_TemplateCompilerBase
+ */
+ public $compiler = null;
+
+ /**
+ * trace file
+ *
+ * @var resource
+ */
+ public $yyTraceFILE;
+
+ /**
+ * trace prompt
+ *
+ * @var string
+ */
+ public $yyTracePrompt;
+
+ /**
+ * XML flag true while processing xml
+ *
+ * @var bool
+ */
+ public $is_xml = false;
+
+ /**
+ * state names
+ *
+ * @var array
+ */
+ public $state_name = array(1 => 'TEXT', 2 => 'TAG', 3 => 'TAGBODY', 4 => 'LITERAL', 5 => 'DOUBLEQUOTEDSTRING',);
+
+ /**
+ * token names
+ *
+ * @var array
+ */
+ public $smarty_token_names = array( // Text for parser error messages
+ 'NOT' => '(!,not)',
+ 'OPENP' => '(',
+ 'CLOSEP' => ')',
+ 'OPENB' => '[',
+ 'CLOSEB' => ']',
+ 'PTR' => '->',
+ 'APTR' => '=>',
+ 'EQUAL' => '=',
+ 'NUMBER' => 'number',
+ 'UNIMATH' => '+" , "-',
+ 'MATH' => '*" , "/" , "%',
+ 'INCDEC' => '++" , "--',
+ 'SPACE' => ' ',
+ 'DOLLAR' => '$',
+ 'SEMICOLON' => ';',
+ 'COLON' => ':',
+ 'DOUBLECOLON' => '::',
+ 'AT' => '@',
+ 'HATCH' => '#',
+ 'QUOTE' => '"',
+ 'BACKTICK' => '`',
+ 'VERT' => '"|" modifier',
+ 'DOT' => '.',
+ 'COMMA' => '","',
+ 'QMARK' => '"?"',
+ 'ID' => 'id, name',
+ 'TEXT' => 'text',
+ 'LDELSLASH' => '{/..} closing tag',
+ 'LDEL' => '{...} Smarty tag',
+ 'COMMENT' => 'comment',
+ 'AS' => 'as',
+ 'TO' => 'to',
+ 'PHP' => '"<?php", "<%", "{php}" tag',
+ 'LOGOP' => '"<", "==" ... logical operator',
+ 'TLOGOP' => '"lt", "eq" ... logical operator; "is div by" ... if condition',
+ 'SCOND' => '"is even" ... if condition',
+ );
+
+ /**
+ * literal tag nesting level
+ *
+ * @var int
+ */
+ private $literal_cnt = 0;
+
+ /**
+ * preg token pattern for state TEXT
+ *
+ * @var string
+ */
+ private $yy_global_pattern1 = null;
+
+ /**
+ * preg token pattern for state TAG
+ *
+ * @var string
+ */
+ private $yy_global_pattern2 = null;
+
+ /**
+ * preg token pattern for state TAGBODY
+ *
+ * @var string
+ */
+ private $yy_global_pattern3 = null;
+
+ /**
+ * preg token pattern for state LITERAL
+ *
+ * @var string
+ */
+ private $yy_global_pattern4 = null;
+
+ /**
+ * preg token pattern for state DOUBLEQUOTEDSTRING
+ *
+ * @var null
+ */
+ private $yy_global_pattern5 = null;
+
+ /**
+ * preg token pattern for text
+ *
+ * @var null
+ */
+ private $yy_global_text = null;
+
+ /**
+ * preg token pattern for literal
+ *
+ * @var null
+ */
+ private $yy_global_literal = null;
+
+ /**
+ * constructor
+ *
+ * @param string $source template source
+ * @param Smarty_Internal_TemplateCompilerBase $compiler
+ */
+ public function __construct($source, Smarty_Internal_TemplateCompilerBase $compiler)
+ {
+ $this->data = $source;
+ $this->dataLength = strlen($this->data);
+ $this->counter = 0;
+ if (preg_match('/^\xEF\xBB\xBF/i', $this->data, $match)) {
+ $this->counter += strlen($match[0]);
+ }
+ $this->line = 1;
+ $this->smarty = $compiler->template->smarty;
+ $this->compiler = $compiler;
+ $this->compiler->initDelimiterPreg();
+ $this->smarty_token_names['LDEL'] = $this->smarty->getLeftDelimiter();
+ $this->smarty_token_names['RDEL'] = $this->smarty->getRightDelimiter();
+ }
+
+ /**
+ * open lexer/parser trace file
+ *
+ */
+ public function PrintTrace()
+ {
+ $this->yyTraceFILE = fopen('php://output', 'w');
+ $this->yyTracePrompt = '<br>';
+ }
+
+ /**
+ * replace placeholders with runtime preg code
+ *
+ * @param string $preg
+ *
+ * @return string
+ */
+ public function replace($preg)
+ {
+ return $this->compiler->replaceDelimiter($preg);
+ }
+
+ /**
+ * check if current value is an autoliteral left delimiter
+ *
+ * @return bool
+ */
+ public function isAutoLiteral()
+ {
+ return $this->smarty->getAutoLiteral() && isset($this->value[ $this->compiler->getLdelLength() ]) ?
+ strpos(" \n\t\r", $this->value[ $this->compiler->getLdelLength() ]) !== false : false;
+ }
+
+ /*!lex2php
+ %input $this->data
+ %counter $this->counter
+ %token $this->token
+ %value $this->value
+ %line $this->line
+ userliteral = ~(SMARTYldel)SMARTYautoliteral\s+SMARTYliteral~
+ char = ~[\S\s]~
+ textdoublequoted = ~([^"\\]*?)((?:\\.[^"\\]*?)*?)(?=((SMARTYldel)SMARTYal|\$|`\$|"SMARTYliteral))~
+ namespace = ~([0-9]*[a-zA-Z_]\w*)?(\\[0-9]*[a-zA-Z_]\w*)+~
+ emptyjava = ~[{][}]~
+ phptag = ~(SMARTYldel)SMARTYalphp([ ].*?)?SMARTYrdel|(SMARTYldel)SMARTYal[/]phpSMARTYrdel~
+ phpstart = ~[<][?]((php\s+|=)|\s+)|[<][%]|[<][?]xml\s+|[<]script\s+language\s*=\s*["']?\s*php\s*["']?\s*[>]|[?][>]|[%][>]~
+ slash = ~[/]~
+ ldel = ~(SMARTYldel)SMARTYal~
+ rdel = ~\s*SMARTYrdel~
+ nocacherdel = ~(\s+nocache)?\s*SMARTYrdel~
+ smartyblockchildparent = ~[\$]smarty\.block\.(child|parent)~
+ integer = ~\d+~
+ hex = ~0[xX][0-9a-fA-F]+~
+ math = ~\s*([*]{1,2}|[%/^&]|[<>]{2})\s*~
+ comment = ~(SMARTYldel)SMARTYal[*]~
+ incdec = ~([+]|[-]){2}~
+ unimath = ~\s*([+]|[-])\s*~
+ openP = ~\s*[(]\s*~
+ closeP = ~\s*[)]~
+ openB = ~\[\s*~
+ closeB = ~\s*\]~
+ dollar = ~[$]~
+ dot = ~[.]~
+ comma = ~\s*[,]\s*~
+ doublecolon = ~[:]{2}~
+ colon = ~\s*[:]\s*~
+ at = ~[@]~
+ hatch = ~[#]~
+ semicolon = ~\s*[;]\s*~
+ equal = ~\s*[=]\s*~
+ space = ~\s+~
+ ptr = ~\s*[-][>]\s*~
+ aptr = ~\s*[=][>]\s*~
+ singlequotestring = ~'[^'\\]*(?:\\.[^'\\]*)*'~
+ backtick = ~[`]~
+ vert = ~[|][@]?~
+ qmark = ~\s*[?]\s*~
+ constant = ~[_]+[A-Z0-9][0-9A-Z_]*|[A-Z][0-9A-Z_]*(?![0-9A-Z_]*[a-z])~
+ attr = ~\s+[0-9]*[a-zA-Z_][a-zA-Z0-9_\-:]*\s*[=]\s*~
+ id = ~[0-9]*[a-zA-Z_]\w*~
+ literal = ~literal~
+ strip = ~strip~
+ lop = ~\s*([!=][=]{1,2}|[<][=>]?|[>][=]?|[&|]{2})\s*~
+ slop = ~\s+(eq|ne|neq|gt|ge|gte|lt|le|lte|mod|and|or|xor)\s+~
+ tlop = ~\s+is\s+(not\s+)?(odd|even|div)\s+by\s+~
+ scond = ~\s+is\s+(not\s+)?(odd|even)~
+ isin = ~\s+is\s+in\s+~
+ as = ~\s+as\s+~
+ to = ~\s+to\s+~
+ step = ~\s+step\s+~
+ if = ~(if|elseif|else if|while)\s+~
+ for = ~for\s+~
+ makenocache = ~make_nocache\s+~
+ array = ~array~
+ foreach = ~foreach(?![^\s])~
+ setfilter = ~setfilter\s+~
+ instanceof = ~\s+instanceof\s+~
+ not = ~[!]\s*|not\s+~
+ typecast = ~[(](int(eger)?|bool(ean)?|float|double|real|string|binary|array|object)[)]\s*~
+ double_quote = ~["]~
+ */
+ /*!lex2php
+ %statename TEXT
+ emptyjava {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ comment {
+ $to = $this->dataLength;
+ preg_match("/[*]{$this->compiler->getRdelPreg()}[\n]?/",$this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1] + strlen($match[0][0]);
+ } else {
+ $this->compiler->trigger_template_error ("missing or misspelled comment closing tag '{$this->smarty->getRightDelimiter()}'");
+ }
+ $this->value = substr($this->data,$this->counter,$to-$this->counter);
+ return false;
+ }
+ phptag {
+ $this->compiler->getTagCompiler('private_php')->parsePhp($this);
+ }
+ userliteral {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ ldel literal rdel {
+ $this->token = Smarty_Internal_Templateparser::TP_LITERALSTART;
+ $this->yypushstate(self::LITERAL);
+ }
+ ldel slash literal rdel {
+ $this->token = Smarty_Internal_Templateparser::TP_LITERALEND;
+ $this->yypushstate(self::LITERAL);
+ }
+ ldel {
+ $this->yypushstate(self::TAG);
+ return true;
+ }
+ phpstart {
+ $this->compiler->getTagCompiler('private_php')->parsePhp($this);
+ }
+ char {
+ if (!isset($this->yy_global_text)) {
+ $this->yy_global_text = $this->replace('/(SMARTYldel)SMARTYal|[<][?]((php\s+|=)|\s+)|[<][%]|[<][?]xml\s+|[<]script\s+language\s*=\s*["\']?\s*php\s*["\']?\s*[>]|[?][>]|[%][>]SMARTYliteral/isS');
+ }
+ $to = $this->dataLength;
+ preg_match($this->yy_global_text, $this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ }
+ $this->value = substr($this->data,$this->counter,$to-$this->counter);
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ */
+ /*!lex2php
+ %statename TAG
+ ldel if {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELIF;
+ $this->yybegin(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ ldel for {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELFOR;
+ $this->yybegin(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ ldel foreach {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELFOREACH;
+ $this->yybegin(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ ldel setfilter {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELSETFILTER;
+ $this->yybegin(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ ldel makenocache {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELMAKENOCACHE;
+ $this->yybegin(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ ldel id nocacherdel {
+ $this->yypopstate();
+ $this->token = Smarty_Internal_Templateparser::TP_SIMPLETAG;
+ $this->taglineno = $this->line;
+ }
+ ldel smartyblockchildparent rdel {
+ $this->yypopstate();
+ $this->token = Smarty_Internal_Templateparser::TP_SMARTYBLOCKCHILDPARENT;
+ $this->taglineno = $this->line;
+ }
+ ldel slash id rdel {
+ $this->yypopstate();
+ $this->token = Smarty_Internal_Templateparser::TP_CLOSETAG;
+ $this->taglineno = $this->line;
+ }
+ ldel dollar id nocacherdel {
+ if ($this->_yy_stack[count($this->_yy_stack)-1] === self::TEXT) {
+ $this->yypopstate();
+ $this->token = Smarty_Internal_Templateparser::TP_SIMPELOUTPUT;
+ $this->taglineno = $this->line;
+ } else {
+ $this->value = $this->smarty->getLeftDelimiter();
+ $this->token = Smarty_Internal_Templateparser::TP_LDEL;
+ $this->yybegin(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ }
+ ldel slash {
+ $this->token = Smarty_Internal_Templateparser::TP_LDELSLASH;
+ $this->yybegin(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ ldel {
+ $this->token = Smarty_Internal_Templateparser::TP_LDEL;
+ $this->yybegin(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ */
+ /*!lex2php
+ %statename TAGBODY
+ rdel {
+ $this->token = Smarty_Internal_Templateparser::TP_RDEL;
+ $this->yypopstate();
+ }
+ ldel {
+ $this->yypushstate(self::TAG);
+ return true;
+ }
+ double_quote {
+ $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
+ $this->yypushstate(self::DOUBLEQUOTEDSTRING);
+ $this->compiler->enterDoubleQuote();
+ }
+ singlequotestring {
+ $this->token = Smarty_Internal_Templateparser::TP_SINGLEQUOTESTRING;
+ }
+ dollar id {
+ $this->token = Smarty_Internal_Templateparser::TP_DOLLARID;
+ }
+ dollar {
+ $this->token = Smarty_Internal_Templateparser::TP_DOLLAR;
+ }
+ isin {
+ $this->token = Smarty_Internal_Templateparser::TP_ISIN;
+ }
+ as {
+ $this->token = Smarty_Internal_Templateparser::TP_AS;
+ }
+ to {
+ $this->token = Smarty_Internal_Templateparser::TP_TO;
+ }
+ step {
+ $this->token = Smarty_Internal_Templateparser::TP_STEP;
+ }
+ instanceof {
+ $this->token = Smarty_Internal_Templateparser::TP_INSTANCEOF;
+ }
+ lop {
+ $this->token = Smarty_Internal_Templateparser::TP_LOGOP;
+ }
+ slop {
+ $this->token = Smarty_Internal_Templateparser::TP_SLOGOP;
+ }
+ tlop {
+ $this->token = Smarty_Internal_Templateparser::TP_TLOGOP;
+ }
+ scond {
+ $this->token = Smarty_Internal_Templateparser::TP_SINGLECOND;
+ }
+ not{
+ $this->token = Smarty_Internal_Templateparser::TP_NOT;
+ }
+ typecast {
+ $this->token = Smarty_Internal_Templateparser::TP_TYPECAST;
+ }
+ openP {
+ $this->token = Smarty_Internal_Templateparser::TP_OPENP;
+ }
+ closeP {
+ $this->token = Smarty_Internal_Templateparser::TP_CLOSEP;
+ }
+ openB {
+ $this->token = Smarty_Internal_Templateparser::TP_OPENB;
+ }
+ closeB {
+ $this->token = Smarty_Internal_Templateparser::TP_CLOSEB;
+ }
+ ptr {
+ $this->token = Smarty_Internal_Templateparser::TP_PTR;
+ }
+ aptr {
+ $this->token = Smarty_Internal_Templateparser::TP_APTR;
+ }
+ equal {
+ $this->token = Smarty_Internal_Templateparser::TP_EQUAL;
+ }
+ incdec {
+ $this->token = Smarty_Internal_Templateparser::TP_INCDEC;
+ }
+ unimath {
+ $this->token = Smarty_Internal_Templateparser::TP_UNIMATH;
+ }
+ math {
+ $this->token = Smarty_Internal_Templateparser::TP_MATH;
+ }
+ at {
+ $this->token = Smarty_Internal_Templateparser::TP_AT;
+ }
+ array openP {
+ $this->token = Smarty_Internal_Templateparser::TP_ARRAYOPEN;
+ }
+ hatch {
+ $this->token = Smarty_Internal_Templateparser::TP_HATCH;
+ }
+ attr {
+ // resolve conflicts with shorttag and right_delimiter starting with '='
+ if (substr($this->data, $this->counter + strlen($this->value) - 1, $this->compiler->getRdelLength()) === $this->smarty->getRightDelimiter()) {
+ preg_match('/\s+/',$this->value,$match);
+ $this->value = $match[0];
+ $this->token = Smarty_Internal_Templateparser::TP_SPACE;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_ATTR;
+ }
+ }
+ namespace {
+ $this->token = Smarty_Internal_Templateparser::TP_NAMESPACE;
+ }
+ id {
+ $this->token = Smarty_Internal_Templateparser::TP_ID;
+ }
+ integer {
+ $this->token = Smarty_Internal_Templateparser::TP_INTEGER;
+ }
+ backtick {
+ $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
+ $this->yypopstate();
+ }
+ vert {
+ $this->token = Smarty_Internal_Templateparser::TP_VERT;
+ }
+ dot {
+ $this->token = Smarty_Internal_Templateparser::TP_DOT;
+ }
+ comma {
+ $this->token = Smarty_Internal_Templateparser::TP_COMMA;
+ }
+ semicolon {
+ $this->token = Smarty_Internal_Templateparser::TP_SEMICOLON;
+ }
+ doublecolon {
+ $this->token = Smarty_Internal_Templateparser::TP_DOUBLECOLON;
+ }
+ colon {
+ $this->token = Smarty_Internal_Templateparser::TP_COLON;
+ }
+ qmark {
+ $this->token = Smarty_Internal_Templateparser::TP_QMARK;
+ }
+ hex {
+ $this->token = Smarty_Internal_Templateparser::TP_HEX;
+ }
+ space {
+ $this->token = Smarty_Internal_Templateparser::TP_SPACE;
+ }
+ char {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ */
+
+ /*!lex2php
+ %statename LITERAL
+ ldel literal rdel {
+ $this->literal_cnt++;
+ $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
+ }
+ ldel slash literal rdel {
+ if ($this->literal_cnt) {
+ $this->literal_cnt--;
+ $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
+ } else {
+ $this->token = Smarty_Internal_Templateparser::TP_LITERALEND;
+ $this->yypopstate();
+ }
+ }
+ char {
+ if (!isset($this->yy_global_literal)) {
+ $this->yy_global_literal = $this->replace('/(SMARTYldel)SMARTYal[\/]?literalSMARTYrdel/isS');
+ }
+ $to = $this->dataLength;
+ preg_match($this->yy_global_literal, $this->data,$match,PREG_OFFSET_CAPTURE,$this->counter);
+ if (isset($match[0][1])) {
+ $to = $match[0][1];
+ } else {
+ $this->compiler->trigger_template_error ("missing or misspelled literal closing tag");
+ }
+ $this->value = substr($this->data,$this->counter,$to-$this->counter);
+ $this->token = Smarty_Internal_Templateparser::TP_LITERAL;
+ }
+ */
+ /*!lex2php
+ %statename DOUBLEQUOTEDSTRING
+ userliteral {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ ldel literal rdel {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ ldel slash literal rdel {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ ldel slash {
+ $this->yypushstate(self::TAG);
+ return true;
+ }
+ ldel id {
+ $this->yypushstate(self::TAG);
+ return true;
+ }
+ ldel {
+ $this->token = Smarty_Internal_Templateparser::TP_LDEL;
+ $this->taglineno = $this->line;
+ $this->yypushstate(self::TAGBODY);
+ }
+ double_quote {
+ $this->token = Smarty_Internal_Templateparser::TP_QUOTE;
+ $this->yypopstate();
+ }
+ backtick dollar {
+ $this->token = Smarty_Internal_Templateparser::TP_BACKTICK;
+ $this->value = substr($this->value,0,-1);
+ $this->yypushstate(self::TAGBODY);
+ $this->taglineno = $this->line;
+ }
+ dollar id {
+ $this->token = Smarty_Internal_Templateparser::TP_DOLLARID;
+ }
+ dollar {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ textdoublequoted {
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ char {
+ $to = $this->dataLength;
+ $this->value = substr($this->data,$this->counter,$to-$this->counter);
+ $this->token = Smarty_Internal_Templateparser::TP_TEXT;
+ }
+ */
+ }
+
+ \ No newline at end of file
diff --git a/vendor/smarty/smarty/lexer/smarty_internal_templateparser.y b/vendor/smarty/smarty/lexer/smarty_internal_templateparser.y
new file mode 100644
index 000000000..b8c00e5d9
--- /dev/null
+++ b/vendor/smarty/smarty/lexer/smarty_internal_templateparser.y
@@ -0,0 +1,1271 @@
+/*
+ * This file is part of Smarty.
+ *
+ * (c) 2015 Uwe Tews
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+%stack_size 500
+%name TP_
+%declare_class {
+/**
+* Smarty Template Parser Class
+*
+* This is the template parser.
+* It is generated from the smarty_internal_templateparser.y file
+*
+* @author Uwe Tews <uwe.tews@googlemail.com>
+*/
+class Smarty_Internal_Templateparser
+}
+%include_class
+{
+ const ERR1 = 'Security error: Call to private object member not allowed';
+ const ERR2 = 'Security error: Call to dynamic object member not allowed';
+ const ERR3 = 'PHP in template not allowed. Use SmartyBC to enable it';
+
+ /**
+ * result status
+ *
+ * @var bool
+ */
+ public $successful = true;
+
+ /**
+ * return value
+ *
+ * @var mixed
+ */
+ public $retvalue = 0;
+
+ /**
+ * @var
+ */
+ public $yymajor;
+
+ /**
+ * last index of array variable
+ *
+ * @var mixed
+ */
+ public $last_index;
+
+ /**
+ * last variable name
+ *
+ * @var string
+ */
+ public $last_variable;
+
+ /**
+ * root parse tree buffer
+ *
+ * @var Smarty_Internal_ParseTree_Template
+ */
+ public $root_buffer;
+
+ /**
+ * current parse tree object
+ *
+ * @var Smarty_Internal_ParseTree
+ */
+ public $current_buffer;
+
+ /**
+ * lexer object
+ *
+ * @var Smarty_Internal_Templatelexer
+ */
+ public $lex;
+
+ /**
+ * internal error flag
+ *
+ * @var bool
+ */
+ private $internalError = false;
+
+ /**
+ * {strip} status
+ *
+ * @var bool
+ */
+ public $strip = false;
+ /**
+ * compiler object
+ *
+ * @var Smarty_Internal_TemplateCompilerBase
+ */
+ public $compiler = null;
+
+ /**
+ * smarty object
+ *
+ * @var Smarty
+ */
+ public $smarty = null;
+
+ /**
+ * template object
+ *
+ * @var Smarty_Internal_Template
+ */
+ public $template = null;
+
+ /**
+ * block nesting level
+ *
+ * @var int
+ */
+ public $block_nesting_level = 0;
+
+ /**
+ * security object
+ *
+ * @var Smarty_Security
+ */
+ public $security = null;
+
+ /**
+ * template prefix array
+ *
+ * @var \Smarty_Internal_ParseTree[]
+ */
+ public $template_prefix = array();
+
+ /**
+ * template prefix array
+ *
+ * @var \Smarty_Internal_ParseTree[]
+ */
+ public $template_postfix = array();
+
+ /**
+ * constructor
+ *
+ * @param Smarty_Internal_Templatelexer $lex
+ * @param Smarty_Internal_TemplateCompilerBase $compiler
+ */
+ public function __construct(Smarty_Internal_Templatelexer $lex, Smarty_Internal_TemplateCompilerBase $compiler)
+ {
+ $this->lex = $lex;
+ $this->compiler = $compiler;
+ $this->template = $this->compiler->template;
+ $this->smarty = $this->template->smarty;
+ $this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy : false;
+ $this->current_buffer = $this->root_buffer = new Smarty_Internal_ParseTree_Template();
+ }
+
+ /**
+ * insert PHP code in current buffer
+ *
+ * @param string $code
+ */
+ public function insertPhpCode($code)
+ {
+ $this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $code));
+ }
+
+ /**
+ * error rundown
+ *
+ */
+ public function errorRunDown()
+ {
+ while ($this->yystack !== array()) {
+ $this->yy_pop_parser_stack();
+ }
+ if (is_resource($this->yyTraceFILE)) {
+ fclose($this->yyTraceFILE);
+ }
+ }
+
+ /**
+ * merge PHP code with prefix code and return parse tree tag object
+ *
+ * @param string $code
+ *
+ * @return Smarty_Internal_ParseTree_Tag
+ */
+ public function mergePrefixCode($code)
+ {
+ $tmp = '';
+ foreach ($this->compiler->prefix_code as $preCode) {
+ $tmp .= $preCode;
+ }
+ $this->compiler->prefix_code = array();
+ $tmp .= $code;
+ return new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp, true));
+ }
+
+}
+
+%token_prefix TP_
+
+%parse_accept
+{
+ $this->successful = !$this->internalError;
+ $this->internalError = false;
+ $this->retvalue = $this->_retvalue;
+}
+
+%syntax_error
+{
+ $this->internalError = true;
+ $this->yymajor = $yymajor;
+ $this->compiler->trigger_template_error();
+}
+
+%stack_overflow
+{
+ $this->internalError = true;
+ $this->compiler->trigger_template_error('Stack overflow in template parser');
+}
+
+
+%right VERT.
+%left COLON.
+
+
+ //
+ // complete template
+ //
+start(res) ::= template. {
+ $this->root_buffer->prepend_array($this, $this->template_prefix);
+ $this->root_buffer->append_array($this, $this->template_postfix);
+ res = $this->root_buffer->to_smarty_php($this);
+}
+
+
+ // php tags
+template ::= template PHP(B). {
+ $code = $this->compiler->compileTag('private_php',array(array('code' => B), array('type' => $this->lex->phpType )),array());
+ if ($this->compiler->has_code && !empty($code)) {
+ $tmp =''; foreach ($this->compiler->prefix_code as $code) {$tmp.=$code;} $this->compiler->prefix_code=array();
+ $this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this, $this->compiler->processNocacheCode($tmp.$code,true)));
+ }
+}
+
+ // template text
+template ::= template TEXT(B). {
+ $this->current_buffer->append_subtree($this, $this->compiler->processText(B));
+}
+ // strip on
+template ::= template STRIPON. {
+ $this->strip = true;
+}
+ // strip off
+template ::= template STRIPOFF. {
+ $this->strip = false;
+}
+
+ // Literal
+template ::= template LITERALSTART literal_e2(B) LITERALEND. {
+ $this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Text(B));
+}
+
+
+literal_e2(A) ::= literal_e1(B) LITERALSTART literal_e1(C) LITERALEND. {
+ A = B.C;
+}
+literal_e2(A) ::= literal_e1(B). {
+ A = B;
+}
+
+literal_e1(A) ::= literal_e1(B) LITERAL(C). {
+ A = B.C;
+
+}
+
+literal_e1(A) ::= . {
+ A = '';
+}
+ // Smarty tag
+template ::= template smartytag(B). {
+ if ($this->compiler->has_code) {
+ $this->current_buffer->append_subtree($this, $this->mergePrefixCode(B));
+ }
+ $this->compiler->has_variable_string = false;
+ $this->block_nesting_level = count($this->compiler->_tag_stack);
+}
+
+
+ // empty template
+template ::= .
+
+smartytag(A) ::= SIMPELOUTPUT(B). {
+ $var = trim(substr(B, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()), ' $');
+ if (preg_match('/^(.*)(\s+nocache)$/', $var, $match)) {
+ A = $this->compiler->compileTag('private_print_expression',array('nocache'),array('value'=>$this->compiler->compileVariable('\''.$match[1].'\'')));
+ } else {
+ A = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$this->compiler->compileVariable('\''.$var.'\'')));
+ }
+}
+
+// simple tag like {name}
+smartytag(A)::= SIMPLETAG(B). {
+ $tag = trim(substr(B, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()));
+ if ($tag == 'strip') {
+ $this->strip = true;
+ A = null;;
+ } else {
+ if (defined($tag)) {
+ if ($this->security) {
+ $this->security->isTrustedConstant($tag, $this->compiler);
+ }
+ A = $this->compiler->compileTag('private_print_expression',array(),array('value'=>$tag));
+ } else {
+ if (preg_match('/^(.*)(\s+nocache)$/', $tag, $match)) {
+ A = $this->compiler->compileTag($match[1],array('\'nocache\''));
+ } else {
+ A = $this->compiler->compileTag($tag,array());
+ }
+ }
+ }
+}
+ // {$smarty.block.child} or {$smarty.block.parent}
+smartytag(A) ::= SMARTYBLOCKCHILDPARENT(i). {
+ $j = strrpos(i,'.');
+ if (i[$j+1] == 'c') {
+ // {$smarty.block.child}
+ A = $this->compiler->compileTag('child',array(),array(i));
+ } else {
+ // {$smarty.block.parent}
+ A = $this->compiler->compileTag('parent',array(),array(i));
+ }
+}
+
+smartytag(A) ::= LDEL tagbody(B) RDEL. {
+ A = B;
+}
+
+ smartytag(A) ::= tag(B) RDEL. {
+ A = B;
+ }
+ // output with optional attributes
+tagbody(A) ::= outattr(B). {
+ A = $this->compiler->compileTag('private_print_expression',B[1],array('value'=>B[0]));
+}
+
+//
+// Smarty tags start here
+//
+
+ // assign new style
+tagbody(A) ::= DOLLARID(B) eqoutattr(C). {
+ A = $this->compiler->compileTag('assign',array_merge(array(array('value'=>C[0]),array('var'=>'\''.substr(B,1).'\'')),C[1]));
+}
+
+tagbody(A) ::= varindexed(B) eqoutattr(C). {
+ A = $this->compiler->compileTag('assign',array_merge(array(array('value'=>C[0]),array('var'=>B['var'])),C[1]),array('smarty_internal_index'=>B['smarty_internal_index']));
+}
+
+eqoutattr(A) ::= EQUAL outattr(B). {
+ A = B;
+}
+
+outattr(A) ::= output(B) attributes(C). {
+ A = array(B,C);
+}
+
+output(A) ::= variable(B). {
+ A = B;
+}
+output(A) ::= value(B). {
+ A = B;
+}
+output(A) ::= expr(B). {
+ A = B;
+}
+
+ // tag with optional Smarty2 style attributes
+tag(res) ::= LDEL ID(i) attributes(a). {
+ if (defined(i)) {
+ if ($this->security) {
+ $this->security->isTrustedConstant(i, $this->compiler);
+ }
+ res = $this->compiler->compileTag('private_print_expression',a,array('value'=>i));
+ } else {
+ res = $this->compiler->compileTag(i,a);
+ }
+}
+tag(res) ::= LDEL ID(i). {
+ if (defined(i)) {
+ if ($this->security) {
+ $this->security->isTrustedConstant(i, $this->compiler);
+ }
+ res = $this->compiler->compileTag('private_print_expression',array(),array('value'=>i));
+ } else {
+ res = $this->compiler->compileTag(i,array());
+ }
+}
+
+
+ // tag with modifier and optional Smarty2 style attributes
+tag(res) ::= LDEL ID(i) modifierlist(l)attributes(a). {
+ if (defined(i)) {
+ if ($this->security) {
+ $this->security->isTrustedConstant(i, $this->compiler);
+ }
+ res = $this->compiler->compileTag('private_print_expression',a,array('value'=>i, 'modifierlist'=>l));
+ } else {
+ res = $this->compiler->compileTag(i,a, array('modifierlist'=>l));
+ }
+}
+
+ // registered object tag
+tag(res) ::= LDEL ID(i) PTR ID(m) attributes(a). {
+ res = $this->compiler->compileTag(i,a,array('object_method'=>m));
+}
+
+ // registered object tag with modifiers
+tag(res) ::= LDEL ID(i) PTR ID(me) modifierlist(l) attributes(a). {
+ res = $this->compiler->compileTag(i,a,array('modifierlist'=>l, 'object_method'=>me));
+}
+
+ // nocache tag
+tag(res) ::= LDELMAKENOCACHE DOLLARID(i). {
+ res = $this->compiler->compileTag('make_nocache',array(array('var'=>'\''.substr(i,1).'\'')));
+}
+
+ // {if}, {elseif} and {while} tag
+tag(res) ::= LDELIF(i) expr(ie). {
+ $tag = trim(substr(i,$this->compiler->getLdelLength()));
+ res = $this->compiler->compileTag(($tag === 'else if')? 'elseif' : $tag,array(),array('if condition'=>ie));
+}
+
+tag(res) ::= LDELIF(i) expr(ie) attributes(a). {
+ $tag = trim(substr(i,$this->compiler->getLdelLength()));
+ res = $this->compiler->compileTag(($tag === 'else if')? 'elseif' : $tag,a,array('if condition'=>ie));
+}
+
+tag(res) ::= LDELIF(i) statement(ie). {
+ $tag = trim(substr(i,$this->compiler->getLdelLength()));
+ res = $this->compiler->compileTag(($tag === 'else if')? 'elseif' : $tag,array(),array('if condition'=>ie));
+}
+
+tag(res) ::= LDELIF(i) statement(ie) attributes(a). {
+ $tag = trim(substr(i,$this->compiler->getLdelLength()));
+ res = $this->compiler->compileTag(($tag === 'else if')? 'elseif' : $tag,a,array('if condition'=>ie));
+}
+
+ // {for} tag
+tag(res) ::= LDELFOR statements(st) SEMICOLON expr(ie) SEMICOLON varindexed(v2) foraction(e2) attributes(a). {
+ res = $this->compiler->compileTag('for',array_merge(a,array(array('start'=>st),array('ifexp'=>ie),array('var'=>v2),array('step'=>e2))),1);
+}
+
+ foraction(res) ::= EQUAL expr(e). {
+ res = '='.e;
+}
+
+ foraction(res) ::= INCDEC(e). {
+ res = e;
+}
+
+tag(res) ::= LDELFOR statement(st) TO expr(v) attributes(a). {
+ res = $this->compiler->compileTag('for',array_merge(a,array(array('start'=>st),array('to'=>v))),0);
+}
+
+tag(res) ::= LDELFOR statement(st) TO expr(v) STEP expr(v2) attributes(a). {
+ res = $this->compiler->compileTag('for',array_merge(a,array(array('start'=>st),array('to'=>v),array('step'=>v2))),0);
+}
+
+ // {foreach} tag
+tag(res) ::= LDELFOREACH SPACE expr(e) AS varvar(v0) attributes(a). {
+ res = $this->compiler->compileTag('foreach',array_merge(a,array(array('from'=>e),array('item'=>v0))));
+}
+
+tag(res) ::= LDELFOREACH SPACE expr(e) AS varvar(v1) APTR varvar(v0) attributes(a). {
+ res = $this->compiler->compileTag('foreach',array_merge(a,array(array('from'=>e),array('item'=>v0),array('key'=>v1))));
+}
+tag(res) ::= LDELFOREACH attributes(a). {
+ res = $this->compiler->compileTag('foreach',a);
+}
+
+ // {setfilter}
+tag(res) ::= LDELSETFILTER ID(m) modparameters(p). {
+ res = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array(array_merge(array(m),p))));
+}
+
+tag(res) ::= LDELSETFILTER ID(m) modparameters(p) modifierlist(l). {
+ res = $this->compiler->compileTag('setfilter',array(),array('modifier_list'=>array_merge(array(array_merge(array(m),p)),l)));
+}
+
+
+ // end of block tag {/....}
+smartytag(res)::= CLOSETAG(t). {
+ $tag = trim(substr(t, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()), ' /');
+ if ($tag === 'strip') {
+ $this->strip = false;
+ res = null;
+ } else {
+ res = $this->compiler->compileTag($tag.'close',array());
+ }
+ }
+tag(res) ::= LDELSLASH ID(i). {
+ res = $this->compiler->compileTag(i.'close',array());
+}
+
+tag(res) ::= LDELSLASH ID(i) modifierlist(l). {
+ res = $this->compiler->compileTag(i.'close',array(),array('modifier_list'=>l));
+}
+
+ // end of block object tag {/....}
+tag(res) ::= LDELSLASH ID(i) PTR ID(m). {
+ res = $this->compiler->compileTag(i.'close',array(),array('object_method'=>m));
+}
+
+tag(res) ::= LDELSLASH ID(i) PTR ID(m) modifierlist(l). {
+ res = $this->compiler->compileTag(i.'close',array(),array('object_method'=>m, 'modifier_list'=>l));
+}
+
+//
+//Attributes of Smarty tags
+//
+ // list of attributes
+attributes(res) ::= attributes(a1) attribute(a2). {
+ res = a1;
+ res[] = a2;
+}
+
+ // single attribute
+attributes(res) ::= attribute(a). {
+ res = array(a);
+}
+
+ // no attributes
+attributes(res) ::= . {
+ res = array();
+}
+
+ // attribute
+attribute(res) ::= SPACE ID(v) EQUAL ID(id). {
+ if (defined(id)) {
+ if ($this->security) {
+ $this->security->isTrustedConstant(id, $this->compiler);
+ }
+ res = array(v=>id);
+ } else {
+ res = array(v=>'\''.id.'\'');
+ }
+}
+
+attribute(res) ::= ATTR(v) expr(e). {
+ res = array(trim(v," =\n\r\t")=>e);
+}
+
+attribute(res) ::= ATTR(v) value(e). {
+ res = array(trim(v," =\n\r\t")=>e);
+}
+
+attribute(res) ::= SPACE ID(v). {
+ res = '\''.v.'\'';
+}
+
+attribute(res) ::= SPACE expr(e). {
+ res = e;
+}
+
+attribute(res) ::= SPACE value(v). {
+ res = v;
+}
+
+attribute(res) ::= SPACE INTEGER(i) EQUAL expr(e). {
+ res = array(i=>e);
+}
+
+
+
+//
+// statement
+//
+statements(res) ::= statement(s). {
+ res = array(s);
+}
+
+statements(res) ::= statements(s1) COMMA statement(s). {
+ s1[]=s;
+ res = s1;
+}
+
+statement(res) ::= DOLLARID(i) EQUAL INTEGER(e). {
+ res = array('var' => '\''.substr(i,1).'\'', 'value'=>e);
+}
+statement(res) ::= DOLLARID(i) EQUAL expr(e). {
+ res = array('var' => '\''.substr(i,1).'\'', 'value'=>e);
+}
+
+statement(res) ::= varindexed(vi) EQUAL expr(e). {
+ res = array('var' => vi, 'value'=>e);
+}
+
+statement(res) ::= OPENP statement(st) CLOSEP. {
+ res = st;
+}
+
+
+//
+// expressions
+//
+
+ // single value
+expr(res) ::= value(v). {
+ res = v;
+}
+
+ // ternary
+expr(res) ::= ternary(v). {
+ res = v;
+}
+
+ // resources/streams
+expr(res) ::= DOLLARID(i) COLON ID(i2). {
+ res = '$_smarty_tpl->getStreamVariable(\''.substr(i,1).'://' . i2 . '\')';
+}
+
+ // arithmetic expression
+expr(res) ::= expr(e) MATH(m) value(v). {
+ res = e . trim(m) . v;
+}
+
+expr(res) ::= expr(e) UNIMATH(m) value(v). {
+ res = e . trim(m) . v;
+}
+
+// if expression
+ // special conditions
+expr(res) ::= expr(e1) tlop(c) value(e2). {
+ res = c['pre']. e1.c['op'].e2 .')';
+}
+ // simple expression
+expr(res) ::= expr(e1) lop(c) expr(e2). {
+ res = e1.c.e2;
+}
+
+expr(res) ::= expr(e1) scond(c). {
+ res = c . e1 . ')';
+}
+
+expr(res) ::= expr(e1) ISIN array(a). {
+ res = 'in_array('.e1.','.a.')';
+}
+
+expr(res) ::= expr(e1) ISIN value(v). {
+ res = 'in_array('.e1.',(array)'.v.')';
+}
+
+
+//
+// ternary
+//
+ternary(res) ::= OPENP expr(v) CLOSEP QMARK DOLLARID(e1) COLON expr(e2). {
+ res = v.' ? '. $this->compiler->compileVariable('\''.substr(e1,1).'\'') . ' : '.e2;
+}
+
+ternary(res) ::= OPENP expr(v) CLOSEP QMARK expr(e1) COLON expr(e2). {
+ res = v.' ? '.e1.' : '.e2;
+}
+
+ // value
+value(res) ::= variable(v). {
+ res = v;
+}
+
+ // +/- value
+value(res) ::= UNIMATH(m) value(v). {
+ res = m.v;
+}
+
+ // logical negation
+value(res) ::= NOT value(v). {
+ res = '!'.v;
+}
+
+value(res) ::= TYPECAST(t) value(v). {
+ res = t.v;
+}
+
+value(res) ::= variable(v) INCDEC(o). {
+ res = v.o;
+}
+
+ // numeric
+value(res) ::= HEX(n). {
+ res = n;
+}
+
+value(res) ::= INTEGER(n). {
+ res = n;
+}
+
+value(res) ::= INTEGER(n1) DOT INTEGER(n2). {
+ res = n1.'.'.n2;
+}
+
+value(res) ::= INTEGER(n1) DOT. {
+ res = n1.'.';
+}
+
+value(res) ::= DOT INTEGER(n1). {
+ res = '.'.n1;
+}
+
+ // ID, true, false, null
+value(res) ::= ID(id). {
+ if (defined(id)) {
+ if ($this->security) {
+ $this->security->isTrustedConstant(id, $this->compiler);
+ }
+ res = id;
+ } else {
+ res = '\''.id.'\'';
+ }
+}
+
+ // function call
+value(res) ::= function(f). {
+ res = f;
+}
+
+ // expression
+value(res) ::= OPENP expr(e) CLOSEP. {
+ res = '('. e .')';
+}
+
+value(res) ::= variable(v1) INSTANCEOF(i) ns1(v2). {
+ res = v1.i.v2;
+}
+value(res) ::= variable(v1) INSTANCEOF(i) variable(v2). {
+ res = v1.i.v2;
+}
+
+ // singele quoted string
+value(res) ::= SINGLEQUOTESTRING(t). {
+ res = t;
+}
+
+ // double quoted string
+value(res) ::= doublequoted_with_quotes(s). {
+ res = s;
+}
+
+
+value(res) ::= varindexed(vi) DOUBLECOLON static_class_access(r). {
+ $prefixVar = $this->compiler->getNewPrefixVariable();
+ if (vi['var'] === '\'smarty\'') {
+ $this->compiler->appendPrefixCode("<?php {$prefixVar} = ". $this->compiler->compileTag('private_special_variable',array(),vi['smarty_internal_index']).';?>');
+ } else {
+ $this->compiler->appendPrefixCode("<?php {$prefixVar} = ". $this->compiler->compileVariable(vi['var']).vi['smarty_internal_index'].';?>');
+ }
+ res = $prefixVar .'::'.r[0].r[1];
+}
+
+ // Smarty tag
+value(res) ::= smartytag(st). {
+ $prefixVar = $this->compiler->getNewPrefixVariable();
+ $tmp = $this->compiler->appendCode('<?php ob_start();?>', st);
+ $this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php {$prefixVar} = ob_get_clean();?>"));
+ res = $prefixVar;
+}
+
+value(res) ::= value(v) modifierlist(l). {
+ res = $this->compiler->compileTag('private_modifier',array(),array('value'=>v,'modifierlist'=>l));
+}
+ // name space constant
+value(res) ::= NAMESPACE(c). {
+ res = c;
+}
+
+ // array
+value(res) ::= arraydef(a). {
+ res = a;
+}
+ // static class access
+value(res) ::= ns1(c)DOUBLECOLON static_class_access(s). {
+ if (!in_array(strtolower(c), array('self', 'parent')) && (!$this->security || $this->security->isTrustedStaticClassAccess(c, s, $this->compiler))) {
+ if (isset($this->smarty->registered_classes[c])) {
+ res = $this->smarty->registered_classes[c].'::'.s[0].s[1];
+ } else {
+ res = c.'::'.s[0].s[1];
+ }
+ } else {
+ $this->compiler->trigger_template_error ('static class \''.c.'\' is undefined or not allowed by security setting');
+ }
+}
+//
+// namespace stuff
+//
+
+ns1(res) ::= ID(i). {
+ res = i;
+}
+
+ns1(res) ::= NAMESPACE(i). {
+ res = i;
+ }
+
+
+
+
+//
+// variables
+//
+ // Smarty variable (optional array)
+variable(res) ::= DOLLARID(i). {
+ res = $this->compiler->compileVariable('\''.substr(i,1).'\'');
+}
+variable(res) ::= varindexed(vi). {
+ if (vi['var'] === '\'smarty\'') {
+ $smarty_var = $this->compiler->compileTag('private_special_variable',array(),vi['smarty_internal_index']);
+ res = $smarty_var;
+ } else {
+ // used for array reset,next,prev,end,current
+ $this->last_variable = vi['var'];
+ $this->last_index = vi['smarty_internal_index'];
+ res = $this->compiler->compileVariable(vi['var']).vi['smarty_internal_index'];
+ }
+}
+
+ // variable with property
+variable(res) ::= varvar(v) AT ID(p). {
+ res = '$_smarty_tpl->tpl_vars['. v .']->'.p;
+}
+
+ // object
+variable(res) ::= object(o). {
+ res = o;
+}
+
+ // config variable
+variable(res) ::= HATCH ID(i) HATCH. {
+ res = $this->compiler->compileConfigVariable('\'' . i . '\'');
+}
+
+variable(res) ::= HATCH ID(i) HATCH arrayindex(a). {
+ res = '(is_array($tmp = ' . $this->compiler->compileConfigVariable('\'' . i . '\'') . ') ? $tmp'.a.' :null)';
+}
+
+variable(res) ::= HATCH variable(v) HATCH. {
+ res = $this->compiler->compileConfigVariable(v);
+}
+
+variable(res) ::= HATCH variable(v) HATCH arrayindex(a). {
+ res = '(is_array($tmp = ' . $this->compiler->compileConfigVariable(v) . ') ? $tmp'.a.' : null)';
+}
+
+varindexed(res) ::= DOLLARID(i) arrayindex(a). {
+ res = array('var'=>'\''.substr(i,1).'\'', 'smarty_internal_index'=>a);
+}
+varindexed(res) ::= varvar(v) arrayindex(a). {
+ res = array('var'=>v, 'smarty_internal_index'=>a);
+}
+
+//
+// array index
+//
+ // multiple array index
+arrayindex(res) ::= arrayindex(a1) indexdef(a2). {
+ res = a1.a2;
+}
+
+ // no array index
+arrayindex ::= . {
+ return;
+}
+
+// single index definition
+ // Smarty2 style index
+indexdef(res) ::= DOT DOLLARID(i). {
+ res = '['.$this->compiler->compileVariable('\''.substr(i,1).'\'').']';
+}
+indexdef(res) ::= DOT varvar(v). {
+ res = '['.$this->compiler->compileVariable(v).']';
+}
+
+indexdef(res) ::= DOT varvar(v) AT ID(p). {
+ res = '['.$this->compiler->compileVariable(v).'->'.p.']';
+}
+
+indexdef(res) ::= DOT ID(i). {
+ res = '[\''. i .'\']';
+}
+
+indexdef(res) ::= DOT INTEGER(n). {
+ res = '['. n .']';
+}
+
+
+indexdef(res) ::= DOT LDEL expr(e) RDEL. {
+ res = '['. e .']';
+}
+
+ // section tag index
+indexdef(res) ::= OPENB ID(i)CLOSEB. {
+ res = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.i.'\'][\'index\']').']';
+}
+
+indexdef(res) ::= OPENB ID(i) DOT ID(i2) CLOSEB. {
+ res = '['.$this->compiler->compileTag('private_special_variable',array(),'[\'section\'][\''.i.'\'][\''.i2.'\']').']';
+}
+indexdef(res) ::= OPENB SINGLEQUOTESTRING(s) CLOSEB. {
+ res = '['.s.']';
+}
+indexdef(res) ::= OPENB INTEGER(n) CLOSEB. {
+ res = '['.n.']';
+}
+indexdef(res) ::= OPENB DOLLARID(i) CLOSEB. {
+ res = '['.$this->compiler->compileVariable('\''.substr(i,1).'\'').']';
+}
+indexdef(res) ::= OPENB variable(v) CLOSEB. {
+ res = '['.v.']';
+}
+indexdef(res) ::= OPENB value(v) CLOSEB. {
+ res = '['.v.']';
+}
+
+ // PHP style index
+indexdef(res) ::= OPENB expr(e) CLOSEB. {
+ res = '['. e .']';
+}
+
+ // for assign append array
+indexdef(res) ::= OPENB CLOSEB. {
+ res = '[]';
+}
+
+
+//
+// variable variable names
+//
+
+ // singel identifier element
+varvar(res) ::= DOLLARID(i). {
+ res = '\''.substr(i,1).'\'';
+}
+ // single $
+varvar(res) ::= DOLLAR. {
+ res = '\'\'';
+}
+
+ // sequence of identifier elements
+varvar(res) ::= varvar(v1) varvarele(v2). {
+ res = v1.'.'.v2;
+}
+
+ // fix sections of element
+varvarele(res) ::= ID(s). {
+ res = '\''.s.'\'';
+}
+varvarele(res) ::= SIMPELOUTPUT(i). {
+ $var = trim(substr(i, $this->compiler->getLdelLength(), -$this->compiler->getRdelLength()), ' $');
+ res = $this->compiler->compileVariable('\''.$var.'\'');
+}
+
+ // variable sections of element
+varvarele(res) ::= LDEL expr(e) RDEL. {
+ res = '('.e.')';
+}
+
+//
+// objects
+//
+object(res) ::= varindexed(vi) objectchain(oc). {
+ if (vi['var'] === '\'smarty\'') {
+ res = $this->compiler->compileTag('private_special_variable',array(),vi['smarty_internal_index']).oc;
+ } else {
+ res = $this->compiler->compileVariable(vi['var']).vi['smarty_internal_index'].oc;
+ }
+}
+
+ // single element
+objectchain(res) ::= objectelement(oe). {
+ res = oe;
+}
+
+ // chain of elements
+objectchain(res) ::= objectchain(oc) objectelement(oe). {
+ res = oc.oe;
+}
+
+ // variable
+objectelement(res)::= PTR ID(i) arrayindex(a). {
+ if ($this->security && substr(i,0,1) === '_') {
+ $this->compiler->trigger_template_error (self::ERR1);
+ }
+ res = '->'.i.a;
+}
+
+objectelement(res)::= PTR varvar(v) arrayindex(a). {
+ if ($this->security) {
+ $this->compiler->trigger_template_error (self::ERR2);
+ }
+ res = '->{'.$this->compiler->compileVariable(v).a.'}';
+}
+
+objectelement(res)::= PTR LDEL expr(e) RDEL arrayindex(a). {
+ if ($this->security) {
+ $this->compiler->trigger_template_error (self::ERR2);
+ }
+ res = '->{'.e.a.'}';
+}
+
+objectelement(res)::= PTR ID(ii) LDEL expr(e) RDEL arrayindex(a). {
+ if ($this->security) {
+ $this->compiler->trigger_template_error (self::ERR2);
+ }
+ res = '->{\''.ii.'\'.'.e.a.'}';
+}
+
+ // method
+objectelement(res)::= PTR method(f). {
+ res = '->'.f;
+}
+
+
+//
+// function
+//
+function(res) ::= ns1(f) OPENP params(p) CLOSEP. {
+ res = $this->compiler->compilePHPFunctionCall(f, p);
+}
+
+
+//
+// method
+//
+method(res) ::= ID(f) OPENP params(p) CLOSEP. {
+ if ($this->security && substr(f,0,1) === '_') {
+ $this->compiler->trigger_template_error (self::ERR1);
+ }
+ res = f . '('. implode(',',p) .')';
+}
+
+method(res) ::= DOLLARID(f) OPENP params(p) CLOSEP. {
+ if ($this->security) {
+ $this->compiler->trigger_template_error (self::ERR2);
+ }
+ $prefixVar = $this->compiler->getNewPrefixVariable();
+ $this->compiler->appendPrefixCode("<?php {$prefixVar} = ".$this->compiler->compileVariable('\''.substr(f,1).'\'').';?>');
+ res = $prefixVar .'('. implode(',',p) .')';
+}
+
+// function/method parameter
+ // multiple parameters
+params(res) ::= params(p) COMMA expr(e). {
+ res = array_merge(p,array(e));
+}
+
+ // single parameter
+params(res) ::= expr(e). {
+ res = array(e);
+}
+
+ // kein parameter
+params(res) ::= . {
+ res = array();
+}
+
+//
+// modifier
+//
+modifierlist(res) ::= modifierlist(l) modifier(m) modparameters(p). {
+ res = array_merge(l,array(array_merge(m,p)));
+}
+
+modifierlist(res) ::= modifier(m) modparameters(p). {
+ res = array(array_merge(m,p));
+}
+
+modifier(res) ::= VERT AT ID(m). {
+ res = array(m);
+}
+
+modifier(res) ::= VERT ID(m). {
+ res = array(m);
+}
+
+//
+// modifier parameter
+//
+ // multiple parameter
+modparameters(res) ::= modparameters(mps) modparameter(mp). {
+ res = array_merge(mps,mp);
+}
+
+ // no parameter
+modparameters(res) ::= . {
+ res = array();
+}
+
+ // parameter expression
+modparameter(res) ::= COLON value(mp). {
+ res = array(mp);
+}
+modparameter(res) ::= COLON UNIMATH(m) value(mp). {
+ res = array(trim(m).mp);
+}
+
+modparameter(res) ::= COLON array(mp). {
+ res = array(mp);
+}
+
+ // static class methode call
+static_class_access(res) ::= method(m). {
+ res = array(m, '', 'method');
+}
+
+ // static class methode call with object chainig
+static_class_access(res) ::= method(m) objectchain(oc). {
+ res = array(m, oc, 'method');
+}
+
+ // static class constant
+static_class_access(res) ::= ID(v). {
+ res = array(v, '');
+}
+
+ // static class variables
+static_class_access(res) ::= DOLLARID(v) arrayindex(a). {
+ res = array(v, a, 'property');
+}
+
+ // static class variables with object chain
+static_class_access(res) ::= DOLLARID(v) arrayindex(a) objectchain(oc). {
+ res = array(v, a.oc, 'property');
+}
+
+
+// if conditions and operators
+lop(res) ::= LOGOP(o). {
+ res = ' '. trim(o) . ' ';
+}
+
+lop(res) ::= SLOGOP(o). {
+ static $lops = array(
+ 'eq' => ' == ',
+ 'ne' => ' != ',
+ 'neq' => ' != ',
+ 'gt' => ' > ',
+ 'ge' => ' >= ',
+ 'gte' => ' >= ',
+ 'lt' => ' < ',
+ 'le' => ' <= ',
+ 'lte' => ' <= ',
+ 'mod' => ' % ',
+ 'and' => ' && ',
+ 'or' => ' || ',
+ 'xor' => ' xor ',
+ );
+ $op = strtolower(preg_replace('/\s*/', '', o));
+ res = $lops[$op];
+}
+tlop(res) ::= TLOGOP(o). {
+ static $tlops = array(
+ 'isdivby' => array('op' => ' % ', 'pre' => '!('),
+ 'isnotdivby' => array('op' => ' % ', 'pre' => '('),
+ 'isevenby' => array('op' => ' / ', 'pre' => '!(1 & '),
+ 'isnotevenby' => array('op' => ' / ', 'pre' => '(1 & '),
+ 'isoddby' => array('op' => ' / ', 'pre' => '(1 & '),
+ 'isnotoddby' => array('op' => ' / ', 'pre' => '!(1 & '),
+ );
+ $op = strtolower(preg_replace('/\s*/', '', o));
+ res = $tlops[$op];
+ }
+
+scond(res) ::= SINGLECOND(o). {
+ static $scond = array (
+ 'iseven' => '!(1 & ',
+ 'isnoteven' => '(1 & ',
+ 'isodd' => '(1 & ',
+ 'isnotodd' => '!(1 & ',
+ );
+ $op = strtolower(str_replace(' ', '', o));
+ res = $scond[$op];
+}
+
+//
+// ARRAY element assignment
+//
+arraydef(res) ::= OPENB arrayelements(a) CLOSEB. {
+ res = 'array('.a.')';
+}
+arraydef(res) ::= ARRAYOPEN arrayelements(a) CLOSEP. {
+ res = 'array('.a.')';
+}
+
+arrayelements(res) ::= arrayelement(a). {
+ res = a;
+}
+
+arrayelements(res) ::= arrayelements(a1) COMMA arrayelement(a). {
+ res = a1.','.a;
+}
+
+arrayelements ::= . {
+ return;
+}
+
+arrayelement(res) ::= value(e1) APTR expr(e2). {
+ res = e1.'=>'.e2;
+}
+
+arrayelement(res) ::= ID(i) APTR expr(e2). {
+ res = '\''.i.'\'=>'.e2;
+}
+
+arrayelement(res) ::= expr(e). {
+ res = e;
+}
+
+
+//
+// double quoted strings
+//
+doublequoted_with_quotes(res) ::= QUOTE QUOTE. {
+ res = '\'\'';
+}
+
+doublequoted_with_quotes(res) ::= QUOTE doublequoted(s) QUOTE. {
+ $this->compiler->leaveDoubleQuote();
+ res = s->to_smarty_php($this);
+}
+
+
+doublequoted(res) ::= doublequoted(o1) doublequotedcontent(o2). {
+ o1->append_subtree($this, o2);
+ res = o1;
+}
+
+doublequoted(res) ::= doublequotedcontent(o). {
+ res = new Smarty_Internal_ParseTree_Dq($this, o);
+}
+
+doublequotedcontent(res) ::= BACKTICK variable(v) BACKTICK. {
+ res = new Smarty_Internal_ParseTree_Code('(string)'.v);
+}
+
+doublequotedcontent(res) ::= BACKTICK expr(e) BACKTICK. {
+ res = new Smarty_Internal_ParseTree_Code('(string)('.e.')');
+}
+
+doublequotedcontent(res) ::= DOLLARID(i). {
+ res = new Smarty_Internal_ParseTree_Code('(string)$_smarty_tpl->tpl_vars[\''. substr(i,1) .'\']->value');
+}
+
+doublequotedcontent(res) ::= LDEL variable(v) RDEL. {
+ res = new Smarty_Internal_ParseTree_Code('(string)'.v);
+}
+
+doublequotedcontent(res) ::= LDEL expr(e) RDEL. {
+ res = new Smarty_Internal_ParseTree_Code('(string)('.e.')');
+}
+
+doublequotedcontent(res) ::= smartytag(st). {
+ res = new Smarty_Internal_ParseTree_Tag($this, st);
+}
+
+doublequotedcontent(res) ::= TEXT(o). {
+ res = new Smarty_Internal_ParseTree_DqContent(o);
+}
+
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) {
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js
index c194338d6..660b5f190 100644
--- a/view/js/autocomplete.js
+++ b/view/js/autocomplete.js
@@ -203,7 +203,7 @@ function string2bb(element) {
context: function(text) { return text.toLowerCase(); },
template: smiley_format
};
- this.attr('autocomplete','off');
+ //this.attr('autocomplete','off');
var Textarea = Textcomplete.editors.Textarea;
@@ -298,7 +298,7 @@ function string2bb(element) {
template: contact_format,
};
- this.attr('autocomplete','off');
+ //this.attr('autocomplete','off');
var textcomplete;
var Textarea = Textcomplete.editors.Textarea;
@@ -341,7 +341,7 @@ function string2bb(element) {
template: contact_format,
};
- this.attr('autocomplete','off');
+ //this.attr('autocomplete','off');
var textcomplete;
var Textarea = Textcomplete.editors.Textarea;
@@ -427,7 +427,7 @@ function string2bb(element) {
template: bbco_format
};
- this.attr('autocomplete','off');
+ //this.attr('autocomplete','off');
var Textarea = Textcomplete.editors.Textarea;
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 1ababecfc..b736436f5 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -22,18 +22,21 @@ body {
margin: 0px;
}
-aside {
- width: $aside_widthpx;
- min-width: $aside_widthpx;
- max-width: $aside_widthpx;
+aside#region_1 {
+ border-right: 1px solid transparent;
+ width: $left_aside_widthpx;
+ min-width: $left_aside_widthpx;
+ max-width: $left_aside_widthpx;
}
-aside #region_1 {
- border-right: 1px solid transparent;
+aside#region_3 {
+ width: $right_aside_widthpx;
+ min-width: $left_aside_widthpx;
+ max-width: $right_aside_widthpx;
}
-aside #left_aside_wrapper,
-aside #right_aside_wrapper {
+aside#left_aside_wrapper,
+aside#right_aside_wrapper {
margin-bottom: 10px;
}
@@ -1516,8 +1519,8 @@ blockquote {
}
main {
- left: -$aside_widthpx;
- width: calc( 100% + $aside_widthpx );
+ left: -$left_aside_widthpx;
+ width: calc( 100% + $left_aside_widthpx );
}
main.region_1-on {
diff --git a/view/theme/redbasic/php/style.php b/view/theme/redbasic/php/style.php
index 91cc0b85b..d278aa309 100644
--- a/view/theme/redbasic/php/style.php
+++ b/view/theme/redbasic/php/style.php
@@ -120,10 +120,10 @@ if(file_exists('view/theme/redbasic/css/style.css')) {
$x .= $schemecss;
}
- $aside_width = 288;
+ $left_aside_width = 288;
+ $right_aside_width = 288;
- // left aside and right aside are 285px + converse width
- $main_width = (($aside_width * 2) + intval($converse_width));
+ $main_width = $left_aside_width + $right_aside_width + intval($converse_width);
// prevent main_width smaller than 768px
$main_width = (($main_width < 768) ? 768 : $main_width);
@@ -150,7 +150,8 @@ if(file_exists('view/theme/redbasic/css/style.css')) {
'$pmenu_top' => $pmenu_top,
'$pmenu_reply' => $pmenu_reply,
'$main_width' => $main_width,
- '$aside_width' => $aside_width
+ '$left_aside_width' => $left_aside_width,
+ '$right_aside_width' => $right_aside_width
);
echo str_replace(array_keys($options), array_values($options), $x);