From 7f3c4e83f794060e3db7751bb35577b314f4ce3b Mon Sep 17 00:00:00 2001 From: Ioannis Igoumenos Date: Wed, 22 Sep 2021 09:47:31 +0300 Subject: [PATCH] Upgrade to CakePHP 4.0.10 --- .gitignore | 49 + app/composer.json | 13 +- app/composer.lock | 3834 +++++++++++---- app/config/app.php | 172 +- app/config/bootstrap.php | 99 +- app/config/bootstrap_cli.php | 22 +- app/config/paths.php | 40 +- app/config/requirements.php | 15 +- app/config/routes.php | 78 +- .../locales}/en_US/default.po | 0 app/src/Application.php | 31 +- app/src/Command/BulkLoadCommand.php | 2 +- app/src/Command/SetupCommand.php | 4 +- app/src/Controller/ApiUsersController.php | 5 +- app/src/Controller/AppController.php | 12 +- .../Component/AuthorizationComponent.php | 2 +- app/src/Controller/ErrorController.php | 14 +- .../Controller/MatchgridRecordsController.php | 15 +- .../MatchgridSettingsController.php | 6 +- app/src/Controller/MatchgridsController.php | 7 +- app/src/Controller/PagesController.php | 5 +- app/src/Controller/StandardController.php | 4 +- app/src/Controller/TierApiController.php | 2 +- app/src/Lib/Match/MatchService.php | 5 +- app/src/Lib/Match/MatchgridBuilder.php | 7 +- app/src/Lib/Traits/SearchFilterTrait.php | 16 +- app/src/Model/Table/ApiUsersTable.php | 12 +- app/src/Model/Table/AttributeGroupsTable.php | 6 +- .../Model/Table/AttributeMappingsTable.php | 8 +- app/src/Model/Table/AttributeMapsTable.php | 6 +- app/src/Model/Table/AttributesTable.php | 6 +- app/src/Model/Table/MatchgridRecordsTable.php | 8 +- .../Model/Table/MatchgridSettingsTable.php | 6 +- app/src/Model/Table/MatchgridsTable.php | 6 +- app/src/Model/Table/MetaTable.php | 6 +- app/src/Model/Table/PermissionsTable.php | 6 +- app/src/Model/Table/RuleAttributesTable.php | 6 +- app/src/Model/Table/RulesTable.php | 6 +- app/src/Model/Table/SystemsOfRecordTable.php | 6 +- app/src/Shell/ConsoleShell.php | 2 +- app/src/Template/Element/breadcrumbs.ctp | 127 - app/src/Template/Element/javascript.ctp | 283 -- app/src/Template/Element/menuMain.ctp | 69 - app/src/Template/Element/menuTop.ctp | 108 - app/src/Template/Element/pagination.ctp | 114 - app/src/Template/Element/search.ctp | 141 - .../Template/Email/text/potential_match.ctp | 38 - app/src/Template/Matchgrids/manage.ctp | 137 - app/src/Template/Matchgrids/pending.ctp | 62 - app/src/Template/Standard/add-edit-view.ctp | 89 - app/src/Template/Standard/index.ctp | 338 -- app/src/View/AjaxView.php | 2 +- app/src/View/AppView.php | 2 +- .../ApiUsers/columns.inc | 0 .../ApiUsers/fields.inc | 0 .../AttributeGroups/columns.inc | 0 .../AttributeGroups/fields.inc | 0 .../AttributeMappings/columns.inc | 0 .../AttributeMappings/fields.inc | 0 .../AttributeMaps/columns.inc | 0 .../AttributeMaps/fields.inc | 0 .../Attributes/columns.inc | 0 .../Attributes/fields.inc | 0 .../Error/error400.php} | 0 .../Error/error500.php} | 0 .../MatchgridRecords/columns.inc | 4 +- .../MatchgridRecords/fields.inc | 0 .../MatchgridSettings/fields.inc | 0 .../Matchgrids/columns.inc | 0 .../Matchgrids/fields.inc | 0 app/templates/Matchgrids/manage.php | 139 + app/templates/Matchgrids/pending.php | 64 + .../Matchgrids/reconcile.php} | 0 .../Matchgrids/select.php} | 0 .../home.ctp => templates/Pages/home.php} | 0 .../Permissions/columns.inc | 0 .../Permissions/fields.inc | 0 .../RuleAttributes/columns.inc | 0 .../RuleAttributes/fields.inc | 0 .../Template => templates}/Rules/columns.inc | 0 .../Template => templates}/Rules/fields.inc | 0 app/templates/Standard/add-edit-view.php | 89 + app/templates/Standard/index.php | 338 ++ .../SystemsOfRecord/columns.inc | 0 .../SystemsOfRecord/fields.inc | 0 .../TierApi/response.php} | 0 app/templates/element/breadcrumbs.php | 127 + .../element/flash/default.php} | 0 .../element/flash/error.php} | 0 .../element/flash/information.php} | 0 .../element/flash/success.php} | 0 .../element/footer.php} | 0 app/templates/element/javascript.php | 283 ++ app/templates/element/menuMain.php | 69 + app/templates/element/menuTop.php | 106 + app/templates/element/pagination.php | 114 + app/templates/element/search.php | 141 + .../email/html/default.php} | 0 .../email/text/default.php} | 0 app/templates/email/text/potential_match.php | 38 + .../default.ctp => templates/layout/ajax.php} | 0 .../layout/default.php} | 0 .../layout/email/html/default.php} | 0 .../layout/email/text/default.php} | 0 .../error.ctp => templates/layout/error.php} | 0 .../rest.ctp => templates/layout/rest.php} | 0 .../layout/rss/default.php} | 0 .../.github/workflows/tests.yaml | 47 - .../ajgl/breakpoint-twig-extension/.gitignore | 4 - .../breakpoint-twig-extension/.php_cs.dist | 36 - .../breakpoint-twig-extension/CHANGELOG.md | 68 - .../ajgl/breakpoint-twig-extension/LICENSE | 23 - .../ajgl/breakpoint-twig-extension/README.md | 122 - .../breakpoint-twig-extension/composer.json | 55 - .../phpunit.xml.dist | 22 - .../src/BreakpointExtension.php | 49 - .../AjglBreakpointTwigExtensionBundle.php | 21 - .../AjglBreakpointTwigExtensionExtension.php | 29 - .../SymfonyBundle/Resources/config/twig.xml | 13 - .../tests/BreakpointExtensionTest.php | 53 - ...glBreakpointTwigExtensionExtensionTest.php | 53 - app/vendor/aptoma/twig-markdown/.gitignore | 3 - app/vendor/aptoma/twig-markdown/.travis.yml | 27 - app/vendor/aptoma/twig-markdown/CHANGELOG.md | 23 - app/vendor/aptoma/twig-markdown/README.md | 171 - app/vendor/aptoma/twig-markdown/composer.json | 35 - app/vendor/aptoma/twig-markdown/composer.lock | 1772 ------- .../aptoma/twig-markdown/phpunit.xml.dist | 18 - .../MarkdownEngine/GitHubMarkdownEngine.php | 76 - .../MarkdownEngine/MichelfMarkdownEngine.php | 32 - .../PHPLeagueCommonMarkEngine.php | 49 - .../MarkdownEngine/ParsedownEngine.php | 45 - .../Extension/MarkdownEngineInterface.php | 28 - .../Twig/Extension/MarkdownExtension.php | 69 - .../src/Aptoma/Twig/Node/MarkdownNode.php | 38 - .../Twig/TokenParser/MarkdownTokenParser.php | 76 - .../GithubMarkdownEngineTest.php | 31 - .../PHPLeagueCommonMarkEngineTest.php | 23 - .../MarkdownEngine/ParsedownEngineTest.php | 32 - .../Twig/Extension/MarkdownExtensionTest.php | 41 - .../TokenParser/MarkdownTokenParserTest.php | 109 - .../asm89/twig-cache-extension/.gitignore | 4 - .../asm89/twig-cache-extension/.travis.yml | 44 - app/vendor/asm89/twig-cache-extension/LICENSE | 19 - .../asm89/twig-cache-extension/README.md | 238 - .../asm89/twig-cache-extension/composer.json | 43 - .../CacheProvider/DoctrineCacheAdapter.php | 49 - .../CacheProvider/PsrCacheAdapter.php | 68 - .../CacheExtension/CacheProviderInterface.php | 36 - .../CacheStrategy/BlackholeCacheStrategy.php | 53 - .../GenerationalCacheStrategy.php | 79 - .../IndexedChainingCacheStrategy.php | 76 - .../CacheStrategy/KeyGeneratorInterface.php | 29 - .../CacheStrategy/LifetimeCacheStrategy.php | 68 - .../CacheExtension/CacheStrategyInterface.php | 49 - .../Exception/BaseException.php | 20 - .../Exception/InvalidCacheKeyException.php | 23 - .../InvalidCacheLifetimeException.php | 23 - .../NonExistingStrategyException.php | 23 - .../NonExistingStrategyKeyException.php | 23 - .../Asm89/Twig/CacheExtension/Extension.php | 59 - .../Twig/CacheExtension/Node/CacheNode.php | 71 - .../Twig/CacheExtension/TokenParser/Cache.php | 59 - .../twig-cache-extension/phpunit.xml.dist | 25 - .../DoctrineCacheAdapterTest.php | 46 - .../GenerationCacheStrategyTest.php | 80 - .../IndexedChainingCacheStrategyTest.php | 80 - .../LifetimeCacheStrategyTest.php | 68 - .../Tests/FunctionalExtensionTest.php | 182 - .../Tests/fixtures/annotation_expression.twig | 3 - .../Tests/fixtures/annotation_not_string.twig | 2 - .../Tests/fixtures/gcs_value.twig | 1 - .../Tests/fixtures/gcs_value_v2.twig | 1 - .../Tests/fixtures/ics_no_key.twig | 1 - .../Tests/fixtures/ics_value.twig | 1 - .../Tests/fixtures/lcs_value.twig | 1 - .../twig-cache-extension/test/bootstrap.php | 16 - app/vendor/bin/phpstan | 1 + app/vendor/bin/phpstan.phar | 1 + app/vendor/bin/phpunit | 1 + app/vendor/cakephp-plugins.php | 7 +- app/vendor/cakephp/bake/.appveyor.yml | 48 + app/vendor/cakephp/bake/README.md | 5 +- app/vendor/cakephp/bake/composer.json | 21 +- app/vendor/cakephp/bake/docs/config/all.py | 10 +- .../cakephp/bake/docs/en/development.rst | 96 +- app/vendor/cakephp/bake/docs/en/index.rst | 6 +- app/vendor/cakephp/bake/docs/en/usage.rst | 2 +- .../cakephp/bake/docs/ja/development.rst | 4 +- app/vendor/cakephp/bake/docs/ja/index.rst | 2 +- .../cakephp/bake/docs/pt/development.rst | 151 +- app/vendor/cakephp/bake/docs/pt/index.rst | 29 +- app/vendor/cakephp/bake/docs/pt/usage.rst | 195 +- app/vendor/cakephp/bake/phpcs.xml.dist | 13 +- app/vendor/cakephp/bake/phpstan.neon | 8 +- app/vendor/cakephp/bake/psalm-baseline.xml | 19 + app/vendor/cakephp/bake/psalm.xml | 18 + .../cakephp/bake/src/Command/AllCommand.php | 123 + .../cakephp/bake/src/Command/BakeCommand.php | 148 + .../bake/src/Command/BehaviorCommand.php | 54 + .../cakephp/bake/src/Command/CellCommand.php | 127 + .../bake/src/Command/CommandCommand.php | 54 + .../bake/src/Command/ComponentCommand.php | 54 + .../bake/src/Command/ControllerAllCommand.php | 87 + .../bake/src/Command/ControllerCommand.php | 279 ++ .../cakephp/bake/src/Command/EntryCommand.php | 223 + .../bake/src/Command/FixtureAllCommand.php | 88 + .../bake/src/Command/FixtureCommand.php | 456 ++ .../cakephp/bake/src/Command/FormCommand.php | 54 + .../bake/src/Command/HelperCommand.php | 54 + .../bake/src/Command/MailerCommand.php | 70 + .../bake/src/Command/MiddlewareCommand.php | 54 + .../bake/src/Command/ModelAllCommand.php | 86 + .../cakephp/bake/src/Command/ModelCommand.php | 1205 +++++ .../bake/src/Command/PluginCommand.php | 425 ++ .../cakephp/bake/src/Command/ShellCommand.php | 54 + .../bake/src/Command/ShellHelperCommand.php | 54 + .../bake/src/Command/SimpleBakeCommand.php | 159 + .../cakephp/bake/src/Command/TaskCommand.php | 54 + .../bake/src/Command/TemplateAllCommand.php | 88 + .../bake/src/Command/TemplateCommand.php | 435 ++ .../cakephp/bake/src/Command/TestCommand.php | 779 +++ app/vendor/cakephp/bake/src/Plugin.php | 112 +- .../cakephp/bake/src/Shell/BakeShell.php | 332 -- .../cakephp/bake/src/Shell/Task/BakeTask.php | 89 +- .../bake/src/Shell/Task/BakeTemplateTask.php | 98 - .../bake/src/Shell/Task/BehaviorTask.php | 55 - .../cakephp/bake/src/Shell/Task/CellTask.php | 125 - .../bake/src/Shell/Task/CommandTask.php | 55 - .../bake/src/Shell/Task/ComponentTask.php | 55 - .../bake/src/Shell/Task/ControllerTask.php | 294 -- .../bake/src/Shell/Task/FixtureTask.php | 466 -- .../cakephp/bake/src/Shell/Task/FormTask.php | 55 - .../bake/src/Shell/Task/HelperTask.php | 55 - .../bake/src/Shell/Task/MailerTask.php | 90 - .../bake/src/Shell/Task/MiddlewareTask.php | 55 - .../cakephp/bake/src/Shell/Task/ModelTask.php | 1220 ----- .../bake/src/Shell/Task/PluginTask.php | 392 -- .../bake/src/Shell/Task/ShellHelperTask.php | 55 - .../cakephp/bake/src/Shell/Task/ShellTask.php | 55 - .../bake/src/Shell/Task/SimpleBakeTask.php | 64 +- .../cakephp/bake/src/Shell/Task/TaskTask.php | 55 - .../bake/src/Shell/Task/TemplateTask.php | 435 -- .../cakephp/bake/src/Shell/Task/TestTask.php | 752 --- .../Template/Bake/Controller/controller.twig | 64 - .../Template/Bake/Element/Controller/add.twig | 45 - .../Bake/Element/Controller/edit.twig | 48 - .../Bake/Element/Controller/index.twig | 32 - .../Bake/Element/Controller/login.twig | 32 - .../Bake/Element/Controller/view.twig | 34 - .../bake/src/Template/Bake/Element/form.twig | 80 - .../bake/src/Template/Bake/Form/form.twig | 60 - .../Template/Bake/Middleware/middleware.twig | 39 - .../src/Template/Bake/Plugin/.gitignore.twig | 4 - .../Bake/Plugin/config/routes.php.twig | 27 - .../Template/Bake/Plugin/src/Plugin.php.twig | 27 - .../bake/src/Template/Bake/Shell/helper.twig | 36 - .../bake/src/Template/Bake/Template/add.twig | 22 - .../bake/src/Template/Bake/Template/edit.twig | 22 - .../src/Template/Bake/Template/index.twig | 90 - .../src/Template/Bake/Template/login.twig | 31 - .../bake/src/Template/Bake/Template/view.twig | 137 - .../bake/src/Template/Bake/View/helper.twig | 34 - .../bake/src/Utility/CommonOptionsTrait.php | 62 +- .../src/Utility/Model/AssociationFilter.php | 20 +- .../cakephp/bake/src/Utility/Process.php | 82 + .../src/Utility/SubsetSchemaCollection.php | 77 + .../cakephp/bake/src/Utility/TableScanner.php | 113 + .../bake/src/Utility/TemplateRenderer.php | 107 + app/vendor/cakephp/bake/src/View/BakeView.php | 181 +- .../bake/src/View/Helper/BakeHelper.php | 89 +- .../bake/src/View/Helper/DocBlockHelper.php | 82 +- .../bake}/Command/command.twig | 11 +- .../bake}/Controller/component.twig | 2 + .../templates/bake/Controller/controller.twig | 70 + .../bake/templates/bake/Form/form.twig | 62 + .../bake}/Mailer/mailer.twig | 2 + .../templates/bake/Middleware/middleware.twig | 42 + .../bake}/Model/behavior.twig | 2 + .../Bake => templates/bake}/Model/entity.twig | 2 + .../Bake => templates/bake}/Model/table.twig | 18 +- .../templates/bake/Plugin/.gitignore.twig | 8 + .../bake}/Plugin/README.md.twig | 0 .../bake}/Plugin/composer.json.twig | 5 +- .../bake}/Plugin/phpunit.xml.dist.twig | 0 .../src/Controller/AppController.php.twig | 1 + .../templates/bake/Plugin/src/Plugin.php.twig | 79 + .../bake}/Plugin/tests/bootstrap.php.twig | 2 + .../bake/Plugin/webroot/.gitkeep.twig} | 0 .../bake/templates/bake/Shell/helper.twig | 38 + .../Bake => templates/bake}/Shell/shell.twig | 5 +- .../Bake => templates/bake}/Shell/task.twig | 5 +- .../bake/templates/bake/Template/add.twig | 22 + .../bake/templates/bake/Template/edit.twig | 22 + .../bake/templates/bake/Template/index.twig | 80 + .../bake/templates/bake/Template/login.twig | 30 + .../bake/templates/bake/Template/view.twig | 136 + .../Bake => templates/bake}/View/cell.twig | 4 +- .../bake/templates/bake/View/helper.twig | 36 + .../bake/element/Controller/add.twig | 45 + .../bake/element}/Controller/delete.twig | 2 +- .../bake/element/Controller/edit.twig | 48 + .../bake/element/Controller/index.twig | 32 + .../bake/element/Controller/login.twig | 32 + .../bake/element}/Controller/logout.twig | 2 +- .../bake/element/Controller/view.twig | 34 + .../bake/element}/array_property.twig | 0 .../bake/templates/bake/element/form.twig | 75 + .../bake/layout}/default.twig | 2 +- .../bake}/tests/fixture.twig | 8 +- .../bake}/tests/test_case.twig | 31 +- .../Fixture/BakeTemplateAuthorsFixture.php | 1 + .../bake/tests/Fixture/CategoriesFixture.php | 4 +- .../Fixture/CategoriesProductsFixture.php | 4 +- .../bake/tests/Fixture/OldProductsFixture.php | 4 +- .../tests/Fixture/ProductVersionsFixture.php | 4 +- .../bake/tests/Fixture/ProductsFixture.php | 4 +- .../bake/tests/Fixture/TodoItemsFixture.php | 53 + .../Fixture/TodoItemsTodoLabelsFixture.php | 60 + .../bake/tests/Fixture/TodoLabelsFixture.php | 46 + .../bake/tests/Fixture/TodoTasksFixture.php | 50 + .../bake/tests/Fixture/UsersFixture.php | 51 + app/vendor/cakephp/bake/tests/bootstrap.php | 23 +- app/vendor/cakephp/cakephp/.coveralls.yml | 2 + app/vendor/cakephp/cakephp/README.md | 10 +- app/vendor/cakephp/cakephp/SECURITY.md | 5 +- app/vendor/cakephp/cakephp/VERSION.txt | 2 +- app/vendor/cakephp/cakephp/composer.json | 44 +- app/vendor/cakephp/cakephp/config/cacert.pem | 3401 -------------- app/vendor/cakephp/cakephp/config/config.php | 3 +- .../src/Auth/AbstractPasswordHasher.php | 8 +- .../cakephp/src/Auth/BaseAuthenticate.php | 37 +- .../cakephp/src/Auth/BaseAuthorize.php | 4 +- .../cakephp/src/Auth/BasicAuthenticate.php | 6 +- .../cakephp/src/Auth/ControllerAuthorize.php | 23 +- .../src/Auth/DefaultPasswordHasher.php | 12 +- .../cakephp/src/Auth/DigestAuthenticate.php | 26 +- .../src/Auth/FallbackPasswordHasher.php | 10 +- .../cakephp/src/Auth/FormAuthenticate.php | 6 +- .../src/Auth/PasswordHasherFactory.php | 6 +- .../src/Auth/Storage/MemoryStorage.php | 14 +- .../src/Auth/Storage/SessionStorage.php | 13 +- .../src/Auth/Storage/StorageInterface.php | 8 +- .../cakephp/src/Auth/WeakPasswordHasher.php | 13 +- .../cakephp/cakephp/src/Cache/Cache.php | 255 +- .../cakephp/cakephp/src/Cache/CacheEngine.php | 282 +- .../src/Cache/CacheEngineInterface.php | 10 +- .../cakephp/src/Cache/CacheRegistry.php | 28 +- .../cakephp/src/Cache/Engine/ApcEngine.php | 20 - .../cakephp/src/Cache/Engine/ApcuEngine.php | 44 +- .../cakephp/src/Cache/Engine/ArrayEngine.php | 47 +- .../cakephp/src/Cache/Engine/FileEngine.php | 185 +- .../src/Cache/Engine/MemcachedEngine.php | 153 +- .../cakephp/src/Cache/Engine/NullEngine.php | 59 +- .../cakephp/src/Cache/Engine/RedisEngine.php | 117 +- .../src/Cache/Engine/WincacheEngine.php | 40 +- .../cakephp/src/Cache/Engine/XcacheEngine.php | 255 - .../src/Cache/InvalidArgumentException.php | 2 + .../cakephp/cakephp/src/Cache/LICENSE.txt | 22 + .../cakephp/cakephp/src/Cache/README.md | 6 +- .../cakephp/src/Cache/SimpleCacheEngine.php | 282 -- .../cakephp/cakephp/src/Cache/composer.json | 9 +- .../cakephp/src/Collection/Collection.php | 23 +- .../src/Collection/CollectionInterface.php | 230 +- .../src/Collection/CollectionTrait.php | 321 +- .../cakephp/src/Collection/ExtractTrait.php | 16 +- .../Collection/Iterator/BufferedIterator.php | 22 +- .../Collection/Iterator/ExtractIterator.php | 22 +- .../Collection/Iterator/FilterIterator.php | 13 +- .../Collection/Iterator/InsertIterator.php | 16 +- .../src/Collection/Iterator/MapReduce.php | 23 +- .../src/Collection/Iterator/NestIterator.php | 8 +- .../Iterator/NoChildrenIterator.php | 10 +- .../Collection/Iterator/ReplaceIterator.php | 18 +- .../src/Collection/Iterator/SortIterator.php | 11 +- .../Collection/Iterator/StoppableIterator.php | 20 +- .../src/Collection/Iterator/TreeIterator.php | 12 +- .../src/Collection/Iterator/TreePrinter.php | 19 +- .../Collection/Iterator/UnfoldIterator.php | 11 +- .../src/Collection/Iterator/ZipIterator.php | 8 +- .../cakephp/src/Collection/LICENSE.txt | 2 +- .../cakephp/cakephp/src/Collection/README.md | 2 +- .../cakephp/src/Collection/composer.json | 2 +- .../cakephp/src/Collection/functions.php | 8 +- .../cakephp/src/Command/CacheClearCommand.php | 93 + .../src/Command/CacheClearallCommand.php | 70 + .../cakephp/src/Command/CacheListCommand.php | 68 + .../cakephp/cakephp/src/Command/Command.php | 66 + .../cakephp/src/Command/CompletionCommand.php | 281 ++ .../cakephp/src/Command/HelpCommand.php | 208 - .../cakephp/src/Command/I18nCommand.php | 88 + .../src/Command/I18nExtractCommand.php | 888 ++++ .../cakephp/src/Command/I18nInitCommand.php | 110 + .../src/Command/PluginAssetsCopyCommand.php | 83 + .../src/Command/PluginAssetsRemoveCommand.php | 88 + .../Command/PluginAssetsSymlinkCommand.php | 84 + .../cakephp/src/Command/PluginAssetsTrait.php | 273 ++ .../cakephp/src/Command/PluginLoadCommand.php | 129 + .../src/Command/PluginLoadedCommand.php | 64 + .../src/Command/PluginUnloadCommand.php | 113 + .../src/Command/RoutesCheckCommand.php | 98 + .../cakephp/src/Command/RoutesCommand.php | 64 + .../src/Command/RoutesGenerateCommand.php | 104 + .../src/Command/SchemacacheBuildCommand.php | 93 + .../src/Command/SchemacacheClearCommand.php | 93 + .../cakephp/src/Command/ServerCommand.php | 177 + .../cakephp/src/Command/VersionCommand.php | 5 +- .../cakephp/cakephp/src/Console/Arguments.php | 18 +- .../cakephp/src/Console/BaseCommand.php | 268 ++ .../cakephp/cakephp/src/Console/Command.php | 304 +- .../src/Console/Command/HelpCommand.php | 224 + .../cakephp/src/Console/CommandCollection.php | 54 +- .../CommandCollectionAwareInterface.php | 4 +- .../cakephp/src/Console/CommandFactory.php | 11 +- .../src/Console/CommandFactoryInterface.php | 6 +- .../cakephp/src/Console/CommandInterface.php | 60 + .../cakephp/src/Console/CommandRunner.php | 143 +- .../cakephp/src/Console/CommandScanner.php | 58 +- .../src/Console/ConsoleErrorHandler.php | 144 +- .../cakephp/src/Console/ConsoleInput.php | 34 +- .../src/Console/ConsoleInputArgument.php | 19 +- .../src/Console/ConsoleInputOption.php | 88 +- .../src/Console/ConsoleInputSubcommand.php | 53 +- .../cakephp/cakephp/src/Console/ConsoleIo.php | 171 +- .../src/Console/ConsoleOptionParser.php | 350 +- .../cakephp/src/Console/ConsoleOutput.php | 127 +- .../Console/Exception/ConsoleException.php | 8 +- .../Exception/MissingHelperException.php | 4 +- .../Exception/MissingOptionException.php | 114 + .../Exception/MissingShellException.php | 8 +- .../Exception/MissingShellMethodException.php | 4 +- .../Exception/MissingTaskException.php | 4 +- .../src/Console/Exception/StopException.php | 6 +- .../cakephp/src/Console/HelpFormatter.php | 29 +- .../cakephp/cakephp/src/Console/Helper.php | 4 +- .../cakephp/src/Console/HelperRegistry.php | 22 +- .../cakephp/cakephp/src/Console/README.md | 116 + .../cakephp/cakephp/src/Console/Shell.php | 302 +- .../cakephp/src/Console/ShellDispatcher.php | 93 +- .../cakephp/src/Console/TaskRegistry.php | 22 +- .../cakephp/cakephp/src/Console/composer.json | 42 + .../cakephp/src/Controller/Component.php | 52 +- .../Controller/Component/AuthComponent.php | 181 +- .../Controller/Component/CookieComponent.php | 365 -- .../Controller/Component/CsrfComponent.php | 188 - .../Controller/Component/FlashComponent.php | 40 +- .../Component/FormProtectionComponent.php | 166 + .../Component/PaginatorComponent.php | 47 +- .../Component/RequestHandlerComponent.php | 404 +- .../Component/SecurityComponent.php | 295 +- .../src/Controller/ComponentRegistry.php | 27 +- .../cakephp/src/Controller/Controller.php | 428 +- .../src/Controller/ControllerFactory.php | 165 + .../src/Controller/ErrorController.php | 25 +- .../Exception/AuthSecurityException.php | 2 + .../Exception/MissingActionException.php | 6 +- .../Exception/MissingComponentException.php | 2 + .../Exception/SecurityException.php | 10 +- app/vendor/cakephp/cakephp/src/Core/App.php | 132 +- .../cakephp/cakephp/src/Core/BasePlugin.php | 85 +- .../cakephp/cakephp/src/Core/ClassLoader.php | 14 +- .../cakephp/cakephp/src/Core/Configure.php | 119 +- .../Core/Configure/ConfigEngineInterface.php | 6 +- .../src/Core/Configure/Engine/IniConfig.php | 15 +- .../src/Core/Configure/Engine/JsonConfig.php | 8 +- .../src/Core/Configure/Engine/PhpConfig.php | 20 +- .../src/Core/Configure/FileConfigTrait.php | 6 +- .../src/Core/ConsoleApplicationInterface.php | 8 +- .../cakephp/src/Core/ConventionsTrait.php | 28 +- .../cakephp/src/Core/Exception/Exception.php | 28 +- .../Core/Exception/MissingPluginException.php | 2 + .../src/Core/HttpApplicationInterface.php | 34 +- .../cakephp/src/Core/InstanceConfigTrait.php | 96 +- .../cakephp/cakephp/src/Core/LICENSE.txt | 2 +- .../cakephp/src/Core/ObjectRegistry.php | 110 +- .../cakephp/cakephp/src/Core/Plugin.php | 335 +- .../src/Core/PluginApplicationInterface.php | 13 +- .../cakephp/src/Core/PluginCollection.php | 84 +- .../cakephp/src/Core/PluginInterface.php | 39 +- app/vendor/cakephp/cakephp/src/Core/README.md | 4 +- .../cakephp/src/Core/Retry/CommandRetry.php | 5 +- .../src/Core/Retry/RetryStrategyInterface.php | 4 +- .../cakephp/src/Core/StaticConfigTrait.php | 123 +- .../cakephp/cakephp/src/Core/composer.json | 4 +- .../cakephp/cakephp/src/Core/functions.php | 74 +- .../cakephp/src/Database/Connection.php | 352 +- .../src/Database/ConstraintsInterface.php | 49 + .../Database/Dialect/MysqlDialectTrait.php | 17 +- .../Database/Dialect/PostgresDialectTrait.php | 26 +- .../Database/Dialect/SqliteDialectTrait.php | 26 +- .../Dialect/SqlserverDialectTrait.php | 61 +- .../TupleComparisonTranslatorTrait.php | 17 +- .../cakephp/cakephp/src/Database/Driver.php | 254 +- .../cakephp/src/Database/Driver/Mysql.php | 40 +- .../src/Database/Driver/PDODriverTrait.php | 202 - .../cakephp/src/Database/Driver/Postgres.php | 31 +- .../cakephp/src/Database/Driver/Sqlite.php | 31 +- .../cakephp/src/Database/Driver/Sqlserver.php | 33 +- .../cakephp/src/Database/DriverInterface.php | 82 +- .../cakephp/src/Database/Exception.php | 2 + .../Exception/MissingConnectionException.php | 6 +- .../Exception/MissingDriverException.php | 4 +- .../Exception/MissingExtensionException.php | 5 +- .../NestedTransactionRollbackException.php | 9 +- .../Database/Expression/BetweenExpression.php | 16 +- .../Database/Expression/CaseExpression.php | 35 +- .../src/Database/Expression/Comparison.php | 72 +- .../Database/Expression/FieldInterface.php | 8 +- .../src/Database/Expression/FieldTrait.php | 10 +- .../Expression/FunctionExpression.php | 38 +- .../Expression/IdentifierExpression.php | 14 +- .../Database/Expression/OrderByExpression.php | 19 +- .../Expression/OrderClauseExpression.php | 19 +- .../Database/Expression/QueryExpression.php | 194 +- .../Database/Expression/TupleComparison.php | 76 +- .../Database/Expression/UnaryExpression.php | 17 +- .../Database/Expression/ValuesExpression.php | 119 +- .../src/Database/ExpressionInterface.php | 12 +- .../src/Database/FieldTypeConverter.php | 28 +- .../cakephp/src/Database/FunctionsBuilder.php | 77 +- .../cakephp/src/Database/IdentifierQuoter.php | 30 +- .../cakephp/cakephp/src/Database/LICENSE.txt | 2 +- .../cakephp/src/Database/Log/LoggedQuery.php | 88 +- .../src/Database/Log/LoggingStatement.php | 46 +- .../cakephp/src/Database/Log/QueryLogger.php | 72 +- .../cakephp/src/Database/PostgresCompiler.php | 35 + .../cakephp/cakephp/src/Database/Query.php | 518 +- .../cakephp/src/Database/QueryCompiler.php | 72 +- .../cakephp/cakephp/src/Database/README.md | 2 +- .../src/Database/Retry/ReconnectStrategy.php | 10 +- .../src/Database/Schema/BaseSchema.php | 62 +- .../src/Database/Schema/CachedCollection.php | 121 +- .../src/Database/Schema/Collection.php | 27 +- .../Database/Schema/CollectionInterface.php | 51 + .../src/Database/Schema/MysqlSchema.php | 160 +- .../src/Database/Schema/PostgresSchema.php | 176 +- .../Database/Schema/SqlGeneratorInterface.php | 12 +- .../src/Database/Schema/SqliteSchema.php | 168 +- .../src/Database/Schema/SqlserverSchema.php | 222 +- .../cakephp/src/Database/Schema/Table.php | 4 - .../src/Database/Schema/TableSchema.php | 309 +- .../Schema/TableSchemaAwareInterface.php | 8 +- .../Database/Schema/TableSchemaInterface.php | 94 +- .../cakephp/src/Database/SchemaCache.php | 36 +- .../cakephp/src/Database/SqlDialectTrait.php | 44 +- .../cakephp/src/Database/SqliteCompiler.php | 2 + .../src/Database/SqlserverCompiler.php | 12 +- .../Database/Statement/BufferResultsTrait.php | 4 +- .../Database/Statement/BufferedStatement.php | 74 +- .../Database/Statement/CallbackStatement.php | 12 +- .../src/Database/Statement/MysqlStatement.php | 6 +- .../src/Database/Statement/PDOStatement.php | 51 +- .../Database/Statement/SqliteStatement.php | 22 +- .../Database/Statement/SqlserverStatement.php | 16 +- .../Database/Statement/StatementDecorator.php | 65 +- .../src/Database/StatementInterface.php | 46 +- .../cakephp/cakephp/src/Database/Type.php | 382 +- .../cakephp/src/Database/Type/BaseType.php | 80 + .../Database/Type/BatchCastingInterface.php | 8 +- .../cakephp/src/Database/Type/BinaryType.php | 55 +- .../src/Database/Type/BinaryUuidType.php | 61 +- .../cakephp/src/Database/Type/BoolType.php | 65 +- .../Database/Type/DateTimeFractionalType.php | 42 + .../Database/Type/DateTimeTimezoneType.php | 44 + .../src/Database/Type/DateTimeType.php | 329 +- .../cakephp/src/Database/Type/DateType.php | 40 +- .../cakephp/src/Database/Type/DecimalType.php | 115 +- .../Type/ExpressionTypeCasterTrait.php | 17 +- .../Database/Type/ExpressionTypeInterface.php | 6 +- .../cakephp/src/Database/Type/FloatType.php | 69 +- .../cakephp/src/Database/Type/IntegerType.php | 56 +- .../cakephp/src/Database/Type/JsonType.php | 61 +- .../Type/OptionalConvertInterface.php | 4 +- .../cakephp/src/Database/Type/StringType.php | 29 +- .../cakephp/src/Database/Type/TimeType.php | 22 +- .../cakephp/src/Database/Type/UuidType.php | 12 +- .../src/Database/TypeConverterTrait.php | 11 +- .../cakephp/src/Database/TypeFactory.php | 164 + .../cakephp/src/Database/TypeInterface.php | 22 +- .../cakephp/cakephp/src/Database/TypeMap.php | 78 +- .../cakephp/src/Database/TypeMapTrait.php | 47 +- .../src/Database/TypedResultInterface.php | 22 +- .../cakephp/src/Database/TypedResultTrait.php | 29 +- .../cakephp/src/Database/ValueBinder.php | 22 +- .../cakephp/src/Database/composer.json | 11 +- .../src/Datasource/ConnectionInterface.php | 104 +- .../src/Datasource/ConnectionManager.php | 32 +- .../src/Datasource/ConnectionRegistry.php | 24 +- .../src/Datasource/EntityInterface.php | 312 +- .../cakephp/src/Datasource/EntityTrait.php | 791 +--- .../Exception/InvalidPrimaryKeyException.php | 16 +- .../MissingDatasourceConfigException.php | 4 +- .../Exception/MissingDatasourceException.php | 4 +- .../Exception/MissingModelException.php | 4 +- .../Exception/PageOutOfBoundsException.php | 6 +- .../Exception/RecordNotFoundException.php | 16 +- .../cakephp/src/Datasource/FactoryLocator.php | 8 +- .../src/Datasource/FixtureInterface.php | 36 +- .../Datasource/InvalidPropertyInterface.php | 45 +- .../cakephp/src/Datasource/LICENSE.txt | 2 +- .../src/Datasource/ModelAwareTrait.php | 61 +- .../cakephp/src/Datasource/Paginator.php | 59 +- .../src/Datasource/PaginatorInterface.php | 9 +- .../cakephp/src/Datasource/QueryCacher.php | 34 +- .../cakephp/src/Datasource/QueryInterface.php | 81 +- .../cakephp/src/Datasource/QueryTrait.php | 124 +- .../cakephp/cakephp/src/Datasource/README.md | 2 +- .../src/Datasource/RepositoryInterface.php | 79 +- .../src/Datasource/ResultSetDecorator.php | 9 +- .../src/Datasource/ResultSetInterface.php | 2 + .../cakephp/src/Datasource/RuleInvoker.php | 14 +- .../src/Datasource/RulesAwareTrait.php | 11 +- .../cakephp/src/Datasource/RulesChecker.php | 42 +- .../src/Datasource/SchemaInterface.php | 32 +- .../src/Datasource/SimplePaginator.php | 4 +- .../src/Datasource/TableSchemaInterface.php | 34 - .../cakephp/src/Datasource/composer.json | 6 +- .../cakephp/src/Error/BaseErrorHandler.php | 200 +- .../cakephp/src/Error/ConsoleErrorHandler.php | 127 + .../cakephp/cakephp/src/Error/Debugger.php | 151 +- .../cakephp/src/Error/ErrorHandler.php | 83 +- .../cakephp/cakephp/src/Error/ErrorLogger.php | 154 + .../cakephp/src/Error/ExceptionRenderer.php | 249 +- .../src/Error/ExceptionRendererInterface.php | 6 +- .../cakephp/src/Error/FatalErrorException.php | 14 +- .../Middleware/ErrorHandlerMiddleware.php | 228 +- .../cakephp/src/Error/PHP7ErrorException.php | 62 - .../src/Event/Decorator/AbstractDecorator.php | 4 +- .../Event/Decorator/ConditionDecorator.php | 16 +- .../Decorator/SubjectFilterDecorator.php | 20 +- .../cakephp/cakephp/src/Event/Event.php | 149 +- .../src/Event/EventDispatcherInterface.php | 25 +- .../src/Event/EventDispatcherTrait.php | 42 +- .../cakephp/src/Event/EventInterface.php | 19 +- .../cakephp/cakephp/src/Event/EventList.php | 20 +- .../src/Event/EventListenerInterface.php | 4 +- .../cakephp/src/Event/EventManager.php | 165 +- .../src/Event/EventManagerInterface.php | 14 +- .../cakephp/src/Event/EventManagerTrait.php | 25 - .../cakephp/cakephp/src/Event/LICENSE.txt | 2 +- .../cakephp/cakephp/src/Event/README.md | 2 +- .../cakephp/cakephp/src/Event/composer.json | 4 +- .../cakephp/cakephp/src/Filesystem/File.php | 112 +- .../cakephp/src/Filesystem/Filesystem.php | 269 ++ .../cakephp/cakephp/src/Filesystem/Folder.php | 218 +- .../cakephp/src/Filesystem/LICENSE.txt | 2 +- .../cakephp/cakephp/src/Filesystem/README.md | 10 +- .../cakephp/src/Filesystem/composer.json | 4 +- app/vendor/cakephp/cakephp/src/Form/Form.php | 155 +- .../cakephp/src/Form/FormProtector.php | 591 +++ .../cakephp/cakephp/src/Form/LICENSE.txt | 2 +- app/vendor/cakephp/cakephp/src/Form/README.md | 2 +- .../cakephp/cakephp/src/Form/Schema.php | 14 +- .../cakephp/cakephp/src/Form/composer.json | 6 +- .../cakephp/src/Http/ActionDispatcher.php | 171 - .../cakephp/src/Http/BaseApplication.php | 165 +- .../cakephp/src/Http/CallbackStream.php | 8 +- .../cakephp/cakephp/src/Http/Client.php | 90 +- .../cakephp/src/Http/Client/Adapter/Curl.php | 64 +- .../src/Http/Client/Adapter/Stream.php | 85 +- .../src/Http/Client/AdapterInterface.php | 11 +- .../cakephp/src/Http/Client/Auth/Basic.php | 11 +- .../cakephp/src/Http/Client/Auth/Digest.php | 21 +- .../cakephp/src/Http/Client/Auth/Oauth.php | 59 +- .../src/Http/Client/CookieCollection.php | 120 - .../Http/Client/Exception/ClientException.php | 26 + .../Client/Exception/NetworkException.php | 61 + .../Client/Exception/RequestException.php | 62 + .../cakephp/src/Http/Client/FormData.php | 43 +- .../cakephp/src/Http/Client/FormDataPart.php | 53 +- .../cakephp/src/Http/Client/Message.php | 82 +- .../cakephp/src/Http/Client/Request.php | 225 +- .../cakephp/src/Http/Client/Response.php | 368 +- .../cakephp/src/Http/ControllerFactory.php | 120 +- .../src/Http/ControllerFactoryInterface.php | 47 + .../cakephp/src/Http/Cookie/Cookie.php | 435 +- .../src/Http/Cookie/CookieCollection.php | 157 +- .../src/Http/Cookie/CookieInterface.php | 86 +- .../cakephp/cakephp/src/Http/CorsBuilder.php | 10 +- .../Http/Exception/BadRequestException.php | 12 +- .../src/Http/Exception/ConflictException.php | 12 +- .../src/Http/Exception/ForbiddenException.php | 12 +- .../src/Http/Exception/GoneException.php | 12 +- .../src/Http/Exception/HttpException.php | 2 + .../Http/Exception/InternalErrorException.php | 10 +- .../Exception/InvalidCsrfTokenException.php | 12 +- .../Exception/MethodNotAllowedException.php | 12 +- .../Exception/MissingControllerException.php | 34 + .../Http/Exception/NotAcceptableException.php | 12 +- .../src/Http/Exception/NotFoundException.php | 12 +- .../Exception/NotImplementedException.php | 6 +- .../Exception/ServiceUnavailableException.php | 12 +- .../Http/Exception/UnauthorizedException.php | 12 +- .../UnavailableForLegalReasonsException.php | 12 +- .../cakephp/cakephp/src/Http/LICENSE.txt | 22 + .../Http/Middleware/BodyParserMiddleware.php | 58 +- .../Middleware/ClosureDecoratorMiddleware.php | 81 + .../src/Http/Middleware/CspMiddleware.php | 25 +- .../Middleware/CsrfProtectionMiddleware.php | 233 +- .../DoublePassDecoratorMiddleware.php | 87 + .../Middleware/EncryptedCookieMiddleware.php | 33 +- .../Middleware/HttpsEnforcerMiddleware.php | 98 + .../Middleware/SecurityHeadersMiddleware.php | 73 +- .../src/Http/MiddlewareApplication.php | 56 + .../cakephp/src/Http/MiddlewareQueue.php | 205 +- app/vendor/cakephp/cakephp/src/Http/README.md | 98 + .../cakephp/src/Http/RequestTransformer.php | 157 - .../cakephp/cakephp/src/Http/Response.php | 1541 +----- .../cakephp/src/Http/ResponseEmitter.php | 185 +- .../cakephp/src/Http/ResponseTransformer.php | 275 -- .../cakephp/cakephp/src/Http/Runner.php | 59 +- .../cakephp/cakephp/src/Http/Server.php | 105 +- .../cakephp/src/Http/ServerRequest.php | 838 +--- .../cakephp/src/Http/ServerRequestFactory.php | 96 +- .../cakephp/cakephp/src/Http/Session.php | 161 +- .../cakephp/src/Http/Session/CacheSession.php | 18 +- .../src/Http/Session/DatabaseSession.php | 36 +- .../cakephp/cakephp/src/Http/composer.json | 49 + .../cakephp/src/I18n/ChainMessagesLoader.php | 4 +- app/vendor/cakephp/cakephp/src/I18n/Date.php | 57 +- .../cakephp/src/I18n/DateFormatTrait.php | 206 +- .../src/I18n/Formatter/IcuFormatter.php | 30 +- .../src/I18n/Formatter/SprintfFormatter.php | 8 +- .../cakephp/cakephp/src/I18n/FrozenDate.php | 57 +- .../cakephp/cakephp/src/I18n/FrozenTime.php | 107 +- app/vendor/cakephp/cakephp/src/I18n/I18n.php | 162 +- .../src/I18n/I18nDateTimeInterface.php | 224 + .../cakephp/cakephp/src/I18n/LICENSE.txt | 2 +- .../cakephp/src/I18n/MessagesFileLoader.php | 18 +- .../Middleware/LocaleSelectorMiddleware.php | 19 +- .../cakephp/cakephp/src/I18n/Number.php | 82 +- .../cakephp/src/I18n/Parser/MoFileParser.php | 24 +- .../cakephp/src/I18n/Parser/PoFileParser.php | 23 +- .../cakephp/cakephp/src/I18n/PluralRules.php | 6 +- app/vendor/cakephp/cakephp/src/I18n/README.md | 8 +- .../src/I18n/RelativeTimeFormatter.php | 119 +- app/vendor/cakephp/cakephp/src/I18n/Time.php | 132 +- .../cakephp/cakephp/src/I18n/Translator.php | 22 +- .../cakephp/src/I18n/TranslatorFactory.php | 7 +- .../cakephp/src/I18n/TranslatorRegistry.php | 46 +- .../cakephp/cakephp/src/I18n/composer.json | 6 +- .../cakephp/cakephp/src/I18n/functions.php | 34 +- .../cakephp/src/Log/Engine/ArrayLog.php | 68 + .../cakephp/src/Log/Engine/BaseLog.php | 35 +- .../cakephp/src/Log/Engine/ConsoleLog.php | 9 +- .../cakephp/src/Log/Engine/FileLog.php | 36 +- .../cakephp/src/Log/Engine/SyslogLog.php | 15 +- .../cakephp/cakephp/src/Log/LICENSE.txt | 2 +- app/vendor/cakephp/cakephp/src/Log/Log.php | 69 +- .../cakephp/src/Log/LogEngineRegistry.php | 28 +- .../cakephp/cakephp/src/Log/LogTrait.php | 6 +- app/vendor/cakephp/cakephp/src/Log/README.md | 6 +- .../cakephp/cakephp/src/Log/composer.json | 7 +- .../cakephp/src/Mailer/AbstractTransport.php | 43 +- .../cakephp/cakephp/src/Mailer/Email.php | 2881 ++---------- .../Exception/MissingActionException.php | 6 +- .../Exception/MissingMailerException.php | 2 + .../cakephp/cakephp/src/Mailer/Mailer.php | 560 ++- .../cakephp/src/Mailer/MailerAwareTrait.php | 17 +- .../cakephp/cakephp/src/Mailer/Message.php | 1905 ++++++++ .../cakephp/cakephp/src/Mailer/Renderer.php | 120 + .../src/Mailer/Transport/DebugTransport.php | 20 +- .../src/Mailer/Transport/MailTransport.php | 74 +- .../src/Mailer/Transport/SmtpTransport.php | 175 +- .../cakephp/src/Mailer/TransportFactory.php | 21 +- .../cakephp/src/Mailer/TransportRegistry.php | 40 +- .../cakephp/src/Network/CorsBuilder.php | 4 - .../src/Network/Email/AbstractTransport.php | 4 - .../src/Network/Email/DebugTransport.php | 4 - .../cakephp/src/Network/Email/Email.php | 4 - .../src/Network/Email/MailTransport.php | 4 - .../src/Network/Email/SmtpTransport.php | 4 - .../Network/Exception/BadRequestException.php | 4 - .../Network/Exception/ConflictException.php | 4 - .../Network/Exception/ForbiddenException.php | 4 - .../src/Network/Exception/GoneException.php | 4 - .../src/Network/Exception/HttpException.php | 4 - .../Exception/InternalErrorException.php | 4 - .../Exception/InvalidCsrfTokenException.php | 4 - .../Exception/MethodNotAllowedException.php | 4 - .../Exception/NotAcceptableException.php | 4 - .../Network/Exception/NotFoundException.php | 4 - .../Exception/NotImplementedException.php | 4 - .../Exception/ServiceUnavailableException.php | 4 - .../src/Network/Exception/SocketException.php | 4 +- .../Exception/UnauthorizedException.php | 4 - .../UnavailableForLegalReasonsException.php | 4 - .../src/Network/Http/Adapter/Stream.php | 4 - .../cakephp/src/Network/Http/Auth/Basic.php | 4 - .../cakephp/src/Network/Http/Auth/Digest.php | 4 - .../cakephp/src/Network/Http/Auth/Oauth.php | 4 - .../cakephp/src/Network/Http/Client.php | 4 - .../src/Network/Http/CookieCollection.php | 4 - .../cakephp/src/Network/Http/FormData.php | 4 - .../src/Network/Http/FormData/Part.php | 4 - .../cakephp/src/Network/Http/Message.php | 4 - .../cakephp/src/Network/Http/Request.php | 4 - .../cakephp/src/Network/Http/Response.php | 4 - .../cakephp/cakephp/src/Network/Request.php | 4 - .../cakephp/cakephp/src/Network/Response.php | 4 - .../cakephp/cakephp/src/Network/Session.php | 4 - .../src/Network/Session/CacheSession.php | 4 - .../src/Network/Session/DatabaseSession.php | 4 - .../cakephp/cakephp/src/Network/Socket.php | 127 +- .../cakephp/cakephp/src/ORM/Association.php | 496 +- .../cakephp/src/ORM/Association/BelongsTo.php | 23 +- .../src/ORM/Association/BelongsToMany.php | 280 +- .../ORM/Association/DependentDeleteHelper.php | 8 +- .../ORM/Association/DependentDeleteTrait.php | 48 - .../cakephp/src/ORM/Association/HasMany.php | 153 +- .../cakephp/src/ORM/Association/HasOne.php | 28 +- .../ORM/Association/Loader/SelectLoader.php | 48 +- .../Loader/SelectWithPivotLoader.php | 15 +- .../cakephp/src/ORM/AssociationCollection.php | 85 +- .../src/ORM/AssociationsNormalizerTrait.php | 12 +- .../cakephp/cakephp/src/ORM/Behavior.php | 55 +- .../src/ORM/Behavior/CounterCacheBehavior.php | 86 +- .../src/ORM/Behavior/TimestampBehavior.php | 54 +- .../ORM/Behavior/Translate/EavStrategy.php | 510 ++ .../Translate/ShadowTableStrategy.php | 596 +++ .../Translate/TranslateStrategyInterface.php | 118 + .../Translate/TranslateStrategyTrait.php | 195 + .../ORM/Behavior/Translate/TranslateTrait.php | 6 +- .../src/ORM/Behavior/TranslateBehavior.php | 670 +-- .../cakephp/src/ORM/Behavior/TreeBehavior.php | 167 +- .../cakephp/src/ORM/BehaviorRegistry.php | 54 +- .../cakephp/cakephp/src/ORM/EagerLoadable.php | 81 +- .../cakephp/cakephp/src/ORM/EagerLoader.php | 217 +- app/vendor/cakephp/cakephp/src/ORM/Entity.php | 4 +- .../Exception/MissingBehaviorException.php | 4 +- .../ORM/Exception/MissingEntityException.php | 4 +- .../Exception/MissingTableClassException.php | 4 +- .../Exception/PersistenceFailedException.php | 11 +- .../RolledbackTransactionException.php | 7 +- .../cakephp/src/ORM/LazyEagerLoader.php | 25 +- .../src/ORM/Locator/LocatorAwareTrait.php | 27 +- .../src/ORM/Locator/LocatorInterface.php | 33 +- .../cakephp/src/ORM/Locator/TableLocator.php | 96 +- .../cakephp/cakephp/src/ORM/Marshaller.php | 147 +- .../src/ORM/PropertyMarshalInterface.php | 4 +- app/vendor/cakephp/cakephp/src/ORM/Query.php | 280 +- app/vendor/cakephp/cakephp/src/ORM/README.md | 27 +- .../cakephp/cakephp/src/ORM/ResultSet.php | 135 +- .../cakephp/cakephp/src/ORM/Rule/ExistsIn.php | 27 +- .../cakephp/cakephp/src/ORM/Rule/IsUnique.php | 31 +- .../cakephp/src/ORM/Rule/LinkConstraint.php | 196 + .../cakephp/src/ORM/Rule/ValidCount.php | 6 +- .../cakephp/cakephp/src/ORM/RulesChecker.php | 165 +- .../cakephp/src/ORM/SaveOptionsBuilder.php | 44 +- app/vendor/cakephp/cakephp/src/ORM/Table.php | 777 ++- .../cakephp/cakephp/src/ORM/TableRegistry.php | 87 +- .../cakephp/cakephp/src/ORM/composer.json | 19 +- .../cakephp/cakephp/src/Routing/Asset.php | 365 ++ .../cakephp/src/Routing/Dispatcher.php | 98 - .../cakephp/src/Routing/DispatcherFactory.php | 112 - .../cakephp/src/Routing/DispatcherFilter.php | 214 - .../DuplicateNamedRouteException.php | 14 +- .../Exception/MissingControllerException.php | 41 +- .../MissingDispatcherFilterException.php | 4 +- .../Exception/MissingRouteException.php | 14 +- .../Routing/Exception/RedirectException.php | 4 +- .../src/Routing/Filter/AssetFilter.php | 148 - .../Filter/ControllerFactoryFilter.php | 65 - .../Routing/Filter/LocaleSelectorFilter.php | 70 - .../src/Routing/Filter/RoutingFilter.php | 72 - .../Routing/Middleware/AssetMiddleware.php | 114 +- .../Routing/Middleware/RoutingMiddleware.php | 52 +- .../src/Routing/RequestActionTrait.php | 186 - .../cakephp/src/Routing/Route/DashedRoute.php | 18 +- .../cakephp/src/Routing/Route/EntityRoute.php | 11 +- .../src/Routing/Route/InflectedRoute.php | 16 +- .../src/Routing/Route/PluginShortRoute.php | 14 +- .../src/Routing/Route/RedirectRoute.php | 40 +- .../cakephp/src/Routing/Route/Route.php | 210 +- .../cakephp/src/Routing/RouteBuilder.php | 268 +- .../cakephp/src/Routing/RouteCollection.php | 110 +- .../cakephp/cakephp/src/Routing/Router.php | 687 +-- .../Routing/RoutingApplicationInterface.php | 33 + .../cakephp/cakephp/src/Shell/CacheShell.php | 117 - .../cakephp/src/Shell/CommandListShell.php | 170 - .../cakephp/src/Shell/CompletionShell.php | 173 - .../src/Shell/Helper/ProgressHelper.php | 6 +- .../cakephp/src/Shell/Helper/TableHelper.php | 21 +- .../cakephp/cakephp/src/Shell/I18nShell.php | 168 - .../cakephp/src/Shell/OrmCacheShell.php | 30 - .../cakephp/cakephp/src/Shell/PluginShell.php | 80 - .../cakephp/cakephp/src/Shell/RoutesShell.php | 164 - .../cakephp/src/Shell/SchemaCacheShell.php | 114 - .../cakephp/cakephp/src/Shell/ServerShell.php | 180 - .../cakephp/src/Shell/Task/AssetsTask.php | 339 -- .../cakephp/src/Shell/Task/CommandTask.php | 193 +- .../cakephp/src/Shell/Task/ExtractTask.php | 854 ---- .../cakephp/src/Shell/Task/LoadTask.php | 174 - .../cakephp/src/Shell/Task/UnloadTask.php | 146 - .../Template/Element/auto_table_warning.ctp | 42 - .../Element/exception_stack_trace.ctp | 62 - .../Element/exception_stack_trace_nav.ctp | 43 - .../Template/Element/plugin_class_error.ctp | 33 - .../Template/Error/duplicate_named_route.ctp | 61 - .../src/Template/Error/fatal_error.ctp | 38 - .../src/Template/Error/missing_action.ctp | 86 - .../src/Template/Error/missing_behavior.ctp | 68 - .../src/Template/Error/missing_cell_view.ctp | 43 - .../src/Template/Error/missing_component.ctp | 64 - .../src/Template/Error/missing_connection.ctp | 32 - .../src/Template/Error/missing_controller.ctp | 91 - .../src/Template/Error/missing_datasource.ctp | 29 - .../Error/missing_datasource_config.ctp | 29 - .../src/Template/Error/missing_helper.ctp | 65 - .../src/Template/Error/missing_layout.ctp | 42 - .../src/Template/Error/missing_plugin.ctp | 49 - .../src/Template/Error/missing_route.ctp | 59 - .../src/Template/Error/missing_template.ctp | 55 - .../src/Template/Error/missing_view.ctp | 67 - .../cakephp/src/Template/Error/pdo_error.ctp | 44 - .../cakephp/src/Template/Layout/dev_error.ctp | 297 -- .../TestSuite/ConsoleIntegrationTestCase.php | 4 +- .../TestSuite/ConsoleIntegrationTestTrait.php | 99 +- .../Constraint/Console/ContentsBase.php | 8 +- .../Constraint/Console/ContentsContain.php | 8 +- .../Constraint/Console/ContentsContainRow.php | 11 +- .../Constraint/Console/ContentsEmpty.php | 8 +- .../Constraint/Console/ContentsNotContain.php | 6 +- .../Constraint/Console/ContentsRegExp.php | 8 +- .../TestSuite/Constraint/Console/ExitCode.php | 14 +- .../Constraint/Email/MailConstraintBase.php | 21 +- .../Constraint/Email/MailContains.php | 15 +- .../Email/MailContainsAttachment.php | 15 +- .../Constraint/Email/MailContainsHtml.php | 8 +- .../Constraint/Email/MailContainsText.php | 8 +- .../TestSuite/Constraint/Email/MailCount.php | 8 +- .../Constraint/Email/MailSentFrom.php | 6 +- .../TestSuite/Constraint/Email/MailSentTo.php | 6 +- .../Constraint/Email/MailSentWith.php | 44 +- .../TestSuite/Constraint/Email/NoMailSent.php | 10 +- .../src/TestSuite/Constraint/EventFired.php | 30 +- .../TestSuite/Constraint/EventFiredWith.php | 41 +- .../Constraint/Response/BodyContains.php | 12 +- .../Constraint/Response/BodyEmpty.php | 8 +- .../Constraint/Response/BodyEquals.php | 6 +- .../Constraint/Response/BodyNotContains.php | 6 +- .../Constraint/Response/BodyNotEmpty.php | 6 +- .../Constraint/Response/BodyNotEquals.php | 6 +- .../Constraint/Response/BodyNotRegExp.php | 6 +- .../Constraint/Response/BodyRegExp.php | 8 +- .../Constraint/Response/ContentType.php | 11 +- .../Response/CookieEncryptedEquals.php | 20 +- .../Constraint/Response/CookieEquals.php | 17 +- .../Constraint/Response/CookieNotSet.php | 6 +- .../Constraint/Response/CookieSet.php | 11 +- .../Constraint/Response/FileSent.php | 13 +- .../Constraint/Response/FileSentAs.php | 14 +- .../Constraint/Response/HeaderContains.php | 12 +- .../Constraint/Response/HeaderEquals.php | 12 +- .../Constraint/Response/HeaderNotContains.php | 12 +- .../Constraint/Response/HeaderNotSet.php | 6 +- .../Constraint/Response/HeaderSet.php | 14 +- .../Constraint/Response/ResponseBase.php | 13 +- .../Constraint/Response/StatusCode.php | 6 +- .../Constraint/Response/StatusCodeBase.php | 9 +- .../Constraint/Response/StatusError.php | 6 +- .../Constraint/Response/StatusFailure.php | 6 +- .../Constraint/Response/StatusOk.php | 6 +- .../Constraint/Response/StatusSuccess.php | 6 +- .../Constraint/Session/FlashParamEquals.php | 24 +- .../Constraint/Session/SessionEquals.php | 19 +- .../Constraint/View/LayoutFileEquals.php | 4 +- .../Constraint/View/TemplateFileEquals.php | 10 +- .../src/TestSuite/EmailAssertTrait.php | 292 -- .../cakephp/src/TestSuite/EmailTrait.php | 46 +- .../src/TestSuite/Fixture/FixtureInjector.php | 22 +- .../src/TestSuite/Fixture/FixtureManager.php | 158 +- .../src/TestSuite/Fixture/TestFixture.php | 95 +- .../src/TestSuite/IntegrationTestCase.php | 21 +- .../src/TestSuite/IntegrationTestTrait.php | 366 +- .../src/TestSuite/LegacyCommandRunner.php | 11 +- .../src/TestSuite/LegacyRequestDispatcher.php | 74 - .../src/TestSuite/LegacyShellDispatcher.php | 16 +- .../src/TestSuite/MiddlewareDispatcher.php | 77 +- .../cakephp/src/TestSuite/MockBuilder.php | 57 - .../src/TestSuite/StringCompareTrait.php | 9 +- .../src/TestSuite/Stub/ConsoleInput.php | 9 +- .../src/TestSuite/Stub/ConsoleOutput.php | 20 +- .../Stub/MissingConsoleInputException.php | 2 + .../cakephp/src/TestSuite/Stub/Response.php | 37 - .../TestSuite/Stub/TestExceptionRenderer.php | 10 +- .../cakephp/src/TestSuite/TestCase.php | 333 +- .../src/TestSuite/TestEmailTransport.php | 32 +- .../src/TestSuite/TestListenerTrait.php | 99 + .../cakephp/src/TestSuite/TestSession.php | 79 + .../cakephp/src/TestSuite/TestSuite.php | 38 +- .../cakephp/src/Utility/CookieCryptTrait.php | 34 +- .../cakephp/src/Utility/Crypto/Mcrypt.php | 124 - .../cakephp/src/Utility/Crypto/OpenSsl.php | 35 +- .../src/Utility/Exception/XmlException.php | 4 +- .../cakephp/cakephp/src/Utility/Hash.php | 228 +- .../cakephp/cakephp/src/Utility/Inflector.php | 364 +- .../cakephp/cakephp/src/Utility/LICENSE.txt | 2 +- .../src/Utility/MergeVariablesTrait.php | 12 +- .../cakephp/cakephp/src/Utility/README.md | 10 +- .../cakephp/cakephp/src/Utility/Security.php | 163 +- .../cakephp/cakephp/src/Utility/String.php | 6 - .../cakephp/cakephp/src/Utility/Text.php | 153 +- .../cakephp/cakephp/src/Utility/Xml.php | 53 +- .../cakephp/cakephp/src/Utility/bootstrap.php | 3 + .../cakephp/cakephp/src/Utility/composer.json | 4 +- .../cakephp/src/Validation/LICENSE.txt | 2 +- .../cakephp/cakephp/src/Validation/README.md | 2 +- .../cakephp/src/Validation/RulesProvider.php | 7 +- .../src/Validation/ValidatableInterface.php | 4 +- .../cakephp/src/Validation/Validation.php | 410 +- .../cakephp/src/Validation/ValidationRule.php | 27 +- .../cakephp/src/Validation/ValidationSet.php | 64 +- .../cakephp/src/Validation/Validator.php | 477 +- .../Validation/ValidatorAwareInterface.php | 15 +- .../src/Validation/ValidatorAwareTrait.php | 90 +- .../cakephp/src/Validation/composer.json | 6 +- .../cakephp/cakephp/src/View/AjaxView.php | 12 +- app/vendor/cakephp/cakephp/src/View/Cell.php | 178 +- .../cakephp/cakephp/src/View/CellTrait.php | 29 +- .../View/Exception/MissingCellException.php | 2 + .../MissingCellTemplateException.php | 69 + .../Exception/MissingCellViewException.php | 26 - .../Exception/MissingElementException.php | 10 +- .../View/Exception/MissingHelperException.php | 2 + .../View/Exception/MissingLayoutException.php | 10 +- .../Exception/MissingTemplateException.php | 65 +- .../View/Exception/MissingViewException.php | 2 + .../SerializationFailureException.php | 26 + .../cakephp/src/View/Form/ArrayContext.php | 81 +- .../cakephp/src/View/Form/ContextFactory.php | 50 +- .../src/View/Form/ContextInterface.php | 50 +- .../cakephp/src/View/Form/EntityContext.php | 189 +- .../cakephp/src/View/Form/FormContext.php | 89 +- .../cakephp/src/View/Form/NullContext.php | 63 +- .../cakephp/cakephp/src/View/Helper.php | 161 +- .../src/View/Helper/BreadcrumbsHelper.php | 41 +- .../cakephp/src/View/Helper/FlashHelper.php | 6 +- .../cakephp/src/View/Helper/FormHelper.php | 1187 ++--- .../cakephp/src/View/Helper/HtmlHelper.php | 377 +- .../src/View/Helper/IdGeneratorTrait.php | 12 +- .../cakephp/src/View/Helper/NumberHelper.php | 53 +- .../src/View/Helper/PaginatorHelper.php | 379 +- .../cakephp/src/View/Helper/RssHelper.php | 377 -- .../src/View/Helper/SecureFieldTokenTrait.php | 68 - .../cakephp/src/View/Helper/SessionHelper.php | 88 - .../cakephp/src/View/Helper/TextHelper.php | 113 +- .../cakephp/src/View/Helper/TimeHelper.php | 98 +- .../cakephp/src/View/Helper/UrlHelper.php | 189 +- .../cakephp/src/View/HelperRegistry.php | 30 +- .../cakephp/cakephp/src/View/JsonView.php | 126 +- .../cakephp/src/View/SerializedView.php | 89 +- .../cakephp/src/View/StringTemplate.php | 39 +- .../cakephp/src/View/StringTemplateTrait.php | 35 +- app/vendor/cakephp/cakephp/src/View/View.php | 932 ++-- .../cakephp/cakephp/src/View/ViewBlock.php | 51 +- .../cakephp/cakephp/src/View/ViewBuilder.php | 397 +- .../cakephp/src/View/ViewVarsTrait.php | 104 +- .../cakephp/src/View/Widget/BasicWidget.php | 137 +- .../cakephp/src/View/Widget/ButtonWidget.php | 46 +- .../src/View/Widget/CheckboxWidget.php | 31 +- .../src/View/Widget/DateTimeWidget.php | 646 +-- .../cakephp/src/View/Widget/FileWidget.php | 48 +- .../cakephp/src/View/Widget/LabelWidget.php | 11 +- .../src/View/Widget/MultiCheckboxWidget.php | 78 +- .../src/View/Widget/NestingLabelWidget.php | 2 + .../cakephp/src/View/Widget/RadioWidget.php | 71 +- .../src/View/Widget/SelectBoxWidget.php | 94 +- .../src/View/Widget/TextareaWidget.php | 36 +- .../src/View/Widget/WidgetInterface.php | 9 +- .../cakephp/src/View/Widget/WidgetLocator.php | 115 +- .../src/View/Widget/WidgetRegistry.php | 18 - .../cakephp/src/View/Widget/YearWidget.php | 109 + .../cakephp/cakephp/src/View/XmlView.php | 83 +- app/vendor/cakephp/cakephp/src/basics.php | 55 +- .../templates/Error/duplicate_named_route.php | 61 + .../cakephp/templates/Error/fatal_error.php | 39 + .../templates/Error/missing_action.php | 86 + .../templates/Error/missing_behavior.php | 68 + .../templates/Error/missing_cell_template.php | 40 + .../templates/Error/missing_component.php | 64 + .../templates/Error/missing_connection.php | 24 + .../templates/Error/missing_controller.php | 93 + .../templates/Error/missing_datasource.php | 29 + .../Error/missing_datasource_config.php | 28 + .../templates/Error/missing_helper.php | 65 + .../templates/Error/missing_layout.php | 41 + .../templates/Error/missing_plugin.php | 49 + .../cakephp/templates/Error/missing_route.php | 59 + .../templates/Error/missing_template.php | 54 + .../cakephp/templates/Error/missing_view.php | 68 + .../cakephp/templates/Error/pdo_error.php | 44 + .../templates/element/auto_table_warning.php | 43 + .../element/exception_stack_trace.php | 63 + .../element/exception_stack_trace_nav.php | 43 + .../templates/element/plugin_class_error.php | 31 + .../cakephp/templates/layout/dev_error.php | 389 ++ .../ArticlesMoreTranslationsFixture.php | 54 + .../Fixture/ArticlesTranslationsFixture.php | 55 + .../Fixture/AssertIntegrationTestCase.php | 20 +- .../Fixture/AuthorsTranslationsFixture.php | 44 + .../Fixture/CommentsTranslationsFixture.php | 48 + .../tests/Fixture/DatatypesFixture.php | 3 +- .../tests/Fixture/FixturizedTestCase.php | 18 +- .../Fixture/GroupsTranslationsFixture.php | 42 + .../cakephp/tests/Fixture/OrdersFixture.php | 2 +- .../tests/Fixture/OtherArticlesFixture.php | 19 +- .../cakephp/tests/Fixture/ProductsFixture.php | 2 +- .../SpecialTagsTranslationsFixture.php | 44 + .../Fixture/TagsShadowTranslationsFixture.php | 52 + .../cakephp/cakephp/tests/bootstrap.php | 26 +- .../cakephp/cakephp/tests/phpunit_aliases.php | 23 - app/vendor/cakephp/chronos/.appveyor.yml | 34 - app/vendor/cakephp/chronos/README.md | 30 +- app/vendor/cakephp/chronos/composer.json | 115 +- app/vendor/cakephp/chronos/docs/config/all.py | 11 +- app/vendor/cakephp/chronos/docs/en/index.rst | 14 +- app/vendor/cakephp/chronos/src/Chronos.php | 53 +- .../cakephp/chronos/src/ChronosInterface.php | 509 +- .../cakephp/chronos/src/ChronosInterval.php | 188 +- app/vendor/cakephp/chronos/src/Date.php | 59 +- .../chronos/src/DifferenceFormatter.php | 24 +- .../src/DifferenceFormatterInterface.php | 35 + .../cakephp/chronos/src/MutableDate.php | 59 +- .../cakephp/chronos/src/MutableDateTime.php | 56 +- .../chronos/src/Traits/ComparisonTrait.php | 94 +- .../cakephp/chronos/src/Traits/CopyTrait.php | 6 +- .../chronos/src/Traits/DifferenceTrait.php | 100 +- .../chronos/src/Traits/FactoryTrait.php | 113 +- .../chronos/src/Traits/FormattingTrait.php | 58 +- .../chronos/src/Traits/FrozenTimeTrait.php | 54 +- .../chronos/src/Traits/MagicPropertyTrait.php | 18 +- .../chronos/src/Traits/ModifierTrait.php | 404 +- .../src/Traits/RelativeKeywordTrait.php | 35 +- .../chronos/src/Traits/TestingAidTrait.php | 9 +- .../chronos/src/Traits/TimezoneTrait.php | 21 +- app/vendor/cakephp/chronos/src/Translator.php | 8 +- .../cakephp/chronos/src/carbon_compat.php | 7 +- .../debug_kit/.github/workflows/ci.yml | 91 - app/vendor/cakephp/debug_kit/README.md | 4 - app/vendor/cakephp/debug_kit/composer.json | 31 +- .../cakephp/debug_kit/config/bootstrap.php | 57 +- .../cakephp/debug_kit/config/routes.php | 2 +- .../cakephp/debug_kit/docs/config/all.py | 12 +- .../cakephp/debug_kit/docs/en/index.rst | 10 +- .../cakephp/debug_kit/docs/fr/index.rst | 2 +- .../cakephp/debug_kit/docs/ja/index.rst | 2 +- .../cakephp/debug_kit/docs/pt/index.rst | 2 +- .../cakephp/debug_kit/psalm-baseline.xml | 156 + app/vendor/cakephp/debug_kit/psalm.xml | 32 + .../src/Cache/Engine/DebugEngine.php | 214 +- .../src/Command/BenchmarkCommand.php | 190 + .../Controller/Component/ToolbarComponent.php | 45 - .../src/Controller/ComposerController.php | 18 +- .../src/Controller/DashboardController.php | 12 +- .../src/Controller/DebugKitController.php | 14 +- .../src/Controller/MailPreviewController.php | 72 +- .../src/Controller/PanelsController.php | 22 +- .../src/Controller/RequestsController.php | 12 +- .../src/Controller/ToolbarController.php | 25 +- .../debug_kit/src/Database/Log/DebugLog.php | 55 +- .../cakephp/debug_kit/src/DebugInclude.php | 11 +- .../cakephp/debug_kit/src/DebugMemory.php | 4 +- .../cakephp/debug_kit/src/DebugPanel.php | 15 +- app/vendor/cakephp/debug_kit/src/DebugSql.php | 13 +- .../cakephp/debug_kit/src/DebugTimer.php | 8 +- .../debug_kit/src/Log/Engine/DebugKitLog.php | 4 +- .../debug_kit/src/Mailer/AbstractResult.php | 3 +- .../debug_kit/src/Mailer/MailPreview.php | 6 +- .../debug_kit/src/Mailer/PreviewResult.php | 30 +- .../debug_kit/src/Mailer/SentMailResult.php | 7 +- .../Mailer/Transport/DebugKitTransport.php | 27 +- .../src/Middleware/DebugKitMiddleware.php | 34 +- .../src/Model/Behavior/TimedBehavior.php | 3 +- .../debug_kit/src/Model/Entity/Panel.php | 3 +- .../debug_kit/src/Model/Entity/Request.php | 3 +- .../src/Model/Table/LazyTableTrait.php | 5 +- .../debug_kit/src/Model/Table/PanelsTable.php | 21 +- .../src/Model/Table/RequestsTable.php | 71 +- .../debug_kit/src/Panel/CachePanel.php | 31 +- .../debug_kit/src/Panel/DeprecationsPanel.php | 13 +- .../debug_kit/src/Panel/EnvironmentPanel.php | 12 +- .../debug_kit/src/Panel/HistoryPanel.php | 8 +- .../debug_kit/src/Panel/IncludePanel.php | 19 +- .../cakephp/debug_kit/src/Panel/LogPanel.php | 4 +- .../cakephp/debug_kit/src/Panel/MailPanel.php | 16 +- .../debug_kit/src/Panel/PackagesPanel.php | 3 +- .../debug_kit/src/Panel/PanelRegistry.php | 14 +- .../debug_kit/src/Panel/RequestPanel.php | 14 +- .../debug_kit/src/Panel/RoutesPanel.php | 20 +- .../debug_kit/src/Panel/SessionPanel.php | 14 +- .../debug_kit/src/Panel/SqlLogPanel.php | 21 +- .../debug_kit/src/Panel/TimerPanel.php | 5 +- .../debug_kit/src/Panel/VariablesPanel.php | 54 +- app/vendor/cakephp/debug_kit/src/Plugin.php | 90 +- .../src/Routing/Filter/DebugBarFilter.php | 146 - .../debug_kit/src/Shell/BenchmarkShell.php | 173 - .../debug_kit/src/Shell/WhitespaceShell.php | 101 - .../src/Template/Element/cache_panel.ctp | 80 - .../cakephp/debug_kit/src/ToolbarService.php | 51 +- .../cakephp/debug_kit/src/View/AjaxView.php | 5 +- .../src/View/Helper/CredentialsHelper.php | 8 +- .../src/View/Helper/SimpleGraphHelper.php | 18 +- .../debug_kit/src/View/Helper/TidyHelper.php | 189 - .../src/View/Helper/ToolbarHelper.php | 18 +- .../Dashboard/index.php} | 0 .../MailPreview/email.php} | 0 .../MailPreview/index.php} | 0 .../view.ctp => templates/Panels/view.php} | 0 .../view.ctp => templates/Requests/view.php} | 0 .../templates/element/cache_panel.php | 122 + .../element/deprecations_panel.php} | 0 .../element/environment_panel.php} | 0 .../element/history_panel.php} | 0 .../element/include_panel.php} | 0 .../element/log_panel.php} | 0 .../element/mail_panel.php} | 0 .../element/packages_panel.php} | 0 .../element/preview_header.php} | 0 .../element/request_panel.php} | 0 .../element/routes_panel.php} | 0 .../element/session_panel.php} | 0 .../element/sql_log_panel.php} | 0 .../element/timer_panel.php} | 0 .../element/variables_panel.php} | 0 .../layout/dashboard.php} | 0 .../layout/mailer.php} | 0 .../panel.ctp => templates/layout/panel.php} | 0 .../layout/toolbar.php} | 0 .../debug_kit/tests/Fixture/PanelsFixture.php | 2 +- .../cakephp/debug_kit/webroot/css/toolbar.css | 1 + .../migrations/.github/ISSUE_TEMPLATE.md | 30 - .../.github/PULL_REQUEST_TEMPLATE.md | 5 - app/vendor/cakephp/migrations/.stickler.yml | 5 - app/vendor/cakephp/migrations/Dockerfile | 25 + app/vendor/cakephp/migrations/LICENSE.txt | 2 +- app/vendor/cakephp/migrations/README.md | 21 +- app/vendor/cakephp/migrations/composer.json | 44 +- app/vendor/cakephp/migrations/docs.Dockerfile | 20 + .../migrations/docs/config/__init__.py} | 0 .../cakephp/migrations/docs/config/all.py | 51 + app/vendor/cakephp/migrations/docs/en/conf.py | 9 + .../cakephp/migrations/docs/en/contents.rst | 5 + .../cakephp/migrations/docs/en/index.rst | 1102 +++++ app/vendor/cakephp/migrations/docs/fr/conf.py | 9 + .../cakephp/migrations/docs/fr/contents.rst | 5 + .../cakephp/migrations/docs/fr/index.rst | 1131 +++++ app/vendor/cakephp/migrations/docs/ja/conf.py | 9 + .../cakephp/migrations/docs/ja/contents.rst | 5 + .../cakephp/migrations/docs/ja/index.rst | 1050 +++++ app/vendor/cakephp/migrations/docs/pt/conf.py | 9 + .../cakephp/migrations/docs/pt/contents.rst | 5 + .../cakephp/migrations/docs/pt/index.rst | 940 ++++ app/vendor/cakephp/migrations/docs/ru/conf.py | 9 + .../cakephp/migrations/docs/ru/contents.rst | 5 + .../cakephp/migrations/docs/ru/index.rst | 1016 ++++ app/vendor/cakephp/migrations/phpcs.xml.dist | 10 - app/vendor/cakephp/migrations/phpstan.neon | 7 - .../cakephp/migrations/psalm-baseline.xml | 36 + app/vendor/cakephp/migrations/psalm.xml | 25 + .../migrations/src/AbstractMigration.php | 9 +- .../cakephp/migrations/src/AbstractSeed.php | 19 +- .../cakephp/migrations/src/CakeAdapter.php | 722 +-- .../cakephp/migrations/src/CakeManager.php | 55 +- .../src/Command/BakeMigrationCommand.php | 148 + .../src/Command/BakeMigrationDiffCommand.php | 584 +++ .../Command/BakeMigrationSnapshotCommand.php | 171 + .../src/Command/BakeSeedCommand.php | 258 + .../Command/BakeSimpleMigrationCommand.php | 197 + .../migrations/src/Command/CacheBuild.php | 59 - .../migrations/src/Command/CacheClear.php | 67 - .../migrations/src/Command/Migrate.php | 68 - .../Command/MigrationsCacheBuildCommand.php | 29 + .../Command/MigrationsCacheClearCommand.php | 29 + .../src/Command/MigrationsCommand.php | 213 + .../src/Command/MigrationsCreateCommand.php | 29 + .../src/Command/MigrationsDumpCommand.php | 29 + .../Command/MigrationsMarkMigratedCommand.php | 29 + .../src/Command/MigrationsMigrateCommand.php | 29 + .../src/Command/MigrationsRollbackCommand.php | 29 + .../src/Command/MigrationsSeedCommand.php | 29 + .../src/Command/MigrationsStatusCommand.php | 29 + .../src/Command/Phinx/BaseCommand.php | 12 + .../src/Command/Phinx/CacheBuild.php | 66 + .../src/Command/Phinx/CacheClear.php | 70 + .../src/Command/{ => Phinx}/CommandTrait.php | 13 +- .../src/Command/{ => Phinx}/Create.php | 22 +- .../src/Command/{ => Phinx}/Dump.php | 20 +- .../src/Command/{ => Phinx}/MarkMigrated.php | 32 +- .../migrations/src/Command/Phinx/Migrate.php | 90 + .../src/Command/{ => Phinx}/Rollback.php | 33 +- .../src/Command/{ => Phinx}/Seed.php | 18 +- .../src/Command/{ => Phinx}/Status.php | 25 +- .../migrations/src/Command/SnapshotTrait.php | 101 + .../migrations/src/ConfigurationTrait.php | 142 +- .../cakephp/migrations/src/Migrations.php | 86 +- .../migrations/src/MigrationsDispatcher.php | 30 +- app/vendor/cakephp/migrations/src/Plugin.php | 82 + .../migrations/src/Shell/MigrationsShell.php | 187 - .../migrations/src/Shell/Task/CommandTask.php | 54 - .../migrations/src/Shell/Task/CreateTask.php | 49 - .../migrations/src/Shell/Task/DumpTask.php | 35 - .../src/Shell/Task/MarkMigratedTask.php | 47 - .../migrations/src/Shell/Task/MigrateTask.php | 48 - .../src/Shell/Task/MigrationDiffTask.php | 538 --- .../src/Shell/Task/MigrationSnapshotTask.php | 156 - .../src/Shell/Task/MigrationTask.php | 131 - .../src/Shell/Task/RollbackTask.php | 48 - .../migrations/src/Shell/Task/SeedTask.php | 258 - .../src/Shell/Task/SimpleMigrationTask.php | 34 +- .../src/Shell/Task/SnapshotTrait.php | 97 - .../migrations/src/Shell/Task/StatusTask.php | 38 - app/vendor/cakephp/migrations/src/Table.php | 112 +- .../migrations/src/TableFinderTrait.php | 56 +- .../src/Template/Bake/Element/add-columns.ctp | 12 - .../Element/add-foreign-keys-from-create.ctp | 3 - .../Bake/Element/add-foreign-keys.ctp | 44 - .../src/Template/Bake/Element/add-indexes.ctp | 12 - .../Template/Bake/Element/create-tables.ctp | 80 - .../src/Template/Bake/Seed/seed.ctp | 45 - .../src/Template/Bake/config/diff.ctp | 205 - .../src/Template/Bake/config/skeleton.ctp | 79 - .../src/Template/Bake/config/snapshot.ctp | 60 - .../src/Template/Phinx/create.php.template | 16 - .../migrations/src/Util/ColumnParser.php | 99 +- .../migrations/src/Util/SchemaTrait.php | 15 +- .../cakephp/migrations/src/Util/UtilTrait.php | 15 +- .../src/View/Helper/MigrationHelper.php | 240 +- .../templates/Phinx/create.php.template | 18 + .../migrations/templates/bake/Seed/seed.twig | 47 + .../templates/bake/config/diff.twig | 221 + .../templates/bake/config/skeleton.twig | 75 + .../templates/bake/config/snapshot.twig | 76 + .../templates/bake/element/add-columns.twig | 10 + .../bake/element/add-foreign-keys.twig | 38 + .../templates/bake/element/add-indexes.twig | 10 + .../templates/bake/element/create-tables.twig | 70 + app/vendor/cakephp/twig-view/LICENSE | 22 + app/vendor/cakephp/twig-view/README.md | 264 ++ app/vendor/cakephp/twig-view/composer.json | 75 + .../twig-view/src/Command/CompileCommand.php | 151 + .../src/Filesystem/RelativeScanner.php | 96 + .../twig-view/src/Filesystem/Scanner.php | 178 + .../twig-view/src/Filesystem/TreeScanner.php | 124 + .../cakephp/twig-view/src/Panel/TwigPanel.php | 60 + app/vendor/cakephp/twig-view/src/Plugin.php | 53 + .../src/Twig/Extension/ArraysExtension.php | 48 + .../src/Twig/Extension/BasicExtension.php | 89 + .../src/Twig/Extension/ConfigureExtension.php | 42 + .../src/Twig/Extension/I18nExtension.php | 44 + .../src/Twig/Extension/InflectorExtension.php | 49 + .../src/Twig/Extension/NumberExtension.php | 69 + .../src/Twig/Extension/ProfilerExtension.php | 59 + .../src/Twig/Extension/StringsExtension.php | 72 + .../src/Twig/Extension/TimeExtension.php | 44 + .../src/Twig/Extension/UtilsExtension.php | 47 + .../src/Twig/Extension/ViewExtension.php | 66 + .../cakephp/twig-view/src/Twig/FileLoader.php | 146 + .../cakephp/twig-view/src/Twig/Node/Cell.php | 113 + .../twig-view/src/Twig/Node/Element.php | 92 + .../twig-view/src/Twig/Node/LayoutNode.php | 56 + .../src/Twig/TokenParser/CellParser.php | 83 + .../src/Twig/TokenParser/ElementParser.php | 74 + .../src/Twig/TokenParser/LayoutParser.php | 56 + .../cakephp/twig-view/src/View/TwigView.php | 353 ++ .../templates/element/twig_panel.php | 2 + app/vendor/composer/autoload_classmap.php | 587 +++ app/vendor/composer/autoload_files.php | 16 +- app/vendor/composer/autoload_namespaces.php | 3 - app/vendor/composer/autoload_psr4.php | 27 +- app/vendor/composer/autoload_real.php | 2 + app/vendor/composer/autoload_static.php | 749 ++- app/vendor/composer/composer/.gitattributes | 3 +- app/vendor/composer/composer/.gitignore | 3 +- app/vendor/composer/composer/CHANGELOG.md | 362 +- .../composer/composer/CODE_OF_CONDUCT.md | 76 - app/vendor/composer/composer/README.md | 18 +- app/vendor/composer/composer/UPGRADE-2.0.md | 111 - app/vendor/composer/composer/bin/compile | 2 +- app/vendor/composer/composer/bin/composer | 58 +- app/vendor/composer/composer/composer.json | 54 +- app/vendor/composer/composer/composer.lock | 208 +- app/vendor/composer/composer/doc/00-intro.md | 4 +- .../composer/composer/doc/01-basic-usage.md | 120 +- .../composer/composer/doc/02-libraries.md | 8 +- app/vendor/composer/composer/doc/03-cli.md | 324 +- app/vendor/composer/composer/doc/04-schema.md | 89 +- .../composer/composer/doc/05-repositories.md | 241 +- app/vendor/composer/composer/doc/06-config.md | 117 +- .../composer/composer/doc/07-community.md | 35 + .../composer/composer/doc/07-runtime.md | 155 - .../composer/composer/doc/08-community.md | 36 - .../composer/composer/doc/articles/aliases.md | 2 +- .../authentication-for-private-packages.md | 301 -- .../doc/articles/autoloader-optimization.md | 12 +- .../doc/articles/custom-installers.md | 3 +- .../handling-private-packages-with-satis.md | 356 ++ .../doc/articles/handling-private-packages.md | 340 -- .../doc/articles/http-basic-authentication.md | 59 + .../composer/composer/doc/articles/plugins.md | 70 +- .../doc/articles/repository-priorities.md | 95 - .../doc/articles/resolving-merge-conflicts.md | 62 - .../composer/composer/doc/articles/scripts.md | 37 +- .../composer/doc/articles/troubleshooting.md | 67 +- .../composer/doc/articles/versions.md | 30 +- ...ckage-to-a-custom-path-for-my-framework.md | 4 +- ...ow-to-install-composer-programmatically.md | 2 +- ...the-dependencies-in-my-vendor-directory.md | 2 +- ...-unbound-version-constraints-a-bad-idea.md | 4 +- ...-composer-load-repositories-recursively.md | 2 +- .../composer/doc/fixtures/fixtures.md | 13 +- ...156dd4d0821a97fd3e428bc910833e3e46dbe.json | 2 +- ...138e5f3b79029c1f8d9ab5b477ea15776ba0a.json | 2 +- ...67b9bea558b971e5b082f330ae4f1d484c321.json | 2 +- ...791c612db0c05e22d90e9286e233cacd86ed8.json | 2 +- ...d601923a5a00ccc5fcce50a77ecdd461eb72d.json | 2 +- .../packages.json | 2 +- .../res/composer-repository-schema.json | 2 +- .../composer/res/composer-schema.json | 128 +- .../Composer/Autoload/AutoloadGenerator.php | 428 +- .../src/Composer/Autoload/ClassLoader.php | 155 +- .../Composer/Autoload/ClassMapGenerator.php | 89 +- .../composer/composer/src/Composer/Cache.php | 72 +- .../src/Composer/Command/AboutCommand.php | 7 +- .../src/Composer/Command/ArchiveCommand.php | 18 +- .../src/Composer/Command/BaseCommand.php | 98 +- .../Command/BaseDependencyCommand.php | 60 +- .../Command/CheckPlatformReqsCommand.php | 149 +- .../Composer/Command/ClearCacheCommand.php | 1 - .../src/Composer/Command/ConfigCommand.php | 65 +- .../Composer/Command/CreateProjectCommand.php | 185 +- .../src/Composer/Command/DependsCommand.php | 11 +- .../src/Composer/Command/DiagnoseCommand.php | 195 +- .../Composer/Command/DumpAutoloadCommand.php | 27 +- .../src/Composer/Command/ExecCommand.php | 3 + .../src/Composer/Command/FundCommand.php | 48 +- .../src/Composer/Command/GlobalCommand.php | 8 +- .../src/Composer/Command/HomeCommand.php | 4 +- .../src/Composer/Command/InitCommand.php | 338 +- .../src/Composer/Command/InstallCommand.php | 49 +- .../src/Composer/Command/LicensesCommand.php | 30 +- .../src/Composer/Command/OutdatedCommand.php | 8 - .../src/Composer/Command/ProhibitsCommand.php | 10 +- .../src/Composer/Command/ReinstallCommand.php | 164 - .../src/Composer/Command/RemoveCommand.php | 155 +- .../src/Composer/Command/RequireCommand.php | 208 +- .../src/Composer/Command/RunScriptCommand.php | 20 +- .../Composer/Command/ScriptAliasCommand.php | 2 - .../src/Composer/Command/SearchCommand.php | 37 +- .../Composer/Command/SelfUpdateCommand.php | 78 +- .../src/Composer/Command/ShowCommand.php | 349 +- .../src/Composer/Command/StatusCommand.php | 11 +- .../src/Composer/Command/SuggestsCommand.php | 130 +- .../src/Composer/Command/UpdateCommand.php | 153 +- .../src/Composer/Command/ValidateCommand.php | 102 +- .../composer/src/Composer/Compiler.php | 114 +- .../composer/src/Composer/Composer.php | 62 +- .../composer/composer/src/Composer/Config.php | 76 +- .../Composer/Config/ConfigSourceInterface.php | 8 +- .../src/Composer/Config/JsonConfigSource.php | 51 +- .../src/Composer/Console/Application.php | 121 +- .../Composer/Console/GithubActionError.php | 50 - .../Composer/Console/HtmlOutputFormatter.php | 3 - .../Composer/DependencyResolver/Decisions.php | 36 +- .../DependencyResolver/DefaultPolicy.php | 169 +- .../DependencyResolver/GenericRule.php | 15 +- .../LocalRepoTransaction.php | 30 - .../DependencyResolver/LockTransaction.php | 148 - .../DependencyResolver/MultiConflictRule.php | 105 - .../Operation/InstallOperation.php | 30 +- .../Operation/MarkAliasInstalledOperation.php | 32 +- .../MarkAliasUninstalledOperation.php | 32 +- .../Operation/OperationInterface.php | 9 +- .../Operation/SolverOperation.php | 29 +- .../Operation/UninstallOperation.php | 30 +- .../Operation/UpdateOperation.php | 47 +- .../DependencyResolver/PolicyInterface.php | 4 +- .../src/Composer/DependencyResolver/Pool.php | 317 +- .../DependencyResolver/PoolBuilder.php | 548 --- .../Composer/DependencyResolver/Problem.php | 456 +- .../Composer/DependencyResolver/Request.php | 183 +- .../src/Composer/DependencyResolver/Rule.php | 373 +- .../DependencyResolver/Rule2Literals.php | 20 +- .../Composer/DependencyResolver/RuleSet.php | 51 +- .../DependencyResolver/RuleSetGenerator.php | 356 +- .../DependencyResolver/RuleSetIterator.php | 23 +- .../DependencyResolver/RuleWatchChain.php | 3 +- .../DependencyResolver/RuleWatchGraph.php | 71 +- .../DependencyResolver/RuleWatchNode.php | 9 +- .../Composer/DependencyResolver/Solver.php | 327 +- .../SolverProblemsException.php | 71 +- .../DependencyResolver/Transaction.php | 390 +- .../Composer/Downloader/ArchiveDownloader.php | 209 +- .../Composer/Downloader/DownloadManager.php | 314 +- .../Downloader/DownloaderInterface.php | 60 +- .../Composer/Downloader/FileDownloader.php | 438 +- .../Composer/Downloader/FossilDownloader.php | 17 +- .../src/Composer/Downloader/GitDownloader.php | 247 +- .../Composer/Downloader/GzipDownloader.php | 30 +- .../src/Composer/Downloader/HgDownloader.php | 20 +- .../MaxFileSizeExceededException.php | 17 - .../Composer/Downloader/PathDownloader.php | 201 +- .../Downloader/PearPackageExtractor.php | 266 ++ .../Downloader/PerforceDownloader.php | 20 +- .../Composer/Downloader/PharDownloader.php | 6 +- .../src/Composer/Downloader/RarDownloader.php | 20 +- .../src/Composer/Downloader/SvnDownloader.php | 41 +- .../src/Composer/Downloader/TarDownloader.php | 6 +- .../Downloader/TransportException.php | 21 - .../src/Composer/Downloader/VcsDownloader.php | 208 +- .../src/Composer/Downloader/XzDownloader.php | 26 +- .../src/Composer/Downloader/ZipDownloader.php | 196 +- .../src/Composer/EventDispatcher/Event.php | 14 +- .../EventDispatcher/EventDispatcher.php | 435 +- .../IrrecoverableDownloadException.php | 20 - .../src/Composer/Exception/NoSslException.php | 2 - .../composer/src/Composer/Factory.php | 227 +- .../composer/src/Composer/IO/BaseIO.php | 94 +- .../composer/src/Composer/IO/BufferIO.php | 7 +- .../composer/src/Composer/IO/ConsoleIO.php | 21 +- .../composer/src/Composer/IO/IOInterface.php | 27 +- .../composer/src/Composer/IO/NullIO.php | 2 +- .../src/Composer/InstalledVersions.php | 337 -- .../composer/src/Composer/Installer.php | 1468 ++++-- .../Composer/Installer/BinaryInstaller.php | 58 +- .../Installer/InstallationManager.php | 469 +- .../src/Composer/Installer/InstallerEvent.php | 96 +- .../Composer/Installer/InstallerEvents.php | 25 +- .../Composer/Installer/InstallerInterface.php | 59 +- .../Composer/Installer/LibraryInstaller.php | 141 +- .../Installer/MetapackageInstaller.php | 48 +- .../src/Composer/Installer/NoopInstaller.php | 30 - .../src/Composer/Installer/PackageEvent.php | 89 +- .../Installer/PearBinaryInstaller.php | 144 + .../src/Composer/Installer/PearInstaller.php | 84 + .../Composer/Installer/PluginInstaller.php | 81 +- .../Composer/Installer/ProjectInstaller.php | 36 +- .../Installer/SuggestedPackagesReporter.php | 124 +- .../composer/src/Composer/Json/JsonFile.php | 56 +- .../src/Composer/Json/JsonFormatter.php | 3 +- .../src/Composer/Json/JsonManipulator.php | 82 +- .../Composer/Json/JsonValidationException.php | 12 +- .../src/Composer/Package/AliasPackage.php | 132 +- .../Archiver/ArchivableFilesFilter.php | 1 - .../Archiver/ArchivableFilesFinder.php | 1 - .../Package/Archiver/ArchiveManager.php | 67 +- .../Package/Archiver/BaseExcludeFilter.php | 25 +- .../Package/Archiver/PharArchiver.php | 7 +- .../Composer/Package/Archiver/ZipArchiver.php | 8 +- .../src/Composer/Package/BasePackage.php | 86 +- .../Composer/Package/Comparer/Comparer.php | 1 + .../Composer/Package/CompleteAliasPackage.php | 167 - .../src/Composer/Package/CompletePackage.php | 86 +- .../Package/CompletePackageInterface.php | 124 +- .../Composer/Package/Dumper/ArrayDumper.php | 21 +- .../composer/src/Composer/Package/Link.php | 62 +- .../LinkConstraint/EmptyConstraint.php | 24 + .../LinkConstraintInterface.php | 24 + .../LinkConstraint/MultiConstraint.php | 24 + .../LinkConstraint/SpecificConstraint.php | 24 + .../LinkConstraint/VersionConstraint.php | 24 + .../Composer/Package/Loader/ArrayLoader.php | 306 +- .../Composer/Package/Loader/JsonLoader.php | 11 +- .../Package/Loader/RootPackageLoader.php | 71 +- .../Package/Loader/ValidatingArrayLoader.php | 51 +- .../composer/src/Composer/Package/Locker.php | 130 +- .../composer/src/Composer/Package/Package.php | 119 +- .../src/Composer/Package/PackageInterface.php | 100 +- .../src/Composer/Package/RootAliasPackage.php | 80 +- .../src/Composer/Package/RootPackage.php | 26 +- .../Composer/Package/RootPackageInterface.php | 37 +- .../Package/Version/StabilityFilter.php | 49 - .../Package/Version/VersionGuesser.php | 48 +- .../Package/Version/VersionParser.php | 17 +- .../Package/Version/VersionSelector.php | 84 +- .../src/Composer/Platform/HhvmDetector.php | 65 - .../src/Composer/Platform/Runtime.php | 109 - .../src/Composer/Platform/Version.php | 104 - .../src/Composer/Plugin/PluginEvents.php | 21 - .../src/Composer/Plugin/PluginInterface.php | 29 +- .../src/Composer/Plugin/PluginManager.php | 268 +- .../Composer/Plugin/PostFileDownloadEvent.php | 147 - .../Composer/Plugin/PreFileDownloadEvent.php | 127 +- .../Composer/Plugin/PrePoolCreateEvent.php | 175 - .../Question/StrictConfirmationQuestion.php | 2 - .../Composer/Repository/ArrayRepository.php | 117 +- .../Repository/ArtifactRepository.php | 34 +- .../Composer/Repository/BaseRepository.php | 189 + .../Repository/ComposerRepository.php | 1113 +---- .../Repository/CompositeRepository.php | 53 +- .../Repository/FilesystemRepository.php | 226 +- .../Composer/Repository/FilterRepository.php | 206 - .../Repository/InstalledArrayRepository.php | 16 +- .../InstalledFilesystemRepository.php | 12 - .../Repository/InstalledRepository.php | 266 -- .../InstalledRepositoryInterface.php | 4 - .../Repository/LockArrayRepository.php | 28 - .../Composer/Repository/PackageRepository.php | 6 - .../Composer/Repository/PathRepository.php | 11 +- .../Repository/Pear/BaseChannelReader.php | 82 + .../Composer/Repository/Pear/ChannelInfo.php | 67 + .../Repository/Pear/ChannelReader.php | 101 + .../Repository/Pear/ChannelRest10Reader.php | 164 + .../Repository/Pear/ChannelRest11Reader.php | 139 + .../Repository/Pear/DependencyConstraint.php | 60 + .../Repository/Pear/DependencyInfo.php | 50 + .../Pear/PackageDependencyParser.php | 317 ++ .../Composer/Repository/Pear/PackageInfo.php | 94 + .../Composer/Repository/Pear/ReleaseInfo.php | 50 + .../Composer/Repository/PearRepository.php | 176 +- .../Repository/PlatformRepository.php | 483 +- .../Composer/Repository/RepositoryFactory.php | 17 +- .../Repository/RepositoryInterface.php | 58 +- .../Composer/Repository/RepositoryManager.php | 52 +- .../src/Composer/Repository/RepositorySet.php | 329 -- .../Repository/RootPackageRepository.php | 35 - .../Repository/Vcs/BitbucketDriver.php | 60 +- .../Composer/Repository/Vcs/FossilDriver.php | 13 +- .../Repository/Vcs/GitBitbucketDriver.php | 10 +- .../src/Composer/Repository/Vcs/GitDriver.php | 13 +- .../Composer/Repository/Vcs/GitHubDriver.php | 95 +- .../Composer/Repository/Vcs/GitLabDriver.php | 118 +- .../Repository/Vcs/HgBitbucketDriver.php | 10 +- .../src/Composer/Repository/Vcs/HgDriver.php | 11 +- .../Repository/Vcs/PerforceDriver.php | 13 +- .../src/Composer/Repository/Vcs/SvnDriver.php | 33 +- .../src/Composer/Repository/Vcs/VcsDriver.php | 37 +- .../Repository/Vcs/VcsDriverInterface.php | 14 +- .../src/Composer/Repository/VcsRepository.php | 99 +- .../Repository/VersionCacheInterface.php | 4 +- .../Repository/WritableArrayRepository.php | 24 +- .../WritableRepositoryInterface.php | 15 +- .../src/Composer/Script/CommandEvent.php | 22 + .../composer/src/Composer/Script/Event.php | 9 +- .../src/Composer/Script/PackageEvent.php | 24 + .../src/Composer/Script/ScriptEvents.php | 62 + .../src/Composer/SelfUpdate/Versions.php | 16 +- .../composer/src/Composer/Util/AuthHelper.php | 216 +- .../composer/src/Composer/Util/Bitbucket.php | 62 +- .../src/Composer/Util/ComposerMirror.php | 15 +- .../src/Composer/Util/ConfigValidator.php | 13 +- .../src/Composer/Util/ErrorHandler.php | 12 +- .../composer/src/Composer/Util/Filesystem.php | 279 +- .../composer/src/Composer/Util/Git.php | 65 +- .../composer/src/Composer/Util/GitHub.php | 20 +- .../composer/src/Composer/Util/GitLab.php | 46 +- .../composer/src/Composer/Util/Hg.php | 31 +- .../src/Composer/Util/Http/CurlDownloader.php | 607 --- .../src/Composer/Util/Http/CurlResponse.php | 42 - .../src/Composer/Util/Http/ProxyHelper.php | 183 - .../src/Composer/Util/Http/ProxyManager.php | 188 - .../src/Composer/Util/Http/RequestProxy.php | 91 - .../src/Composer/Util/Http/Response.php | 133 - .../src/Composer/Util/HttpDownloader.php | 538 --- .../composer/src/Composer/Util/IniHelper.php | 2 +- .../composer/src/Composer/Util/Loop.php | 135 - .../src/Composer/Util/MetadataMinifier.php | 22 - .../src/Composer/Util/NoProxyPattern.php | 62 +- .../src/Composer/Util/PackageSorter.php | 32 +- .../composer/src/Composer/Util/Perforce.php | 29 +- .../composer/src/Composer/Util/Platform.php | 148 +- .../src/Composer/Util/ProcessExecutor.php | 351 +- .../src/Composer/Util/RemoteFilesystem.php | 613 ++- .../composer/src/Composer/Util/Silencer.php | 2 - .../src/Composer/Util/SpdxLicense.php | 24 + .../Composer/Util/StreamContextFactory.php | 251 +- .../composer/src/Composer/Util/Svn.php | 30 +- .../composer/src/Composer/Util/SyncHelper.php | 70 - .../composer/src/Composer/Util/Tar.php | 68 - .../composer/src/Composer/Util/TlsHelper.php | 15 +- .../composer/src/Composer/Util/Url.php | 72 - .../composer/src/Composer/Util/Zip.php | 64 +- .../composer/src/Composer/XdebugHandler.php | 31 + .../composer/composer/src/bootstrap.php | 6 +- app/vendor/composer/installed.json | 4047 ++++++++++++---- app/vendor/composer/installed.php | 606 ++- app/vendor/composer/metadata-minifier/LICENSE | 19 - .../composer/metadata-minifier/README.md | 37 - .../composer/metadata-minifier/composer.json | 47 - .../metadata-minifier/phpstan.neon.dist | 5 - .../src/MetadataMinifier.php | 89 - app/vendor/composer/platform_check.php | 26 + app/vendor/composer/semver/CHANGELOG.md | 65 - app/vendor/composer/semver/README.md | 34 +- app/vendor/composer/semver/composer.json | 8 +- app/vendor/composer/semver/src/Comparator.php | 4 +- .../composer/semver/src/CompilingMatcher.php | 71 - .../src/Constraint/AbstractConstraint.php | 63 + .../composer/semver/src/Constraint/Bound.php | 122 - .../semver/src/Constraint/Constraint.php | 282 +- .../src/Constraint/ConstraintInterface.php | 43 - .../semver/src/Constraint/EmptyConstraint.php | 59 + .../src/Constraint/MatchAllConstraint.php | 85 - .../src/Constraint/MatchNoneConstraint.php | 83 - .../semver/src/Constraint/MultiConstraint.php | 219 +- app/vendor/composer/semver/src/Interval.php | 98 - app/vendor/composer/semver/src/Intervals.php | 478 -- app/vendor/composer/semver/src/Semver.php | 24 +- .../composer/semver/src/VersionParser.php | 77 +- .../composer/xdebug-handler/CHANGELOG.md | 25 +- app/vendor/composer/xdebug-handler/README.md | 32 +- app/vendor/composer/xdebug-handler/UPGRADE.md | 30 - .../composer/xdebug-handler/composer.json | 4 +- .../composer/xdebug-handler/phpstan.neon.dist | 5 + .../composer/xdebug-handler/src/PhpConfig.php | 19 +- .../composer/xdebug-handler/src/Process.php | 91 +- .../composer/xdebug-handler/src/Status.php | 12 +- .../xdebug-handler/src/XdebugHandler.php | 133 +- .../instantiator/.doctrine-project.json | 41 + .../doctrine/instantiator/.github/FUNDING.yml | 3 + .../.github/workflows/coding-standards.yml | 48 + .../workflows/continuous-integration.yml | 91 + .../.github/workflows/phpbench.yml | 50 + .../workflows/release-on-milestone-closed.yml | 45 + .../.github/workflows/static-analysis.yml | 47 + .../doctrine/instantiator/CONTRIBUTING.md | 35 + app/vendor/doctrine/instantiator/LICENSE | 19 + app/vendor/doctrine/instantiator/README.md | 38 + .../doctrine/instantiator/composer.json | 42 + .../doctrine/instantiator/docs/en/index.rst | 68 + .../doctrine/instantiator/docs/en/sidebar.rst | 4 + .../doctrine/instantiator/phpbench.json | 4 + .../doctrine/instantiator/phpcs.xml.dist | 50 + .../doctrine/instantiator/phpstan.neon.dist | 15 + .../Exception/ExceptionInterface.php | 12 + .../Exception/InvalidArgumentException.php | 41 + .../Exception/UnexpectedValueException.php | 57 + .../Doctrine/Instantiator/Instantiator.php | 232 + .../Instantiator/InstantiatorInterface.php | 23 + app/vendor/jasny/twig-extensions/.gitignore | 1 + app/vendor/jasny/twig-extensions/.travis.yml | 17 +- app/vendor/jasny/twig-extensions/README.md | 4 +- .../jasny/twig-extensions/composer.json | 8 +- .../jasny/twig-extensions/phpcs.xml.dist | 12 + .../jasny/twig-extensions/phpstan.neon.dist | 5 + .../jasny/twig-extensions/phpunit.xml.dist | 2 +- .../twig-extensions/src/ArrayExtension.php | 45 +- .../twig-extensions/src/DateExtension.php | 166 +- .../twig-extensions/src/PcreExtension.php | 74 +- .../twig-extensions/src/TextExtension.php | 95 +- .../tests/ArrayExtensionTest.php | 3 +- .../tests/DateExtensionTest.php | 69 +- .../tests/PcreExtensionTest.php | 76 +- .../tests/TextExtensionTest.php | 3 +- .../tests/support/TestHelper.php | 33 +- .../laminas-diactoros/.laminas-ci.json | 8 + .../laminas/laminas-diactoros/CHANGELOG.md | 1311 ------ .../laminas/laminas-diactoros/COPYRIGHT.md | 3 +- .../laminas/laminas-diactoros/LICENSE.md | 3 +- .../laminas/laminas-diactoros/README.md | 22 +- .../laminas/laminas-diactoros/composer.json | 41 +- .../laminas/laminas-diactoros/composer.lock | 4179 +++++++++++++++++ .../laminas-diactoros/psalm-baseline.xml | 1421 ++++++ .../laminas/laminas-diactoros/psalm.xml.dist | 29 + .../src/AbstractSerializer.php | 39 +- .../laminas-diactoros/src/CallbackStream.php | 58 +- .../laminas-diactoros/src/ConfigProvider.php | 45 + .../Exception/DeprecatedMethodException.php | 18 - .../Exception/DeserializationException.php | 46 + .../src/Exception/ExceptionInterface.php | 10 +- .../Exception/InvalidArgumentException.php | 9 + .../InvalidStreamPointerPositionException.php | 19 + .../src/Exception/RuntimeException.php | 9 + .../src/Exception/SerializationException.php | 20 + .../Exception/UnreadableStreamException.php | 30 + .../UnrecognizedProtocolVersionException.php | 17 + .../Exception/UnrewindableStreamException.php | 15 + .../Exception/UnseekableStreamException.php | 30 + .../Exception/UntellableStreamException.php | 25 + .../Exception/UnwritableStreamException.php | 30 + .../UploadedFileAlreadyMovedException.php | 19 + .../Exception/UploadedFileErrorException.php | 38 + .../laminas-diactoros/src/HeaderSecurity.php | 36 +- .../laminas-diactoros/src/MessageTrait.php | 66 +- .../laminas/laminas-diactoros/src/Module.php | 15 + .../laminas-diactoros/src/PhpInputStream.php | 14 +- .../laminas-diactoros/src/RelativeStream.php | 50 +- .../laminas/laminas-diactoros/src/Request.php | 14 +- .../src/Request/ArraySerializer.php | 33 +- .../src/Request/Serializer.php | 49 +- .../laminas-diactoros/src/RequestFactory.php | 19 + .../laminas-diactoros/src/RequestTrait.php | 83 +- .../laminas-diactoros/src/Response.php | 27 +- .../src/Response/ArraySerializer.php | 32 +- .../src/Response/EmitterInterface.php | 35 - .../src/Response/EmptyResponse.php | 10 +- .../src/Response/HtmlResponse.php | 19 +- .../src/Response/InjectContentTypeTrait.php | 10 +- .../src/Response/JsonResponse.php | 55 +- .../src/Response/RedirectResponse.php | 12 +- .../src/Response/SapiEmitter.php | 47 - .../src/Response/SapiEmitterTrait.php | 113 - .../src/Response/SapiStreamEmitter.php | 135 - .../src/Response/Serializer.php | 43 +- .../src/Response/TextResponse.php | 19 +- .../src/Response/XmlResponse.php | 19 +- .../laminas-diactoros/src/ResponseFactory.php | 20 + .../laminas/laminas-diactoros/src/Server.php | 186 - .../laminas-diactoros/src/ServerRequest.php | 80 +- .../src/ServerRequestFactory.php | 175 +- .../laminas/laminas-diactoros/src/Stream.php | 107 +- .../laminas-diactoros/src/StreamFactory.php | 45 + .../laminas-diactoros/src/UploadedFile.php | 96 +- .../src/UploadedFileFactory.php | 31 + .../laminas/laminas-diactoros/src/Uri.php | 173 +- .../laminas-diactoros/src/UriFactory.php | 19 + .../functions/create_uploaded_file.legacy.php | 8 +- .../src/functions/create_uploaded_file.php | 23 +- .../marshal_headers_from_sapi.legacy.php | 8 +- .../functions/marshal_headers_from_sapi.php | 36 +- .../marshal_method_from_sapi.legacy.php | 8 +- .../functions/marshal_method_from_sapi.php | 13 +- ...shal_protocol_version_from_sapi.legacy.php | 8 +- .../marshal_protocol_version_from_sapi.php | 23 +- .../marshal_uri_from_sapi.legacy.php | 8 +- .../src/functions/marshal_uri_from_sapi.php | 73 +- .../src/functions/normalize_server.legacy.php | 8 +- .../src/functions/normalize_server.php | 9 +- .../normalize_uploaded_files.legacy.php | 10 +- .../functions/normalize_uploaded_files.php | 32 +- .../functions/parse_cookie_header.legacy.php | 8 +- .../src/functions/parse_cookie_header.php | 8 +- .../laminas-httphandlerrunner/CHANGELOG.md | 187 + .../laminas-httphandlerrunner/COPYRIGHT.md | 1 + .../laminas-httphandlerrunner/LICENSE.md | 26 + .../laminas-httphandlerrunner/README.md | 32 + .../laminas-httphandlerrunner/composer.json | 70 + .../psalm-baseline.xml | 228 + .../laminas-httphandlerrunner/psalm.xml.dist | 33 + .../src/ConfigProvider.php | 25 + .../src/Emitter/EmitterInterface.php | 35 + .../src/Emitter/EmitterStack.php | 100 + .../src/Emitter/SapiEmitter.php | 43 + .../src/Emitter/SapiEmitterTrait.php | 102 + .../src/Emitter/SapiStreamEmitter.php | 135 + .../src/Exception/EmitterException.php | 26 + .../src/Exception/ExceptionInterface.php | 18 + .../src/Exception/InvalidEmitterException.php | 35 + .../src/RequestHandlerRunner.php | 106 + .../myclabs/deep-copy/.github/FUNDING.yml | 12 + app/vendor/myclabs/deep-copy/LICENSE | 20 + app/vendor/myclabs/deep-copy/README.md | 375 ++ app/vendor/myclabs/deep-copy/composer.json | 38 + .../deep-copy/src/DeepCopy/DeepCopy.php | 298 ++ .../src/DeepCopy/Exception/CloneException.php | 9 + .../DeepCopy/Exception/PropertyException.php | 9 + .../Doctrine/DoctrineCollectionFilter.php | 33 + .../DoctrineEmptyCollectionFilter.php | 28 + .../Filter/Doctrine/DoctrineProxyFilter.php | 22 + .../deep-copy/src/DeepCopy/Filter/Filter.php | 18 + .../src/DeepCopy/Filter/KeepFilter.php | 16 + .../src/DeepCopy/Filter/ReplaceFilter.php | 39 + .../src/DeepCopy/Filter/SetNullFilter.php | 24 + .../Matcher/Doctrine/DoctrineProxyMatcher.php | 22 + .../src/DeepCopy/Matcher/Matcher.php | 14 + .../src/DeepCopy/Matcher/PropertyMatcher.php | 39 + .../DeepCopy/Matcher/PropertyNameMatcher.php | 32 + .../DeepCopy/Matcher/PropertyTypeMatcher.php | 52 + .../DeepCopy/Reflection/ReflectionHelper.php | 78 + .../TypeFilter/Date/DateIntervalFilter.php | 33 + .../src/DeepCopy/TypeFilter/ReplaceFilter.php | 30 + .../DeepCopy/TypeFilter/ShallowCopyFilter.php | 17 + .../TypeFilter/Spl/ArrayObjectFilter.php | 36 + .../TypeFilter/Spl/SplDoublyLinkedList.php | 10 + .../Spl/SplDoublyLinkedListFilter.php | 51 + .../src/DeepCopy/TypeFilter/TypeFilter.php | 13 + .../src/DeepCopy/TypeMatcher/TypeMatcher.php | 29 + .../deep-copy/src/DeepCopy/deep_copy.php | 20 + app/vendor/paragonie/random_compat/LICENSE | 22 - .../paragonie/random_compat/build-phar.sh | 5 - .../paragonie/random_compat/composer.json | 34 - .../dist/random_compat.phar.pubkey | 5 - .../dist/random_compat.phar.pubkey.asc | 11 - .../paragonie/random_compat/lib/random.php | 32 - .../random_compat/other/build_phar.php | 57 - .../random_compat/psalm-autoload.php | 9 - app/vendor/paragonie/random_compat/psalm.xml | 19 - app/vendor/phar-io/manifest/CHANGELOG.md | 36 + app/vendor/phar-io/manifest/LICENSE | 31 + app/vendor/phar-io/manifest/README.md | 30 + app/vendor/phar-io/manifest/composer.json | 42 + app/vendor/phar-io/manifest/composer.lock | 70 + .../manifest/src/ManifestDocumentMapper.php | 150 + .../phar-io/manifest/src/ManifestLoader.php | 44 + .../manifest/src/ManifestSerializer.php | 168 + .../exceptions/ElementCollectionException.php | 13 + .../manifest/src/exceptions/Exception.php | 13 + .../InvalidApplicationNameException.php | 14 + .../src/exceptions/InvalidEmailException.php | 13 + .../src/exceptions/InvalidUrlException.php | 13 + .../exceptions/ManifestDocumentException.php | 5 + .../ManifestDocumentLoadingException.php | 45 + .../ManifestDocumentMapperException.php | 5 + .../exceptions/ManifestElementException.php | 5 + .../exceptions/ManifestLoaderException.php | 5 + .../manifest/src/values/Application.php | 16 + .../manifest/src/values/ApplicationName.php | 37 + .../phar-io/manifest/src/values/Author.php | 39 + .../manifest/src/values/AuthorCollection.php | 34 + .../src/values/AuthorCollectionIterator.php | 42 + .../manifest/src/values/BundledComponent.php | 33 + .../src/values/BundledComponentCollection.php | 34 + .../BundledComponentCollectionIterator.php | 42 + .../src/values/CopyrightInformation.php | 31 + .../phar-io/manifest/src/values/Email.php | 31 + .../phar-io/manifest/src/values/Extension.php | 46 + .../phar-io/manifest/src/values/Library.php | 16 + .../phar-io/manifest/src/values/License.php | 31 + .../phar-io/manifest/src/values/Manifest.php | 92 + .../src/values/PhpExtensionRequirement.php | 23 + .../src/values/PhpVersionRequirement.php | 25 + .../manifest/src/values/Requirement.php | 13 + .../src/values/RequirementCollection.php | 34 + .../values/RequirementCollectionIterator.php | 42 + .../phar-io/manifest/src/values/Type.php | 41 + .../phar-io/manifest/src/values/Url.php | 36 + .../manifest/src/xml/AuthorElement.php | 20 + .../src/xml/AuthorElementCollection.php | 18 + .../manifest/src/xml/BundlesElement.php | 18 + .../manifest/src/xml/ComponentElement.php | 20 + .../src/xml/ComponentElementCollection.php | 18 + .../manifest/src/xml/ContainsElement.php | 30 + .../manifest/src/xml/CopyrightElement.php | 24 + .../manifest/src/xml/ElementCollection.php | 61 + .../phar-io/manifest/src/xml/ExtElement.php | 16 + .../manifest/src/xml/ExtElementCollection.php | 18 + .../manifest/src/xml/ExtensionElement.php | 20 + .../manifest/src/xml/LicenseElement.php | 20 + .../manifest/src/xml/ManifestDocument.php | 103 + .../manifest/src/xml/ManifestElement.php | 66 + .../phar-io/manifest/src/xml/PhpElement.php | 26 + .../manifest/src/xml/RequiresElement.php | 18 + app/vendor/phar-io/version/CHANGELOG.md | 121 + app/vendor/phar-io/version/LICENSE | 31 + app/vendor/phar-io/version/README.md | 61 + app/vendor/phar-io/version/composer.json | 34 + .../phar-io/version/src/PreReleaseSuffix.php | 85 + app/vendor/phar-io/version/src/Version.php | 162 + .../version/src/VersionConstraintParser.php | 115 + .../version/src/VersionConstraintValue.php | 88 + .../phar-io/version/src/VersionNumber.php | 28 + .../constraints/AbstractVersionConstraint.php | 23 + .../constraints/AndVersionConstraintGroup.php | 34 + .../src/constraints/AnyVersionConstraint.php | 20 + .../constraints/ExactVersionConstraint.php | 16 + .../GreaterThanOrEqualToVersionConstraint.php | 26 + .../constraints/OrVersionConstraintGroup.php | 35 + ...SpecificMajorAndMinorVersionConstraint.php | 33 + .../SpecificMajorVersionConstraint.php | 25 + .../src/constraints/VersionConstraint.php | 16 + .../version/src/exceptions/Exception.php | 15 + .../InvalidPreReleaseSuffixException.php | 5 + .../exceptions/InvalidVersionException.php | 5 + .../NoPreReleaseSuffixException.php | 5 + .../UnsupportedVersionConstraintException.php | 13 + .../reflection-common/.github/dependabot.yml | 7 + .../.github/workflows/push.yml | 223 + .../phpdocumentor/reflection-common/LICENSE | 22 + .../phpdocumentor/reflection-common/README.md | 11 + .../reflection-common/composer.json | 28 + .../reflection-common/src/Element.php | 30 + .../reflection-common/src/File.php | 35 + .../reflection-common/src/Fqsen.php | 89 + .../reflection-common/src/Location.php | 53 + .../reflection-common/src/Project.php | 25 + .../reflection-common/src/ProjectFactory.php | 28 + .../phpdocumentor/reflection-docblock/LICENSE | 21 + .../reflection-docblock/README.md | 75 + .../reflection-docblock/composer.json | 41 + .../reflection-docblock/src/DocBlock.php | 204 + .../src/DocBlock/Description.php | 114 + .../src/DocBlock/DescriptionFactory.php | 177 + .../src/DocBlock/ExampleFinder.php | 157 + .../src/DocBlock/Serializer.php | 151 + .../src/DocBlock/StandardTagFactory.php | 347 ++ .../reflection-docblock/src/DocBlock/Tag.php | 32 + .../src/DocBlock/TagFactory.php | 84 + .../src/DocBlock/Tags/Author.php | 100 + .../src/DocBlock/Tags/BaseTag.php | 53 + .../src/DocBlock/Tags/Covers.php | 100 + .../src/DocBlock/Tags/Deprecated.php | 108 + .../src/DocBlock/Tags/Example.php | 199 + .../DocBlock/Tags/Factory/StaticMethod.php | 25 + .../src/DocBlock/Tags/Formatter.php | 24 + .../Tags/Formatter/AlignFormatter.php | 49 + .../Tags/Formatter/PassthroughFormatter.php | 29 + .../src/DocBlock/Tags/Generic.php | 88 + .../src/DocBlock/Tags/InvalidTag.php | 144 + .../src/DocBlock/Tags/Link.php | 78 + .../src/DocBlock/Tags/Method.php | 279 ++ .../src/DocBlock/Tags/Param.php | 172 + .../src/DocBlock/Tags/Property.php | 119 + .../src/DocBlock/Tags/PropertyRead.php | 119 + .../src/DocBlock/Tags/PropertyWrite.php | 119 + .../src/DocBlock/Tags/Reference/Fqsen.php | 38 + .../src/DocBlock/Tags/Reference/Reference.php | 22 + .../src/DocBlock/Tags/Reference/Url.php | 36 + .../src/DocBlock/Tags/Return_.php | 64 + .../src/DocBlock/Tags/See.php | 105 + .../src/DocBlock/Tags/Since.php | 102 + .../src/DocBlock/Tags/Source.php | 117 + .../src/DocBlock/Tags/TagWithType.php | 65 + .../src/DocBlock/Tags/Throws.php | 64 + .../src/DocBlock/Tags/Uses.php | 99 + .../src/DocBlock/Tags/Var_.php | 120 + .../src/DocBlock/Tags/Version.php | 105 + .../src/DocBlockFactory.php | 286 ++ .../src/DocBlockFactoryInterface.php | 23 + .../src/Exception/PcreException.php | 38 + .../reflection-docblock/src/Utils.php | 57 + .../phpdocumentor/type-resolver/LICENSE | 21 + .../phpdocumentor/type-resolver/README.md | 177 + .../phpdocumentor/type-resolver/composer.json | 35 + .../type-resolver/src/FqsenResolver.php | 80 + .../type-resolver/src/PseudoType.php | 19 + .../src/PseudoTypes/CallableString.php | 39 + .../type-resolver/src/PseudoTypes/False_.php | 40 + .../src/PseudoTypes/HtmlEscapedString.php | 39 + .../src/PseudoTypes/LowercaseString.php | 39 + .../PseudoTypes/NonEmptyLowercaseString.php | 39 + .../src/PseudoTypes/NonEmptyString.php | 39 + .../src/PseudoTypes/NumericString.php | 39 + .../src/PseudoTypes/PositiveInteger.php | 39 + .../src/PseudoTypes/TraitString.php | 39 + .../type-resolver/src/PseudoTypes/True_.php | 40 + .../phpdocumentor/type-resolver/src/Type.php | 25 + .../type-resolver/src/TypeResolver.php | 609 +++ .../type-resolver/src/Types/AbstractList.php | 83 + .../src/Types/AggregatedType.php | 125 + .../type-resolver/src/Types/ArrayKey.php | 34 + .../type-resolver/src/Types/Array_.php | 29 + .../type-resolver/src/Types/Boolean.php | 32 + .../type-resolver/src/Types/Callable_.php | 32 + .../type-resolver/src/Types/ClassString.php | 56 + .../type-resolver/src/Types/Collection.php | 68 + .../type-resolver/src/Types/Compound.php | 38 + .../type-resolver/src/Types/Context.php | 95 + .../src/Types/ContextFactory.php | 420 ++ .../type-resolver/src/Types/Expression.php | 51 + .../type-resolver/src/Types/Float_.php | 32 + .../type-resolver/src/Types/Integer.php | 32 + .../src/Types/InterfaceString.php | 56 + .../type-resolver/src/Types/Intersection.php | 37 + .../type-resolver/src/Types/Iterable_.php | 38 + .../type-resolver/src/Types/Mixed_.php | 32 + .../type-resolver/src/Types/Never_.php | 35 + .../type-resolver/src/Types/Null_.php | 32 + .../type-resolver/src/Types/Nullable.php | 51 + .../type-resolver/src/Types/Object_.php | 69 + .../type-resolver/src/Types/Parent_.php | 34 + .../type-resolver/src/Types/Resource_.php | 32 + .../type-resolver/src/Types/Scalar.php | 32 + .../type-resolver/src/Types/Self_.php | 34 + .../type-resolver/src/Types/Static_.php | 39 + .../type-resolver/src/Types/String_.php | 32 + .../type-resolver/src/Types/This.php | 35 + .../type-resolver/src/Types/Void_.php | 35 + app/vendor/phpspec/prophecy/CHANGES.md | 296 ++ app/vendor/phpspec/prophecy/LICENSE | 23 + app/vendor/phpspec/prophecy/README.md | 404 ++ app/vendor/phpspec/prophecy/composer.json | 50 + .../prophecy/src/Prophecy/Argument.php | 239 + .../Prophecy/Argument/ArgumentsWildcard.php | 101 + .../Prophecy/Argument/Token/AnyValueToken.php | 52 + .../Argument/Token/AnyValuesToken.php | 52 + .../Argument/Token/ApproximateValueToken.php | 55 + .../Argument/Token/ArrayCountToken.php | 86 + .../Argument/Token/ArrayEntryToken.php | 143 + .../Argument/Token/ArrayEveryEntryToken.php | 82 + .../Prophecy/Argument/Token/CallbackToken.php | 75 + .../Argument/Token/ExactValueToken.php | 118 + .../Argument/Token/IdenticalValueToken.php | 74 + .../Prophecy/Argument/Token/InArrayToken.php | 74 + .../Argument/Token/LogicalAndToken.php | 80 + .../Argument/Token/LogicalNotToken.php | 73 + .../Argument/Token/NotInArrayToken.php | 75 + .../Argument/Token/ObjectStateToken.php | 104 + .../Argument/Token/StringContainsToken.php | 67 + .../Argument/Token/TokenInterface.php | 43 + .../src/Prophecy/Argument/Token/TypeToken.php | 76 + .../prophecy/src/Prophecy/Call/Call.php | 162 + .../prophecy/src/Prophecy/Call/CallCenter.php | 240 + .../Prophecy/Comparator/ClosureComparator.php | 44 + .../src/Prophecy/Comparator/Factory.php | 47 + .../Comparator/ProphecyComparator.php | 28 + .../src/Prophecy/Doubler/CachedDoubler.php | 66 + .../ClassPatch/ClassPatchInterface.php | 48 + .../ClassPatch/DisableConstructorPatch.php | 76 + .../Doubler/ClassPatch/HhvmExceptionPatch.php | 63 + .../Doubler/ClassPatch/KeywordPatch.php | 68 + .../Doubler/ClassPatch/MagicCallPatch.php | 105 + .../ClassPatch/ProphecySubjectPatch.php | 113 + .../ReflectionClassNewInstancePatch.php | 57 + .../Doubler/ClassPatch/SplFileInfoPatch.php | 123 + .../Doubler/ClassPatch/ThrowablePatch.php | 95 + .../Doubler/ClassPatch/TraversablePatch.php | 98 + .../src/Prophecy/Doubler/DoubleInterface.php | 22 + .../prophecy/src/Prophecy/Doubler/Doubler.php | 146 + .../Doubler/Generator/ClassCodeGenerator.php | 110 + .../Doubler/Generator/ClassCreator.php | 67 + .../Doubler/Generator/ClassMirror.php | 254 + .../Doubler/Generator/Node/ArgumentNode.php | 133 + .../Generator/Node/ArgumentTypeNode.php | 10 + .../Doubler/Generator/Node/ClassNode.php | 169 + .../Doubler/Generator/Node/MethodNode.php | 210 + .../Doubler/Generator/Node/ReturnTypeNode.php | 45 + .../Generator/Node/TypeNodeAbstract.php | 96 + .../Doubler/Generator/ReflectionInterface.php | 22 + .../Doubler/Generator/TypeHintReference.php | 43 + .../src/Prophecy/Doubler/LazyDouble.php | 127 + .../src/Prophecy/Doubler/NameGenerator.php | 52 + .../Call/UnexpectedCallException.php | 40 + .../Doubler/ClassCreatorException.php | 31 + .../Doubler/ClassMirrorException.php | 31 + .../Doubler/ClassNotFoundException.php | 33 + .../Exception/Doubler/DoubleException.php | 18 + .../Exception/Doubler/DoublerException.php | 18 + .../Doubler/InterfaceNotFoundException.php | 20 + .../Doubler/MethodNotExtendableException.php | 41 + .../Doubler/MethodNotFoundException.php | 60 + .../Doubler/ReturnByReferenceException.php | 41 + .../src/Prophecy/Exception/Exception.php | 22 + .../Exception/InvalidArgumentException.php | 16 + .../Prediction/AggregateException.php | 51 + .../Prediction/FailedPredictionException.php | 24 + .../Exception/Prediction/NoCallsException.php | 18 + .../Prediction/PredictionException.php | 18 + .../UnexpectedCallsCountException.php | 31 + .../Prediction/UnexpectedCallsException.php | 32 + .../Prophecy/MethodProphecyException.php | 34 + .../Prophecy/ObjectProphecyException.php | 34 + .../Exception/Prophecy/ProphecyException.php | 18 + .../ClassAndInterfaceTagRetriever.php | 69 + .../PhpDocumentor/ClassTagRetriever.php | 60 + .../PhpDocumentor/LegacyClassTagRetriever.php | 35 + .../MethodTagRetrieverInterface.php | 30 + .../Prophecy/Prediction/CallPrediction.php | 86 + .../Prediction/CallTimesPrediction.php | 107 + .../Prediction/CallbackPrediction.php | 66 + .../Prophecy/Prediction/NoCallsPrediction.php | 68 + .../Prediction/PredictionInterface.php | 37 + .../src/Prophecy/Promise/CallbackPromise.php | 67 + .../src/Prophecy/Promise/PromiseInterface.php | 35 + .../Promise/ReturnArgumentPromise.php | 61 + .../src/Prophecy/Promise/ReturnPromise.php | 55 + .../src/Prophecy/Promise/ThrowPromise.php | 100 + .../src/Prophecy/Prophecy/MethodProphecy.php | 573 +++ .../src/Prophecy/Prophecy/ObjectProphecy.php | 286 ++ .../Prophecy/Prophecy/ProphecyInterface.php | 27 + .../Prophecy/ProphecySubjectInterface.php | 34 + .../src/Prophecy/Prophecy/Revealer.php | 44 + .../Prophecy/Prophecy/RevealerInterface.php | 29 + .../phpspec/prophecy/src/Prophecy/Prophet.php | 138 + .../prophecy/src/Prophecy/Util/ExportUtil.php | 210 + .../prophecy/src/Prophecy/Util/StringUtil.php | 99 + app/vendor/phpstan/phpstan/.gitattributes | 11 + app/vendor/phpstan/phpstan/.gitignore | 9 + app/vendor/phpstan/phpstan/LICENSE | 21 + app/vendor/phpstan/phpstan/README.md | 91 + app/vendor/phpstan/phpstan/bootstrap.php | 60 + app/vendor/phpstan/phpstan/composer.json | 23 + .../phpstan/phpstan/conf/bleedingEdge.neon | 2 + app/vendor/phpstan/phpstan/phpstan | 8 + app/vendor/phpstan/phpstan/phpstan.phar | Bin 0 -> 19102255 bytes app/vendor/phpstan/phpstan/phpstan.phar.asc | 16 + .../phpunit/php-code-coverage/.gitattributes | 3 + .../php-code-coverage/.github/CONTRIBUTING.md | 1 + .../php-code-coverage/.github/FUNDING.yml | 1 + .../.github/ISSUE_TEMPLATE.md | 18 + .../phpunit/php-code-coverage/.gitignore | 7 + .../phpunit/php-code-coverage/.php_cs.dist | 197 + .../phpunit/php-code-coverage/.travis.yml | 60 + .../phpunit/php-code-coverage/ChangeLog.md | 166 + app/vendor/phpunit/php-code-coverage/LICENSE | 33 + .../phpunit/php-code-coverage/README.md | 40 + .../phpunit/php-code-coverage/build.xml | 30 + .../phpunit/php-code-coverage/composer.json | 61 + .../phpunit/php-code-coverage/phive.xml | 4 + .../phpunit/php-code-coverage/phpunit.xml | 21 + .../php-code-coverage/src/CodeCoverage.php | 1006 ++++ .../php-code-coverage/src/Driver/Driver.php | 47 + .../php-code-coverage/src/Driver/PCOV.php | 45 + .../php-code-coverage/src/Driver/PHPDBG.php | 96 + .../php-code-coverage/src/Driver/Xdebug.php | 123 + .../CoveredCodeNotExecutedException.php | 17 + .../src/Exception/Exception.php | 17 + .../Exception/InvalidArgumentException.php | 36 + .../MissingCoversAnnotationException.php | 17 + .../src/Exception/RuntimeException.php | 14 + .../UnintentionallyCoveredCodeException.php | 44 + .../phpunit/php-code-coverage/src/Filter.php | 174 + .../src/Node/AbstractNode.php | 328 ++ .../php-code-coverage/src/Node/Builder.php | 227 + .../php-code-coverage/src/Node/Directory.php | 427 ++ .../php-code-coverage/src/Node/File.php | 611 +++ .../php-code-coverage/src/Node/Iterator.php | 89 + .../php-code-coverage/src/Report/Clover.php | 258 + .../php-code-coverage/src/Report/Crap4j.php | 165 + .../src/Report/Html/Facade.php | 167 + .../src/Report/Html/Renderer.php | 277 ++ .../src/Report/Html/Renderer/Dashboard.php | 281 ++ .../src/Report/Html/Renderer/Directory.php | 98 + .../src/Report/Html/Renderer/File.php | 529 +++ .../Renderer/Template/coverage_bar.html.dist | 5 + .../Renderer/Template/css/bootstrap.min.css | 7 + .../Html/Renderer/Template/css/custom.css} | 0 .../Html/Renderer/Template/css/nv.d3.min.css | 1 + .../Html/Renderer/Template/css/octicons.css | 5 + .../Html/Renderer/Template/css/style.css | 122 + .../Renderer/Template/dashboard.html.dist | 281 ++ .../Renderer/Template/directory.html.dist | 60 + .../Template/directory_item.html.dist | 13 + .../Html/Renderer/Template/file.html.dist | 72 + .../Renderer/Template/file_item.html.dist | 14 + .../Renderer/Template/icons/file-code.svg | 1 + .../Template/icons/file-directory.svg | 1 + .../Renderer/Template/js/bootstrap.min.js | 7 + .../Html/Renderer/Template/js/d3.min.js | 5 + .../Report/Html/Renderer/Template/js/file.js | 62 + .../Html/Renderer/Template/js/jquery.min.js | 2 + .../Html/Renderer/Template/js/nv.d3.min.js | 8 + .../Html/Renderer/Template/js/popper.min.js | 5 + .../Renderer/Template/method_item.html.dist | 11 + .../php-code-coverage/src/Report/PHP.php | 64 + .../php-code-coverage/src/Report/Text.php | 283 ++ .../src/Report/Xml/BuildInformation.php | 81 + .../src/Report/Xml/Coverage.php | 69 + .../src/Report/Xml/Directory.php | 14 + .../src/Report/Xml/Facade.php | 287 ++ .../php-code-coverage/src/Report/Xml/File.php | 81 + .../src/Report/Xml/Method.php | 56 + .../php-code-coverage/src/Report/Xml/Node.php | 87 + .../src/Report/Xml/Project.php | 85 + .../src/Report/Xml/Report.php | 92 + .../src/Report/Xml/Source.php | 38 + .../src/Report/Xml/Tests.php | 46 + .../src/Report/Xml/Totals.php | 140 + .../php-code-coverage/src/Report/Xml/Unit.php | 95 + .../phpunit/php-code-coverage/src/Util.php | 40 + .../phpunit/php-code-coverage/src/Version.php | 30 + .../php-code-coverage/tests/TestCase.php | 395 ++ .../tests/_files/BankAccount-clover.xml | 26 + .../tests/_files/BankAccount-crap4j.xml | 59 + .../tests/_files/BankAccount-text.txt | 12 + .../tests/_files/BankAccount.php | 33 + .../tests/_files/BankAccountTest.php | 66 + .../_files/CoverageClassExtendedTest.php | 14 + .../tests/_files/CoverageClassTest.php | 14 + .../CoverageFunctionParenthesesTest.php | 13 + ...erageFunctionParenthesesWhitespaceTest.php | 13 + .../tests/_files/CoverageFunctionTest.php | 13 + .../CoverageMethodOneLineAnnotationTest.php | 12 + .../_files/CoverageMethodParenthesesTest.php | 14 + ...overageMethodParenthesesWhitespaceTest.php | 14 + .../tests/_files/CoverageMethodTest.php | 14 + .../tests/_files/CoverageNoneTest.php | 11 + .../tests/_files/CoverageNotPrivateTest.php | 14 + .../tests/_files/CoverageNotProtectedTest.php | 14 + .../tests/_files/CoverageNotPublicTest.php | 14 + .../tests/_files/CoverageNothingTest.php | 15 + .../tests/_files/CoveragePrivateTest.php | 14 + .../tests/_files/CoverageProtectedTest.php | 14 + .../tests/_files/CoveragePublicTest.php | 14 + .../CoverageTwoDefaultClassAnnotations.php | 17 + .../tests/_files/CoveredClass.php | 36 + .../tests/_files/CoveredFunction.php | 4 + .../php-code-coverage/tests/_files/Crash.php | 2 + .../NamespaceCoverageClassExtendedTest.php | 14 + .../_files/NamespaceCoverageClassTest.php | 14 + ...NamespaceCoverageCoversClassPublicTest.php | 17 + .../NamespaceCoverageCoversClassTest.php | 22 + .../_files/NamespaceCoverageMethodTest.php | 14 + .../NamespaceCoverageNotPrivateTest.php | 14 + .../NamespaceCoverageNotProtectedTest.php | 14 + .../_files/NamespaceCoverageNotPublicTest.php | 14 + .../_files/NamespaceCoveragePrivateTest.php | 14 + .../_files/NamespaceCoverageProtectedTest.php | 14 + .../_files/NamespaceCoveragePublicTest.php | 14 + .../tests/_files/NamespaceCoveredClass.php | 38 + .../_files/NotExistingCoveredElementTest.php | 26 + .../BankAccount.php.html | 249 + .../CoverageForBankAccount/dashboard.html | 287 ++ .../HTML/CoverageForBankAccount/index.html | 118 + .../dashboard.html | 285 ++ .../index.html | 118 + ...with_class_and_anonymous_function.php.html | 172 + .../dashboard.html | 283 ++ .../index.html | 108 + .../source_with_ignore.php.html | 196 + .../BankAccount.php.xml | 262 ++ .../XML/CoverageForBankAccount/index.xml | 33 + .../index.xml | 30 + ..._with_class_and_anonymous_function.php.xml | 161 + .../CoverageForFileWithIgnoredLines/index.xml | 30 + .../source_with_ignore.php.xml | 187 + .../class-with-anonymous-function-clover.xml | 21 + .../class-with-anonymous-function-crap4j.xml | 26 + .../class-with-anonymous-function-text.txt | 12 + .../tests/_files/ignored-lines-clover.xml | 17 + .../tests/_files/ignored-lines-crap4j.xml | 37 + .../tests/_files/ignored-lines-text.txt | 10 + ...urce_with_class_and_anonymous_function.php | 19 + .../tests/_files/source_with_ignore.php | 37 + .../tests/_files/source_with_namespace.php | 20 + .../source_with_oneline_annotations.php | 36 + .../_files/source_with_use_statements.php | 23 + .../tests/_files/source_without_ignore.php | 4 + .../tests/_files/source_without_namespace.php | 18 + .../php-code-coverage/tests/bootstrap.php | 7 + .../tests/tests/BuilderTest.php | 246 + .../tests/tests/CloverTest.php | 48 + .../tests/tests/CodeCoverageTest.php | 359 ++ .../tests/tests/Crap4jTest.php | 48 + ...nintentionallyCoveredCodeExceptionTest.php | 51 + .../tests/tests/FilterTest.php | 213 + .../tests/tests/HTMLTest.php | 102 + .../tests/tests/TextTest.php | 48 + .../tests/tests/UtilTest.php | 28 + .../php-code-coverage/tests/tests/XmlTest.php | 97 + .../phpunit/php-file-iterator/.gitattributes | 1 + .../php-file-iterator/.github/stale.yml | 40 + .../phpunit/php-file-iterator/.gitignore | 5 + .../phpunit/php-file-iterator/.php_cs.dist | 168 + .../phpunit/php-file-iterator/.travis.yml | 32 + .../phpunit/php-file-iterator/ChangeLog.md | 84 + app/vendor/phpunit/php-file-iterator/LICENSE | 33 + .../phpunit/php-file-iterator/README.md | 14 + .../phpunit/php-file-iterator/composer.json | 37 + .../phpunit/php-file-iterator/phpunit.xml | 21 + .../phpunit/php-file-iterator/src/Facade.php | 112 + .../phpunit/php-file-iterator/src/Factory.php | 83 + .../php-file-iterator/src/Iterator.php | 113 + .../php-file-iterator/tests/FactoryTest.php | 50 + .../phpunit/php-text-template/.gitattributes | 1 + .../phpunit/php-text-template/.gitignore | 5 + app/vendor/phpunit/php-text-template/LICENSE | 33 + .../phpunit/php-text-template/README.md | 14 + .../phpunit/php-text-template/composer.json | 29 + .../php-text-template/src/Template.php | 135 + app/vendor/phpunit/php-timer/.gitattributes | 1 + .../phpunit/php-timer/.github/FUNDING.yml | 1 + .../phpunit/php-timer/.github/stale.yml | 40 + app/vendor/phpunit/php-timer/.gitignore | 5 + app/vendor/phpunit/php-timer/.php_cs.dist | 197 + app/vendor/phpunit/php-timer/.travis.yml | 23 + app/vendor/phpunit/php-timer/ChangeLog.md | 43 + app/vendor/phpunit/php-timer/LICENSE | 33 + app/vendor/phpunit/php-timer/README.md | 49 + app/vendor/phpunit/php-timer/build.xml | 20 + app/vendor/phpunit/php-timer/composer.json | 42 + app/vendor/phpunit/php-timer/phpunit.xml | 19 + .../phpunit/php-timer/src/Exception.php | 14 + .../php-timer/src/RuntimeException.php | 14 + app/vendor/phpunit/php-timer/src/Timer.php | 100 + .../phpunit/php-timer/tests/TimerTest.php | 134 + .../phpunit/php-token-stream/.gitattributes | 12 + .../phpunit/php-token-stream/.gitignore | 7 + .../phpunit/php-token-stream/ChangeLog.md | 92 + app/vendor/phpunit/php-token-stream/LICENSE | 33 + app/vendor/phpunit/php-token-stream/README.md | 18 + .../phpunit/php-token-stream/composer.json | 42 + .../phpunit/php-token-stream/src/Abstract.php | 12 + .../php-token-stream/src/Ampersand.php | 12 + .../phpunit/php-token-stream/src/AndEqual.php | 12 + .../phpunit/php-token-stream/src/Array.php | 12 + .../php-token-stream/src/ArrayCast.php | 12 + .../phpunit/php-token-stream/src/As.php | 12 + .../phpunit/php-token-stream/src/At.php | 12 + .../phpunit/php-token-stream/src/Backtick.php | 12 + .../php-token-stream/src/BadCharacter.php | 12 + .../phpunit/php-token-stream/src/BoolCast.php | 12 + .../php-token-stream/src/BooleanAnd.php | 12 + .../php-token-stream/src/BooleanOr.php | 12 + .../php-token-stream/src/CachingFactory.php | 42 + .../phpunit/php-token-stream/src/Callable.php | 12 + .../phpunit/php-token-stream/src/Caret.php | 12 + .../phpunit/php-token-stream/src/Case.php | 12 + .../phpunit/php-token-stream/src/Catch.php | 12 + .../php-token-stream/src/Character.php | 12 + .../phpunit/php-token-stream/src/Class.php | 62 + .../phpunit/php-token-stream/src/ClassC.php | 12 + .../src/ClassNameConstant.php | 12 + .../phpunit/php-token-stream/src/Clone.php | 12 + .../php-token-stream/src/CloseBracket.php | 12 + .../php-token-stream/src/CloseCurly.php | 12 + .../php-token-stream/src/CloseSquare.php | 12 + .../phpunit/php-token-stream/src/CloseTag.php | 12 + .../phpunit/php-token-stream/src/Coalesce.php | 12 + .../php-token-stream/src/CoalesceEqual.php | 12 + .../phpunit/php-token-stream/src/Colon.php | 12 + .../phpunit/php-token-stream/src/Comma.php | 12 + .../phpunit/php-token-stream/src/Comment.php | 12 + .../php-token-stream/src/ConcatEqual.php | 12 + .../phpunit/php-token-stream/src/Const.php | 12 + .../src/ConstantEncapsedString.php | 12 + .../phpunit/php-token-stream/src/Continue.php | 12 + .../php-token-stream/src/CurlyOpen.php | 12 + .../phpunit/php-token-stream/src/DNumber.php | 12 + .../phpunit/php-token-stream/src/Dec.php | 12 + .../phpunit/php-token-stream/src/Declare.php | 12 + .../phpunit/php-token-stream/src/Default.php | 12 + .../phpunit/php-token-stream/src/Dir.php | 12 + .../phpunit/php-token-stream/src/Div.php | 12 + .../phpunit/php-token-stream/src/DivEqual.php | 12 + .../phpunit/php-token-stream/src/Do.php | 12 + .../php-token-stream/src/DocComment.php | 12 + .../phpunit/php-token-stream/src/Dollar.php | 12 + .../src/DollarOpenCurlyBraces.php | 12 + .../phpunit/php-token-stream/src/Dot.php | 12 + .../php-token-stream/src/DoubleArrow.php | 12 + .../php-token-stream/src/DoubleCast.php | 12 + .../php-token-stream/src/DoubleColon.php | 12 + .../php-token-stream/src/DoubleQuotes.php | 12 + .../phpunit/php-token-stream/src/Echo.php | 12 + .../phpunit/php-token-stream/src/Ellipsis.php | 12 + .../phpunit/php-token-stream/src/Else.php | 12 + .../phpunit/php-token-stream/src/Elseif.php | 12 + .../phpunit/php-token-stream/src/Empty.php | 12 + .../src/EncapsedAndWhitespace.php | 12 + .../php-token-stream/src/EndHeredoc.php | 12 + .../php-token-stream/src/Enddeclare.php | 12 + .../phpunit/php-token-stream/src/Endfor.php | 12 + .../php-token-stream/src/Endforeach.php | 12 + .../phpunit/php-token-stream/src/Endif.php | 12 + .../php-token-stream/src/Endswitch.php | 12 + .../phpunit/php-token-stream/src/Endwhile.php | 12 + .../phpunit/php-token-stream/src/Equal.php | 12 + .../phpunit/php-token-stream/src/Eval.php | 12 + .../php-token-stream/src/ExclamationMark.php | 12 + .../phpunit/php-token-stream/src/Exit.php | 12 + .../phpunit/php-token-stream/src/Extends.php | 12 + .../phpunit/php-token-stream/src/File.php | 12 + .../phpunit/php-token-stream/src/Final.php | 12 + .../phpunit/php-token-stream/src/Finally.php | 12 + .../phpunit/php-token-stream/src/Fn.php | 12 + .../phpunit/php-token-stream/src/For.php | 12 + .../phpunit/php-token-stream/src/Foreach.php | 12 + .../phpunit/php-token-stream/src/FuncC.php | 12 + .../phpunit/php-token-stream/src/Function.php | 196 + .../phpunit/php-token-stream/src/Global.php | 12 + .../phpunit/php-token-stream/src/Goto.php | 12 + .../phpunit/php-token-stream/src/Gt.php | 12 + .../php-token-stream/src/HaltCompiler.php | 12 + .../phpunit/php-token-stream/src/If.php | 12 + .../php-token-stream/src/Implements.php | 12 + .../phpunit/php-token-stream/src/Inc.php | 12 + .../phpunit/php-token-stream/src/Include.php | 12 + .../php-token-stream/src/IncludeOnce.php | 12 + .../phpunit/php-token-stream/src/Includes.php | 57 + .../php-token-stream/src/InlineHtml.php | 12 + .../php-token-stream/src/Instanceof.php | 12 + .../php-token-stream/src/Insteadof.php | 12 + .../phpunit/php-token-stream/src/IntCast.php | 12 + .../php-token-stream/src/Interface.php | 166 + .../phpunit/php-token-stream/src/IsEqual.php | 12 + .../php-token-stream/src/IsGreaterOrEqual.php | 12 + .../php-token-stream/src/IsIdentical.php | 12 + .../php-token-stream/src/IsNotEqual.php | 12 + .../php-token-stream/src/IsNotIdentical.php | 12 + .../php-token-stream/src/IsSmallerOrEqual.php | 12 + .../phpunit/php-token-stream/src/Isset.php | 12 + .../phpunit/php-token-stream/src/Line.php | 12 + .../phpunit/php-token-stream/src/List.php | 12 + .../phpunit/php-token-stream/src/Lnumber.php | 12 + .../php-token-stream/src/LogicalAnd.php | 12 + .../php-token-stream/src/LogicalOr.php | 12 + .../php-token-stream/src/LogicalXor.php | 12 + .../phpunit/php-token-stream/src/Lt.php | 12 + .../phpunit/php-token-stream/src/MethodC.php | 12 + .../phpunit/php-token-stream/src/Minus.php | 12 + .../php-token-stream/src/MinusEqual.php | 12 + .../phpunit/php-token-stream/src/ModEqual.php | 12 + .../phpunit/php-token-stream/src/MulEqual.php | 12 + .../phpunit/php-token-stream/src/Mult.php | 12 + .../src/NameFullyQualified.php | 12 + .../php-token-stream/src/NameQualified.php | 12 + .../php-token-stream/src/NameRelative.php | 12 + .../php-token-stream/src/Namespace.php | 31 + .../phpunit/php-token-stream/src/New.php | 12 + .../phpunit/php-token-stream/src/NsC.php | 12 + .../php-token-stream/src/NsSeparator.php | 12 + .../php-token-stream/src/NumString.php | 12 + .../php-token-stream/src/ObjectCast.php | 12 + .../php-token-stream/src/ObjectOperator.php | 12 + .../php-token-stream/src/OpenBracket.php | 12 + .../php-token-stream/src/OpenCurly.php | 12 + .../php-token-stream/src/OpenSquare.php | 12 + .../phpunit/php-token-stream/src/OpenTag.php | 12 + .../php-token-stream/src/OpenTagWithEcho.php | 12 + .../phpunit/php-token-stream/src/OrEqual.php | 12 + .../src/PaamayimNekudotayim.php | 12 + .../phpunit/php-token-stream/src/Percent.php | 12 + .../phpunit/php-token-stream/src/Pipe.php | 12 + .../phpunit/php-token-stream/src/Plus.php | 12 + .../php-token-stream/src/PlusEqual.php | 12 + .../phpunit/php-token-stream/src/Pow.php | 12 + .../phpunit/php-token-stream/src/PowEqual.php | 12 + .../phpunit/php-token-stream/src/Print.php | 12 + .../phpunit/php-token-stream/src/Private.php | 12 + .../php-token-stream/src/Protected.php | 12 + .../phpunit/php-token-stream/src/Public.php | 12 + .../php-token-stream/src/QuestionMark.php | 12 + .../phpunit/php-token-stream/src/Require.php | 12 + .../php-token-stream/src/RequireOnce.php | 12 + .../phpunit/php-token-stream/src/Return.php | 12 + .../php-token-stream/src/Semicolon.php | 12 + .../phpunit/php-token-stream/src/Sl.php | 12 + .../phpunit/php-token-stream/src/SlEqual.php | 12 + .../php-token-stream/src/Spaceship.php | 12 + .../phpunit/php-token-stream/src/Sr.php | 12 + .../phpunit/php-token-stream/src/SrEqual.php | 12 + .../php-token-stream/src/StartHeredoc.php | 12 + .../phpunit/php-token-stream/src/Static.php | 12 + .../phpunit/php-token-stream/src/Stream.php | 658 +++ .../phpunit/php-token-stream/src/String.php | 12 + .../php-token-stream/src/StringCast.php | 12 + .../php-token-stream/src/StringVarname.php | 12 + .../phpunit/php-token-stream/src/Switch.php | 12 + .../phpunit/php-token-stream/src/Throw.php | 12 + .../phpunit/php-token-stream/src/Tilde.php | 12 + .../phpunit/php-token-stream/src/Token.php | 68 + .../php-token-stream/src/TokenWithScope.php | 107 + .../src/TokenWithScopeAndVisibility.php | 67 + .../phpunit/php-token-stream/src/Trait.php | 12 + .../phpunit/php-token-stream/src/TraitC.php | 12 + .../phpunit/php-token-stream/src/Try.php | 12 + .../phpunit/php-token-stream/src/Unset.php | 12 + .../php-token-stream/src/UnsetCast.php | 12 + .../phpunit/php-token-stream/src/Use.php | 12 + .../php-token-stream/src/UseFunction.php | 12 + .../phpunit/php-token-stream/src/Util.php | 18 + .../phpunit/php-token-stream/src/Var.php | 12 + .../phpunit/php-token-stream/src/Variable.php | 12 + .../phpunit/php-token-stream/src/While.php | 12 + .../php-token-stream/src/Whitespace.php | 12 + .../phpunit/php-token-stream/src/XorEqual.php | 12 + .../phpunit/php-token-stream/src/Yield.php | 12 + .../php-token-stream/src/YieldFrom.php | 12 + .../phpunit/php-token-stream/src/break.php | 12 + app/vendor/phpunit/phpunit/.phpstorm.meta.php | 33 + app/vendor/phpunit/phpunit/ChangeLog-8.5.md | 190 + app/vendor/phpunit/phpunit/LICENSE | 33 + app/vendor/phpunit/phpunit/README.md | 43 + app/vendor/phpunit/phpunit/composer.json | 89 + app/vendor/phpunit/phpunit/phpunit | 92 + app/vendor/phpunit/phpunit/phpunit.xsd | 317 ++ app/vendor/phpunit/phpunit/src/Exception.php | 19 + .../phpunit/phpunit/src/Framework/Assert.php | 3655 ++++++++++++++ .../src/Framework/Assert/Functions.php | 3009 ++++++++++++ .../src/Framework/Constraint/ArrayHasKey.php | 82 + .../src/Framework/Constraint/ArraySubset.php | 135 + .../src/Framework/Constraint/Attribute.php | 79 + .../src/Framework/Constraint/Callback.php | 52 + .../Constraint/ClassHasAttribute.php | 91 + .../Constraint/ClassHasStaticAttribute.php | 62 + .../src/Framework/Constraint/Composite.php | 69 + .../src/Framework/Constraint/Constraint.php | 155 + .../src/Framework/Constraint/Count.php | 128 + .../Framework/Constraint/DirectoryExists.php | 56 + .../src/Framework/Constraint/Exception.php | 82 + .../Framework/Constraint/ExceptionCode.php | 64 + .../Framework/Constraint/ExceptionMessage.php | 75 + .../ExceptionMessageRegularExpression.php | 71 + .../src/Framework/Constraint/FileExists.php | 56 + .../src/Framework/Constraint/GreaterThan.php | 51 + .../src/Framework/Constraint/IsAnything.php | 51 + .../src/Framework/Constraint/IsEmpty.php | 70 + .../src/Framework/Constraint/IsEqual.php | 142 + .../src/Framework/Constraint/IsFalse.php | 35 + .../src/Framework/Constraint/IsFinite.php | 37 + .../src/Framework/Constraint/IsIdentical.php | 147 + .../src/Framework/Constraint/IsInfinite.php | 37 + .../src/Framework/Constraint/IsInstanceOf.php | 90 + .../src/Framework/Constraint/IsJson.php | 77 + .../src/Framework/Constraint/IsNan.php | 37 + .../src/Framework/Constraint/IsNull.php | 35 + .../src/Framework/Constraint/IsReadable.php | 56 + .../src/Framework/Constraint/IsTrue.php | 35 + .../src/Framework/Constraint/IsType.php | 214 + .../src/Framework/Constraint/IsWritable.php | 56 + .../src/Framework/Constraint/JsonMatches.php | 109 + .../JsonMatchesErrorMessageProvider.php | 72 + .../src/Framework/Constraint/LessThan.php | 51 + .../src/Framework/Constraint/LogicalAnd.php | 121 + .../src/Framework/Constraint/LogicalNot.php | 169 + .../src/Framework/Constraint/LogicalOr.php | 118 + .../src/Framework/Constraint/LogicalXor.php | 123 + .../Constraint/ObjectHasAttribute.php | 32 + .../Constraint/RegularExpression.php | 57 + .../src/Framework/Constraint/SameSize.php | 18 + .../Framework/Constraint/StringContains.php | 79 + .../Framework/Constraint/StringEndsWith.php | 49 + .../StringMatchesFormatDescription.php | 108 + .../Framework/Constraint/StringStartsWith.php | 54 + .../Constraint/TraversableContains.php | 120 + .../Constraint/TraversableContainsEqual.php | 88 + .../TraversableContainsIdentical.php | 87 + .../Constraint/TraversableContainsOnly.php | 87 + .../src/Framework/DataProviderTestSuite.php | 63 + .../src/Framework/Error/Deprecated.php | 14 + .../phpunit/src/Framework/Error/Error.php | 23 + .../phpunit/src/Framework/Error/Notice.php | 14 + .../phpunit/src/Framework/Error/Warning.php | 14 + .../Exception/AssertionFailedError.php | 24 + .../Exception/CodeCoverageException.php | 17 + .../CoveredCodeNotExecutedException.php | 17 + .../src/Framework/Exception/Exception.php | 81 + .../Exception/ExpectationFailedException.php | 42 + .../Exception/IncompleteTestError.php | 17 + .../Exception/InvalidArgumentException.php | 42 + .../InvalidCoversTargetException.php | 17 + .../InvalidDataProviderException.php | 17 + .../MissingCoversAnnotationException.php | 17 + .../Exception/NoChildTestSuiteException.php | 17 + .../src/Framework/Exception/OutputError.php | 17 + .../Exception/PHPTAssertionFailedError.php | 32 + .../Framework/Exception/RiskyTestError.php | 17 + .../Framework/Exception/SkippedTestError.php | 17 + .../Exception/SkippedTestSuiteError.php | 17 + .../Framework/Exception/SyntheticError.php | 61 + .../Exception/SyntheticSkippedError.php | 17 + .../UnintentionallyCoveredCodeError.php | 17 + .../src/Framework/Exception/Warning.php | 24 + .../src/Framework/ExceptionWrapper.php | 120 + .../phpunit/src/Framework/IncompleteTest.php | 17 + .../src/Framework/IncompleteTestCase.php | 66 + .../InvalidParameterGroupException.php | 17 + .../src/Framework/MockObject/Api/Api.php | 97 + .../src/Framework/MockObject/Api/Method.php | 30 + .../MockObject/Api/MockedCloneMethod.php | 21 + .../MockObject/Api/UnmockedCloneMethod.php | 23 + .../Framework/MockObject/Builder/Identity.php | 25 + .../MockObject/Builder/InvocationMocker.php | 300 ++ .../MockObject/Builder/InvocationStubber.php | 62 + .../Framework/MockObject/Builder/Match_.php | 26 + .../MockObject/Builder/MethodNameMatch.php | 26 + .../MockObject/Builder/ParametersMatch.php | 48 + .../src/Framework/MockObject/Builder/Stub.php | 24 + .../MockObject/ConfigurableMethod.php | 53 + .../Exception/BadMethodCallException.php | 17 + ...ableMethodsAlreadyInitializedException.php | 17 + .../MockObject/Exception/Exception.php | 19 + .../IncompatibleReturnValueException.php | 17 + .../MockObject/Exception/RuntimeException.php | 17 + .../src/Framework/MockObject/Generator.php | 1102 +++++ .../MockObject/Generator/deprecation.tpl | 2 + .../MockObject/Generator/mocked_class.tpl | 6 + .../MockObject/Generator/mocked_method.tpl | 22 + .../Generator/mocked_method_void.tpl | 20 + .../Generator/mocked_static_method.tpl | 5 + .../MockObject/Generator/proxied_method.tpl | 22 + .../Generator/proxied_method_void.tpl | 22 + .../MockObject/Generator/trait_class.tpl | 6 + .../MockObject/Generator/wsdl_class.tpl | 9 + .../MockObject/Generator/wsdl_method.tpl | 4 + .../src/Framework/MockObject/Invocation.php | 201 + .../MockObject/InvocationHandler.php | 197 + .../src/Framework/MockObject/Matcher.php | 278 ++ .../MockObject/MethodNameConstraint.php | 48 + .../src/Framework/MockObject/MockBuilder.php | 511 ++ .../src/Framework/MockObject/MockClass.php | 63 + .../src/Framework/MockObject/MockMethod.php | 403 ++ .../Framework/MockObject/MockMethodSet.php | 45 + .../src/Framework/MockObject/MockObject.php | 25 + .../src/Framework/MockObject/MockTrait.php | 48 + .../src/Framework/MockObject/MockType.php | 18 + .../MockObject/Rule/AnyInvokedCount.php | 36 + .../MockObject/Rule/AnyParameters.php | 31 + .../MockObject/Rule/ConsecutiveParameters.php | 136 + .../MockObject/Rule/InvocationOrder.php | 47 + .../MockObject/Rule/InvokedAtIndex.php | 72 + .../MockObject/Rule/InvokedAtLeastCount.php | 64 + .../MockObject/Rule/InvokedAtLeastOnce.php | 50 + .../MockObject/Rule/InvokedAtMostCount.php | 64 + .../MockObject/Rule/InvokedCount.php | 102 + .../Framework/MockObject/Rule/MethodName.php | 64 + .../Framework/MockObject/Rule/Parameters.php | 160 + .../MockObject/Rule/ParametersRule.php | 25 + .../phpunit/src/Framework/MockObject/Stub.php | 24 + .../MockObject/Stub/ConsecutiveCalls.php | 57 + .../Framework/MockObject/Stub/Exception.php | 46 + .../MockObject/Stub/ReturnArgument.php | 41 + .../MockObject/Stub/ReturnCallback.php | 59 + .../MockObject/Stub/ReturnReference.php | 45 + .../Framework/MockObject/Stub/ReturnSelf.php | 32 + .../Framework/MockObject/Stub/ReturnStub.php | 45 + .../MockObject/Stub/ReturnValueMap.php | 53 + .../src/Framework/MockObject/Stub/Stub.php | 27 + .../src/Framework/MockObject/Verifiable.php | 26 + .../phpunit/src/Framework/SelfDescribing.php | 21 + .../phpunit/src/Framework/SkippedTest.php | 17 + .../phpunit/src/Framework/SkippedTestCase.php | 66 + .../phpunit/phpunit/src/Framework/Test.php | 23 + .../phpunit/src/Framework/TestBuilder.php | 239 + .../phpunit/src/Framework/TestCase.php | 2594 ++++++++++ .../phpunit/src/Framework/TestFailure.php | 157 + .../phpunit/src/Framework/TestListener.php | 84 + .../TestListenerDefaultImplementation.php | 58 + .../phpunit/src/Framework/TestResult.php | 1232 +++++ .../phpunit/src/Framework/TestSuite.php | 796 ++++ .../src/Framework/TestSuiteIterator.php | 83 + .../phpunit/src/Framework/WarningTestCase.php | 66 + .../phpunit/src/Runner/BaseTestRunner.php | 160 + .../src/Runner/DefaultTestResultCache.php | 157 + .../phpunit/phpunit/src/Runner/Exception.php | 19 + .../Filter/ExcludeGroupFilterIterator.php | 23 + .../phpunit/src/Runner/Filter/Factory.php | 56 + .../src/Runner/Filter/GroupFilterIterator.php | 58 + .../Filter/IncludeGroupFilterIterator.php | 23 + .../src/Runner/Filter/NameFilterIterator.php | 135 + .../Runner/Hook/AfterIncompleteTestHook.php | 15 + .../src/Runner/Hook/AfterLastTestHook.php | 15 + .../src/Runner/Hook/AfterRiskyTestHook.php | 15 + .../src/Runner/Hook/AfterSkippedTestHook.php | 15 + .../Runner/Hook/AfterSuccessfulTestHook.php | 15 + .../src/Runner/Hook/AfterTestErrorHook.php | 15 + .../src/Runner/Hook/AfterTestFailureHook.php | 15 + .../phpunit/src/Runner/Hook/AfterTestHook.php | 21 + .../src/Runner/Hook/AfterTestWarningHook.php | 15 + .../src/Runner/Hook/BeforeFirstTestHook.php | 15 + .../src/Runner/Hook/BeforeTestHook.php | 15 + .../phpunit/phpunit/src/Runner/Hook/Hook.php | 14 + .../phpunit/src/Runner/Hook/TestHook.php | 14 + .../src/Runner/Hook/TestListenerAdapter.php | 141 + .../src/Runner/NullTestResultCache.php | 42 + .../phpunit/src/Runner/PhptTestCase.php | 819 ++++ .../src/Runner/ResultCacheExtension.php | 110 + .../src/Runner/StandardTestSuiteLoader.php | 164 + .../phpunit/src/Runner/TestResultCache.php | 28 + .../phpunit/src/Runner/TestSuiteLoader.php | 22 + .../phpunit/src/Runner/TestSuiteSorter.php | 454 ++ .../phpunit/phpunit/src/Runner/Version.php | 71 + .../phpunit/phpunit/src/TextUI/Command.php | 1367 ++++++ .../phpunit/phpunit/src/TextUI/Exception.php | 19 + .../phpunit/phpunit/src/TextUI/Help.php | 256 + .../phpunit/src/TextUI/ResultPrinter.php | 588 +++ .../phpunit/phpunit/src/TextUI/TestRunner.php | 1392 ++++++ .../phpunit/src/Util/Annotation/DocBlock.php | 621 +++ .../phpunit/src/Util/Annotation/Registry.php | 93 + .../phpunit/phpunit/src/Util/Blacklist.php | 224 + app/vendor/phpunit/phpunit/src/Util/Color.php | 159 + .../phpunit/src/Util/Configuration.php | 1231 +++++ .../src/Util/ConfigurationGenerator.php | 66 + .../phpunit/phpunit/src/Util/ErrorHandler.php | 156 + .../phpunit/phpunit/src/Util/Exception.php | 19 + .../phpunit/phpunit/src/Util/FileLoader.php | 84 + .../phpunit/phpunit/src/Util/Filesystem.php | 40 + .../phpunit/phpunit/src/Util/Filter.php | 115 + .../phpunit/phpunit/src/Util/Getopt.php | 197 + .../phpunit/phpunit/src/Util/GlobalState.php | 194 + .../src/Util/InvalidDataSetException.php | 19 + app/vendor/phpunit/phpunit/src/Util/Json.php | 98 + .../phpunit/phpunit/src/Util/Log/JUnit.php | 432 ++ .../phpunit/phpunit/src/Util/Log/TeamCity.php | 386 ++ .../src/Util/PHP/AbstractPhpProcess.php | 416 ++ .../src/Util/PHP/DefaultPhpProcess.php | 233 + .../src/Util/PHP/Template/PhptTestCase.tpl | 40 + .../src/Util/PHP/Template/TestCaseClass.tpl | 108 + .../src/Util/PHP/Template/TestCaseMethod.tpl | 111 + .../src/Util/PHP/WindowsPhpProcess.php | 52 + .../phpunit/phpunit/src/Util/Printer.php | 164 + .../phpunit/src/Util/RegularExpression.php | 31 + app/vendor/phpunit/phpunit/src/Util/Test.php | 934 ++++ .../src/Util/TestDox/CliTestDoxPrinter.php | 366 ++ .../src/Util/TestDox/HtmlResultPrinter.php | 133 + .../src/Util/TestDox/NamePrettifier.php | 326 ++ .../src/Util/TestDox/ResultPrinter.php | 342 ++ .../src/Util/TestDox/TestDoxPrinter.php | 385 ++ .../src/Util/TestDox/TextResultPrinter.php | 46 + .../src/Util/TestDox/XmlResultPrinter.php | 255 + .../phpunit/src/Util/TextTestListRenderer.php | 54 + app/vendor/phpunit/phpunit/src/Util/Type.php | 52 + .../src/Util/VersionComparisonOperator.php | 57 + .../src/Util/XdebugFilterScriptGenerator.php | 84 + app/vendor/phpunit/phpunit/src/Util/Xml.php | 314 ++ .../phpunit/src/Util/XmlTestListRenderer.php | 90 + app/vendor/psr/container/.gitignore | 3 + app/vendor/psr/container/LICENSE | 21 + app/vendor/psr/container/README.md | 13 + app/vendor/psr/container/composer.json | 27 + .../src/ContainerExceptionInterface.php | 10 + .../psr/container/src/ContainerInterface.php | 36 + .../src/NotFoundExceptionInterface.php | 10 + app/vendor/psr/http-client/CHANGELOG.md | 23 + app/vendor/psr/http-client/LICENSE | 19 + app/vendor/psr/http-client/README.md | 12 + app/vendor/psr/http-client/composer.json | 27 + .../src/ClientExceptionInterface.php | 10 + .../psr/http-client/src/ClientInterface.php | 20 + .../src/NetworkExceptionInterface.php | 24 + .../src/RequestExceptionInterface.php | 24 + app/vendor/psr/http-factory/.gitignore | 2 + app/vendor/psr/http-factory/.pullapprove.yml | 7 + app/vendor/psr/http-factory/LICENSE | 21 + app/vendor/psr/http-factory/README.md | 10 + app/vendor/psr/http-factory/composer.json | 35 + .../src/RequestFactoryInterface.php | 18 + .../src/ResponseFactoryInterface.php | 18 + .../src/ServerRequestFactoryInterface.php | 24 + .../src/StreamFactoryInterface.php | 45 + .../src/UploadedFileFactoryInterface.php | 34 + .../http-factory/src/UriFactoryInterface.php | 17 + app/vendor/psr/http-server-handler/LICENSE | 21 + app/vendor/psr/http-server-handler/README.md | 6 + .../psr/http-server-handler/composer.json | 36 + .../src/RequestHandlerInterface.php | 22 + app/vendor/psr/http-server-middleware/LICENSE | 21 + .../psr/http-server-middleware/README.md | 6 + .../psr/http-server-middleware/composer.json | 36 + .../src/MiddlewareInterface.php | 25 + app/vendor/react/promise/CHANGELOG.md | 162 - app/vendor/react/promise/LICENSE | 22 - app/vendor/react/promise/README.md | 876 ---- app/vendor/react/promise/composer.json | 29 - .../src/CancellablePromiseInterface.php | 17 - .../react/promise/src/CancellationQueue.php | 55 - app/vendor/react/promise/src/Deferred.php | 65 - .../promise/src/Exception/LengthException.php | 7 - .../promise/src/ExtendedPromiseInterface.php | 98 - .../react/promise/src/FulfilledPromise.php | 71 - app/vendor/react/promise/src/LazyPromise.php | 66 - app/vendor/react/promise/src/Promise.php | 256 - .../react/promise/src/PromiseInterface.php | 41 - .../react/promise/src/PromisorInterface.php | 13 - .../react/promise/src/RejectedPromise.php | 79 - .../src/UnhandledRejectionException.php | 31 - app/vendor/react/promise/src/functions.php | 351 -- .../react/promise/src/functions_include.php | 5 - app/vendor/robmorgan/phinx/.stickler.yml | 12 + app/vendor/robmorgan/phinx/BACKERS.md | 31 - app/vendor/robmorgan/phinx/CHANGELOG.md | 427 -- app/vendor/robmorgan/phinx/CONTRIBUTING.md | 66 - app/vendor/robmorgan/phinx/LICENSE | 2 +- app/vendor/robmorgan/phinx/README.md | 33 +- app/vendor/robmorgan/phinx/UPGRADE_0.6.md | 5 - app/vendor/robmorgan/phinx/UPGRADE_0.8.md | 15 - app/vendor/robmorgan/phinx/app/phinx.php | 6 +- app/vendor/robmorgan/phinx/app/web.php | 14 +- app/vendor/robmorgan/phinx/appveyor.yml | 58 - app/vendor/robmorgan/phinx/box.json | 33 - app/vendor/robmorgan/phinx/composer.json | 42 +- .../robmorgan/phinx/data/phinx.json.dist | 38 + .../robmorgan/phinx/data/phinx.php.dist | 41 + .../robmorgan/phinx/data/phinx.yml.dist | 35 + .../phinx/docs/config/__init__.py} | 0 app/vendor/robmorgan/phinx/docs/config/all.py | 43 + .../robmorgan/phinx/docs/en/commands.rst | 411 ++ app/vendor/robmorgan/phinx/docs/en/conf.py | 9 + .../robmorgan/phinx/docs/en/configuration.rst | 442 ++ .../robmorgan/phinx/docs/en/contents.rst | 15 + .../robmorgan/phinx/docs/en/copyright.rst | 29 + app/vendor/robmorgan/phinx/docs/en/goals.rst | 13 + app/vendor/robmorgan/phinx/docs/en/index.rst | 26 + .../robmorgan/phinx/docs/en/install.rst | 28 + app/vendor/robmorgan/phinx/docs/en/intro.rst | 16 + .../robmorgan/phinx/docs/en/migrations.rst | 1883 ++++++++ .../robmorgan/phinx/docs/en/namespaces.rst | 152 + .../robmorgan/phinx/docs/en/seeding.rst | 267 ++ .../robmorgan/phinx/docs/es/commands.rst | 292 ++ app/vendor/robmorgan/phinx/docs/es/conf.py | 9 + .../robmorgan/phinx/docs/es/contents.rst | 8 + .../robmorgan/phinx/docs/fr/commands.rst | 339 ++ app/vendor/robmorgan/phinx/docs/fr/conf.py | 9 + .../robmorgan/phinx/docs/fr/configuration.rst | 308 ++ .../robmorgan/phinx/docs/fr/contents.rst | 11 + app/vendor/robmorgan/phinx/docs/fr/index.rst | 57 + .../robmorgan/phinx/docs/fr/migrations.rst | 1305 +++++ .../robmorgan/phinx/docs/fr/seeding.rst | 217 + .../robmorgan/phinx/docs/ja/commands.rst | 338 ++ app/vendor/robmorgan/phinx/docs/ja/conf.py | 9 + .../robmorgan/phinx/docs/ja/configuration.rst | 305 ++ .../robmorgan/phinx/docs/ja/contents.rst | 12 + app/vendor/robmorgan/phinx/docs/ja/index.rst | 60 + .../robmorgan/phinx/docs/ja/migrations.rst | 1293 +++++ .../robmorgan/phinx/docs/ja/seeding.rst | 214 + app/vendor/robmorgan/phinx/phinx.yml | 35 - .../robmorgan/phinx/phpstan-baseline.neon | 7 + app/vendor/robmorgan/phinx/phpstan.neon | 5 - .../phinx/src/Phinx/Config/Config.php | 283 +- .../src/Phinx/Config/ConfigInterface.php | 88 +- .../Phinx/Config/NamespaceAwareInterface.php | 33 + .../src/Phinx/Config/NamespaceAwareTrait.php | 74 + .../Phinx/Console/Command/AbstractCommand.php | 201 +- .../src/Phinx/Console/Command/Breakpoint.php | 96 +- .../src/Phinx/Console/Command/Create.php | 150 +- .../phinx/src/Phinx/Console/Command/Init.php | 172 +- .../src/Phinx/Console/Command/ListAliases.php | 77 + .../src/Phinx/Console/Command/Migrate.php | 114 +- .../src/Phinx/Console/Command/Rollback.php | 108 +- .../src/Phinx/Console/Command/SeedCreate.php | 120 +- .../src/Phinx/Console/Command/SeedRun.php | 70 +- .../src/Phinx/Console/Command/Status.php | 78 +- .../phinx/src/Phinx/Console/Command/Test.php | 62 +- .../src/Phinx/Console/PhinxApplication.php | 79 +- .../phinx/src/Phinx/Db/Action/Action.php | 38 + .../phinx/src/Phinx/Db/Action/AddColumn.php | 62 + .../src/Phinx/Db/Action/AddForeignKey.php | 78 + .../phinx/src/Phinx/Db/Action/AddIndex.php | 71 + .../src/Phinx/Db/Action/ChangeColumn.php | 87 + .../src/Phinx/Db/Action/ChangeComment.php | 42 + .../src/Phinx/Db/Action/ChangePrimaryKey.php | 42 + .../phinx/src/Phinx/Db/Action/CreateTable.php | 12 + .../src/Phinx/Db/Action/DropForeignKey.php | 68 + .../phinx/src/Phinx/Db/Action/DropIndex.php | 75 + .../phinx/src/Phinx/Db/Action/DropTable.php | 12 + .../src/Phinx/Db/Action/RemoveColumn.php | 59 + .../src/Phinx/Db/Action/RenameColumn.php | 79 + .../phinx/src/Phinx/Db/Action/RenameTable.php | 42 + .../src/Phinx/Db/Adapter/AbstractAdapter.php | 413 ++ .../src/Phinx/Db/Adapter/AdapterFactory.php | 93 +- .../src/Phinx/Db/Adapter/AdapterInterface.php | 395 +- .../src/Phinx/Db/Adapter/AdapterWrapper.php | 273 +- .../Db/Adapter/DirectActionInterface.php | 139 + .../src/Phinx/Db/Adapter/MysqlAdapter.php | 1376 +++--- .../phinx/src/Phinx/Db/Adapter/PdoAdapter.php | 987 ++-- .../src/Phinx/Db/Adapter/PostgresAdapter.php | 1234 +++-- .../src/Phinx/Db/Adapter/ProxyAdapter.php | 345 +- .../src/Phinx/Db/Adapter/SQLiteAdapter.php | 1796 ++++--- .../src/Phinx/Db/Adapter/SqlServerAdapter.php | 989 ++-- .../Phinx/Db/Adapter/TablePrefixAdapter.php | 365 +- .../Phinx/Db/Adapter/TimedOutputAdapter.php | 423 ++ .../UnsupportedColumnTypeException.php | 19 + .../src/Phinx/Db/Adapter/WrapperInterface.php | 37 +- .../phinx/src/Phinx/Db/Plan/AlterTable.php | 72 + .../phinx/src/Phinx/Db/Plan/Intent.php | 55 + .../phinx/src/Phinx/Db/Plan/NewTable.php | 101 + .../phinx/src/Phinx/Db/Plan/Plan.php | 505 ++ .../Phinx/Db/Plan/Solver/ActionSplitter.php | 103 + .../robmorgan/phinx/src/Phinx/Db/Table.php | 615 +-- .../phinx/src/Phinx/Db/Table/Column.php | 368 +- .../phinx/src/Phinx/Db/Table/ForeignKey.php | 107 +- .../phinx/src/Phinx/Db/Table/Index.php | 138 +- .../phinx/src/Phinx/Db/Table/Table.php | 82 + .../src/Phinx/Db/Util/AlterInstructions.php | 122 + .../src/Phinx/Migration/AbstractMigration.php | 228 +- .../Migration/AbstractTemplateCreation.php | 53 +- .../src/Phinx/Migration/CreationInterface.php | 55 +- .../IrreversibleMigrationException.php | 33 +- .../phinx/src/Phinx/Migration/Manager.php | 604 ++- .../Phinx/Migration/Manager/Environment.php | 192 +- .../Migration/Migration.template.php.dist | 19 +- .../Phinx/Migration/MigrationInterface.php | 151 +- .../phinx/src/Phinx/Seed/AbstractSeed.php | 102 +- .../src/Phinx/Seed/Seed.template.php.dist | 3 +- .../phinx/src/Phinx/Seed/SeedInterface.php | 79 +- .../phinx/src/Phinx/Util/Expression.php | 41 + .../phinx/src/Phinx/Util/Literal.php | 41 + .../robmorgan/phinx/src/Phinx/Util/Util.php | 260 +- .../phinx/src/Phinx/Wrapper/TextWrapper.php | 137 +- .../phinx/src/composer_autoloader.php | 35 +- .../code-unit-reverse-lookup/.gitignore | 4 + .../code-unit-reverse-lookup/.php_cs | 67 + .../code-unit-reverse-lookup/.travis.yml | 25 + .../code-unit-reverse-lookup/ChangeLog.md | 15 + .../code-unit-reverse-lookup/LICENSE | 33 + .../code-unit-reverse-lookup/README.md | 14 + .../code-unit-reverse-lookup/build.xml | 22 + .../code-unit-reverse-lookup/composer.json | 28 + .../code-unit-reverse-lookup/phpunit.xml | 21 + .../code-unit-reverse-lookup/src/Wizard.php | 111 + .../tests/WizardTest.php | 45 + .../sebastian/comparator/.github/stale.yml | 40 + app/vendor/sebastian/comparator/.gitignore | 4 + app/vendor/sebastian/comparator/.php_cs.dist | 189 + app/vendor/sebastian/comparator/.travis.yml | 33 + app/vendor/sebastian/comparator/ChangeLog.md | 66 + app/vendor/sebastian/comparator/LICENSE | 33 + app/vendor/sebastian/comparator/README.md | 37 + app/vendor/sebastian/comparator/build.xml | 21 + app/vendor/sebastian/comparator/composer.json | 54 + app/vendor/sebastian/comparator/phpunit.xml | 21 + .../comparator/src/ArrayComparator.php | 130 + .../sebastian/comparator/src/Comparator.php | 61 + .../comparator/src/ComparisonFailure.php | 128 + .../comparator/src/DOMNodeComparator.php | 86 + .../comparator/src/DateTimeComparator.php | 86 + .../comparator/src/DoubleComparator.php | 56 + .../comparator/src/ExceptionComparator.php | 52 + .../sebastian/comparator/src/Factory.php | 138 + .../comparator/src/MockObjectComparator.php | 47 + .../comparator/src/NumericComparator.php | 68 + .../comparator/src/ObjectComparator.php | 106 + .../comparator/src/ResourceComparator.php | 52 + .../comparator/src/ScalarComparator.php | 91 + .../src/SplObjectStorageComparator.php | 69 + .../comparator/src/TypeComparator.php | 59 + .../comparator/tests/ArrayComparatorTest.php | 161 + .../tests/ComparisonFailureTest.php | 59 + .../tests/DOMNodeComparatorTest.php | 180 + .../tests/DateTimeComparatorTest.php | 213 + .../comparator/tests/DoubleComparatorTest.php | 135 + .../tests/ExceptionComparatorTest.php | 136 + .../comparator/tests/FactoryTest.php | 117 + .../tests/MockObjectComparatorTest.php | 168 + .../tests/NumericComparatorTest.php | 123 + .../comparator/tests/ObjectComparatorTest.php | 150 + .../tests/ResourceComparatorTest.php | 122 + .../comparator/tests/ScalarComparatorTest.php | 164 + .../tests/SplObjectStorageComparatorTest.php | 145 + .../comparator/tests/TypeComparatorTest.php | 107 + .../comparator/tests/_fixture/Author.php | 26 + .../comparator/tests/_fixture/Book.php | 19 + .../tests/_fixture/ClassWithToString.php | 18 + .../comparator/tests/_fixture/SampleClass.php | 29 + .../comparator/tests/_fixture/Struct.php | 23 + .../comparator/tests/_fixture/TestClass.php | 14 + .../tests/_fixture/TestClassComparator.php | 14 + app/vendor/sebastian/diff/.github/stale.yml | 40 + app/vendor/sebastian/diff/.gitignore | 6 + app/vendor/sebastian/diff/.php_cs.dist | 168 + app/vendor/sebastian/diff/.travis.yml | 26 + app/vendor/sebastian/diff/ChangeLog.md | 60 + app/vendor/sebastian/diff/LICENSE | 33 + app/vendor/sebastian/diff/README.md | 195 + app/vendor/sebastian/diff/build.xml | 22 + app/vendor/sebastian/diff/composer.json | 39 + app/vendor/sebastian/diff/phpunit.xml | 21 + app/vendor/sebastian/diff/src/Chunk.php | 90 + app/vendor/sebastian/diff/src/Diff.php | 67 + app/vendor/sebastian/diff/src/Differ.php | 330 ++ .../src/Exception/ConfigurationException.php | 40 + .../diff/src/Exception/Exception.php | 15 + .../Exception/InvalidArgumentException.php | 15 + app/vendor/sebastian/diff/src/Line.php | 44 + .../LongestCommonSubsequenceCalculator.php | 24 + ...ientLongestCommonSubsequenceCalculator.php | 81 + .../src/Output/AbstractChunkOutputBuilder.php | 56 + .../diff/src/Output/DiffOnlyOutputBuilder.php | 68 + .../src/Output/DiffOutputBuilderInterface.php | 20 + .../Output/StrictUnifiedDiffOutputBuilder.php | 318 ++ .../src/Output/UnifiedDiffOutputBuilder.php | 264 ++ app/vendor/sebastian/diff/src/Parser.php | 106 + ...ientLongestCommonSubsequenceCalculator.php | 66 + app/vendor/sebastian/diff/tests/ChunkTest.php | 73 + app/vendor/sebastian/diff/tests/DiffTest.php | 55 + .../sebastian/diff/tests/DifferTest.php | 444 ++ .../Exception/ConfigurationExceptionTest.php | 41 + .../InvalidArgumentExceptionTest.php | 33 + app/vendor/sebastian/diff/tests/LineTest.php | 44 + .../tests/LongestCommonSubsequenceTest.php | 201 + .../MemoryEfficientImplementationTest.php | 22 + .../Output/AbstractChunkOutputBuilderTest.php | 152 + .../Output/DiffOnlyOutputBuilderTest.php | 76 + ...nifiedDiffOutputBuilderIntegrationTest.php | 299 ++ ...nifiedDiffOutputBuilderIntegrationTest.php | 163 + ...ctUnifiedDiffOutputBuilderDataProvider.php | 189 + .../StrictUnifiedDiffOutputBuilderTest.php | 684 +++ .../UnifiedDiffOutputBuilderDataProvider.php | 396 ++ .../Output/UnifiedDiffOutputBuilderTest.php | 90 + .../sebastian/diff/tests/ParserTest.php | 170 + .../tests/TimeEfficientImplementationTest.php | 22 + .../sebastian/diff/tests/Utils/FileUtils.php | 31 + .../tests/Utils/UnifiedDiffAssertTrait.php | 277 ++ .../UnifiedDiffAssertTraitIntegrationTest.php | 129 + .../Utils/UnifiedDiffAssertTraitTest.php | 434 ++ .../diff/tests/fixtures/.editorconfig | 1 + .../1_a.txt | 1 + .../1_b.txt} | 0 .../2_a.txt | 35 + .../2_b.txt | 18 + .../diff/tests/fixtures/out/.editorconfig | 1 + .../diff/tests/fixtures/out/.gitignore | 2 + .../sebastian/diff/tests/fixtures/patch.txt | 9 + .../sebastian/diff/tests/fixtures/patch2.txt | 21 + .../diff/tests/fixtures/serialized_diff.bin | Bin 0 -> 4143 bytes .../sebastian/environment/.github/FUNDING.yml | 1 + app/vendor/sebastian/environment/.gitignore | 6 + app/vendor/sebastian/environment/.php_cs.dist | 199 + app/vendor/sebastian/environment/.travis.yml | 28 + app/vendor/sebastian/environment/ChangeLog.md | 127 + app/vendor/sebastian/environment/LICENSE | 33 + app/vendor/sebastian/environment/README.md | 17 + app/vendor/sebastian/environment/build.xml | 19 + .../sebastian/environment/composer.json | 37 + app/vendor/sebastian/environment/phpunit.xml | 20 + .../sebastian/environment/src/Console.php | 164 + .../environment/src/OperatingSystem.php | 48 + .../sebastian/environment/src/Runtime.php | 265 ++ .../environment/tests/ConsoleTest.php | 64 + .../environment/tests/OperatingSystemTest.php | 60 + .../environment/tests/RuntimeTest.php | 165 + .../sebastian/exporter/.github/FUNDING.yml | 1 + app/vendor/sebastian/exporter/.gitignore | 5 + app/vendor/sebastian/exporter/.php_cs.dist | 190 + app/vendor/sebastian/exporter/.travis.yml | 24 + app/vendor/sebastian/exporter/ChangeLog.md | 22 + app/vendor/sebastian/exporter/LICENSE | 33 + app/vendor/sebastian/exporter/README.md | 171 + app/vendor/sebastian/exporter/build.xml | 19 + app/vendor/sebastian/exporter/composer.json | 53 + app/vendor/sebastian/exporter/phpunit.xml | 19 + .../sebastian/exporter/src/Exporter.php | 303 ++ .../sebastian/exporter/tests/ExporterTest.php | 432 ++ .../sebastian/global-state/.github/stale.yml | 40 + app/vendor/sebastian/global-state/.gitignore | 6 + .../sebastian/global-state/.php_cs.dist | 197 + app/vendor/sebastian/global-state/.travis.yml | 24 + .../sebastian/global-state/ChangeLog.md | 23 + app/vendor/sebastian/global-state/LICENSE | 33 + app/vendor/sebastian/global-state/README.md | 16 + app/vendor/sebastian/global-state/build.xml | 19 + .../sebastian/global-state/composer.json | 48 + app/vendor/sebastian/global-state/phpunit.xml | 27 + .../sebastian/global-state/src/Blacklist.php | 118 + .../global-state/src/CodeExporter.php | 91 + .../sebastian/global-state/src/Restorer.php | 132 + .../sebastian/global-state/src/Snapshot.php | 419 ++ .../global-state/src/exceptions/Exception.php | 14 + .../src/exceptions/RuntimeException.php | 14 + .../global-state/tests/BlacklistTest.php | 117 + .../global-state/tests/CodeExporterTest.php | 35 + .../global-state/tests/RestorerTest.php | 68 + .../global-state/tests/SnapshotTest.php | 120 + .../tests/_fixture/BlacklistedChildClass.php | 14 + .../tests/_fixture/BlacklistedClass.php | 15 + .../tests/_fixture/BlacklistedImplementor.php | 15 + .../tests/_fixture/BlacklistedInterface.php | 14 + .../tests/_fixture/SnapshotClass.php | 35 + .../tests/_fixture/SnapshotDomDocument.php | 16 + .../tests/_fixture/SnapshotFunctions.php | 14 + .../tests/_fixture/SnapshotTrait.php | 14 + .../sebastian/object-enumerator/.gitignore | 8 + .../sebastian/object-enumerator/.php_cs | 67 + .../sebastian/object-enumerator/.travis.yml | 26 + .../sebastian/object-enumerator/ChangeLog.md | 60 + .../sebastian/object-enumerator/LICENSE | 33 + .../sebastian/object-enumerator/README.md | 14 + .../sebastian/object-enumerator/build.xml | 22 + .../sebastian/object-enumerator/composer.json | 35 + .../sebastian/object-enumerator/phpunit.xml | 20 + .../object-enumerator/src/Enumerator.php | 85 + .../object-enumerator/src/Exception.php | 15 + .../src/InvalidArgumentException.php | 15 + .../tests/EnumeratorTest.php | 139 + .../tests/_fixture/ExceptionThrower.php | 28 + .../sebastian/object-reflector/.gitignore | 4 + app/vendor/sebastian/object-reflector/.php_cs | 79 + .../sebastian/object-reflector/.travis.yml | 26 + .../sebastian/object-reflector/ChangeLog.md | 27 + app/vendor/sebastian/object-reflector/LICENSE | 33 + .../sebastian/object-reflector/README.md | 14 + .../sebastian/object-reflector/build.xml | 22 + .../sebastian/object-reflector/composer.json | 33 + .../sebastian/object-reflector/phpunit.xml | 19 + .../object-reflector/src/Exception.php | 17 + .../src/InvalidArgumentException.php | 17 + .../object-reflector/src/ObjectReflector.php | 51 + .../tests/ObjectReflectorTest.php | 70 + .../tests/_fixture/ChildClass.php | 25 + .../ClassWithIntegerAttributeName.php | 22 + .../tests/_fixture/ParentClass.php | 20 + .../sebastian/recursion-context/.gitignore | 3 + .../sebastian/recursion-context/.travis.yml | 23 + .../sebastian/recursion-context/LICENSE | 33 + .../sebastian/recursion-context/README.md | 14 + .../sebastian/recursion-context/build.xml | 21 + .../sebastian/recursion-context/composer.json | 36 + .../sebastian/recursion-context/phpunit.xml | 19 + .../recursion-context/src/Context.php | 167 + .../recursion-context/src/Exception.php | 17 + .../src/InvalidArgumentException.php | 17 + .../recursion-context/tests/ContextTest.php | 142 + .../resource-operations/.github/stale.yml | 40 + .../sebastian/resource-operations/.gitignore | 5 + .../resource-operations/.php_cs.dist | 191 + .../resource-operations/ChangeLog.md | 33 + .../sebastian/resource-operations/LICENSE | 33 + .../sebastian/resource-operations/README.md | 14 + .../sebastian/resource-operations/build.xml | 38 + .../resource-operations/build/generate.php | 65 + .../resource-operations/composer.json | 33 + .../src/ResourceOperations.php | 2232 +++++++++ .../tests/ResourceOperationsTest.php | 26 + app/vendor/sebastian/type/.gitattributes | 2 + app/vendor/sebastian/type/.github/FUNDING.yml | 1 + app/vendor/sebastian/type/.gitignore | 72 + .../inspectionProfiles/Project_Default.xml | 499 ++ app/vendor/sebastian/type/.idea/misc.xml | 6 + app/vendor/sebastian/type/.idea/modules.xml | 8 + .../.idea/php-inspections-ea-ultimate.xml | 20 + app/vendor/sebastian/type/.idea/php.xml | 42 + app/vendor/sebastian/type/.idea/type.iml | 40 + app/vendor/sebastian/type/.idea/vcs.xml | 6 + app/vendor/sebastian/type/.php_cs.dist | 200 + app/vendor/sebastian/type/.travis.yml | 53 + app/vendor/sebastian/type/ChangeLog.md | 45 + app/vendor/sebastian/type/LICENSE | 33 + app/vendor/sebastian/type/README.md | 17 + app/vendor/sebastian/type/build.xml | 31 + app/vendor/sebastian/type/composer.json | 49 + app/vendor/sebastian/type/phive.xml | 5 + app/vendor/sebastian/type/phpunit.xml | 23 + app/vendor/sebastian/type/psalm.xml | 53 + .../sebastian/type/src/CallableType.php | 182 + .../sebastian/type/src/GenericObjectType.php | 46 + .../sebastian/type/src/IterableType.php | 67 + app/vendor/sebastian/type/src/NullType.php | 28 + app/vendor/sebastian/type/src/ObjectType.php | 63 + app/vendor/sebastian/type/src/SimpleType.php | 86 + app/vendor/sebastian/type/src/Type.php | 75 + app/vendor/sebastian/type/src/TypeName.php | 77 + app/vendor/sebastian/type/src/UnknownType.php | 28 + app/vendor/sebastian/type/src/VoidType.php | 28 + .../type/src/exception/Exception.php | 14 + .../type/src/exception/RuntimeException.php | 14 + .../type/tests/_fixture/ChildClass.php | 14 + .../_fixture/ClassWithCallbackMethods.php | 21 + .../tests/_fixture/ClassWithInvokeMethod.php | 17 + .../type/tests/_fixture/Iterator.php | 33 + .../type/tests/_fixture/ParentClass.php | 17 + .../type/tests/_fixture/callback_function.php | 14 + .../type/tests/unit/CallableTypeTest.php | 150 + .../type/tests/unit/GenericObjectTypeTest.php | 86 + .../type/tests/unit/IterableTypeTest.php | 97 + .../type/tests/unit/NullTypeTest.php | 72 + .../type/tests/unit/ObjectTypeTest.php | 140 + .../type/tests/unit/SimpleTypeTest.php | 162 + .../type/tests/unit/TypeNameTest.php | 59 + .../sebastian/type/tests/unit/TypeTest.php | 85 + .../type/tests/unit/UnknownTypeTest.php | 58 + .../type/tests/unit/VoidTypeTest.php | 70 + app/vendor/sebastian/version/.gitattributes | 1 + app/vendor/sebastian/version/.gitignore | 1 + app/vendor/sebastian/version/.php_cs | 66 + app/vendor/sebastian/version/LICENSE | 33 + app/vendor/sebastian/version/README.md | 43 + app/vendor/sebastian/version/composer.json | 29 + app/vendor/sebastian/version/src/Version.php | 109 + .../symfony/config/Builder/ClassBuilder.php | 166 + .../config/Builder/ConfigBuilderGenerator.php | 420 ++ .../ConfigBuilderGeneratorInterface.php | 27 + .../config/Builder/ConfigBuilderInterface.php | 32 + app/vendor/symfony/config/Builder/Method.php | 34 + .../symfony/config/Builder/Property.php | 75 + app/vendor/symfony/config/CHANGELOG.md | 51 + app/vendor/symfony/config/ConfigCache.php | 4 +- .../symfony/config/ConfigCacheFactory.php | 10 +- .../config/ConfigCacheFactoryInterface.php | 2 +- .../symfony/config/ConfigCacheInterface.php | 2 +- .../symfony/config/Definition/ArrayNode.php | 127 +- .../symfony/config/Definition/BaseNode.php | 302 +- .../symfony/config/Definition/BooleanNode.php | 10 +- .../Builder/ArrayNodeDefinition.php | 83 +- .../Builder/BooleanNodeDefinition.php | 4 +- .../Builder/BuilderAwareInterface.php | 25 + .../Definition/Builder/EnumNodeDefinition.php | 2 +- .../config/Definition/Builder/ExprBuilder.php | 10 +- .../Builder/FloatNodeDefinition.php | 2 +- .../Builder/IntegerNodeDefinition.php | 2 +- .../Definition/Builder/MergeBuilder.php | 8 +- .../config/Definition/Builder/NodeBuilder.php | 41 +- .../Definition/Builder/NodeDefinition.php | 78 +- .../Builder/NormalizationBuilder.php | 6 +- .../Builder/NumericNodeDefinition.php | 4 +- .../Builder/ParentNodeDefinitionInterface.php | 8 +- .../Builder/ScalarNodeDefinition.php | 2 +- .../config/Definition/Builder/TreeBuilder.php | 36 +- .../Builder/VariableNodeDefinition.php | 7 +- .../Definition/Dumper/XmlReferenceDumper.php | 100 +- .../Definition/Dumper/YamlReferenceDumper.php | 41 +- .../symfony/config/Definition/EnumNode.php | 15 +- .../InvalidConfigurationException.php | 6 +- .../symfony/config/Definition/FloatNode.php | 10 +- .../symfony/config/Definition/IntegerNode.php | 10 +- .../symfony/config/Definition/NumericNode.php | 8 +- .../symfony/config/Definition/Processor.php | 20 +- .../Definition/PrototypeNodeInterface.php | 4 +- .../config/Definition/PrototypedArrayNode.php | 65 +- .../symfony/config/Definition/ScalarNode.php | 16 +- .../config/Definition/VariableNode.php | 20 +- .../DependencyInjection/ConfigCachePass.php | 52 - ...LoaderImportCircularReferenceException.php | 10 +- .../Exception/FileLoaderLoadException.php | 109 - .../FileLocatorFileNotFoundException.php | 2 +- .../config/Exception/LoaderLoadException.php | 115 + app/vendor/symfony/config/FileLocator.php | 12 +- .../symfony/config/FileLocatorInterface.php | 2 +- app/vendor/symfony/config/LICENSE | 2 +- .../config/Loader/DelegatingLoader.php | 8 +- .../symfony/config/Loader/FileLoader.php | 54 +- .../symfony/config/Loader/GlobFileLoader.php | 4 +- app/vendor/symfony/config/Loader/Loader.php | 16 +- .../symfony/config/Loader/LoaderInterface.php | 12 +- .../symfony/config/Loader/LoaderResolver.php | 2 +- .../config/Loader/LoaderResolverInterface.php | 2 +- .../config/Loader/ParamConfigurator.php | 32 + app/vendor/symfony/config/README.md | 16 +- .../Resource/ClassExistenceResource.php | 31 +- .../config/Resource/ComposerResource.php | 35 +- .../config/Resource/DirectoryResource.php | 37 +- .../config/Resource/FileExistenceResource.php | 33 +- .../symfony/config/Resource/FileResource.php | 31 +- .../symfony/config/Resource/GlobResource.php | 148 +- .../Resource/ReflectionClassResource.php | 201 +- .../config/Resource/ResourceInterface.php | 2 - .../Resource/SelfCheckingResourceChecker.php | 2 +- .../SelfCheckingResourceInterface.php | 2 +- .../config/ResourceCheckerConfigCache.php | 35 +- .../ResourceCheckerConfigCacheFactory.php | 10 +- .../config/ResourceCheckerInterface.php | 7 +- .../config/Tests/ConfigCacheFactoryTest.php | 27 - .../symfony/config/Tests/ConfigCacheTest.php | 99 - .../config/Tests/Definition/ArrayNodeTest.php | 237 - .../Tests/Definition/BooleanNodeTest.php | 74 - .../Builder/ArrayNodeDefinitionTest.php | 362 -- .../Builder/BooleanNodeDefinitionTest.php | 37 - .../Builder/EnumNodeDefinitionTest.php | 73 - .../Definition/Builder/ExprBuilderTest.php | 264 -- .../Definition/Builder/NodeBuilderTest.php | 91 - .../Builder/NumericNodeDefinitionTest.php | 89 - .../Definition/Builder/TreeBuilderTest.php | 134 - .../Dumper/XmlReferenceDumperTest.php | 114 - .../Dumper/YamlReferenceDumperTest.php | 143 - .../config/Tests/Definition/EnumNodeTest.php | 51 - .../Tests/Definition/FinalizationTest.php | 74 - .../config/Tests/Definition/FloatNodeTest.php | 78 - .../Tests/Definition/IntegerNodeTest.php | 75 - .../config/Tests/Definition/MergeTest.php | 192 - .../Tests/Definition/NormalizationTest.php | 228 - .../Definition/PrototypedArrayNodeTest.php | 341 -- .../Tests/Definition/ScalarNodeTest.php | 161 - .../ConfigCachePassTest.php | 59 - .../Exception/FileLoaderLoadExceptionTest.php | 98 - .../symfony/config/Tests/FileLocatorTest.php | 114 - .../config/Tests/Fixtures/BadFileName.php | 9 - .../config/Tests/Fixtures/BadParent.php | 7 - .../symfony/config/Tests/Fixtures/BarNode.php | 18 - .../Fixtures/Builder/BarNodeDefinition.php | 23 - .../Tests/Fixtures/Builder/NodeBuilder.php | 34 - .../Builder/VariableNodeDefinition.php | 18 - .../Configuration/ExampleConfiguration.php | 102 - .../config/Tests/Fixtures/ParseError.php | 7 - .../Fixtures/Resource/ConditionalClass.php | 9 - .../Tests/Fixtures/Util/document_type.xml | 3 - .../config/Tests/Fixtures/Util/invalid.xml | 2 - .../Tests/Fixtures/Util/invalid_schema.xml | 2 - .../config/Tests/Fixtures/Util/schema.xsd | 9 - .../config/Tests/Fixtures/Util/valid.xml | 3 - .../Tests/Loader/DelegatingLoaderTest.php | 69 - .../config/Tests/Loader/FileLoaderTest.php | 128 - .../Tests/Loader/LoaderResolverTest.php | 47 - .../config/Tests/Loader/LoaderTest.php | 116 - .../Resource/ClassExistenceResourceTest.php | 130 - .../Tests/Resource/ComposerResourceTest.php | 47 - .../Tests/Resource/DirectoryResourceTest.php | 181 - .../Resource/FileExistenceResourceTest.php | 71 - .../Tests/Resource/FileResourceTest.php | 81 - .../Tests/Resource/GlobResourceTest.php | 114 - .../Resource/ReflectionClassResourceTest.php | 223 - .../config/Tests/Resource/ResourceStub.php | 34 - .../Tests/ResourceCheckerConfigCacheTest.php | 150 - .../config/Tests/Util/XmlUtilsTest.php | 240 - app/vendor/symfony/config/Util/XmlUtils.php | 12 +- app/vendor/symfony/config/composer.json | 23 +- app/vendor/symfony/config/phpunit.xml.dist | 31 - app/vendor/symfony/console/.gitignore | 3 - app/vendor/symfony/console/Application.php | 451 +- .../symfony/console/Attribute/AsCommand.php | 39 + app/vendor/symfony/console/CHANGELOG.md | 124 +- .../console/CI/GithubActionReporter.php | 99 + app/vendor/symfony/console/Color.php | 180 + .../symfony/console/Command/Command.php | 196 +- .../symfony/console/Command/HelpCommand.php | 8 +- .../symfony/console/Command/LazyCommand.php | 211 + .../symfony/console/Command/ListCommand.php | 39 +- .../symfony/console/Command/LockableTrait.php | 13 +- .../Command/SignalableCommandInterface.php | 30 + .../CommandLoader/CommandLoaderInterface.php | 8 +- .../CommandLoader/ContainerCommandLoader.php | 7 +- .../CommandLoader/FactoryCommandLoader.php | 4 +- app/vendor/symfony/console/ConsoleEvents.php | 44 +- app/vendor/symfony/console/Cursor.php | 168 + .../AddConsoleCommandPass.php | 72 +- .../Descriptor/ApplicationDescription.php | 28 +- .../symfony/console/Descriptor/Descriptor.php | 19 +- .../Descriptor/DescriptorInterface.php | 7 +- .../console/Descriptor/JsonDescriptor.php | 71 +- .../console/Descriptor/MarkdownDescriptor.php | 48 +- .../console/Descriptor/TextDescriptor.php | 69 +- .../console/Descriptor/XmlDescriptor.php | 73 +- .../console/Event/ConsoleCommandEvent.php | 19 +- .../console/Event/ConsoleErrorEvent.php | 41 +- .../symfony/console/Event/ConsoleEvent.php | 4 +- .../console/Event/ConsoleExceptionEvent.php | 71 - .../console/Event/ConsoleSignalEvent.php | 35 + .../console/Event/ConsoleTerminateEvent.php | 25 +- .../console/EventListener/ErrorListener.php | 6 +- .../Exception/CommandNotFoundException.php | 12 +- .../console/Exception/ExceptionInterface.php | 2 +- .../Exception/MissingInputException.php | 21 + .../Exception/NamespaceNotFoundException.php | 21 + .../console/Formatter/NullOutputFormatter.php | 72 + .../Formatter/NullOutputFormatterStyle.php | 65 + .../console/Formatter/OutputFormatter.php | 136 +- .../Formatter/OutputFormatterInterface.php | 23 +- .../Formatter/OutputFormatterStyle.php | 135 +- .../OutputFormatterStyleInterface.php | 20 +- .../Formatter/OutputFormatterStyleStack.php | 5 +- .../WrappableOutputFormatterInterface.php | 25 + .../console/Helper/DebugFormatterHelper.php | 28 +- .../console/Helper/DescriptorHelper.php | 8 +- app/vendor/symfony/console/Helper/Dumper.php | 64 + .../console/Helper/FormatterHelper.php | 24 +- app/vendor/symfony/console/Helper/Helper.php | 66 +- .../symfony/console/Helper/HelperSet.php | 19 +- .../symfony/console/Helper/ProcessHelper.php | 55 +- .../symfony/console/Helper/ProgressBar.php | 377 +- .../console/Helper/ProgressIndicator.php | 58 +- .../symfony/console/Helper/QuestionHelper.php | 385 +- .../console/Helper/SymfonyQuestionHelper.php | 43 +- app/vendor/symfony/console/Helper/Table.php | 443 +- .../symfony/console/Helper/TableCell.php | 19 +- .../symfony/console/Helper/TableCellStyle.php | 86 + .../symfony/console/Helper/TableRows.php | 32 + .../symfony/console/Helper/TableStyle.php | 206 +- .../symfony/console/Input/ArgvInput.php | 83 +- .../symfony/console/Input/ArrayInput.php | 36 +- app/vendor/symfony/console/Input/Input.php | 38 +- .../symfony/console/Input/InputArgument.php | 22 +- .../symfony/console/Input/InputDefinition.php | 118 +- .../symfony/console/Input/InputInterface.php | 48 +- .../symfony/console/Input/InputOption.php | 63 +- .../symfony/console/Input/StringInput.php | 24 +- app/vendor/symfony/console/LICENSE | 2 +- .../symfony/console/Logger/ConsoleLogger.php | 14 +- .../symfony/console/Output/BufferedOutput.php | 2 +- .../symfony/console/Output/ConsoleOutput.php | 26 +- .../console/Output/ConsoleOutputInterface.php | 4 +- .../console/Output/ConsoleSectionOutput.php | 143 + .../symfony/console/Output/NullOutput.php | 17 +- app/vendor/symfony/console/Output/Output.php | 25 +- .../console/Output/OutputInterface.php | 38 +- .../symfony/console/Output/StreamOutput.php | 21 +- .../console/Output/TrimmedBufferOutput.php | 62 + .../console/Question/ChoiceQuestion.php | 34 +- .../console/Question/ConfirmationQuestion.php | 8 +- .../symfony/console/Question/Question.php | 109 +- app/vendor/symfony/console/README.md | 10 +- .../console/SignalRegistry/SignalRegistry.php | 65 + .../console/SingleCommandApplication.php | 67 + .../symfony/console/Style/OutputStyle.php | 14 +- .../symfony/console/Style/StyleInterface.php | 39 +- .../symfony/console/Style/SymfonyStyle.php | 174 +- app/vendor/symfony/console/Terminal.php | 15 +- .../console/Tester/ApplicationTester.php | 123 +- .../symfony/console/Tester/CommandTester.php | 104 +- .../symfony/console/Tester/TesterTrait.php | 186 + .../symfony/console/Tests/ApplicationTest.php | 1786 ------- .../console/Tests/Command/CommandTest.php | 430 -- .../console/Tests/Command/HelpCommandTest.php | 71 - .../console/Tests/Command/ListCommandTest.php | 113 - .../Tests/Command/LockableTraitTest.php | 67 - .../ContainerCommandLoaderTest.php | 59 - .../FactoryCommandLoaderTest.php | 58 - .../AddConsoleCommandPassTest.php | 256 - .../Descriptor/AbstractDescriptorTest.php | 107 - .../Descriptor/ApplicationDescriptionTest.php | 53 - .../Tests/Descriptor/JsonDescriptorTest.php | 35 - .../Descriptor/MarkdownDescriptorTest.php | 45 - .../Tests/Descriptor/ObjectsProvider.php | 82 - .../Tests/Descriptor/TextDescriptorTest.php | 53 - .../Tests/Descriptor/XmlDescriptorTest.php | 27 - .../Tests/EventListener/ErrorListenerTest.php | 156 - .../console/Tests/Fixtures/BarBucCommand.php | 11 - .../Tests/Fixtures/DescriptorApplication1.php | 18 - .../Tests/Fixtures/DescriptorApplication2.php | 26 - .../DescriptorApplicationMbString.php | 24 - .../Tests/Fixtures/DescriptorCommand1.php | 27 - .../Tests/Fixtures/DescriptorCommand2.php | 32 - .../Tests/Fixtures/DescriptorCommand3.php | 27 - .../Tests/Fixtures/DescriptorCommand4.php | 25 - .../Fixtures/DescriptorCommandMbString.php | 32 - .../console/Tests/Fixtures/DummyOutput.php | 36 - .../console/Tests/Fixtures/Foo1Command.php | 26 - .../console/Tests/Fixtures/Foo2Command.php | 21 - .../console/Tests/Fixtures/Foo3Command.php | 29 - .../console/Tests/Fixtures/Foo4Command.php | 11 - .../console/Tests/Fixtures/Foo5Command.php | 10 - .../console/Tests/Fixtures/Foo6Command.php | 11 - .../console/Tests/Fixtures/FooCommand.php | 33 - .../Tests/Fixtures/FooHiddenCommand.php | 21 - .../Tests/Fixtures/FooLock2Command.php | 28 - .../console/Tests/Fixtures/FooLockCommand.php | 27 - .../console/Tests/Fixtures/FooOptCommand.php | 36 - .../Fixtures/FooSameCaseLowercaseCommand.php | 11 - .../Fixtures/FooSameCaseUppercaseCommand.php | 11 - .../Fixtures/FooSubnamespaced1Command.php | 26 - .../Fixtures/FooSubnamespaced2Command.php | 26 - .../console/Tests/Fixtures/FoobarCommand.php | 25 - .../Style/SymfonyStyle/command/command_0.php | 11 - .../Style/SymfonyStyle/command/command_1.php | 13 - .../Style/SymfonyStyle/command/command_10.php | 17 - .../Style/SymfonyStyle/command/command_11.php | 12 - .../Style/SymfonyStyle/command/command_12.php | 13 - .../Style/SymfonyStyle/command/command_13.php | 14 - .../Style/SymfonyStyle/command/command_14.php | 17 - .../Style/SymfonyStyle/command/command_15.php | 14 - .../Style/SymfonyStyle/command/command_16.php | 15 - .../Style/SymfonyStyle/command/command_17.php | 13 - .../Style/SymfonyStyle/command/command_2.php | 16 - .../Style/SymfonyStyle/command/command_3.php | 12 - .../Style/SymfonyStyle/command/command_4.php | 34 - .../Style/SymfonyStyle/command/command_5.php | 37 - .../Style/SymfonyStyle/command/command_6.php | 16 - .../Style/SymfonyStyle/command/command_7.php | 15 - .../Style/SymfonyStyle/command/command_8.php | 26 - .../Style/SymfonyStyle/command/command_9.php | 11 - .../command/interactive_command_1.php | 19 - .../output/interactive_output_1.txt | 7 - .../Style/SymfonyStyle/output/output_0.txt | 3 - .../Style/SymfonyStyle/output/output_1.txt | 9 - .../Style/SymfonyStyle/output/output_10.txt | 7 - .../Style/SymfonyStyle/output/output_11.txt | 4 - .../Style/SymfonyStyle/output/output_12.txt | 6 - .../Style/SymfonyStyle/output/output_13.txt | 7 - .../Style/SymfonyStyle/output/output_14.txt | 6 - .../Style/SymfonyStyle/output/output_15.txt | 7 - .../Style/SymfonyStyle/output/output_16.txt | 8 - .../Style/SymfonyStyle/output/output_17.txt | 7 - .../Style/SymfonyStyle/output/output_2.txt | 13 - .../Style/SymfonyStyle/output/output_3.txt | 7 - .../Style/SymfonyStyle/output/output_4.txt | 32 - .../Style/SymfonyStyle/output/output_5.txt | 18 - .../Style/SymfonyStyle/output/output_6.txt | 6 - .../Style/SymfonyStyle/output/output_7.txt | 5 - .../Style/SymfonyStyle/output/output_8.txt | 9 - .../Style/SymfonyStyle/output/output_9.txt | 5 - .../TestAmbiguousCommandRegistering.php | 22 - .../TestAmbiguousCommandRegistering2.php | 21 - .../console/Tests/Fixtures/TestCommand.php | 28 - .../console/Tests/Fixtures/application_1.json | 156 - .../console/Tests/Fixtures/application_1.md | 172 - .../console/Tests/Fixtures/application_1.txt | 17 - .../console/Tests/Fixtures/application_1.xml | 104 - .../console/Tests/Fixtures/application_2.json | 509 -- .../console/Tests/Fixtures/application_2.md | 431 -- .../console/Tests/Fixtures/application_2.txt | 21 - .../console/Tests/Fixtures/application_2.xml | 254 - .../application_filtered_namespace.txt | 16 - .../Tests/Fixtures/application_gethelp.txt | 1 - .../Tests/Fixtures/application_mbstring.md | 269 -- .../Tests/Fixtures/application_mbstring.txt | 19 - .../Fixtures/application_renderexception1.txt | 5 - .../Fixtures/application_renderexception2.txt | 7 - .../Fixtures/application_renderexception3.txt | 18 - .../application_renderexception3decorated.txt | 18 - .../Fixtures/application_renderexception4.txt | 6 - ...plication_renderexception_doublewidth1.txt | 8 - ..._renderexception_doublewidth1decorated.txt | 8 - ...plication_renderexception_doublewidth2.txt | 9 - ...plication_renderexception_escapeslines.txt | 9 - ...application_renderexception_linebreaks.txt | 11 - .../Tests/Fixtures/application_run1.txt | 17 - .../Tests/Fixtures/application_run2.txt | 26 - .../Tests/Fixtures/application_run3.txt | 26 - .../Tests/Fixtures/application_run4.txt | 1 - .../console/Tests/Fixtures/command_1.json | 15 - .../console/Tests/Fixtures/command_1.md | 12 - .../console/Tests/Fixtures/command_1.txt | 7 - .../console/Tests/Fixtures/command_1.xml | 12 - .../console/Tests/Fixtures/command_2.json | 33 - .../console/Tests/Fixtures/command_2.md | 29 - .../console/Tests/Fixtures/command_2.txt | 13 - .../console/Tests/Fixtures/command_2.xml | 21 - .../Tests/Fixtures/command_mbstring.md | 29 - .../Tests/Fixtures/command_mbstring.txt | 13 - .../Tests/Fixtures/input_argument_1.json | 7 - .../Tests/Fixtures/input_argument_1.md | 5 - .../Tests/Fixtures/input_argument_1.txt | 1 - .../Tests/Fixtures/input_argument_1.xml | 5 - .../Tests/Fixtures/input_argument_2.json | 7 - .../Tests/Fixtures/input_argument_2.md | 7 - .../Tests/Fixtures/input_argument_2.txt | 1 - .../Tests/Fixtures/input_argument_2.xml | 5 - .../Tests/Fixtures/input_argument_3.json | 7 - .../Tests/Fixtures/input_argument_3.md | 7 - .../Tests/Fixtures/input_argument_3.txt | 1 - .../Tests/Fixtures/input_argument_3.xml | 7 - .../Tests/Fixtures/input_argument_4.json | 7 - .../Tests/Fixtures/input_argument_4.md | 8 - .../Tests/Fixtures/input_argument_4.txt | 2 - .../Tests/Fixtures/input_argument_4.xml | 6 - ...input_argument_with_default_inf_value.json | 7 - .../input_argument_with_default_inf_value.md | 7 - .../input_argument_with_default_inf_value.txt | 1 - .../input_argument_with_default_inf_value.xml | 7 - .../Fixtures/input_argument_with_style.json | 7 - .../Fixtures/input_argument_with_style.md | 7 - .../Fixtures/input_argument_with_style.txt | 1 - .../Fixtures/input_argument_with_style.xml | 7 - .../Tests/Fixtures/input_definition_1.json | 4 - .../Tests/Fixtures/input_definition_1.md | 0 .../Tests/Fixtures/input_definition_1.txt | 0 .../Tests/Fixtures/input_definition_1.xml | 5 - .../Tests/Fixtures/input_definition_2.json | 12 - .../Tests/Fixtures/input_definition_2.md | 7 - .../Tests/Fixtures/input_definition_2.txt | 2 - .../Tests/Fixtures/input_definition_2.xml | 10 - .../Tests/Fixtures/input_definition_3.json | 14 - .../Tests/Fixtures/input_definition_3.md | 8 - .../Tests/Fixtures/input_definition_3.txt | 2 - .../Tests/Fixtures/input_definition_3.xml | 9 - .../Tests/Fixtures/input_definition_4.json | 22 - .../Tests/Fixtures/input_definition_4.md | 16 - .../Tests/Fixtures/input_definition_4.txt | 5 - .../Tests/Fixtures/input_definition_4.xml | 14 - .../Tests/Fixtures/input_option_1.json | 9 - .../console/Tests/Fixtures/input_option_1.md | 6 - .../console/Tests/Fixtures/input_option_1.txt | 1 - .../console/Tests/Fixtures/input_option_1.xml | 4 - .../Tests/Fixtures/input_option_2.json | 9 - .../console/Tests/Fixtures/input_option_2.md | 8 - .../console/Tests/Fixtures/input_option_2.txt | 1 - .../console/Tests/Fixtures/input_option_2.xml | 7 - .../Tests/Fixtures/input_option_3.json | 9 - .../console/Tests/Fixtures/input_option_3.md | 8 - .../console/Tests/Fixtures/input_option_3.txt | 1 - .../console/Tests/Fixtures/input_option_3.xml | 5 - .../Tests/Fixtures/input_option_4.json | 9 - .../console/Tests/Fixtures/input_option_4.md | 8 - .../console/Tests/Fixtures/input_option_4.txt | 1 - .../console/Tests/Fixtures/input_option_4.xml | 5 - .../Tests/Fixtures/input_option_5.json | 9 - .../console/Tests/Fixtures/input_option_5.md | 9 - .../console/Tests/Fixtures/input_option_5.txt | 2 - .../console/Tests/Fixtures/input_option_5.xml | 6 - .../Tests/Fixtures/input_option_6.json | 9 - .../console/Tests/Fixtures/input_option_6.md | 8 - .../console/Tests/Fixtures/input_option_6.txt | 1 - .../console/Tests/Fixtures/input_option_6.xml | 5 - .../input_option_with_default_inf_value.json | 9 - .../input_option_with_default_inf_value.md | 8 - .../input_option_with_default_inf_value.txt | 1 - .../input_option_with_default_inf_value.xml | 7 - .../Fixtures/input_option_with_style.json | 9 - .../Tests/Fixtures/input_option_with_style.md | 8 - .../Fixtures/input_option_with_style.txt | 1 - .../Fixtures/input_option_with_style.xml | 7 - .../input_option_with_style_array.json | 12 - .../Fixtures/input_option_with_style_array.md | 8 - .../input_option_with_style_array.txt | 1 - .../input_option_with_style_array.xml | 8 - .../Tests/Fixtures/stream_output_file.txt | 0 .../OutputFormatterStyleStackTest.php | 69 - .../Formatter/OutputFormatterStyleTest.php | 100 - .../Tests/Formatter/OutputFormatterTest.php | 344 -- .../Helper/AbstractQuestionHelperTest.php | 34 - .../Tests/Helper/FormatterHelperTest.php | 129 - .../console/Tests/Helper/HelperSetTest.php | 127 - .../console/Tests/Helper/HelperTest.php | 55 - .../Tests/Helper/ProcessHelperTest.php | 118 - .../console/Tests/Helper/ProgressBarTest.php | 805 ---- .../Tests/Helper/ProgressIndicatorTest.php | 175 - .../Tests/Helper/QuestionHelperTest.php | 1115 ----- .../Helper/SymfonyQuestionHelperTest.php | 214 - .../console/Tests/Helper/TableStyleTest.php | 26 - .../console/Tests/Helper/TableTest.php | 868 ---- .../console/Tests/Input/ArgvInputTest.php | 462 -- .../console/Tests/Input/ArrayInputTest.php | 173 - .../console/Tests/Input/InputArgumentTest.php | 109 - .../Tests/Input/InputDefinitionTest.php | 389 -- .../console/Tests/Input/InputOptionTest.php | 194 - .../symfony/console/Tests/Input/InputTest.php | 137 - .../console/Tests/Input/StringInputTest.php | 87 - .../Tests/Logger/ConsoleLoggerTest.php | 213 - .../Tests/Output/ConsoleOutputTest.php | 42 - .../console/Tests/Output/NullOutputTest.php | 88 - .../console/Tests/Output/OutputTest.php | 176 - .../console/Tests/Output/StreamOutputTest.php | 67 - .../Tests/Question/ChoiceQuestionTest.php | 64 - .../Question/ConfirmationQuestionTest.php | 62 - .../console/Tests/Style/SymfonyStyleTest.php | 118 - .../symfony/console/Tests/TerminalTest.php | 97 - .../Tests/Tester/ApplicationTesterTest.php | 70 - .../Tests/Tester/CommandTesterTest.php | 212 - app/vendor/symfony/console/composer.json | 35 +- app/vendor/symfony/console/phpunit.xml.dist | 41 - app/vendor/symfony/debug/BufferingLogger.php | 44 - app/vendor/symfony/debug/CHANGELOG.md | 83 - app/vendor/symfony/debug/Debug.php | 64 - app/vendor/symfony/debug/DebugClassLoader.php | 538 --- app/vendor/symfony/debug/ErrorHandler.php | 709 --- .../Exception/ClassNotFoundException.php | 40 - .../debug/Exception/FatalErrorException.php | 80 - .../debug/Exception/FatalThrowableError.php | 55 - .../debug/Exception/FlattenException.php | 367 -- .../debug/Exception/OutOfMemoryException.php | 25 - .../debug/Exception/SilencedErrorContext.php | 71 - .../Exception/UndefinedFunctionException.php | 40 - .../Exception/UndefinedMethodException.php | 40 - app/vendor/symfony/debug/ExceptionHandler.php | 470 -- .../ClassNotFoundFatalErrorHandler.php | 183 - .../FatalErrorHandlerInterface.php | 35 - .../UndefinedFunctionFatalErrorHandler.php | 88 - .../UndefinedMethodFatalErrorHandler.php | 70 - app/vendor/symfony/debug/LICENSE | 19 - app/vendor/symfony/debug/README.md | 30 - app/vendor/symfony/debug/composer.json | 35 - .../.gitignore | 0 .../deprecation-contracts/CHANGELOG.md | 5 + .../symfony/deprecation-contracts/LICENSE | 19 + .../symfony/deprecation-contracts/README.md | 26 + .../deprecation-contracts/composer.json | 35 + .../deprecation-contracts/function.php | 27 + app/vendor/symfony/filesystem/CHANGELOG.md | 6 + app/vendor/symfony/filesystem/Filesystem.php | 206 +- app/vendor/symfony/filesystem/composer.json | 2 +- .../polyfill-intl-grapheme/Grapheme.php | 247 + .../LICENSE | 0 .../symfony/polyfill-intl-grapheme/README.md | 31 + .../polyfill-intl-grapheme/bootstrap.php | 58 + .../polyfill-intl-grapheme/bootstrap80.php | 50 + .../polyfill-intl-grapheme/composer.json | 38 + .../symfony/polyfill-intl-normalizer/LICENSE | 19 + .../polyfill-intl-normalizer/Normalizer.php | 310 ++ .../polyfill-intl-normalizer/README.md | 14 + .../Resources/stubs/Normalizer.php | 17 + .../unidata/canonicalComposition.php | 945 ++++ .../unidata/canonicalDecomposition.php | 2065 ++++++++ .../Resources/unidata/combiningClass.php | 876 ++++ .../unidata/compatibilityDecomposition.php | 3695 +++++++++++++++ .../polyfill-intl-normalizer/bootstrap.php | 23 + .../polyfill-intl-normalizer/bootstrap80.php | 19 + .../polyfill-intl-normalizer/composer.json | 39 + app/vendor/symfony/polyfill-php72/Php72.php | 217 - app/vendor/symfony/polyfill-php72/README.md | 28 - .../symfony/polyfill-php72/bootstrap.php | 57 - .../symfony/polyfill-php72/composer.json | 35 - app/vendor/symfony/polyfill-php73/LICENSE | 19 + app/vendor/symfony/polyfill-php73/Php73.php | 43 + app/vendor/symfony/polyfill-php73/README.md | 18 + .../Resources/stubs/JsonException.php | 14 + .../symfony/polyfill-php73/bootstrap.php | 31 + .../symfony/polyfill-php73/composer.json | 36 + app/vendor/symfony/polyfill-php81/LICENSE | 19 + app/vendor/symfony/polyfill-php81/Php81.php | 37 + app/vendor/symfony/polyfill-php81/README.md | 16 + .../Resources/stubs/ReturnTypeWillChange.php | 9 + .../symfony/polyfill-php81/bootstrap.php | 28 + .../symfony/polyfill-php81/composer.json | 36 + app/vendor/symfony/service-contracts/LICENSE | 19 + .../symfony/service-contracts/README.md | 9 + .../service-contracts/ResetInterface.php | 30 + .../service-contracts/ServiceLocatorTrait.php | 120 + .../ServiceProviderInterface.php | 36 + .../ServiceSubscriberInterface.php | 53 + .../ServiceSubscriberTrait.php | 61 + .../Test/ServiceLocatorTest.php | 94 + .../symfony/service-contracts/composer.json | 34 + app/vendor/symfony/string/AbstractString.php | 727 +++ .../symfony/string/AbstractUnicodeString.php | 580 +++ app/vendor/symfony/string/ByteString.php | 506 ++ app/vendor/symfony/string/CHANGELOG.md | 30 + app/vendor/symfony/string/CodePointString.php | 270 ++ .../string/Exception/ExceptionInterface.php | 16 + .../Exception/InvalidArgumentException.php | 16 + .../string/Exception/RuntimeException.php | 16 + .../string/Inflector/EnglishInflector.php | 508 ++ .../string/Inflector/FrenchInflector.php | 157 + .../string/Inflector/InflectorInterface.php | 33 + app/vendor/symfony/string/LICENSE | 19 + app/vendor/symfony/string/LazyString.php | 164 + app/vendor/symfony/string/README.md | 14 + .../Resources/data/wcswidth_table_wide.php | 1119 +++++ .../Resources/data/wcswidth_table_zero.php | 1339 ++++++ .../symfony/string/Resources/functions.php | 38 + .../symfony/string/Slugger/AsciiSlugger.php | 183 + .../string/Slugger/SluggerInterface.php | 27 + app/vendor/symfony/string/UnicodeString.php | 377 ++ app/vendor/symfony/string/composer.json | 40 + app/vendor/symfony/var-dumper/CHANGELOG.md | 12 + .../symfony/var-dumper/Caster/AmqpCaster.php | 12 +- .../symfony/var-dumper/Caster/Caster.php | 7 +- .../symfony/var-dumper/Caster/DOMCaster.php | 38 +- .../symfony/var-dumper/Caster/DateCaster.php | 30 +- .../var-dumper/Caster/DoctrineCaster.php | 8 +- .../symfony/var-dumper/Caster/DsCaster.php | 2 +- .../var-dumper/Caster/ExceptionCaster.php | 20 +- .../symfony/var-dumper/Caster/GmpCaster.php | 4 +- .../symfony/var-dumper/Caster/ImgStub.php | 2 +- .../symfony/var-dumper/Caster/IntlCaster.php | 14 +- .../symfony/var-dumper/Caster/LinkStub.php | 6 +- .../var-dumper/Caster/MemcachedCaster.php | 4 +- .../symfony/var-dumper/Caster/PdoCaster.php | 6 +- .../symfony/var-dumper/Caster/PgSqlCaster.php | 8 +- .../var-dumper/Caster/ProxyManagerCaster.php | 4 +- .../var-dumper/Caster/RdKafkaCaster.php | 186 + .../symfony/var-dumper/Caster/RedisCaster.php | 8 +- .../var-dumper/Caster/ReflectionCaster.php | 67 +- .../var-dumper/Caster/ResourceCaster.php | 18 +- .../symfony/var-dumper/Caster/SplCaster.php | 20 +- .../symfony/var-dumper/Caster/StubCaster.php | 10 +- .../var-dumper/Caster/SymfonyCaster.php | 8 +- .../var-dumper/Caster/XmlReaderCaster.php | 4 +- .../var-dumper/Caster/XmlResourceCaster.php | 4 +- .../var-dumper/Cloner/AbstractCloner.php | 39 +- app/vendor/symfony/var-dumper/Cloner/Data.php | 16 +- .../var-dumper/Cloner/DumperInterface.php | 8 +- .../symfony/var-dumper/Cloner/VarCloner.php | 19 - .../var-dumper/Command/ServerDumpCommand.php | 3 +- .../var-dumper/Dumper/AbstractDumper.php | 18 +- .../symfony/var-dumper/Dumper/CliDumper.php | 44 +- .../symfony/var-dumper/Dumper/HtmlDumper.php | 50 +- .../symfony/var-dumper/Server/DumpServer.php | 4 + .../var-dumper/Test/VarDumperTestTrait.php | 9 +- app/vendor/symfony/var-dumper/VarDumper.php | 71 +- app/vendor/symfony/var-dumper/composer.json | 11 +- app/vendor/symfony/yaml/.gitignore | 3 - app/vendor/symfony/yaml/CHANGELOG.md | 149 - .../symfony/yaml/Command/LintCommand.php | 253 - app/vendor/symfony/yaml/Dumper.php | 160 - app/vendor/symfony/yaml/Escaper.php | 103 - .../symfony/yaml/Exception/DumpException.php | 21 - .../yaml/Exception/ExceptionInterface.php | 21 - .../symfony/yaml/Exception/ParseException.php | 139 - .../yaml/Exception/RuntimeException.php | 21 - app/vendor/symfony/yaml/Inline.php | 927 ---- app/vendor/symfony/yaml/LICENSE | 19 - app/vendor/symfony/yaml/Parser.php | 1156 ----- app/vendor/symfony/yaml/README.md | 13 - app/vendor/symfony/yaml/Tag/TaggedValue.php | 48 - .../yaml/Tests/Command/LintCommandTest.php | 137 - app/vendor/symfony/yaml/Tests/DumperTest.php | 655 --- .../yaml/Tests/Fixtures/YtsAnchorAlias.yml | 31 - .../yaml/Tests/Fixtures/YtsBasicTests.yml | 202 - .../yaml/Tests/Fixtures/YtsBlockMapping.yml | 51 - .../Tests/Fixtures/YtsDocumentSeparator.yml | 85 - .../yaml/Tests/Fixtures/YtsErrorTests.yml | 25 - .../Tests/Fixtures/YtsFlowCollections.yml | 60 - .../yaml/Tests/Fixtures/YtsFoldedScalars.yml | 176 - .../Tests/Fixtures/YtsNullsAndEmpties.yml | 45 - .../Fixtures/YtsSpecificationExamples.yml | 1701 ------- .../yaml/Tests/Fixtures/YtsTypeTransfers.yml | 266 -- .../symfony/yaml/Tests/Fixtures/arrow.gif | Bin 185 -> 0 bytes .../Tests/Fixtures/booleanMappingKeys.yml | 11 - .../yaml/Tests/Fixtures/embededPhp.yml | 1 - .../yaml/Tests/Fixtures/escapedCharacters.yml | 155 - .../symfony/yaml/Tests/Fixtures/index.yml | 18 - .../Fixtures/legacyBooleanMappingKeys.yml | 23 - .../Tests/Fixtures/legacyNonStringKeys.yml | 2 - .../Tests/Fixtures/legacyNullMappingKey.yml | 9 - .../multiple_lines_as_literal_block.yml | 14 - ...nes_as_literal_block_for_tagged_values.yml | 2 - ...eral_block_leading_space_in_first_line.yml | 4 - .../yaml/Tests/Fixtures/nonStringKeys.yml | 3 - .../yaml/Tests/Fixtures/not_readable.yml | 18 - .../yaml/Tests/Fixtures/nullMappingKey.yml | 9 - .../Tests/Fixtures/numericMappingKeys.yml | 23 - .../yaml/Tests/Fixtures/sfComments.yml | 90 - .../symfony/yaml/Tests/Fixtures/sfCompact.yml | 159 - .../yaml/Tests/Fixtures/sfMergeKey.yml | 61 - .../symfony/yaml/Tests/Fixtures/sfObjects.yml | 11 - .../symfony/yaml/Tests/Fixtures/sfQuotes.yml | 33 - .../symfony/yaml/Tests/Fixtures/sfTests.yml | 140 - .../Tests/Fixtures/unindentedCollections.yml | 82 - app/vendor/symfony/yaml/Tests/InlineTest.php | 873 ---- .../symfony/yaml/Tests/ParseExceptionTest.php | 34 - app/vendor/symfony/yaml/Tests/ParserTest.php | 2401 ---------- app/vendor/symfony/yaml/Tests/YamlTest.php | 40 - app/vendor/symfony/yaml/Unescaper.php | 142 - app/vendor/symfony/yaml/Yaml.php | 150 - app/vendor/symfony/yaml/composer.json | 38 - app/vendor/symfony/yaml/phpunit.xml.dist | 30 - app/vendor/theseer/tokenizer/.php_cs.dist | 213 + app/vendor/theseer/tokenizer/CHANGELOG.md | 71 + app/vendor/theseer/tokenizer/LICENSE | 30 + app/vendor/theseer/tokenizer/README.md | 50 + app/vendor/theseer/tokenizer/composer.json | 27 + app/vendor/theseer/tokenizer/composer.lock | 22 + .../theseer/tokenizer/src/Exception.php | 5 + .../theseer/tokenizer/src/NamespaceUri.php | 25 + .../tokenizer/src/NamespaceUriException.php | 5 + app/vendor/theseer/tokenizer/src/Token.php | 35 + .../theseer/tokenizer/src/TokenCollection.php | 93 + .../src/TokenCollectionException.php | 5 + .../theseer/tokenizer/src/Tokenizer.php | 142 + .../theseer/tokenizer/src/XMLSerializer.php | 79 + app/vendor/twig/markdown-extra/.gitattributes | 2 + app/vendor/twig/markdown-extra/.gitignore | 4 + .../twig/markdown-extra/DefaultMarkdown.php | 39 + .../twig/markdown-extra/ErusevMarkdown.php | 29 + app/vendor/twig/markdown-extra/LICENSE | 19 + .../twig/markdown-extra/LeagueMarkdown.php | 29 + .../twig/markdown-extra/MarkdownExtension.php | 48 + .../twig/markdown-extra/MarkdownInterface.php | 17 + .../twig/markdown-extra/MarkdownRuntime.php | 32 + .../twig/markdown-extra/MichelfMarkdown.php | 34 + app/vendor/twig/markdown-extra/README.md | 11 + app/vendor/twig/markdown-extra/composer.json | 39 + app/vendor/twig/twig/.gitattributes | 1 + app/vendor/twig/twig/.github/workflows/ci.yml | 89 +- .../twig/.github/workflows/documentation.yml | 2 +- app/vendor/twig/twig/.gitignore | 2 - app/vendor/twig/twig/CHANGELOG | 461 ++ app/vendor/twig/twig/README.rst | 3 - app/vendor/twig/twig/composer.json | 10 +- app/vendor/twig/twig/doc/.doctor-rst.yaml | 9 +- app/vendor/twig/twig/doc/advanced.rst | 100 +- app/vendor/twig/twig/doc/api.rst | 129 +- app/vendor/twig/twig/doc/deprecated.rst | 222 +- app/vendor/twig/twig/doc/filters/batch.rst | 18 +- app/vendor/twig/twig/doc/filters/column.rst | 24 + .../twig/doc/filters/convert_encoding.rst | 11 +- .../twig/twig/doc/filters/country_name.rst | 44 + .../twig/twig/doc/filters/currency_name.rst | 47 + .../twig/twig/doc/filters/currency_symbol.rst | 47 + app/vendor/twig/twig/doc/filters/data_uri.rst | 55 + app/vendor/twig/twig/doc/filters/date.rst | 26 +- .../twig/twig/doc/filters/date_modify.rst | 4 - app/vendor/twig/twig/doc/filters/escape.rst | 16 +- app/vendor/twig/twig/doc/filters/filter.rst | 4 - app/vendor/twig/twig/doc/filters/first.rst | 4 - app/vendor/twig/twig/doc/filters/format.rst | 4 +- .../twig/twig/doc/filters/format_currency.rst | 77 + .../twig/twig/doc/filters/format_date.rst | 36 + .../twig/twig/doc/filters/format_datetime.rst | 73 + .../twig/twig/doc/filters/format_number.rst | 117 + .../twig/twig/doc/filters/format_time.rst | 36 + .../twig/doc/filters/html_to_markdown.rst | 77 + app/vendor/twig/twig/doc/filters/index.rst | 19 + .../twig/twig/doc/filters/inky_to_html.rst | 42 + .../twig/twig/doc/filters/inline_css.rst | 66 + app/vendor/twig/twig/doc/filters/join.rst | 4 - .../twig/twig/doc/filters/language_name.rst | 47 + app/vendor/twig/twig/doc/filters/last.rst | 4 - app/vendor/twig/twig/doc/filters/length.rst | 4 - .../twig/twig/doc/filters/locale_name.rst | 47 + app/vendor/twig/twig/doc/filters/map.rst | 4 - .../twig/doc/filters/markdown_to_html.rst | 72 + app/vendor/twig/twig/doc/filters/nl2br.rst | 4 - .../twig/twig/doc/filters/number_format.rst | 16 +- app/vendor/twig/twig/doc/filters/raw.rst | 26 - app/vendor/twig/twig/doc/filters/reduce.rst | 4 - app/vendor/twig/twig/doc/filters/reverse.rst | 4 - app/vendor/twig/twig/doc/filters/round.rst | 4 - app/vendor/twig/twig/doc/filters/slice.rst | 4 - app/vendor/twig/twig/doc/filters/slug.rst | 59 + app/vendor/twig/twig/doc/filters/sort.rst | 24 + .../twig/twig/doc/filters/spaceless.rst | 9 - app/vendor/twig/twig/doc/filters/split.rst | 4 - .../twig/twig/doc/filters/timezone_name.rst | 46 + app/vendor/twig/twig/doc/filters/trim.rst | 8 - app/vendor/twig/twig/doc/filters/u.rst | 87 + .../twig/twig/doc/filters/url_encode.rst | 17 +- .../twig/twig/doc/functions/attribute.rst | 4 - app/vendor/twig/twig/doc/functions/block.rst | 8 - .../twig/twig/doc/functions/constant.rst | 10 +- .../twig/doc/functions/country_timezones.rst | 32 + app/vendor/twig/twig/doc/functions/date.rst | 13 +- app/vendor/twig/twig/doc/functions/dump.rst | 4 - .../twig/twig/doc/functions/html_classes.rst | 35 + .../twig/twig/doc/functions/include.rst | 8 - app/vendor/twig/twig/doc/functions/index.rst | 2 + app/vendor/twig/twig/doc/functions/max.rst | 4 - app/vendor/twig/twig/doc/functions/min.rst | 4 - app/vendor/twig/twig/doc/functions/random.rst | 12 - app/vendor/twig/twig/doc/functions/source.rst | 8 - .../doc/functions/template_from_string.rst | 8 - app/vendor/twig/twig/doc/installation.rst | 68 +- app/vendor/twig/twig/doc/internals.rst | 9 +- app/vendor/twig/twig/doc/intro.rst | 10 +- app/vendor/twig/twig/doc/recipes.rst | 83 +- app/vendor/twig/twig/doc/tags/apply.rst | 4 - app/vendor/twig/twig/doc/tags/autoescape.rst | 20 - app/vendor/twig/twig/doc/tags/cache.rst | 113 + app/vendor/twig/twig/doc/tags/deprecated.rst | 4 - app/vendor/twig/twig/doc/tags/do.rst | 4 - app/vendor/twig/twig/doc/tags/embed.rst | 4 - app/vendor/twig/twig/doc/tags/extends.rst | 8 - app/vendor/twig/twig/doc/tags/filter.rst | 26 - app/vendor/twig/twig/doc/tags/flush.rst | 4 - app/vendor/twig/twig/doc/tags/for.rst | 41 +- app/vendor/twig/twig/doc/tags/include.rst | 34 +- app/vendor/twig/twig/doc/tags/index.rst | 3 +- app/vendor/twig/twig/doc/tags/macro.rst | 97 +- app/vendor/twig/twig/doc/tags/spaceless.rst | 41 - app/vendor/twig/twig/doc/tags/use.rst | 11 +- app/vendor/twig/twig/doc/tags/verbatim.rst | 9 - app/vendor/twig/twig/doc/tags/with.rst | 8 +- app/vendor/twig/twig/doc/templates.rst | 51 +- app/vendor/twig/twig/doc/tests/constant.rst | 4 - .../twig/twig/doc/tests/divisibleby.rst | 5 - app/vendor/twig/twig/doc/tests/empty.rst | 4 - app/vendor/twig/twig/doc/tests/iterable.rst | 4 - app/vendor/twig/twig/doc/tests/sameas.rst | 4 - app/vendor/twig/twig/lib/Twig/Autoloader.php | 52 - .../twig/twig/lib/Twig/BaseNodeVisitor.php | 11 - .../twig/twig/lib/Twig/Cache/Filesystem.php | 11 - app/vendor/twig/twig/lib/Twig/Cache/Null.php | 11 - .../twig/twig/lib/Twig/CacheInterface.php | 11 - app/vendor/twig/twig/lib/Twig/Compiler.php | 11 - .../twig/twig/lib/Twig/CompilerInterface.php | 34 - .../twig/lib/Twig/ContainerRuntimeLoader.php | 11 - app/vendor/twig/twig/lib/Twig/Environment.php | 11 - app/vendor/twig/twig/lib/Twig/Error.php | 11 - .../twig/twig/lib/Twig/Error/Loader.php | 11 - .../twig/twig/lib/Twig/Error/Runtime.php | 11 - .../twig/twig/lib/Twig/Error/Syntax.php | 11 - .../twig/lib/Twig/ExistsLoaderInterface.php | 11 - .../twig/twig/lib/Twig/ExpressionParser.php | 11 - app/vendor/twig/twig/lib/Twig/Extension.php | 11 - .../twig/twig/lib/Twig/Extension/Core.php | 11 - .../twig/twig/lib/Twig/Extension/Debug.php | 11 - .../twig/twig/lib/Twig/Extension/Escaper.php | 11 - .../lib/Twig/Extension/GlobalsInterface.php | 11 - .../Twig/Extension/InitRuntimeInterface.php | 11 - .../twig/lib/Twig/Extension/Optimizer.php | 11 - .../twig/twig/lib/Twig/Extension/Profiler.php | 11 - .../twig/twig/lib/Twig/Extension/Sandbox.php | 11 - .../twig/twig/lib/Twig/Extension/Staging.php | 11 - .../twig/lib/Twig/Extension/StringLoader.php | 11 - .../twig/twig/lib/Twig/ExtensionInterface.php | 11 - .../twig/lib/Twig/FactoryRuntimeLoader.php | 11 - .../Twig/FileExtensionEscapingStrategy.php | 11 - app/vendor/twig/twig/lib/Twig/Filter.php | 86 - .../twig/twig/lib/Twig/Filter/Function.php | 40 - .../twig/twig/lib/Twig/Filter/Method.php | 44 - app/vendor/twig/twig/lib/Twig/Filter/Node.php | 42 - .../twig/lib/Twig/FilterCallableInterface.php | 24 - .../twig/twig/lib/Twig/FilterInterface.php | 45 - app/vendor/twig/twig/lib/Twig/Function.php | 76 - .../twig/twig/lib/Twig/Function/Function.php | 41 - .../twig/twig/lib/Twig/Function/Method.php | 45 - .../twig/twig/lib/Twig/Function/Node.php | 42 - .../lib/Twig/FunctionCallableInterface.php | 24 - .../twig/twig/lib/Twig/FunctionInterface.php | 42 - app/vendor/twig/twig/lib/Twig/Lexer.php | 11 - .../twig/twig/lib/Twig/LexerInterface.php | 36 - .../twig/twig/lib/Twig/Loader/Array.php | 11 - .../twig/twig/lib/Twig/Loader/Chain.php | 11 - .../twig/twig/lib/Twig/Loader/Filesystem.php | 11 - .../twig/twig/lib/Twig/Loader/String.php | 63 - .../twig/twig/lib/Twig/LoaderInterface.php | 11 - app/vendor/twig/twig/lib/Twig/Markup.php | 11 - app/vendor/twig/twig/lib/Twig/Node.php | 11 - .../twig/twig/lib/Twig/Node/AutoEscape.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Block.php | 11 - .../twig/lib/Twig/Node/BlockReference.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Body.php | 11 - .../twig/twig/lib/Twig/Node/CheckSecurity.php | 11 - .../twig/twig/lib/Twig/Node/Deprecated.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Do.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Embed.php | 11 - .../twig/twig/lib/Twig/Node/Expression.php | 11 - .../twig/lib/Twig/Node/Expression/Array.php | 11 - .../lib/Twig/Node/Expression/AssignName.php | 11 - .../twig/lib/Twig/Node/Expression/Binary.php | 11 - .../lib/Twig/Node/Expression/Binary/Add.php | 11 - .../lib/Twig/Node/Expression/Binary/And.php | 11 - .../Node/Expression/Binary/BitwiseAnd.php | 11 - .../Twig/Node/Expression/Binary/BitwiseOr.php | 11 - .../Node/Expression/Binary/BitwiseXor.php | 11 - .../Twig/Node/Expression/Binary/Concat.php | 11 - .../lib/Twig/Node/Expression/Binary/Div.php | 11 - .../Twig/Node/Expression/Binary/EndsWith.php | 11 - .../lib/Twig/Node/Expression/Binary/Equal.php | 11 - .../Twig/Node/Expression/Binary/FloorDiv.php | 11 - .../Twig/Node/Expression/Binary/Greater.php | 11 - .../Node/Expression/Binary/GreaterEqual.php | 11 - .../lib/Twig/Node/Expression/Binary/In.php | 11 - .../lib/Twig/Node/Expression/Binary/Less.php | 11 - .../Twig/Node/Expression/Binary/LessEqual.php | 11 - .../Twig/Node/Expression/Binary/Matches.php | 11 - .../lib/Twig/Node/Expression/Binary/Mod.php | 11 - .../lib/Twig/Node/Expression/Binary/Mul.php | 11 - .../Twig/Node/Expression/Binary/NotEqual.php | 11 - .../lib/Twig/Node/Expression/Binary/NotIn.php | 11 - .../lib/Twig/Node/Expression/Binary/Or.php | 11 - .../lib/Twig/Node/Expression/Binary/Power.php | 11 - .../lib/Twig/Node/Expression/Binary/Range.php | 11 - .../Node/Expression/Binary/StartsWith.php | 11 - .../lib/Twig/Node/Expression/Binary/Sub.php | 11 - .../Twig/Node/Expression/BlockReference.php | 11 - .../twig/lib/Twig/Node/Expression/Call.php | 11 - .../lib/Twig/Node/Expression/Conditional.php | 11 - .../lib/Twig/Node/Expression/Constant.php | 11 - .../Node/Expression/ExtensionReference.php | 35 - .../twig/lib/Twig/Node/Expression/Filter.php | 11 - .../Twig/Node/Expression/Filter/Default.php | 11 - .../lib/Twig/Node/Expression/Function.php | 11 - .../twig/lib/Twig/Node/Expression/GetAttr.php | 11 - .../lib/Twig/Node/Expression/MethodCall.php | 11 - .../twig/lib/Twig/Node/Expression/Name.php | 11 - .../lib/Twig/Node/Expression/NullCoalesce.php | 11 - .../twig/lib/Twig/Node/Expression/Parent.php | 11 - .../lib/Twig/Node/Expression/TempName.php | 11 - .../twig/lib/Twig/Node/Expression/Test.php | 11 - .../Twig/Node/Expression/Test/Constant.php | 11 - .../lib/Twig/Node/Expression/Test/Defined.php | 11 - .../Twig/Node/Expression/Test/Divisibleby.php | 11 - .../lib/Twig/Node/Expression/Test/Even.php | 11 - .../lib/Twig/Node/Expression/Test/Null.php | 11 - .../lib/Twig/Node/Expression/Test/Odd.php | 11 - .../lib/Twig/Node/Expression/Test/Sameas.php | 11 - .../twig/lib/Twig/Node/Expression/Unary.php | 11 - .../lib/Twig/Node/Expression/Unary/Neg.php | 11 - .../lib/Twig/Node/Expression/Unary/Not.php | 11 - .../lib/Twig/Node/Expression/Unary/Pos.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Flush.php | 11 - app/vendor/twig/twig/lib/Twig/Node/For.php | 11 - .../twig/twig/lib/Twig/Node/ForLoop.php | 11 - app/vendor/twig/twig/lib/Twig/Node/If.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Import.php | 11 - .../twig/twig/lib/Twig/Node/Include.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Macro.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Module.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Print.php | 11 - .../twig/twig/lib/Twig/Node/Sandbox.php | 11 - .../twig/lib/Twig/Node/SandboxedPrint.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Set.php | 11 - .../twig/twig/lib/Twig/Node/SetTemp.php | 11 - .../twig/twig/lib/Twig/Node/Spaceless.php | 11 - app/vendor/twig/twig/lib/Twig/Node/Text.php | 11 - app/vendor/twig/twig/lib/Twig/Node/With.php | 11 - .../twig/lib/Twig/NodeCaptureInterface.php | 11 - .../twig/twig/lib/Twig/NodeInterface.php | 34 - .../twig/lib/Twig/NodeOutputInterface.php | 11 - .../twig/twig/lib/Twig/NodeTraverser.php | 11 - .../twig/lib/Twig/NodeVisitor/Escaper.php | 11 - .../twig/lib/Twig/NodeVisitor/Optimizer.php | 11 - .../lib/Twig/NodeVisitor/SafeAnalysis.php | 11 - .../twig/lib/Twig/NodeVisitor/Sandbox.php | 11 - .../twig/lib/Twig/NodeVisitorInterface.php | 11 - app/vendor/twig/twig/lib/Twig/Parser.php | 11 - .../twig/twig/lib/Twig/ParserInterface.php | 33 - .../twig/lib/Twig/Profiler/Dumper/Base.php | 11 - .../lib/Twig/Profiler/Dumper/Blackfire.php | 11 - .../twig/lib/Twig/Profiler/Dumper/Html.php | 11 - .../twig/lib/Twig/Profiler/Dumper/Text.php | 11 - .../lib/Twig/Profiler/Node/EnterProfile.php | 11 - .../lib/Twig/Profiler/Node/LeaveProfile.php | 11 - .../Twig/Profiler/NodeVisitor/Profiler.php | 11 - .../twig/twig/lib/Twig/Profiler/Profile.php | 11 - .../twig/lib/Twig/RuntimeLoaderInterface.php | 11 - .../twig/lib/Twig/Sandbox/SecurityError.php | 11 - .../Sandbox/SecurityNotAllowedFilterError.php | 11 - .../SecurityNotAllowedFunctionError.php | 11 - .../Sandbox/SecurityNotAllowedMethodError.php | 11 - .../SecurityNotAllowedPropertyError.php | 11 - .../Sandbox/SecurityNotAllowedTagError.php | 11 - .../twig/lib/Twig/Sandbox/SecurityPolicy.php | 11 - .../Twig/Sandbox/SecurityPolicyInterface.php | 11 - .../twig/twig/lib/Twig/SimpleFilter.php | 11 - .../twig/twig/lib/Twig/SimpleFunction.php | 11 - app/vendor/twig/twig/lib/Twig/SimpleTest.php | 11 - app/vendor/twig/twig/lib/Twig/Source.php | 11 - .../lib/Twig/SourceContextLoaderInterface.php | 11 - app/vendor/twig/twig/lib/Twig/Template.php | 11 - .../twig/twig/lib/Twig/TemplateInterface.php | 50 - .../twig/twig/lib/Twig/TemplateWrapper.php | 11 - app/vendor/twig/twig/lib/Twig/Test.php | 37 - .../twig/twig/lib/Twig/Test/Function.php | 38 - .../lib/Twig/Test/IntegrationTestCase.php | 11 - app/vendor/twig/twig/lib/Twig/Test/Method.php | 47 - app/vendor/twig/twig/lib/Twig/Test/Node.php | 40 - .../twig/twig/lib/Twig/Test/NodeTestCase.php | 11 - .../twig/lib/Twig/TestCallableInterface.php | 22 - .../twig/twig/lib/Twig/TestInterface.php | 27 - app/vendor/twig/twig/lib/Twig/Token.php | 11 - app/vendor/twig/twig/lib/Twig/TokenParser.php | 11 - .../twig/lib/Twig/TokenParser/AutoEscape.php | 11 - .../twig/twig/lib/Twig/TokenParser/Block.php | 11 - .../twig/lib/Twig/TokenParser/Deprecated.php | 11 - .../twig/twig/lib/Twig/TokenParser/Do.php | 11 - .../twig/twig/lib/Twig/TokenParser/Embed.php | 11 - .../twig/lib/Twig/TokenParser/Extends.php | 11 - .../twig/twig/lib/Twig/TokenParser/Filter.php | 11 - .../twig/twig/lib/Twig/TokenParser/Flush.php | 11 - .../twig/twig/lib/Twig/TokenParser/For.php | 11 - .../twig/twig/lib/Twig/TokenParser/From.php | 11 - .../twig/twig/lib/Twig/TokenParser/If.php | 11 - .../twig/twig/lib/Twig/TokenParser/Import.php | 11 - .../twig/lib/Twig/TokenParser/Include.php | 11 - .../twig/twig/lib/Twig/TokenParser/Macro.php | 11 - .../twig/lib/Twig/TokenParser/Sandbox.php | 11 - .../twig/twig/lib/Twig/TokenParser/Set.php | 11 - .../twig/lib/Twig/TokenParser/Spaceless.php | 11 - .../twig/twig/lib/Twig/TokenParser/Use.php | 11 - .../twig/twig/lib/Twig/TokenParser/With.php | 11 - .../twig/twig/lib/Twig/TokenParserBroker.php | 122 - .../lib/Twig/TokenParserBrokerInterface.php | 46 - .../twig/lib/Twig/TokenParserInterface.php | 11 - app/vendor/twig/twig/lib/Twig/TokenStream.php | 11 - .../lib/Twig/Util/DeprecationCollector.php | 11 - .../lib/Twig/Util/TemplateDirIterator.php | 11 - .../twig/twig/src/Cache/CacheInterface.php | 22 +- .../twig/twig/src/Cache/FilesystemCache.php | 20 +- app/vendor/twig/twig/src/Cache/NullCache.php | 14 +- app/vendor/twig/twig/src/Compiler.php | 128 +- app/vendor/twig/twig/src/Environment.php | 1116 +---- app/vendor/twig/twig/src/Error/Error.php | 162 +- .../twig/twig/src/Error/LoaderError.php | 2 - .../twig/twig/src/Error/RuntimeError.php | 2 - .../twig/twig/src/Error/SyntaxError.php | 25 +- app/vendor/twig/twig/src/ExpressionParser.php | 253 +- .../twig/src/Extension/AbstractExtension.php | 27 - .../twig/twig/src/Extension/CoreExtension.php | 1227 +++-- .../twig/src/Extension/DebugExtension.php | 20 +- .../twig/src/Extension/EscaperExtension.php | 361 +- .../twig/src/Extension/ExtensionInterface.php | 33 - .../twig/src/Extension/GlobalsInterface.php | 3 +- .../src/Extension/InitRuntimeInterface.php | 26 - .../twig/src/Extension/OptimizerExtension.php | 18 +- .../twig/src/Extension/ProfilerExtension.php | 15 +- .../twig/src/Extension/SandboxExtension.php | 70 +- .../twig/src/Extension/StagingExtension.php | 79 +- .../src/Extension/StringLoaderExtension.php | 18 +- app/vendor/twig/twig/src/ExtensionSet.php | 463 ++ .../src/FileExtensionEscapingStrategy.php | 4 +- app/vendor/twig/twig/src/Lexer.php | 143 +- .../twig/twig/src/Loader/ArrayLoader.php | 43 +- .../twig/twig/src/Loader/ChainLoader.php | 71 +- .../twig/src/Loader/ExistsLoaderInterface.php | 33 - .../twig/twig/src/Loader/FilesystemLoader.php | 110 +- .../twig/twig/src/Loader/LoaderInterface.php | 34 +- .../Loader/SourceContextLoaderInterface.php | 38 - app/vendor/twig/twig/src/Markup.php | 20 +- .../twig/twig/src/Node/AutoEscapeNode.php | 6 +- app/vendor/twig/twig/src/Node/BlockNode.php | 7 +- .../twig/twig/src/Node/BlockReferenceNode.php | 6 +- app/vendor/twig/twig/src/Node/BodyNode.php | 2 - .../twig/twig/src/Node/CheckSecurityNode.php | 12 +- .../twig/twig/src/Node/CheckToStringNode.php | 9 +- .../twig/twig/src/Node/DeprecatedNode.php | 6 +- app/vendor/twig/twig/src/Node/DoNode.php | 6 +- app/vendor/twig/twig/src/Node/EmbedNode.php | 8 +- .../Node/Expression/AbstractExpression.php | 2 - .../src/Node/Expression/ArrayExpression.php | 15 +- .../Expression/ArrowFunctionExpression.php | 4 +- .../Node/Expression/AssignNameExpression.php | 4 +- .../Node/Expression/Binary/AbstractBinary.php | 9 +- .../src/Node/Expression/Binary/AddBinary.php | 4 +- .../src/Node/Expression/Binary/AndBinary.php | 4 +- .../Expression/Binary/BitwiseAndBinary.php | 4 +- .../Expression/Binary/BitwiseOrBinary.php | 4 +- .../Expression/Binary/BitwiseXorBinary.php | 4 +- .../Node/Expression/Binary/ConcatBinary.php | 4 +- .../src/Node/Expression/Binary/DivBinary.php | 4 +- .../Node/Expression/Binary/EndsWithBinary.php | 6 +- .../Node/Expression/Binary/EqualBinary.php | 21 +- .../Node/Expression/Binary/FloorDivBinary.php | 6 +- .../Node/Expression/Binary/GreaterBinary.php | 21 +- .../Expression/Binary/GreaterEqualBinary.php | 21 +- .../src/Node/Expression/Binary/InBinary.php | 6 +- .../src/Node/Expression/Binary/LessBinary.php | 21 +- .../Expression/Binary/LessEqualBinary.php | 21 +- .../Node/Expression/Binary/MatchesBinary.php | 6 +- .../src/Node/Expression/Binary/ModBinary.php | 4 +- .../src/Node/Expression/Binary/MulBinary.php | 4 +- .../Node/Expression/Binary/NotEqualBinary.php | 21 +- .../Node/Expression/Binary/NotInBinary.php | 6 +- .../src/Node/Expression/Binary/OrBinary.php | 4 +- .../Node/Expression/Binary/PowerBinary.php | 19 +- .../Node/Expression/Binary/RangeBinary.php | 6 +- .../Expression/Binary/SpaceshipBinary.php | 22 + .../Expression/Binary/StartsWithBinary.php | 6 +- .../src/Node/Expression/Binary/SubBinary.php | 4 +- .../Expression/BlockReferenceExpression.php | 22 +- .../src/Node/Expression/CallExpression.php | 67 +- .../Node/Expression/ConditionalExpression.php | 6 +- .../Node/Expression/ConstantExpression.php | 6 +- .../Node/Expression/Filter/DefaultFilter.php | 6 +- .../src/Node/Expression/FilterExpression.php | 17 +- .../Node/Expression/FunctionExpression.php | 22 +- .../src/Node/Expression/GetAttrExpression.php | 85 +- .../twig/src/Node/Expression/InlinePrint.php | 4 +- .../Node/Expression/MethodCallExpression.php | 34 +- .../src/Node/Expression/NameExpression.php | 50 +- .../Expression/NullCoalesceExpression.php | 8 +- .../src/Node/Expression/ParentExpression.php | 6 +- .../Node/Expression/TempNameExpression.php | 6 +- .../src/Node/Expression/Test/ConstantTest.php | 4 +- .../src/Node/Expression/Test/DefinedTest.php | 13 +- .../Node/Expression/Test/DivisiblebyTest.php | 4 +- .../src/Node/Expression/Test/EvenTest.php | 4 +- .../src/Node/Expression/Test/NullTest.php | 4 +- .../twig/src/Node/Expression/Test/OddTest.php | 4 +- .../src/Node/Expression/Test/SameasTest.php | 4 +- .../src/Node/Expression/TestExpression.php | 21 +- .../Node/Expression/Unary/AbstractUnary.php | 9 +- .../src/Node/Expression/Unary/NegUnary.php | 6 +- .../src/Node/Expression/Unary/NotUnary.php | 6 +- .../src/Node/Expression/Unary/PosUnary.php | 6 +- .../Node/Expression/VariadicExpression.php | 24 + app/vendor/twig/twig/src/Node/FlushNode.php | 6 +- app/vendor/twig/twig/src/Node/ForLoopNode.php | 25 +- app/vendor/twig/twig/src/Node/ForNode.php | 38 +- app/vendor/twig/twig/src/Node/IfNode.php | 6 +- app/vendor/twig/twig/src/Node/ImportNode.php | 22 +- app/vendor/twig/twig/src/Node/IncludeNode.php | 8 +- app/vendor/twig/twig/src/Node/MacroNode.php | 49 +- app/vendor/twig/twig/src/Node/ModuleNode.php | 72 +- app/vendor/twig/twig/src/Node/Node.php | 149 +- .../twig/src/Node/NodeCaptureInterface.php | 2 - .../twig/src/Node/NodeOutputInterface.php | 2 - app/vendor/twig/twig/src/Node/PrintNode.php | 6 +- app/vendor/twig/twig/src/Node/SandboxNode.php | 6 +- .../twig/twig/src/Node/SandboxedPrintNode.php | 69 - app/vendor/twig/twig/src/Node/SetNode.php | 6 +- app/vendor/twig/twig/src/Node/SetTempNode.php | 44 - .../twig/twig/src/Node/SpacelessNode.php | 47 - app/vendor/twig/twig/src/Node/TextNode.php | 6 +- app/vendor/twig/twig/src/Node/WithNode.php | 20 +- app/vendor/twig/twig/src/NodeTraverser.php | 29 +- .../src/NodeVisitor/AbstractNodeVisitor.php | 16 +- .../src/NodeVisitor/EscaperNodeVisitor.php | 47 +- .../MacroAutoImportNodeVisitor.php | 74 + .../src/NodeVisitor/NodeVisitorInterface.php | 14 +- .../src/NodeVisitor/OptimizerNodeVisitor.php | 90 +- .../NodeVisitor/SafeAnalysisNodeVisitor.php | 32 +- .../src/NodeVisitor/SandboxNodeVisitor.php | 27 +- app/vendor/twig/twig/src/Parser.php | 220 +- .../twig/src/Profiler/Dumper/BaseDumper.php | 12 +- .../src/Profiler/Dumper/BlackfireDumper.php | 16 +- .../twig/src/Profiler/Dumper/HtmlDumper.php | 14 +- .../twig/src/Profiler/Dumper/TextDumper.php | 12 +- .../src/Profiler/Node/EnterProfileNode.php | 10 +- .../src/Profiler/Node/LeaveProfileNode.php | 6 +- .../NodeVisitor/ProfilerNodeVisitor.php | 18 +- app/vendor/twig/twig/src/Profiler/Profile.php | 47 +- .../RuntimeLoader/ContainerRuntimeLoader.php | 8 +- .../RuntimeLoader/FactoryRuntimeLoader.php | 16 +- .../RuntimeLoader/RuntimeLoaderInterface.php | 6 +- .../twig/twig/src/Sandbox/SecurityError.php | 2 - .../Sandbox/SecurityNotAllowedFilterError.php | 10 +- .../SecurityNotAllowedFunctionError.php | 10 +- .../Sandbox/SecurityNotAllowedMethodError.php | 10 +- .../SecurityNotAllowedPropertyError.php | 10 +- .../Sandbox/SecurityNotAllowedTagError.php | 10 +- .../twig/twig/src/Sandbox/SecurityPolicy.php | 35 +- .../src/Sandbox/SecurityPolicyInterface.php | 17 +- app/vendor/twig/twig/src/Source.php | 14 +- app/vendor/twig/twig/src/Template.php | 347 +- app/vendor/twig/twig/src/TemplateWrapper.php | 72 +- .../twig/src/Test/IntegrationTestCase.php | 54 +- .../twig/twig/src/Test/NodeTestCase.php | 20 +- app/vendor/twig/twig/src/Token.php | 57 +- .../src/TokenParser/AbstractTokenParser.php | 4 +- .../twig/src/TokenParser/ApplyTokenParser.php | 8 +- .../src/TokenParser/AutoEscapeTokenParser.php | 50 +- .../twig/src/TokenParser/BlockTokenParser.php | 20 +- .../src/TokenParser/DeprecatedTokenParser.php | 11 +- .../twig/src/TokenParser/DoTokenParser.php | 13 +- .../twig/src/TokenParser/EmbedTokenParser.php | 27 +- .../src/TokenParser/ExtendsTokenParser.php | 12 +- .../src/TokenParser/FilterTokenParser.php | 59 - .../twig/src/TokenParser/FlushTokenParser.php | 13 +- .../twig/src/TokenParser/ForTokenParser.php | 84 +- .../twig/src/TokenParser/FromTokenParser.php | 30 +- .../twig/src/TokenParser/IfTokenParser.php | 22 +- .../src/TokenParser/ImportTokenParser.php | 19 +- .../src/TokenParser/IncludeTokenParser.php | 19 +- .../twig/src/TokenParser/MacroTokenParser.php | 20 +- .../src/TokenParser/SandboxTokenParser.php | 17 +- .../twig/src/TokenParser/SetTokenParser.php | 21 +- .../src/TokenParser/SpacelessTokenParser.php | 53 - .../src/TokenParser/TokenParserInterface.php | 13 +- .../twig/src/TokenParser/UseTokenParser.php | 18 +- .../twig/src/TokenParser/WithTokenParser.php | 21 +- app/vendor/twig/twig/src/TokenStream.php | 95 +- app/vendor/twig/twig/src/TwigFilter.php | 66 +- app/vendor/twig/twig/src/TwigFunction.php | 62 +- app/vendor/twig/twig/src/TwigTest.php | 57 +- .../twig/src/Util/DeprecationCollector.php | 33 +- .../twig/src/Util/TemplateDirIterator.php | 10 +- .../umpirsky/twig-php-function/.gitignore | 2 - .../umpirsky/twig-php-function/.travis.yml | 20 - .../umpirsky/twig-php-function/README.md | 49 - .../umpirsky/twig-php-function/composer.json | 26 - .../umpirsky/twig-php-function/composer.lock | 1245 ----- .../twig-php-function/examples/basic.php | 14 - .../Extension/PhpFunctionExtensionSpec.php | 19 - .../Twig/Extension/PhpFunctionExtension.php | 63 - .../Extension/PhpFunctionExtensionTest.php | 38 - app/vendor/webmozart/assert/.editorconfig | 12 + .../assert/.github/workflows/ci.yaml | 120 + app/vendor/webmozart/assert/.php_cs | 24 + app/vendor/webmozart/assert/CHANGELOG.md | 190 + app/vendor/webmozart/assert/LICENSE | 20 + app/vendor/webmozart/assert/README.md | 287 ++ app/vendor/webmozart/assert/composer.json | 43 + app/vendor/webmozart/assert/psalm.xml | 14 + app/vendor/webmozart/assert/src/Assert.php | 2066 ++++++++ .../assert/src/InvalidArgumentException.php | 16 + app/vendor/webmozart/assert/src/Mixin.php | 2916 ++++++++++++ .../wyrihaximus/twig-view/CONTRIBUTING.md | 42 - app/vendor/wyrihaximus/twig-view/LICENSE.txt | 21 - app/vendor/wyrihaximus/twig-view/README.md | 429 -- .../wyrihaximus/twig-view/composer.json | 55 - .../wyrihaximus/twig-view/composer.lock | 3280 ------------- .../twig-view/config/bootstrap.php | 19 - .../twig-view/config/config.sample.php | 17 - .../wyrihaximus/twig-view/quickstart.md | 78 - .../twig-view/src/Event/ConstructEvent.php | 48 - .../src/Event/EnvironmentConfigEvent.php | 51 - .../src/Event/ExtensionsListener.php | 116 - .../twig-view/src/Event/LoaderEvent.php | 53 - .../twig-view/src/Event/ProfileEvent.php | 35 - .../twig-view/src/Event/ProfilerListener.php | 53 - .../src/Event/TokenParsersListener.php | 53 - .../wyrihaximus/twig-view/src/Lib/Cache.php | 59 - .../twig-view/src/Lib/RelativeScanner.php | 72 - .../wyrihaximus/twig-view/src/Lib/Scanner.php | 166 - .../twig-view/src/Lib/TreeScanner.php | 108 - .../src/Lib/Twig/Extension/Arrays.php | 51 - .../src/Lib/Twig/Extension/Basic.php | 49 - .../twig-view/src/Lib/Twig/Extension/I18n.php | 45 - .../src/Lib/Twig/Extension/Inflector.php | 50 - .../src/Lib/Twig/Extension/Number.php | 59 - .../Lib/Twig/Extension/PotentialDangerous.php | 53 - .../src/Lib/Twig/Extension/Profiler.php | 50 - .../src/Lib/Twig/Extension/Strings.php | 80 - .../twig-view/src/Lib/Twig/Extension/Time.php | 43 - .../src/Lib/Twig/Extension/Utils.php | 49 - .../twig-view/src/Lib/Twig/Extension/View.php | 69 - .../twig-view/src/Lib/Twig/Loader.php | 133 - .../twig-view/src/Lib/Twig/Node/Cell.php | 107 - .../twig-view/src/Lib/Twig/Node/Element.php | 80 - .../src/Lib/Twig/TokenParser/Cell.php | 71 - .../src/Lib/Twig/TokenParser/Element.php | 62 - .../twig-view/src/Panel/TwigPanel.php | 32 - .../twig-view/src/Shell/CompileShell.php | 174 - .../src/Shell/Task/TwigTemplateTask.php | 58 - .../src/Template/Bake/Element/form.ctp | 98 - .../src/Template/Bake/Template/add.ctp | 11 - .../src/Template/Bake/Template/edit.ctp | 11 - .../src/Template/Bake/Template/index.ctp | 107 - .../src/Template/Bake/Template/view.ctp | 166 - .../src/Template/Element/twig_panel.ctp | 3 - .../twig-view/src/View/TwigView.php | 327 -- app/webroot/js/comanage.js | 2 +- 4431 files changed, 236671 insertions(+), 150099 deletions(-) rename app/{src/Locale => resources/locales}/en_US/default.po (100%) delete mode 100644 app/src/Template/Element/breadcrumbs.ctp delete mode 100644 app/src/Template/Element/javascript.ctp delete mode 100644 app/src/Template/Element/menuMain.ctp delete mode 100644 app/src/Template/Element/menuTop.ctp delete mode 100644 app/src/Template/Element/pagination.ctp delete mode 100644 app/src/Template/Element/search.ctp delete mode 100644 app/src/Template/Email/text/potential_match.ctp delete mode 100644 app/src/Template/Matchgrids/manage.ctp delete mode 100644 app/src/Template/Matchgrids/pending.ctp delete mode 100644 app/src/Template/Standard/add-edit-view.ctp delete mode 100644 app/src/Template/Standard/index.ctp rename app/{src/Template => templates}/ApiUsers/columns.inc (100%) rename app/{src/Template => templates}/ApiUsers/fields.inc (100%) rename app/{src/Template => templates}/AttributeGroups/columns.inc (100%) rename app/{src/Template => templates}/AttributeGroups/fields.inc (100%) rename app/{src/Template => templates}/AttributeMappings/columns.inc (100%) rename app/{src/Template => templates}/AttributeMappings/fields.inc (100%) rename app/{src/Template => templates}/AttributeMaps/columns.inc (100%) rename app/{src/Template => templates}/AttributeMaps/fields.inc (100%) rename app/{src/Template => templates}/Attributes/columns.inc (100%) rename app/{src/Template => templates}/Attributes/fields.inc (100%) rename app/{src/Template/Error/error400.ctp => templates/Error/error400.php} (100%) rename app/{src/Template/Error/error500.ctp => templates/Error/error500.php} (100%) rename app/{src/Template => templates}/MatchgridRecords/columns.inc (97%) rename app/{src/Template => templates}/MatchgridRecords/fields.inc (100%) rename app/{src/Template => templates}/MatchgridSettings/fields.inc (100%) rename app/{src/Template => templates}/Matchgrids/columns.inc (100%) rename app/{src/Template => templates}/Matchgrids/fields.inc (100%) create mode 100644 app/templates/Matchgrids/manage.php create mode 100644 app/templates/Matchgrids/pending.php rename app/{src/Template/Matchgrids/reconcile.ctp => templates/Matchgrids/reconcile.php} (100%) rename app/{src/Template/Matchgrids/select.ctp => templates/Matchgrids/select.php} (100%) rename app/{src/Template/Pages/home.ctp => templates/Pages/home.php} (100%) rename app/{src/Template => templates}/Permissions/columns.inc (100%) rename app/{src/Template => templates}/Permissions/fields.inc (100%) rename app/{src/Template => templates}/RuleAttributes/columns.inc (100%) rename app/{src/Template => templates}/RuleAttributes/fields.inc (100%) rename app/{src/Template => templates}/Rules/columns.inc (100%) rename app/{src/Template => templates}/Rules/fields.inc (100%) create mode 100644 app/templates/Standard/add-edit-view.php create mode 100644 app/templates/Standard/index.php rename app/{src/Template => templates}/SystemsOfRecord/columns.inc (100%) rename app/{src/Template => templates}/SystemsOfRecord/fields.inc (100%) rename app/{src/Template/TierApi/response.ctp => templates/TierApi/response.php} (100%) create mode 100644 app/templates/element/breadcrumbs.php rename app/{src/Template/Element/Flash/default.ctp => templates/element/flash/default.php} (100%) rename app/{src/Template/Element/Flash/error.ctp => templates/element/flash/error.php} (100%) rename app/{src/Template/Element/Flash/information.ctp => templates/element/flash/information.php} (100%) rename app/{src/Template/Element/Flash/success.ctp => templates/element/flash/success.php} (100%) rename app/{src/Template/Element/footer.ctp => templates/element/footer.php} (100%) create mode 100644 app/templates/element/javascript.php create mode 100644 app/templates/element/menuMain.php create mode 100644 app/templates/element/menuTop.php create mode 100644 app/templates/element/pagination.php create mode 100644 app/templates/element/search.php rename app/{src/Template/Email/html/default.ctp => templates/email/html/default.php} (100%) rename app/{src/Template/Email/text/default.ctp => templates/email/text/default.php} (100%) create mode 100644 app/templates/email/text/potential_match.php rename app/{src/Template/Layout/Email/text/default.ctp => templates/layout/ajax.php} (100%) rename app/{src/Template/Layout/default.ctp => templates/layout/default.php} (100%) rename app/{src/Template/Layout/Email/html/default.ctp => templates/layout/email/html/default.php} (100%) rename app/{src/Template/Layout/ajax.ctp => templates/layout/email/text/default.php} (100%) rename app/{src/Template/Layout/error.ctp => templates/layout/error.php} (100%) rename app/{src/Template/Layout/rest.ctp => templates/layout/rest.php} (100%) rename app/{src/Template/Layout/rss/default.ctp => templates/layout/rss/default.php} (100%) delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/.github/workflows/tests.yaml delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/.gitignore delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/.php_cs.dist delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/CHANGELOG.md delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/LICENSE delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/README.md delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/composer.json delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/phpunit.xml.dist delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/src/BreakpointExtension.php delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/AjglBreakpointTwigExtensionBundle.php delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtension.php delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/Resources/config/twig.xml delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/tests/BreakpointExtensionTest.php delete mode 100644 app/vendor/ajgl/breakpoint-twig-extension/tests/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtensionTest.php delete mode 100644 app/vendor/aptoma/twig-markdown/.gitignore delete mode 100644 app/vendor/aptoma/twig-markdown/.travis.yml delete mode 100644 app/vendor/aptoma/twig-markdown/CHANGELOG.md delete mode 100644 app/vendor/aptoma/twig-markdown/README.md delete mode 100644 app/vendor/aptoma/twig-markdown/composer.json delete mode 100644 app/vendor/aptoma/twig-markdown/composer.lock delete mode 100644 app/vendor/aptoma/twig-markdown/phpunit.xml.dist delete mode 100644 app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/GitHubMarkdownEngine.php delete mode 100644 app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/MichelfMarkdownEngine.php delete mode 100644 app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/PHPLeagueCommonMarkEngine.php delete mode 100644 app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/ParsedownEngine.php delete mode 100644 app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngineInterface.php delete mode 100644 app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownExtension.php delete mode 100644 app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Node/MarkdownNode.php delete mode 100644 app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/TokenParser/MarkdownTokenParser.php delete mode 100644 app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/GithubMarkdownEngineTest.php delete mode 100644 app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/PHPLeagueCommonMarkEngineTest.php delete mode 100644 app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/ParsedownEngineTest.php delete mode 100644 app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownExtensionTest.php delete mode 100644 app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/TokenParser/MarkdownTokenParserTest.php delete mode 100644 app/vendor/asm89/twig-cache-extension/.gitignore delete mode 100644 app/vendor/asm89/twig-cache-extension/.travis.yml delete mode 100644 app/vendor/asm89/twig-cache-extension/LICENSE delete mode 100644 app/vendor/asm89/twig-cache-extension/README.md delete mode 100644 app/vendor/asm89/twig-cache-extension/composer.json delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProvider/DoctrineCacheAdapter.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProvider/PsrCacheAdapter.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProviderInterface.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/BlackholeCacheStrategy.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/GenerationalCacheStrategy.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/IndexedChainingCacheStrategy.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/KeyGeneratorInterface.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/LifetimeCacheStrategy.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategyInterface.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/BaseException.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/InvalidCacheKeyException.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/InvalidCacheLifetimeException.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/NonExistingStrategyException.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/NonExistingStrategyKeyException.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Extension.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Node/CacheNode.php delete mode 100644 app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/TokenParser/Cache.php delete mode 100644 app/vendor/asm89/twig-cache-extension/phpunit.xml.dist delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheProvider/DoctrineCacheAdapterTest.php delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/GenerationCacheStrategyTest.php delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/IndexedChainingCacheStrategyTest.php delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/LifetimeCacheStrategyTest.php delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/FunctionalExtensionTest.php delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/annotation_expression.twig delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/annotation_not_string.twig delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/gcs_value.twig delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/gcs_value_v2.twig delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/ics_no_key.twig delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/ics_value.twig delete mode 100644 app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/lcs_value.twig delete mode 100644 app/vendor/asm89/twig-cache-extension/test/bootstrap.php create mode 120000 app/vendor/bin/phpstan create mode 120000 app/vendor/bin/phpstan.phar create mode 120000 app/vendor/bin/phpunit create mode 100644 app/vendor/cakephp/bake/.appveyor.yml create mode 100644 app/vendor/cakephp/bake/psalm-baseline.xml create mode 100644 app/vendor/cakephp/bake/psalm.xml create mode 100644 app/vendor/cakephp/bake/src/Command/AllCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/BakeCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/BehaviorCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/CellCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/CommandCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/ComponentCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/ControllerAllCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/ControllerCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/EntryCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/FixtureAllCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/FixtureCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/FormCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/HelperCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/MailerCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/MiddlewareCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/ModelAllCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/ModelCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/PluginCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/ShellCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/ShellHelperCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/SimpleBakeCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/TaskCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/TemplateAllCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/TemplateCommand.php create mode 100644 app/vendor/cakephp/bake/src/Command/TestCommand.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/BakeShell.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/BakeTemplateTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/BehaviorTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/CellTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/CommandTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/ComponentTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/ControllerTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/FixtureTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/FormTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/HelperTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/MailerTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/MiddlewareTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/ModelTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/PluginTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/ShellHelperTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/ShellTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/TaskTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/TemplateTask.php delete mode 100644 app/vendor/cakephp/bake/src/Shell/Task/TestTask.php delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Controller/controller.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Element/Controller/add.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Element/Controller/edit.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Element/Controller/index.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Element/Controller/login.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Element/Controller/view.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Element/form.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Form/form.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Middleware/middleware.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Plugin/.gitignore.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Plugin/config/routes.php.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Plugin/src/Plugin.php.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Shell/helper.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Template/add.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Template/edit.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Template/index.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Template/login.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/Template/view.twig delete mode 100644 app/vendor/cakephp/bake/src/Template/Bake/View/helper.twig create mode 100644 app/vendor/cakephp/bake/src/Utility/Process.php create mode 100644 app/vendor/cakephp/bake/src/Utility/SubsetSchemaCollection.php create mode 100644 app/vendor/cakephp/bake/src/Utility/TableScanner.php create mode 100644 app/vendor/cakephp/bake/src/Utility/TemplateRenderer.php rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Command/command.twig (85%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Controller/component.twig (97%) create mode 100644 app/vendor/cakephp/bake/templates/bake/Controller/controller.twig create mode 100644 app/vendor/cakephp/bake/templates/bake/Form/form.twig rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Mailer/mailer.twig (96%) create mode 100644 app/vendor/cakephp/bake/templates/bake/Middleware/middleware.twig rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Model/behavior.twig (97%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Model/entity.twig (98%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Model/table.twig (87%) create mode 100644 app/vendor/cakephp/bake/templates/bake/Plugin/.gitignore.twig rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Plugin/README.md.twig (100%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Plugin/composer.json.twig (91%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Plugin/phpunit.xml.dist.twig (100%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Plugin/src/Controller/AppController.php.twig (96%) create mode 100644 app/vendor/cakephp/bake/templates/bake/Plugin/src/Plugin.php.twig rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Plugin/tests/bootstrap.php.twig (98%) rename app/vendor/cakephp/bake/{src/Template/Bake/Plugin/webroot/empty.twig => templates/bake/Plugin/webroot/.gitkeep.twig} (100%) create mode 100644 app/vendor/cakephp/bake/templates/bake/Shell/helper.twig rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Shell/shell.twig (91%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/Shell/task.twig (90%) create mode 100644 app/vendor/cakephp/bake/templates/bake/Template/add.twig create mode 100644 app/vendor/cakephp/bake/templates/bake/Template/edit.twig create mode 100644 app/vendor/cakephp/bake/templates/bake/Template/index.twig create mode 100644 app/vendor/cakephp/bake/templates/bake/Template/login.twig create mode 100644 app/vendor/cakephp/bake/templates/bake/Template/view.twig rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/View/cell.twig (94%) create mode 100644 app/vendor/cakephp/bake/templates/bake/View/helper.twig create mode 100644 app/vendor/cakephp/bake/templates/bake/element/Controller/add.twig rename app/vendor/cakephp/bake/{src/Template/Bake/Element => templates/bake/element}/Controller/delete.twig (95%) create mode 100644 app/vendor/cakephp/bake/templates/bake/element/Controller/edit.twig create mode 100644 app/vendor/cakephp/bake/templates/bake/element/Controller/index.twig create mode 100644 app/vendor/cakephp/bake/templates/bake/element/Controller/login.twig rename app/vendor/cakephp/bake/{src/Template/Bake/Element => templates/bake/element}/Controller/logout.twig (91%) create mode 100644 app/vendor/cakephp/bake/templates/bake/element/Controller/view.twig rename app/vendor/cakephp/bake/{src/Template/Bake/Element => templates/bake/element}/array_property.twig (100%) create mode 100644 app/vendor/cakephp/bake/templates/bake/element/form.twig rename app/vendor/cakephp/bake/{src/Template/Bake/Layout => templates/bake/layout}/default.twig (94%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/tests/fixture.twig (93%) rename app/vendor/cakephp/bake/{src/Template/Bake => templates/bake}/tests/test_case.twig (80%) create mode 100644 app/vendor/cakephp/bake/tests/Fixture/TodoItemsFixture.php create mode 100644 app/vendor/cakephp/bake/tests/Fixture/TodoItemsTodoLabelsFixture.php create mode 100644 app/vendor/cakephp/bake/tests/Fixture/TodoLabelsFixture.php create mode 100644 app/vendor/cakephp/bake/tests/Fixture/TodoTasksFixture.php create mode 100644 app/vendor/cakephp/bake/tests/Fixture/UsersFixture.php create mode 100644 app/vendor/cakephp/cakephp/.coveralls.yml delete mode 100644 app/vendor/cakephp/cakephp/config/cacert.pem delete mode 100644 app/vendor/cakephp/cakephp/src/Cache/Engine/ApcEngine.php delete mode 100644 app/vendor/cakephp/cakephp/src/Cache/Engine/XcacheEngine.php create mode 100644 app/vendor/cakephp/cakephp/src/Cache/LICENSE.txt delete mode 100644 app/vendor/cakephp/cakephp/src/Cache/SimpleCacheEngine.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/CacheClearCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/CacheClearallCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/CacheListCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/Command.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/CompletionCommand.php delete mode 100644 app/vendor/cakephp/cakephp/src/Command/HelpCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/I18nCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/I18nExtractCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/I18nInitCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/PluginAssetsCopyCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/PluginAssetsRemoveCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/PluginAssetsSymlinkCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/PluginAssetsTrait.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/PluginLoadCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/PluginLoadedCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/PluginUnloadCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/RoutesCheckCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/RoutesCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/RoutesGenerateCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/SchemacacheBuildCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/SchemacacheClearCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Command/ServerCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Console/BaseCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Console/Command/HelpCommand.php create mode 100644 app/vendor/cakephp/cakephp/src/Console/CommandInterface.php create mode 100644 app/vendor/cakephp/cakephp/src/Console/Exception/MissingOptionException.php create mode 100644 app/vendor/cakephp/cakephp/src/Console/README.md create mode 100644 app/vendor/cakephp/cakephp/src/Console/composer.json delete mode 100644 app/vendor/cakephp/cakephp/src/Controller/Component/CookieComponent.php delete mode 100644 app/vendor/cakephp/cakephp/src/Controller/Component/CsrfComponent.php create mode 100644 app/vendor/cakephp/cakephp/src/Controller/Component/FormProtectionComponent.php create mode 100644 app/vendor/cakephp/cakephp/src/Controller/ControllerFactory.php create mode 100644 app/vendor/cakephp/cakephp/src/Database/ConstraintsInterface.php delete mode 100644 app/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php create mode 100644 app/vendor/cakephp/cakephp/src/Database/PostgresCompiler.php create mode 100644 app/vendor/cakephp/cakephp/src/Database/Schema/CollectionInterface.php delete mode 100644 app/vendor/cakephp/cakephp/src/Database/Schema/Table.php create mode 100644 app/vendor/cakephp/cakephp/src/Database/Type/BaseType.php create mode 100644 app/vendor/cakephp/cakephp/src/Database/Type/DateTimeFractionalType.php create mode 100644 app/vendor/cakephp/cakephp/src/Database/Type/DateTimeTimezoneType.php create mode 100644 app/vendor/cakephp/cakephp/src/Database/TypeFactory.php delete mode 100644 app/vendor/cakephp/cakephp/src/Datasource/TableSchemaInterface.php create mode 100644 app/vendor/cakephp/cakephp/src/Error/ConsoleErrorHandler.php create mode 100644 app/vendor/cakephp/cakephp/src/Error/ErrorLogger.php delete mode 100644 app/vendor/cakephp/cakephp/src/Error/PHP7ErrorException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Event/EventManagerTrait.php create mode 100644 app/vendor/cakephp/cakephp/src/Filesystem/Filesystem.php create mode 100644 app/vendor/cakephp/cakephp/src/Form/FormProtector.php delete mode 100644 app/vendor/cakephp/cakephp/src/Http/ActionDispatcher.php delete mode 100644 app/vendor/cakephp/cakephp/src/Http/Client/CookieCollection.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/Client/Exception/ClientException.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/Client/Exception/NetworkException.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/Client/Exception/RequestException.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/ControllerFactoryInterface.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/Exception/MissingControllerException.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/LICENSE.txt create mode 100644 app/vendor/cakephp/cakephp/src/Http/Middleware/ClosureDecoratorMiddleware.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/Middleware/DoublePassDecoratorMiddleware.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/Middleware/HttpsEnforcerMiddleware.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/MiddlewareApplication.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/README.md delete mode 100644 app/vendor/cakephp/cakephp/src/Http/RequestTransformer.php delete mode 100644 app/vendor/cakephp/cakephp/src/Http/ResponseTransformer.php create mode 100644 app/vendor/cakephp/cakephp/src/Http/composer.json create mode 100644 app/vendor/cakephp/cakephp/src/I18n/I18nDateTimeInterface.php create mode 100644 app/vendor/cakephp/cakephp/src/Log/Engine/ArrayLog.php create mode 100644 app/vendor/cakephp/cakephp/src/Mailer/Message.php create mode 100644 app/vendor/cakephp/cakephp/src/Mailer/Renderer.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/CorsBuilder.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Email/AbstractTransport.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Email/DebugTransport.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Email/Email.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Email/MailTransport.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Email/SmtpTransport.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/BadRequestException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/ConflictException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/ForbiddenException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/GoneException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/HttpException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/InternalErrorException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/InvalidCsrfTokenException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/MethodNotAllowedException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/NotAcceptableException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/NotFoundException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/NotImplementedException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/ServiceUnavailableException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/UnauthorizedException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Exception/UnavailableForLegalReasonsException.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/Adapter/Stream.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/Auth/Basic.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/Auth/Digest.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/Auth/Oauth.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/Client.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/CookieCollection.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/FormData.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/FormData/Part.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/Message.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/Request.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Http/Response.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Request.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Response.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Session.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Session/CacheSession.php delete mode 100644 app/vendor/cakephp/cakephp/src/Network/Session/DatabaseSession.php delete mode 100644 app/vendor/cakephp/cakephp/src/ORM/Association/DependentDeleteTrait.php create mode 100644 app/vendor/cakephp/cakephp/src/ORM/Behavior/Translate/EavStrategy.php create mode 100644 app/vendor/cakephp/cakephp/src/ORM/Behavior/Translate/ShadowTableStrategy.php create mode 100644 app/vendor/cakephp/cakephp/src/ORM/Behavior/Translate/TranslateStrategyInterface.php create mode 100644 app/vendor/cakephp/cakephp/src/ORM/Behavior/Translate/TranslateStrategyTrait.php create mode 100644 app/vendor/cakephp/cakephp/src/ORM/Rule/LinkConstraint.php create mode 100644 app/vendor/cakephp/cakephp/src/Routing/Asset.php delete mode 100644 app/vendor/cakephp/cakephp/src/Routing/Dispatcher.php delete mode 100644 app/vendor/cakephp/cakephp/src/Routing/DispatcherFactory.php delete mode 100644 app/vendor/cakephp/cakephp/src/Routing/DispatcherFilter.php delete mode 100644 app/vendor/cakephp/cakephp/src/Routing/Filter/AssetFilter.php delete mode 100644 app/vendor/cakephp/cakephp/src/Routing/Filter/ControllerFactoryFilter.php delete mode 100644 app/vendor/cakephp/cakephp/src/Routing/Filter/LocaleSelectorFilter.php delete mode 100644 app/vendor/cakephp/cakephp/src/Routing/Filter/RoutingFilter.php delete mode 100644 app/vendor/cakephp/cakephp/src/Routing/RequestActionTrait.php create mode 100644 app/vendor/cakephp/cakephp/src/Routing/RoutingApplicationInterface.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/CacheShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/CommandListShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/CompletionShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/I18nShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/OrmCacheShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/PluginShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/RoutesShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/SchemaCacheShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/ServerShell.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/Task/AssetsTask.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/Task/ExtractTask.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/Task/LoadTask.php delete mode 100644 app/vendor/cakephp/cakephp/src/Shell/Task/UnloadTask.php delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Element/auto_table_warning.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Element/exception_stack_trace.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Element/exception_stack_trace_nav.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Element/plugin_class_error.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/duplicate_named_route.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/fatal_error.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_action.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_behavior.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_cell_view.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_component.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_connection.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_controller.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_datasource.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_datasource_config.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_helper.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_layout.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_plugin.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_route.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_template.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/missing_view.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Error/pdo_error.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/Template/Layout/dev_error.ctp delete mode 100644 app/vendor/cakephp/cakephp/src/TestSuite/EmailAssertTrait.php delete mode 100644 app/vendor/cakephp/cakephp/src/TestSuite/LegacyRequestDispatcher.php delete mode 100644 app/vendor/cakephp/cakephp/src/TestSuite/MockBuilder.php delete mode 100644 app/vendor/cakephp/cakephp/src/TestSuite/Stub/Response.php create mode 100644 app/vendor/cakephp/cakephp/src/TestSuite/TestListenerTrait.php create mode 100644 app/vendor/cakephp/cakephp/src/TestSuite/TestSession.php delete mode 100644 app/vendor/cakephp/cakephp/src/Utility/Crypto/Mcrypt.php delete mode 100644 app/vendor/cakephp/cakephp/src/Utility/String.php create mode 100644 app/vendor/cakephp/cakephp/src/View/Exception/MissingCellTemplateException.php delete mode 100644 app/vendor/cakephp/cakephp/src/View/Exception/MissingCellViewException.php create mode 100644 app/vendor/cakephp/cakephp/src/View/Exception/SerializationFailureException.php delete mode 100644 app/vendor/cakephp/cakephp/src/View/Helper/RssHelper.php delete mode 100644 app/vendor/cakephp/cakephp/src/View/Helper/SecureFieldTokenTrait.php delete mode 100644 app/vendor/cakephp/cakephp/src/View/Helper/SessionHelper.php delete mode 100644 app/vendor/cakephp/cakephp/src/View/Widget/WidgetRegistry.php create mode 100644 app/vendor/cakephp/cakephp/src/View/Widget/YearWidget.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/duplicate_named_route.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/fatal_error.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_action.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_behavior.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_cell_template.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_component.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_connection.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_controller.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_datasource.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_datasource_config.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_helper.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_layout.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_plugin.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_route.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_template.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/missing_view.php create mode 100644 app/vendor/cakephp/cakephp/templates/Error/pdo_error.php create mode 100644 app/vendor/cakephp/cakephp/templates/element/auto_table_warning.php create mode 100644 app/vendor/cakephp/cakephp/templates/element/exception_stack_trace.php create mode 100644 app/vendor/cakephp/cakephp/templates/element/exception_stack_trace_nav.php create mode 100644 app/vendor/cakephp/cakephp/templates/element/plugin_class_error.php create mode 100644 app/vendor/cakephp/cakephp/templates/layout/dev_error.php create mode 100644 app/vendor/cakephp/cakephp/tests/Fixture/ArticlesMoreTranslationsFixture.php create mode 100644 app/vendor/cakephp/cakephp/tests/Fixture/ArticlesTranslationsFixture.php create mode 100644 app/vendor/cakephp/cakephp/tests/Fixture/AuthorsTranslationsFixture.php create mode 100644 app/vendor/cakephp/cakephp/tests/Fixture/CommentsTranslationsFixture.php create mode 100644 app/vendor/cakephp/cakephp/tests/Fixture/GroupsTranslationsFixture.php create mode 100644 app/vendor/cakephp/cakephp/tests/Fixture/SpecialTagsTranslationsFixture.php create mode 100644 app/vendor/cakephp/cakephp/tests/Fixture/TagsShadowTranslationsFixture.php delete mode 100644 app/vendor/cakephp/cakephp/tests/phpunit_aliases.php delete mode 100644 app/vendor/cakephp/chronos/.appveyor.yml create mode 100644 app/vendor/cakephp/chronos/src/DifferenceFormatterInterface.php delete mode 100644 app/vendor/cakephp/debug_kit/.github/workflows/ci.yml create mode 100644 app/vendor/cakephp/debug_kit/psalm-baseline.xml create mode 100644 app/vendor/cakephp/debug_kit/psalm.xml create mode 100644 app/vendor/cakephp/debug_kit/src/Command/BenchmarkCommand.php delete mode 100644 app/vendor/cakephp/debug_kit/src/Controller/Component/ToolbarComponent.php delete mode 100644 app/vendor/cakephp/debug_kit/src/Routing/Filter/DebugBarFilter.php delete mode 100644 app/vendor/cakephp/debug_kit/src/Shell/BenchmarkShell.php delete mode 100644 app/vendor/cakephp/debug_kit/src/Shell/WhitespaceShell.php delete mode 100644 app/vendor/cakephp/debug_kit/src/Template/Element/cache_panel.ctp delete mode 100644 app/vendor/cakephp/debug_kit/src/View/Helper/TidyHelper.php rename app/vendor/cakephp/debug_kit/{src/Template/Dashboard/index.ctp => templates/Dashboard/index.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/MailPreview/email.ctp => templates/MailPreview/email.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/MailPreview/index.ctp => templates/MailPreview/index.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Panels/view.ctp => templates/Panels/view.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Requests/view.ctp => templates/Requests/view.php} (100%) create mode 100644 app/vendor/cakephp/debug_kit/templates/element/cache_panel.php rename app/vendor/cakephp/debug_kit/{src/Template/Element/deprecations_panel.ctp => templates/element/deprecations_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/environment_panel.ctp => templates/element/environment_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/history_panel.ctp => templates/element/history_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/include_panel.ctp => templates/element/include_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/log_panel.ctp => templates/element/log_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/mail_panel.ctp => templates/element/mail_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/packages_panel.ctp => templates/element/packages_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/preview_header.ctp => templates/element/preview_header.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/request_panel.ctp => templates/element/request_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/routes_panel.ctp => templates/element/routes_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/session_panel.ctp => templates/element/session_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/sql_log_panel.ctp => templates/element/sql_log_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/timer_panel.ctp => templates/element/timer_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Element/variables_panel.ctp => templates/element/variables_panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Layout/dashboard.ctp => templates/layout/dashboard.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Layout/mailer.ctp => templates/layout/mailer.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Layout/panel.ctp => templates/layout/panel.php} (100%) rename app/vendor/cakephp/debug_kit/{src/Template/Layout/toolbar.ctp => templates/layout/toolbar.php} (100%) delete mode 100644 app/vendor/cakephp/migrations/.github/ISSUE_TEMPLATE.md delete mode 100644 app/vendor/cakephp/migrations/.github/PULL_REQUEST_TEMPLATE.md delete mode 100644 app/vendor/cakephp/migrations/.stickler.yml create mode 100644 app/vendor/cakephp/migrations/Dockerfile create mode 100644 app/vendor/cakephp/migrations/docs.Dockerfile rename app/vendor/{symfony/config/Tests/Fixtures/Again/foo.xml => cakephp/migrations/docs/config/__init__.py} (100%) create mode 100644 app/vendor/cakephp/migrations/docs/config/all.py create mode 100644 app/vendor/cakephp/migrations/docs/en/conf.py create mode 100644 app/vendor/cakephp/migrations/docs/en/contents.rst create mode 100644 app/vendor/cakephp/migrations/docs/en/index.rst create mode 100644 app/vendor/cakephp/migrations/docs/fr/conf.py create mode 100644 app/vendor/cakephp/migrations/docs/fr/contents.rst create mode 100644 app/vendor/cakephp/migrations/docs/fr/index.rst create mode 100644 app/vendor/cakephp/migrations/docs/ja/conf.py create mode 100644 app/vendor/cakephp/migrations/docs/ja/contents.rst create mode 100644 app/vendor/cakephp/migrations/docs/ja/index.rst create mode 100644 app/vendor/cakephp/migrations/docs/pt/conf.py create mode 100644 app/vendor/cakephp/migrations/docs/pt/contents.rst create mode 100644 app/vendor/cakephp/migrations/docs/pt/index.rst create mode 100644 app/vendor/cakephp/migrations/docs/ru/conf.py create mode 100644 app/vendor/cakephp/migrations/docs/ru/contents.rst create mode 100644 app/vendor/cakephp/migrations/docs/ru/index.rst delete mode 100644 app/vendor/cakephp/migrations/phpcs.xml.dist delete mode 100644 app/vendor/cakephp/migrations/phpstan.neon create mode 100644 app/vendor/cakephp/migrations/psalm-baseline.xml create mode 100644 app/vendor/cakephp/migrations/psalm.xml create mode 100644 app/vendor/cakephp/migrations/src/Command/BakeMigrationCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/BakeMigrationDiffCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/BakeMigrationSnapshotCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/BakeSeedCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/BakeSimpleMigrationCommand.php delete mode 100644 app/vendor/cakephp/migrations/src/Command/CacheBuild.php delete mode 100644 app/vendor/cakephp/migrations/src/Command/CacheClear.php delete mode 100644 app/vendor/cakephp/migrations/src/Command/Migrate.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsCacheBuildCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsCacheClearCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsCreateCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsDumpCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsMarkMigratedCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsMigrateCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsRollbackCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsSeedCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/MigrationsStatusCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/Phinx/BaseCommand.php create mode 100644 app/vendor/cakephp/migrations/src/Command/Phinx/CacheBuild.php create mode 100644 app/vendor/cakephp/migrations/src/Command/Phinx/CacheClear.php rename app/vendor/cakephp/migrations/src/Command/{ => Phinx}/CommandTrait.php (91%) rename app/vendor/cakephp/migrations/src/Command/{ => Phinx}/Create.php (89%) rename app/vendor/cakephp/migrations/src/Command/{ => Phinx}/Dump.php (90%) rename app/vendor/cakephp/migrations/src/Command/{ => Phinx}/MarkMigrated.php (91%) create mode 100644 app/vendor/cakephp/migrations/src/Command/Phinx/Migrate.php rename app/vendor/cakephp/migrations/src/Command/{ => Phinx}/Rollback.php (75%) rename app/vendor/cakephp/migrations/src/Command/{ => Phinx}/Seed.php (86%) rename app/vendor/cakephp/migrations/src/Command/{ => Phinx}/Status.php (90%) create mode 100644 app/vendor/cakephp/migrations/src/Command/SnapshotTrait.php create mode 100644 app/vendor/cakephp/migrations/src/Plugin.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/MigrationsShell.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/CommandTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/CreateTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/DumpTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/MarkMigratedTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/MigrateTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/MigrationDiffTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/MigrationSnapshotTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/MigrationTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/RollbackTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/SeedTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/SnapshotTrait.php delete mode 100644 app/vendor/cakephp/migrations/src/Shell/Task/StatusTask.php delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/Element/add-columns.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/Element/add-foreign-keys-from-create.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/Element/add-foreign-keys.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/Element/add-indexes.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/Element/create-tables.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/Seed/seed.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/config/diff.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/config/skeleton.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Bake/config/snapshot.ctp delete mode 100644 app/vendor/cakephp/migrations/src/Template/Phinx/create.php.template create mode 100644 app/vendor/cakephp/migrations/templates/Phinx/create.php.template create mode 100644 app/vendor/cakephp/migrations/templates/bake/Seed/seed.twig create mode 100644 app/vendor/cakephp/migrations/templates/bake/config/diff.twig create mode 100644 app/vendor/cakephp/migrations/templates/bake/config/skeleton.twig create mode 100644 app/vendor/cakephp/migrations/templates/bake/config/snapshot.twig create mode 100644 app/vendor/cakephp/migrations/templates/bake/element/add-columns.twig create mode 100644 app/vendor/cakephp/migrations/templates/bake/element/add-foreign-keys.twig create mode 100644 app/vendor/cakephp/migrations/templates/bake/element/add-indexes.twig create mode 100644 app/vendor/cakephp/migrations/templates/bake/element/create-tables.twig create mode 100644 app/vendor/cakephp/twig-view/LICENSE create mode 100644 app/vendor/cakephp/twig-view/README.md create mode 100644 app/vendor/cakephp/twig-view/composer.json create mode 100644 app/vendor/cakephp/twig-view/src/Command/CompileCommand.php create mode 100644 app/vendor/cakephp/twig-view/src/Filesystem/RelativeScanner.php create mode 100644 app/vendor/cakephp/twig-view/src/Filesystem/Scanner.php create mode 100644 app/vendor/cakephp/twig-view/src/Filesystem/TreeScanner.php create mode 100644 app/vendor/cakephp/twig-view/src/Panel/TwigPanel.php create mode 100644 app/vendor/cakephp/twig-view/src/Plugin.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/ArraysExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/BasicExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/ConfigureExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/I18nExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/InflectorExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/NumberExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/ProfilerExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/StringsExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/TimeExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/UtilsExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Extension/ViewExtension.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/FileLoader.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Node/Cell.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Node/Element.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/Node/LayoutNode.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/TokenParser/CellParser.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/TokenParser/ElementParser.php create mode 100644 app/vendor/cakephp/twig-view/src/Twig/TokenParser/LayoutParser.php create mode 100644 app/vendor/cakephp/twig-view/src/View/TwigView.php create mode 100644 app/vendor/cakephp/twig-view/templates/element/twig_panel.php delete mode 100644 app/vendor/composer/composer/CODE_OF_CONDUCT.md delete mode 100644 app/vendor/composer/composer/UPGRADE-2.0.md create mode 100644 app/vendor/composer/composer/doc/07-community.md delete mode 100644 app/vendor/composer/composer/doc/07-runtime.md delete mode 100644 app/vendor/composer/composer/doc/08-community.md delete mode 100644 app/vendor/composer/composer/doc/articles/authentication-for-private-packages.md create mode 100644 app/vendor/composer/composer/doc/articles/handling-private-packages-with-satis.md delete mode 100644 app/vendor/composer/composer/doc/articles/handling-private-packages.md create mode 100644 app/vendor/composer/composer/doc/articles/http-basic-authentication.md delete mode 100644 app/vendor/composer/composer/doc/articles/repository-priorities.md delete mode 100644 app/vendor/composer/composer/doc/articles/resolving-merge-conflicts.md delete mode 100644 app/vendor/composer/composer/src/Composer/Command/ReinstallCommand.php delete mode 100644 app/vendor/composer/composer/src/Composer/Console/GithubActionError.php delete mode 100644 app/vendor/composer/composer/src/Composer/DependencyResolver/LocalRepoTransaction.php delete mode 100644 app/vendor/composer/composer/src/Composer/DependencyResolver/LockTransaction.php delete mode 100644 app/vendor/composer/composer/src/Composer/DependencyResolver/MultiConflictRule.php delete mode 100644 app/vendor/composer/composer/src/Composer/DependencyResolver/PoolBuilder.php delete mode 100644 app/vendor/composer/composer/src/Composer/Downloader/MaxFileSizeExceededException.php create mode 100644 app/vendor/composer/composer/src/Composer/Downloader/PearPackageExtractor.php delete mode 100644 app/vendor/composer/composer/src/Composer/Exception/IrrecoverableDownloadException.php delete mode 100644 app/vendor/composer/composer/src/Composer/InstalledVersions.php create mode 100644 app/vendor/composer/composer/src/Composer/Installer/PearBinaryInstaller.php create mode 100644 app/vendor/composer/composer/src/Composer/Installer/PearInstaller.php delete mode 100644 app/vendor/composer/composer/src/Composer/Package/CompleteAliasPackage.php create mode 100644 app/vendor/composer/composer/src/Composer/Package/LinkConstraint/EmptyConstraint.php create mode 100644 app/vendor/composer/composer/src/Composer/Package/LinkConstraint/LinkConstraintInterface.php create mode 100644 app/vendor/composer/composer/src/Composer/Package/LinkConstraint/MultiConstraint.php create mode 100644 app/vendor/composer/composer/src/Composer/Package/LinkConstraint/SpecificConstraint.php create mode 100644 app/vendor/composer/composer/src/Composer/Package/LinkConstraint/VersionConstraint.php delete mode 100644 app/vendor/composer/composer/src/Composer/Package/Version/StabilityFilter.php delete mode 100644 app/vendor/composer/composer/src/Composer/Platform/HhvmDetector.php delete mode 100644 app/vendor/composer/composer/src/Composer/Platform/Runtime.php delete mode 100644 app/vendor/composer/composer/src/Composer/Platform/Version.php delete mode 100644 app/vendor/composer/composer/src/Composer/Plugin/PostFileDownloadEvent.php delete mode 100644 app/vendor/composer/composer/src/Composer/Plugin/PrePoolCreateEvent.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/BaseRepository.php delete mode 100644 app/vendor/composer/composer/src/Composer/Repository/FilterRepository.php delete mode 100644 app/vendor/composer/composer/src/Composer/Repository/InstalledRepository.php delete mode 100644 app/vendor/composer/composer/src/Composer/Repository/LockArrayRepository.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/BaseChannelReader.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/ChannelInfo.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/ChannelReader.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest10Reader.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/ChannelRest11Reader.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/DependencyConstraint.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/DependencyInfo.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/PackageDependencyParser.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/PackageInfo.php create mode 100644 app/vendor/composer/composer/src/Composer/Repository/Pear/ReleaseInfo.php delete mode 100644 app/vendor/composer/composer/src/Composer/Repository/RepositorySet.php delete mode 100644 app/vendor/composer/composer/src/Composer/Repository/RootPackageRepository.php create mode 100644 app/vendor/composer/composer/src/Composer/Script/CommandEvent.php create mode 100644 app/vendor/composer/composer/src/Composer/Script/PackageEvent.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/Http/CurlDownloader.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/Http/CurlResponse.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/Http/ProxyHelper.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/Http/ProxyManager.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/Http/RequestProxy.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/Http/Response.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/HttpDownloader.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/Loop.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/MetadataMinifier.php create mode 100644 app/vendor/composer/composer/src/Composer/Util/SpdxLicense.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/SyncHelper.php delete mode 100644 app/vendor/composer/composer/src/Composer/Util/Tar.php create mode 100644 app/vendor/composer/composer/src/Composer/XdebugHandler.php delete mode 100644 app/vendor/composer/metadata-minifier/LICENSE delete mode 100644 app/vendor/composer/metadata-minifier/README.md delete mode 100644 app/vendor/composer/metadata-minifier/composer.json delete mode 100644 app/vendor/composer/metadata-minifier/phpstan.neon.dist delete mode 100644 app/vendor/composer/metadata-minifier/src/MetadataMinifier.php create mode 100644 app/vendor/composer/platform_check.php delete mode 100644 app/vendor/composer/semver/src/CompilingMatcher.php create mode 100644 app/vendor/composer/semver/src/Constraint/AbstractConstraint.php delete mode 100644 app/vendor/composer/semver/src/Constraint/Bound.php create mode 100644 app/vendor/composer/semver/src/Constraint/EmptyConstraint.php delete mode 100644 app/vendor/composer/semver/src/Constraint/MatchAllConstraint.php delete mode 100644 app/vendor/composer/semver/src/Constraint/MatchNoneConstraint.php delete mode 100644 app/vendor/composer/semver/src/Interval.php delete mode 100644 app/vendor/composer/semver/src/Intervals.php delete mode 100644 app/vendor/composer/xdebug-handler/UPGRADE.md create mode 100644 app/vendor/composer/xdebug-handler/phpstan.neon.dist create mode 100644 app/vendor/doctrine/instantiator/.doctrine-project.json create mode 100644 app/vendor/doctrine/instantiator/.github/FUNDING.yml create mode 100644 app/vendor/doctrine/instantiator/.github/workflows/coding-standards.yml create mode 100644 app/vendor/doctrine/instantiator/.github/workflows/continuous-integration.yml create mode 100644 app/vendor/doctrine/instantiator/.github/workflows/phpbench.yml create mode 100644 app/vendor/doctrine/instantiator/.github/workflows/release-on-milestone-closed.yml create mode 100644 app/vendor/doctrine/instantiator/.github/workflows/static-analysis.yml create mode 100644 app/vendor/doctrine/instantiator/CONTRIBUTING.md create mode 100644 app/vendor/doctrine/instantiator/LICENSE create mode 100644 app/vendor/doctrine/instantiator/README.md create mode 100644 app/vendor/doctrine/instantiator/composer.json create mode 100644 app/vendor/doctrine/instantiator/docs/en/index.rst create mode 100644 app/vendor/doctrine/instantiator/docs/en/sidebar.rst create mode 100644 app/vendor/doctrine/instantiator/phpbench.json create mode 100644 app/vendor/doctrine/instantiator/phpcs.xml.dist create mode 100644 app/vendor/doctrine/instantiator/phpstan.neon.dist create mode 100644 app/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/ExceptionInterface.php create mode 100644 app/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/InvalidArgumentException.php create mode 100644 app/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Exception/UnexpectedValueException.php create mode 100644 app/vendor/doctrine/instantiator/src/Doctrine/Instantiator/Instantiator.php create mode 100644 app/vendor/doctrine/instantiator/src/Doctrine/Instantiator/InstantiatorInterface.php create mode 100644 app/vendor/jasny/twig-extensions/phpcs.xml.dist create mode 100644 app/vendor/jasny/twig-extensions/phpstan.neon.dist create mode 100644 app/vendor/laminas/laminas-diactoros/.laminas-ci.json delete mode 100644 app/vendor/laminas/laminas-diactoros/CHANGELOG.md create mode 100644 app/vendor/laminas/laminas-diactoros/composer.lock create mode 100644 app/vendor/laminas/laminas-diactoros/psalm-baseline.xml create mode 100644 app/vendor/laminas/laminas-diactoros/psalm.xml.dist create mode 100644 app/vendor/laminas/laminas-diactoros/src/ConfigProvider.php delete mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/DeprecatedMethodException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/DeserializationException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/InvalidArgumentException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/InvalidStreamPointerPositionException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/RuntimeException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/SerializationException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/UnreadableStreamException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/UnrecognizedProtocolVersionException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/UnrewindableStreamException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/UnseekableStreamException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/UntellableStreamException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/UnwritableStreamException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/UploadedFileAlreadyMovedException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Exception/UploadedFileErrorException.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/Module.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/RequestFactory.php delete mode 100644 app/vendor/laminas/laminas-diactoros/src/Response/EmitterInterface.php delete mode 100644 app/vendor/laminas/laminas-diactoros/src/Response/SapiEmitter.php delete mode 100644 app/vendor/laminas/laminas-diactoros/src/Response/SapiEmitterTrait.php delete mode 100644 app/vendor/laminas/laminas-diactoros/src/Response/SapiStreamEmitter.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/ResponseFactory.php delete mode 100644 app/vendor/laminas/laminas-diactoros/src/Server.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/StreamFactory.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/UploadedFileFactory.php create mode 100644 app/vendor/laminas/laminas-diactoros/src/UriFactory.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/CHANGELOG.md create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/COPYRIGHT.md create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/LICENSE.md create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/README.md create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/composer.json create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/psalm-baseline.xml create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/psalm.xml.dist create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/ConfigProvider.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/Emitter/EmitterInterface.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/Emitter/EmitterStack.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/Emitter/SapiEmitter.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/Emitter/SapiEmitterTrait.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/Emitter/SapiStreamEmitter.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/Exception/EmitterException.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/Exception/ExceptionInterface.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/Exception/InvalidEmitterException.php create mode 100644 app/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php create mode 100644 app/vendor/myclabs/deep-copy/.github/FUNDING.yml create mode 100644 app/vendor/myclabs/deep-copy/LICENSE create mode 100644 app/vendor/myclabs/deep-copy/README.md create mode 100644 app/vendor/myclabs/deep-copy/composer.json create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/DeepCopy.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Filter/KeepFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Filter/ReplaceFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyMatcher.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php create mode 100644 app/vendor/myclabs/deep-copy/src/DeepCopy/deep_copy.php delete mode 100644 app/vendor/paragonie/random_compat/LICENSE delete mode 100755 app/vendor/paragonie/random_compat/build-phar.sh delete mode 100644 app/vendor/paragonie/random_compat/composer.json delete mode 100644 app/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey delete mode 100644 app/vendor/paragonie/random_compat/dist/random_compat.phar.pubkey.asc delete mode 100644 app/vendor/paragonie/random_compat/lib/random.php delete mode 100644 app/vendor/paragonie/random_compat/other/build_phar.php delete mode 100644 app/vendor/paragonie/random_compat/psalm-autoload.php delete mode 100644 app/vendor/paragonie/random_compat/psalm.xml create mode 100644 app/vendor/phar-io/manifest/CHANGELOG.md create mode 100644 app/vendor/phar-io/manifest/LICENSE create mode 100644 app/vendor/phar-io/manifest/README.md create mode 100644 app/vendor/phar-io/manifest/composer.json create mode 100644 app/vendor/phar-io/manifest/composer.lock create mode 100644 app/vendor/phar-io/manifest/src/ManifestDocumentMapper.php create mode 100644 app/vendor/phar-io/manifest/src/ManifestLoader.php create mode 100644 app/vendor/phar-io/manifest/src/ManifestSerializer.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/ElementCollectionException.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/Exception.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/InvalidApplicationNameException.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/InvalidEmailException.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/InvalidUrlException.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/ManifestDocumentException.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/ManifestDocumentLoadingException.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/ManifestDocumentMapperException.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/ManifestElementException.php create mode 100644 app/vendor/phar-io/manifest/src/exceptions/ManifestLoaderException.php create mode 100644 app/vendor/phar-io/manifest/src/values/Application.php create mode 100644 app/vendor/phar-io/manifest/src/values/ApplicationName.php create mode 100644 app/vendor/phar-io/manifest/src/values/Author.php create mode 100644 app/vendor/phar-io/manifest/src/values/AuthorCollection.php create mode 100644 app/vendor/phar-io/manifest/src/values/AuthorCollectionIterator.php create mode 100644 app/vendor/phar-io/manifest/src/values/BundledComponent.php create mode 100644 app/vendor/phar-io/manifest/src/values/BundledComponentCollection.php create mode 100644 app/vendor/phar-io/manifest/src/values/BundledComponentCollectionIterator.php create mode 100644 app/vendor/phar-io/manifest/src/values/CopyrightInformation.php create mode 100644 app/vendor/phar-io/manifest/src/values/Email.php create mode 100644 app/vendor/phar-io/manifest/src/values/Extension.php create mode 100644 app/vendor/phar-io/manifest/src/values/Library.php create mode 100644 app/vendor/phar-io/manifest/src/values/License.php create mode 100644 app/vendor/phar-io/manifest/src/values/Manifest.php create mode 100644 app/vendor/phar-io/manifest/src/values/PhpExtensionRequirement.php create mode 100644 app/vendor/phar-io/manifest/src/values/PhpVersionRequirement.php create mode 100644 app/vendor/phar-io/manifest/src/values/Requirement.php create mode 100644 app/vendor/phar-io/manifest/src/values/RequirementCollection.php create mode 100644 app/vendor/phar-io/manifest/src/values/RequirementCollectionIterator.php create mode 100644 app/vendor/phar-io/manifest/src/values/Type.php create mode 100644 app/vendor/phar-io/manifest/src/values/Url.php create mode 100644 app/vendor/phar-io/manifest/src/xml/AuthorElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/AuthorElementCollection.php create mode 100644 app/vendor/phar-io/manifest/src/xml/BundlesElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ComponentElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ComponentElementCollection.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ContainsElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/CopyrightElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ElementCollection.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ExtElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ExtElementCollection.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ExtensionElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/LicenseElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ManifestDocument.php create mode 100644 app/vendor/phar-io/manifest/src/xml/ManifestElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/PhpElement.php create mode 100644 app/vendor/phar-io/manifest/src/xml/RequiresElement.php create mode 100644 app/vendor/phar-io/version/CHANGELOG.md create mode 100644 app/vendor/phar-io/version/LICENSE create mode 100644 app/vendor/phar-io/version/README.md create mode 100644 app/vendor/phar-io/version/composer.json create mode 100644 app/vendor/phar-io/version/src/PreReleaseSuffix.php create mode 100644 app/vendor/phar-io/version/src/Version.php create mode 100644 app/vendor/phar-io/version/src/VersionConstraintParser.php create mode 100644 app/vendor/phar-io/version/src/VersionConstraintValue.php create mode 100644 app/vendor/phar-io/version/src/VersionNumber.php create mode 100644 app/vendor/phar-io/version/src/constraints/AbstractVersionConstraint.php create mode 100644 app/vendor/phar-io/version/src/constraints/AndVersionConstraintGroup.php create mode 100644 app/vendor/phar-io/version/src/constraints/AnyVersionConstraint.php create mode 100644 app/vendor/phar-io/version/src/constraints/ExactVersionConstraint.php create mode 100644 app/vendor/phar-io/version/src/constraints/GreaterThanOrEqualToVersionConstraint.php create mode 100644 app/vendor/phar-io/version/src/constraints/OrVersionConstraintGroup.php create mode 100644 app/vendor/phar-io/version/src/constraints/SpecificMajorAndMinorVersionConstraint.php create mode 100644 app/vendor/phar-io/version/src/constraints/SpecificMajorVersionConstraint.php create mode 100644 app/vendor/phar-io/version/src/constraints/VersionConstraint.php create mode 100644 app/vendor/phar-io/version/src/exceptions/Exception.php create mode 100644 app/vendor/phar-io/version/src/exceptions/InvalidPreReleaseSuffixException.php create mode 100644 app/vendor/phar-io/version/src/exceptions/InvalidVersionException.php create mode 100644 app/vendor/phar-io/version/src/exceptions/NoPreReleaseSuffixException.php create mode 100644 app/vendor/phar-io/version/src/exceptions/UnsupportedVersionConstraintException.php create mode 100644 app/vendor/phpdocumentor/reflection-common/.github/dependabot.yml create mode 100644 app/vendor/phpdocumentor/reflection-common/.github/workflows/push.yml create mode 100644 app/vendor/phpdocumentor/reflection-common/LICENSE create mode 100644 app/vendor/phpdocumentor/reflection-common/README.md create mode 100644 app/vendor/phpdocumentor/reflection-common/composer.json create mode 100644 app/vendor/phpdocumentor/reflection-common/src/Element.php create mode 100644 app/vendor/phpdocumentor/reflection-common/src/File.php create mode 100644 app/vendor/phpdocumentor/reflection-common/src/Fqsen.php create mode 100644 app/vendor/phpdocumentor/reflection-common/src/Location.php create mode 100644 app/vendor/phpdocumentor/reflection-common/src/Project.php create mode 100644 app/vendor/phpdocumentor/reflection-common/src/ProjectFactory.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/LICENSE create mode 100644 app/vendor/phpdocumentor/reflection-docblock/README.md create mode 100644 app/vendor/phpdocumentor/reflection-docblock/composer.json create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Description.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/DescriptionFactory.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/ExampleFinder.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Serializer.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/StandardTagFactory.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tag.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/TagFactory.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Author.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/BaseTag.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Covers.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Deprecated.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Example.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Factory/StaticMethod.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/AlignFormatter.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Formatter/PassthroughFormatter.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Generic.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/InvalidTag.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Link.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Method.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Param.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Property.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyRead.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/PropertyWrite.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Fqsen.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Reference.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Reference/Url.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Return_.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/See.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Since.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Source.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/TagWithType.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Throws.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Uses.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Var_.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlock/Tags/Version.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactory.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/DocBlockFactoryInterface.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/Exception/PcreException.php create mode 100644 app/vendor/phpdocumentor/reflection-docblock/src/Utils.php create mode 100644 app/vendor/phpdocumentor/type-resolver/LICENSE create mode 100644 app/vendor/phpdocumentor/type-resolver/README.md create mode 100644 app/vendor/phpdocumentor/type-resolver/composer.json create mode 100644 app/vendor/phpdocumentor/type-resolver/src/FqsenResolver.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoType.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/CallableString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/False_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/HtmlEscapedString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/LowercaseString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyLowercaseString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NonEmptyString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/NumericString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/PositiveInteger.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/TraitString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/PseudoTypes/True_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Type.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/TypeResolver.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/AbstractList.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/AggregatedType.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/ArrayKey.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Array_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Boolean.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Callable_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/ClassString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Collection.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Compound.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Context.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/ContextFactory.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Expression.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Float_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Integer.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/InterfaceString.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Intersection.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Iterable_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Mixed_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Never_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Null_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Nullable.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Object_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Parent_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Resource_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Scalar.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Self_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Static_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/String_.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/This.php create mode 100644 app/vendor/phpdocumentor/type-resolver/src/Types/Void_.php create mode 100644 app/vendor/phpspec/prophecy/CHANGES.md create mode 100644 app/vendor/phpspec/prophecy/LICENSE create mode 100644 app/vendor/phpspec/prophecy/README.md create mode 100644 app/vendor/phpspec/prophecy/composer.json create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/ArgumentsWildcard.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValueToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/AnyValuesToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ApproximateValueToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayCountToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEntryToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ArrayEveryEntryToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/CallbackToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ExactValueToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/IdenticalValueToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/InArrayToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalAndToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/LogicalNotToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/NotInArrayToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/ObjectStateToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/StringContainsToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TokenInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Argument/Token/TypeToken.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Call/Call.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Call/CallCenter.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Comparator/ClosureComparator.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Comparator/Factory.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Comparator/ProphecyComparator.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/CachedDoubler.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ClassPatchInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/DisableConstructorPatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/HhvmExceptionPatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/KeywordPatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/MagicCallPatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ProphecySubjectPatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ReflectionClassNewInstancePatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/SplFileInfoPatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/ThrowablePatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/ClassPatch/TraversablePatch.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/DoubleInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Doubler.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCodeGenerator.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassCreator.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ClassMirror.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentNode.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ArgumentTypeNode.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ClassNode.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/MethodNode.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/ReturnTypeNode.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/Node/TypeNodeAbstract.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/ReflectionInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/Generator/TypeHintReference.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/LazyDouble.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Doubler/NameGenerator.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Call/UnexpectedCallException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassCreatorException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassMirrorException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ClassNotFoundException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoubleException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/DoublerException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/InterfaceNotFoundException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotExtendableException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/MethodNotFoundException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Doubler/ReturnByReferenceException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Exception.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/InvalidArgumentException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/AggregateException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/FailedPredictionException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/NoCallsException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/PredictionException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsCountException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prediction/UnexpectedCallsException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/MethodProphecyException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ObjectProphecyException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Exception/Prophecy/ProphecyException.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassAndInterfaceTagRetriever.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/ClassTagRetriever.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/LegacyClassTagRetriever.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/PhpDocumentor/MethodTagRetrieverInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallPrediction.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallTimesPrediction.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prediction/CallbackPrediction.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prediction/NoCallsPrediction.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prediction/PredictionInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Promise/CallbackPromise.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Promise/PromiseInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnArgumentPromise.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Promise/ReturnPromise.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Promise/ThrowPromise.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prophecy/MethodProphecy.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ObjectProphecy.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecyInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prophecy/ProphecySubjectInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prophecy/Revealer.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prophecy/RevealerInterface.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Prophet.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Util/ExportUtil.php create mode 100644 app/vendor/phpspec/prophecy/src/Prophecy/Util/StringUtil.php create mode 100644 app/vendor/phpstan/phpstan/.gitattributes create mode 100644 app/vendor/phpstan/phpstan/.gitignore create mode 100644 app/vendor/phpstan/phpstan/LICENSE create mode 100644 app/vendor/phpstan/phpstan/README.md create mode 100644 app/vendor/phpstan/phpstan/bootstrap.php create mode 100644 app/vendor/phpstan/phpstan/composer.json create mode 100644 app/vendor/phpstan/phpstan/conf/bleedingEdge.neon create mode 100755 app/vendor/phpstan/phpstan/phpstan create mode 100755 app/vendor/phpstan/phpstan/phpstan.phar create mode 100644 app/vendor/phpstan/phpstan/phpstan.phar.asc create mode 100644 app/vendor/phpunit/php-code-coverage/.gitattributes create mode 100644 app/vendor/phpunit/php-code-coverage/.github/CONTRIBUTING.md create mode 100644 app/vendor/phpunit/php-code-coverage/.github/FUNDING.yml create mode 100644 app/vendor/phpunit/php-code-coverage/.github/ISSUE_TEMPLATE.md create mode 100644 app/vendor/phpunit/php-code-coverage/.gitignore create mode 100644 app/vendor/phpunit/php-code-coverage/.php_cs.dist create mode 100644 app/vendor/phpunit/php-code-coverage/.travis.yml create mode 100644 app/vendor/phpunit/php-code-coverage/ChangeLog.md create mode 100644 app/vendor/phpunit/php-code-coverage/LICENSE create mode 100644 app/vendor/phpunit/php-code-coverage/README.md create mode 100644 app/vendor/phpunit/php-code-coverage/build.xml create mode 100644 app/vendor/phpunit/php-code-coverage/composer.json create mode 100644 app/vendor/phpunit/php-code-coverage/phive.xml create mode 100644 app/vendor/phpunit/php-code-coverage/phpunit.xml create mode 100644 app/vendor/phpunit/php-code-coverage/src/CodeCoverage.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Driver/Driver.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Driver/PCOV.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Driver/PHPDBG.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Driver/Xdebug.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Exception/CoveredCodeNotExecutedException.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Exception/Exception.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Exception/InvalidArgumentException.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Exception/MissingCoversAnnotationException.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Exception/RuntimeException.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Exception/UnintentionallyCoveredCodeException.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Filter.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Node/Builder.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Node/Directory.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Node/File.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Node/Iterator.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Clover.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Directory.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/coverage_bar.html.dist create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/bootstrap.min.css rename app/vendor/{symfony/config/Tests/Fixtures/Resource/.hiddenFile => phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/custom.css} (100%) create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/nv.d3.min.css create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/octicons.css create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/css/style.css create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/dashboard.html.dist create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory.html.dist create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/directory_item.html.dist create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file.html.dist create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/file_item.html.dist create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-code.svg create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/icons/file-directory.svg create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/bootstrap.min.js create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/d3.min.js create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/file.js create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/jquery.min.js create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/nv.d3.min.js create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/js/popper.min.js create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Template/method_item.html.dist create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/PHP.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Text.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Directory.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Util.php create mode 100644 app/vendor/phpunit/php-code-coverage/src/Version.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/TestCase.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-clover.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-crap4j.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/BankAccount-text.txt create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/BankAccount.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/BankAccountTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassExtendedTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageClassTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionParenthesesWhitespaceTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageFunctionTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodOneLineAnnotationTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodParenthesesWhitespaceTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageMethodTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageNoneTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPrivateTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotProtectedTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageNotPublicTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageNothingTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoveragePrivateTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageProtectedTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoveragePublicTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoverageTwoDefaultClassAnnotations.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoveredClass.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/CoveredFunction.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Crash.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassExtendedTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageClassTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassPublicTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageCoversClassTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageMethodTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPrivateTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotProtectedTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageNotPublicTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePrivateTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoverageProtectedTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveragePublicTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NamespaceCoveredClass.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/NotExistingCoveredElementTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/BankAccount.php.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/dashboard.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForBankAccount/index.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/dashboard.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/index.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/dashboard.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/index.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/HTML/CoverageForFileWithIgnoredLines/source_with_ignore.php.html create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/BankAccount.php.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForBankAccount/index.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/index.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForClassWithAnonymousFunction/source_with_class_and_anonymous_function.php.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/index.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/Report/XML/CoverageForFileWithIgnoredLines/source_with_ignore.php.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-clover.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-crap4j.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/class-with-anonymous-function-text.txt create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-clover.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-crap4j.xml create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/ignored-lines-text.txt create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/source_with_class_and_anonymous_function.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/source_with_ignore.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/source_with_namespace.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/source_with_oneline_annotations.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/source_with_use_statements.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/source_without_ignore.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/_files/source_without_namespace.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/bootstrap.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/BuilderTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/CloverTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/CodeCoverageTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/Crap4jTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/Exception/UnintentionallyCoveredCodeExceptionTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/FilterTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/HTMLTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/TextTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/UtilTest.php create mode 100644 app/vendor/phpunit/php-code-coverage/tests/tests/XmlTest.php create mode 100644 app/vendor/phpunit/php-file-iterator/.gitattributes create mode 100644 app/vendor/phpunit/php-file-iterator/.github/stale.yml create mode 100644 app/vendor/phpunit/php-file-iterator/.gitignore create mode 100644 app/vendor/phpunit/php-file-iterator/.php_cs.dist create mode 100644 app/vendor/phpunit/php-file-iterator/.travis.yml create mode 100644 app/vendor/phpunit/php-file-iterator/ChangeLog.md create mode 100644 app/vendor/phpunit/php-file-iterator/LICENSE create mode 100644 app/vendor/phpunit/php-file-iterator/README.md create mode 100644 app/vendor/phpunit/php-file-iterator/composer.json create mode 100644 app/vendor/phpunit/php-file-iterator/phpunit.xml create mode 100644 app/vendor/phpunit/php-file-iterator/src/Facade.php create mode 100644 app/vendor/phpunit/php-file-iterator/src/Factory.php create mode 100644 app/vendor/phpunit/php-file-iterator/src/Iterator.php create mode 100644 app/vendor/phpunit/php-file-iterator/tests/FactoryTest.php create mode 100644 app/vendor/phpunit/php-text-template/.gitattributes create mode 100644 app/vendor/phpunit/php-text-template/.gitignore create mode 100644 app/vendor/phpunit/php-text-template/LICENSE create mode 100644 app/vendor/phpunit/php-text-template/README.md create mode 100644 app/vendor/phpunit/php-text-template/composer.json create mode 100644 app/vendor/phpunit/php-text-template/src/Template.php create mode 100644 app/vendor/phpunit/php-timer/.gitattributes create mode 100644 app/vendor/phpunit/php-timer/.github/FUNDING.yml create mode 100644 app/vendor/phpunit/php-timer/.github/stale.yml create mode 100644 app/vendor/phpunit/php-timer/.gitignore create mode 100644 app/vendor/phpunit/php-timer/.php_cs.dist create mode 100644 app/vendor/phpunit/php-timer/.travis.yml create mode 100644 app/vendor/phpunit/php-timer/ChangeLog.md create mode 100644 app/vendor/phpunit/php-timer/LICENSE create mode 100644 app/vendor/phpunit/php-timer/README.md create mode 100644 app/vendor/phpunit/php-timer/build.xml create mode 100644 app/vendor/phpunit/php-timer/composer.json create mode 100644 app/vendor/phpunit/php-timer/phpunit.xml create mode 100644 app/vendor/phpunit/php-timer/src/Exception.php create mode 100644 app/vendor/phpunit/php-timer/src/RuntimeException.php create mode 100644 app/vendor/phpunit/php-timer/src/Timer.php create mode 100644 app/vendor/phpunit/php-timer/tests/TimerTest.php create mode 100644 app/vendor/phpunit/php-token-stream/.gitattributes create mode 100644 app/vendor/phpunit/php-token-stream/.gitignore create mode 100644 app/vendor/phpunit/php-token-stream/ChangeLog.md create mode 100644 app/vendor/phpunit/php-token-stream/LICENSE create mode 100644 app/vendor/phpunit/php-token-stream/README.md create mode 100644 app/vendor/phpunit/php-token-stream/composer.json create mode 100644 app/vendor/phpunit/php-token-stream/src/Abstract.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Ampersand.php create mode 100644 app/vendor/phpunit/php-token-stream/src/AndEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Array.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ArrayCast.php create mode 100644 app/vendor/phpunit/php-token-stream/src/As.php create mode 100644 app/vendor/phpunit/php-token-stream/src/At.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Backtick.php create mode 100644 app/vendor/phpunit/php-token-stream/src/BadCharacter.php create mode 100644 app/vendor/phpunit/php-token-stream/src/BoolCast.php create mode 100644 app/vendor/phpunit/php-token-stream/src/BooleanAnd.php create mode 100644 app/vendor/phpunit/php-token-stream/src/BooleanOr.php create mode 100644 app/vendor/phpunit/php-token-stream/src/CachingFactory.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Callable.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Caret.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Case.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Catch.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Character.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Class.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ClassC.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ClassNameConstant.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Clone.php create mode 100644 app/vendor/phpunit/php-token-stream/src/CloseBracket.php create mode 100644 app/vendor/phpunit/php-token-stream/src/CloseCurly.php create mode 100644 app/vendor/phpunit/php-token-stream/src/CloseSquare.php create mode 100644 app/vendor/phpunit/php-token-stream/src/CloseTag.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Coalesce.php create mode 100644 app/vendor/phpunit/php-token-stream/src/CoalesceEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Colon.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Comma.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Comment.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ConcatEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Const.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ConstantEncapsedString.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Continue.php create mode 100644 app/vendor/phpunit/php-token-stream/src/CurlyOpen.php create mode 100644 app/vendor/phpunit/php-token-stream/src/DNumber.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Dec.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Declare.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Default.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Dir.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Div.php create mode 100644 app/vendor/phpunit/php-token-stream/src/DivEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Do.php create mode 100644 app/vendor/phpunit/php-token-stream/src/DocComment.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Dollar.php create mode 100644 app/vendor/phpunit/php-token-stream/src/DollarOpenCurlyBraces.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Dot.php create mode 100644 app/vendor/phpunit/php-token-stream/src/DoubleArrow.php create mode 100644 app/vendor/phpunit/php-token-stream/src/DoubleCast.php create mode 100644 app/vendor/phpunit/php-token-stream/src/DoubleColon.php create mode 100644 app/vendor/phpunit/php-token-stream/src/DoubleQuotes.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Echo.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Ellipsis.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Else.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Elseif.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Empty.php create mode 100644 app/vendor/phpunit/php-token-stream/src/EncapsedAndWhitespace.php create mode 100644 app/vendor/phpunit/php-token-stream/src/EndHeredoc.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Enddeclare.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Endfor.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Endforeach.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Endif.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Endswitch.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Endwhile.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Equal.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Eval.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ExclamationMark.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Exit.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Extends.php create mode 100644 app/vendor/phpunit/php-token-stream/src/File.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Final.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Finally.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Fn.php create mode 100644 app/vendor/phpunit/php-token-stream/src/For.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Foreach.php create mode 100644 app/vendor/phpunit/php-token-stream/src/FuncC.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Function.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Global.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Goto.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Gt.php create mode 100644 app/vendor/phpunit/php-token-stream/src/HaltCompiler.php create mode 100644 app/vendor/phpunit/php-token-stream/src/If.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Implements.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Inc.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Include.php create mode 100644 app/vendor/phpunit/php-token-stream/src/IncludeOnce.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Includes.php create mode 100644 app/vendor/phpunit/php-token-stream/src/InlineHtml.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Instanceof.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Insteadof.php create mode 100644 app/vendor/phpunit/php-token-stream/src/IntCast.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Interface.php create mode 100644 app/vendor/phpunit/php-token-stream/src/IsEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/IsGreaterOrEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/IsIdentical.php create mode 100644 app/vendor/phpunit/php-token-stream/src/IsNotEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/IsNotIdentical.php create mode 100644 app/vendor/phpunit/php-token-stream/src/IsSmallerOrEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Isset.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Line.php create mode 100644 app/vendor/phpunit/php-token-stream/src/List.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Lnumber.php create mode 100644 app/vendor/phpunit/php-token-stream/src/LogicalAnd.php create mode 100644 app/vendor/phpunit/php-token-stream/src/LogicalOr.php create mode 100644 app/vendor/phpunit/php-token-stream/src/LogicalXor.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Lt.php create mode 100644 app/vendor/phpunit/php-token-stream/src/MethodC.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Minus.php create mode 100644 app/vendor/phpunit/php-token-stream/src/MinusEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ModEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/MulEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Mult.php create mode 100644 app/vendor/phpunit/php-token-stream/src/NameFullyQualified.php create mode 100644 app/vendor/phpunit/php-token-stream/src/NameQualified.php create mode 100644 app/vendor/phpunit/php-token-stream/src/NameRelative.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Namespace.php create mode 100644 app/vendor/phpunit/php-token-stream/src/New.php create mode 100644 app/vendor/phpunit/php-token-stream/src/NsC.php create mode 100644 app/vendor/phpunit/php-token-stream/src/NsSeparator.php create mode 100644 app/vendor/phpunit/php-token-stream/src/NumString.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ObjectCast.php create mode 100644 app/vendor/phpunit/php-token-stream/src/ObjectOperator.php create mode 100644 app/vendor/phpunit/php-token-stream/src/OpenBracket.php create mode 100644 app/vendor/phpunit/php-token-stream/src/OpenCurly.php create mode 100644 app/vendor/phpunit/php-token-stream/src/OpenSquare.php create mode 100644 app/vendor/phpunit/php-token-stream/src/OpenTag.php create mode 100644 app/vendor/phpunit/php-token-stream/src/OpenTagWithEcho.php create mode 100644 app/vendor/phpunit/php-token-stream/src/OrEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/PaamayimNekudotayim.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Percent.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Pipe.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Plus.php create mode 100644 app/vendor/phpunit/php-token-stream/src/PlusEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Pow.php create mode 100644 app/vendor/phpunit/php-token-stream/src/PowEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Print.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Private.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Protected.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Public.php create mode 100644 app/vendor/phpunit/php-token-stream/src/QuestionMark.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Require.php create mode 100644 app/vendor/phpunit/php-token-stream/src/RequireOnce.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Return.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Semicolon.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Sl.php create mode 100644 app/vendor/phpunit/php-token-stream/src/SlEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Spaceship.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Sr.php create mode 100644 app/vendor/phpunit/php-token-stream/src/SrEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/StartHeredoc.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Static.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Stream.php create mode 100644 app/vendor/phpunit/php-token-stream/src/String.php create mode 100644 app/vendor/phpunit/php-token-stream/src/StringCast.php create mode 100644 app/vendor/phpunit/php-token-stream/src/StringVarname.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Switch.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Throw.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Tilde.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Token.php create mode 100644 app/vendor/phpunit/php-token-stream/src/TokenWithScope.php create mode 100644 app/vendor/phpunit/php-token-stream/src/TokenWithScopeAndVisibility.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Trait.php create mode 100644 app/vendor/phpunit/php-token-stream/src/TraitC.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Try.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Unset.php create mode 100644 app/vendor/phpunit/php-token-stream/src/UnsetCast.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Use.php create mode 100644 app/vendor/phpunit/php-token-stream/src/UseFunction.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Util.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Var.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Variable.php create mode 100644 app/vendor/phpunit/php-token-stream/src/While.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Whitespace.php create mode 100644 app/vendor/phpunit/php-token-stream/src/XorEqual.php create mode 100644 app/vendor/phpunit/php-token-stream/src/Yield.php create mode 100644 app/vendor/phpunit/php-token-stream/src/YieldFrom.php create mode 100644 app/vendor/phpunit/php-token-stream/src/break.php create mode 100644 app/vendor/phpunit/phpunit/.phpstorm.meta.php create mode 100644 app/vendor/phpunit/phpunit/ChangeLog-8.5.md create mode 100644 app/vendor/phpunit/phpunit/LICENSE create mode 100644 app/vendor/phpunit/phpunit/README.md create mode 100644 app/vendor/phpunit/phpunit/composer.json create mode 100755 app/vendor/phpunit/phpunit/phpunit create mode 100644 app/vendor/phpunit/phpunit/phpunit.xsd create mode 100644 app/vendor/phpunit/phpunit/src/Exception.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Assert.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/ArrayHasKey.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/ArraySubset.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/Attribute.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/Callback.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasAttribute.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/ClassHasStaticAttribute.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/Composite.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/Count.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/DirectoryExists.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/Exception.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionCode.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessage.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/ExceptionMessageRegularExpression.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/FileExists.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/GreaterThan.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsAnything.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsEmpty.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsEqual.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsFalse.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsFinite.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsIdentical.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsInfinite.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsInstanceOf.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsJson.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsNan.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsNull.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsReadable.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsTrue.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsType.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/IsWritable.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatches.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/JsonMatchesErrorMessageProvider.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/LessThan.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalAnd.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalNot.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalOr.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/LogicalXor.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/ObjectHasAttribute.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/RegularExpression.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/SameSize.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/StringContains.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/StringEndsWith.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/StringMatchesFormatDescription.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/StringStartsWith.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContains.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsEqual.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsIdentical.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Constraint/TraversableContainsOnly.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/DataProviderTestSuite.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Error/Deprecated.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Error/Error.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Error/Notice.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Error/Warning.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/AssertionFailedError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/CodeCoverageException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/CoveredCodeNotExecutedException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/Exception.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/ExpectationFailedException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/IncompleteTestError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/InvalidArgumentException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/InvalidCoversTargetException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/InvalidDataProviderException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/MissingCoversAnnotationException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/NoChildTestSuiteException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/OutputError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/PHPTAssertionFailedError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/RiskyTestError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/SkippedTestError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/SkippedTestSuiteError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/SyntheticError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/SyntheticSkippedError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/UnintentionallyCoveredCodeError.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Exception/Warning.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/ExceptionWrapper.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/IncompleteTest.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/IncompleteTestCase.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/InvalidParameterGroupException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Api/Api.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Api/Method.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Api/MockedCloneMethod.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Api/UnmockedCloneMethod.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Identity.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationMocker.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/InvocationStubber.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Match_.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/MethodNameMatch.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/ParametersMatch.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Builder/Stub.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/BadMethodCallException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/ConfigurableMethodsAlreadyInitializedException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/IncompatibleReturnValueException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/RuntimeException.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/deprecation.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_class.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_method.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_method_void.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/mocked_static_method.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/proxied_method.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/proxied_method_void.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/trait_class.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/wsdl_class.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/wsdl_method.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Invocation.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/InvocationHandler.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Matcher.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/MethodNameConstraint.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/MockClass.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethod.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/MockMethodSet.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/MockObject.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/MockTrait.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/MockType.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/AnyInvokedCount.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/AnyParameters.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/ConsecutiveParameters.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/InvocationOrder.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtIndex.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastCount.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtLeastOnce.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedAtMostCount.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/InvokedCount.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/MethodName.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/Parameters.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Rule/ParametersRule.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ConsecutiveCalls.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/Exception.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnArgument.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnCallback.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnReference.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnSelf.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnStub.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/ReturnValueMap.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Stub/Stub.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/MockObject/Verifiable.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/SelfDescribing.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/SkippedTest.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/SkippedTestCase.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/Test.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/TestBuilder.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/TestCase.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/TestFailure.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/TestListener.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/TestListenerDefaultImplementation.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/TestResult.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/TestSuite.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/TestSuiteIterator.php create mode 100644 app/vendor/phpunit/phpunit/src/Framework/WarningTestCase.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/BaseTestRunner.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/DefaultTestResultCache.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Exception.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Filter/ExcludeGroupFilterIterator.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Filter/GroupFilterIterator.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Filter/IncludeGroupFilterIterator.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Filter/NameFilterIterator.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterIncompleteTestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterLastTestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterRiskyTestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterSkippedTestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterSuccessfulTestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestErrorHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestFailureHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/AfterTestWarningHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/BeforeFirstTestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/BeforeTestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/Hook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/TestHook.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Hook/TestListenerAdapter.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/NullTestResultCache.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/PhptTestCase.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/ResultCacheExtension.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/StandardTestSuiteLoader.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/TestResultCache.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/TestSuiteLoader.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/TestSuiteSorter.php create mode 100644 app/vendor/phpunit/phpunit/src/Runner/Version.php create mode 100644 app/vendor/phpunit/phpunit/src/TextUI/Command.php create mode 100644 app/vendor/phpunit/phpunit/src/TextUI/Exception.php create mode 100644 app/vendor/phpunit/phpunit/src/TextUI/Help.php create mode 100644 app/vendor/phpunit/phpunit/src/TextUI/ResultPrinter.php create mode 100644 app/vendor/phpunit/phpunit/src/TextUI/TestRunner.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Annotation/DocBlock.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Annotation/Registry.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Blacklist.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Color.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Configuration.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/ConfigurationGenerator.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/ErrorHandler.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Exception.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/FileLoader.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Filesystem.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Filter.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Getopt.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/GlobalState.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/InvalidDataSetException.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Json.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Log/JUnit.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Log/TeamCity.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/PHP/AbstractPhpProcess.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/PHP/DefaultPhpProcess.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/PHP/Template/PhptTestCase.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseClass.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Util/PHP/Template/TestCaseMethod.tpl create mode 100644 app/vendor/phpunit/phpunit/src/Util/PHP/WindowsPhpProcess.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Printer.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/RegularExpression.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Test.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/TestDox/CliTestDoxPrinter.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/TestDox/HtmlResultPrinter.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/TestDox/NamePrettifier.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/TestDox/ResultPrinter.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/TestDox/TestDoxPrinter.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/TestDox/TextResultPrinter.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/TestDox/XmlResultPrinter.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/TextTestListRenderer.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Type.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/VersionComparisonOperator.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/XdebugFilterScriptGenerator.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/Xml.php create mode 100644 app/vendor/phpunit/phpunit/src/Util/XmlTestListRenderer.php create mode 100644 app/vendor/psr/container/.gitignore create mode 100644 app/vendor/psr/container/LICENSE create mode 100644 app/vendor/psr/container/README.md create mode 100644 app/vendor/psr/container/composer.json create mode 100644 app/vendor/psr/container/src/ContainerExceptionInterface.php create mode 100644 app/vendor/psr/container/src/ContainerInterface.php create mode 100644 app/vendor/psr/container/src/NotFoundExceptionInterface.php create mode 100644 app/vendor/psr/http-client/CHANGELOG.md create mode 100644 app/vendor/psr/http-client/LICENSE create mode 100644 app/vendor/psr/http-client/README.md create mode 100644 app/vendor/psr/http-client/composer.json create mode 100644 app/vendor/psr/http-client/src/ClientExceptionInterface.php create mode 100644 app/vendor/psr/http-client/src/ClientInterface.php create mode 100644 app/vendor/psr/http-client/src/NetworkExceptionInterface.php create mode 100644 app/vendor/psr/http-client/src/RequestExceptionInterface.php create mode 100644 app/vendor/psr/http-factory/.gitignore create mode 100644 app/vendor/psr/http-factory/.pullapprove.yml create mode 100644 app/vendor/psr/http-factory/LICENSE create mode 100644 app/vendor/psr/http-factory/README.md create mode 100644 app/vendor/psr/http-factory/composer.json create mode 100644 app/vendor/psr/http-factory/src/RequestFactoryInterface.php create mode 100644 app/vendor/psr/http-factory/src/ResponseFactoryInterface.php create mode 100644 app/vendor/psr/http-factory/src/ServerRequestFactoryInterface.php create mode 100644 app/vendor/psr/http-factory/src/StreamFactoryInterface.php create mode 100644 app/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php create mode 100644 app/vendor/psr/http-factory/src/UriFactoryInterface.php create mode 100644 app/vendor/psr/http-server-handler/LICENSE create mode 100644 app/vendor/psr/http-server-handler/README.md create mode 100644 app/vendor/psr/http-server-handler/composer.json create mode 100644 app/vendor/psr/http-server-handler/src/RequestHandlerInterface.php create mode 100644 app/vendor/psr/http-server-middleware/LICENSE create mode 100644 app/vendor/psr/http-server-middleware/README.md create mode 100644 app/vendor/psr/http-server-middleware/composer.json create mode 100644 app/vendor/psr/http-server-middleware/src/MiddlewareInterface.php delete mode 100644 app/vendor/react/promise/CHANGELOG.md delete mode 100644 app/vendor/react/promise/LICENSE delete mode 100644 app/vendor/react/promise/README.md delete mode 100644 app/vendor/react/promise/composer.json delete mode 100644 app/vendor/react/promise/src/CancellablePromiseInterface.php delete mode 100644 app/vendor/react/promise/src/CancellationQueue.php delete mode 100644 app/vendor/react/promise/src/Deferred.php delete mode 100644 app/vendor/react/promise/src/Exception/LengthException.php delete mode 100644 app/vendor/react/promise/src/ExtendedPromiseInterface.php delete mode 100644 app/vendor/react/promise/src/FulfilledPromise.php delete mode 100644 app/vendor/react/promise/src/LazyPromise.php delete mode 100644 app/vendor/react/promise/src/Promise.php delete mode 100644 app/vendor/react/promise/src/PromiseInterface.php delete mode 100644 app/vendor/react/promise/src/PromisorInterface.php delete mode 100644 app/vendor/react/promise/src/RejectedPromise.php delete mode 100644 app/vendor/react/promise/src/UnhandledRejectionException.php delete mode 100644 app/vendor/react/promise/src/functions.php delete mode 100644 app/vendor/react/promise/src/functions_include.php create mode 100644 app/vendor/robmorgan/phinx/.stickler.yml delete mode 100644 app/vendor/robmorgan/phinx/BACKERS.md delete mode 100644 app/vendor/robmorgan/phinx/CHANGELOG.md delete mode 100644 app/vendor/robmorgan/phinx/CONTRIBUTING.md delete mode 100644 app/vendor/robmorgan/phinx/UPGRADE_0.6.md delete mode 100644 app/vendor/robmorgan/phinx/UPGRADE_0.8.md delete mode 100644 app/vendor/robmorgan/phinx/appveyor.yml delete mode 100644 app/vendor/robmorgan/phinx/box.json create mode 100644 app/vendor/robmorgan/phinx/data/phinx.json.dist create mode 100644 app/vendor/robmorgan/phinx/data/phinx.php.dist create mode 100644 app/vendor/robmorgan/phinx/data/phinx.yml.dist rename app/vendor/{symfony/config/Tests/Fixtures/Util/not_readable.xml => robmorgan/phinx/docs/config/__init__.py} (100%) create mode 100644 app/vendor/robmorgan/phinx/docs/config/all.py create mode 100644 app/vendor/robmorgan/phinx/docs/en/commands.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/conf.py create mode 100644 app/vendor/robmorgan/phinx/docs/en/configuration.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/contents.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/copyright.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/goals.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/index.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/install.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/intro.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/migrations.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/namespaces.rst create mode 100644 app/vendor/robmorgan/phinx/docs/en/seeding.rst create mode 100644 app/vendor/robmorgan/phinx/docs/es/commands.rst create mode 100644 app/vendor/robmorgan/phinx/docs/es/conf.py create mode 100644 app/vendor/robmorgan/phinx/docs/es/contents.rst create mode 100644 app/vendor/robmorgan/phinx/docs/fr/commands.rst create mode 100644 app/vendor/robmorgan/phinx/docs/fr/conf.py create mode 100644 app/vendor/robmorgan/phinx/docs/fr/configuration.rst create mode 100644 app/vendor/robmorgan/phinx/docs/fr/contents.rst create mode 100644 app/vendor/robmorgan/phinx/docs/fr/index.rst create mode 100644 app/vendor/robmorgan/phinx/docs/fr/migrations.rst create mode 100644 app/vendor/robmorgan/phinx/docs/fr/seeding.rst create mode 100644 app/vendor/robmorgan/phinx/docs/ja/commands.rst create mode 100644 app/vendor/robmorgan/phinx/docs/ja/conf.py create mode 100644 app/vendor/robmorgan/phinx/docs/ja/configuration.rst create mode 100644 app/vendor/robmorgan/phinx/docs/ja/contents.rst create mode 100644 app/vendor/robmorgan/phinx/docs/ja/index.rst create mode 100644 app/vendor/robmorgan/phinx/docs/ja/migrations.rst create mode 100644 app/vendor/robmorgan/phinx/docs/ja/seeding.rst delete mode 100644 app/vendor/robmorgan/phinx/phinx.yml create mode 100644 app/vendor/robmorgan/phinx/phpstan-baseline.neon delete mode 100644 app/vendor/robmorgan/phinx/phpstan.neon create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Config/NamespaceAwareInterface.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Config/NamespaceAwareTrait.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Console/Command/ListAliases.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/Action.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/AddColumn.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/AddForeignKey.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/AddIndex.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/ChangeColumn.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/ChangeComment.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/ChangePrimaryKey.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/CreateTable.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/DropForeignKey.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/DropIndex.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/DropTable.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/RemoveColumn.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/RenameColumn.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Action/RenameTable.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/AbstractAdapter.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/DirectActionInterface.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/TimedOutputAdapter.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/UnsupportedColumnTypeException.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Plan/AlterTable.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Plan/Intent.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Plan/NewTable.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Plan/Plan.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Plan/Solver/ActionSplitter.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Table/Table.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Db/Util/AlterInstructions.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Util/Expression.php create mode 100644 app/vendor/robmorgan/phinx/src/Phinx/Util/Literal.php create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/.gitignore create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/.php_cs create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/.travis.yml create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/ChangeLog.md create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/LICENSE create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/README.md create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/build.xml create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/composer.json create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/phpunit.xml create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/src/Wizard.php create mode 100644 app/vendor/sebastian/code-unit-reverse-lookup/tests/WizardTest.php create mode 100644 app/vendor/sebastian/comparator/.github/stale.yml create mode 100644 app/vendor/sebastian/comparator/.gitignore create mode 100644 app/vendor/sebastian/comparator/.php_cs.dist create mode 100644 app/vendor/sebastian/comparator/.travis.yml create mode 100644 app/vendor/sebastian/comparator/ChangeLog.md create mode 100644 app/vendor/sebastian/comparator/LICENSE create mode 100644 app/vendor/sebastian/comparator/README.md create mode 100644 app/vendor/sebastian/comparator/build.xml create mode 100644 app/vendor/sebastian/comparator/composer.json create mode 100644 app/vendor/sebastian/comparator/phpunit.xml create mode 100644 app/vendor/sebastian/comparator/src/ArrayComparator.php create mode 100644 app/vendor/sebastian/comparator/src/Comparator.php create mode 100644 app/vendor/sebastian/comparator/src/ComparisonFailure.php create mode 100644 app/vendor/sebastian/comparator/src/DOMNodeComparator.php create mode 100644 app/vendor/sebastian/comparator/src/DateTimeComparator.php create mode 100644 app/vendor/sebastian/comparator/src/DoubleComparator.php create mode 100644 app/vendor/sebastian/comparator/src/ExceptionComparator.php create mode 100644 app/vendor/sebastian/comparator/src/Factory.php create mode 100644 app/vendor/sebastian/comparator/src/MockObjectComparator.php create mode 100644 app/vendor/sebastian/comparator/src/NumericComparator.php create mode 100644 app/vendor/sebastian/comparator/src/ObjectComparator.php create mode 100644 app/vendor/sebastian/comparator/src/ResourceComparator.php create mode 100644 app/vendor/sebastian/comparator/src/ScalarComparator.php create mode 100644 app/vendor/sebastian/comparator/src/SplObjectStorageComparator.php create mode 100644 app/vendor/sebastian/comparator/src/TypeComparator.php create mode 100644 app/vendor/sebastian/comparator/tests/ArrayComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/ComparisonFailureTest.php create mode 100644 app/vendor/sebastian/comparator/tests/DOMNodeComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/DateTimeComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/DoubleComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/ExceptionComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/FactoryTest.php create mode 100644 app/vendor/sebastian/comparator/tests/MockObjectComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/NumericComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/ObjectComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/ResourceComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/ScalarComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/SplObjectStorageComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/TypeComparatorTest.php create mode 100644 app/vendor/sebastian/comparator/tests/_fixture/Author.php create mode 100644 app/vendor/sebastian/comparator/tests/_fixture/Book.php create mode 100644 app/vendor/sebastian/comparator/tests/_fixture/ClassWithToString.php create mode 100644 app/vendor/sebastian/comparator/tests/_fixture/SampleClass.php create mode 100644 app/vendor/sebastian/comparator/tests/_fixture/Struct.php create mode 100644 app/vendor/sebastian/comparator/tests/_fixture/TestClass.php create mode 100644 app/vendor/sebastian/comparator/tests/_fixture/TestClassComparator.php create mode 100644 app/vendor/sebastian/diff/.github/stale.yml create mode 100644 app/vendor/sebastian/diff/.gitignore create mode 100644 app/vendor/sebastian/diff/.php_cs.dist create mode 100644 app/vendor/sebastian/diff/.travis.yml create mode 100644 app/vendor/sebastian/diff/ChangeLog.md create mode 100644 app/vendor/sebastian/diff/LICENSE create mode 100644 app/vendor/sebastian/diff/README.md create mode 100644 app/vendor/sebastian/diff/build.xml create mode 100644 app/vendor/sebastian/diff/composer.json create mode 100644 app/vendor/sebastian/diff/phpunit.xml create mode 100644 app/vendor/sebastian/diff/src/Chunk.php create mode 100644 app/vendor/sebastian/diff/src/Diff.php create mode 100644 app/vendor/sebastian/diff/src/Differ.php create mode 100644 app/vendor/sebastian/diff/src/Exception/ConfigurationException.php create mode 100644 app/vendor/sebastian/diff/src/Exception/Exception.php create mode 100644 app/vendor/sebastian/diff/src/Exception/InvalidArgumentException.php create mode 100644 app/vendor/sebastian/diff/src/Line.php create mode 100644 app/vendor/sebastian/diff/src/LongestCommonSubsequenceCalculator.php create mode 100644 app/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php create mode 100644 app/vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php create mode 100644 app/vendor/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php create mode 100644 app/vendor/sebastian/diff/src/Output/DiffOutputBuilderInterface.php create mode 100644 app/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php create mode 100644 app/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php create mode 100644 app/vendor/sebastian/diff/src/Parser.php create mode 100644 app/vendor/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php create mode 100644 app/vendor/sebastian/diff/tests/ChunkTest.php create mode 100644 app/vendor/sebastian/diff/tests/DiffTest.php create mode 100644 app/vendor/sebastian/diff/tests/DifferTest.php create mode 100644 app/vendor/sebastian/diff/tests/Exception/ConfigurationExceptionTest.php create mode 100644 app/vendor/sebastian/diff/tests/Exception/InvalidArgumentExceptionTest.php create mode 100644 app/vendor/sebastian/diff/tests/LineTest.php create mode 100644 app/vendor/sebastian/diff/tests/LongestCommonSubsequenceTest.php create mode 100644 app/vendor/sebastian/diff/tests/MemoryEfficientImplementationTest.php create mode 100644 app/vendor/sebastian/diff/tests/Output/AbstractChunkOutputBuilderTest.php create mode 100644 app/vendor/sebastian/diff/tests/Output/DiffOnlyOutputBuilderTest.php create mode 100644 app/vendor/sebastian/diff/tests/Output/Integration/StrictUnifiedDiffOutputBuilderIntegrationTest.php create mode 100644 app/vendor/sebastian/diff/tests/Output/Integration/UnifiedDiffOutputBuilderIntegrationTest.php create mode 100644 app/vendor/sebastian/diff/tests/Output/StrictUnifiedDiffOutputBuilderDataProvider.php create mode 100644 app/vendor/sebastian/diff/tests/Output/StrictUnifiedDiffOutputBuilderTest.php create mode 100644 app/vendor/sebastian/diff/tests/Output/UnifiedDiffOutputBuilderDataProvider.php create mode 100644 app/vendor/sebastian/diff/tests/Output/UnifiedDiffOutputBuilderTest.php create mode 100644 app/vendor/sebastian/diff/tests/ParserTest.php create mode 100644 app/vendor/sebastian/diff/tests/TimeEfficientImplementationTest.php create mode 100644 app/vendor/sebastian/diff/tests/Utils/FileUtils.php create mode 100644 app/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTrait.php create mode 100644 app/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTraitIntegrationTest.php create mode 100644 app/vendor/sebastian/diff/tests/Utils/UnifiedDiffAssertTraitTest.php create mode 100644 app/vendor/sebastian/diff/tests/fixtures/.editorconfig create mode 100644 app/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/1_a.txt rename app/vendor/{symfony/config/Tests/Fixtures/foo.xml => sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/1_b.txt} (100%) create mode 100644 app/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/2_a.txt create mode 100644 app/vendor/sebastian/diff/tests/fixtures/UnifiedDiffAssertTraitIntegrationTest/2_b.txt create mode 100644 app/vendor/sebastian/diff/tests/fixtures/out/.editorconfig create mode 100644 app/vendor/sebastian/diff/tests/fixtures/out/.gitignore create mode 100644 app/vendor/sebastian/diff/tests/fixtures/patch.txt create mode 100644 app/vendor/sebastian/diff/tests/fixtures/patch2.txt create mode 100644 app/vendor/sebastian/diff/tests/fixtures/serialized_diff.bin create mode 100644 app/vendor/sebastian/environment/.github/FUNDING.yml create mode 100644 app/vendor/sebastian/environment/.gitignore create mode 100644 app/vendor/sebastian/environment/.php_cs.dist create mode 100644 app/vendor/sebastian/environment/.travis.yml create mode 100644 app/vendor/sebastian/environment/ChangeLog.md create mode 100644 app/vendor/sebastian/environment/LICENSE create mode 100644 app/vendor/sebastian/environment/README.md create mode 100644 app/vendor/sebastian/environment/build.xml create mode 100644 app/vendor/sebastian/environment/composer.json create mode 100644 app/vendor/sebastian/environment/phpunit.xml create mode 100644 app/vendor/sebastian/environment/src/Console.php create mode 100644 app/vendor/sebastian/environment/src/OperatingSystem.php create mode 100644 app/vendor/sebastian/environment/src/Runtime.php create mode 100644 app/vendor/sebastian/environment/tests/ConsoleTest.php create mode 100644 app/vendor/sebastian/environment/tests/OperatingSystemTest.php create mode 100644 app/vendor/sebastian/environment/tests/RuntimeTest.php create mode 100644 app/vendor/sebastian/exporter/.github/FUNDING.yml create mode 100644 app/vendor/sebastian/exporter/.gitignore create mode 100644 app/vendor/sebastian/exporter/.php_cs.dist create mode 100644 app/vendor/sebastian/exporter/.travis.yml create mode 100644 app/vendor/sebastian/exporter/ChangeLog.md create mode 100644 app/vendor/sebastian/exporter/LICENSE create mode 100644 app/vendor/sebastian/exporter/README.md create mode 100644 app/vendor/sebastian/exporter/build.xml create mode 100644 app/vendor/sebastian/exporter/composer.json create mode 100644 app/vendor/sebastian/exporter/phpunit.xml create mode 100644 app/vendor/sebastian/exporter/src/Exporter.php create mode 100644 app/vendor/sebastian/exporter/tests/ExporterTest.php create mode 100644 app/vendor/sebastian/global-state/.github/stale.yml create mode 100644 app/vendor/sebastian/global-state/.gitignore create mode 100644 app/vendor/sebastian/global-state/.php_cs.dist create mode 100644 app/vendor/sebastian/global-state/.travis.yml create mode 100644 app/vendor/sebastian/global-state/ChangeLog.md create mode 100644 app/vendor/sebastian/global-state/LICENSE create mode 100644 app/vendor/sebastian/global-state/README.md create mode 100644 app/vendor/sebastian/global-state/build.xml create mode 100644 app/vendor/sebastian/global-state/composer.json create mode 100644 app/vendor/sebastian/global-state/phpunit.xml create mode 100644 app/vendor/sebastian/global-state/src/Blacklist.php create mode 100644 app/vendor/sebastian/global-state/src/CodeExporter.php create mode 100644 app/vendor/sebastian/global-state/src/Restorer.php create mode 100644 app/vendor/sebastian/global-state/src/Snapshot.php create mode 100644 app/vendor/sebastian/global-state/src/exceptions/Exception.php create mode 100644 app/vendor/sebastian/global-state/src/exceptions/RuntimeException.php create mode 100644 app/vendor/sebastian/global-state/tests/BlacklistTest.php create mode 100644 app/vendor/sebastian/global-state/tests/CodeExporterTest.php create mode 100644 app/vendor/sebastian/global-state/tests/RestorerTest.php create mode 100644 app/vendor/sebastian/global-state/tests/SnapshotTest.php create mode 100644 app/vendor/sebastian/global-state/tests/_fixture/BlacklistedChildClass.php create mode 100644 app/vendor/sebastian/global-state/tests/_fixture/BlacklistedClass.php create mode 100644 app/vendor/sebastian/global-state/tests/_fixture/BlacklistedImplementor.php create mode 100644 app/vendor/sebastian/global-state/tests/_fixture/BlacklistedInterface.php create mode 100644 app/vendor/sebastian/global-state/tests/_fixture/SnapshotClass.php create mode 100644 app/vendor/sebastian/global-state/tests/_fixture/SnapshotDomDocument.php create mode 100644 app/vendor/sebastian/global-state/tests/_fixture/SnapshotFunctions.php create mode 100644 app/vendor/sebastian/global-state/tests/_fixture/SnapshotTrait.php create mode 100644 app/vendor/sebastian/object-enumerator/.gitignore create mode 100644 app/vendor/sebastian/object-enumerator/.php_cs create mode 100644 app/vendor/sebastian/object-enumerator/.travis.yml create mode 100644 app/vendor/sebastian/object-enumerator/ChangeLog.md create mode 100644 app/vendor/sebastian/object-enumerator/LICENSE create mode 100644 app/vendor/sebastian/object-enumerator/README.md create mode 100644 app/vendor/sebastian/object-enumerator/build.xml create mode 100644 app/vendor/sebastian/object-enumerator/composer.json create mode 100644 app/vendor/sebastian/object-enumerator/phpunit.xml create mode 100644 app/vendor/sebastian/object-enumerator/src/Enumerator.php create mode 100644 app/vendor/sebastian/object-enumerator/src/Exception.php create mode 100644 app/vendor/sebastian/object-enumerator/src/InvalidArgumentException.php create mode 100644 app/vendor/sebastian/object-enumerator/tests/EnumeratorTest.php create mode 100644 app/vendor/sebastian/object-enumerator/tests/_fixture/ExceptionThrower.php create mode 100644 app/vendor/sebastian/object-reflector/.gitignore create mode 100644 app/vendor/sebastian/object-reflector/.php_cs create mode 100644 app/vendor/sebastian/object-reflector/.travis.yml create mode 100644 app/vendor/sebastian/object-reflector/ChangeLog.md create mode 100644 app/vendor/sebastian/object-reflector/LICENSE create mode 100644 app/vendor/sebastian/object-reflector/README.md create mode 100644 app/vendor/sebastian/object-reflector/build.xml create mode 100644 app/vendor/sebastian/object-reflector/composer.json create mode 100644 app/vendor/sebastian/object-reflector/phpunit.xml create mode 100644 app/vendor/sebastian/object-reflector/src/Exception.php create mode 100644 app/vendor/sebastian/object-reflector/src/InvalidArgumentException.php create mode 100644 app/vendor/sebastian/object-reflector/src/ObjectReflector.php create mode 100644 app/vendor/sebastian/object-reflector/tests/ObjectReflectorTest.php create mode 100644 app/vendor/sebastian/object-reflector/tests/_fixture/ChildClass.php create mode 100644 app/vendor/sebastian/object-reflector/tests/_fixture/ClassWithIntegerAttributeName.php create mode 100644 app/vendor/sebastian/object-reflector/tests/_fixture/ParentClass.php create mode 100644 app/vendor/sebastian/recursion-context/.gitignore create mode 100644 app/vendor/sebastian/recursion-context/.travis.yml create mode 100644 app/vendor/sebastian/recursion-context/LICENSE create mode 100644 app/vendor/sebastian/recursion-context/README.md create mode 100644 app/vendor/sebastian/recursion-context/build.xml create mode 100644 app/vendor/sebastian/recursion-context/composer.json create mode 100644 app/vendor/sebastian/recursion-context/phpunit.xml create mode 100644 app/vendor/sebastian/recursion-context/src/Context.php create mode 100644 app/vendor/sebastian/recursion-context/src/Exception.php create mode 100644 app/vendor/sebastian/recursion-context/src/InvalidArgumentException.php create mode 100644 app/vendor/sebastian/recursion-context/tests/ContextTest.php create mode 100644 app/vendor/sebastian/resource-operations/.github/stale.yml create mode 100644 app/vendor/sebastian/resource-operations/.gitignore create mode 100644 app/vendor/sebastian/resource-operations/.php_cs.dist create mode 100644 app/vendor/sebastian/resource-operations/ChangeLog.md create mode 100644 app/vendor/sebastian/resource-operations/LICENSE create mode 100644 app/vendor/sebastian/resource-operations/README.md create mode 100644 app/vendor/sebastian/resource-operations/build.xml create mode 100755 app/vendor/sebastian/resource-operations/build/generate.php create mode 100644 app/vendor/sebastian/resource-operations/composer.json create mode 100644 app/vendor/sebastian/resource-operations/src/ResourceOperations.php create mode 100644 app/vendor/sebastian/resource-operations/tests/ResourceOperationsTest.php create mode 100644 app/vendor/sebastian/type/.gitattributes create mode 100644 app/vendor/sebastian/type/.github/FUNDING.yml create mode 100644 app/vendor/sebastian/type/.gitignore create mode 100644 app/vendor/sebastian/type/.idea/inspectionProfiles/Project_Default.xml create mode 100644 app/vendor/sebastian/type/.idea/misc.xml create mode 100644 app/vendor/sebastian/type/.idea/modules.xml create mode 100644 app/vendor/sebastian/type/.idea/php-inspections-ea-ultimate.xml create mode 100644 app/vendor/sebastian/type/.idea/php.xml create mode 100644 app/vendor/sebastian/type/.idea/type.iml create mode 100644 app/vendor/sebastian/type/.idea/vcs.xml create mode 100644 app/vendor/sebastian/type/.php_cs.dist create mode 100644 app/vendor/sebastian/type/.travis.yml create mode 100644 app/vendor/sebastian/type/ChangeLog.md create mode 100644 app/vendor/sebastian/type/LICENSE create mode 100644 app/vendor/sebastian/type/README.md create mode 100644 app/vendor/sebastian/type/build.xml create mode 100644 app/vendor/sebastian/type/composer.json create mode 100644 app/vendor/sebastian/type/phive.xml create mode 100644 app/vendor/sebastian/type/phpunit.xml create mode 100644 app/vendor/sebastian/type/psalm.xml create mode 100644 app/vendor/sebastian/type/src/CallableType.php create mode 100644 app/vendor/sebastian/type/src/GenericObjectType.php create mode 100644 app/vendor/sebastian/type/src/IterableType.php create mode 100644 app/vendor/sebastian/type/src/NullType.php create mode 100644 app/vendor/sebastian/type/src/ObjectType.php create mode 100644 app/vendor/sebastian/type/src/SimpleType.php create mode 100644 app/vendor/sebastian/type/src/Type.php create mode 100644 app/vendor/sebastian/type/src/TypeName.php create mode 100644 app/vendor/sebastian/type/src/UnknownType.php create mode 100644 app/vendor/sebastian/type/src/VoidType.php create mode 100644 app/vendor/sebastian/type/src/exception/Exception.php create mode 100644 app/vendor/sebastian/type/src/exception/RuntimeException.php create mode 100644 app/vendor/sebastian/type/tests/_fixture/ChildClass.php create mode 100644 app/vendor/sebastian/type/tests/_fixture/ClassWithCallbackMethods.php create mode 100644 app/vendor/sebastian/type/tests/_fixture/ClassWithInvokeMethod.php create mode 100644 app/vendor/sebastian/type/tests/_fixture/Iterator.php create mode 100644 app/vendor/sebastian/type/tests/_fixture/ParentClass.php create mode 100644 app/vendor/sebastian/type/tests/_fixture/callback_function.php create mode 100644 app/vendor/sebastian/type/tests/unit/CallableTypeTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/GenericObjectTypeTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/IterableTypeTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/NullTypeTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/ObjectTypeTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/SimpleTypeTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/TypeNameTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/TypeTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/UnknownTypeTest.php create mode 100644 app/vendor/sebastian/type/tests/unit/VoidTypeTest.php create mode 100644 app/vendor/sebastian/version/.gitattributes create mode 100644 app/vendor/sebastian/version/.gitignore create mode 100644 app/vendor/sebastian/version/.php_cs create mode 100644 app/vendor/sebastian/version/LICENSE create mode 100644 app/vendor/sebastian/version/README.md create mode 100644 app/vendor/sebastian/version/composer.json create mode 100644 app/vendor/sebastian/version/src/Version.php create mode 100644 app/vendor/symfony/config/Builder/ClassBuilder.php create mode 100644 app/vendor/symfony/config/Builder/ConfigBuilderGenerator.php create mode 100644 app/vendor/symfony/config/Builder/ConfigBuilderGeneratorInterface.php create mode 100644 app/vendor/symfony/config/Builder/ConfigBuilderInterface.php create mode 100644 app/vendor/symfony/config/Builder/Method.php create mode 100644 app/vendor/symfony/config/Builder/Property.php create mode 100644 app/vendor/symfony/config/Definition/Builder/BuilderAwareInterface.php delete mode 100644 app/vendor/symfony/config/DependencyInjection/ConfigCachePass.php delete mode 100644 app/vendor/symfony/config/Exception/FileLoaderLoadException.php create mode 100644 app/vendor/symfony/config/Exception/LoaderLoadException.php create mode 100644 app/vendor/symfony/config/Loader/ParamConfigurator.php delete mode 100644 app/vendor/symfony/config/Tests/ConfigCacheFactoryTest.php delete mode 100644 app/vendor/symfony/config/Tests/ConfigCacheTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/ArrayNodeTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/BooleanNodeTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Builder/ArrayNodeDefinitionTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Builder/BooleanNodeDefinitionTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Builder/EnumNodeDefinitionTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Builder/ExprBuilderTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Builder/NodeBuilderTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Builder/NumericNodeDefinitionTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Builder/TreeBuilderTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Dumper/XmlReferenceDumperTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/Dumper/YamlReferenceDumperTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/EnumNodeTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/FinalizationTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/FloatNodeTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/IntegerNodeTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/MergeTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/NormalizationTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/PrototypedArrayNodeTest.php delete mode 100644 app/vendor/symfony/config/Tests/Definition/ScalarNodeTest.php delete mode 100644 app/vendor/symfony/config/Tests/DependencyInjection/ConfigCachePassTest.php delete mode 100644 app/vendor/symfony/config/Tests/Exception/FileLoaderLoadExceptionTest.php delete mode 100644 app/vendor/symfony/config/Tests/FileLocatorTest.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/BadFileName.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/BadParent.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/BarNode.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Builder/BarNodeDefinition.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Builder/NodeBuilder.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Builder/VariableNodeDefinition.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Configuration/ExampleConfiguration.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/ParseError.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Resource/ConditionalClass.php delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Util/document_type.xml delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Util/invalid.xml delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Util/invalid_schema.xml delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Util/schema.xsd delete mode 100644 app/vendor/symfony/config/Tests/Fixtures/Util/valid.xml delete mode 100644 app/vendor/symfony/config/Tests/Loader/DelegatingLoaderTest.php delete mode 100644 app/vendor/symfony/config/Tests/Loader/FileLoaderTest.php delete mode 100644 app/vendor/symfony/config/Tests/Loader/LoaderResolverTest.php delete mode 100644 app/vendor/symfony/config/Tests/Loader/LoaderTest.php delete mode 100644 app/vendor/symfony/config/Tests/Resource/ClassExistenceResourceTest.php delete mode 100644 app/vendor/symfony/config/Tests/Resource/ComposerResourceTest.php delete mode 100644 app/vendor/symfony/config/Tests/Resource/DirectoryResourceTest.php delete mode 100644 app/vendor/symfony/config/Tests/Resource/FileExistenceResourceTest.php delete mode 100644 app/vendor/symfony/config/Tests/Resource/FileResourceTest.php delete mode 100644 app/vendor/symfony/config/Tests/Resource/GlobResourceTest.php delete mode 100644 app/vendor/symfony/config/Tests/Resource/ReflectionClassResourceTest.php delete mode 100644 app/vendor/symfony/config/Tests/Resource/ResourceStub.php delete mode 100644 app/vendor/symfony/config/Tests/ResourceCheckerConfigCacheTest.php delete mode 100644 app/vendor/symfony/config/Tests/Util/XmlUtilsTest.php delete mode 100644 app/vendor/symfony/config/phpunit.xml.dist delete mode 100644 app/vendor/symfony/console/.gitignore create mode 100644 app/vendor/symfony/console/Attribute/AsCommand.php create mode 100644 app/vendor/symfony/console/CI/GithubActionReporter.php create mode 100644 app/vendor/symfony/console/Color.php create mode 100644 app/vendor/symfony/console/Command/LazyCommand.php create mode 100644 app/vendor/symfony/console/Command/SignalableCommandInterface.php create mode 100644 app/vendor/symfony/console/Cursor.php delete mode 100644 app/vendor/symfony/console/Event/ConsoleExceptionEvent.php create mode 100644 app/vendor/symfony/console/Event/ConsoleSignalEvent.php create mode 100644 app/vendor/symfony/console/Exception/MissingInputException.php create mode 100644 app/vendor/symfony/console/Exception/NamespaceNotFoundException.php create mode 100644 app/vendor/symfony/console/Formatter/NullOutputFormatter.php create mode 100644 app/vendor/symfony/console/Formatter/NullOutputFormatterStyle.php create mode 100644 app/vendor/symfony/console/Formatter/WrappableOutputFormatterInterface.php create mode 100644 app/vendor/symfony/console/Helper/Dumper.php create mode 100644 app/vendor/symfony/console/Helper/TableCellStyle.php create mode 100644 app/vendor/symfony/console/Helper/TableRows.php create mode 100644 app/vendor/symfony/console/Output/ConsoleSectionOutput.php create mode 100644 app/vendor/symfony/console/Output/TrimmedBufferOutput.php create mode 100644 app/vendor/symfony/console/SignalRegistry/SignalRegistry.php create mode 100644 app/vendor/symfony/console/SingleCommandApplication.php create mode 100644 app/vendor/symfony/console/Tester/TesterTrait.php delete mode 100644 app/vendor/symfony/console/Tests/ApplicationTest.php delete mode 100644 app/vendor/symfony/console/Tests/Command/CommandTest.php delete mode 100644 app/vendor/symfony/console/Tests/Command/HelpCommandTest.php delete mode 100644 app/vendor/symfony/console/Tests/Command/ListCommandTest.php delete mode 100644 app/vendor/symfony/console/Tests/Command/LockableTraitTest.php delete mode 100644 app/vendor/symfony/console/Tests/CommandLoader/ContainerCommandLoaderTest.php delete mode 100644 app/vendor/symfony/console/Tests/CommandLoader/FactoryCommandLoaderTest.php delete mode 100644 app/vendor/symfony/console/Tests/DependencyInjection/AddConsoleCommandPassTest.php delete mode 100644 app/vendor/symfony/console/Tests/Descriptor/AbstractDescriptorTest.php delete mode 100644 app/vendor/symfony/console/Tests/Descriptor/ApplicationDescriptionTest.php delete mode 100644 app/vendor/symfony/console/Tests/Descriptor/JsonDescriptorTest.php delete mode 100644 app/vendor/symfony/console/Tests/Descriptor/MarkdownDescriptorTest.php delete mode 100644 app/vendor/symfony/console/Tests/Descriptor/ObjectsProvider.php delete mode 100644 app/vendor/symfony/console/Tests/Descriptor/TextDescriptorTest.php delete mode 100644 app/vendor/symfony/console/Tests/Descriptor/XmlDescriptorTest.php delete mode 100644 app/vendor/symfony/console/Tests/EventListener/ErrorListenerTest.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/BarBucCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DescriptorApplication1.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DescriptorApplication2.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DescriptorApplicationMbString.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DescriptorCommand1.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DescriptorCommand2.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DescriptorCommand3.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DescriptorCommand4.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DescriptorCommandMbString.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/DummyOutput.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Foo1Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Foo2Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Foo3Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Foo4Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Foo5Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Foo6Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooHiddenCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooLock2Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooLockCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooOptCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooSameCaseLowercaseCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooSameCaseUppercaseCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced1Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FooSubnamespaced2Command.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/FoobarCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_0.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_1.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_10.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_11.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_12.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_13.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_14.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_15.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_16.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_17.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_2.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_3.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_4.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_5.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_6.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_7.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_8.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/command_9.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/command/interactive_command_1.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/interactive_output_1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_0.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_10.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_11.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_12.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_13.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_14.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_15.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_16.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_17.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_3.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_4.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_5.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_6.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_7.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_8.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/Style/SymfonyStyle/output/output_9.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/TestAmbiguousCommandRegistering.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/TestAmbiguousCommandRegistering2.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/TestCommand.php delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_1.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_1.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_1.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_2.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_2.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_2.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_filtered_namespace.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_gethelp.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_mbstring.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_mbstring.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception3.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception3decorated.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception4.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth1decorated.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception_doublewidth2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception_escapeslines.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_renderexception_linebreaks.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_run1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_run2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_run3.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/application_run4.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_1.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_1.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_1.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_2.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_2.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_2.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_mbstring.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/command_mbstring.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_1.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_1.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_1.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_2.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_2.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_2.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_3.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_3.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_3.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_3.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_4.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_4.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_4.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_4.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_with_default_inf_value.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_argument_with_style.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_1.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_1.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_1.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_2.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_2.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_2.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_3.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_3.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_3.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_3.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_4.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_4.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_4.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_definition_4.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_1.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_1.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_1.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_1.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_2.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_2.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_2.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_2.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_3.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_3.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_3.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_3.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_4.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_4.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_4.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_4.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_5.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_5.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_5.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_5.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_6.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_6.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_6.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_6.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_default_inf_value.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_style.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_style.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_style.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_style.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.json delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.md delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.txt delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/input_option_with_style_array.xml delete mode 100644 app/vendor/symfony/console/Tests/Fixtures/stream_output_file.txt delete mode 100644 app/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleStackTest.php delete mode 100644 app/vendor/symfony/console/Tests/Formatter/OutputFormatterStyleTest.php delete mode 100644 app/vendor/symfony/console/Tests/Formatter/OutputFormatterTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/AbstractQuestionHelperTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/FormatterHelperTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/HelperSetTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/HelperTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/ProcessHelperTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/ProgressBarTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/ProgressIndicatorTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/QuestionHelperTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/SymfonyQuestionHelperTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/TableStyleTest.php delete mode 100644 app/vendor/symfony/console/Tests/Helper/TableTest.php delete mode 100644 app/vendor/symfony/console/Tests/Input/ArgvInputTest.php delete mode 100644 app/vendor/symfony/console/Tests/Input/ArrayInputTest.php delete mode 100644 app/vendor/symfony/console/Tests/Input/InputArgumentTest.php delete mode 100644 app/vendor/symfony/console/Tests/Input/InputDefinitionTest.php delete mode 100644 app/vendor/symfony/console/Tests/Input/InputOptionTest.php delete mode 100644 app/vendor/symfony/console/Tests/Input/InputTest.php delete mode 100644 app/vendor/symfony/console/Tests/Input/StringInputTest.php delete mode 100644 app/vendor/symfony/console/Tests/Logger/ConsoleLoggerTest.php delete mode 100644 app/vendor/symfony/console/Tests/Output/ConsoleOutputTest.php delete mode 100644 app/vendor/symfony/console/Tests/Output/NullOutputTest.php delete mode 100644 app/vendor/symfony/console/Tests/Output/OutputTest.php delete mode 100644 app/vendor/symfony/console/Tests/Output/StreamOutputTest.php delete mode 100644 app/vendor/symfony/console/Tests/Question/ChoiceQuestionTest.php delete mode 100644 app/vendor/symfony/console/Tests/Question/ConfirmationQuestionTest.php delete mode 100644 app/vendor/symfony/console/Tests/Style/SymfonyStyleTest.php delete mode 100644 app/vendor/symfony/console/Tests/TerminalTest.php delete mode 100644 app/vendor/symfony/console/Tests/Tester/ApplicationTesterTest.php delete mode 100644 app/vendor/symfony/console/Tests/Tester/CommandTesterTest.php delete mode 100644 app/vendor/symfony/console/phpunit.xml.dist delete mode 100644 app/vendor/symfony/debug/BufferingLogger.php delete mode 100644 app/vendor/symfony/debug/CHANGELOG.md delete mode 100644 app/vendor/symfony/debug/Debug.php delete mode 100644 app/vendor/symfony/debug/DebugClassLoader.php delete mode 100644 app/vendor/symfony/debug/ErrorHandler.php delete mode 100644 app/vendor/symfony/debug/Exception/ClassNotFoundException.php delete mode 100644 app/vendor/symfony/debug/Exception/FatalErrorException.php delete mode 100644 app/vendor/symfony/debug/Exception/FatalThrowableError.php delete mode 100644 app/vendor/symfony/debug/Exception/FlattenException.php delete mode 100644 app/vendor/symfony/debug/Exception/OutOfMemoryException.php delete mode 100644 app/vendor/symfony/debug/Exception/SilencedErrorContext.php delete mode 100644 app/vendor/symfony/debug/Exception/UndefinedFunctionException.php delete mode 100644 app/vendor/symfony/debug/Exception/UndefinedMethodException.php delete mode 100644 app/vendor/symfony/debug/ExceptionHandler.php delete mode 100644 app/vendor/symfony/debug/FatalErrorHandler/ClassNotFoundFatalErrorHandler.php delete mode 100644 app/vendor/symfony/debug/FatalErrorHandler/FatalErrorHandlerInterface.php delete mode 100644 app/vendor/symfony/debug/FatalErrorHandler/UndefinedFunctionFatalErrorHandler.php delete mode 100644 app/vendor/symfony/debug/FatalErrorHandler/UndefinedMethodFatalErrorHandler.php delete mode 100644 app/vendor/symfony/debug/LICENSE delete mode 100644 app/vendor/symfony/debug/README.md delete mode 100644 app/vendor/symfony/debug/composer.json rename app/vendor/symfony/{config => deprecation-contracts}/.gitignore (100%) create mode 100644 app/vendor/symfony/deprecation-contracts/CHANGELOG.md create mode 100644 app/vendor/symfony/deprecation-contracts/LICENSE create mode 100644 app/vendor/symfony/deprecation-contracts/README.md create mode 100644 app/vendor/symfony/deprecation-contracts/composer.json create mode 100644 app/vendor/symfony/deprecation-contracts/function.php create mode 100644 app/vendor/symfony/polyfill-intl-grapheme/Grapheme.php rename app/vendor/symfony/{polyfill-php72 => polyfill-intl-grapheme}/LICENSE (100%) create mode 100644 app/vendor/symfony/polyfill-intl-grapheme/README.md create mode 100644 app/vendor/symfony/polyfill-intl-grapheme/bootstrap.php create mode 100644 app/vendor/symfony/polyfill-intl-grapheme/bootstrap80.php create mode 100644 app/vendor/symfony/polyfill-intl-grapheme/composer.json create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/LICENSE create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/Normalizer.php create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/README.md create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalComposition.php create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/canonicalDecomposition.php create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/combiningClass.php create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/Resources/unidata/compatibilityDecomposition.php create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/bootstrap.php create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/bootstrap80.php create mode 100644 app/vendor/symfony/polyfill-intl-normalizer/composer.json delete mode 100644 app/vendor/symfony/polyfill-php72/Php72.php delete mode 100644 app/vendor/symfony/polyfill-php72/README.md delete mode 100644 app/vendor/symfony/polyfill-php72/bootstrap.php delete mode 100644 app/vendor/symfony/polyfill-php72/composer.json create mode 100644 app/vendor/symfony/polyfill-php73/LICENSE create mode 100644 app/vendor/symfony/polyfill-php73/Php73.php create mode 100644 app/vendor/symfony/polyfill-php73/README.md create mode 100644 app/vendor/symfony/polyfill-php73/Resources/stubs/JsonException.php create mode 100644 app/vendor/symfony/polyfill-php73/bootstrap.php create mode 100644 app/vendor/symfony/polyfill-php73/composer.json create mode 100644 app/vendor/symfony/polyfill-php81/LICENSE create mode 100644 app/vendor/symfony/polyfill-php81/Php81.php create mode 100644 app/vendor/symfony/polyfill-php81/README.md create mode 100644 app/vendor/symfony/polyfill-php81/Resources/stubs/ReturnTypeWillChange.php create mode 100644 app/vendor/symfony/polyfill-php81/bootstrap.php create mode 100644 app/vendor/symfony/polyfill-php81/composer.json create mode 100644 app/vendor/symfony/service-contracts/LICENSE create mode 100644 app/vendor/symfony/service-contracts/README.md create mode 100644 app/vendor/symfony/service-contracts/ResetInterface.php create mode 100644 app/vendor/symfony/service-contracts/ServiceLocatorTrait.php create mode 100644 app/vendor/symfony/service-contracts/ServiceProviderInterface.php create mode 100644 app/vendor/symfony/service-contracts/ServiceSubscriberInterface.php create mode 100644 app/vendor/symfony/service-contracts/ServiceSubscriberTrait.php create mode 100644 app/vendor/symfony/service-contracts/Test/ServiceLocatorTest.php create mode 100644 app/vendor/symfony/service-contracts/composer.json create mode 100644 app/vendor/symfony/string/AbstractString.php create mode 100644 app/vendor/symfony/string/AbstractUnicodeString.php create mode 100644 app/vendor/symfony/string/ByteString.php create mode 100644 app/vendor/symfony/string/CHANGELOG.md create mode 100644 app/vendor/symfony/string/CodePointString.php create mode 100644 app/vendor/symfony/string/Exception/ExceptionInterface.php create mode 100644 app/vendor/symfony/string/Exception/InvalidArgumentException.php create mode 100644 app/vendor/symfony/string/Exception/RuntimeException.php create mode 100644 app/vendor/symfony/string/Inflector/EnglishInflector.php create mode 100644 app/vendor/symfony/string/Inflector/FrenchInflector.php create mode 100644 app/vendor/symfony/string/Inflector/InflectorInterface.php create mode 100644 app/vendor/symfony/string/LICENSE create mode 100644 app/vendor/symfony/string/LazyString.php create mode 100644 app/vendor/symfony/string/README.md create mode 100644 app/vendor/symfony/string/Resources/data/wcswidth_table_wide.php create mode 100644 app/vendor/symfony/string/Resources/data/wcswidth_table_zero.php create mode 100644 app/vendor/symfony/string/Resources/functions.php create mode 100644 app/vendor/symfony/string/Slugger/AsciiSlugger.php create mode 100644 app/vendor/symfony/string/Slugger/SluggerInterface.php create mode 100644 app/vendor/symfony/string/UnicodeString.php create mode 100644 app/vendor/symfony/string/composer.json create mode 100644 app/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php delete mode 100644 app/vendor/symfony/yaml/.gitignore delete mode 100644 app/vendor/symfony/yaml/CHANGELOG.md delete mode 100644 app/vendor/symfony/yaml/Command/LintCommand.php delete mode 100644 app/vendor/symfony/yaml/Dumper.php delete mode 100644 app/vendor/symfony/yaml/Escaper.php delete mode 100644 app/vendor/symfony/yaml/Exception/DumpException.php delete mode 100644 app/vendor/symfony/yaml/Exception/ExceptionInterface.php delete mode 100644 app/vendor/symfony/yaml/Exception/ParseException.php delete mode 100644 app/vendor/symfony/yaml/Exception/RuntimeException.php delete mode 100644 app/vendor/symfony/yaml/Inline.php delete mode 100644 app/vendor/symfony/yaml/LICENSE delete mode 100644 app/vendor/symfony/yaml/Parser.php delete mode 100644 app/vendor/symfony/yaml/README.md delete mode 100644 app/vendor/symfony/yaml/Tag/TaggedValue.php delete mode 100644 app/vendor/symfony/yaml/Tests/Command/LintCommandTest.php delete mode 100644 app/vendor/symfony/yaml/Tests/DumperTest.php delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsAnchorAlias.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsBasicTests.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsBlockMapping.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsDocumentSeparator.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsErrorTests.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsFlowCollections.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsFoldedScalars.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsNullsAndEmpties.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsSpecificationExamples.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/YtsTypeTransfers.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/arrow.gif delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/booleanMappingKeys.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/embededPhp.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/escapedCharacters.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/index.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/legacyBooleanMappingKeys.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/legacyNonStringKeys.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/legacyNullMappingKey.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/multiple_lines_as_literal_block.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/multiple_lines_as_literal_block_for_tagged_values.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/multiple_lines_as_literal_block_leading_space_in_first_line.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/nonStringKeys.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/not_readable.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/nullMappingKey.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/numericMappingKeys.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/sfComments.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/sfCompact.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/sfMergeKey.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/sfObjects.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/sfQuotes.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/sfTests.yml delete mode 100644 app/vendor/symfony/yaml/Tests/Fixtures/unindentedCollections.yml delete mode 100644 app/vendor/symfony/yaml/Tests/InlineTest.php delete mode 100644 app/vendor/symfony/yaml/Tests/ParseExceptionTest.php delete mode 100644 app/vendor/symfony/yaml/Tests/ParserTest.php delete mode 100644 app/vendor/symfony/yaml/Tests/YamlTest.php delete mode 100644 app/vendor/symfony/yaml/Unescaper.php delete mode 100644 app/vendor/symfony/yaml/Yaml.php delete mode 100644 app/vendor/symfony/yaml/composer.json delete mode 100644 app/vendor/symfony/yaml/phpunit.xml.dist create mode 100644 app/vendor/theseer/tokenizer/.php_cs.dist create mode 100644 app/vendor/theseer/tokenizer/CHANGELOG.md create mode 100644 app/vendor/theseer/tokenizer/LICENSE create mode 100644 app/vendor/theseer/tokenizer/README.md create mode 100644 app/vendor/theseer/tokenizer/composer.json create mode 100644 app/vendor/theseer/tokenizer/composer.lock create mode 100644 app/vendor/theseer/tokenizer/src/Exception.php create mode 100644 app/vendor/theseer/tokenizer/src/NamespaceUri.php create mode 100644 app/vendor/theseer/tokenizer/src/NamespaceUriException.php create mode 100644 app/vendor/theseer/tokenizer/src/Token.php create mode 100644 app/vendor/theseer/tokenizer/src/TokenCollection.php create mode 100644 app/vendor/theseer/tokenizer/src/TokenCollectionException.php create mode 100644 app/vendor/theseer/tokenizer/src/Tokenizer.php create mode 100644 app/vendor/theseer/tokenizer/src/XMLSerializer.php create mode 100644 app/vendor/twig/markdown-extra/.gitattributes create mode 100644 app/vendor/twig/markdown-extra/.gitignore create mode 100644 app/vendor/twig/markdown-extra/DefaultMarkdown.php create mode 100644 app/vendor/twig/markdown-extra/ErusevMarkdown.php create mode 100644 app/vendor/twig/markdown-extra/LICENSE create mode 100644 app/vendor/twig/markdown-extra/LeagueMarkdown.php create mode 100644 app/vendor/twig/markdown-extra/MarkdownExtension.php create mode 100644 app/vendor/twig/markdown-extra/MarkdownInterface.php create mode 100644 app/vendor/twig/markdown-extra/MarkdownRuntime.php create mode 100644 app/vendor/twig/markdown-extra/MichelfMarkdown.php create mode 100644 app/vendor/twig/markdown-extra/README.md create mode 100644 app/vendor/twig/markdown-extra/composer.json create mode 100644 app/vendor/twig/twig/doc/filters/column.rst create mode 100644 app/vendor/twig/twig/doc/filters/country_name.rst create mode 100644 app/vendor/twig/twig/doc/filters/currency_name.rst create mode 100644 app/vendor/twig/twig/doc/filters/currency_symbol.rst create mode 100644 app/vendor/twig/twig/doc/filters/data_uri.rst create mode 100644 app/vendor/twig/twig/doc/filters/format_currency.rst create mode 100644 app/vendor/twig/twig/doc/filters/format_date.rst create mode 100644 app/vendor/twig/twig/doc/filters/format_datetime.rst create mode 100644 app/vendor/twig/twig/doc/filters/format_number.rst create mode 100644 app/vendor/twig/twig/doc/filters/format_time.rst create mode 100644 app/vendor/twig/twig/doc/filters/html_to_markdown.rst create mode 100644 app/vendor/twig/twig/doc/filters/inky_to_html.rst create mode 100644 app/vendor/twig/twig/doc/filters/inline_css.rst create mode 100644 app/vendor/twig/twig/doc/filters/language_name.rst create mode 100644 app/vendor/twig/twig/doc/filters/locale_name.rst create mode 100644 app/vendor/twig/twig/doc/filters/markdown_to_html.rst create mode 100644 app/vendor/twig/twig/doc/filters/slug.rst create mode 100644 app/vendor/twig/twig/doc/filters/timezone_name.rst create mode 100644 app/vendor/twig/twig/doc/filters/u.rst create mode 100644 app/vendor/twig/twig/doc/functions/country_timezones.rst create mode 100644 app/vendor/twig/twig/doc/functions/html_classes.rst create mode 100644 app/vendor/twig/twig/doc/tags/cache.rst delete mode 100644 app/vendor/twig/twig/doc/tags/filter.rst delete mode 100644 app/vendor/twig/twig/doc/tags/spaceless.rst delete mode 100644 app/vendor/twig/twig/lib/Twig/Autoloader.php delete mode 100644 app/vendor/twig/twig/lib/Twig/BaseNodeVisitor.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Cache/Filesystem.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Cache/Null.php delete mode 100644 app/vendor/twig/twig/lib/Twig/CacheInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Compiler.php delete mode 100644 app/vendor/twig/twig/lib/Twig/CompilerInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/ContainerRuntimeLoader.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Environment.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Error.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Error/Loader.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Error/Runtime.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Error/Syntax.php delete mode 100644 app/vendor/twig/twig/lib/Twig/ExistsLoaderInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/ExpressionParser.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/Core.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/Debug.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/Escaper.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/GlobalsInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/InitRuntimeInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/Optimizer.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/Profiler.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/Sandbox.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/Staging.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Extension/StringLoader.php delete mode 100644 app/vendor/twig/twig/lib/Twig/ExtensionInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/FactoryRuntimeLoader.php delete mode 100644 app/vendor/twig/twig/lib/Twig/FileExtensionEscapingStrategy.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Filter.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Filter/Function.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Filter/Method.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Filter/Node.php delete mode 100644 app/vendor/twig/twig/lib/Twig/FilterCallableInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/FilterInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Function.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Function/Function.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Function/Method.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Function/Node.php delete mode 100644 app/vendor/twig/twig/lib/Twig/FunctionCallableInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/FunctionInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Lexer.php delete mode 100644 app/vendor/twig/twig/lib/Twig/LexerInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Loader/Array.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Loader/Chain.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Loader/Filesystem.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Loader/String.php delete mode 100644 app/vendor/twig/twig/lib/Twig/LoaderInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Markup.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/AutoEscape.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Block.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/BlockReference.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Body.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/CheckSecurity.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Deprecated.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Do.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Embed.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Array.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/AssignName.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Add.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/And.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseAnd.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseOr.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/BitwiseXor.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Concat.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Div.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/EndsWith.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Equal.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/FloorDiv.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Greater.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/GreaterEqual.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/In.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Less.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/LessEqual.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Matches.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mod.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Mul.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotEqual.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/NotIn.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Or.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Power.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Range.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/StartsWith.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Binary/Sub.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/BlockReference.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Call.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Conditional.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Constant.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/ExtensionReference.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Filter.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Filter/Default.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Function.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/GetAttr.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/MethodCall.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Name.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/NullCoalesce.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Parent.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/TempName.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Test.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Test/Constant.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Test/Defined.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Test/Divisibleby.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Test/Even.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Test/Null.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Test/Odd.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Test/Sameas.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Unary.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Neg.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Not.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Expression/Unary/Pos.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Flush.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/For.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/ForLoop.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/If.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Import.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Include.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Macro.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Module.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Print.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Sandbox.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/SandboxedPrint.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Set.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/SetTemp.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Spaceless.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/Text.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Node/With.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeCaptureInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeOutputInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeTraverser.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeVisitor/Escaper.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeVisitor/Optimizer.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeVisitor/SafeAnalysis.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeVisitor/Sandbox.php delete mode 100644 app/vendor/twig/twig/lib/Twig/NodeVisitorInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Parser.php delete mode 100644 app/vendor/twig/twig/lib/Twig/ParserInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Profiler/Dumper/Base.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Profiler/Dumper/Blackfire.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Profiler/Dumper/Html.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Profiler/Dumper/Text.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Profiler/Node/EnterProfile.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Profiler/Node/LeaveProfile.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Profiler/NodeVisitor/Profiler.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Profiler/Profile.php delete mode 100644 app/vendor/twig/twig/lib/Twig/RuntimeLoaderInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Sandbox/SecurityError.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFilterError.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedFunctionError.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedMethodError.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedPropertyError.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Sandbox/SecurityNotAllowedTagError.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicy.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Sandbox/SecurityPolicyInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/SimpleFilter.php delete mode 100644 app/vendor/twig/twig/lib/Twig/SimpleFunction.php delete mode 100644 app/vendor/twig/twig/lib/Twig/SimpleTest.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Source.php delete mode 100644 app/vendor/twig/twig/lib/Twig/SourceContextLoaderInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Template.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TemplateInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TemplateWrapper.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Test.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Test/Function.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Test/IntegrationTestCase.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Test/Method.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Test/Node.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Test/NodeTestCase.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TestCallableInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TestInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Token.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/AutoEscape.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Block.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Deprecated.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Do.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Embed.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Extends.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Filter.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Flush.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/For.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/From.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/If.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Import.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Include.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Macro.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Sandbox.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Set.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Spaceless.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/Use.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParser/With.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParserBroker.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParserBrokerInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenParserInterface.php delete mode 100644 app/vendor/twig/twig/lib/Twig/TokenStream.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Util/DeprecationCollector.php delete mode 100644 app/vendor/twig/twig/lib/Twig/Util/TemplateDirIterator.php delete mode 100644 app/vendor/twig/twig/src/Extension/InitRuntimeInterface.php create mode 100644 app/vendor/twig/twig/src/ExtensionSet.php delete mode 100644 app/vendor/twig/twig/src/Loader/ExistsLoaderInterface.php delete mode 100644 app/vendor/twig/twig/src/Loader/SourceContextLoaderInterface.php create mode 100644 app/vendor/twig/twig/src/Node/Expression/Binary/SpaceshipBinary.php create mode 100644 app/vendor/twig/twig/src/Node/Expression/VariadicExpression.php delete mode 100644 app/vendor/twig/twig/src/Node/SandboxedPrintNode.php delete mode 100644 app/vendor/twig/twig/src/Node/SetTempNode.php delete mode 100644 app/vendor/twig/twig/src/Node/SpacelessNode.php create mode 100644 app/vendor/twig/twig/src/NodeVisitor/MacroAutoImportNodeVisitor.php delete mode 100644 app/vendor/twig/twig/src/TokenParser/FilterTokenParser.php delete mode 100644 app/vendor/twig/twig/src/TokenParser/SpacelessTokenParser.php delete mode 100644 app/vendor/umpirsky/twig-php-function/.gitignore delete mode 100644 app/vendor/umpirsky/twig-php-function/.travis.yml delete mode 100644 app/vendor/umpirsky/twig-php-function/README.md delete mode 100644 app/vendor/umpirsky/twig-php-function/composer.json delete mode 100644 app/vendor/umpirsky/twig-php-function/composer.lock delete mode 100644 app/vendor/umpirsky/twig-php-function/examples/basic.php delete mode 100644 app/vendor/umpirsky/twig-php-function/spec/Umpirsky/Twig/Extension/PhpFunctionExtensionSpec.php delete mode 100644 app/vendor/umpirsky/twig-php-function/src/Umpirsky/Twig/Extension/PhpFunctionExtension.php delete mode 100644 app/vendor/umpirsky/twig-php-function/tests/Umpirsky/Twig/Extension/PhpFunctionExtensionTest.php create mode 100644 app/vendor/webmozart/assert/.editorconfig create mode 100644 app/vendor/webmozart/assert/.github/workflows/ci.yaml create mode 100644 app/vendor/webmozart/assert/.php_cs create mode 100644 app/vendor/webmozart/assert/CHANGELOG.md create mode 100644 app/vendor/webmozart/assert/LICENSE create mode 100644 app/vendor/webmozart/assert/README.md create mode 100644 app/vendor/webmozart/assert/composer.json create mode 100644 app/vendor/webmozart/assert/psalm.xml create mode 100644 app/vendor/webmozart/assert/src/Assert.php create mode 100644 app/vendor/webmozart/assert/src/InvalidArgumentException.php create mode 100644 app/vendor/webmozart/assert/src/Mixin.php delete mode 100644 app/vendor/wyrihaximus/twig-view/CONTRIBUTING.md delete mode 100644 app/vendor/wyrihaximus/twig-view/LICENSE.txt delete mode 100644 app/vendor/wyrihaximus/twig-view/README.md delete mode 100644 app/vendor/wyrihaximus/twig-view/composer.json delete mode 100644 app/vendor/wyrihaximus/twig-view/composer.lock delete mode 100644 app/vendor/wyrihaximus/twig-view/config/bootstrap.php delete mode 100644 app/vendor/wyrihaximus/twig-view/config/config.sample.php delete mode 100644 app/vendor/wyrihaximus/twig-view/quickstart.md delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Event/ConstructEvent.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Event/EnvironmentConfigEvent.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Event/ExtensionsListener.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Event/LoaderEvent.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Event/ProfileEvent.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Event/ProfilerListener.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Event/TokenParsersListener.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Cache.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/RelativeScanner.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Scanner.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/TreeScanner.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/Arrays.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/Basic.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/I18n.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/Inflector.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/Number.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/PotentialDangerous.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/Profiler.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/Strings.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/Time.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/Utils.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Extension/View.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Loader.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Node/Cell.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/Node/Element.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/TokenParser/Cell.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Lib/Twig/TokenParser/Element.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Panel/TwigPanel.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Shell/CompileShell.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Shell/Task/TwigTemplateTask.php delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Template/Bake/Element/form.ctp delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Template/Bake/Template/add.ctp delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Template/Bake/Template/edit.ctp delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Template/Bake/Template/index.ctp delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Template/Bake/Template/view.ctp delete mode 100644 app/vendor/wyrihaximus/twig-view/src/Template/Element/twig_panel.ctp delete mode 100644 app/vendor/wyrihaximus/twig-view/src/View/TwigView.php diff --git a/.gitignore b/.gitignore index c6597e4e..f4178924 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,52 @@ +# CakePHP 4 +# User specific & automatically generated files # +################################################# +/build +/dist +/tags +/composer.lock +/phpunit.xml +/vendor +/vendors +/composer.phar +*.mo +debug.log +error.log +.phpunit.result.cache + +# OS generated files # +###################### +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +Icon? +ehthumbs.db +Thumbs.db + +# Tool specific files # +####################### +# vim +*~ +*.swp +*.swo +# sublime text & textmate +*.sublime-* +*.stTheme.cache +*.tmlanguage.cache +*.tmPreferences.cache +# Eclipse +.settings/* +/.project +/.buildpath +# JetBrains, aka PHPStorm, IntelliJ IDEA +.idea/* +# NetBeans +nbproject/* +# Visual Studio Code +.vscode + # CakePHP 3 /vendor/* diff --git a/app/composer.json b/app/composer.json index 97b9d520..4f2ec1d9 100644 --- a/app/composer.json +++ b/app/composer.json @@ -5,19 +5,21 @@ "type": "project", "license": "MIT", "require": { - "php": ">=5.6", + "php": ">=7.2", "adodb/adodb-php": "^5.20", - "cakephp/cakephp": "3.10.*", - "cakephp/migrations": "^1.0", + "cakephp/cakephp": "4.0.*", + "cakephp/migrations": "^3.0.0", "cakephp/plugin-installer": "^1.0", "doctrine/dbal": "^2.9", "josegonzalez/dotenv": "2.*", "mobiledetect/mobiledetectlib": "2.*" }, "require-dev": { - "cakephp/bake": "^1.1", + "cakephp/bake": "^2.0.10", "cakephp/cakephp-codesniffer": "^3.0", - "cakephp/debug_kit": "^3.6", + "cakephp/debug_kit": "^4.0.6", + "phpstan/phpstan": "^0.12.18", + "phpunit/phpunit": "^8.0", "psy/psysh": "@stable" }, "suggest": { @@ -40,7 +42,6 @@ "scripts": { "post-install-cmd": "App\\Console\\Installer::postInstall", "post-create-project-cmd": "App\\Console\\Installer::postInstall", - "post-autoload-dump": "Cake\\Composer\\Installer\\PluginInstaller::postAutoloadDump", "check": [ "@test", "@cs-check" diff --git a/app/composer.lock b/app/composer.lock index a107ccd9..891a7509 100644 --- a/app/composer.lock +++ b/app/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "18bc2276e368023a5a640a707d6102dc", + "content-hash": "fd5988586d5d9d91062852addfcc0c0d", "packages": [ { "name": "adodb/adodb-php", @@ -119,41 +119,45 @@ }, { "name": "cakephp/cakephp", - "version": "3.10.0", + "version": "4.0.10", "source": { "type": "git", "url": "https://github.com/cakephp/cakephp.git", - "reference": "084963bd27984e50174fadcbdee91048112231a0" + "reference": "5c6d72bc9bb1be6eec1b00b3930f9e5054ee6d76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/cakephp/zipball/084963bd27984e50174fadcbdee91048112231a0", - "reference": "084963bd27984e50174fadcbdee91048112231a0", + "url": "https://api.github.com/repos/cakephp/cakephp/zipball/5c6d72bc9bb1be6eec1b00b3930f9e5054ee6d76", + "reference": "5c6d72bc9bb1be6eec1b00b3930f9e5054ee6d76", "shasum": "" }, "require": { "aura/intl": "^3.0.0", - "cakephp/chronos": "^1.0.1", + "cakephp/chronos": "^2.0", + "composer/ca-bundle": "^1.2", "ext-intl": "*", + "ext-json": "*", "ext-mbstring": "*", - "laminas/laminas-diactoros": "^1.4.0", - "paragonie/random_compat": "^1.4|^2.0|9.99.99", - "php": ">=5.6.0,<8.0.0", + "laminas/laminas-diactoros": "^2.2.2", + "laminas/laminas-httphandlerrunner": "^1.1", + "php": ">=7.2.0", + "psr/http-client": "^1.0", + "psr/http-server-handler": "^1.0", + "psr/http-server-middleware": "^1.0", "psr/log": "^1.0.0", "psr/simple-cache": "^1.0.0" }, - "conflict": { - "phpunit/phpunit": "<5.7" - }, "replace": { "cakephp/cache": "self.version", "cakephp/collection": "self.version", + "cakephp/console": "self.version", "cakephp/core": "self.version", "cakephp/database": "self.version", "cakephp/datasource": "self.version", "cakephp/event": "self.version", "cakephp/filesystem": "self.version", "cakephp/form": "self.version", + "cakephp/http": "self.version", "cakephp/i18n": "self.version", "cakephp/log": "self.version", "cakephp/orm": "self.version", @@ -161,10 +165,10 @@ "cakephp/validation": "self.version" }, "require-dev": { - "cakephp/cakephp-codesniffer": "^3.0", - "cakephp/chronos": "^1.2.1", - "paragonie/csp-builder": "^1.4|^2.3", - "phpunit/phpunit": "^5.7.14|^6.0" + "cakephp/cakephp-codesniffer": "^4.0", + "mikey179/vfsstream": "^1.6", + "paragonie/csp-builder": "^2.3", + "phpunit/phpunit": "~8.5.0" }, "suggest": { "ext-curl": "To enable more efficient network calls in Http\\Client.", @@ -213,30 +217,28 @@ "issues": "https://github.com/cakephp/cakephp/issues", "source": "https://github.com/cakephp/cakephp" }, - "time": "2021-06-20T01:14:53+00:00" + "time": "2020-12-08T03:04:12+00:00" }, { "name": "cakephp/chronos", - "version": "1.3.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/cakephp/chronos.git", - "reference": "ba2bab98849e7bf29b02dd634ada49ab36472959" + "reference": "556e14da67307ffc2e68beeb7df0694dc8d1207d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/chronos/zipball/ba2bab98849e7bf29b02dd634ada49ab36472959", - "reference": "ba2bab98849e7bf29b02dd634ada49ab36472959", + "url": "https://api.github.com/repos/cakephp/chronos/zipball/556e14da67307ffc2e68beeb7df0694dc8d1207d", + "reference": "556e14da67307ffc2e68beeb7df0694dc8d1207d", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.2" }, "require-dev": { - "athletic/athletic": "~0.1", - "cakephp/cakephp-codesniffer": "^3.0", - "phpbench/phpbench": "@dev", - "phpunit/phpunit": "<6.0 || ^7.0" + "cakephp/cakephp-codesniffer": "^4.5", + "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "autoload": { @@ -274,41 +276,42 @@ "issues": "https://github.com/cakephp/chronos/issues", "source": "https://github.com/cakephp/chronos" }, - "time": "2019-11-30T02:33:19+00:00" + "time": "2021-06-17T13:49:10+00:00" }, { "name": "cakephp/migrations", - "version": "1.8.1", + "version": "3.1.0", "source": { "type": "git", "url": "https://github.com/cakephp/migrations.git", - "reference": "cd65daa9fae933bc0ccc69d5b5d92460375da9e2" + "reference": "d22737c31243db89774abfe6a077d254c0eae75a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/migrations/zipball/cd65daa9fae933bc0ccc69d5b5d92460375da9e2", - "reference": "cd65daa9fae933bc0ccc69d5b5d92460375da9e2", + "url": "https://api.github.com/repos/cakephp/migrations/zipball/d22737c31243db89774abfe6a077d254c0eae75a", + "reference": "d22737c31243db89774abfe6a077d254c0eae75a", "shasum": "" }, "require": { - "cakephp/cache": "^3.6.0", - "cakephp/orm": "^3.6.0", - "php": ">=5.6.0", - "robmorgan/phinx": "0.8.1" + "cakephp/cache": "^4.0.5", + "cakephp/orm": "^4.0.5", + "php": ">=7.2.0", + "robmorgan/phinx": "^0.12" }, "require-dev": { - "cakephp/bake": "^1.7.0", - "cakephp/cakephp": "^3.6.0", - "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": "^5.7.14" + "cakephp/bake": "^2.1.0", + "cakephp/cakephp": "^4.0.5", + "cakephp/cakephp-codesniffer": "~4.1.0", + "phpunit/phpunit": "~8.5.0" }, "suggest": { - "cakephp/bake": "Required if you want to generate migrations." + "cakephp/bake": "If you want to generate migrations.", + "dereuromark/cakephp-ide-helper": "If you want to have IDE suggest/autocomplete when creating migrations." }, "type": "cakephp-plugin", "autoload": { "psr-4": { - "Migrations\\": "src" + "Migrations\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -321,19 +324,19 @@ "homepage": "https://github.com/cakephp/migrations/graphs/contributors" } ], - "description": "Database Migration plugin for CakePHP 3.0 based on Phinx", + "description": "Database Migration plugin for CakePHP based on Phinx", "homepage": "https://github.com/cakephp/migrations", "keywords": [ "cakephp", "migrations" ], "support": { - "forum": "http://stackoverflow.com/tags/cakephp", + "forum": "https://stackoverflow.com/tags/cakephp", "irc": "irc://irc.freenode.org/cakephp", "issues": "https://github.com/cakephp/migrations/issues", "source": "https://github.com/cakephp/migrations" }, - "time": "2018-04-16T01:35:59+00:00" + "time": "2021-05-20T13:57:37+00:00" }, { "name": "cakephp/plugin-installer", @@ -384,6 +387,82 @@ }, "time": "2020-10-29T04:00:42+00:00" }, + { + "name": "composer/ca-bundle", + "version": "1.2.10", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/9fdb22c2e97a614657716178093cd1da90a64aa8", + "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "psr/log": "^1.0", + "symfony/phpunit-bridge": "^4.2 || ^5", + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.2.10" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-06-07T13:58:28+00:00" + }, { "name": "doctrine/cache", "version": "2.1.1", @@ -787,40 +866,49 @@ }, { "name": "laminas/laminas-diactoros", - "version": "1.8.7p2", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/laminas/laminas-diactoros.git", - "reference": "6991c1af7c8d2c8efee81b22ba97024781824aaa" + "reference": "8b5792b7c81465efb14780c2d4787f158bd96183" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/6991c1af7c8d2c8efee81b22ba97024781824aaa", - "reference": "6991c1af7c8d2c8efee81b22ba97024781824aaa", + "url": "https://api.github.com/repos/laminas/laminas-diactoros/zipball/8b5792b7c81465efb14780c2d4787f158bd96183", + "reference": "8b5792b7c81465efb14780c2d4787f158bd96183", "shasum": "" }, "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^5.6 || ^7.0", + "php": "^7.3 || ~8.0.0 || ~8.1.0", + "psr/http-factory": "^1.0", "psr/http-message": "^1.0" }, + "conflict": { + "phpspec/prophecy": "<1.9.0", + "zendframework/zend-diactoros": "*" + }, "provide": { + "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, - "replace": { - "zendframework/zend-diactoros": "~1.8.7.0" - }, "require-dev": { + "ext-curl": "*", "ext-dom": "*", + "ext-gd": "*", "ext-libxml": "*", - "laminas/laminas-coding-standard": "~1.0", - "php-http/psr7-integration-tests": "dev-master", - "phpunit/phpunit": "^5.7.16 || ^6.0.8 || ^7.2.7" + "http-interop/http-factory-tests": "^0.8.0", + "laminas/laminas-coding-standard": "~1.0.0", + "php-http/psr7-integration-tests": "^1.1", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.1", + "psalm/plugin-phpunit": "^0.14.0", + "vimeo/psalm": "^4.3" }, "type": "library", "extra": { - "branch-alias": { - "dev-release-1.8": "1.8.x-dev" + "laminas": { + "config-provider": "Laminas\\Diactoros\\ConfigProvider", + "module": "Laminas\\Diactoros" } }, "autoload": { @@ -856,6 +944,7 @@ "http", "laminas", "psr", + "psr-17", "psr-7" ], "support": { @@ -866,7 +955,84 @@ "rss": "https://github.com/laminas/laminas-diactoros/releases.atom", "source": "https://github.com/laminas/laminas-diactoros" }, - "time": "2020-03-23T15:28:28+00:00" + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2021-09-15T08:41:12+00:00" + }, + { + "name": "laminas/laminas-httphandlerrunner", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-httphandlerrunner.git", + "reference": "6a2dd33e4166469ade07ad1283b45924383b224b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-httphandlerrunner/zipball/6a2dd33e4166469ade07ad1283b45924383b224b", + "reference": "6a2dd33e4166469ade07ad1283b45924383b224b", + "shasum": "" + }, + "require": { + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^7.3 || ~8.0.0", + "psr/http-message": "^1.0", + "psr/http-message-implementation": "^1.0", + "psr/http-server-handler": "^1.0" + }, + "replace": { + "zendframework/zend-httphandlerrunner": "^1.1.0" + }, + "require-dev": { + "laminas/laminas-coding-standard": "~1.0.0", + "laminas/laminas-diactoros": "^2.1.1", + "phpunit/phpunit": "^9.3", + "psalm/plugin-phpunit": "^0.15.1", + "vimeo/psalm": "^4.6" + }, + "type": "library", + "extra": { + "laminas": { + "config-provider": "Laminas\\HttpHandlerRunner\\ConfigProvider" + } + }, + "autoload": { + "psr-4": { + "Laminas\\HttpHandlerRunner\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Execute PSR-15 RequestHandlerInterface instances and emit responses they generate.", + "homepage": "https://laminas.dev", + "keywords": [ + "components", + "laminas", + "mezzio", + "psr-15", + "psr-7" + ], + "support": { + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-httphandlerrunner/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-httphandlerrunner/issues", + "rss": "https://github.com/laminas/laminas-httphandlerrunner/releases.atom", + "source": "https://github.com/laminas/laminas-httphandlerrunner" + }, + "funding": [ + { + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" + } + ], + "time": "2021-04-08T13:52:56+00:00" }, { "name": "laminas/laminas-zendframework-bridge", @@ -1055,71 +1221,75 @@ "time": "2021-02-19T21:22:57+00:00" }, { - "name": "paragonie/random_compat", - "version": "v9.99.99", + "name": "psr/container", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/paragonie/random_compat.git", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + "url": "https://github.com/php-fig/container.git", + "reference": "2ae37329ee82f91efadc282cc2d527fd6065a5ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", - "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "url": "https://api.github.com/repos/php-fig/container/zipball/2ae37329ee82f91efadc282cc2d527fd6065a5ef", + "reference": "2ae37329ee82f91efadc282cc2d527fd6065a5ef", "shasum": "" }, "require": { - "php": "^7" + "php": ">=7.2.0" }, - "require-dev": { - "phpunit/phpunit": "4.*|5.*", - "vimeo/psalm": "^1" + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } }, - "suggest": { - "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } }, - "type": "library", "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Paragon Initiative Enterprises", - "email": "security@paragonie.com", - "homepage": "https://paragonie.com" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "csprng", - "polyfill", - "pseudorandom", - "random" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], "support": { - "email": "info@paragonie.com", - "issues": "https://github.com/paragonie/random_compat/issues", - "source": "https://github.com/paragonie/random_compat" + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.1" }, - "time": "2018-07-02T15:55:56+00:00" + "time": "2021-03-24T13:40:57+00:00" }, { - "name": "psr/http-message", + "name": "psr/http-client", "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" }, "type": "library", "extra": { @@ -1129,7 +1299,7 @@ }, "autoload": { "psr-4": { - "Psr\\Http\\Message\\": "src/" + "Psr\\Http\\Client\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1142,47 +1312,46 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", "keywords": [ "http", - "http-message", + "http-client", "psr", - "psr-7", - "request", - "response" + "psr-18" ], "support": { - "source": "https://github.com/php-fig/http-message/tree/master" + "source": "https://github.com/php-fig/http-client/tree/master" }, - "time": "2016-08-06T14:39:51+00:00" + "time": "2020-06-29T06:28:15+00:00" }, { - "name": "psr/log", - "version": "1.1.4", + "name": "psr/http-factory", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.0.0", + "psr/http-message": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1192,33 +1361,37 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "homepage": "http://www.php-fig.org/" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Common interfaces for PSR-7 HTTP message factories", "keywords": [ - "log", + "factory", + "http", + "message", "psr", - "psr-3" + "psr-17", + "psr-7", + "request", + "response" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/http-factory/tree/master" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2019-04-30T12:38:16+00:00" }, { - "name": "psr/simple-cache", + "name": "psr/http-message", "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", "shasum": "" }, "require": { @@ -1232,7 +1405,7 @@ }, "autoload": { "psr-4": { - "Psr\\SimpleCache\\": "src/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1245,49 +1418,48 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common interfaces for simple caching", + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "cache", - "caching", + "http", + "http-message", "psr", - "psr-16", - "simple-cache" + "psr-7", + "request", + "response" ], "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" + "source": "https://github.com/php-fig/http-message/tree/master" }, - "time": "2017-10-23T01:57:42+00:00" + "time": "2016-08-06T14:39:51+00:00" }, { - "name": "robmorgan/phinx", - "version": "v0.8.1", + "name": "psr/http-server-handler", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/cakephp/phinx.git", - "reference": "7a19de5bebc59321edd9613bc2a667e7f96224ec" + "url": "https://github.com/php-fig/http-server-handler.git", + "reference": "aff2f80e33b7f026ec96bb42f63242dc50ffcae7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/phinx/zipball/7a19de5bebc59321edd9613bc2a667e7f96224ec", - "reference": "7a19de5bebc59321edd9613bc2a667e7f96224ec", + "url": "https://api.github.com/repos/php-fig/http-server-handler/zipball/aff2f80e33b7f026ec96bb42f63242dc50ffcae7", + "reference": "aff2f80e33b7f026ec96bb42f63242dc50ffcae7", "shasum": "" }, "require": { - "php": ">=5.4", - "symfony/config": "~2.8|~3.0", - "symfony/console": "~2.8|~3.0", - "symfony/yaml": "~2.8|~3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.26|^5.0" + "php": ">=7.0", + "psr/http-message": "^1.0" }, - "bin": [ - "bin/phinx" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "Phinx\\": "src/Phinx" + "Psr\\Http\\Server\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1296,21 +1468,255 @@ ], "authors": [ { - "name": "Woody Gilk", - "email": "woody.gilk@gmail.com", - "homepage": "http://shadowhand.me", - "role": "Developer" - }, - { - "name": "Rob Morgan", - "email": "robbym@gmail.com", - "homepage": "https://robmorgan.id.au", - "role": "Lead Developer" - }, - { - "name": "Richard Quadling", - "email": "rquadling@gmail.com", - "role": "Developer" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP server-side request handler", + "keywords": [ + "handler", + "http", + "http-interop", + "psr", + "psr-15", + "psr-7", + "request", + "response", + "server" + ], + "support": { + "issues": "https://github.com/php-fig/http-server-handler/issues", + "source": "https://github.com/php-fig/http-server-handler/tree/master" + }, + "time": "2018-10-30T16:46:14+00:00" + }, + { + "name": "psr/http-server-middleware", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-server-middleware.git", + "reference": "2296f45510945530b9dceb8bcedb5cb84d40c5f5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-server-middleware/zipball/2296f45510945530b9dceb8bcedb5cb84d40c5f5", + "reference": "2296f45510945530b9dceb8bcedb5cb84d40c5f5", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "psr/http-message": "^1.0", + "psr/http-server-handler": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Server\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP server-side middleware", + "keywords": [ + "http", + "http-interop", + "middleware", + "psr", + "psr-15", + "psr-7", + "request", + "response" + ], + "support": { + "issues": "https://github.com/php-fig/http-server-middleware/issues", + "source": "https://github.com/php-fig/http-server-middleware/tree/master" + }, + "time": "2018-10-30T17:12:04+00:00" + }, + { + "name": "psr/log", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "robmorgan/phinx", + "version": "0.12.8", + "source": { + "type": "git", + "url": "https://github.com/cakephp/phinx.git", + "reference": "d2ed1b452cc90f4cae4ea6b5976b94fb9e5ed2a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/phinx/zipball/d2ed1b452cc90f4cae4ea6b5976b94fb9e5ed2a2", + "reference": "d2ed1b452cc90f4cae4ea6b5976b94fb9e5ed2a2", + "shasum": "" + }, + "require": { + "cakephp/database": "^4.0", + "php": ">=7.2", + "psr/container": "^1.0 || ^2.0", + "symfony/config": "^3.4|^4.0|^5.0", + "symfony/console": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^4.0", + "ext-json": "*", + "ext-pdo": "*", + "phpunit/phpunit": "^8.5|^9.3", + "sebastian/comparator": ">=1.2.3", + "symfony/yaml": "^3.4|^4.0|^5.0" + }, + "suggest": { + "ext-json": "Install if using JSON configuration format", + "ext-pdo": "PDO extension is needed", + "symfony/yaml": "Install if using YAML configuration format" + }, + "bin": [ + "bin/phinx" + ], + "type": "library", + "autoload": { + "psr-4": { + "Phinx\\": "src/Phinx/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rob Morgan", + "email": "robbym@gmail.com", + "homepage": "https://robmorgan.id.au", + "role": "Lead Developer" + }, + { + "name": "Woody Gilk", + "email": "woody.gilk@gmail.com", + "homepage": "https://shadowhand.me", + "role": "Developer" + }, + { + "name": "Richard Quadling", + "email": "rquadling@gmail.com", + "role": "Developer" + }, + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/phinx/graphs/contributors", + "role": "Developer" } ], "description": "Phinx makes it ridiculously easy to manage the database migrations for your PHP app.", @@ -1324,38 +1730,41 @@ ], "support": { "issues": "https://github.com/cakephp/phinx/issues", - "source": "https://github.com/cakephp/phinx/tree/v0.8.1" + "source": "https://github.com/cakephp/phinx/tree/0.12.8" }, - "time": "2017-06-05T13:30:19+00:00" + "time": "2021-07-28T15:31:39+00:00" }, { "name": "symfony/config", - "version": "v3.4.47", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f" + "reference": "4268f3059c904c61636275182707f81645517a37" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f", - "reference": "bc6b3fd3930d4b53a60b42fe2ed6fc466b75f03f", + "url": "https://api.github.com/repos/symfony/config/zipball/4268f3059c904c61636275182707f81645517a37", + "reference": "4268f3059c904c61636275182707f81645517a37", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/filesystem": "~2.8|~3.0|~4.0", - "symfony/polyfill-ctype": "~1.8" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/filesystem": "^4.4|^5.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22" }, "conflict": { - "symfony/dependency-injection": "<3.3", - "symfony/finder": "<3.3" + "symfony/finder": "<4.4" }, "require-dev": { - "symfony/dependency-injection": "~3.3|~4.0", - "symfony/event-dispatcher": "~3.3|~4.0", - "symfony/finder": "~3.3|~4.0", - "symfony/yaml": "~3.0|~4.0" + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/messenger": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { "symfony/yaml": "To use the yaml reference dumper" @@ -1383,10 +1792,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Config Component", + "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v3.4.47" + "source": "https://github.com/symfony/config/tree/v5.3.4" }, "funding": [ { @@ -1402,41 +1811,50 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/console", - "version": "v3.4.47", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81" + "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81", - "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81", + "url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a", + "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/debug": "~2.8|~3.0|~4.0", - "symfony/polyfill-mbstring": "~1.0" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" }, "conflict": { - "symfony/dependency-injection": "<3.4", - "symfony/process": "<3.3" + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" }, "provide": { - "psr/log-implementation": "1.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~3.3|~4.0", - "symfony/dependency-injection": "~3.4|~4.0", - "symfony/event-dispatcher": "~2.8|~3.0|~4.0", - "symfony/lock": "~3.4|~4.0", - "symfony/process": "~3.3|~4.0" + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" }, "suggest": { "psr/log": "For using the console logger", @@ -1467,10 +1885,16 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Console Component", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], "support": { - "source": "https://github.com/symfony/console/tree/v3.4.47" + "source": "https://github.com/symfony/console/tree/v5.3.7" }, "funding": [ { @@ -1486,39 +1910,38 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" + "time": "2021-08-25T20:02:16+00:00" }, { - "name": "symfony/debug", - "version": "v4.4.27", + "name": "symfony/deprecation-contracts", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "2f9160e92eb64c95da7368c867b663a8e34e980c" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/2f9160e92eb64c95da7368c867b663a8e34e980c", - "reference": "2f9160e92eb64c95da7368c867b663a8e34e980c", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", "shasum": "" }, "require": { - "php": ">=7.1.3", - "psr/log": "^1|^2|^3" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" + "php": ">=7.1" }, "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Debug\\": "" + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" }, - "exclude-from-classmap": [ - "/Tests/" + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1527,18 +1950,18 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to ease debugging PHP code", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.27" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" }, "funding": [ { @@ -1554,24 +1977,24 @@ "type": "tidelift" } ], - "time": "2021-07-22T07:21:39+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { "name": "symfony/filesystem", - "version": "v4.4.27", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "517fb795794faf29086a77d99eb8f35e457837a7" + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/517fb795794faf29086a77d99eb8f35e457837a7", - "reference": "517fb795794faf29086a77d99eb8f35e457837a7", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/343f4fe324383ca46792cae728a3b6e2f708fb32", + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-php80": "^1.16" }, @@ -1601,7 +2024,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v4.4.27" + "source": "https://github.com/symfony/filesystem/tree/v5.3.4" }, "funding": [ { @@ -1617,7 +2040,7 @@ "type": "tidelift" } ], - "time": "2021-07-21T12:19:41+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/polyfill-ctype", @@ -1699,24 +2122,24 @@ "time": "2021-02-19T12:13:01+00:00" }, { - "name": "symfony/polyfill-mbstring", + "name": "symfony/polyfill-intl-grapheme", "version": "v1.23.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", - "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", "shasum": "" }, "require": { "php": ">=7.1" }, "suggest": { - "ext-mbstring": "For best performance" + "ext-intl": "For best performance" }, "type": "library", "extra": { @@ -1730,7 +2153,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" }, "files": [ "bootstrap.php" @@ -1750,17 +2173,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill for the Mbstring extension", + "description": "Symfony polyfill for intl's grapheme_* functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", - "mbstring", + "grapheme", + "intl", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" }, "funding": [ { @@ -1779,22 +2203,25 @@ "time": "2021-05-27T12:26:48+00:00" }, { - "name": "symfony/polyfill-php80", - "version": "v1.23.1", + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.23.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", - "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", "shasum": "" }, "require": { "php": ">=7.1" }, + "suggest": { + "ext-intl": "For best performance" + }, "type": "library", "extra": { "branch-alias": { @@ -1807,7 +2234,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, "files": [ "bootstrap.php" @@ -1821,10 +2248,6 @@ "MIT" ], "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, { "name": "Nicolas Grekas", "email": "p@tchwork.com" @@ -1834,16 +2257,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "description": "Symfony polyfill for intl's Normalizer class and related functions", "homepage": "https://symfony.com", "keywords": [ "compatibility", + "intl", + "normalizer", "polyfill", "portable", "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" }, "funding": [ { @@ -1859,42 +2284,44 @@ "type": "tidelift" } ], - "time": "2021-07-28T13:41:28+00:00" + "time": "2021-02-19T12:13:01+00:00" }, { - "name": "symfony/yaml", - "version": "v3.4.47", + "name": "symfony/polyfill-mbstring", + "version": "v1.23.1", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "88289caa3c166321883f67fe5130188ebbb47094" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094", - "reference": "88289caa3c166321883f67fe5130188ebbb47094", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", "shasum": "" }, "require": { - "php": "^5.5.9|>=7.0.8", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/console": "<3.4" - }, - "require-dev": { - "symfony/console": "~3.4|~4.0" + "php": ">=7.1" }, "suggest": { - "symfony/console": "For validating YAML files using the lint command" + "ext-mbstring": "For best performance" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\Yaml\\": "" + "Symfony\\Polyfill\\Mbstring\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1903,18 +2330,25 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Yaml Component", + "description": "Symfony polyfill for the Mbstring extension", "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], "support": { - "source": "https://github.com/symfony/yaml/tree/v3.4.47" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" }, "funding": [ { @@ -1930,49 +2364,45 @@ "type": "tidelift" } ], - "time": "2020-10-24T10:57:07+00:00" - } - ], - "packages-dev": [ + "time": "2021-05-27T12:26:48+00:00" + }, { - "name": "ajgl/breakpoint-twig-extension", - "version": "0.3.5", + "name": "symfony/polyfill-php73", + "version": "v1.23.0", "source": { "type": "git", - "url": "https://github.com/ajgarlag/AjglBreakpointTwigExtension.git", - "reference": "9875feea0ac4bc3c9f308c62bae4727669d6052a" + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ajgarlag/AjglBreakpointTwigExtension/zipball/9875feea0ac4bc3c9f308c62bae4727669d6052a", - "reference": "9875feea0ac4bc3c9f308c62bae4727669d6052a", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", "shasum": "" }, "require": { - "php": ">=5.6", - "twig/twig": "^1.34|^2.0|^3.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.18", - "symfony/framework-bundle": "^2.7|^3.4|^4.4|^5.2", - "symfony/phpunit-bridge": "^4.4|^5.2", - "symfony/twig-bundle": "^2.7|^3.4|^4.4|^5.2" - }, - "suggest": { - "ext-xdebug": "The Xdebug extension is required for the breakpoint to work", - "symfony/framework-bundle": "The framework bundle to integrate the extension into Symfony", - "symfony/twig-bundle": "The twig bundle to integrate the extension into Symfony" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.3.x-dev" + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Ajgl\\Twig\\Extension\\": "src/" - } + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1980,121 +2410,161 @@ ], "authors": [ { - "name": "Antonio J. García Lagar", - "email": "aj@garcialagar.es", - "homepage": "http://aj.garcialagar.es", - "role": "developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Twig extension to set breakpoints", - "homepage": "https://github.com/ajgarlag/AjglBreakpointTwigExtension", + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "Xdebug", - "breakpoint", - "twig" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "issues": "https://github.com/ajgarlag/AjglBreakpointTwigExtension/issues", - "source": "https://github.com/ajgarlag/AjglBreakpointTwigExtension/tree/0.3.5" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" }, - "time": "2021-02-08T10:48:05+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" }, { - "name": "aptoma/twig-markdown", - "version": "2.0.0", + "name": "symfony/polyfill-php80", + "version": "v1.23.1", "source": { "type": "git", - "url": "https://github.com/aptoma/twig-markdown.git", - "reference": "64a9c5c7418c08faf91c4410b34bdb65fb25c23d" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aptoma/twig-markdown/zipball/64a9c5c7418c08faf91c4410b34bdb65fb25c23d", - "reference": "64a9c5c7418c08faf91c4410b34bdb65fb25c23d", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", "shasum": "" }, "require": { - "twig/twig": "~1.12" - }, - "require-dev": { - "codeclimate/php-test-reporter": "dev-master", - "erusev/parsedown": "^1.6", - "knplabs/github-api": "~1.2", - "league/commonmark": "~0.5", - "michelf/php-markdown": "~1", - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "~0.6" - }, - "suggest": { - "knplabs/github-api": "Needed for using GitHub's Markdown engine provided through their API.", - "michelf/php-markdown": "Original Markdown engine with MarkdownExtra." + "php": ">=7.1" }, "type": "library", - "autoload": { - "psr-0": { - "Aptoma": "src/" + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Joris Berthelot", - "email": "joris@berthelot.tel" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Gunnar Lium", - "email": "gunnar@aptoma.com" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Twig extension to work with Markdown content", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "markdown", - "twig" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "issues": "https://github.com/aptoma/twig-markdown/issues", - "source": "https://github.com/aptoma/twig-markdown/tree/master" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" }, - "time": "2015-10-23T20:27:08+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-28T13:41:28+00:00" }, { - "name": "asm89/twig-cache-extension", - "version": "1.4.0", + "name": "symfony/polyfill-php81", + "version": "v1.23.0", "source": { "type": "git", - "url": "https://github.com/asm89/twig-cache-extension.git", - "reference": "13787226956ec766f4770722082288097aebaaf3" + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "e66119f3de95efc359483f810c4c3e6436279436" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/asm89/twig-cache-extension/zipball/13787226956ec766f4770722082288097aebaaf3", - "reference": "13787226956ec766f4770722082288097aebaaf3", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", + "reference": "e66119f3de95efc359483f810c4c3e6436279436", "shasum": "" }, "require": { - "php": ">=5.3.2", - "twig/twig": "^1.0|^2.0" - }, - "require-dev": { - "doctrine/cache": "~1.0", - "phpunit/phpunit": "^5.0 || ^4.8.10" - }, - "suggest": { - "psr/cache-implementation": "To make use of PSR-6 cache implementation via PsrCacheAdapter." + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "": "lib/" - } + "Symfony\\Polyfill\\Php81\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2102,52 +2572,71 @@ ], "authors": [ { - "name": "Alexander", - "email": "iam.asm89@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Cache fragments of templates directly within Twig.", - "homepage": "https://github.com/asm89/twig-cache-extension", + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "cache", - "extension", - "twig" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "issues": "https://github.com/asm89/twig-cache-extension/issues", - "source": "https://github.com/asm89/twig-cache-extension/tree/1.4.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" }, - "abandoned": "twig/cache-extension", - "time": "2020-01-01T20:47:37+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-21T13:25:03+00:00" }, { - "name": "cakephp/bake", - "version": "1.12.0", + "name": "symfony/service-contracts", + "version": "v1.1.2", "source": { "type": "git", - "url": "https://github.com/cakephp/bake.git", - "reference": "33e8ee8419ba36c13fa4074c208c93352b5530cf" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "191afdcb5804db960d26d8566b7e9a2843cab3a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/bake/zipball/33e8ee8419ba36c13fa4074c208c93352b5530cf", - "reference": "33e8ee8419ba36c13fa4074c208c93352b5530cf", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/191afdcb5804db960d26d8566b7e9a2843cab3a0", + "reference": "191afdcb5804db960d26d8566b7e9a2843cab3a0", "shasum": "" }, "require": { - "cakephp/cakephp": "^3.8.0", - "cakephp/plugin-installer": "^1.0", - "php": ">=5.6.0", - "wyrihaximus/twig-view": "^4.3.7" + "php": "^7.1.3" }, - "require-dev": { - "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": "^5.7.14|^6.0" + "suggest": { + "psr/container": "", + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } }, - "type": "cakephp-plugin", "autoload": { "psr-4": { - "Bake\\": "src/" + "Symfony\\Contracts\\Service\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2156,50 +2645,194 @@ ], "authors": [ { - "name": "CakePHP Community", - "homepage": "https://github.com/cakephp/bake/graphs/contributors" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Bake plugin for CakePHP 3", - "homepage": "https://github.com/cakephp/bake", + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", "keywords": [ - "bake", - "cakephp" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "forum": "https://stackoverflow.com/tags/cakephp", - "irc": "irc://irc.freenode.org/cakephp", - "issues": "https://github.com/cakephp/bake/issues", - "source": "https://github.com/cakephp/bake" + "source": "https://github.com/symfony/service-contracts/tree/v1.1.2" }, - "time": "2019-12-07T20:34:43+00:00" + "time": "2019-05-28T07:50:59+00:00" }, { - "name": "cakephp/cakephp-codesniffer", - "version": "3.3.0", + "name": "symfony/string", + "version": "v5.3.7", "source": { "type": "git", - "url": "https://github.com/cakephp/cakephp-codesniffer.git", - "reference": "7998a191e787fd5b68cb635d7050cb0d7b55e1a1" + "url": "https://github.com/symfony/string.git", + "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/cakephp-codesniffer/zipball/7998a191e787fd5b68cb635d7050cb0d7b55e1a1", - "reference": "7998a191e787fd5b68cb635d7050cb0d7b55e1a1", + "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5", + "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5", "shasum": "" }, "require": { - "php": ">=5.6", - "squizlabs/php_codesniffer": "^3.0.0" + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" }, "require-dev": { - "phpunit/phpunit": "<6.0" + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" }, - "type": "phpcodesniffer-standard", + "type": "library", "autoload": { "psr-4": { - "CakePHP\\": "CakePHP/" - } + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-26T08:00:08+00:00" + } + ], + "packages-dev": [ + { + "name": "cakephp/bake", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/cakephp/bake.git", + "reference": "f1c297c4e903a15188389011b93ce46119849d01" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/bake/zipball/f1c297c4e903a15188389011b93ce46119849d01", + "reference": "f1c297c4e903a15188389011b93ce46119849d01", + "shasum": "" + }, + "require": { + "cakephp/cakephp": "^4.0", + "cakephp/twig-view": "^1.0", + "php": ">=7.2" + }, + "require-dev": { + "cakephp/cakephp-codesniffer": "^4.0", + "cakephp/debug_kit": "^4.1", + "phpunit/phpunit": "~8.5.0" + }, + "type": "cakephp-plugin", + "autoload": { + "psr-4": { + "Bake\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/bake/graphs/contributors" + } + ], + "description": "Bake plugin for CakePHP", + "homepage": "https://github.com/cakephp/bake", + "keywords": [ + "bake", + "cakephp" + ], + "support": { + "forum": "https://stackoverflow.com/tags/cakephp", + "irc": "irc://irc.freenode.org/cakephp", + "issues": "https://github.com/cakephp/bake/issues", + "source": "https://github.com/cakephp/bake" + }, + "time": "2020-10-23T01:17:19+00:00" + }, + { + "name": "cakephp/cakephp-codesniffer", + "version": "3.3.0", + "source": { + "type": "git", + "url": "https://github.com/cakephp/cakephp-codesniffer.git", + "reference": "7998a191e787fd5b68cb635d7050cb0d7b55e1a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cakephp/cakephp-codesniffer/zipball/7998a191e787fd5b68cb635d7050cb0d7b55e1a1", + "reference": "7998a191e787fd5b68cb635d7050cb0d7b55e1a1", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "squizlabs/php_codesniffer": "^3.0.0" + }, + "require-dev": { + "phpunit/phpunit": "<6.0" + }, + "type": "phpcodesniffer-standard", + "autoload": { + "psr-4": { + "CakePHP\\": "CakePHP/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2227,30 +2860,29 @@ }, { "name": "cakephp/debug_kit", - "version": "3.23.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/cakephp/debug_kit.git", - "reference": "49506b55d0b7becf4803e895b07a8cd8599ab1e4" + "reference": "940a0214947e85bbaa0724acfda852f64831f04f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/debug_kit/zipball/49506b55d0b7becf4803e895b07a8cd8599ab1e4", - "reference": "49506b55d0b7becf4803e895b07a8cd8599ab1e4", + "url": "https://api.github.com/repos/cakephp/debug_kit/zipball/940a0214947e85bbaa0724acfda852f64831f04f", + "reference": "940a0214947e85bbaa0724acfda852f64831f04f", "shasum": "" }, "require": { - "cakephp/cakephp": "^3.7.0", - "cakephp/chronos": "^1.0.0", - "composer/composer": "^1.3 | ^2.0", - "jdorn/sql-formatter": "^1.2.0", - "php": ">=5.6.0" + "cakephp/cakephp": "^4.0", + "cakephp/chronos": "^2.0", + "composer/composer": "^1.3", + "jdorn/sql-formatter": "^1.2", + "php": ">=7.2" }, "require-dev": { - "cakephp/authorization": "^1.3.2", - "cakephp/cakephp-codesniffer": "^3.0", - "cakephp/plugin-installer": "^1.3", - "phpunit/phpunit": "^5.7.14|^6.0" + "cakephp/authorization": "^2.0", + "cakephp/cakephp-codesniffer": "^4.0", + "phpunit/phpunit": "^8.0" }, "suggest": { "ext-pdo_sqlite": "DebugKit needs to store panel data in a database. SQLite is simple and easy to use." @@ -2290,42 +2922,44 @@ "issues": "https://github.com/cakephp/debug_kit/issues", "source": "https://github.com/cakephp/debug_kit" }, - "time": "2021-05-16T04:58:57+00:00" + "time": "2020-06-10T01:37:18+00:00" }, { - "name": "composer/ca-bundle", - "version": "1.2.10", + "name": "cakephp/twig-view", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8" + "url": "https://github.com/cakephp/twig-view.git", + "reference": "668dd6aee43dd616b1e83cb9ba166f094c10fbce" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/9fdb22c2e97a614657716178093cd1da90a64aa8", - "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8", + "url": "https://api.github.com/repos/cakephp/twig-view/zipball/668dd6aee43dd616b1e83cb9ba166f094c10fbce", + "reference": "668dd6aee43dd616b1e83cb9ba166f094c10fbce", "shasum": "" }, "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" + "cakephp/cakephp": "^4.0", + "jasny/twig-extensions": "^1.3", + "php": ">=7.2", + "twig/markdown-extra": "^3.0", + "twig/twig": "^3.0" }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" + "conflict": { + "wyrihaximus/twig-view": "*" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } + "require-dev": { + "cakephp/cakephp-codesniffer": "^4.0", + "cakephp/debug_kit": "^4.0", + "cakephp/plugin-installer": "^1.3", + "michelf/php-markdown": "^1.9", + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": "^8.5 || ^9.3" }, + "type": "cakephp-plugin", "autoload": { "psr-4": { - "Composer\\CaBundle\\": "src" + "Cake\\TwigView\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2334,74 +2968,60 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "CakePHP Community", + "homepage": "https://github.com/cakephp/cakephp/graphs/contributors" } ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "description": "Twig powered View for CakePHP", "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" + "cakephp", + "template", + "twig", + "view" ], "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.2.10" + "forum": "https://stackoverflow.com/tags/cakephp", + "irc": "irc://irc.freenode.org/cakephp", + "issues": "https://github.com/cakephp/twig-view/issues", + "source": "https://github.com/cakephp/twig-view" }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-06-07T13:58:28+00:00" + "time": "2020-12-13T19:57:31+00:00" }, { "name": "composer/composer", - "version": "2.1.8", + "version": "1.10.22", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "24d38e9686092de05214cafa187dc282a5d89497" + "reference": "28c9dfbe2351635961f670773e8d7b17bc5eda25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/24d38e9686092de05214cafa187dc282a5d89497", - "reference": "24d38e9686092de05214cafa187dc282a5d89497", + "url": "https://api.github.com/repos/composer/composer/zipball/28c9dfbe2351635961f670773e8d7b17bc5eda25", + "reference": "28c9dfbe2351635961f670773e8d7b17bc5eda25", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0", - "composer/metadata-minifier": "^1.0", - "composer/semver": "^3.0", + "composer/semver": "^1.0", "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^2.0", - "justinrainbow/json-schema": "^5.2.11", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^5.2.10", "php": "^5.3.2 || ^7.0 || ^8.0", "psr/log": "^1.0", - "react/promise": "^1.2 || ^2.7", "seld/jsonlint": "^1.4", "seld/phar-utils": "^1.0", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" + "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" + }, + "conflict": { + "symfony/console": "2.8.38" }, "require-dev": { "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" + "symfony/phpunit-bridge": "^4.2" }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", @@ -2414,7 +3034,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "1.10-dev" } }, "autoload": { @@ -2430,12 +3050,12 @@ { "name": "Nils Adermann", "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" + "homepage": "http://www.naderman.de" }, { "name": "Jordi Boggiano", "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" + "homepage": "http://seld.be" } ], "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", @@ -2446,78 +3066,9 @@ "package" ], "support": { - "irc": "ircs://irc.libera.chat:6697/composer", + "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.1.8" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-09-15T11:55:15+00:00" - }, - { - "name": "composer/metadata-minifier", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/metadata-minifier.git", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2", - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\MetadataMinifier\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Small utility library that handles metadata minification and expansion.", - "keywords": [ - "composer", - "compression" - ], - "support": { - "issues": "https://github.com/composer/metadata-minifier/issues", - "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" + "source": "https://github.com/composer/composer/tree/1.10.22" }, "funding": [ { @@ -2533,33 +3084,32 @@ "type": "tidelift" } ], - "time": "2021-04-07T13:37:33+00:00" + "time": "2021-04-27T11:10:45+00:00" }, { "name": "composer/semver", - "version": "3.2.5", + "version": "1.7.2", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9" + "reference": "647490bbcaf7fc4891c58f47b825eb99d19c377a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9", - "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9", + "url": "https://api.github.com/repos/composer/semver/zipball/647490bbcaf7fc4891c58f47b825eb99d19c377a", + "reference": "647490bbcaf7fc4891c58f47b825eb99d19c377a", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^0.12.54", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpunit/phpunit": "^4.5 || ^5.0.5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -2598,7 +3148,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.2.5" + "source": "https://github.com/composer/semver/tree/1.7.2" }, "funding": [ { @@ -2614,7 +3164,7 @@ "type": "tidelift" } ], - "time": "2021-05-24T12:41:47+00:00" + "time": "2020-12-03T15:47:16+00:00" }, { "name": "composer/spdx-licenses", @@ -2697,21 +3247,21 @@ }, { "name": "composer/xdebug-handler", - "version": "2.0.2", + "version": "1.4.6", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339" + "reference": "f27e06cd9675801df441b3656569b328e04aa37c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339", - "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f27e06cd9675801df441b3656569b328e04aa37c", + "reference": "f27e06cd9675801df441b3656569b328e04aa37c", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1 || ^2 || ^3" + "psr/log": "^1.0" }, "require-dev": { "phpstan/phpstan": "^0.12.55", @@ -2741,7 +3291,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/2.0.2" + "source": "https://github.com/composer/xdebug-handler/tree/1.4.6" }, "funding": [ { @@ -2757,40 +3307,38 @@ "type": "tidelift" } ], - "time": "2021-07-31T17:03:58+00:00" + "time": "2021-03-25T17:01:18+00:00" }, { - "name": "jasny/twig-extensions", - "version": "v1.2.0", + "name": "doctrine/instantiator", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/jasny/twig-extensions.git", - "reference": "30bdf3a3903c021544f36332c9d5d4d563527da4" + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jasny/twig-extensions/zipball/30bdf3a3903c021544f36332c9d5d4d563527da4", - "reference": "30bdf3a3903c021544f36332c9d5d4d563527da4", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", "shasum": "" }, "require": { - "php": ">=7.0.0 | >=5.6.0", - "twig/twig": "^2.0 | ^1.12" + "php": "^7.1 || ^8.0" }, "require-dev": { - "ext-intl": "*", - "ext-pcre": "*", - "jasny/php-code-quality": "^2.1", - "phpunit/phpunit": "^5.0" - }, - "suggest": { - "ext-intl": "Required for the use of the LocalDate Twig extension", - "ext-pcre": "Required for the use of the PCRE Twig extension" + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", "autoload": { "psr-4": { - "Jasny\\Twig\\": "src/" + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2799,12 +3347,83 @@ ], "authors": [ { - "name": "Arnold Daniels", - "email": "arnold@jasny.net", - "homepage": "http://www.jasny.net" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" } ], - "description": "A set of useful Twig filters", + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" + }, + { + "name": "jasny/twig-extensions", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/jasny/twig-extensions.git", + "reference": "a694eb02f6fc14ff8e2fceb8b80882c0c926102b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jasny/twig-extensions/zipball/a694eb02f6fc14ff8e2fceb8b80882c0c926102b", + "reference": "a694eb02f6fc14ff8e2fceb8b80882c0c926102b", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "twig/twig": "^2.0 | ^3.0" + }, + "require-dev": { + "ext-intl": "*", + "ext-pcre": "*", + "jasny/php-code-quality": "^2.5", + "php": ">=7.2.0" + }, + "suggest": { + "ext-intl": "Required for the use of the LocalDate Twig extension", + "ext-pcre": "Required for the use of the PCRE Twig extension" + }, + "type": "library", + "autoload": { + "psr-4": { + "Jasny\\Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arnold Daniels", + "email": "arnold@jasny.net", + "homepage": "http://www.jasny.net" + } + ], + "description": "A set of useful Twig filters", "homepage": "http://github.com/jasny/twig-extensions#README", "keywords": [ "PCRE", @@ -2821,7 +3440,7 @@ "issues": "https://github.com/jasny/twig-extensions/issues", "source": "https://github.com/jasny/twig-extensions" }, - "time": "2017-09-13T07:38:01+00:00" + "time": "2019-12-10T16:04:23+00:00" }, { "name": "jdorn/sql-formatter", @@ -2947,6 +3566,64 @@ }, "time": "2021-07-22T09:24:00+00:00" }, + { + "name": "myclabs/deep-copy", + "version": "1.10.2", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" + }, { "name": "nikic/php-parser", "version": "v4.12.0", @@ -3004,129 +3681,1603 @@ "time": "2021-07-21T10:44:31+00:00" }, { - "name": "psy/psysh", - "version": "v0.10.8", + "name": "phar-io/manifest", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3" + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "bae7c545bef187884426f042434e561ab1ddb182" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.1.0" + }, + "time": "2021-02-23T14:00:09+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.2.2", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, + "time": "2020-09-03T19:13:55+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "30f38bffc6f24293dadd1823936372dfa9e86e2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/30f38bffc6f24293dadd1823936372dfa9e86e2f", + "reference": "30f38bffc6f24293dadd1823936372dfa9e86e2f", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*", + "psalm/phar": "^4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.0" + }, + "time": "2021-09-17T15:28:14+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.14.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e", + "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.2", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^6.0 || ^7.0", + "phpunit/phpunit": "^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\": "src/Prophecy" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/1.14.0" + }, + "time": "2021-09-10T09:02:12+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "0.12.99", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "b4d40f1d759942f523be267a1bab6884f46ca3f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/b4d40f1d759942f523be267a1bab6884f46ca3f7", + "reference": "b4d40f1d759942f523be267a1bab6884f46ca3f7", + "shasum": "" + }, + "require": { + "php": "^7.1|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.12-dev" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "support": { + "issues": "https://github.com/phpstan/phpstan/issues", + "source": "https://github.com/phpstan/phpstan/tree/0.12.99" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpstan", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2021-09-12T20:09:55+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "7.0.15", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "819f92bba8b001d4363065928088de22f25a3a48" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/819f92bba8b001d4363065928088de22f25a3a48", + "reference": "819f92bba8b001d4363065928088de22f25a3a48", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": ">=7.2", + "phpunit/php-file-iterator": "^2.0.2", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^3.1.3 || ^4.0", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^4.2.2", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1.3" + }, + "require-dev": { + "phpunit/phpunit": "^8.2.2" + }, + "suggest": { + "ext-xdebug": "^2.7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/7.0.15" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-07-26T12:20:09+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "28af674ff175d0768a5a978e6de83f697d4a7f05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/28af674ff175d0768a5a978e6de83f697d4a7f05", + "reference": "28af674ff175d0768a5a978e6de83f697d4a7f05", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-07-19T06:46:01+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1" + }, + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "2.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "reference": "2454ae1765516d20c4ffe103d85a58a9a3bd5662", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/2.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T08:20:02+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/a853a0e183b9db7eed023d7933a858fa1c8d25a3", + "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", + "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "abandoned": true, + "time": "2020-08-04T08:28:15+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "8.5.20", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "9deefba183198398a09b927a6ac6bc1feb0b7b70" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9deefba183198398a09b927a6ac6bc1feb0b7b70", + "reference": "9deefba183198398a09b927a6ac6bc1feb0b7b70", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.0", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.2", + "phpspec/prophecy": "^1.10.3", + "phpunit/php-code-coverage": "^7.0.12", + "phpunit/php-file-iterator": "^2.0.4", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^2.1.2", + "sebastian/comparator": "^3.0.2", + "sebastian/diff": "^3.0.2", + "sebastian/environment": "^4.2.3", + "sebastian/exporter": "^3.1.2", + "sebastian/global-state": "^3.0.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^2.0.1", + "sebastian/type": "^1.1.3", + "sebastian/version": "^2.0.1" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*", + "phpunit/php-invoker": "^2.0.0" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.20" + }, + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-08-31T06:44:38+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.10.8", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", + "php": "^8.0 || ^7.0 || ^5.5.9", + "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", + "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "hoa/console": "3.17.*" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", + "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.10.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.10.8" + }, + "time": "2021-04-10T16:23:39+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T08:15:22+00:00" + }, + { + "name": "sebastian/comparator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "1071dfcef776a57013124ff35e1fc41ccd294758" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1071dfcef776a57013124ff35e1fc41ccd294758", + "reference": "1071dfcef776a57013124ff35e1fc41ccd294758", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "sebastian/diff": "^3.0", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^8.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T08:04:30+00:00" + }, + { + "name": "sebastian/diff", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/14f72dd46eaf2f2293cbe79c93cc0bc43161a211", + "reference": "14f72dd46eaf2f2293cbe79c93cc0bc43161a211", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^8.0", + "symfony/process": "^2 || ^3.3 || ^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:59:04+00:00" + }, + { + "name": "sebastian/environment", + "version": "4.2.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "reference": "d47bbbad83711771f167c72d4e3f25f7fcc1f8b0", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/4.2.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:53:42+00:00" + }, + { + "name": "sebastian/exporter", + "version": "3.1.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/6b853149eab67d4da22291d36f5b0631c0fd856e", + "reference": "6b853149eab67d4da22291d36f5b0631c0fd856e", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/3.1.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:47:53+00:00" + }, + { + "name": "sebastian/global-state", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/474fb9edb7ab891665d3bfc6317f42a0a150454b", + "reference": "474fb9edb7ab891665d3bfc6317f42a0a150454b", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^8.0" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:43:24+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "reference": "e67f6d32ebd0c749cf9d1dbd9f226c727043cdf2", + "shasum": "" + }, + "require": { + "php": ">=7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/3.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:40:27+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "reference": "9b8772b9cbd456ab45d4a598d2dd1a1bced6363d", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/1.1.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:37:18+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/367dcba38d6e1977be014dc4b22f47a484dac7fb", + "reference": "367dcba38d6e1977be014dc4b22f47a484dac7fb", + "shasum": "" + }, + "require": { + "php": ">=7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/3.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:34:24+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "reference": "31d35ca87926450c44eae7e2611d45a7a65ea8b3", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:30:19+00:00" + }, + { + "name": "sebastian/type", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/0150cfbc4495ed2df3872fb31b26781e4e077eb4", + "reference": "0150cfbc4495ed2df3872fb31b26781e4e077eb4", "shasum": "" }, "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", - "php": "^8.0 || ^7.0 || ^5.5.9", - "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", - "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" + "php": ">=7.2" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "3.17.*" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + "phpunit/phpunit": "^8.2" }, - "bin": [ - "bin/psysh" - ], "type": "library", "extra": { "branch-alias": { - "dev-main": "0.10.x-dev" + "dev-master": "1.1-dev" } }, "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", "support": { - "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.10.8" + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/1.1.4" }, - "time": "2021-04-10T16:23:39+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-30T07:25:11+00:00" }, { - "name": "react/promise", - "version": "v2.8.0", + "name": "sebastian/version", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4", - "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", "shasum": "" }, "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36" + "php": ">=5.6" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { - "psr-4": { - "React\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.8.0" + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/master" }, - "time": "2020-05-12T15:16:56+00:00" + "time": "2016-10-03T07:35:21+00:00" }, { "name": "seld/jsonlint", @@ -3357,82 +5508,6 @@ ], "time": "2021-08-04T21:20:46+00:00" }, - { - "name": "symfony/polyfill-php72", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:17:38+00:00" - }, { "name": "symfony/process", "version": "v5.3.7", @@ -3497,33 +5572,32 @@ }, { "name": "symfony/var-dumper", - "version": "v4.4.30", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "7f65c44c2ce80d3a0fcdb6385ee0ad535e45660c" + "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7f65c44c2ce80d3a0fcdb6385ee0ad535e45660c", - "reference": "7f65c44c2ce80d3a0fcdb6385ee0ad535e45660c", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f", + "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php72": "~1.5", "symfony/polyfill-php80": "^1.16" }, "conflict": { - "phpunit/phpunit": "<4.8.35|<5.4.3,>=5.0", - "symfony/console": "<3.4" + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" }, "require-dev": { "ext-iconv": "*", - "symfony/console": "^3.4|^4.0|^5.0", + "symfony/console": "^4.4|^5.0", "symfony/process": "^4.4|^5.0", - "twig/twig": "^1.43|^2.13|^3.0.4" + "twig/twig": "^2.13|^3.0.4" }, "suggest": { "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", @@ -3566,7 +5640,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v4.4.30" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.7" }, "funding": [ { @@ -3582,47 +5656,100 @@ "type": "tidelift" } ], - "time": "2021-08-04T20:31:23+00:00" + "time": "2021-08-04T23:19:25+00:00" }, { - "name": "twig/twig", - "version": "v1.44.5", + "name": "theseer/tokenizer", + "version": "1.2.1", "source": { "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "dd4353357c5a116322e92a00d16043a31881a81e" + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/dd4353357c5a116322e92a00d16043a31881a81e", - "reference": "dd4353357c5a116322e92a00d16043a31881a81e", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "^1.8" + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + }, + { + "name": "twig/markdown-extra", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/twigphp/markdown-extra.git", + "reference": "725a4ef89d93bb80fc63c67cf261bf7512649290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/markdown-extra/zipball/725a4ef89d93bb80fc63c67cf261bf7512649290", + "reference": "725a4ef89d93bb80fc63c67cf261bf7512649290", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "twig/twig": "^2.4|^3.0" }, "require-dev": { - "psr/container": "^1.0", - "symfony/phpunit-bridge": "^4.4.9|^5.0.9" + "erusev/parsedown": "^1.7", + "league/commonmark": "^1.0", + "league/html-to-markdown": "^4.8|^5.0", + "michelf/php-markdown": "^1.8", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.44-dev" + "dev-master": "3.2-dev" } }, "autoload": { - "psr-0": { - "Twig_": "lib/" - }, "psr-4": { - "Twig\\": "src/" - } + "Twig\\Extra\\Markdown\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { @@ -3630,25 +5757,17 @@ "email": "fabien@symfony.com", "homepage": "http://fabien.potencier.org", "role": "Lead Developer" - }, - { - "name": "Twig Team", - "role": "Contributors" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" } ], - "description": "Twig, the flexible, fast, and secure template language for PHP", + "description": "A Twig extension for Markdown", "homepage": "https://twig.symfony.com", "keywords": [ - "templating" + "html", + "markdown", + "twig" ], "support": { - "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v1.44.5" + "source": "https://github.com/twigphp/markdown-extra/tree/v3.3.3" }, "funding": [ { @@ -3660,89 +5779,118 @@ "type": "tidelift" } ], - "time": "2021-09-17T08:35:19+00:00" + "time": "2021-07-07T07:08:18+00:00" }, { - "name": "umpirsky/twig-php-function", - "version": "v0.1", + "name": "twig/twig", + "version": "v3.3.3", "source": { "type": "git", - "url": "https://github.com/umpirsky/twig-php-function.git", - "reference": "53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc" + "url": "https://github.com/twigphp/Twig.git", + "reference": "a27fa056df8a6384316288ca8b0fa3a35fdeb569" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/umpirsky/twig-php-function/zipball/53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc", - "reference": "53b4b1eb0c5eacbd7d66c504b7d809c79b4bedbc", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/a27fa056df8a6384316288ca8b0fa3a35fdeb569", + "reference": "a27fa056df8a6384316288ca8b0fa3a35fdeb569", "shasum": "" }, "require": { - "php": ">=5.3.3", - "twig/twig": "~1.12" + "php": ">=7.2.5", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { - "phpspec/phpspec": "~2.0", - "phpunit/phpunit": "~4.4" + "psr/container": "^1.0", + "symfony/phpunit-bridge": "^4.4.9|^5.0.9|^6.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.3-dev" + } + }, "autoload": { - "psr-0": { - "Umpirsky\\": "src/" + "psr-4": { + "Twig\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Saša Stamenković", - "email": "umpirsky@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" } ], - "description": "Call (almost) any PHP function from your Twig templates.", + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], "support": { - "issues": "https://github.com/umpirsky/twig-php-function/issues", - "source": "https://github.com/umpirsky/twig-php-function/tree/master" + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.3.3" }, - "time": "2016-03-12T16:36:32+00:00" + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2021-09-17T08:44:23+00:00" }, { - "name": "wyrihaximus/twig-view", - "version": "4.4.0", + "name": "webmozart/assert", + "version": "1.10.0", "source": { "type": "git", - "url": "https://github.com/cakephp/legacy-twig-view.git", - "reference": "463e1a6ed493d4fe99eaeaaf39d80172b51fc0fb" + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cakephp/legacy-twig-view/zipball/463e1a6ed493d4fe99eaeaaf39d80172b51fc0fb", - "reference": "463e1a6ed493d4fe99eaeaaf39d80172b51fc0fb", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", "shasum": "" }, "require": { - "ajgl/breakpoint-twig-extension": "^0.3.0", - "aptoma/twig-markdown": "^2.0", - "asm89/twig-cache-extension": "^1.0", - "cakephp/cakephp": "^3.7", - "jasny/twig-extensions": "^1.0", - "php": "^5.6 || ^7.0", - "twig/twig": "^1.27", - "umpirsky/twig-php-function": "0.1" + "php": "^7.2 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "cakephp/bake": "^1.5", - "cakephp/debug_kit": "^3.0", - "phake/phake": "^2.3.2", - "phpunit/phpunit": "^5.7.14", - "squizlabs/php_codesniffer": "^3.4.0", - "wyrihaximus/phpunit-class-reflection-helpers": "dev-master" + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } }, - "type": "cakephp-plugin", "autoload": { "psr-4": { - "WyriHaximus\\TwigView\\": "src/" + "Webmozart\\Assert\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3751,23 +5899,21 @@ ], "authors": [ { - "name": "Cees-Jan Kiewiet", - "email": "ceesjank@gmail.com", - "homepage": "http://wyrihaximus.net/" + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Twig powered View for CakePHP3", + "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ - "cakephp", - "cakephp3", - "twig", - "view" + "assert", + "check", + "validate" ], "support": { - "issues": "https://github.com/cakephp/legacy-twig-view/issues", - "source": "https://github.com/cakephp/legacy-twig-view/tree/4.4.0" + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" }, - "time": "2021-04-06T15:42:50+00:00" + "time": "2021-03-09T10:59:23+00:00" } ], "aliases": [], @@ -3778,7 +5924,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=5.6" + "php": ">=7.2" }, "platform-dev": [], "plugin-api-version": "2.1.0" diff --git a/app/config/app.php b/app/config/app.php index 6b7c82a1..9f35ce8b 100644 --- a/app/config/app.php +++ b/app/config/app.php @@ -25,6 +25,13 @@ * @license Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0) */ +use Cake\Cache\Engine\FileEngine; +use Cake\Database\Connection; +use Cake\Database\Driver\Mysql; +use Cake\Error\ExceptionRenderer; +use Cake\Log\Engine\FileLog; +use Cake\Mailer\Transport\MailTransport; + return [ /** * Debug Level: @@ -37,7 +44,7 @@ */ 'debug' => filter_var(env('DEBUG', false), FILTER_VALIDATE_BOOLEAN), - /** + /* * Configure basic information about the application. * * - namespace - The namespace to find app classes under. @@ -54,7 +61,10 @@ * /.htaccess * /webroot/.htaccess * And uncomment the baseUrl key below. - * - fullBaseUrl - A base URL to use for absolute links. + * - fullBaseUrl - A base URL to use for absolute links. When set to false (default) + * CakePHP generates required value based on `HTTP_HOST` environment variable. + * However, you can define it manually to optimize performance or if you + * are concerned about people manipulating the `Host` header. * - imageBaseUrl - Web path to the public images directory under webroot. * - cssBaseUrl - Web path to the public css directory under webroot. * - jsBaseUrl - Web path to the public js directory under webroot. @@ -66,36 +76,36 @@ 'namespace' => 'App', 'encoding' => env('APP_ENCODING', 'UTF-8'), 'defaultLocale' => env('APP_DEFAULT_LOCALE', 'en_US'), + 'defaultTimezone' => env('APP_DEFAULT_TIMEZONE', 'UTC'), 'base' => false, 'dir' => 'src', 'webroot' => 'webroot', 'wwwRoot' => WWW_ROOT, - // 'baseUrl' => env('SCRIPT_NAME'), + //'baseUrl' => env('SCRIPT_NAME'), 'fullBaseUrl' => false, 'imageBaseUrl' => 'img/', 'cssBaseUrl' => 'css/', 'jsBaseUrl' => 'js/', 'paths' => [ 'plugins' => [ROOT . DS . 'plugins' . DS], - 'templates' => [APP . 'Template' . DS], - 'locales' => [APP . 'Locale' . DS], + 'templates' => [ROOT . DS . 'templates' . DS], + 'locales' => [RESOURCES . 'locales' . DS], ], ], - /** + /* * Security and encryption configuration * * - salt - A random string used in security hashing methods. * The salt value is also used as the encryption key. * You should treat it as extremely sensitive data. */ - 'Security' => [ // Note that we (COmanage) override this in bootstrap.php 'salt' => env('SECURITY_SALT', '22a0feb8115478995505ee6275de27f42ff79e9876794c6762cb75ea853986af'), ], - /** + /* * Apply timestamps with the last modified time to static assets (js, css, images). * Will append a querystring parameter containing the time the file was modified. * This is useful for busting browser caches. @@ -104,51 +114,66 @@ * enable timestamping regardless of debug value. */ 'Asset' => [ - 'timestamp' => true, + 'timestamp' => true, + // 'cacheTime' => '+1 year' ], - /** + /* * Configure the cache adapters. */ 'Cache' => [ 'default' => [ - 'className' => 'File', + 'className' => FileEngine::class, 'path' => CACHE, 'url' => env('CACHE_DEFAULT_URL', null), ], - /** + /* * Configure the cache used for general framework caching. * Translation cache files are stored with this configuration. * Duration will be set to '+2 minutes' in bootstrap.php when debug = true * If you set 'className' => 'Null' core cache will be disabled. */ '_cake_core_' => [ - 'className' => 'Null', // 'File', + 'className' => 'Null', // FileEngine::class 'prefix' => 'myapp_cake_core_', - 'path' => CACHE . 'persistent/', + 'path' => CACHE . 'persistent' . DS, 'serialize' => true, 'duration' => '+1 years', 'url' => env('CACHE_CAKECORE_URL', null), ], - /** + /* * Configure the cache for model and datasource caches. This cache * configuration is used to store schema descriptions, and table listings * in connections. * Duration will be set to '+2 minutes' in bootstrap.php when debug = true */ '_cake_model_' => [ - 'className' => 'Null', //'File', + 'className' => 'Null', // FileEngine::class 'prefix' => 'myapp_cake_model_', - 'path' => CACHE . 'models/', + 'path' => CACHE . 'models' . DS, 'serialize' => true, 'duration' => '+1 years', 'url' => env('CACHE_CAKEMODEL_URL', null), ], + + /* + * Configure the cache for routes. The cached routes collection is built the + * first time the routes are processed through `config/routes.php`. + * Duration will be set to '+2 seconds' in bootstrap.php when debug = true + */ + '_cake_routes_' => [ + 'className' => 'Null', // FileEngine::class + 'prefix' => 'myapp_cake_routes_', + 'path' => CACHE, + 'serialize' => true, + 'duration' => '+1 years', + 'url' => env('CACHE_CAKEROUTES_URL', null), + ], ], - /** + /* * Configure the Error and Exception handlers used by your application. * * By default errors are displayed using Debugger, when debug is true and logged @@ -172,20 +197,40 @@ * - `skipLog` - array - List of exceptions to skip for logging. Exceptions that * extend one of the listed exceptions will also be skipped for logging. * E.g.: - * `'skipLog' => ['Cake\Network\Exception\NotFoundException', 'Cake\Network\Exception\UnauthorizedException']` + * `'skipLog' => ['Cake\Http\Exception\NotFoundException', 'Cake\Http\Exception\UnauthorizedException']` * - `extraFatalErrorMemory` - int - The number of megabytes to increase * the memory limit by when a fatal error is encountered. This allows * breathing room to complete logging or error handling. + * - `ignoredDeprecationPaths` - array - A list of glob compatible file paths that deprecations + * should be ignored in. Use this to ignore deprecations for plugins or parts of + * your application that still emit deprecations. */ 'Error' => [ 'errorLevel' => E_ALL, - 'exceptionRenderer' => 'Cake\Error\ExceptionRenderer', + 'exceptionRenderer' => ExceptionRenderer::class, 'skipLog' => [], 'log' => true, 'trace' => true, + 'ignoredDeprecationPaths' => [], ], - /** + /* + * Debugger configuration + * + * Define development error values for Cake\Error\Debugger + * + * - `editor` Set the editor URL format you want to use. + * By default atom, emacs, macvim, phpstorm, sublime, textmate, and vscode are + * available. You can add additional editor link formats using + * `Debugger::addEditor()` during your application bootstrap. + * - `outputMask` A mapping of `key` to `replacement` values that + * `Debugger` should replace in dumped data and logs generated by `Debugger`. + */ + 'Debugger' => [ + 'editor' => 'phpstorm', + ], + + /* * Email configuration. * * By defining transports separately from delivery profiles you can easily @@ -208,20 +253,23 @@ * 'EmailTransport' => [ 'default' => [ - 'className' => 'Mail', - // The following keys are used in SMTP transports + 'className' => MailTransport::class, + * The keys host, port, timeout, username, password, client and tls + * are used in SMTP transports 'host' => 'localhost', 'port' => 25, 'timeout' => 30, - 'username' => null, - 'password' => null, + * It is recommended to set these options through your environment or app_local.php + //'username' => null, + //'password' => null, 'client' => null, - 'tls' => null, + 'tls' => false, 'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null), ], ], + */ - /** + /* * Email delivery profiles * * Delivery profiles allow you to predefine various properties about email @@ -234,44 +282,46 @@ 'default' => [ 'transport' => 'default', 'from' => 'you@localhost', + * Will by default be set to config value of App.encoding, if that exists otherwise to UTF-8. //'charset' => 'utf-8', //'headerCharset' => 'utf-8', ], ], */ - /** + /* * Connection information used by the ORM to connect * to your application's datastores. - * Do not use periods in database name - it may lead to error. - * See https://github.com/cakephp/cakephp/issues/6471 for details. - * Drivers include Mysql Postgres Sqlite Sqlserver - * See vendor\cakephp\cakephp\src\Database\Driver for complete list * + * ### Notes + * - Drivers include Mysql Postgres Sqlite Sqlserver + * See vendor\cakephp\cakephp\src\Database\Driver for complete list + * - Do not use periods in database name - it may lead to error. + * See https://github.com/cakephp/cakephp/issues/6471 for details. + * - 'encoding' is recommended to be set to full UTF-8 4-Byte support. + * E.g set it to 'utf8mb4' in MariaDB and MySQL and 'utf8' for any + * other RDBMS. * Note for COmanage we read in local/Config/database.php instead * 'Datasources' => [ 'default' => [ - 'className' => 'Cake\Database\Connection', - 'driver' => 'Cake\Database\Driver\Postgres', + 'className' => Connection::class, + 'driver' => Mysql::class, 'persistent' => false, - 'host' => 'localhost', - /** - * CakePHP will use the default DB port based on the driver selected - * MySQL on MAMP uses port 8889, MAMP users will want to uncomment - * the following line and set the port accordingly - * - //'port' => 'non_standard_port_number', - 'username' => 'comatch', - 'password' => '', - 'database' => 'matchtest', - 'encoding' => 'utf8', 'timezone' => 'UTC', + + * For MariaDB/MySQL the internal default changed from utf8 to utf8mb4, aka full utf-8 support, in CakePHP 3.6 + //'encoding' => 'utf8mb4', + + * If your MySQL server is configured with `skip-character-set-client-handshake` + * then you MUST use the `flags` config to set your charset encoding. + * For e.g. `'flags' => [\PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4']` + 'flags' => [], 'cacheMetadata' => true, 'log' => true, //false, - /** + /* * Set identifier quoting to true if you are using reserved words or * special characters in your table or column names. Enabling this * setting will result in queries built using the Query Builder having @@ -292,36 +342,32 @@ 'url' => env('DATABASE_URL', null), ], + */ - /** + /* * The test connection is used during the test suite. * 'test' => [ - 'className' => 'Cake\Database\Connection', - 'driver' => 'Cake\Database\Driver\Postgres', + 'className' => Connection::class, + 'driver' => Mysql::class, 'persistent' => false, - 'host' => 'localhost', - //'port' => 'non_standard_port_number', - 'username' => 'my_app', - 'password' => 'secret', - 'database' => 'test_myapp', - 'encoding' => 'utf8', 'timezone' => 'UTC', + //'encoding' => 'utf8mb4', + 'flags' => [], 'cacheMetadata' => true, 'quoteIdentifiers' => false, 'log' => false, //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'], - 'url' => env('DATABASE_TEST_URL', null), ], ], */ - /** + /* * Configures logging options */ 'Log' => [ 'debug' => [ - 'className' => 'Cake\Log\Engine\FileLog', + 'className' => FileLog::class, 'path' => LOGS, 'file' => 'debug', 'url' => env('LOG_DEBUG_URL', null), @@ -329,7 +375,7 @@ 'levels' => ['notice', 'info', 'debug'], ], 'error' => [ - 'className' => 'Cake\Log\Engine\FileLog', + 'className' => FileLog::class, 'path' => LOGS, 'file' => 'error', 'url' => env('LOG_ERROR_URL', null), @@ -338,7 +384,7 @@ ], // To enable this dedicated query log, you need set your datasource's log flag to true 'queries' => [ - 'className' => 'Cake\Log\Engine\FileLog', + 'className' => FileLog::class, 'path' => LOGS, 'file' => 'queries', 'url' => env('LOG_QUERIES_URL', null), @@ -346,7 +392,7 @@ ], ], - /** + /* * Session configuration. * * Contains an array of settings to use for session configuration. The @@ -355,8 +401,8 @@ * * ## Options * - * - `cookie` - The name of the cookie to use. Defaults to 'CAKEPHP'. Avoid using `.` in cookie names, - * as PHP will drop sessions from cookies with `.` in the name. + * - `cookie` - The name of the cookie to use. Defaults to value set for `session.name` php.ini config. + * Avoid using `.` in cookie names, as PHP will drop sessions from cookies with `.` in the name. * - `cookiePath` - The url path for which session cookie is set. Maps to the * `session.cookie_path` php.ini config. Defaults to base path of app. * - `timeout` - The time in minutes the session should be valid for. diff --git a/app/config/bootstrap.php b/app/config/bootstrap.php index 667287a4..b4731833 100644 --- a/app/config/bootstrap.php +++ b/app/config/bootstrap.php @@ -1,4 +1,6 @@ parse() @@ -78,14 +89,12 @@ } /* - * Load an environment local configuration file. - * You can use a file like app_local.php to provide local overrides to your - * shared configuration. + * Load an environment local configuration file to provide overrides to your configuration. + * Notice: For security reasons app_local.php **should not** be included in your git repo. */ -//Configure::load('app_local', 'default'); - -// This is set in app.php -//Configure::write('debug', false); +if (file_exists(CONFIG . 'app_local.php')) { + Configure::load('app_local', 'default'); +} /* * When debug = true the metadata cache should only last @@ -95,14 +104,14 @@ Cache::disable(); // Configure::write('Cache._cake_model_.duration', '+2 minutes'); // Configure::write('Cache._cake_core_.duration', '+2 minutes'); +// Configure::write('Cache._cake_routes_.duration', '+2 seconds'); } /* - * Set server timezone to UTC. You can change it to another timezone of your - * choice but using UTC makes time calculations / conversions easier. + * Set the default server timezone. Using UTC makes time calculations / conversions easier. * Check http://php.net/manual/en/timezones.php for list of valid timezone strings. */ -date_default_timezone_set('UTC'); +date_default_timezone_set(Configure::read('App.defaultTimezone')); /* * Configure the mbstring extension to use the correct encoding. @@ -129,16 +138,15 @@ * Include the CLI bootstrap overrides. */ if ($isCli) { - require __DIR__ . '/bootstrap_cli.php'; + require CONFIG . 'bootstrap_cli.php'; } /* * Set the full base URL. * This URL is used as the base of all absolute links. - * - * If you define fullBaseUrl in your config file you can remove this. */ -if (!Configure::read('App.fullBaseUrl')) { +$fullBaseUrl = Configure::read('App.fullBaseUrl'); +if (!$fullBaseUrl) { $s = null; if (env('HTTPS')) { $s = 's'; @@ -146,15 +154,19 @@ $httpHost = env('HTTP_HOST'); if (isset($httpHost)) { - Configure::write('App.fullBaseUrl', 'http' . $s . '://' . $httpHost); + $fullBaseUrl = 'http' . $s . '://' . $httpHost; } unset($httpHost, $s); } +if ($fullBaseUrl) { + Router::fullBaseUrl($fullBaseUrl); +} +unset($fullBaseUrl); Cache::setConfig(Configure::consume('Cache')); ConnectionManager::setConfig(Configure::consume('Datasources')); TransportFactory::setConfig(Configure::consume('EmailTransport')); -Email::setConfig(Configure::consume('Email')); +Mailer::setConfig(Configure::consume('Email')); Log::setConfig(Configure::consume('Log')); // Set the salt based on our local configuration $securitySaltFile = LOCAL . DS . "Config" . DS . "security.salt"; @@ -187,21 +199,34 @@ }); /* - * Enable immutable time objects in the ORM. + * You can set whether the ORM uses immutable or mutable Time types. + * The default changed in 4.0 to immutable types. You can uncomment + * below to switch back to mutable types. * * You can enable default locale format parsing by adding calls * to `useLocaleParser()`. This enables the automatic conversion of * locale specific date formats. For details see - * @link https://book.cakephp.org/3.0/en/core-libraries/internationalization-and-localization.html#parsing-localized-datetime-data - */ -Type::build('time') - ->useImmutable(); -Type::build('date') - ->useImmutable(); -Type::build('datetime') - ->useImmutable(); -Type::build('timestamp') - ->useImmutable(); + * @link https://book.cakephp.org/4/en/core-libraries/internationalization-and-localization.html#parsing-localized-datetime-data + */ + \Cake\Database\TypeFactory::build('time') + ->useMutable(); + \Cake\Database\TypeFactory::build('date') + ->useMutable(); + \Cake\Database\TypeFactory::build('datetime') + ->useMutable(); + \Cake\Database\TypeFactory::build('timestamp') + ->useMutable(); +// \Cake\Database\TypeFactory::build('datetimefractional') +// ->useMutable(); +// \Cake\Database\TypeFactory::build('timestampfractional') +// ->useMutable(); +// \Cake\Database\TypeFactory::build('datetimetimezone') +// ->useMutable(); +// \Cake\Database\TypeFactory::build('timestamptimezone') +// ->useMutable(); + +// There is no time-specific type in Cake +TypeFactory::map('time', StringType::class); /* * Custom Inflector rules, can be set to correctly pluralize or singularize diff --git a/app/config/bootstrap_cli.php b/app/config/bootstrap_cli.php index 8f67c453..fc0dc30b 100644 --- a/app/config/bootstrap_cli.php +++ b/app/config/bootstrap_cli.php @@ -1,4 +1,6 @@ = 50.1 is needed to use CakePHP. Please update the `libicu` package of your system.' . PHP_EOL, E_USER_ERROR); } /* * You can remove this if you are confident you have mbstring installed. */ if (!extension_loaded('mbstring')) { - trigger_error('You must enable the mbstring extension to use CakePHP.' . PHP_EOL, E_USER_ERROR); + trigger_error('You must enable the mbstring extension to use CakePHP.', E_USER_ERROR); } diff --git a/app/config/routes.php b/app/config/routes.php index 31198f02..ae555ec0 100644 --- a/app/config/routes.php +++ b/app/config/routes.php @@ -1,11 +1,14 @@ setRouteClass(DashedRoute::class); -Router::scope('/', function (RouteBuilder $routes) { - /** +$routes->scope('/', function (RouteBuilder $builder) { + /* * Here, we are connecting '/' (base path) to a controller called 'Pages', * its action called 'display', and we pass a param to select the view file - * to use (in this case, src/Template/Pages/home.ctp)... + * to use (in this case, templates/Pages/home.php)... */ - $routes->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']); + $builder->connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']); - /** + /* * ...and connect the rest of 'Pages' controller's URLs. */ - $routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']); + $builder->connect('/pages/*', 'Pages::display'); /** * TIER ID Match API Routes */ // Match Request - $routes->get('/api/:matchgrid_id/v1/matchRequests/:id', ['controller' => 'TierApi', 'action' => 'viewMatchRequest']); - $routes->get('/api/:matchgrid_id/v1/matchRequests', ['controller' => 'TierApi', 'action' => 'viewMatchRequests']); - $routes->put('/api/:matchgrid_id/v1/people/:sor/:sorid', ['controller' => 'TierApi', 'action' => 'match']); - $routes->post('/api/:matchgrid_id/v1/people/:sor/:sorid', ['controller' => 'TierApi', 'action' => 'search']); + $builder->get('/api/:matchgrid_id/v1/matchRequests/:id', ['controller' => 'TierApi', 'action' => 'viewMatchRequest']); + $builder->get('/api/:matchgrid_id/v1/matchRequests', ['controller' => 'TierApi', 'action' => 'viewMatchRequests']); + $builder->put('/api/:matchgrid_id/v1/people/:sor/:sorid', ['controller' => 'TierApi', 'action' => 'match']); + $builder->post('/api/:matchgrid_id/v1/people/:sor/:sorid', ['controller' => 'TierApi', 'action' => 'search']); // This doesn't match and we end up in current(), so we just check there // Also, as of API v1.0.0, search over GET has been removed -// $routes->get('/api/:matchgrid_id/v1/people/:sor/:sorid?*', ['controller' => 'TierApi', 'action' => 'search']); - $routes->delete('/api/:matchgrid_id/v1/people/:sor/:sorid', ['controller' => 'TierApi', 'action' => 'remove']); - $routes->get('/api/:matchgrid_id/v1/people/:sor/:sorid', ['controller' => 'TierApi', 'action' => 'current']); - $routes->get('/api/:matchgrid_id/v1/people/:sor', ['controller' => 'TierApi', 'action' => 'inventory']); - $routes->put('/api/:matchgrid_id/v1/referenceIds/:id', ['controller' => 'TierApi', 'action' => 'merge']); +// $builder->get('/api/:matchgrid_id/v1/people/:sor/:sorid?*', ['controller' => 'TierApi', 'action' => 'search']); + $builder->delete('/api/:matchgrid_id/v1/people/:sor/:sorid', ['controller' => 'TierApi', 'action' => 'remove']); + $builder->get('/api/:matchgrid_id/v1/people/:sor/:sorid', ['controller' => 'TierApi', 'action' => 'current']); + $builder->get('/api/:matchgrid_id/v1/people/:sor', ['controller' => 'TierApi', 'action' => 'inventory']); + $builder->put('/api/:matchgrid_id/v1/referenceIds/:id', ['controller' => 'TierApi', 'action' => 'merge']); /** * Connect catchall routes for all controllers. * - * Using the argument `DashedRoute`, the `fallbacks` method is a shortcut for - * `$routes->connect('/:controller', ['action' => 'index'], ['routeClass' => 'DashedRoute']);` - * `$routes->connect('/:controller/:action/*', [], ['routeClass' => 'DashedRoute']);` + * The `fallbacks` method is a shortcut for * - * Any route class can be used with this method, such as: - * - DashedRoute - * - InflectedRoute - * - Route - * - Or your own route class + * ``` + * $builder->connect('/{controller}', ['action' => 'index']); + * $builder->connect('/{controller}/{action}/*', []); + * ``` * * You can remove these routes once you've connected the * routes you want in your application. */ - $routes->fallbacks(DashedRoute::class); + $builder->fallbacks(); }); -/** - * Load all plugin routes. See the Plugin documentation on - * how to customize the loading of plugin routes. +/* + * If you need a different set of middleware or none at all, + * open new scope and define routes there. + * + * ``` + * $routes->scope('/api', function (RouteBuilder $builder) { + * // No $builder->applyMiddleware() here. + * + * // Parse specified extensions from URLs + * // $builder->setExtensions(['json', 'xml']); * - * As of Cake v3.6 it is no longer necessary to call this - * Plugin::routes(); + * // Connect API actions here. + * }); + * ``` */ diff --git a/app/src/Locale/en_US/default.po b/app/resources/locales/en_US/default.po similarity index 100% rename from app/src/Locale/en_US/default.po rename to app/resources/locales/en_US/default.po diff --git a/app/src/Application.php b/app/src/Application.php index dd259775..987dc775 100644 --- a/app/src/Application.php +++ b/app/src/Application.php @@ -37,7 +37,22 @@ class Application extends BaseApplication { * @return \Cake\Http\MiddlewareQueue The updated middleware queue. */ - public function middleware($middlewareQueue) { + public function middleware($middlewareQueue): \Cake\Http\MiddlewareQueue { + // loading csrf Middleware + $csrf = new CsrfProtectionMiddleware(['cookieName' => 'matchCsrfToken']); + $csrf->whitelistCallback(function (ServerRequestInterface $request) { + // skip controllers + $skipedControllers = ['TierApi']; // Controllers list + if(in_array($request->getParam('controller'), $skipedControllers, true)) { + return true; + } + // skip debugkit + if($request->getParam('plugin') == 'DebugKit') { + return true; + } + return $request; + }); + $middlewareQueue // Catch any exceptions in the lower layers, // and make an error page/response @@ -57,19 +72,7 @@ public function middleware($middlewareQueue) { // https://stackoverflow.com/questions/47714940/cakephp-3-5-6-disable-csrf-middleware-for-controller // https://stackoverflow.com/questions/51931406/post-requests-for-cakephp-3-api-are-not-working - ->add(function(ServerRequestInterface $request, - ResponseInterface $response, - callable $next) { - $params = $request->getAttribute('params'); - - if($params['controller'] == 'TierApi') { - // Do not enable CsrfProtectionMiddleware - return $next($request, $response); - } else { - $csrf = new CsrfProtectionMiddleware(['cookieName' => 'matchCsrfToken']); - return $csrf($request, $response, $next); - } - }); + ->add($csrf); return $middlewareQueue; } diff --git a/app/src/Command/BulkLoadCommand.php b/app/src/Command/BulkLoadCommand.php index 7fa2912f..ec29df1b 100644 --- a/app/src/Command/BulkLoadCommand.php +++ b/app/src/Command/BulkLoadCommand.php @@ -52,7 +52,7 @@ class BulkLoadCommand extends Command { * @return ConsoleOptionParser Console Option Parser */ - public function buildOptionParser(ConsoleOptionParser $parser) { + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser { $parser->addOption('matchgrid-id', [ 'help' => __('match.fd.matchgrid_id') ]) diff --git a/app/src/Command/SetupCommand.php b/app/src/Command/SetupCommand.php index f631308e..e40d3dfc 100644 --- a/app/src/Command/SetupCommand.php +++ b/app/src/Command/SetupCommand.php @@ -48,7 +48,7 @@ class SetupCommand extends Command { * @return ConsoleOptionParser Console Option Parser */ - public function buildOptionParser(ConsoleOptionParser $parser) { + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser { $parser->addOption('admin-username', [ 'help' => __('match.cmd.opt.admin-username') ])->addOption('force', [ @@ -106,7 +106,7 @@ public function execute(Arguments $args, ConsoleIo $io) { $io->out(__('match.cmd.se.admin')); $permissionsTable = TableRegistry::get('Permissions'); - $permission = $permissionsTable->newEntity(); + $permission = $permissionsTable->newEmptyEntity(); $permission->username = $user; $permission->matchgrid_id = null; diff --git a/app/src/Controller/ApiUsersController.php b/app/src/Controller/ApiUsersController.php index 906565d8..af685ade 100644 --- a/app/src/Controller/ApiUsersController.php +++ b/app/src/Controller/ApiUsersController.php @@ -30,6 +30,7 @@ namespace App\Controller; use Cake\Routing\Router; +use Cake\Event\EventInterface; class ApiUsersController extends StandardController { public $pagination = [ @@ -42,10 +43,10 @@ class ApiUsersController extends StandardController { * Callback run prior to the view rendering. * * @since COmanage Match v1.0.0 - * @param Event $event Cake Event + * @param \Cake\Event\EventInterface $event Cake Event */ - public function beforeRender(\Cake\Event\Event $event) { + public function beforeRender(EventInterface $event) { parent::beforeRender($event); // Populate a pointer to the REST API for configuration purposes diff --git a/app/src/Controller/AppController.php b/app/src/Controller/AppController.php index a412c0d2..9520a197 100644 --- a/app/src/Controller/AppController.php +++ b/app/src/Controller/AppController.php @@ -32,7 +32,7 @@ use Cake\Controller\Controller; use Cake\Datasource\Exception; use Cake\Datasource\Exception\RecordNotFoundException; -use Cake\Event\Event; +use Cake\Event\EventInterface; use Cake\ORM\TableRegistry; use InvalidArgumentException; @@ -50,7 +50,7 @@ class AppController extends Controller { * @since COmanage Match v1.0.0 */ - public function initialize() { + public function initialize(): void { parent::initialize(); // Load Components used by most or all controllers @@ -92,10 +92,10 @@ public function initialize() { * Callback run prior to the request action. * * @since COmanage Match v1.0.0 - * @param Event $event Cake Event + * @param \Cake\Event\EventInterface $event Cake Event */ - public function beforeFilter(\Cake\Event\Event $event) { + public function beforeFilter(EventInterface $event) { parent::beforeFilter($event); // Determine the timezone @@ -109,10 +109,10 @@ public function beforeFilter(\Cake\Event\Event $event) { * Callback run prior to the view rendering. * * @since COmanage Match v1.0.0 - * @param Event $event Cake Event + * @param \Cake\Event\EventInterface $event Cake Event */ - public function beforeRender(\Cake\Event\Event $event) { + public function beforeRender(EventInterface $event) { parent::beforeRender($event); // The current user, if authenticated diff --git a/app/src/Controller/Component/AuthorizationComponent.php b/app/src/Controller/Component/AuthorizationComponent.php index b8204898..21e915b0 100644 --- a/app/src/Controller/Component/AuthorizationComponent.php +++ b/app/src/Controller/Component/AuthorizationComponent.php @@ -43,7 +43,7 @@ class AuthorizationComponent extends Component { * @since COmanage Match v1.0.0 */ - public function initialize(array $config) { + public function initialize(array $config): void { parent::initialize($config); $this->Permissions = TableRegistry::get('Permissions'); diff --git a/app/src/Controller/ErrorController.php b/app/src/Controller/ErrorController.php index b7d4231b..c0778d91 100644 --- a/app/src/Controller/ErrorController.php +++ b/app/src/Controller/ErrorController.php @@ -14,7 +14,7 @@ */ namespace App\Controller; -use Cake\Event\Event; +use Cake\Event\EventInterface; /** * Error Handling Controller @@ -28,7 +28,7 @@ class ErrorController extends AppController * * @return void */ - public function initialize() + public function initialize(): void { $this->loadComponent('RequestHandler'); } @@ -36,20 +36,20 @@ public function initialize() /** * beforeFilter callback. * - * @param \Cake\Event\Event $event Event. + * @param \Cake\Event\EventInterface $event Event. * @return \Cake\Http\Response|null|void */ - public function beforeFilter(Event $event) + public function beforeFilter(EventInterface $event) { } /** * beforeRender callback. * - * @param \Cake\Event\Event $event Event. + * @param \Cake\Event\EventInterface $event Event. * @return \Cake\Http\Response|null|void */ - public function beforeRender(Event $event) + public function beforeRender(EventInterface $event) { parent::beforeRender($event); @@ -59,7 +59,7 @@ public function beforeRender(Event $event) /** * afterFilter callback. * - * @param \Cake\Event\Event $event Event. + * @param \Cake\Event\EventInterface $event Event. * @return \Cake\Http\Response|null|void */ public function afterFilter(Event $event) diff --git a/app/src/Controller/MatchgridRecordsController.php b/app/src/Controller/MatchgridRecordsController.php index ab0c72b9..28db151d 100644 --- a/app/src/Controller/MatchgridRecordsController.php +++ b/app/src/Controller/MatchgridRecordsController.php @@ -32,6 +32,7 @@ use Cake\Log\Log; use Cake\ORM\TableRegistry; use Cake\Utility\Hash; +use Cake\Event\EventInterface; use \App\Lib\Enum\ConfidenceModeEnum; use \App\Lib\Match\AttributeManager; @@ -51,7 +52,7 @@ class MatchgridRecordsController extends StandardController { * @since COmanage Match v1.0.0 */ - public function initialize() { + public function initialize(): void { parent::initialize(); // In order to configure MatchgridRecords with the correct table name, we @@ -131,7 +132,7 @@ public function add() { // We could coerce validation errors into a newEntity, but we probably don't have them // $this->set('vv_obj', $this->MatchgridRecords->newEntity($this->request->getData())); // Create an empty entity for FormHelper - $this->set('vv_obj', $this->MatchgridRecords->newEntity()); + $this->set('vv_obj', $this->MatchgridRecords->newEmptyEntity()); // We can't call parent::add, since it will try to reprocess the save, so we have // to manually make some calls. @@ -156,10 +157,10 @@ public function add() { * Callback run prior to the view rendering. * * @since COmanage Match v1.0.0 - * @param Event $event Cake Event + * @param \Cake\Event\EventInterface $event Cake Event */ - public function beforeRender(\Cake\Event\Event $event) { + public function beforeRender(EventInterface $event) { parent::beforeRender($event); // Pull the Matchgrid configuration in order to pass the attribute configuration. @@ -304,7 +305,7 @@ public function edit($id) { return $this->redirect([ 'action' => 'edit', $id, - 'matchgrid_id' => $this->cur_mg->id + '?' => ['matchgrid_id' => $this->cur_mg->id] ]); } catch(\Exception $e) { @@ -412,7 +413,7 @@ protected function performMatch(MatchService $MatchService, string $sor, string 'controller' => 'matchgrids', 'action' => 'reconcile', $this->cur_mg->id, - 'rowid' => $matchRequest + '?' => ['rowid' => $matchRequest] ]); } @@ -421,7 +422,7 @@ protected function performMatch(MatchService $MatchService, string $sor, string return $this->redirect([ 'action' => 'edit', $id, - 'matchgrid_id' => $this->cur_mg->id + '?' => ['matchgrid_id' => $this->cur_mg->id] ]); } } \ No newline at end of file diff --git a/app/src/Controller/MatchgridSettingsController.php b/app/src/Controller/MatchgridSettingsController.php index c1fadc11..cfc94fa5 100644 --- a/app/src/Controller/MatchgridSettingsController.php +++ b/app/src/Controller/MatchgridSettingsController.php @@ -29,6 +29,8 @@ namespace App\Controller; +use Cake\Event\EventInterface; + class MatchgridSettingsController extends StandardController { public $pagination = [ 'order' => [ @@ -40,10 +42,10 @@ class MatchgridSettingsController extends StandardController { * Callback run prior to the view rendering. * * @since COmanage Match v1.0.0 - * @param Event $event Cake Event + * @param \Cake\Event\EventInterface $event Cake Event */ - public function beforeRender(\Cake\Event\Event $event) { + public function beforeRender(EventInterface $event) { parent::beforeRender($event); // Override page title diff --git a/app/src/Controller/MatchgridsController.php b/app/src/Controller/MatchgridsController.php index 5577c458..03c097ce 100644 --- a/app/src/Controller/MatchgridsController.php +++ b/app/src/Controller/MatchgridsController.php @@ -31,6 +31,7 @@ use Cake\Log\Log; use \App\Lib\Enum\PermissionEnum; +use Cake\Event\EventInterface; class MatchgridsController extends StandardController { public $pagination = [ @@ -43,10 +44,10 @@ class MatchgridsController extends StandardController { * Callback run prior to the request action. * * @since COmanage Match v1.0.0 - * @param Event $event Cake Event + * @param \Cake\Event\EventInterface $event Cake Event */ - public function beforeFilter(\Cake\Event\Event $event) { + public function beforeFilter(EventInterface $event) { // Only certain actions require a matchgrid ID if(in_array($this->request->getParam('action'), ['build', 'manage', 'pending', 'reconcile'])) { @@ -206,7 +207,7 @@ public function reconcile(string $id) { ]); } else { // is get // Find and render the candidates for the pending record - + $rowId = (int)$this->request->getQuery('rowid'); if(!$rowId) { diff --git a/app/src/Controller/PagesController.php b/app/src/Controller/PagesController.php index 58f12067..5d9970d4 100644 --- a/app/src/Controller/PagesController.php +++ b/app/src/Controller/PagesController.php @@ -15,6 +15,7 @@ namespace App\Controller; use Cake\Core\Configure; +use Cake\Event\EventInterface; use Cake\Network\Exception\ForbiddenException; use Cake\Network\Exception\NotFoundException; use Cake\View\Exception\MissingTemplateException; @@ -32,10 +33,10 @@ class PagesController extends AppController * Callback run prior to the request action. * * @since COmanage Match v1.0.0 - * @param Event $event Cake Event + * @param \Cake\Event\EventInterface $event Cake Event */ - public function beforeFilter(\Cake\Event\Event $event) { + public function beforeFilter(EventInterface $event) { parent::beforeFilter($event); $param = $this->request->getParam('pass.0'); diff --git a/app/src/Controller/StandardController.php b/app/src/Controller/StandardController.php index 5552d9bf..6215e5b4 100644 --- a/app/src/Controller/StandardController.php +++ b/app/src/Controller/StandardController.php @@ -64,7 +64,7 @@ public function add() { } else { // Create an empty entity for FormHelper - $this->set('vv_obj', $this->$modelsName->newEntity()); + $this->set('vv_obj', $this->$modelsName->newEmptyEntity()); } // PrimaryLinkTrait @@ -358,7 +358,7 @@ public function index() { $query = $table->whereFilter($query, $attribute, $this->request->getQuery($attribute)); } } - + $this->set('vv_searchable_attributes', $searchableAttributes); } } diff --git a/app/src/Controller/TierApiController.php b/app/src/Controller/TierApiController.php index 4e42cb50..1d1b80f3 100644 --- a/app/src/Controller/TierApiController.php +++ b/app/src/Controller/TierApiController.php @@ -49,7 +49,7 @@ class TierApiController extends AppController { * @since COmanage Match v1.0.0 */ - public function initialize() { + public function initialize(): void { // We have substantial differences from AppController::initialize(), so we // completely override here. diff --git a/app/src/Lib/Match/MatchService.php b/app/src/Lib/Match/MatchService.php index 14689870..c64433b4 100644 --- a/app/src/Lib/Match/MatchService.php +++ b/app/src/Lib/Match/MatchService.php @@ -29,18 +29,15 @@ namespace App\Lib\Match; -use Cake\Datasource\ConnectionInterface; -use Cake\Datasource\ConnectionManager; use Cake\Log\Log; use Cake\ORM\TableRegistry; -use Cake\Utility\Xml; use \App\Lib\Enum\ConfidenceModeEnum; use \App\Lib\Enum\ReferenceIdEnum; use \App\Lib\Enum\SearchTypeEnum; use \App\Lib\Enum\StatusEnum; -require(ROOT . DS . "vendor" . DS . "adodb" . DS . "adodb-php" . DS . "adodb-xmlschema03.inc.php"); +require_once ROOT . DS . "vendor" . DS . "adodb" . DS . "adodb-php" . DS . "adodb-xmlschema03.inc.php"; class MatchService extends PostgresService { protected $mgConfig = null; diff --git a/app/src/Lib/Match/MatchgridBuilder.php b/app/src/Lib/Match/MatchgridBuilder.php index 3fad3c87..956fc5bb 100644 --- a/app/src/Lib/Match/MatchgridBuilder.php +++ b/app/src/Lib/Match/MatchgridBuilder.php @@ -105,7 +105,6 @@ protected function configToSchema($dbc, \Cake\Datasource\EntityInterface $Matchg // Track which attributes need case insensitive indexes $ciAttrs = []; - if($indexes) { // Since index names need to be unique across the schema, we'll use the // matchgrid ID to make the names unique. @@ -128,9 +127,9 @@ protected function configToSchema($dbc, \Cake\Datasource\EntityInterface $Matchg foreach($attributes as $attr) { // We use the Entity ID to provide some level of reproducibility $indexName = 'matchgrid_' . $Matchgrid->id . '_attr_id' . $attr->id; - + $table->addIndex([$attr->name], $indexName, $flags, $options); - + if(!$attr->case_sensitive) { $ciAttrs[$indexName] = $attr->name; } @@ -167,12 +166,10 @@ protected function configToSchema($dbc, \Cake\Datasource\EntityInterface $Matchg $sql = rtrim($sql, ")") . " NULLS FIRST)"; } elseif(preg_match("/^CREATE INDEX (\w+) ON .*/", $sql, $matches)) { $attr = $ciAttrs[ $matches[1] ]; - // Not ideal to hardcode SQL, but this should be pretty portable. // Note the validation rule for table_name and attr is pretty restrictive, // so we don't need to SQL escape them. Similarly, we create the index // name above. - // We use IF NOT EXISTS to avoid errors on rebuilding the matchgrid, // however a better long term solution would be to add native support to // DBAL for expression in index creation (CO-2217). diff --git a/app/src/Lib/Traits/SearchFilterTrait.php b/app/src/Lib/Traits/SearchFilterTrait.php index 54c88abd..1f352470 100644 --- a/app/src/Lib/Traits/SearchFilterTrait.php +++ b/app/src/Lib/Traits/SearchFilterTrait.php @@ -41,24 +41,24 @@ trait SearchFilterTrait { * @return string Label * @todo Merge this with _column_key from index.ctp */ - + public function getLabel($attribute) { if(isset($this->searchFilters[$attribute]['label']) && $this->searchFilters[$attribute]['label'] !== null) { return $this->searchFilters[$attribute]['label']; } - + // Try to construct a label from the language key. $l = __('match.fd.'.$attribute); - + if($l != 'match.fd.'.$attribute) { return $l; } - + // If we make it here, just return $attribute return $attribute; } - + /** * Obtain the set of permitted search attributes. * @@ -69,15 +69,15 @@ public function getLabel($attribute) { public function getSearchableAttributes() { // Not every configuration element is necessary for the search form, and // some need to be calculated, so we do that work here. - + $ret = []; - + foreach(array_keys($this->searchFilters) as $attr) { $ret[ $attr ] = [ 'label' => $this->getLabel($attr) ]; } - + return $ret; } diff --git a/app/src/Model/Table/ApiUsersTable.php b/app/src/Model/Table/ApiUsersTable.php index 44d7f3f5..aa43a16a 100644 --- a/app/src/Model/Table/ApiUsersTable.php +++ b/app/src/Model/Table/ApiUsersTable.php @@ -48,7 +48,7 @@ class ApiUsersTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -83,7 +83,7 @@ public function initialize(array $config) { * @return RulesChecker Cake RulesChecker */ - public function buildRules(RulesChecker $rules) { + public function buildRules(RulesChecker $rules): RulesChecker { $rules->add( [$this, 'checkUsername'], 'checkUsername', @@ -164,24 +164,24 @@ public function findAuthorization(\Cake\ORM\Query $query, array $options) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'username', 'length', [ 'rule' => [ 'maxLength', 128 ] ] ); // notEmpty is old style, use notBlank - $validator->notBlank('username'); + $validator->notEmptyString('username'); $validator->add( 'password', 'length', [ 'rule' => [ 'maxLength', 80 ] ] ); - $validator->notBlank('password'); + $validator->notEmptyString('password'); $validator->add( 'matchgrid_id', diff --git a/app/src/Model/Table/AttributeGroupsTable.php b/app/src/Model/Table/AttributeGroupsTable.php index f54bd1ed..b1c4b86a 100644 --- a/app/src/Model/Table/AttributeGroupsTable.php +++ b/app/src/Model/Table/AttributeGroupsTable.php @@ -43,7 +43,7 @@ class AttributeGroupsTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -60,10 +60,10 @@ public function initialize(array $config) { * Set validation rules. * * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'name', 'length', diff --git a/app/src/Model/Table/AttributeMappingsTable.php b/app/src/Model/Table/AttributeMappingsTable.php index 7c2a8117..26c85f8f 100644 --- a/app/src/Model/Table/AttributeMappingsTable.php +++ b/app/src/Model/Table/AttributeMappingsTable.php @@ -44,7 +44,7 @@ class AttributeMappingsTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -105,7 +105,7 @@ public function install(int $attributeMapId, string $mapping) { foreach($namemap as $q => $vs) { foreach($vs as $v => $status) { if(!isset($curmap[$q][$v])) { - $mapping = $this->newEntity(); + $mapping = $this->newEmptyEntity(); $mapping->attribute_map_id = $attributeMapId; $mapping->query = $q; @@ -126,10 +126,10 @@ public function install(int $attributeMapId, string $mapping) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'query', 'length', diff --git a/app/src/Model/Table/AttributeMapsTable.php b/app/src/Model/Table/AttributeMapsTable.php index 1b7aca33..983e1da9 100644 --- a/app/src/Model/Table/AttributeMapsTable.php +++ b/app/src/Model/Table/AttributeMapsTable.php @@ -44,7 +44,7 @@ class AttributeMapsTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -66,10 +66,10 @@ public function initialize(array $config) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'name', 'length', diff --git a/app/src/Model/Table/AttributesTable.php b/app/src/Model/Table/AttributesTable.php index 15d0d4b2..ae075173 100644 --- a/app/src/Model/Table/AttributesTable.php +++ b/app/src/Model/Table/AttributesTable.php @@ -45,7 +45,7 @@ class AttributesTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -81,10 +81,10 @@ public function initialize(array $config) { * Set validation rules. * * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'name', 'length', diff --git a/app/src/Model/Table/MatchgridRecordsTable.php b/app/src/Model/Table/MatchgridRecordsTable.php index a89ab45d..7f82b81f 100644 --- a/app/src/Model/Table/MatchgridRecordsTable.php +++ b/app/src/Model/Table/MatchgridRecordsTable.php @@ -45,7 +45,7 @@ class MatchgridRecordsTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->setPrimaryLink('matchgrid_id'); $this->setRequiresMatchgrid(true); // We allow unkeyed primary link here because a record ID is not by itself @@ -75,7 +75,7 @@ public function initialize(array $config) { $this->setSearchFilter('sor', true, null, false); $this->setSearchFilter('sorid', true, null, false); $this->setSearchFilter('referenceid', true, null, false); - + foreach($mgconfig->attributes as $attr) { // XXX for now we permit substring on all fields since we don't have a better way to distinguish $this->setSearchFilter($attr->name, $attr->case_sensitive, null, true); @@ -86,10 +86,10 @@ public function initialize(array $config) { * Set validation rules. * * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator * - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { // We don't do validation here since MatchService should handle that }*/ } \ No newline at end of file diff --git a/app/src/Model/Table/MatchgridSettingsTable.php b/app/src/Model/Table/MatchgridSettingsTable.php index b3c8e87b..e91355f1 100644 --- a/app/src/Model/Table/MatchgridSettingsTable.php +++ b/app/src/Model/Table/MatchgridSettingsTable.php @@ -56,7 +56,7 @@ class MatchgridSettingsTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { // Timestamp behavior handles created/modified updates $this->addBehavior('Timestamp'); @@ -175,10 +175,10 @@ protected function lookupValue(int $matchgridId, string $field) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'matchgrid_id', 'content', diff --git a/app/src/Model/Table/MatchgridsTable.php b/app/src/Model/Table/MatchgridsTable.php index 99003e23..c4968bd2 100644 --- a/app/src/Model/Table/MatchgridsTable.php +++ b/app/src/Model/Table/MatchgridsTable.php @@ -50,7 +50,7 @@ class MatchgridsTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { // Timestamp behavior handles created/modified updates $this->addBehavior('Timestamp'); @@ -164,10 +164,10 @@ public function getMatchgridConfig($id) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'table_name', 'length', diff --git a/app/src/Model/Table/MetaTable.php b/app/src/Model/Table/MetaTable.php index 512c6781..afdcf3ab 100644 --- a/app/src/Model/Table/MetaTable.php +++ b/app/src/Model/Table/MetaTable.php @@ -46,7 +46,7 @@ class MetaTable extends Table { public function setUpgradeVersion($version) { // XXX log this? print "Setting version to " . $version . "\n"; - $meta = $this->newEntity(); + $meta = $this->newEmptyEntity(); $meta->id = 1; $meta->upgrade_version = $version; @@ -62,10 +62,10 @@ public function setUpgradeVersion($version) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'upgrade_version', 'length', diff --git a/app/src/Model/Table/PermissionsTable.php b/app/src/Model/Table/PermissionsTable.php index 0132d35f..285e95b2 100644 --- a/app/src/Model/Table/PermissionsTable.php +++ b/app/src/Model/Table/PermissionsTable.php @@ -45,7 +45,7 @@ class PermissionsTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -88,10 +88,10 @@ public function findForUser(string $username) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'username', 'length', diff --git a/app/src/Model/Table/RuleAttributesTable.php b/app/src/Model/Table/RuleAttributesTable.php index 3bf702c0..444f8299 100644 --- a/app/src/Model/Table/RuleAttributesTable.php +++ b/app/src/Model/Table/RuleAttributesTable.php @@ -47,7 +47,7 @@ class RuleAttributesTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -89,10 +89,10 @@ public function initialize(array $config) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'rule_id', 'content', diff --git a/app/src/Model/Table/RulesTable.php b/app/src/Model/Table/RulesTable.php index 9d34caab..6cd173f3 100644 --- a/app/src/Model/Table/RulesTable.php +++ b/app/src/Model/Table/RulesTable.php @@ -47,7 +47,7 @@ class RulesTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -76,10 +76,10 @@ public function initialize(array $config) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'name', 'length', diff --git a/app/src/Model/Table/SystemsOfRecordTable.php b/app/src/Model/Table/SystemsOfRecordTable.php index 864c8658..53ff8d5e 100644 --- a/app/src/Model/Table/SystemsOfRecordTable.php +++ b/app/src/Model/Table/SystemsOfRecordTable.php @@ -46,7 +46,7 @@ class SystemsOfRecordTable extends Table { * @param array $config Configuration options passed to constructor */ - public function initialize(array $config) { + public function initialize(array $config): void { $this->addBehavior('Timestamp'); // Define associations @@ -72,10 +72,10 @@ public function initialize(array $config) { * * @since COmanage Match v1.0.0 * @param Validator $validator Validator - * @return $validator Validator + * @return \Cake\Validation\Validator Validator */ - public function validationDefault(Validator $validator) { + public function validationDefault(Validator $validator): Validator { $validator->add( 'label', 'length', diff --git a/app/src/Shell/ConsoleShell.php b/app/src/Shell/ConsoleShell.php index 2eb9395e..02097093 100644 --- a/app/src/Shell/ConsoleShell.php +++ b/app/src/Shell/ConsoleShell.php @@ -64,7 +64,7 @@ public function main() * * @return \Cake\Console\ConsoleOptionParser */ - public function getOptionParser() + public function getOptionParser(): ConsoleOptionParser { $parser = new ConsoleOptionParser('console'); $parser->setDescription( diff --git a/app/src/Template/Element/breadcrumbs.ctp b/app/src/Template/Element/breadcrumbs.ctp deleted file mode 100644 index a3aa9270..00000000 --- a/app/src/Template/Element/breadcrumbs.ctp +++ /dev/null @@ -1,127 +0,0 @@ -request->getRequestTarget(false) != '/') { - // Don't bother rendering breadcrumbs if we're already at the top page - - $action = $this->template; - // $this->name = Models - $modelsName = $this->name; - - $this->Breadcrumbs->setTemplates([ - 'wrapper' => '{{content}}', - 'item' => '{{title}}{{separator}}', - 'itemWithoutLink' => '{{title}}{{separator}}', - 'separator' => '{{separator}}' - ]); - - $this->Breadcrumbs->prepend( - __('match.meta.match'), - ['controller' => 'matchgrids', - 'action' => 'select'] - ); - - if(!empty($vv_cur_mg) - && ($modelsName != 'Matchgrids' || $action != 'manage')) { - // Link to matchgrid if set - $this->Breadcrumbs->add( - $vv_cur_mg->table_name, - ['controller' => 'matchgrids', - 'action' => 'manage', - $vv_cur_mg->id ] - ); - } - - if(!empty($vv_primary_link_obj) - && !empty($vv_primary_link_model) - && $vv_primary_link_model != 'Matchgrids') { - // If the primary link is not matchgrid, render a link to it (and the parent index). - // We'll need to calculate the controller name. - - if(!empty($vv_cur_mg->id)) { - // We currently assume the parent of a primary link is matchgrid, which - // might or might not always be true in the future. - $this->Breadcrumbs->add( - __('match.ct.'.$vv_primary_link_model, [99]), - ['controller' => \Cake\Utility\Inflector::dasherize($vv_primary_link_model), - 'action' => 'index', - 'matchgrid_id' => $vv_cur_mg->id] - ); - } - - $this->Breadcrumbs->add( - $vv_primary_link_obj->name, - ['controller' => \Cake\Utility\Inflector::dasherize($vv_primary_link_model), - 'action' => 'edit', - $vv_primary_link_obj->id] - ); - } - - if($action != 'index' && $action != 'manage' - && !($modelsName == 'Matchgrids' && $action == 'pending')) { - - // Default parent is index, to which we might need to append the Primary Link ID - $crumbLinkText = 'match.ct.'.$modelsName; - - $target = [ - 'controller' => Inflector::dasherize($modelsName), - 'action' => 'index' - ]; - - if(!empty($vv_primary_link) && !empty($vv_primary_link_obj->id)) { - $target[$vv_primary_link] = $vv_primary_link_obj->id; - } - - // Non-index special cases - if ($modelsName == 'Matchgrids' && $action == 'reconcile') { - $crumbLinkText = 'match.ac.PendingRequests'; - $target = [ - 'controller' => Inflector::dasherize($modelsName), - 'action' => 'pending', - $vv_cur_mg->id // will always be set for reconcile - ]; - } - - $this->Breadcrumbs->add( - __($crumbLinkText, [99]), - $target - ); - } - - if(!empty($vv_title)) { - $this->Breadcrumbs->add( - $vv_title - ); - } - - print $this->Breadcrumbs->render( - [], - ['separator' => ' > '] - ); -} \ No newline at end of file diff --git a/app/src/Template/Element/javascript.ctp b/app/src/Template/Element/javascript.ctp deleted file mode 100644 index f02d7f71..00000000 --- a/app/src/Template/Element/javascript.ctp +++ /dev/null @@ -1,283 +0,0 @@ - - - - -Flash->render() ?> \ No newline at end of file diff --git a/app/src/Template/Element/menuMain.ctp b/app/src/Template/Element/menuMain.ctp deleted file mode 100644 index 2b83f806..00000000 --- a/app/src/Template/Element/menuMain.ctp +++ /dev/null @@ -1,69 +0,0 @@ - - diff --git a/app/src/Template/Element/menuTop.ctp b/app/src/Template/Element/menuTop.ctp deleted file mode 100644 index ab425158..00000000 --- a/app/src/Template/Element/menuTop.ctp +++ /dev/null @@ -1,108 +0,0 @@ - - -
    - -
  • - - - -
  • - -
  • - - - -
  • -
- - - - Html->link(__('match.op.login'), - ['controller' => 'matchgrids', - 'action' => 'select', - 'plugin' => false], - ['escape' => false, - 'id' => 'login', - 'class' => '']); - } - ?> - - - diff --git a/app/src/Template/Element/pagination.ctp b/app/src/Template/Element/pagination.ctp deleted file mode 100644 index ec485f31..00000000 --- a/app/src/Template/Element/pagination.ctp +++ /dev/null @@ -1,114 +0,0 @@ -Paginator->hasPage(2)) { - $paginationClass = "with-pagination-elements"; - } -?> - - - diff --git a/app/src/Template/Element/search.ctp b/app/src/Template/Element/search.ctp deleted file mode 100644 index da31050a..00000000 --- a/app/src/Template/Element/search.ctp +++ /dev/null @@ -1,141 +0,0 @@ -name = Models -$modelsName = $this->name; -// $modelName = Model -$modelName = \Cake\Utility\Inflector::singularize($modelsName); - -// Get the query string and separate the search params from the non-search params -$query = $this->request->getQueryParams(); -$non_search_params = array_diff_key($query, $vv_searchable_attributes); -$search_params = array_intersect_key($query, $vv_searchable_attributes); - -// Begin the form -print $this->Form->create(null, [ - 'id' => 'top-search-form', - 'type' => 'get' -]); - -// Pass back the non-search params as hidden fields, but always exclude the page parameter -// because we need to start new searches on page one (or we're likely to end up with a 404). -if(!empty($non_search_params)) { - foreach($non_search_params as $param => $value) { - if($param != 'page') { - print $this->Form->hidden(filter_var($param, FILTER_SANITIZE_SPECIAL_CHARS), array('default' => filter_var($value, FILTER_SANITIZE_SPECIAL_CHARS))) . "\n"; - } - } -} - -// Boolean to distinguish between search filters and sort parameters -$hasActiveFilters = false; -?> - - - -Form->end(); ?> \ No newline at end of file diff --git a/app/src/Template/Email/text/potential_match.ctp b/app/src/Template/Email/text/potential_match.ctp deleted file mode 100644 index c3771f95..00000000 --- a/app/src/Template/Email/text/potential_match.ctp +++ /dev/null @@ -1,38 +0,0 @@ - - - - -?> -A new potential match is available for your review. You may access the -pending request at this URL: - - - \ No newline at end of file diff --git a/app/src/Template/Matchgrids/manage.ctp b/app/src/Template/Matchgrids/manage.ctp deleted file mode 100644 index 6583b9bd..00000000 --- a/app/src/Template/Matchgrids/manage.ctp +++ /dev/null @@ -1,137 +0,0 @@ - -
-
-

-
-
- -
- -
-
- Html->link('' . __('match.op.display.records'), - ['controller' => 'MatchgridRecords', - 'action' => 'index', - 'matchgrid_id' => $vv_cur_mg->id], - ['escape' => false, 'class' => 'btn btn-default']); - ?> -
-
-
- Html->link('' . __('match.op.reconcile.requests'), - ['controller' => 'Matchgrids', - 'action' => 'pending', - $vv_cur_mg->id], - ['escape' => false, 'class' => 'btn btn-default']); - ?> -
-
-
- - - 'settings', - 'api_users' => 'vpn_key', - 'attributes' => 'edit', - 'attribute_groups' => 'storage', - 'attribute_maps' => 'swap_horiz', - 'rules' => 'assignment', - 'systems_of_record' => 'gavel', - ]; - - // We'll get most users simply by checking for build permission - $renderConfig = $vv_permissions['build']; - - if(!$renderConfig) { - foreach(array_keys($models) as $m) { - if(isset($vv_menu_permissions[$m]) && $vv_menu_permissions[$m]===true) { - $renderConfig = true; - break; - } - } - } - } - ?> - -

-
    - $icon) { - if($vv_menu_permissions[$model]) { - print '
  • '; - - $linkContent = '' - . __('match.ct.'.\Cake\Utility\Inflector::camelize($model), [99]) - . ''; - - print $this->Html->link( - $linkContent, - ['plugin' => null, - 'controller' => $model, - 'action' => 'index', - 'matchgrid_id' => $vv_cur_mg->id], - ['escape' => false] - ); - - print '
  • '; - } - } - - if($vv_permissions['build']) { - print '
  • '; - - $linkContent = '' - . __('match.op.build') - . ''; - - print $this->Html->link( - $linkContent, - ['controller' => 'Matchgrids', - 'action' => 'build', - $vv_cur_mg->id], - ['escape' => false,'confirm' => __('match.op.build.confirm')] - ); - print '
  • '; - } - ?> -
- -
diff --git a/app/src/Template/Matchgrids/pending.ctp b/app/src/Template/Matchgrids/pending.ctp deleted file mode 100644 index 1865746c..00000000 --- a/app/src/Template/Matchgrids/pending.ctp +++ /dev/null @@ -1,62 +0,0 @@ - - -
-
-

-
-
- -

- - - - - - - - - - - - - - -
- - - Html->link( - $p['sorid'], - ['action' => 'reconcile', $vv_matchgrid_id, 'rowid' => $p['id']], - ['class' => 'row-link'] - ); ?> - - -
diff --git a/app/src/Template/Standard/add-edit-view.ctp b/app/src/Template/Standard/add-edit-view.ctp deleted file mode 100644 index cafaeb7e..00000000 --- a/app/src/Template/Standard/add-edit-view.ctp +++ /dev/null @@ -1,89 +0,0 @@ -template; -// $this->name = Models -$modelsName = $this->name; -?> -
-
-

-
-
- - - - -
- info - -
- - - - -Form->create($vv_obj); -} - -$linkId = null; - -if(!empty($vv_primary_link)) { - if(!empty($this->request->getQuery($vv_primary_link))) { - $linkId = $this->request->getQuery($vv_primary_link); - } elseif(!empty($this->request->getData($vv_primary_link))) { - $linkId = $this->request->getData($vv_primary_link); - } elseif(!empty($vv_obj->$vv_primary_link)) { - $linkId = $vv_obj->$vv_primary_link; - } -} - -print $this->Field->startControlSet($vv_obj, $this->name, $action, ($action == 'add' || $action == 'edit')); - -include(APP . "Template/" . $modelsName . "/fields.inc"); - -if($action == 'add' || $action == 'edit') { - if(!empty($linkId)) { - // Hidden values used to link to parent objects (eg: matchgrid_id) - print $this->Form->hidden($vv_primary_link, ['value' => $linkId]); - } - - print $this->Field->submit(__('match.op.save')); - print $this->Form->end(); -} - -print $this->Field->endControlSet(); diff --git a/app/src/Template/Standard/index.ctp b/app/src/Template/Standard/index.ctp deleted file mode 100644 index 2f69b8f8..00000000 --- a/app/src/Template/Standard/index.ctp +++ /dev/null @@ -1,338 +0,0 @@ -name = Models -$modelsName = $this->name; -// $tablefk = model_id -$tableFK = Inflector::singularize($vv_tablename) . "_id"; - -// Do we have records for this index? This will be set to true during render if we do. -// Otherwise, we'll print out a "no records" message. -$recordsExist = false; - -// Our default link actions, in order of preference, unless the column config overrides it -$linkActions = ['edit', 'view']; - -// Read the index configuration ($indexColumns) for this model -include(APP . "Template/" . $modelsName . "/columns.inc"); - -// $linkFilter is used for models that belong to a specific parent model (eg: co_id) -$linkFilter = []; - -if(!empty($vv_primary_link) && !empty($this->request->getQuery($vv_primary_link))) { - $linkFilter = [$vv_primary_link => $this->request->getQuery($vv_primary_link)]; -} - -function _column_key($modelsName, $c, $tz=null) { - $product = __('product.code'); - - if(strpos($c, "_id", strlen($c)-3)) { - // Key is of the form field_id, use .ct label instead - $k = Inflector::camelize(Inflector::pluralize(substr($c, 0, strlen($c)-3))); - - return __($product.'.ct.'.$k, [1]); - } - - // Look for a model specific key first - $label = __($product.'.fd.'.$modelsName.'.'.$c); - - if($label != $product.'.fd.'.$modelsName.'.'.$c) { - return $label; - } - - if($tz) { - // If there is a timezone aware label, use that - $label = __($product.'.fd.'.$c.'.tz', [$tz]); - - if($label != $product.'.fd.'.$c.'.tz') { - return $label; - } - } - - // Otherwise look for the general key - return __($product.'.fd.'.$c); -} -?> -
-
-

-
- - - - -
- - -
- info - -
- - - - - -
- info - -
- - - - - - element('search'); ?> - - - -
- - - $cfg): ?> - - - - - - id]; - - if(isset($forcePrimaryLink) && $forcePrimaryLink) { - $linkArgs = array_merge($linkArgs, $linkFilter); - } - ?> - - $cfg): ?> - - - - - - - - - -
Paginator->sort($cfg['sortable'], $label); - } else { - print $this->Paginator->sort($col, $label); - } - } else { - print $label; - } - ?>
- $col) && $entity->$col) { - print __($product.'.en.'.$cfg['class'].'.1'); - } else { - print __($product.'.en.'.$cfg['class'].'.0'); - } - break; - case 'datetime': - // XXX dates can also be rendered as eg $entity->created->format(DATE_RFC850); - print $this->Time->nice($entity->$col, $vv_tz); - break; - case 'enum': - if($entity->$col) { - print __($product.'.en.'.$cfg['class'].'.'.$entity->$col); - } - break; - case 'fk': - // Assuming $col is of the form foo_id, look to see if the corresponding - // AutoViewVar $foos is set, and if so render the lookup value instead - $f = null; - if(preg_match('/^(.*?)_id$/', $col, $f)) { - $avv = Inflector::variable(Inflector::pluralize($f[1])); - - if(!empty(${$avv}[$entity->$col])) { - // We found the viewvar (eg: $foos), and it has a corresponding value - // (eg: $foos[3]), so render it - print ${$avv}[$entity->$col]; // XXX filter_var? - } else { - // No match, just render the value - print $entity->$col; - } - } else { - // Just print the value - print $entity->$col; - } - break; - case 'link': - case 'echo': - default: - // By default our label is the column value, but it might be overridden - $label = $entity->$col; - - if(!empty($cfg['model']) && !empty($cfg['field'])) { - $m = $cfg['model']; - $f = $cfg['field']; - - if(!empty($entity->$m->$f)) { - $label = $entity->$m->$f; - } - } - - $linked = false; - - if($cfg['type'] == 'link') { - foreach($linkActions as $a) { - // Does this user have permission for this action? - if($vv_permissions[$a]) { - print $this->Html->link($label, ['action' => $a, $entity->id]); - $linked = true; - break 2; - } - } - } - - if(!$linked) { - // Just echo the value - print $label; - } - break; - // XXX dates can be rendered as eg $entity->created->format(DATE_RFC850); - } - ?> - - Html->link( - __($product.'.op.edit'), - array_merge(['action' => 'edit'], $linkArgs), - ['class' => 'editbutton'] - ); - } - - if(isset($vv_permissions['duplicate']) && $vv_permissions['duplicate']) { - print $this->Html->link( - __($product.'.op.duplicate'), - array_merge(['action' => 'duplicate'], $linkArgs), - ['class' => 'copybutton'] - ); - } - - if($vv_permissions['delete']) { - // XXX this is throwing CSRF error even though delete button on edit-record page is working? - // probably because this is using Form helper, but we're outside of a form? - print $this->Form->postLink( - __($product.'.op.delete'), - array_merge(['action' => 'delete'], $linkArgs), - // XXX should be configurable which field we put in, maybe displayField? - ['confirm' => __($product.'.op.delete.confirm', [$entity->id]), - 'class' => 'deletebutton'] - ); - } - - if(!empty($indexActions)) { - // Insert additional actions as per the .inc file - - if(!isset($entity->status) || $entity->status == StatusEnum::Active) { - foreach($indexActions as $a) { - if($vv_permissions[ $a['action'] ]) { - // If we have a .confirm text, use postLink instead - - $confirmKey = $product.'.op.'.$a['action'].'.confirm'; - $confirmTxt = __($confirmKey); - - if($confirmTxt != $confirmKey) { - // We found the localized string - - print $this->Form->postLink( - __($product.'.op.' . $a['action']), - array_merge(['action' => $a['action']], $linkArgs), - // XXX should be configurable which field we put in, maybe displayField? - ['confirm' => __($confirmKey, [$entity->id]), - 'class' => $a['class']] - ); - } elseif(!empty($a['controller'])) { - // We're linking into a related controller - print $this->Html->link( - __('match.ct.' . Inflector::camelize(Inflector::pluralize($a['controller'])), [99]), - ['controller' => $a['controller'], - 'action' => $a['action'], - $tableFK => $entity->id], - ['class' => $a['class']] - ); - } else { - print $this->Html->link( - __($product.'.op.' . $a['action']), - array_merge(['action' => $a['action']], $linkArgs), - ['class' => $a['class']] - ); - } - } - } - } - } - ?> -
-
- -element("pagination"); \ No newline at end of file diff --git a/app/src/View/AjaxView.php b/app/src/View/AjaxView.php index 3cb78692..3d6f1093 100644 --- a/app/src/View/AjaxView.php +++ b/app/src/View/AjaxView.php @@ -40,7 +40,7 @@ class AjaxView extends AppView * * @return void */ - public function initialize() + public function initialize(): void { parent::initialize(); diff --git a/app/src/View/AppView.php b/app/src/View/AppView.php index d35ffc67..1daf083e 100644 --- a/app/src/View/AppView.php +++ b/app/src/View/AppView.php @@ -38,7 +38,7 @@ class AppView extends View { * @since COmanage Match v1.0.0 */ - public function initialize() { + public function initialize(): void { parent::initialize(); $this->loadHelper('Field'); } diff --git a/app/src/Template/ApiUsers/columns.inc b/app/templates/ApiUsers/columns.inc similarity index 100% rename from app/src/Template/ApiUsers/columns.inc rename to app/templates/ApiUsers/columns.inc diff --git a/app/src/Template/ApiUsers/fields.inc b/app/templates/ApiUsers/fields.inc similarity index 100% rename from app/src/Template/ApiUsers/fields.inc rename to app/templates/ApiUsers/fields.inc diff --git a/app/src/Template/AttributeGroups/columns.inc b/app/templates/AttributeGroups/columns.inc similarity index 100% rename from app/src/Template/AttributeGroups/columns.inc rename to app/templates/AttributeGroups/columns.inc diff --git a/app/src/Template/AttributeGroups/fields.inc b/app/templates/AttributeGroups/fields.inc similarity index 100% rename from app/src/Template/AttributeGroups/fields.inc rename to app/templates/AttributeGroups/fields.inc diff --git a/app/src/Template/AttributeMappings/columns.inc b/app/templates/AttributeMappings/columns.inc similarity index 100% rename from app/src/Template/AttributeMappings/columns.inc rename to app/templates/AttributeMappings/columns.inc diff --git a/app/src/Template/AttributeMappings/fields.inc b/app/templates/AttributeMappings/fields.inc similarity index 100% rename from app/src/Template/AttributeMappings/fields.inc rename to app/templates/AttributeMappings/fields.inc diff --git a/app/src/Template/AttributeMaps/columns.inc b/app/templates/AttributeMaps/columns.inc similarity index 100% rename from app/src/Template/AttributeMaps/columns.inc rename to app/templates/AttributeMaps/columns.inc diff --git a/app/src/Template/AttributeMaps/fields.inc b/app/templates/AttributeMaps/fields.inc similarity index 100% rename from app/src/Template/AttributeMaps/fields.inc rename to app/templates/AttributeMaps/fields.inc diff --git a/app/src/Template/Attributes/columns.inc b/app/templates/Attributes/columns.inc similarity index 100% rename from app/src/Template/Attributes/columns.inc rename to app/templates/Attributes/columns.inc diff --git a/app/src/Template/Attributes/fields.inc b/app/templates/Attributes/fields.inc similarity index 100% rename from app/src/Template/Attributes/fields.inc rename to app/templates/Attributes/fields.inc diff --git a/app/src/Template/Error/error400.ctp b/app/templates/Error/error400.php similarity index 100% rename from app/src/Template/Error/error400.ctp rename to app/templates/Error/error400.php diff --git a/app/src/Template/Error/error500.ctp b/app/templates/Error/error500.php similarity index 100% rename from app/src/Template/Error/error500.ctp rename to app/templates/Error/error500.php diff --git a/app/src/Template/MatchgridRecords/columns.inc b/app/templates/MatchgridRecords/columns.inc similarity index 97% rename from app/src/Template/MatchgridRecords/columns.inc rename to app/templates/MatchgridRecords/columns.inc index 91300e34..4c98d35a 100644 --- a/app/src/Template/MatchgridRecords/columns.inc +++ b/app/templates/MatchgridRecords/columns.inc @@ -28,8 +28,8 @@ // We need to add matchgrid ID to all links (since ID is unique only within a matchgrid) // eg: matchgrid-records/edit/48?matchgrid_id=3 $forcePrimaryLink = true; - -// Turn on the search/filter box for this index view + +// Turn on the search/filter box for this index view $enableSearch = true; // Note we don't need to do any special filtering, since MatchgridRecordsController will diff --git a/app/src/Template/MatchgridRecords/fields.inc b/app/templates/MatchgridRecords/fields.inc similarity index 100% rename from app/src/Template/MatchgridRecords/fields.inc rename to app/templates/MatchgridRecords/fields.inc diff --git a/app/src/Template/MatchgridSettings/fields.inc b/app/templates/MatchgridSettings/fields.inc similarity index 100% rename from app/src/Template/MatchgridSettings/fields.inc rename to app/templates/MatchgridSettings/fields.inc diff --git a/app/src/Template/Matchgrids/columns.inc b/app/templates/Matchgrids/columns.inc similarity index 100% rename from app/src/Template/Matchgrids/columns.inc rename to app/templates/Matchgrids/columns.inc diff --git a/app/src/Template/Matchgrids/fields.inc b/app/templates/Matchgrids/fields.inc similarity index 100% rename from app/src/Template/Matchgrids/fields.inc rename to app/templates/Matchgrids/fields.inc diff --git a/app/templates/Matchgrids/manage.php b/app/templates/Matchgrids/manage.php new file mode 100644 index 00000000..274bd7d7 --- /dev/null +++ b/app/templates/Matchgrids/manage.php @@ -0,0 +1,139 @@ + +
+
+

+
+
+ +
+ +
+
+ Html->link('' . __('match.op.display.records'), + ['controller' => 'MatchgridRecords', + 'action' => 'index', + '?' => ['matchgrid_id' => $vv_cur_mg->id] + ], + ['escape' => false, 'class' => 'btn btn-default']); + ?> +
+
+
+ Html->link('' . __('match.op.reconcile.requests'), + ['controller' => 'Matchgrids', + 'action' => 'pending', + $vv_cur_mg->id], + ['escape' => false, 'class' => 'btn btn-default']); + ?> +
+
+
+ + + 'settings', + 'api_users' => 'vpn_key', + 'attributes' => 'edit', + 'attribute_groups' => 'storage', + 'attribute_maps' => 'swap_horiz', + 'rules' => 'assignment', + 'systems_of_record' => 'gavel', + ]; + + // We'll get most users simply by checking for build permission + $renderConfig = $vv_permissions['build']; + + if(!$renderConfig) { + foreach(array_keys($models) as $m) { + if(isset($vv_menu_permissions[$m]) && $vv_menu_permissions[$m]===true) { + $renderConfig = true; + break; + } + } + } + } + ?> + +

+
    + $icon) { + if($vv_menu_permissions[$model]) { + print '
  • '; + + $linkContent = '' + . __('match.ct.'.\Cake\Utility\Inflector::camelize($model), [99]) + . ''; + + print $this->Html->link( + $linkContent, + ['plugin' => null, + 'controller' => $model, + 'action' => 'index', + '?' => ['matchgrid_id' => $vv_cur_mg->id] + ], + ['escape' => false] + ); + + print '
  • '; + } + } + + if($vv_permissions['build']) { + print '
  • '; + + $linkContent = '' + . __('match.op.build') + . ''; + + print $this->Html->link( + $linkContent, + ['controller' => 'Matchgrids', + 'action' => 'build', + $vv_cur_mg->id], + ['escape' => false,'confirm' => __('match.op.build.confirm')] + ); + print '
  • '; + } + ?> +
+ +
diff --git a/app/templates/Matchgrids/pending.php b/app/templates/Matchgrids/pending.php new file mode 100644 index 00000000..96879407 --- /dev/null +++ b/app/templates/Matchgrids/pending.php @@ -0,0 +1,64 @@ + + +
+
+

+
+
+ +

+ + + + + + + + + + + + + + +
+ + + Html->link( + $p['sorid'], + ['action' => 'reconcile', + $vv_matchgrid_id, + '?' => [ 'rowid' => $p['id'] ] ], + ['class' => 'row-link'] + ); ?> + + +
diff --git a/app/src/Template/Matchgrids/reconcile.ctp b/app/templates/Matchgrids/reconcile.php similarity index 100% rename from app/src/Template/Matchgrids/reconcile.ctp rename to app/templates/Matchgrids/reconcile.php diff --git a/app/src/Template/Matchgrids/select.ctp b/app/templates/Matchgrids/select.php similarity index 100% rename from app/src/Template/Matchgrids/select.ctp rename to app/templates/Matchgrids/select.php diff --git a/app/src/Template/Pages/home.ctp b/app/templates/Pages/home.php similarity index 100% rename from app/src/Template/Pages/home.ctp rename to app/templates/Pages/home.php diff --git a/app/src/Template/Permissions/columns.inc b/app/templates/Permissions/columns.inc similarity index 100% rename from app/src/Template/Permissions/columns.inc rename to app/templates/Permissions/columns.inc diff --git a/app/src/Template/Permissions/fields.inc b/app/templates/Permissions/fields.inc similarity index 100% rename from app/src/Template/Permissions/fields.inc rename to app/templates/Permissions/fields.inc diff --git a/app/src/Template/RuleAttributes/columns.inc b/app/templates/RuleAttributes/columns.inc similarity index 100% rename from app/src/Template/RuleAttributes/columns.inc rename to app/templates/RuleAttributes/columns.inc diff --git a/app/src/Template/RuleAttributes/fields.inc b/app/templates/RuleAttributes/fields.inc similarity index 100% rename from app/src/Template/RuleAttributes/fields.inc rename to app/templates/RuleAttributes/fields.inc diff --git a/app/src/Template/Rules/columns.inc b/app/templates/Rules/columns.inc similarity index 100% rename from app/src/Template/Rules/columns.inc rename to app/templates/Rules/columns.inc diff --git a/app/src/Template/Rules/fields.inc b/app/templates/Rules/fields.inc similarity index 100% rename from app/src/Template/Rules/fields.inc rename to app/templates/Rules/fields.inc diff --git a/app/templates/Standard/add-edit-view.php b/app/templates/Standard/add-edit-view.php new file mode 100644 index 00000000..ae8d1850 --- /dev/null +++ b/app/templates/Standard/add-edit-view.php @@ -0,0 +1,89 @@ +request->getParam('action'); +// $this->name = Models +$modelsName = $this->name; +?> +
+
+

+
+
+ + + + +
+ info + +
+ + + + +Form->create($vv_obj); +} + +$linkId = null; + +if(!empty($vv_primary_link)) { + if(!empty($this->request->getQuery($vv_primary_link))) { + $linkId = $this->request->getQuery($vv_primary_link); + } elseif(!empty($this->request->getData($vv_primary_link))) { + $linkId = $this->request->getData($vv_primary_link); + } elseif(!empty($vv_obj->$vv_primary_link)) { + $linkId = $vv_obj->$vv_primary_link; + } +} + +print $this->Field->startControlSet($vv_obj, $this->name, $action, ($action == 'add' || $action == 'edit')); + +include(TEMPLATES . $modelsName . "/fields.inc"); + +if($action == 'add' || $action == 'edit') { + if(!empty($linkId)) { + // Hidden values used to link to parent objects (eg: matchgrid_id) + print $this->Form->hidden($vv_primary_link, ['value' => $linkId]); + } + + print $this->Field->submit(__('match.op.save')); + print $this->Form->end(); +} + +print $this->Field->endControlSet(); diff --git a/app/templates/Standard/index.php b/app/templates/Standard/index.php new file mode 100644 index 00000000..4e3dd1a6 --- /dev/null +++ b/app/templates/Standard/index.php @@ -0,0 +1,338 @@ +name = Models +$modelsName = $this->name; +// $tablefk = model_id +$tableFK = Inflector::singularize($vv_tablename) . "_id"; + +// Do we have records for this index? This will be set to true during render if we do. +// Otherwise, we'll print out a "no records" message. +$recordsExist = false; + +// Our default link actions, in order of preference, unless the column config overrides it +$linkActions = ['edit', 'view']; + +// Read the index configuration ($indexColumns) for this model +include(TEMPLATES . $modelsName . "/columns.inc"); + +// $linkFilter is used for models that belong to a specific parent model (eg: co_id) +$linkFilter = []; + +if(!empty($vv_primary_link) && !empty($this->request->getQuery($vv_primary_link))) { + $linkFilter = ['?' => [$vv_primary_link => $this->request->getQuery($vv_primary_link)]]; +} + +function _column_key($modelsName, $c, $tz=null) { + $product = __('product.code'); + + if(strpos($c, "_id", strlen($c)-3)) { + // Key is of the form field_id, use .ct label instead + $k = Inflector::camelize(Inflector::pluralize(substr($c, 0, strlen($c)-3))); + + return __($product.'.ct.'.$k, [1]); + } + + // Look for a model specific key first + $label = __($product.'.fd.'.$modelsName.'.'.$c); + + if($label != $product.'.fd.'.$modelsName.'.'.$c) { + return $label; + } + + if($tz) { + // If there is a timezone aware label, use that + $label = __($product.'.fd.'.$c.'.tz', [$tz]); + + if($label != $product.'.fd.'.$c.'.tz') { + return $label; + } + } + + // Otherwise look for the general key + return __($product.'.fd.'.$c); +} +?> +
+
+

+
+ + + + +
+ + +
+ info + +
+ + + + + +
+ info + +
+ + + + + + element('search'); ?> + + + +
+ + + $cfg): ?> + + + + + + id]; + + if(isset($forcePrimaryLink) && $forcePrimaryLink) { + $linkArgs = array_merge_recursive($linkArgs, $linkFilter); + } + ?> + + $cfg): ?> + + + + + + + + + +
Paginator->sort($cfg['sortable'], $label); + } else { + print $this->Paginator->sort($col, $label); + } + } else { + print $label; + } + ?>
+ $col) && $entity->$col) { + print __($product.'.en.'.$cfg['class'].'.1'); + } else { + print __($product.'.en.'.$cfg['class'].'.0'); + } + break; + case 'datetime': + // XXX dates can also be rendered as eg $entity->created->format(DATE_RFC850); + print $this->Time->nice($entity->$col, $vv_tz); + break; + case 'enum': + if($entity->$col) { + print __($product.'.en.'.$cfg['class'].'.'.$entity->$col); + } + break; + case 'fk': + // Assuming $col is of the form foo_id, look to see if the corresponding + // AutoViewVar $foos is set, and if so render the lookup value instead + $f = null; + if(preg_match('/^(.*?)_id$/', $col, $f)) { + $avv = Inflector::variable(Inflector::pluralize($f[1])); + + if(!empty(${$avv}[$entity->$col])) { + // We found the viewvar (eg: $foos), and it has a corresponding value + // (eg: $foos[3]), so render it + print ${$avv}[$entity->$col]; // XXX filter_var? + } else { + // No match, just render the value + print $entity->$col; + } + } else { + // Just print the value + print $entity->$col; + } + break; + case 'link': + case 'echo': + default: + // By default our label is the column value, but it might be overridden + $label = $entity->$col; + + if(!empty($cfg['model']) && !empty($cfg['field'])) { + $m = $cfg['model']; + $f = $cfg['field']; + + if(!empty($entity->$m->$f)) { + $label = $entity->$m->$f; + } + } + + $linked = false; + + if($cfg['type'] == 'link') { + foreach($linkActions as $a) { + // Does this user have permission for this action? + if($vv_permissions[$a]) { + print $this->Html->link($label, ['action' => $a, $entity->id]); + $linked = true; + break 2; + } + } + } + + if(!$linked) { + // Just echo the value + print $label; + } + break; + // XXX dates can be rendered as eg $entity->created->format(DATE_RFC850); + } + ?> + + Html->link( + __($product.'.op.edit'), + array_merge_recursive(['action' => 'edit'], $linkArgs), + ['class' => 'editbutton'] + ); + } + + if(isset($vv_permissions['duplicate']) && $vv_permissions['duplicate']) { + print $this->Html->link( + __($product.'.op.duplicate'), + array_merge_recursive(['action' => 'duplicate'], $linkArgs), + ['class' => 'copybutton'] + ); + } + + if($vv_permissions['delete']) { + // XXX this is throwing CSRF error even though delete button on edit-record page is working? + // probably because this is using Form helper, but we're outside of a form? + print $this->Form->postLink( + __($product.'.op.delete'), + array_merge_recursive(['action' => 'delete'], $linkArgs), + // XXX should be configurable which field we put in, maybe displayField? + ['confirm' => __($product.'.op.delete.confirm', [$entity->id]), + 'class' => 'deletebutton'] + ); + } + + if(!empty($indexActions)) { + // Insert additional actions as per the .inc file + + if(!isset($entity->status) || $entity->status == StatusEnum::Active) { + foreach($indexActions as $a) { + if($vv_permissions[ $a['action'] ]) { + // If we have a .confirm text, use postLink instead + + $confirmKey = $product.'.op.'.$a['action'].'.confirm'; + $confirmTxt = __($confirmKey); + + if($confirmTxt != $confirmKey) { + // We found the localized string + + print $this->Form->postLink( + __($product.'.op.' . $a['action']), + array_merge_recursive(['action' => $a['action']], $linkArgs), + // XXX should be configurable which field we put in, maybe displayField? + ['confirm' => __($confirmKey, [$entity->id]), + 'class' => $a['class']] + ); + } elseif(!empty($a['controller'])) { + // We're linking into a related controller + print $this->Html->link( + __('match.ct.' . Inflector::camelize(Inflector::pluralize($a['controller'])), [99]), + ['controller' => $a['controller'], + 'action' => $a['action'], + '?' => [ $tableFK => $entity->id] ], + ['class' => $a['class']] + ); + } else { + print $this->Html->link( + __($product.'.op.' . $a['action']), + array_merge_recursive(['action' => $a['action']], $linkArgs), + ['class' => $a['class']] + ); + } + } + } + } + } + ?> +
+
+ +element("pagination"); \ No newline at end of file diff --git a/app/src/Template/SystemsOfRecord/columns.inc b/app/templates/SystemsOfRecord/columns.inc similarity index 100% rename from app/src/Template/SystemsOfRecord/columns.inc rename to app/templates/SystemsOfRecord/columns.inc diff --git a/app/src/Template/SystemsOfRecord/fields.inc b/app/templates/SystemsOfRecord/fields.inc similarity index 100% rename from app/src/Template/SystemsOfRecord/fields.inc rename to app/templates/SystemsOfRecord/fields.inc diff --git a/app/src/Template/TierApi/response.ctp b/app/templates/TierApi/response.php similarity index 100% rename from app/src/Template/TierApi/response.ctp rename to app/templates/TierApi/response.php diff --git a/app/templates/element/breadcrumbs.php b/app/templates/element/breadcrumbs.php new file mode 100644 index 00000000..74189ee1 --- /dev/null +++ b/app/templates/element/breadcrumbs.php @@ -0,0 +1,127 @@ +request->getRequestTarget(false) != '/') { + // Don't bother rendering breadcrumbs if we're already at the top page + + $action = $this->request->getParam('action'); + // $this->name = Models + $modelsName = $this->name; + + $this->Breadcrumbs->setTemplates([ + 'wrapper' => '{{content}}', + 'item' => '{{title}}{{separator}}', + 'itemWithoutLink' => '{{title}}{{separator}}', + 'separator' => '{{separator}}' + ]); + + $this->Breadcrumbs->prepend( + __('match.meta.match'), + ['controller' => 'matchgrids', + 'action' => 'select'] + ); + + if(!empty($vv_cur_mg) + && ($modelsName != 'Matchgrids' || $action != 'manage')) { + // Link to matchgrid if set + $this->Breadcrumbs->add( + $vv_cur_mg->table_name, + ['controller' => 'matchgrids', + 'action' => 'manage', + $vv_cur_mg->id ] + ); + } + + if(!empty($vv_primary_link_obj) + && !empty($vv_primary_link_model) + && $vv_primary_link_model != 'Matchgrids') { + // If the primary link is not matchgrid, render a link to it (and the parent index). + // We'll need to calculate the controller name. + + if(!empty($vv_cur_mg->id)) { + // We currently assume the parent of a primary link is matchgrid, which + // might or might not always be true in the future. + $this->Breadcrumbs->add( + __('match.ct.'.$vv_primary_link_model, [99]), + ['controller' => \Cake\Utility\Inflector::dasherize($vv_primary_link_model), + 'action' => 'index', + '?' => [ 'matchgrid_id' => $vv_cur_mg->id] ] + ); + } + + $this->Breadcrumbs->add( + $vv_primary_link_obj->name, + ['controller' => \Cake\Utility\Inflector::dasherize($vv_primary_link_model), + 'action' => 'edit', + $vv_primary_link_obj->id] + ); + } + + if($action != 'index' && $action != 'manage' + && !($modelsName == 'Matchgrids' && $action == 'pending')) { + + // Default parent is index, to which we might need to append the Primary Link ID + $crumbLinkText = 'match.ct.'.$modelsName; + + $target = [ + 'controller' => Inflector::dasherize($modelsName), + 'action' => 'index' + ]; + + if(!empty($vv_primary_link) && !empty($vv_primary_link_obj->id)) { + $target['?'] = [$vv_primary_link => $vv_primary_link_obj->id]; + } + + // Non-index special cases + if ($modelsName == 'Matchgrids' && $action == 'reconcile') { + $crumbLinkText = 'match.ac.PendingRequests'; + $target = [ + 'controller' => Inflector::dasherize($modelsName), + 'action' => 'pending', + $vv_cur_mg->id // will always be set for reconcile + ]; + } + + $this->Breadcrumbs->add( + __($crumbLinkText, [99]), + $target + ); + } + + if(!empty($vv_title)) { + $this->Breadcrumbs->add( + $vv_title + ); + } + + print $this->Breadcrumbs->render( + [], + ['separator' => ' > '] + ); +} \ No newline at end of file diff --git a/app/src/Template/Element/Flash/default.ctp b/app/templates/element/flash/default.php similarity index 100% rename from app/src/Template/Element/Flash/default.ctp rename to app/templates/element/flash/default.php diff --git a/app/src/Template/Element/Flash/error.ctp b/app/templates/element/flash/error.php similarity index 100% rename from app/src/Template/Element/Flash/error.ctp rename to app/templates/element/flash/error.php diff --git a/app/src/Template/Element/Flash/information.ctp b/app/templates/element/flash/information.php similarity index 100% rename from app/src/Template/Element/Flash/information.ctp rename to app/templates/element/flash/information.php diff --git a/app/src/Template/Element/Flash/success.ctp b/app/templates/element/flash/success.php similarity index 100% rename from app/src/Template/Element/Flash/success.ctp rename to app/templates/element/flash/success.php diff --git a/app/src/Template/Element/footer.ctp b/app/templates/element/footer.php similarity index 100% rename from app/src/Template/Element/footer.ctp rename to app/templates/element/footer.php diff --git a/app/templates/element/javascript.php b/app/templates/element/javascript.php new file mode 100644 index 00000000..91553638 --- /dev/null +++ b/app/templates/element/javascript.php @@ -0,0 +1,283 @@ + + + + +Flash->render() ?> \ No newline at end of file diff --git a/app/templates/element/menuMain.php b/app/templates/element/menuMain.php new file mode 100644 index 00000000..1537d4f2 --- /dev/null +++ b/app/templates/element/menuMain.php @@ -0,0 +1,69 @@ + + diff --git a/app/templates/element/menuTop.php b/app/templates/element/menuTop.php new file mode 100644 index 00000000..17601a68 --- /dev/null +++ b/app/templates/element/menuTop.php @@ -0,0 +1,106 @@ + + +
    + +
  • + + + +
  • + +
  • + + + +
  • +
+ + + + Html->link(__('match.op.login'), + ['controller' => 'matchgrids', + 'action' => 'select', + 'plugin' => false], + ['escape' => false, + 'id' => 'login', + 'class' => '']); + } + ?> + diff --git a/app/templates/element/pagination.php b/app/templates/element/pagination.php new file mode 100644 index 00000000..c83fab84 --- /dev/null +++ b/app/templates/element/pagination.php @@ -0,0 +1,114 @@ +Paginator->hasPage(2)) { + $paginationClass = "with-pagination-elements"; + } +?> + + + diff --git a/app/templates/element/search.php b/app/templates/element/search.php new file mode 100644 index 00000000..d6c279a3 --- /dev/null +++ b/app/templates/element/search.php @@ -0,0 +1,141 @@ +name = Models +$modelsName = $this->name; +// $modelName = Model +$modelName = \Cake\Utility\Inflector::singularize($modelsName); + +// Get the query string and separate the search params from the non-search params +$query = $this->request->getQueryParams(); +$non_search_params = array_diff_key($query, $vv_searchable_attributes); +$search_params = array_intersect_key($query, $vv_searchable_attributes); + +// Begin the form +print $this->Form->create(null, [ + 'id' => 'top-search-form', + 'type' => 'get' +]); + +// Pass back the non-search params as hidden fields, but always exclude the page parameter +// because we need to start new searches on page one (or we're likely to end up with a 404). +if(!empty($non_search_params)) { + foreach($non_search_params as $param => $value) { + if($param != 'page') { + print $this->Form->hidden(filter_var($param, FILTER_SANITIZE_SPECIAL_CHARS), array('default' => filter_var($value, FILTER_SANITIZE_SPECIAL_CHARS))) . "\n"; + } + } +} + +// Boolean to distinguish between search filters and sort parameters +$hasActiveFilters = false; +?> + + + +Form->end(); ?> \ No newline at end of file diff --git a/app/src/Template/Email/html/default.ctp b/app/templates/email/html/default.php similarity index 100% rename from app/src/Template/Email/html/default.ctp rename to app/templates/email/html/default.php diff --git a/app/src/Template/Email/text/default.ctp b/app/templates/email/text/default.php similarity index 100% rename from app/src/Template/Email/text/default.ctp rename to app/templates/email/text/default.php diff --git a/app/templates/email/text/potential_match.php b/app/templates/email/text/potential_match.php new file mode 100644 index 00000000..83641abc --- /dev/null +++ b/app/templates/email/text/potential_match.php @@ -0,0 +1,38 @@ + + + + +?> +A new potential match is available for your review. You may access the +pending request at this URL: + + + \ No newline at end of file diff --git a/app/src/Template/Layout/Email/text/default.ctp b/app/templates/layout/ajax.php similarity index 100% rename from app/src/Template/Layout/Email/text/default.ctp rename to app/templates/layout/ajax.php diff --git a/app/src/Template/Layout/default.ctp b/app/templates/layout/default.php similarity index 100% rename from app/src/Template/Layout/default.ctp rename to app/templates/layout/default.php diff --git a/app/src/Template/Layout/Email/html/default.ctp b/app/templates/layout/email/html/default.php similarity index 100% rename from app/src/Template/Layout/Email/html/default.ctp rename to app/templates/layout/email/html/default.php diff --git a/app/src/Template/Layout/ajax.ctp b/app/templates/layout/email/text/default.php similarity index 100% rename from app/src/Template/Layout/ajax.ctp rename to app/templates/layout/email/text/default.php diff --git a/app/src/Template/Layout/error.ctp b/app/templates/layout/error.php similarity index 100% rename from app/src/Template/Layout/error.ctp rename to app/templates/layout/error.php diff --git a/app/src/Template/Layout/rest.ctp b/app/templates/layout/rest.php similarity index 100% rename from app/src/Template/Layout/rest.ctp rename to app/templates/layout/rest.php diff --git a/app/src/Template/Layout/rss/default.ctp b/app/templates/layout/rss/default.php similarity index 100% rename from app/src/Template/Layout/rss/default.ctp rename to app/templates/layout/rss/default.php diff --git a/app/vendor/ajgl/breakpoint-twig-extension/.github/workflows/tests.yaml b/app/vendor/ajgl/breakpoint-twig-extension/.github/workflows/tests.yaml deleted file mode 100644 index 90487262..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/.github/workflows/tests.yaml +++ /dev/null @@ -1,47 +0,0 @@ -name: tests - -on: - push: - pull_request: - -jobs: - tests: - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.allow_failure }} - strategy: - fail-fast: false - matrix: - php: ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0'] - stability: ['prefer-lowest', 'prefer-stable'] - allow_failure: [false] - include: - - php: '8.0' - stability: 'dev' - allow_failure: true - - name: ${{ matrix.php }}-${{ matrix.stability }} - - steps: - - name: Checkout code - uses: actions/checkout@v2 - - - name: Cache dependencies - uses: actions/cache@v1 - with: - path: ~/.composer/cache/files - key: dependencies-php-${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} - - - name: Setup PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - coverage: none - - - name: Install dependencies - run: composer update --${{ matrix.stability }} --prefer-dist --no-interaction --no-progress - - - name: Check coding standard - run: composer lint - - - name: Execute tests - run: composer test || ${{ matrix.allow_failure }} diff --git a/app/vendor/ajgl/breakpoint-twig-extension/.gitignore b/app/vendor/ajgl/breakpoint-twig-extension/.gitignore deleted file mode 100644 index 25be7c4d..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/vendor/ -*.cache -composer.lock -phpunit.xml diff --git a/app/vendor/ajgl/breakpoint-twig-extension/.php_cs.dist b/app/vendor/ajgl/breakpoint-twig-extension/.php_cs.dist deleted file mode 100644 index 65878857..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/.php_cs.dist +++ /dev/null @@ -1,36 +0,0 @@ - - -For the full copyright and license information, please view the LICENSE -file that was distributed with this source code. -EOF; - -return \PhpCsFixer\Config::create() - ->setRiskyAllowed(true) - ->setRules( - [ - '@Symfony' => true, - '@Symfony:risky' => true, - 'array_syntax' => array('syntax' => 'short'), - 'fully_qualified_strict_types' => true, - 'header_comment' => array('header' => $header), - 'native_function_invocation' => false, - 'ordered_imports' => [ - 'imports_order' => ['class', 'const', 'function'], - ], - 'phpdoc_order' => true, - 'psr4' => true, - 'strict_comparison' => true, - 'strict_param' => true, - ] - ) - ->setFinder( - \PhpCsFixer\Finder::create() - ->in(__DIR__.'/src') - ->in(__DIR__.'/tests') - ) -; diff --git a/app/vendor/ajgl/breakpoint-twig-extension/CHANGELOG.md b/app/vendor/ajgl/breakpoint-twig-extension/CHANGELOG.md deleted file mode 100644 index 337f00c3..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/CHANGELOG.md +++ /dev/null @@ -1,68 +0,0 @@ -# [CHANGELOG](http://keepachangelog.com/) -All notable changes to this project will be documented in this file. -This project adheres to [Semantic Versioning](http://semver.org/). - -## [Unreleased][unreleased] - - -## [0.3.5] - 2021-02-08 - -### Added -- Add support for Symfony 5 -- Add support for Twig 3.x - - -## [0.3.4] - 2019-04-10 - -### Fixed -- Population of `$arguments` variable - - -## [0.3.3] - 2019-03-18 - -### Fixed -- Population of `$arguments` variable -- Usage of deprecated classes - - -## [0.3.2] - 2018-12-10 - -### Added -- Add support for Symfony 4 - -## [0.3.1] - 2017-11-20 - -### Changed -- Require PHP 5.6 - -### Fixed -- Update requirements to allow twig 2.x - - -## [0.3.0] - 2016-03-31 - -### Added -- Add `$environment` and `$context` variables -- Allow to inspect function arguments - - -## [0.2.0] - 2016-03-10 - -### Added -- Add Symfony Bundle - - -## 0.1.0 - 2016-03-09 - -### Added -- Add `breakpoint` function - - -[unreleased]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/compare/0.3.5...master -[0.3.4]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/compare/0.3.4...0.3.5 -[0.3.4]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/compare/0.3.3...0.3.4 -[0.3.3]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/compare/0.3.2...0.3.3 -[0.3.2]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/compare/0.3.1...0.3.2 -[0.3.1]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/compare/0.3.0...0.3.1 -[0.3.0]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/compare/0.2.0...0.3.0 -[0.2.0]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/compare/0.1.0...0.2.0 diff --git a/app/vendor/ajgl/breakpoint-twig-extension/LICENSE b/app/vendor/ajgl/breakpoint-twig-extension/LICENSE deleted file mode 100644 index 9aeafa27..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -Copyright (c) 2013-2016 Antonio J. García Lagar - -Permission is hereby granted, free of charge, to any -person obtaining a copy of this software and associated -documentation files (the "Software"), to deal in the -Software without restriction, including without limitation -the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the -Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice -shall be included in all copies or substantial portions of -the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY -KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS -OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/app/vendor/ajgl/breakpoint-twig-extension/README.md b/app/vendor/ajgl/breakpoint-twig-extension/README.md deleted file mode 100644 index 18b2e778..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/README.md +++ /dev/null @@ -1,122 +0,0 @@ -AjglBreakpointTwigExtension -=========================== - -The AjglBreakpointTwigExtension component allows you set breakpoints in twig templates. - -[![Build Status](https://github.com/ajgarlag/AjglBreakpointTwigExtension/workflows/tests/badge.svg?branch=master)](https://github.com/ajgarlag/AjglBreakpointTwigExtension/actions) -[![Latest Stable Version](https://poser.pugx.org/ajgl/breakpoint-twig-extension/v/stable.png)](https://packagist.org/packages/ajgl/breakpoint-twig-extension) -[![Latest Unstable Version](https://poser.pugx.org/ajgl/breakpoint-twig-extension/v/unstable.png)](https://packagist.org/packages/ajgl/breakpoint-twig-extension) -[![Total Downloads](https://poser.pugx.org/ajgl/breakpoint-twig-extension/downloads.png)](https://packagist.org/packages/ajgl/breakpoint-twig-extension) -[![Montly Downloads](https://poser.pugx.org/ajgl/breakpoint-twig-extension/d/monthly.png)](https://packagist.org/packages/ajgl/breakpoint-twig-extension) -[![Daily Downloads](https://poser.pugx.org/ajgl/breakpoint-twig-extension/d/daily.png)](https://packagist.org/packages/ajgl/breakpoint-twig-extension) -[![License](https://poser.pugx.org/ajgl/breakpoint-twig-extension/license.png)](https://packagist.org/packages/ajgl/breakpoint-twig-extension) -[![SensioLabsInsight](https://insight.sensiolabs.com/projects/e0f1276d-6ded-4a20-9b3f-1a7c77a92015/mini.png)](https://insight.sensiolabs.com/projects/e0f1276d-6ded-4a20-9b3f-1a7c77a92015) - -This component requires the [Xdebug] PHP extension to be installed. - - -Installation ------------- - -To install the latest stable version of this component, open a console and execute the following command: -``` -$ composer require ajgl/breakpoint-twig-extension -``` - - -Usage ------ - -The first step is to register the extension into the twig environment -```php -/* @var $twig Twig_Environment */ -$twig->addExtension(new Ajgl\Twig\Extension\BreakpointExtension()); -``` - -Once registered, you can call the new `breakpoint` function: -```twig - - - - - title - - - {{ breakpoint() }} - - -``` - -Once stopped, your debugger will allow you to inspect the `$environment` and `$context` variables. - -### Function arguments - -Any argument passed to the twig function will be added to the `$arguments` array, so you can inspect it easily. - -```twig - - - - - title - - - {{ breakpoint(app.user, app.session) }} - - -``` - -Symfony Bundle --------------- - -If you want to use this extension in your Symfony application, you can enable the -Symfony Bundle included in this package. - -The bundle will register the twig extension automatically. So, once enabled, you -can insert the `breakpoint` twig function in your templates. - -### Symfony 2/3 - -```php -// app/AppKernel.php -if (in_array($this->getEnvironment(), array('dev', 'test'), true)) { - $bundles[] = new Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle(); -} -``` - -### Symfony 4/5 - -```php -// config/bundles.php -//... -return [ - //... - Ajgl\Twig\Extension\SymfonyBundle\AjglBreakpointTwigExtensionBundle::class => ['dev' => true] -]; -``` - -License -------- - -This component is under the MIT license. See the complete license in the [LICENSE] file. - - -Reporting an issue or a feature request ---------------------------------------- - -Issues and feature requests are tracked in the [Github issue tracker]. - - -Author Information ------------------- - -Developed with ♥ by [Antonio J. García Lagar]. - -If you find this component useful, please add a ★ in the [GitHub repository page] and/or the [Packagist package page]. - -[Xdebug]: https://xdebug.org/ -[LICENSE]: LICENSE -[Github issue tracker]: https://github.com/ajgarlag/AjglBreakpointTwigExtension/issues -[Antonio J. García Lagar]: http://aj.garcialagar.es -[GitHub repository page]: https://github.com/ajgarlag/AjglBreakpointTwigExtension -[Packagist package page]: https://packagist.org/packages/ajgl/breakpoint-twig-extension diff --git a/app/vendor/ajgl/breakpoint-twig-extension/composer.json b/app/vendor/ajgl/breakpoint-twig-extension/composer.json deleted file mode 100644 index cf466f2e..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/composer.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "ajgl/breakpoint-twig-extension", - "description": "Twig extension to set breakpoints", - "keywords": ["twig", "xdebug", "breakpoint"], - "homepage": "https://github.com/ajgarlag/AjglBreakpointTwigExtension", - "license": "MIT", - "authors": [ - { - "name": "Antonio J. García Lagar", - "email": "aj@garcialagar.es", - "homepage": "http://aj.garcialagar.es", - "role": "developer" - } - ], - "autoload": { - "psr-4": { "Ajgl\\Twig\\Extension\\": "src/" } - }, - "autoload-dev": { - "psr-4": { "Ajgl\\Twig\\Extension\\Tests\\": "tests/" } - }, - "require": { - "php": ">=5.6", - "twig/twig": "^1.34|^2.0|^3.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.18", - "symfony/framework-bundle": "^2.7|^3.4|^4.4|^5.2", - "symfony/phpunit-bridge": "^4.4|^5.2", - "symfony/twig-bundle": "^2.7|^3.4|^4.4|^5.2" - }, - "suggest": { - "ext-xdebug": "The Xdebug extension is required for the breakpoint to work", - "symfony/framework-bundle": "The framework bundle to integrate the extension into Symfony", - "symfony/twig-bundle": "The twig bundle to integrate the extension into Symfony" - }, - "scripts": { - "fix-cs": [ - "vendor/bin/php-cs-fixer fix --ansi" - ], - "lint": [ - "vendor/bin/php-cs-fixer fix --dry-run --ansi" - ], - "test": [ - "vendor/bin/simple-phpunit --colors=always" - ] - }, - "config": { - "sort-packages": true - }, - "extra": { - "branch-alias": { - "dev-master": "0.3.x-dev" - } - } -} diff --git a/app/vendor/ajgl/breakpoint-twig-extension/phpunit.xml.dist b/app/vendor/ajgl/breakpoint-twig-extension/phpunit.xml.dist deleted file mode 100644 index ec8dc6e4..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/phpunit.xml.dist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - ./tests - - - - - - ./src - - - - diff --git a/app/vendor/ajgl/breakpoint-twig-extension/src/BreakpointExtension.php b/app/vendor/ajgl/breakpoint-twig-extension/src/BreakpointExtension.php deleted file mode 100644 index f839d683..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/src/BreakpointExtension.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Ajgl\Twig\Extension; - -use Twig\Environment; -use Twig\Extension\AbstractExtension; -use Twig\TwigFunction; - -/** - * @author Antonio J. García Lagar - */ -class BreakpointExtension extends AbstractExtension -{ - public function getName() - { - return 'breakpoint'; - } - - public function getFunctions() - { - return [ - new TwigFunction('breakpoint', [$this, 'setBreakpoint'], ['needs_environment' => true, 'needs_context' => true]), - ]; - } - - /** - * If Xdebug is detected, makes the debugger break. - * - * @param Environment $environment the environment instance - * @param mixed $context variables from the Twig template - */ - public function setBreakpoint(Environment $environment, $context) - { - if (function_exists('xdebug_break')) { - $arguments = func_get_args(); - $arguments = array_slice($arguments, 2); - xdebug_break(); - } - } -} diff --git a/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/AjglBreakpointTwigExtensionBundle.php b/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/AjglBreakpointTwigExtensionBundle.php deleted file mode 100644 index 2caa7ca8..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/AjglBreakpointTwigExtensionBundle.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Ajgl\Twig\Extension\SymfonyBundle; - -use Symfony\Component\HttpKernel\Bundle\Bundle; - -/** - * @author Antonio J. García Lagar - */ -class AjglBreakpointTwigExtensionBundle extends Bundle -{ -} diff --git a/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtension.php b/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtension.php deleted file mode 100644 index cf25daac..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtension.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Ajgl\Twig\Extension\SymfonyBundle\DependencyInjection; - -use Symfony\Component\Config\FileLocator; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Loader; -use Symfony\Component\HttpKernel\DependencyInjection\Extension; - -/** - * @author Antonio J. García Lagar - */ -class AjglBreakpointTwigExtensionExtension extends Extension -{ - public function load(array $config, ContainerBuilder $container) - { - $loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); - $loader->load('twig.xml'); - } -} diff --git a/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/Resources/config/twig.xml b/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/Resources/config/twig.xml deleted file mode 100644 index e7bd8321..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/src/SymfonyBundle/Resources/config/twig.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - diff --git a/app/vendor/ajgl/breakpoint-twig-extension/tests/BreakpointExtensionTest.php b/app/vendor/ajgl/breakpoint-twig-extension/tests/BreakpointExtensionTest.php deleted file mode 100644 index b4316ab3..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/tests/BreakpointExtensionTest.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Ajgl\Twig\Extension\Tests; - -use Ajgl\Twig\Extension\BreakpointExtension; -use PHPUnit\Framework\TestCase; -use Symfony\Bridge\PhpUnit\SetUpTearDownTrait; -use Twig\TwigFunction; - -/** - * @author Antonio J. García Lagar - */ -class BreakpointExtensionTest extends TestCase -{ - use SetUpTearDownTrait; - - /** - * @var BreakpointExtension - */ - protected $extension; - - protected function doSetUp() - { - $this->extension = new BreakpointExtension(); - } - - public function testGetName() - { - $this->assertSame('breakpoint', $this->extension->getName()); - } - - public function testGetFunctions() - { - $functions = $this->extension->getFunctions(); - $this->assertCount(1, $functions); - $function = reset($functions); - $this->assertInstanceOf(TwigFunction::class, $function); - $callable = $function->getCallable(); - $this->assertTrue(is_array($callable)); - $this->assertCount(2, $callable); - $this->assertSame($this->extension, $callable[0]); - $this->assertSame('setBreakpoint', $callable[1]); - } -} diff --git a/app/vendor/ajgl/breakpoint-twig-extension/tests/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtensionTest.php b/app/vendor/ajgl/breakpoint-twig-extension/tests/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtensionTest.php deleted file mode 100644 index f3eebbf8..00000000 --- a/app/vendor/ajgl/breakpoint-twig-extension/tests/SymfonyBundle/DependencyInjection/AjglBreakpointTwigExtensionExtensionTest.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Ajgl\Twig\Extension\Tests\SymfonyBundle\DependencyInjection; - -use Ajgl\Twig\Extension\SymfonyBundle\DependencyInjection\AjglBreakpointTwigExtensionExtension; -use PHPUnit\Framework\TestCase; -use Symfony\Bridge\PhpUnit\SetUpTearDownTrait; -use Symfony\Component\DependencyInjection\ContainerBuilder; - -/** - * @author Antonio J. García Lagar - */ -class AjglBreakpointTwigExtensionExtensionTest extends TestCase -{ - use SetUpTearDownTrait; - - /** - * @var ContainerBuilder - */ - protected $container; - - /** - * @var AjglBreakpointTwigExtensionExtension - */ - protected $extension; - - protected function doSetUp() - { - $this->container = new ContainerBuilder(); - $this->extension = new AjglBreakpointTwigExtensionExtension(); - } - - public function testTwigExtensionsDefinition() - { - $this->extension->load([], $this->container); - $this->assertTrue($this->container->hasDefinition('ajgl_twig_extension.breakpoint')); - $definition = $this->container->getDefinition('ajgl_twig_extension.breakpoint'); - $this->assertSame( - 'Ajgl\Twig\Extension\BreakpointExtension', - $definition->getClass() - ); - $this->assertNotNull($definition->getTag('twig.extension')); - } -} diff --git a/app/vendor/aptoma/twig-markdown/.gitignore b/app/vendor/aptoma/twig-markdown/.gitignore deleted file mode 100644 index 91205156..00000000 --- a/app/vendor/aptoma/twig-markdown/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor -composer.phar -phpunit.xml diff --git a/app/vendor/aptoma/twig-markdown/.travis.yml b/app/vendor/aptoma/twig-markdown/.travis.yml deleted file mode 100644 index 62d7420d..00000000 --- a/app/vendor/aptoma/twig-markdown/.travis.yml +++ /dev/null @@ -1,27 +0,0 @@ -language: php -sudo: false - -php: - - 5.4 - - 5.5 - - 5.6 - - 7 - -env: - global: - # travis encrypt CODECLIMATE_REPO_TOKEN= - - secure: "n4I9GwRCxi9UGjhDGe79SV6Nr/fRKpA8N+qqqbkveJv01Z4IRcAsRBRxKrSAX8zJUoFhlJK73VeRnBfdSBddsL3RqgDMbHilZFy6yC7Dj/vVyNe90RPWxc5J7w3sidT2g1OsgWueiUis8y3dGOQd2sewfcb2pZa29/eQusBV5i0=" - -install: - - composer install - -before_script: - - mkdir -p build/logs - -script: - - vendor/bin/phpunit --coverage-clover build/logs/clover.xml - -after_script: - - php vendor/bin/coveralls -v - - ./vendor/bin/test-reporter --stdout > codeclimate.json - - "curl -X POST -d @codeclimate.json -H 'Content-Type: application/json' -H 'User-Agent: Code Climate (PHP Test Reporter v1.0.1-dev)' https://codeclimate.com/test_reports" diff --git a/app/vendor/aptoma/twig-markdown/CHANGELOG.md b/app/vendor/aptoma/twig-markdown/CHANGELOG.md deleted file mode 100644 index 09db06d3..00000000 --- a/app/vendor/aptoma/twig-markdown/CHANGELOG.md +++ /dev/null @@ -1,23 +0,0 @@ -CHANGELOG -========= - -2.0.0 ------ - -- **BC**: Require Twig v1.12, in order to replace deprecated Twig_Filter_Method with Twig_SimpleFilter -- **Added**: Add support for ParsedownEnging - -1.2.0 ------ - -- **Added**: Add support for GitHub's markdown engine - -1.1.0 ------ - -- **Added**: Add support for PHP League CommonMark engine - -1.0.0 ------ - -- **BC**: Remove deprecated dflydev-markdown parser diff --git a/app/vendor/aptoma/twig-markdown/README.md b/app/vendor/aptoma/twig-markdown/README.md deleted file mode 100644 index b6807ef1..00000000 --- a/app/vendor/aptoma/twig-markdown/README.md +++ /dev/null @@ -1,171 +0,0 @@ -Twig Markdown Extension -======================= - -[![Build Status](https://secure.travis-ci.org/aptoma/twig-markdown.png?branch=master)](http://travis-ci.org/aptoma/twig-markdown) -[![Coverage Status](https://img.shields.io/coveralls/aptoma/twig-markdown.svg)](https://coveralls.io/r/aptoma/twig-markdown) - -Twig Markdown extension provides a new filter and a tag to allow parsing of -content as Markdown in [Twig][1] templates. - -This extension could be integrated with several Markdown parser as it provides an interface, which allows you to customize your Markdown parser. - -### Supported parsers - - * [michelf/php-markdown](https://github.com/michelf/php-markdown) (+ MarkdownExtra) - * [league/commonmark](http://commonmark.thephpleague.com/) - * [KnpLabs/php-github-api](https://github.com/KnpLabs/php-github-api) - * [erusev/parsedown](https://github.com/erusev/parsedown) - -## Features - - * Filter support `{{ "# Heading Level 1"|markdown }}` - * Tag support `{% markdown %}{% endmarkdown %}` - -When used as a tag, the indentation level of the first line sets the default indentation level for the rest of the tag content. -From this indentation level, all same indentation or outdented levels text will be transformed as regular text. - -This feature allows you to write your Markdown content at any indentation level without caring of Markdown internal transformation: - -```php -
-

{{ title }}

- - {% markdown %} - This is a list that is indented to match the context around the markdown tag: - - * List item 1 - * List item 2 - * Sub List Item - * Sub Sub List Item - - The following block will be transformed as code, as it is indented more than the - surrounding content: - - $code = "good"; - - {% endmarkdown %} - -
-``` - -## Installation - -Run the composer command to install the latest stable version: - -```bash -composer require aptoma/twig-markdown -``` - -Or update your `composer.json`: - -```json -{ - "require": { - "aptoma/twig-markdown": "~1.1" - } -} -``` - -You can choose to provide your own Markdown engine, although we recommend -using [michelf/php-markdown](https://github.com/michelf/php-markdown): - -```bash -composer require michelf/php-markdown ~1.3 -``` - -```json -{ - "require": { - "michelf/php-markdown": "~1.3" - } -} -``` - -You may also use the [PHP League CommonMark engine](http://commonmark.thephpleague.com/): - -```bash -composer require league/commonmark ~0.5 -``` - -```json -{ - "require": { - "league/commonmark": "~0.5" - } -} -``` - -## Usage - -### Twig Extension - -The Twig extension provides the `markdown` tag and filter support. - -Assuming that you are using [composer](http://getcomposer.org) autoloading, -add the extension to the Twig environment: - -```php - -use Aptoma\Twig\Extension\MarkdownExtension; -use Aptoma\Twig\Extension\MarkdownEngine; - -$engine = new MarkdownEngine\MichelfMarkdownEngine(); - -$twig->addExtension(new MarkdownExtension($engine)); -``` - -### Twig Token Parser - -The Twig token parser provides the `markdown` tag only! - -```php -use Aptoma\Twig\Extension\MarkdownEngine; -use Aptoma\Twig\TokenParser\MarkdownTokenParser; - -$engine = new MarkdownEngine\MichelfMarkdownEngine(); - -$twig->addTokenParser(new MarkdownTokenParser($engine)); -``` - -### GitHub Markdown Engine - -`MarkdownEngine\GitHubMarkdownEngine` provides an interface to GitHub's markdown engine using their public API via [`KnpLabs\php-github-api`][2]. To reduce API calls, rendered documents are hashed and cached in the filesystem. You can pass a GitHub repository and the path to be used for caching to the constructor: - -```php -use Aptoma\Twig\Extension\MarkdownEngine; - -$engine = new MarkdownEngine\GitHubMarkdownEngine( - 'aptoma/twig-markdown', // The GitHub repository to use as a context - true, // Whether to use GitHub's Flavored Markdown (GFM) - '/tmp/markdown-cache', // Path on filesystem to store rendered documents -); -``` - -In order to authenticate the API client (for instance), it's possible to pass an own instance of `\GitHub\Client` instead of letting the engine create one itself: - -```php -$client = new \GitHub\Client; -$client->authenticate('GITHUB_CLIENT_ID', 'GITHUB_CLIENT_SECRET', \Github\Client::AUTH_URL_CLIENT_ID); - -$engine = new MarkdownEngine\GitHubMarkdownEngine('aptoma/twig-markdown', true, '/tmp/markdown-cache', $client); -``` - -### Using a different Markdown parser engine - -If you want to use a different Markdown parser, you need to create an adapter -that implements `Aptoma\Twig\Extension\MarkdownEngineInterface.php`. Have -a look at `Aptoma\Twig\Extension\MarkdownEngine\MichelfMarkdownEngine` for an -example. - -## Tests - -The test suite uses PHPUnit: - - $ phpunit - -## License - -Twig Markdown Extension is licensed under the MIT license. - -[1]: http://twig.sensiolabs.org -[2]: https://github.com/knplabs/php-github-api diff --git a/app/vendor/aptoma/twig-markdown/composer.json b/app/vendor/aptoma/twig-markdown/composer.json deleted file mode 100644 index 491c1f06..00000000 --- a/app/vendor/aptoma/twig-markdown/composer.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "name": "aptoma/twig-markdown", - "description": "Twig extension to work with Markdown content", - "keywords": ["twig", "markdown"], - "license": "MIT", - "authors": [ - { - "name": "Gunnar Lium", - "email": "gunnar@aptoma.com" - }, - { - "name": "Joris Berthelot", - "email": "joris@berthelot.tel" - } - ], - "require": { - "twig/twig": "~1.12" - }, - "require-dev": { - "phpunit/phpunit": "~4.0", - "satooshi/php-coveralls": "~0.6", - "codeclimate/php-test-reporter": "dev-master", - "michelf/php-markdown": "~1", - "league/commonmark": "~0.5", - "knplabs/github-api": "~1.2", - "erusev/parsedown": "^1.6" - }, - "suggest": { - "michelf/php-markdown": "Original Markdown engine with MarkdownExtra.", - "knplabs/github-api": "Needed for using GitHub's Markdown engine provided through their API." - }, - "autoload": { - "psr-0": { "Aptoma": "src/" } - } -} diff --git a/app/vendor/aptoma/twig-markdown/composer.lock b/app/vendor/aptoma/twig-markdown/composer.lock deleted file mode 100644 index dac9b0d0..00000000 --- a/app/vendor/aptoma/twig-markdown/composer.lock +++ /dev/null @@ -1,1772 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", - "This file is @generated automatically" - ], - "hash": "cc0f13dd7a782442ae3b39805823a56b", - "packages": [ - { - "name": "twig/twig", - "version": "v1.22.3", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "ebfc36b7e77b0c1175afe30459cf943010245540" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/ebfc36b7e77b0c1175afe30459cf943010245540", - "reference": "ebfc36b7e77b0c1175afe30459cf943010245540", - "shasum": "" - }, - "require": { - "php": ">=5.2.7" - }, - "require-dev": { - "symfony/debug": "~2.7", - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.22-dev" - } - }, - "autoload": { - "psr-0": { - "Twig_": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - }, - { - "name": "Twig Team", - "homepage": "http://twig.sensiolabs.org/contributors", - "role": "Contributors" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "http://twig.sensiolabs.org", - "keywords": [ - "templating" - ], - "time": "2015-10-13 07:07:02" - } - ], - "packages-dev": [ - { - "name": "codeclimate/php-test-reporter", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/codeclimate/php-test-reporter.git", - "reference": "892163d67e3bd9c190d43655acb69657da765c7b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/codeclimate/php-test-reporter/zipball/892163d67e3bd9c190d43655acb69657da765c7b", - "reference": "892163d67e3bd9c190d43655acb69657da765c7b", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3", - "satooshi/php-coveralls": "0.6.*", - "symfony/console": ">=2.0" - }, - "require-dev": { - "ext-xdebug": "*", - "phpunit/phpunit": "3.7.*@stable" - }, - "bin": [ - "composer/bin/test-reporter" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.2.x-dev" - } - }, - "autoload": { - "psr-0": { - "CodeClimate\\Component": "src/", - "CodeClimate\\Bundle": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Code Climate", - "email": "hello@codeclimate.com", - "homepage": "https://codeclimate.com" - } - ], - "description": "PHP client for reporting test coverage to Code Climate", - "homepage": "https://github.com/codeclimate/php-test-reporter", - "keywords": [ - "codeclimate", - "coverage" - ], - "time": "2015-10-15 14:41:10" - }, - { - "name": "doctrine/instantiator", - "version": "1.0.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d", - "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d", - "shasum": "" - }, - "require": { - "php": ">=5.3,<8.0-DEV" - }, - "require-dev": { - "athletic/athletic": "~0.1.8", - "ext-pdo": "*", - "ext-phar": "*", - "phpunit/phpunit": "~4.0", - "squizlabs/php_codesniffer": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://github.com/doctrine/instantiator", - "keywords": [ - "constructor", - "instantiate" - ], - "time": "2015-06-14 21:17:01" - }, - { - "name": "erusev/parsedown", - "version": "1.6.0", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "3ebbd730b5c2cf5ce78bc1bf64071407fc6674b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/3ebbd730b5c2cf5ce78bc1bf64071407fc6674b7", - "reference": "3ebbd730b5c2cf5ce78bc1bf64071407fc6674b7", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "time": "2015-10-04 16:44:32" - }, - { - "name": "guzzle/guzzle", - "version": "v3.9.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle3.git", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle3/zipball/0645b70d953bc1c067bbc8d5bc53194706b628d9", - "reference": "0645b70d953bc1c067bbc8d5bc53194706b628d9", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.3", - "symfony/event-dispatcher": "~2.1" - }, - "replace": { - "guzzle/batch": "self.version", - "guzzle/cache": "self.version", - "guzzle/common": "self.version", - "guzzle/http": "self.version", - "guzzle/inflection": "self.version", - "guzzle/iterator": "self.version", - "guzzle/log": "self.version", - "guzzle/parser": "self.version", - "guzzle/plugin": "self.version", - "guzzle/plugin-async": "self.version", - "guzzle/plugin-backoff": "self.version", - "guzzle/plugin-cache": "self.version", - "guzzle/plugin-cookie": "self.version", - "guzzle/plugin-curlauth": "self.version", - "guzzle/plugin-error-response": "self.version", - "guzzle/plugin-history": "self.version", - "guzzle/plugin-log": "self.version", - "guzzle/plugin-md5": "self.version", - "guzzle/plugin-mock": "self.version", - "guzzle/plugin-oauth": "self.version", - "guzzle/service": "self.version", - "guzzle/stream": "self.version" - }, - "require-dev": { - "doctrine/cache": "~1.3", - "monolog/monolog": "~1.0", - "phpunit/phpunit": "3.7.*", - "psr/log": "~1.0", - "symfony/class-loader": "~2.1", - "zendframework/zend-cache": "2.*,<2.3", - "zendframework/zend-log": "2.*,<2.3" - }, - "suggest": { - "guzzlehttp/guzzle": "Guzzle 5 has moved to a new package name. The package you have installed, Guzzle 3, is deprecated." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.9-dev" - } - }, - "autoload": { - "psr-0": { - "Guzzle": "src/", - "Guzzle\\Tests": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Guzzle Community", - "homepage": "https://github.com/guzzle/guzzle/contributors" - } - ], - "description": "PHP HTTP client. This library is deprecated in favor of https://packagist.org/packages/guzzlehttp/guzzle", - "homepage": "http://guzzlephp.org/", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "rest", - "web service" - ], - "time": "2015-03-18 18:23:50" - }, - { - "name": "knplabs/github-api", - "version": "1.5.1", - "source": { - "type": "git", - "url": "https://github.com/KnpLabs/php-github-api.git", - "reference": "832b7be695ed2733741cd5c79166b4a88fb50786" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/php-github-api/zipball/832b7be695ed2733741cd5c79166b4a88fb50786", - "reference": "832b7be695ed2733741cd5c79166b4a88fb50786", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "guzzle/guzzle": "~3.7", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "knplabs/gaufrette": "Needed for optional Gaufrette cache" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Github\\": "lib/Github/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Thibault Duplessis", - "email": "thibault.duplessis@gmail.com", - "homepage": "http://ornicar.github.com" - }, - { - "name": "KnpLabs Team", - "homepage": "http://knplabs.com" - } - ], - "description": "GitHub API v3 client", - "homepage": "https://github.com/KnpLabs/php-github-api", - "keywords": [ - "api", - "gh", - "gist", - "github" - ], - "time": "2015-10-11 02:38:28" - }, - { - "name": "league/commonmark", - "version": "0.11.3", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "d22d6a6a4b049faccc2f8e491cce6076eeb165c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d22d6a6a4b049faccc2f8e491cce6076eeb165c7", - "reference": "d22d6a6a4b049faccc2f8e491cce6076eeb165c7", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=5.4.8" - }, - "replace": { - "colinodell/commonmark-php": "*" - }, - "require-dev": { - "erusev/parsedown": "~1.0", - "jgm/commonmark": "0.22", - "jgm/smartpunct": "0.22", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "~1.1.0", - "phpunit/phpunit": "~4.3", - "phpunit/phpunit-mock-objects": "2.3.0", - "symfony/finder": "~2.3" - }, - "bin": [ - "bin/commonmark" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.12-dev" - } - }, - "autoload": { - "psr-4": { - "League\\CommonMark\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "http://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Markdown parser for PHP based on the CommonMark spec", - "homepage": "https://github.com/thephpleague/commonmark", - "keywords": [ - "commonmark", - "markdown", - "parser" - ], - "time": "2015-09-25 12:40:32" - }, - { - "name": "michelf/php-markdown", - "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-markdown.git", - "reference": "e1aabe18173231ebcefc90e615565742fc1c7fd9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-markdown/zipball/e1aabe18173231ebcefc90e615565742fc1c7fd9", - "reference": "e1aabe18173231ebcefc90e615565742fc1c7fd9", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-lib": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Michelf": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "John Gruber", - "homepage": "http://daringfireball.net/" - }, - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - } - ], - "description": "PHP Markdown", - "homepage": "https://michelf.ca/projects/php-markdown/", - "keywords": [ - "markdown" - ], - "time": "2015-03-01 12:03:08" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/d68dbdc53dc358a816f00b300704702b2eaff7b8", - "reference": "d68dbdc53dc358a816f00b300704702b2eaff7b8", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "phpDocumentor": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "time": "2015-02-03 12:10:50" - }, - { - "name": "phpspec/prophecy", - "version": "v1.5.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/4745ded9307786b730d7a60df5cb5a6c43cf95f7", - "reference": "4745ded9307786b730d7a60df5cb5a6c43cf95f7", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "phpdocumentor/reflection-docblock": "~2.0", - "sebastian/comparator": "~1.1" - }, - "require-dev": { - "phpspec/phpspec": "~2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Prophecy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" - ], - "time": "2015-08-13 10:07:40" - }, - { - "name": "phpunit/php-code-coverage", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "phpunit/php-file-iterator": "~1.3", - "phpunit/php-text-template": "~1.2", - "phpunit/php-token-stream": "~1.3", - "sebastian/environment": "^1.3.2", - "sebastian/version": "~1.0" - }, - "require-dev": { - "ext-xdebug": ">=2.1.4", - "phpunit/phpunit": "~4" - }, - "suggest": { - "ext-dom": "*", - "ext-xdebug": ">=2.2.1", - "ext-xmlwriter": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "time": "2015-10-06 15:47:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "1.4.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/6150bf2c35d3fc379e50c7602b75caceaa39dbf0", - "reference": "6150bf2c35d3fc379e50c7602b75caceaa39dbf0", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "time": "2015-06-21 13:08:43" - }, - { - "name": "phpunit/php-text-template", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2015-06-21 13:50:34" - }, - { - "name": "phpunit/php-timer", - "version": "1.0.7", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3e82f4e9fc92665fafd9157568e4dcb01d014e5b", - "reference": "3e82f4e9fc92665fafd9157568e4dcb01d014e5b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2015-06-21 08:01:12" - }, - { - "name": "phpunit/php-token-stream", - "version": "1.4.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", - "reference": "3144ae21711fb6cac0b1ab4cbe63b75ce3d4e8da", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Wrapper around PHP's tokenizer extension.", - "homepage": "https://github.com/sebastianbergmann/php-token-stream/", - "keywords": [ - "tokenizer" - ], - "time": "2015-09-15 10:49:45" - }, - { - "name": "phpunit/phpunit", - "version": "4.8.14", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b4900675926860bef091644849305399b986efa2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b4900675926860bef091644849305399b986efa2", - "reference": "b4900675926860bef091644849305399b986efa2", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=5.3.3", - "phpspec/prophecy": "^1.3.1", - "phpunit/php-code-coverage": "~2.1", - "phpunit/php-file-iterator": "~1.4", - "phpunit/php-text-template": "~1.2", - "phpunit/php-timer": ">=1.0.6", - "phpunit/phpunit-mock-objects": "~2.3", - "sebastian/comparator": "~1.1", - "sebastian/diff": "~1.2", - "sebastian/environment": "~1.3", - "sebastian/exporter": "~1.2", - "sebastian/global-state": "~1.0", - "sebastian/version": "~1.0", - "symfony/yaml": "~2.1|~3.0" - }, - "suggest": { - "phpunit/php-invoker": "~1.1" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.8.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2015-10-17 15:03:30" - }, - { - "name": "phpunit/phpunit-mock-objects", - "version": "2.3.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.0.2", - "php": ">=5.3.3", - "phpunit/php-text-template": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "suggest": { - "ext-soap": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sb@sebastian-bergmann.de", - "role": "lead" - } - ], - "description": "Mock Object library for PHPUnit", - "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/", - "keywords": [ - "mock", - "xunit" - ], - "time": "2015-10-02 06:51:40" - }, - { - "name": "psr/log", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b", - "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-0": { - "Psr\\Log\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "time": "2012-12-21 11:40:51" - }, - { - "name": "satooshi/php-coveralls", - "version": "v0.6.1", - "source": { - "type": "git", - "url": "https://github.com/satooshi/php-coveralls.git", - "reference": "dd0df95bd37a7cf5c5c50304dfe260ffe4b50760" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/satooshi/php-coveralls/zipball/dd0df95bd37a7cf5c5c50304dfe260ffe4b50760", - "reference": "dd0df95bd37a7cf5c5c50304dfe260ffe4b50760", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-simplexml": "*", - "guzzle/guzzle": ">=3.0", - "php": ">=5.3", - "psr/log": "1.0.0", - "symfony/config": ">=2.0", - "symfony/console": ">=2.0", - "symfony/stopwatch": ">=2.2", - "symfony/yaml": ">=2.0" - }, - "require-dev": { - "apigen/apigen": "2.8.*@stable", - "pdepend/pdepend": "dev-master", - "phpmd/phpmd": "dev-master", - "phpunit/php-invoker": ">=1.1.0,<1.2.0", - "phpunit/phpunit": "3.7.*@stable", - "sebastian/finder-facade": "dev-master", - "sebastian/phpcpd": "1.4.*@stable", - "squizlabs/php_codesniffer": "1.4.*@stable", - "theseer/fdomdocument": "dev-master" - }, - "bin": [ - "composer/bin/coveralls" - ], - "type": "library", - "autoload": { - "psr-0": { - "Contrib\\Component": "src/", - "Contrib\\Bundle": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kitamura Satoshi", - "email": "with.no.parachute@gmail.com", - "homepage": "https://www.facebook.com/satooshi.jp" - } - ], - "description": "PHP client library for Coveralls API", - "homepage": "https://github.com/satooshi/php-coveralls", - "keywords": [ - "ci", - "coverage", - "github", - "test" - ], - "time": "2013-05-04 08:07:33" - }, - { - "name": "sebastian/comparator", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/937efb279bd37a375bcadf584dec0726f84dbf22", - "reference": "937efb279bd37a375bcadf584dec0726f84dbf22", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/diff": "~1.2", - "sebastian/exporter": "~1.2" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "http://www.github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2015-07-26 15:48:44" - }, - { - "name": "sebastian/diff", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/863df9687835c62aa423a22412d26fa2ebde3fd3", - "reference": "863df9687835c62aa423a22412d26fa2ebde3fd3", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Diff implementation", - "homepage": "http://www.github.com/sebastianbergmann/diff", - "keywords": [ - "diff" - ], - "time": "2015-02-22 15:13:53" - }, - { - "name": "sebastian/environment", - "version": "1.3.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/6324c907ce7a52478eeeaede764f48733ef5ae44", - "reference": "6324c907ce7a52478eeeaede764f48733ef5ae44", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2015-08-03 06:14:51" - }, - { - "name": "sebastian/exporter", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/7ae5513327cb536431847bcc0c10edba2701064e", - "reference": "7ae5513327cb536431847bcc0c10edba2701064e", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "sebastian/recursion-context": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2015-06-21 07:55:53" - }, - { - "name": "sebastian/global-state", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4", - "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.2" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "time": "2015-10-12 03:26:01" - }, - { - "name": "sebastian/recursion-context", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/994d4a811bafe801fb06dccbee797863ba2792ba", - "reference": "994d4a811bafe801fb06dccbee797863ba2792ba", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2015-06-21 08:04:50" - }, - { - "name": "sebastian/version", - "version": "1.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6", - "shasum": "" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2015-06-21 13:59:46" - }, - { - "name": "symfony/config", - "version": "v2.7.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "9698fdf0a750d6887d5e7729d5cf099765b20e61" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/9698fdf0a750d6887d5e7729d5cf099765b20e61", - "reference": "9698fdf0a750d6887d5e7729d5cf099765b20e61", - "shasum": "" - }, - "require": { - "php": ">=5.3.9", - "symfony/filesystem": "~2.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Config Component", - "homepage": "https://symfony.com", - "time": "2015-09-21 15:02:29" - }, - { - "name": "symfony/console", - "version": "v2.7.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "06cb17c013a82f94a3d840682b49425cd00a2161" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/06cb17c013a82f94a3d840682b49425cd00a2161", - "reference": "06cb17c013a82f94a3d840682b49425cd00a2161", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/event-dispatcher": "~2.1", - "symfony/phpunit-bridge": "~2.7", - "symfony/process": "~2.1" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/process": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Console Component", - "homepage": "https://symfony.com", - "time": "2015-09-25 08:32:23" - }, - { - "name": "symfony/event-dispatcher", - "version": "v2.7.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "ae4dcc2a8d3de98bd794167a3ccda1311597c5d9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ae4dcc2a8d3de98bd794167a3ccda1311597c5d9", - "reference": "ae4dcc2a8d3de98bd794167a3ccda1311597c5d9", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "~2.0,>=2.0.5", - "symfony/dependency-injection": "~2.6", - "symfony/expression-language": "~2.6", - "symfony/phpunit-bridge": "~2.7", - "symfony/stopwatch": "~2.3" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony EventDispatcher Component", - "homepage": "https://symfony.com", - "time": "2015-09-22 13:49:29" - }, - { - "name": "symfony/filesystem", - "version": "v2.7.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "a17f8a17c20e8614c15b8e116e2f4bcde102cfab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/a17f8a17c20e8614c15b8e116e2f4bcde102cfab", - "reference": "a17f8a17c20e8614c15b8e116e2f4bcde102cfab", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Filesystem Component", - "homepage": "https://symfony.com", - "time": "2015-09-09 17:42:36" - }, - { - "name": "symfony/stopwatch", - "version": "v2.7.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "08dd97b3f22ab9ee658cd16e6758f8c3c404336e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/08dd97b3f22ab9ee658cd16e6758f8c3c404336e", - "reference": "08dd97b3f22ab9ee658cd16e6758f8c3c404336e", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Stopwatch Component", - "homepage": "https://symfony.com", - "time": "2015-09-22 13:49:29" - }, - { - "name": "symfony/yaml", - "version": "v2.7.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "31cb2ad0155c95b88ee55fe12bc7ff92232c1770" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/31cb2ad0155c95b88ee55fe12bc7ff92232c1770", - "reference": "31cb2ad0155c95b88ee55fe12bc7ff92232c1770", - "shasum": "" - }, - "require": { - "php": ">=5.3.9" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony Yaml Component", - "homepage": "https://symfony.com", - "time": "2015-09-14 14:14:09" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": { - "codeclimate/php-test-reporter": 20 - }, - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [] -} diff --git a/app/vendor/aptoma/twig-markdown/phpunit.xml.dist b/app/vendor/aptoma/twig-markdown/phpunit.xml.dist deleted file mode 100644 index f67a5796..00000000 --- a/app/vendor/aptoma/twig-markdown/phpunit.xml.dist +++ /dev/null @@ -1,18 +0,0 @@ - - - - - ./tests/ - - - diff --git a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/GitHubMarkdownEngine.php b/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/GitHubMarkdownEngine.php deleted file mode 100644 index 10905c25..00000000 --- a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/GitHubMarkdownEngine.php +++ /dev/null @@ -1,76 +0,0 @@ - - */ -class GitHubMarkdownEngine implements MarkdownEngineInterface -{ - /** - * Constructor - * - * @param string $contextRepo The repository context. Pass a GitHub repo - * such as 'aptoma/twig-markdown' to render e.g. issues #23 in the - * context of the repo. - * @param bool $gfm Whether to use GitHub's Flavored Markdown or the - * standard markdown. Default is true. - * @param string $cacheDir Location on disk where rendered documents should - * be stored. - * @param \Github\Client $client Client object to use. A new Github\Client() - * object is constructed automatically if $client is null. - */ - public function __construct($contextRepo = null, $gfm = true, $cacheDir = '/tmp/github-markdown-cache', \GitHub\Client $client=null) - { - $this->repo = $contextRepo; - $this->mode = $gfm ? 'gfm' : 'markdown'; - $this->cacheDir = rtrim($cacheDir, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; - if (!is_dir($this->cacheDir)) { - @mkdir($this->cacheDir, 0777, true); - } - - if ($client === null) { - $client = new \Github\Client(); - } - $this->api = $client->api('markdown'); - } - - /** - * {@inheritdoc} - */ - public function transform($content) - { - $cacheFile = $this->getCachePath($content); - if (file_exists($cacheFile)) { - return file_get_contents($cacheFile);; - } - - $response = $this->api->render($content, $this->mode, $this->repo); - file_put_contents($cacheFile, $response); - return $response; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'KnpLabs\php-github-api'; - } - - private function getCachePath($content) - { - return $this->cacheDir . md5($content) . '_' . $this->mode. '_' . str_replace('/', '.', $this->repo); - } - - private $api; - private $cacheDir; - private $repo; - private $mode; -} diff --git a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/MichelfMarkdownEngine.php b/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/MichelfMarkdownEngine.php deleted file mode 100644 index 92899eae..00000000 --- a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/MichelfMarkdownEngine.php +++ /dev/null @@ -1,32 +0,0 @@ - - */ -class MichelfMarkdownEngine implements MarkdownEngineInterface -{ - /** - * {@inheritdoc} - */ - public function transform($content) - { - return MarkdownExtra::defaultTransform($content); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'Michelf\Markdown'; - } -} diff --git a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/PHPLeagueCommonMarkEngine.php b/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/PHPLeagueCommonMarkEngine.php deleted file mode 100644 index e10a7d22..00000000 --- a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/PHPLeagueCommonMarkEngine.php +++ /dev/null @@ -1,49 +0,0 @@ - - */ -class PHPLeagueCommonMarkEngine implements MarkdownEngineInterface -{ - /** - * @var \League\CommonMark\CommonMarkConverter - */ - private $converter; - - /** - * Constructor - * - * Accepts CommonMarkConverter or creates one automatically - * - * @param \League\CommonMark\CommonMarkConverter $converter - */ - public function __construct(CommonMarkConverter $converter = null) - { - $this->converter = $converter ?: new CommonMarkConverter(); - } - - /** - * {@inheritdoc} - */ - public function transform($content) - { - return $this->converter->convertToHtml($content); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'League\CommonMark'; - } -} diff --git a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/ParsedownEngine.php b/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/ParsedownEngine.php deleted file mode 100644 index 62ee679c..00000000 --- a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngine/ParsedownEngine.php +++ /dev/null @@ -1,45 +0,0 @@ - - */ -class ParsedownEngine implements MarkdownEngineInterface -{ - /** - * @var Parsedown - */ - protected $engine; - - /** - * @param string|null $instanceName - */ - public function __construct($instanceName = null) - { - $this->engine = Parsedown::instance($instanceName); - } - - /** - * {@inheritdoc} - */ - public function transform($content) - { - return $this->engine->parse($content); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'erusev/parsedown'; - } -} diff --git a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngineInterface.php b/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngineInterface.php deleted file mode 100644 index cfc34b36..00000000 --- a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownEngineInterface.php +++ /dev/null @@ -1,28 +0,0 @@ - - */ -interface MarkdownEngineInterface -{ - /** - * Transforms the given markdown data in HTML - * - * @param $content Markdown data - * @return string - */ - public function transform($content); - - /** - * Return Markdown engine vendor ID - * - * @return string - */ - public function getName(); -} diff --git a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownExtension.php b/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownExtension.php deleted file mode 100644 index 522d49c1..00000000 --- a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Extension/MarkdownExtension.php +++ /dev/null @@ -1,69 +0,0 @@ - - * @author Joris Berthelot - */ -class MarkdownExtension extends \Twig_Extension -{ - - /** - * @var MarkdownEngineInterface $markdownEngine - */ - private $markdownEngine; - - /** - * @param MarkdownEngineInterface $markdownEngine The Markdown parser engine - */ - public function __construct(MarkdownEngineInterface $markdownEngine) - { - $this->markdownEngine = $markdownEngine; - } - - /** - * {@inheritdoc} - */ - public function getFilters() - { - return array( - new \Twig_SimpleFilter( - 'markdown', - array($this, 'parseMarkdown'), - array('is_safe' => array('html')) - ) - ); - } - - /** - * Transform Markdown content to HTML - * - * @param $content The Markdown content to be transformed - * @return string The result of the Markdown engine transformation - */ - public function parseMarkdown($content) - { - return $this->markdownEngine->transform($content); - } - - /** - * {@inheritdoc} - */ - public function getTokenParsers() - { - return array(new MarkdownTokenParser($this->markdownEngine)); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'markdown'; - } -} diff --git a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Node/MarkdownNode.php b/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Node/MarkdownNode.php deleted file mode 100644 index 9e38a35b..00000000 --- a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/Node/MarkdownNode.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @author Joris Berthelot - */ -class MarkdownNode extends \Twig_Node -{ - public function __construct(\Twig_NodeInterface $body, $lineno, $tag = 'markdown') - { - parent::__construct(array('body' => $body), array(), $lineno, $tag); - } - - /** - * Compiles the node to PHP. - * - * @param \Twig_Compiler A Twig_Compiler instance - */ - public function compile(\Twig_Compiler $compiler) - { - $compiler - ->addDebugInfo($this) - ->write('ob_start();' . PHP_EOL) - ->subcompile($this->getNode('body')) - ->write('$content = ob_get_clean();' . PHP_EOL) - ->write('preg_match("/^\s*/", $content, $matches);' . PHP_EOL) - ->write('$lines = explode("\n", $content);' . PHP_EOL) - ->write('$content = preg_replace(\'/^\' . $matches[0]. \'/\', "", $lines);' . PHP_EOL) - ->write('$content = join("\n", $content);' . PHP_EOL) - ->write('echo $this->env->getTokenParsers()->getTokenParser(\'markdown\')->getEngine()->transform($content);' . PHP_EOL); - } -} diff --git a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/TokenParser/MarkdownTokenParser.php b/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/TokenParser/MarkdownTokenParser.php deleted file mode 100644 index 9f587f91..00000000 --- a/app/vendor/aptoma/twig-markdown/src/Aptoma/Twig/TokenParser/MarkdownTokenParser.php +++ /dev/null @@ -1,76 +0,0 @@ - - * @author Joris Berthelot - */ -class MarkdownTokenParser extends \Twig_TokenParser -{ - /** - * @var The Markdown engine - */ - protected $markdownEngine; - - /** - * @param MarkdownEngineInterface $markdownEngine The Markdown parser engine - */ - public function __construct(MarkdownEngineInterface $markdownEngine) - { - $this->markdownEngine = $markdownEngine; - } - - /** - * Markdown parser engine getter - * - * @return MarkdownEngineInterface - */ - public function getEngine() - { - return $this->markdownEngine; - } - - /** - * Parses a token and returns a node. - * - * @param \Twig_Token $token A \Twig_Token instance - * - * @throws \Twig_Error_Syntax - * @return \Twig_NodeInterface A \Twig_NodeInterface instance - */ - public function parse(\Twig_Token $token) - { - $lineno = $token->getLine(); - - $this->parser->getStream()->expect(\Twig_Token::BLOCK_END_TYPE); - $body = $this->parser->subparse(array($this, 'decideMarkdownEnd'), true); - $this->parser->getStream()->expect(\Twig_Token::BLOCK_END_TYPE); - - return new MarkdownNode($body, $lineno, $this->getTag()); - } - - /** - * Decide if current token marks end of Markdown block. - * - * @param \Twig_Token $token - * @return bool - */ - public function decideMarkdownEnd(\Twig_Token $token) - { - return $token->test('endmarkdown'); - } - - /** - * Gets the tag name associated with this token parser. - * - * @return string The tag name - */ - public function getTag() - { - return 'markdown'; - } -} diff --git a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/GithubMarkdownEngineTest.php b/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/GithubMarkdownEngineTest.php deleted file mode 100644 index 054205b7..00000000 --- a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/GithubMarkdownEngineTest.php +++ /dev/null @@ -1,31 +0,0 @@ - - */ -class GitHubMarkdownEngineTest extends MarkdownExtensionTest -{ - public function getParseMarkdownTests() - { - return array( - array('{{ "# Main Title"|markdown }}', '

Main Title

'), - array('{{ content|markdown }}', '

Main Title

', array('content' => '# Main Title')), - // Check if GFM is working - array('{{ "@aptoma"|markdown }}', - '

@aptoma

'), - ); - } - - protected function getEngine() - { - return new GitHubMarkdownEngine(); - } -} diff --git a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/PHPLeagueCommonMarkEngineTest.php b/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/PHPLeagueCommonMarkEngineTest.php deleted file mode 100644 index 806ca026..00000000 --- a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/PHPLeagueCommonMarkEngineTest.php +++ /dev/null @@ -1,23 +0,0 @@ - - */ -class PHPLeagueCommonMarkEngineTest extends MarkdownExtensionTest -{ - protected function getEngine() - { - return new PHPLeagueCommonMarkEngine(); - } -} diff --git a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/ParsedownEngineTest.php b/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/ParsedownEngineTest.php deleted file mode 100644 index 5337ca01..00000000 --- a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownEngine/ParsedownEngineTest.php +++ /dev/null @@ -1,32 +0,0 @@ - - */ -class ParsedownEngineTest extends MarkdownExtensionTest -{ - public function getParseMarkdownTests() - { - return array( - array('{{ "# Main Title"|markdown }}', '

Main Title

'), - array('{{ content|markdown }}', '

Main Title

', array('content' => '# Main Title')), - array('{% markdown %}{{ content }}{% endmarkdown %}', '

Main Title

', array('content' => '# Main Title')) - ); - } - - protected function getEngine() - { - return new ParsedownEngine(); - } -} diff --git a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownExtensionTest.php b/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownExtensionTest.php deleted file mode 100644 index b21dad10..00000000 --- a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/Extension/MarkdownExtensionTest.php +++ /dev/null @@ -1,41 +0,0 @@ - - */ -class MarkdownExtensionTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getParseMarkdownTests - */ - public function testParseMarkdown($template, $expected, $context = array()) - { - $this->assertEquals($expected, $this->getTemplate($template)->render($context)); - } - - public function getParseMarkdownTests() - { - return array( - array('{{ "# Main Title"|markdown }}', '

Main Title

' . PHP_EOL), - array('{{ content|markdown }}', '

Main Title

' . PHP_EOL, array('content' => '# Main Title')) - ); - } - - protected function getEngine() - { - return new MichelfMarkdownEngine(); - } - - protected function getTemplate($template) - { - $loader = new \Twig_Loader_Array(array('index' => $template)); - $twig = new \Twig_Environment($loader, array('debug' => true, 'cache' => false)); - $twig->addExtension(new MarkdownExtension($this->getEngine())); - - return $twig->loadTemplate('index'); - } -} diff --git a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/TokenParser/MarkdownTokenParserTest.php b/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/TokenParser/MarkdownTokenParserTest.php deleted file mode 100644 index 34c7a884..00000000 --- a/app/vendor/aptoma/twig-markdown/tests/Aptoma/Twig/TokenParser/MarkdownTokenParserTest.php +++ /dev/null @@ -1,109 +0,0 @@ - - */ -class MarkdownTokenParserTest extends \Twig_Test_NodeTestCase -{ - public function testConstructor() - { - $body = new \Twig_Node(array(new \Twig_Node_Text("#Title\n\nparagraph\n", 1))); - $node = new MarkdownNode($body, 1); - - $this->assertEquals($body, $node->getNode('body')); - } - - /** - * Test that the generated code actually do what we expect - * - * The contents of this test is the same that we write in the compile method. - * This requires manual synchronization, which we should probably not rely on. - */ - public function testMarkdownPrepareBehavior() - { - $body = " #Title\n\n paragraph\n\n code"; - $bodyPrepared = "#Title\n\nparagraph\n\n code"; - - ob_start(); - echo $body; - $content = ob_get_clean(); - preg_match("/^\s*/", $content, $matches); - $lines = explode("\n", $content); - $content = preg_replace('/^' . $matches[0]. '/', "", $lines); - $content = join("\n", $content); - - // Assert prepared content looks right - $this->assertEquals($bodyPrepared, $content); - - // Assert Markdown output - $expectedOutput = "

Title

\n\n

paragraph

\n\n
code\n
\n"; - $this->assertEquals($expectedOutput, $this->getEngine()->transform($content)); - } - - /** - * Test that the generated code looks as expected - * - * @dataProvider getTests - */ - public function testCompile($node, $source, $environment = null) - { - parent::testCompile($node, $source, $environment); - } - - protected function getEngine() - { - return new MichelfMarkdownEngine(); - } - - public function getTests() - { - $tests = array(); - - $body = new \Twig_Node(array(new \Twig_Node_Text("#Title\n\nparagraph\n", 1))); - $node = new MarkdownNode($body, 1); - - $tests['simple text'] = array($node, <<env->getTokenParsers()->getTokenParser('markdown')->getEngine()->transform(\$content); -EOF - ); - - $body = new \Twig_Node(array(new \Twig_Node_Text(" #Title\n\n paragraph\n\n code\n", 1))); - $node = new MarkdownNode($body, 1); - - $tests['text with leading indent'] = array($node, <<env->getTokenParsers()->getTokenParser('markdown')->getEngine()->transform(\$content); -EOF - ); - - return $tests; - } -} diff --git a/app/vendor/asm89/twig-cache-extension/.gitignore b/app/vendor/asm89/twig-cache-extension/.gitignore deleted file mode 100644 index 8844fdc4..00000000 --- a/app/vendor/asm89/twig-cache-extension/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -phpunit.xml -composer.lock -composer.phar -/vendor/ diff --git a/app/vendor/asm89/twig-cache-extension/.travis.yml b/app/vendor/asm89/twig-cache-extension/.travis.yml deleted file mode 100644 index c1380416..00000000 --- a/app/vendor/asm89/twig-cache-extension/.travis.yml +++ /dev/null @@ -1,44 +0,0 @@ -language: php - -matrix: - include: - - php: 5.6 - dist: xenial - env: 'COMPOSER_FLAGS="--prefer-stable --prefer-lowest" TWIG_VERSION="^1.0"' - - php: 5.6 - dist: xenial - env: TWIG_VERSION="^1.0" - - php: 7.0 - dist: xenial - env: TWIG_VERSION="^1.0" - - php: 7.1 - dist: bionic - env: TWIG_VERSION="^1.0" - - php: 7.2 - dist: bionic - env: TWIG_VERSION="^1.0" - - php: 7.3 - dist: bionic - env: TWIG_VERSION="^1.0" - - php: 7.4 - dist: bionic - env: TWIG_VERSION="^1.0" - - php: 7.0 - dist: xenial - env: TWIG_VERSION="^2.0" - - php: 7.1 - dist: bionic - env: TWIG_VERSION="^2.0" - - php: 7.2 - dist: bionic - env: TWIG_VERSION="^2.0" - - php: 7.3 - dist: bionic - env: TWIG_VERSION="^2.0" - - php: 7.4 - dist: bionic - env: TWIG_VERSION="^2.0" - -install: composer require twig/twig:${TWIG_VERSION} - -script: composer test diff --git a/app/vendor/asm89/twig-cache-extension/LICENSE b/app/vendor/asm89/twig-cache-extension/LICENSE deleted file mode 100644 index 6e6b0885..00000000 --- a/app/vendor/asm89/twig-cache-extension/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2013 Alexander - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/app/vendor/asm89/twig-cache-extension/README.md b/app/vendor/asm89/twig-cache-extension/README.md deleted file mode 100644 index 38c08878..00000000 --- a/app/vendor/asm89/twig-cache-extension/README.md +++ /dev/null @@ -1,238 +0,0 @@ -Twig cache extension -==================== - -The missing cache extension for Twig. The extension allows for caching rendered parts of -templates using several cache strategies. - -[![Build Status](https://secure.travis-ci.org/asm89/twig-cache-extension.png?branch=master)](http://travis-ci.org/asm89/twig-cache-extension) - -## Installation - -The extension is installable via composer: - -```json -{ - "require": { - "asm89/twig-cache-extension": "~1.0" - } -} -``` - -## Quick start - -### Setup - -A minimal setup for adding the extension with the `LifeTimeCacheStrategy` and -doctrine array cache is as following: - -```php -addExtension($cacheExtension); -``` - -### Want to use a PSR-6 cache pool? - -Instead of using the default `DoctrineCacheAdapter` the extension also has -a `PSR-6` compatible adapter. You need to instantiate one of the cache pool -implementations as can be found on: http://php-cache.readthedocs.io/en/latest/ - -Example: Making use of the `ApcuCachePool` via the `PsrCacheAdapter`: - -```bash -composer require cache/apcu-adapter -``` - -```php -addExtension($cacheExtension); -``` - -### Usage - -To cache a part of a template in Twig surround the code with a `cache` block. -The cache block takes two parameters, first an "annotation" part, second the -"value" the cache strategy can work with. Example: - -```jinja -{% cache 'v1/summary' 900 %} - {# heavy lifting template stuff here, include/render other partials etc #} -{% endcache %} -``` - -Cache blocks can be nested: - -```jinja -{% cache 'v1' 900 %} - {% for item in items %} - {% cache 'v1' item %} - {# ... #} - {% endcache %} - {% endfor %} -{% endcache %} -``` - -The annotation can also be an expression: - -```jinja -{% set version = 42 %} -{% cache 'hello_v' ~ version 900 %} - Hello {{ name }}! -{% endcache %} -``` - -## Cache strategies - -The extension ships with a few cache strategies out of the box. Setup and usage -of all of them is described below. - -### Lifetime - -See the ["Quick start"](#quick-start) for usage information of the `LifetimeCacheStrategy`. - -### Generational - -Strategy for generational caching. - -In theory the strategy only saves fragments to the cache with infinite -lifetime. The key of the strategy lies in the fact that the keys for blocks -will change as the value for which the key is generated changes. - -For example: entities containing a last update time, would include a timestamp -in the key. For an interesting blog post about this type of caching see: -http://37signals.com/svn/posts/3113-how-key-based-cache-expiration-works - -### Blackhole - -Strategy for development mode. - -In development mode it often not very useful to cache fragments. The blackhole -strategy provides an easy way to not cache anything it all. It always generates -a new key and does not fetch or save any fragments. - -#### Setup - -In order to use the strategy you need to setup a `KeyGenerator` class that is -able to generate a cache key for a given value. - -The following naive example always assumes the value is an object with the methods -`getId()` and `getUpdatedAt()` method. The key then composed from the class -name, the id and the updated time of the object: - -```php -getId() . '_' . $value->getUpdatedAt(); - } - -} -``` - -Next the `GenerationalCacheStrategy` needs to be setup with the keygenerator. - -```php -addExtension($cacheExtension); -``` - -#### Usage - -The strategy expects an object as value for determining the cache key of the -block: - -```jinja -{% cache 'v1/summary' item %} - {# heavy lifting template stuff here, include/render other partials etc #} -{% endcache %} -``` - -### Using multiple strategies - -Different cache strategies are useful for different usecases. It is possible to -mix multiple strategies in an application with the -`IndexedChainingCacheStrategy`. The strategy takes an array of `'name' => -$strategy` and delegates the caching to the appropriate strategy. - -#### Setup - -```php - $lifetimeCacheStrategy, - 'gen' => $generationalCacheStrategy, -)); -$cacheExtension = new CacheExtension($cacheStrategy); - -$twig->addExtension($cacheExtension); -``` - -#### Usage - -The strategy expects an array with as key the name of the strategy which it -needs to delegate to and as value the appropriate value for the delegated -strategy. - -```jinja -{# delegate to lifetime strategy #} -{% cache 'v1/summary' {time: 300} %} - {# heavy lifting template stuff here, include/render other partials etc #} -{% endcache %} - -{# delegate to generational strategy #} -{% cache 'v1/summary' {gen: item} %} - {# heavy lifting template stuff here, include/render other partials etc #} -{% endcache %} -``` - -## Implementing a cache strategy - -Creating separate caches for different access levels, languages or other -usecases can be done by implementing a custom cache strategy. In order to do so -implement the `CacheProviderInterface`. It is recommended to use composition -and wrap a custom strategy around an existing one. - -## Authors - -Alexander - -## License - -twig-cache-extension is licensed under the MIT License - see the LICENSE file for details diff --git a/app/vendor/asm89/twig-cache-extension/composer.json b/app/vendor/asm89/twig-cache-extension/composer.json deleted file mode 100644 index 176befbf..00000000 --- a/app/vendor/asm89/twig-cache-extension/composer.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "asm89/twig-cache-extension", - "description": "Cache fragments of templates directly within Twig.", - "keywords": ["twig", "cache", "extension"], - "homepage": "https://github.com/asm89/twig-cache-extension", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Alexander", - "email": "iam.asm89@gmail.com" - } - ], - "require": { - "php": ">=5.3.2", - "twig/twig": "^1.0|^2.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.0 || ^4.8.10", - "doctrine/cache": "~1.0" - }, - "scripts": { - "test": "phpunit" - }, - "suggest": { - "psr/cache-implementation": "To make use of PSR-6 cache implementation via PsrCacheAdapter." - }, - "autoload": { - "psr-4": { - "": "lib/" - } - }, - "autoload-dev": { - "psr-4": { - "": "test/" - } - }, - "extra": { - "branch-alias": { - "dev-master": "1.4-dev" - } - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProvider/DoctrineCacheAdapter.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProvider/DoctrineCacheAdapter.php deleted file mode 100644 index bb627fa4..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProvider/DoctrineCacheAdapter.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\CacheProvider; - -use Asm89\Twig\CacheExtension\CacheProviderInterface; -use Doctrine\Common\Cache\Cache; - -/** - * Adapter class to use the cache classes provider by Doctrine. - * - * @author Alexander - */ -class DoctrineCacheAdapter implements CacheProviderInterface -{ - private $cache; - - /** - * @param Cache $cache - */ - public function __construct(Cache $cache) - { - $this->cache = $cache; - } - - /** - * {@inheritDoc} - */ - public function fetch($key) - { - return $this->cache->fetch($key); - } - - /** - * {@inheritDoc} - */ - public function save($key, $value, $lifetime = 0) - { - return $this->cache->save($key, $value, $lifetime); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProvider/PsrCacheAdapter.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProvider/PsrCacheAdapter.php deleted file mode 100644 index 3a525bc2..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProvider/PsrCacheAdapter.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\CacheProvider; - -use Asm89\Twig\CacheExtension\CacheProviderInterface; -use Psr\Cache\CacheItemPoolInterface; - -/** - * Adapter class to make extension interoperable with every PSR-6 adapter. - * - * @see http://php-cache.readthedocs.io/ - * - * @author Rvanlaak - */ -class PsrCacheAdapter implements CacheProviderInterface -{ - /** - * @var CacheItemPoolInterface - */ - private $cache; - - /** - * @param CacheItemPoolInterface $cache - */ - public function __construct(CacheItemPoolInterface $cache) - { - $this->cache = $cache; - } - - /** - * @param string $key - * @return mixed|false - */ - public function fetch($key) - { - // PSR-6 implementation returns null, CacheProviderInterface expects false - $item = $this->cache->getItem($key); - if ($item->isHit()) { - return $item->get(); - } - return false; - } - - /** - * @param string $key - * @param string $value - * @param int|\DateInterval $lifetime - * @return bool - */ - public function save($key, $value, $lifetime = 0) - { - $item = $this->cache->getItem($key); - $item->set($value); - $item->expiresAfter($lifetime); - - return $this->cache->save($item); - } - -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProviderInterface.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProviderInterface.php deleted file mode 100644 index 7a0a5604..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheProviderInterface.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension; - -/** - * Cache provider interface. - * - * @author Alexander - */ -interface CacheProviderInterface -{ - /** - * @param string $key - * - * @return mixed False, if there was no value to be fetched. Null or a string otherwise. - */ - public function fetch($key); - - /** - * @param string $key - * @param string $value - * @param integer $lifetime - * - * @return boolean - */ - public function save($key, $value, $lifetime = 0); -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/BlackholeCacheStrategy.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/BlackholeCacheStrategy.php deleted file mode 100644 index fcc9445f..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/BlackholeCacheStrategy.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\CacheStrategy; - -use Asm89\Twig\CacheExtension\CacheStrategyInterface; - -/** - * CacheStrategy which doesn't cache at all - * - * This strategy can be used in development mode, e.g. editing twig templates, - * to prevent previously cached versions from being rendered. - * - * @see https://github.com/asm89/twig-cache-extension/pull/29 - * - * @author Hagen Hübel - * - * @package Asm89\Twig\CacheExtension\CacheStrategy - */ -class BlackholeCacheStrategy implements CacheStrategyInterface -{ - /** - * {@inheritDoc} - */ - public function fetchBlock($key) - { - return false; - } - - /** - * {@inheritDoc} - */ - public function generateKey($annotation, $value) - { - return microtime(true) . mt_rand(); - } - - /** - * {@inheritDoc} - */ - public function saveBlock($key, $block) - { - // fire and forget - } -} \ No newline at end of file diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/GenerationalCacheStrategy.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/GenerationalCacheStrategy.php deleted file mode 100644 index a67ea78b..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/GenerationalCacheStrategy.php +++ /dev/null @@ -1,79 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\CacheStrategy; - -use Asm89\Twig\CacheExtension\CacheProviderInterface; -use Asm89\Twig\CacheExtension\CacheStrategyInterface; -use Asm89\Twig\CacheExtension\Exception\InvalidCacheKeyException; - -/** - * Strategy for generational caching. - * - * In theory the strategy only saves fragments to the cache with infinite - * lifetime. The key of the strategy lies in the fact that the keys for blocks - * will change as the value for which the key is generated changes. - * - * For example: entities containing a last update time, would include a - * timestamp in the key. - * - * @see http://37signals.com/svn/posts/3113-how-key-based-cache-expiration-works - * - * @author Alexander - */ -class GenerationalCacheStrategy implements CacheStrategyInterface -{ - private $keyGenerator; - private $cache; - private $lifetime; - - /** - * @param CacheProviderInterface $cache - * @param KeyGeneratorInterface $keyGenerator - * @param integer $lifetime - */ - public function __construct(CacheProviderInterface $cache, KeyGeneratorInterface $keyGenerator, $lifetime = 0) - { - $this->keyGenerator = $keyGenerator; - $this->cache = $cache; - $this->lifetime = $lifetime; - } - - /** - * {@inheritDoc} - */ - public function fetchBlock($key) - { - return $this->cache->fetch($key); - } - - /** - * {@inheritDoc} - */ - public function generateKey($annotation, $value) - { - $key = $this->keyGenerator->generateKey($value); - - if (null === $key) { - throw new InvalidCacheKeyException(); - } - - return $annotation . '__GCS__' . $key; - } - - /** - * {@inheritDoc} - */ - public function saveBlock($key, $block) - { - return $this->cache->save($key, $block, $this->lifetime); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/IndexedChainingCacheStrategy.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/IndexedChainingCacheStrategy.php deleted file mode 100644 index 7305f04c..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/IndexedChainingCacheStrategy.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\CacheStrategy; - -use Asm89\Twig\CacheExtension\CacheStrategyInterface; -use Asm89\Twig\CacheExtension\Exception\NonExistingStrategyException; -use Asm89\Twig\CacheExtension\Exception\NonExistingStrategyKeyException; - -/** - * Combines several configured cache strategies. - * - * Useful for combining for example generational cache strategy with a lifetime - * cache strategy, but also useful when combining several generational cache - * strategies which differ on cache lifetime (infinite, 1hr, 5m). - * - * @author Alexander - */ -class IndexedChainingCacheStrategy implements CacheStrategyInterface -{ - /** - * @var CacheStrategyInterface[] - */ - private $strategies; - - /** - * @param array $strategies - */ - public function __construct(array $strategies) - { - $this->strategies = $strategies; - } - - /** - * {@inheritDoc} - */ - public function fetchBlock($key) - { - return $this->strategies[$key['strategyKey']]->fetchBlock($key['key']); - } - - /** - * {@inheritDoc} - */ - public function generateKey($annotation, $value) - { - if (!is_array($value) || null === $strategyKey = key($value)) { - throw new NonExistingStrategyKeyException(); - } - - if (!isset($this->strategies[$strategyKey])) { - throw new NonExistingStrategyException($strategyKey); - } - - return array( - 'strategyKey' => $strategyKey, - 'key' => $this->strategies[$strategyKey]->generateKey($annotation, current($value)), - ); - } - - /** - * {@inheritDoc} - */ - public function saveBlock($key, $block) - { - return $this->strategies[$key['strategyKey']]->saveBlock($key['key'], $block); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/KeyGeneratorInterface.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/KeyGeneratorInterface.php deleted file mode 100644 index ed982108..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/KeyGeneratorInterface.php +++ /dev/null @@ -1,29 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\CacheStrategy; - -/** - * Generates a key for a given value. - * - * @author Alexander - */ -interface KeyGeneratorInterface -{ - /** - * Generate a cache key for a given value. - * - * @param mixed $value - * - * @return string - */ - public function generateKey($value); -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/LifetimeCacheStrategy.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/LifetimeCacheStrategy.php deleted file mode 100644 index cb835160..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategy/LifetimeCacheStrategy.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\CacheStrategy; - -use Asm89\Twig\CacheExtension\CacheProviderInterface; -use Asm89\Twig\CacheExtension\CacheStrategyInterface; -use Asm89\Twig\CacheExtension\Exception\InvalidCacheLifetimeException; - -/** - * Strategy for caching with a pre-defined lifetime. - * - * The value passed to the strategy is the lifetime of the cache block in - * seconds. - * - * @author Alexander - */ -class LifetimeCacheStrategy implements CacheStrategyInterface -{ - private $cache; - - /** - * @param CacheProviderInterface $cache - */ - public function __construct(CacheProviderInterface $cache) - { - $this->cache = $cache; - } - - /** - * {@inheritDoc} - */ - public function fetchBlock($key) - { - return $this->cache->fetch($key['key']); - } - - /** - * {@inheritDoc} - */ - public function generateKey($annotation, $value) - { - if (!is_numeric($value)) { - throw new InvalidCacheLifetimeException($value); - } - - return array( - 'lifetime' => $value, - 'key' => '__LCS__' . $annotation, - ); - } - - /** - * {@inheritDoc} - */ - public function saveBlock($key, $block) - { - return $this->cache->save($key['key'], $block, $key['lifetime']); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategyInterface.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategyInterface.php deleted file mode 100644 index 4a6e580a..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/CacheStrategyInterface.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension; - -/** - * Cache strategy interface. - * - * @author Alexander - */ -interface CacheStrategyInterface -{ - /** - * Fetch the block for a given key. - * - * @param mixed $key - * - * @return mixed - */ - public function fetchBlock($key); - - /** - * Generate a key for the value. - * - * @param string $annotation - * @param mixed $value - * - * @return mixed - */ - public function generateKey($annotation, $value); - - /** - * Save the contents of a rendered block. - * - * @param mixed $key - * @param string $block - * - * @return mixed - */ - public function saveBlock($key, $block); -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/BaseException.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/BaseException.php deleted file mode 100644 index 470b1612..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/BaseException.php +++ /dev/null @@ -1,20 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Exception; - -/** - * @todo Replace \RuntimeException with \InvalidArgumentException at version 2.0 - */ -class BaseException extends \RuntimeException -{ - -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/InvalidCacheKeyException.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/InvalidCacheKeyException.php deleted file mode 100644 index 33275591..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/InvalidCacheKeyException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Exception; - -class InvalidCacheKeyException extends BaseException -{ - /** - * {@inheritdoc} - */ - public function __construct($message = 'Key generator did not return a key.', $code = 0, \Exception $previous = null) - { - parent::__construct($message, $code, $previous); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/InvalidCacheLifetimeException.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/InvalidCacheLifetimeException.php deleted file mode 100644 index e7803552..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/InvalidCacheLifetimeException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Exception; - -class InvalidCacheLifetimeException extends BaseException -{ - /** - * {@inheritdoc} - */ - public function __construct($lifetime, $code = 0, \Exception $previous = null) - { - parent::__construct(sprintf('Value "%s" is not a valid lifetime.', gettype($lifetime)), $code, $previous); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/NonExistingStrategyException.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/NonExistingStrategyException.php deleted file mode 100644 index c4ea6f67..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/NonExistingStrategyException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Exception; - -class NonExistingStrategyException extends BaseException -{ - /** - * {@inheritdoc} - */ - public function __construct($strategyKey, $code = 0, \Exception $previous = null) - { - parent::__construct(sprintf('No strategy configured with key "%s".', $strategyKey), $code, $previous); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/NonExistingStrategyKeyException.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/NonExistingStrategyKeyException.php deleted file mode 100644 index eef30a7a..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Exception/NonExistingStrategyKeyException.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Exception; - -class NonExistingStrategyKeyException extends BaseException -{ - /** - * {@inheritdoc} - */ - public function __construct($message = 'No strategy key found in value.', $code = 0, \Exception $previous = null) - { - parent::__construct($message, $code, $previous); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Extension.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Extension.php deleted file mode 100644 index b7c653b3..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Extension.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension; - -/** - * Extension for caching template blocks with twig. - * - * @author Alexander - */ -class Extension extends \Twig_Extension -{ - private $cacheStrategy; - - /** - * @param CacheStrategyInterface $cacheStrategy - */ - public function __construct(CacheStrategyInterface $cacheStrategy) - { - $this->cacheStrategy = $cacheStrategy; - } - - /** - * @return CacheStrategyInterface - */ - public function getCacheStrategy() - { - return $this->cacheStrategy; - } - - /** - * {@inheritDoc} - */ - public function getName() - { - if (version_compare(\Twig_Environment::VERSION, '1.26.0', '>=')) { - return __CLASS__; - } - return 'asm89_cache'; - } - - /** - * {@inheritDoc} - */ - public function getTokenParsers() - { - return array( - new TokenParser\Cache(), - ); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Node/CacheNode.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Node/CacheNode.php deleted file mode 100644 index 25972890..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/Node/CacheNode.php +++ /dev/null @@ -1,71 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Node; - -/** - * Cache twig node. - * - * @author Alexander - */ -class CacheNode extends \Twig_Node -{ - private static $cacheCount = 1; - - /** - * @param \Twig_Node_Expression $annotation - * @param \Twig_Node_Expression $keyInfo - * @param \Twig_NodeInterface $body - * @param integer $lineno - * @param string $tag - */ - public function __construct(\Twig_Node_Expression $annotation, \Twig_Node_Expression $keyInfo, \Twig_Node $body, $lineno, $tag = null) - { - parent::__construct(array('key_info' => $keyInfo, 'body' => $body, 'annotation' => $annotation), array(), $lineno, $tag); - } - - /** - * {@inheritDoc} - */ - public function compile(\Twig_Compiler $compiler) - { - $i = self::$cacheCount++; - - if (version_compare(\Twig_Environment::VERSION, '1.26.0', '>=')) { - $extension = 'Asm89\Twig\CacheExtension\Extension'; - } else { - $extension = 'asm89_cache'; - } - - $compiler - ->addDebugInfo($this) - ->write("\$asm89CacheStrategy".$i." = \$this->env->getExtension('{$extension}')->getCacheStrategy();\n") - ->write("\$asm89Key".$i." = \$asm89CacheStrategy".$i."->generateKey(") - ->subcompile($this->getNode('annotation')) - ->raw(", ") - ->subcompile($this->getNode('key_info')) - ->write(");\n") - ->write("\$asm89CacheBody".$i." = \$asm89CacheStrategy".$i."->fetchBlock(\$asm89Key".$i.");\n") - ->write("if (\$asm89CacheBody".$i." === false) {\n") - ->indent() - ->write("ob_start();\n") - ->indent() - ->subcompile($this->getNode('body')) - ->outdent() - ->write("\n") - ->write("\$asm89CacheBody".$i." = ob_get_clean();\n") - ->write("\$asm89CacheStrategy".$i."->saveBlock(\$asm89Key".$i.", \$asm89CacheBody".$i.");\n") - ->outdent() - ->write("}\n") - ->write("echo \$asm89CacheBody".$i.";\n") - ; - } -} diff --git a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/TokenParser/Cache.php b/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/TokenParser/Cache.php deleted file mode 100644 index 3d45a661..00000000 --- a/app/vendor/asm89/twig-cache-extension/lib/Asm89/Twig/CacheExtension/TokenParser/Cache.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\TokenParser; - -use Asm89\Twig\CacheExtension\Node\CacheNode; - -/** - * Parser for cache/endcache blocks. - * - * @author Alexander - */ -class Cache extends \Twig_TokenParser -{ - /** - * @param \Twig_Token $token - * - * @return boolean - */ - public function decideCacheEnd(\Twig_Token $token) - { - return $token->test('endcache'); - } - - /** - * {@inheritDoc} - */ - public function getTag() - { - return 'cache'; - } - - /** - * {@inheritDoc} - */ - public function parse(\Twig_Token $token) - { - $lineno = $token->getLine(); - $stream = $this->parser->getStream(); - - $annotation = $this->parser->getExpressionParser()->parseExpression(); - - $key = $this->parser->getExpressionParser()->parseExpression(); - - $stream->expect(\Twig_Token::BLOCK_END_TYPE); - $body = $this->parser->subparse(array($this, 'decideCacheEnd'), true); - $stream->expect(\Twig_Token::BLOCK_END_TYPE); - - return new CacheNode($annotation, $key, $body, $lineno, $this->getTag()); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/phpunit.xml.dist b/app/vendor/asm89/twig-cache-extension/phpunit.xml.dist deleted file mode 100644 index 888e3058..00000000 --- a/app/vendor/asm89/twig-cache-extension/phpunit.xml.dist +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - ./test/Asm89/ - - - - - - ./lib/ - - - diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheProvider/DoctrineCacheAdapterTest.php b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheProvider/DoctrineCacheAdapterTest.php deleted file mode 100644 index bea9851a..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheProvider/DoctrineCacheAdapterTest.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Tests\CacheProvider; - -use Asm89\Twig\CacheExtension\CacheProvider\DoctrineCacheAdapter; - -class DoctrineCacheAdapterTest extends \PHPUnit_Framework_TestCase -{ - public function testFetch() - { - $cacheMock = $this->createCacheMock(); - $cacheMock->expects($this->any()) - ->method('fetch') - ->will($this->returnValue('fromcache')); - - $cache = new DoctrineCacheAdapter($cacheMock); - - $this->assertEquals('fromcache', $cache->fetch('test')); - } - - public function testSave() - { - $cacheMock = $this->createCacheMock(); - $cacheMock->expects($this->once()) - ->method('save') - ->with('key', 'value', 42); - - $cache = new DoctrineCacheAdapter($cacheMock); - - $cache->save('key', 'value', 42); - } - - public function createCacheMock() - { - return $this->createMock('Doctrine\Common\Cache\Cache'); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/GenerationCacheStrategyTest.php b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/GenerationCacheStrategyTest.php deleted file mode 100644 index d74ecdee..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/GenerationCacheStrategyTest.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Tests\CacheStrategy; - -use Asm89\Twig\CacheExtension\CacheStrategy\GenerationalCacheStrategy; - -class GenerationalCacheStrategyTest extends \PHPUnit_Framework_TestCase -{ - private $keyGeneratorMock; - private $cacheProviderMock; - - public function createCacheStrategy($lifetime = 0) - { - $this->keyGeneratorMock = $this->createKeyGeneratorMock(); - $this->cacheProviderMock = $this->createCacheProviderMock(); - - return new GenerationalCacheStrategy($this->cacheProviderMock, $this->keyGeneratorMock, $lifetime); - } - - public function testGenerateKeyContainsAnnotation() - { - $strategy = $this->createCacheStrategy(); - $this->keyGeneratorMock->expects($this->any()) - ->method('generateKey') - ->will($this->returnValue('foo')); - - $this->assertEquals('v42__GCS__foo', $strategy->generateKey('v42', 'value')); - } - - /** - * @expectedException \Asm89\Twig\CacheExtension\Exception\InvalidCacheKeyException - */ - public function testGenerationKeyThrowsExceptionWhenKeyGeneratorReturnsNull() - { - $strategy = $this->createCacheStrategy(); - - $strategy->generateKey('v42', 'value'); - } - - /** - * @dataProvider getLifeTimes - */ - public function testSaveBlockUsesConfiguredLifetime($lifetime) - { - $strategy = $this->createCacheStrategy($lifetime); - $this->cacheProviderMock->expects($this->any()) - ->method('save') - ->with('key', 'value', $lifetime) - ->will($this->returnValue('foo')); - - $strategy->saveBlock('key', 'value'); - } - - public function getLifetimes() - { - return array( - array(0), - array(60), - ); - } - - public function createKeyGeneratorMock() - { - return $this->createMock('Asm89\Twig\CacheExtension\CacheStrategy\KeyGeneratorInterface'); - } - - public function createCacheProviderMock() - { - return $this->createMock('Asm89\Twig\CacheExtension\CacheProviderInterface'); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/IndexedChainingCacheStrategyTest.php b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/IndexedChainingCacheStrategyTest.php deleted file mode 100644 index 480a0b1a..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/IndexedChainingCacheStrategyTest.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Tests\CacheStrategy; - -use Asm89\Twig\CacheExtension\CacheStrategy\IndexedChainingCacheStrategy; - -class IndexedChainingCacheStrategyTest extends \PHPUnit_Framework_TestCase -{ - private $cacheStrategyMocks = array(); - - public function createCacheStrategy() - { - foreach($this->getStrategies() as $config) { - list($key, $return) = $config; - - $cacheStrategyMock = $this->createCacheStrategyMock(); - $cacheStrategyMock->expects($this->any()) - ->method('generateKey') - ->will($this->returnValue($return)); - - $this->cacheStrategyMocks[$key] = $cacheStrategyMock; - } - - return new IndexedChainingCacheStrategy($this->cacheStrategyMocks); - } - - /** - * @dataProvider getStrategies - */ - public function testGenerateKeyProxiesToAppropriateStrategy($key, $return) - { - $strategy = $this->createCacheStrategy(); - - $generatedKey = $strategy->generateKey('v42', array($key => 'proxied_value')); - - $this->assertEquals($return, $generatedKey['key']); - $this->assertEquals($key, $generatedKey['strategyKey']); - } - - /** - * @expectedException \Asm89\Twig\CacheExtension\Exception\NonExistingStrategyKeyException - */ - public function testGenerateKeyThrowsExceptionOnMissingKey() - { - $strategy = $this->createCacheStrategy(); - $strategy->generateKey('v42', 'proxied_value'); - } - - /** - * @expectedException \Asm89\Twig\CacheExtension\Exception\NonExistingStrategyException - * @expectedExceptionMessage No strategy configured with key "unknown" - */ - public function testGenerateKeyThrowsExceptionOnUnknownKey() - { - $strategy = $this->createCacheStrategy(); - $strategy->generateKey('v42', array('unknown' => 'proxied_value')); - } - - public function getStrategies() - { - return array( - array('foo', 'foo_key'), - array('bar', 'bar_key'), - ); - } - - public function createCacheStrategyMock() - { - return $this->createMock('Asm89\Twig\CacheExtension\CacheStrategyInterface'); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/LifetimeCacheStrategyTest.php b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/LifetimeCacheStrategyTest.php deleted file mode 100644 index 10d1a868..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/CacheStrategy/LifetimeCacheStrategyTest.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Tests\CacheStrategy; - -use Asm89\Twig\CacheExtension\CacheStrategy\LifetimeCacheStrategy; - -class LifetimeCacheStrategyTest extends \PHPUnit_Framework_TestCase -{ - private $cacheProviderMock; - - public function createCacheStrategy() - { - $this->cacheProviderMock = $this->createCacheProviderMock(); - - return new LifetimeCacheStrategy($this->cacheProviderMock); - } - - public function testGenerateKeyUsesGivenLifetime() - { - $strategy = $this->createCacheStrategy(); - - $key = $strategy->generateKey('v42', 42); - - $this->assertEquals(42, $key['lifetime']); - } - - public function testGenerateKeyAnnotatesKey() - { - $strategy = $this->createCacheStrategy(); - - $key = $strategy->generateKey('the_annotation', 42); - - $this->assertContains('the_annotation', $key['key']); - } - - /** - * @dataProvider getInvalidLifetimeValues - * @expectedException \Asm89\Twig\CacheExtension\Exception\InvalidCacheLifetimeException - */ - public function testGenerateKeyThrowsExceptionWhenNoLifetimeProvided($value) - { - $strategy = $this->createCacheStrategy(); - - $strategy->generateKey('v42', $value); - } - - public function getInvalidLifetimeValues() - { - return array( - array('foo'), - array(array('foo')), - ); - } - - public function createCacheProviderMock() - { - return $this->createMock('Asm89\Twig\CacheExtension\CacheProviderInterface'); - } -} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/FunctionalExtensionTest.php b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/FunctionalExtensionTest.php deleted file mode 100644 index 77a58e65..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/FunctionalExtensionTest.php +++ /dev/null @@ -1,182 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Asm89\Twig\CacheExtension\Tests; - -use Asm89\Twig\CacheExtension\CacheProvider\DoctrineCacheAdapter; -use Asm89\Twig\CacheExtension\CacheStrategy\KeyGeneratorInterface; -use Asm89\Twig\CacheExtension\CacheStrategy\GenerationalCacheStrategy; -use Asm89\Twig\CacheExtension\CacheStrategy\IndexedChainingCacheStrategy; -use Asm89\Twig\CacheExtension\CacheStrategy\LifetimeCacheStrategy; -use Asm89\Twig\CacheExtension\Extension; -use Doctrine\Common\Cache\ArrayCache; -use Twig_Loader_Filesystem; -use Twig_Environment; - -class FunctionalExtensionTest extends \PHPUnit_Framework_TestCase -{ - private $cache; - - protected function createCacheProvider() - { - $this->cache = new ArrayCache(); - - return new DoctrineCacheAdapter($this->cache); - } - - protected function createCacheStrategy($name = null) - { - $cacheProvider = $this->createCacheProvider(); - $keyGenerator = $this->createKeyGenerator(); - $lifetime = 0; - - switch ($name) { - case 'time': - return new LifetimeCacheStrategy($cacheProvider); - case 'indexed': - return new IndexedChainingCacheStrategy(array( - 'gcs' => new GenerationalCacheStrategy($cacheProvider, $keyGenerator, $lifetime), - 'time' => new LifetimeCacheStrategy($cacheProvider), - )); - default: - return new GenerationalCacheStrategy($cacheProvider, $keyGenerator, $lifetime); - } - } - - protected function createKeyGenerator() - { - return new KeyGenerator(); - } - - protected function createTwig($cacheStrategyName = null) - { - $loader = new Twig_Loader_Filesystem(__DIR__ . '/fixtures/'); - $twig = new Twig_Environment($loader); - - $cacheExtension = new Extension($this->createCacheStrategy($cacheStrategyName)); - - $twig->addExtension($cacheExtension); - - return $twig; - } - - protected function getValue($value, $updatedAt) - { - return new Value($value, $updatedAt); - } - - public function testCachesWithSameCacheKey() - { - $twig = $this->createTwig(); - - $rendered = $twig->render('gcs_value.twig', array('value' => $this->getValue('asm89', 1))); - $this->assertEquals('Hello asm89!', $rendered); - - $rendered2 = $twig->render('gcs_value.twig', array('value' => $this->getValue('fabpot', 1))); - $this->assertEquals('Hello asm89!', $rendered2); - } - - public function testDifferentCacheOnDifferentAnnotation() - { - $twig = $this->createTwig(); - - $rendered = $twig->render('gcs_value.twig', array('value' => $this->getValue('asm89', 1))); - $this->assertEquals('Hello asm89!', $rendered); - - $rendered2 = $twig->render('gcs_value.twig', array('value' => $this->getValue('fabpot', 1))); - $this->assertEquals('Hello asm89!', $rendered2); - - $rendered3 = $twig->render('gcs_value_v2.twig', array('value' => $this->getValue('fabpot', 1))); - $this->assertEquals('Hello fabpot!', $rendered3); - } - - public function testLifetimeCacheStrategy() - { - $twig = $this->createTwig('time'); - - $rendered = $twig->render('lcs_value.twig', array('value' => $this->getValue('asm89', 1))); - $this->assertEquals('Hello asm89!', $rendered); - - $rendered2 = $twig->render('lcs_value.twig', array('value' => $this->getValue('fabpot', 1))); - $this->assertEquals('Hello asm89!', $rendered2); - - $this->cache->flushAll(); - - $rendered3 = $twig->render('lcs_value.twig', array('value' => $this->getValue('fabpot', 1))); - $this->assertEquals('Hello fabpot!', $rendered3); - } - - public function testIndexedChainingStrategy() - { - $twig = $this->createTwig('indexed'); - - $rendered = $twig->render('ics_value.twig', array('value' => $this->getValue('asm89', 1))); - $this->assertEquals('Hello asm89!', $rendered); - - $rendered2 = $twig->render('ics_value.twig', array('value' => $this->getValue('fabpot', 1))); - $this->assertEquals('Hello asm89!', $rendered2); - - $this->cache->flushAll(); - - $rendered3 = $twig->render('ics_value.twig', array('value' => $this->getValue('fabpot', 1))); - $this->assertEquals('Hello fabpot!', $rendered3); - } - - /** - * @expectedException Twig_Error_Runtime - * @expectedExceptionMessage An exception has been thrown during the rendering of a template ("No strategy key found in value.") - */ - public function testIndexedChainingStrategyNeedsKey() - { - $twig = $this->createTwig('indexed'); - - $twig->render('ics_no_key.twig', array('value' => $this->getValue('asm89', 1))); - } - - public function testAnnotationExpression() - { - $twig = $this->createTwig('indexed'); - - $rendered = $twig->render('annotation_expression.twig', array('value' => $this->getValue('asm89', 1), 'version' => 1)); - $this->assertEquals('Hello asm89!Hello asm89!', $rendered); - } -} - -class KeyGenerator implements KeyGeneratorInterface -{ - public function generateKey($value) - { - return get_class($value) . '_' . $value->getUpdatedAt(); - } - -} - -class Value -{ - private $value; - private $updatedAt; - - public function __construct($value, $updatedAt) - { - $this->value = $value; - $this->updatedAt = $updatedAt; - } - - public function getUpdatedAt() - { - return $this->updatedAt; - } - - public function __toString() - { - return $this->value; - } -} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/annotation_expression.twig b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/annotation_expression.twig deleted file mode 100644 index 8f4587b7..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/annotation_expression.twig +++ /dev/null @@ -1,3 +0,0 @@ -{%- set k = "v'" ~ version -%} -{%- cache k {time: 10} -%}Hello {{ value }}!{%- endcache -%} -{%- cache 'bob'|capitalize {gcs: value} %}Hello {{ value }}!{%- endcache -%} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/annotation_not_string.twig b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/annotation_not_string.twig deleted file mode 100644 index d962dedc..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/annotation_not_string.twig +++ /dev/null @@ -1,2 +0,0 @@ -{% set annotation = 'v1' %} -{% cache annotation value %}Hello {{ value }}!{% endcache %} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/gcs_value.twig b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/gcs_value.twig deleted file mode 100644 index 59a39bf2..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/gcs_value.twig +++ /dev/null @@ -1 +0,0 @@ -{% cache 'v1' value %}Hello {{ value }}!{% endcache %} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/gcs_value_v2.twig b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/gcs_value_v2.twig deleted file mode 100644 index e7281174..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/gcs_value_v2.twig +++ /dev/null @@ -1 +0,0 @@ -{% cache 'v2' value %}Hello {{ value }}!{% endcache %} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/ics_no_key.twig b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/ics_no_key.twig deleted file mode 100644 index 12b924b0..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/ics_no_key.twig +++ /dev/null @@ -1 +0,0 @@ -{% cache 'v1' 10 %}Hello {{ value }}!{% endcache %} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/ics_value.twig b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/ics_value.twig deleted file mode 100644 index efc52ea6..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/ics_value.twig +++ /dev/null @@ -1 +0,0 @@ -{% cache 'v1' {time: 10} %}Hello {{ value }}!{% endcache %} diff --git a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/lcs_value.twig b/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/lcs_value.twig deleted file mode 100644 index 12b924b0..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/Asm89/Twig/CacheExtension/Tests/fixtures/lcs_value.twig +++ /dev/null @@ -1 +0,0 @@ -{% cache 'v1' 10 %}Hello {{ value }}!{% endcache %} diff --git a/app/vendor/asm89/twig-cache-extension/test/bootstrap.php b/app/vendor/asm89/twig-cache-extension/test/bootstrap.php deleted file mode 100644 index d4567192..00000000 --- a/app/vendor/asm89/twig-cache-extension/test/bootstrap.php +++ /dev/null @@ -1,16 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -if (file_exists($file = __DIR__.'/../vendor/autoload.php')) { - $autoload = require_once $file; -} else { - throw new RuntimeException('Install dependencies to run test suite.'); -} diff --git a/app/vendor/bin/phpstan b/app/vendor/bin/phpstan new file mode 120000 index 00000000..959384f7 --- /dev/null +++ b/app/vendor/bin/phpstan @@ -0,0 +1 @@ +../phpstan/phpstan/phpstan \ No newline at end of file diff --git a/app/vendor/bin/phpstan.phar b/app/vendor/bin/phpstan.phar new file mode 120000 index 00000000..502769be --- /dev/null +++ b/app/vendor/bin/phpstan.phar @@ -0,0 +1 @@ +../phpstan/phpstan/phpstan.phar \ No newline at end of file diff --git a/app/vendor/bin/phpunit b/app/vendor/bin/phpunit new file mode 120000 index 00000000..2c489303 --- /dev/null +++ b/app/vendor/bin/phpunit @@ -0,0 +1 @@ +../phpunit/phpunit/phpunit \ No newline at end of file diff --git a/app/vendor/cakephp-plugins.php b/app/vendor/cakephp-plugins.php index d80def0a..114fb5ee 100644 --- a/app/vendor/cakephp-plugins.php +++ b/app/vendor/cakephp-plugins.php @@ -1,10 +1,11 @@ [ 'Bake' => $baseDir . '/vendor/cakephp/bake/', + 'Cake/TwigView' => $baseDir . '/vendor/cakephp/twig-view/', 'DebugKit' => $baseDir . '/vendor/cakephp/debug_kit/', 'Migrations' => $baseDir . '/vendor/cakephp/migrations/', - 'WyriHaximus/TwigView' => $baseDir . '/vendor/wyrihaximus/twig-view/' - ] -]; \ No newline at end of file + ], +]; diff --git a/app/vendor/cakephp/bake/.appveyor.yml b/app/vendor/cakephp/bake/.appveyor.yml new file mode 100644 index 00000000..ed138279 --- /dev/null +++ b/app/vendor/cakephp/bake/.appveyor.yml @@ -0,0 +1,48 @@ +build: false +platform: 'x64' +clone_folder: C:\projects\bake +clone_depth: 10 + +services: + - mssql2012sp1 + +environment: + global: + db_dsn: 'sqlserver://sa:Password12!@.\SQL2012SP1/cakephp?MultipleActiveResultSets=false' + +init: + - SET PATH=C:\Program Files\OpenSSL;c:\php;c:\composer;%PATH% + - SET COMPOSER_NO_INTERACTION=1 + - SET ANSICON=121x90 (121x90) + +install: + - curl -fsS https://windows.php.net/downloads/releases/latest/php-7.2-nts-Win32-VC15-x64-latest.zip -o php.zip + - curl -fsS https://windows.php.net/downloads/pecl/releases/pdo_sqlsrv/5.6.1/php_pdo_sqlsrv-5.6.1-7.2-nts-vc15-x64.zip -o pdosqlsrv.zip + - curl -fsS https://windows.php.net/downloads/pecl/releases/sqlsrv/5.6.1/php_sqlsrv-5.6.1-7.2-nts-vc15-x64.zip -o sqlsrv.zip + - 7z x php.zip -oC:\php\ -aoa > nul + - 7z x pdosqlsrv.zip -oC:\php\ext php_pdo_sqlsrv.dll -aoa > nul + - 7z x sqlsrv.zip -oC:\php\ext php_sqlsrv.dll -aoa > nul + + - cd C:\php + - copy php.ini-production php.ini /Y + - echo date.timezone="UTC" >> php.ini + - echo extension_dir=ext >> php.ini + - echo extension=openssl >> php.ini + - echo extension=mbstring >> php.ini + - echo extension=intl >> php.ini + - echo extension=pdo_sqlsrv >> php.ini + - echo extension=sqlsrv >> php.ini + - php -v + + - mkdir C:\composer + - cd C:\composer + - appveyor-retry appveyor DownloadFile https://getcomposer.org/composer.phar + + - cd C:\projects\bake + - php C:\composer\composer.phar update --no-progress + - php C:\composer\composer.phar show + +test_script: + - sqlcmd -S localhost,1433 -U sa -P Password12! -Q "create database cakephp;" + - cd c:\projects\bake + - vendor\bin\phpunit diff --git a/app/vendor/cakephp/bake/README.md b/app/vendor/cakephp/bake/README.md index 621d2a8d..4c645515 100644 --- a/app/vendor/cakephp/bake/README.md +++ b/app/vendor/cakephp/bake/README.md @@ -1,6 +1,7 @@ # Bake plugin for CakePHP -[![Build Status](https://img.shields.io/travis/cakephp/bake/master.svg?style=flat-square)](https://travis-ci.org/cakephp/bake) +[![Build Status](https://img.shields.io/travis/com/cakephp/bake/master.svg?style=flat-square)](https://travis-ci.com/cakephp/bake) +[![Latest Stable Version](https://img.shields.io/github/v/release/cakephp/bake?sort=semver&style=flat-square)](https://packagist.org/packages/cakephp/bake) [![Coverage Status](https://img.shields.io/codecov/c/github/cakephp/bake.svg?style=flat-square)](https://codecov.io/github/cakephp/bake) [![License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.txt) @@ -19,7 +20,7 @@ composer require --dev cakephp/bake ## Documentation -You can find the documentation for bake [on its own cookbook](https://book.cakephp.org/bake/1.x/en/index.html). +You can find the documentation for bake [on its own cookbook](https://book.cakephp.org/bake/2). ## Testing diff --git a/app/vendor/cakephp/bake/composer.json b/app/vendor/cakephp/bake/composer.json index 677841f9..104afae3 100644 --- a/app/vendor/cakephp/bake/composer.json +++ b/app/vendor/cakephp/bake/composer.json @@ -1,6 +1,6 @@ { "name": "cakephp/bake", - "description": "Bake plugin for CakePHP 3", + "description": "Bake plugin for CakePHP", "type": "cakephp-plugin", "keywords": ["cakephp", "bake"], "homepage": "https://github.com/cakephp/bake", @@ -18,14 +18,14 @@ "source": "https://github.com/cakephp/bake" }, "require": { - "php": ">=5.6.0", - "cakephp/cakephp": "^3.8.0", - "cakephp/plugin-installer": "^1.0", - "wyrihaximus/twig-view": "^4.3.7" + "php": ">=7.2", + "cakephp/cakephp": "^4.0", + "cakephp/twig-view": "^1.0" }, "require-dev": { - "cakephp/cakephp-codesniffer": "^3.0", - "phpunit/phpunit": "^5.7.14|^6.0" + "cakephp/cakephp-codesniffer": "^4.0", + "phpunit/phpunit": "~8.5.0", + "cakephp/debug_kit": "^4.1" }, "autoload": { "psr-4": { @@ -35,10 +35,11 @@ "autoload-dev": { "psr-4": { "BakeTest\\": "tests/test_app/Plugin/BakeTest/src/", + "Company\\Pastry\\": "tests/test_app/Plugin/Company/Pastry/src/", "Pastry\\PastryTest\\": "tests/test_app/Plugin/PastryTest/src/", "Bake\\Test\\": "tests/", "Bake\\Test\\App\\": "tests/test_app/App/", - "Cake\\Test\\": "./vendor/cakephp/cakephp/tests/" + "Cake\\Test\\": "vendor/cakephp/cakephp/tests/" } }, "scripts": { @@ -48,8 +49,8 @@ ], "cs-check": "phpcs --parallel=16 -p src/ tests/", "cs-fix": "phpcbf --parallel=16 -p src/ tests/", - "phpstan": "phpstan analyse src/", - "phpstan-setup": "cp composer.json composer.backup && composer require --dev phpstan/phpstan-shim:^0.11 && mv composer.backup composer.json", + "stan": "phpstan analyse src/ && psalm.phar", + "stan-setup": "cp composer.json composer.backup && composer require --dev phpstan/phpstan:^0.12.7 psalm/phar:~3.17.2 && mv composer.backup composer.json", "test": "phpunit", "test-coverage": "phpunit --coverage-clover=clover.xml" } diff --git a/app/vendor/cakephp/bake/docs/config/all.py b/app/vendor/cakephp/bake/docs/config/all.py index b74fcbe0..9e899be5 100644 --- a/app/vendor/cakephp/bake/docs/config/all.py +++ b/app/vendor/cakephp/bake/docs/config/all.py @@ -10,10 +10,10 @@ # # The full version, including alpha/beta/rc tags. -release = '1.x' +release = '2.x' # The search index version. -search_version = 'bake-1' +search_version = 'bake-2' # The marketing display name for the book. version_name = '' @@ -23,8 +23,8 @@ # Other versions that display in the version picker menu. version_list = [ - {'name': '1.x', 'number': '/bake/1.x', 'title': '1.x', 'current': True}, - # {'name': '2.x', 'number': '/bake/2.x', 'title': '2.x'}, + {'name': '1.x', 'number': '/bake/1.x', 'title': '1.x'}, + {'name': '2.x', 'number': '/bake/2.x', 'title': '2.x', 'current': True}, ] # Languages available. @@ -35,7 +35,7 @@ branch = 'master' # Current version being built -version = '1.x' +version = '2.x' # Language in use for this directory. language = 'en' diff --git a/app/vendor/cakephp/bake/docs/en/development.rst b/app/vendor/cakephp/bake/docs/en/development.rst index 68eebdbd..369367ad 100644 --- a/app/vendor/cakephp/bake/docs/en/development.rst +++ b/app/vendor/cakephp/bake/docs/en/development.rst @@ -105,7 +105,7 @@ bake related event logic and provide callbacks that are easier to test. Bake Template Syntax ==================== -Bake template files use the `Twig `__ template syntax. +Bake template files use the `Twig `__ template syntax. One way to see/understand how bake templates works, especially when attempting to modify bake template files, is to bake a class and compare the template used @@ -118,7 +118,7 @@ So, for example, when baking a shell like so: bin/cake bake shell Foo -The template used (**vendor/cakephp/bake/src/Template/Bake/Shell/shell.twig**) +The template used (**vendor/cakephp/bake/templates/bake/Shell/shell.twig**) looks like this:: `` A Bake template php close tag - * ``<%=`` A Bake template php short-echo tag - * ``<%-`` A Bake template php open tag, stripping any leading whitespace - before the tag - * ``-%>`` A Bake template php close tag, stripping trailing whitespace after - the tag - .. _creating-a-bake-theme: Creating a Bake Theme @@ -187,9 +175,9 @@ create your own bake 'theme' which allows you to replace some or all of the templates that bake uses. The best way to do this is: #. Bake a new plugin. The name of the plugin is the bake 'theme' name -#. Create a new directory **plugins/[name]/src/Template/Bake/Template/**. +#. Create a new directory **plugins/[name]/templates/bake**. #. Copy any templates you want to override from - **vendor/cakephp/bake/src/Template/Bake/Template** to matching files in your + **vendor/cakephp/bake/templates/bake** to matching files in your plugin. #. When running bake use the ``--theme`` option to specify the bake-theme you want to use. To avoid having to specify this option in each call, you can also @@ -206,75 +194,76 @@ If you wish to modify the default output produced by the "bake" command, you can create your own bake templates in your application. This way does not use the ``--theme`` option in the command line when baking. The best way to do this is: -#. Create a new directory **/src/Template/Bake/**. +#. Create a new directory **/templates/plugin/Bake/**. #. Copy any templates you want to override from - **vendor/cakephp/bake/src/Template/Bake/** to matching files in your + **vendor/cakephp/bake/templates/bake/** to matching files in your application. Creating New Bake Command Options ================================= It's possible to add new bake command options, or override the ones provided by -CakePHP by creating tasks in your application or plugins. By extending -``Bake\Shell\Task\BakeTask``, bake will find your new task and include it as +CakePHP by creating command in your application or plugins. By extending +``Bake\Command\BakeCommand``, bake will find your new command and include it as part of bake. -As an example, we'll make a task that creates an arbitrary foo class. First, -create the task file **src/Shell/Task/FooTask.php**. We'll extend the -``SimpleBakeTask`` for now as our shell task will be simple. ``SimpleBakeTask`` +As an example, we'll make a command that creates an arbitrary foo class. First, +create the command file **src/Command/FooCommand.php**. We'll extend the +``SimpleBakeCommand`` for now as our shell task will be simple. ``SimpleBakeCommand`` is abstract and requires us to define 3 methods that tell bake what the task is called, where the files it generates should go, and what template to use. Our -FooTask.php file should look like:: +FooCommand.php file should look like:: on( + 'Bake.initialize', + function ($event, $view) { + $view->loadHelper('Foo'); + } + ); .. meta:: :title lang=en: Extending Bake - :keywords lang=en: command line interface,development,bake view, bake template syntax,twig,erb tags,percent tags - + :keywords lang=en: command line interface, development, bake view, bake template syntax, twig, erb tags, percent tags diff --git a/app/vendor/cakephp/bake/docs/en/index.rst b/app/vendor/cakephp/bake/docs/en/index.rst index 1020e904..fc697c5f 100644 --- a/app/vendor/cakephp/bake/docs/en/index.rst +++ b/app/vendor/cakephp/bake/docs/en/index.rst @@ -14,13 +14,13 @@ Installation Before trying to use or extend bake, make sure it is installed in your application. Bake is provided as a plugin that you can install with Composer:: - composer require --dev cakephp/bake:~1.0 + composer require --dev cakephp/bake:~2.0 The above will install bake as a development dependency. This means that it will -not be installed when you do production deployments. +not be installed when you do production deployments. When using the Twig templates make sure you are loading the -``WyriHaximus/TwigView`` plugin with its bootstrap. You can also omit it +``Cake/TwigView`` plugin with its bootstrap. You can also omit it completely which then makes Bake plugin load this plugin on demand. .. meta:: diff --git a/app/vendor/cakephp/bake/docs/en/usage.rst b/app/vendor/cakephp/bake/docs/en/usage.rst index 956efe0c..efac63f1 100644 --- a/app/vendor/cakephp/bake/docs/en/usage.rst +++ b/app/vendor/cakephp/bake/docs/en/usage.rst @@ -1,7 +1,7 @@ Code Generation with Bake ######################### -The cake console is run using the PHP CLI (command line interface). +The Bake console is run using the PHP CLI (command line interface). If you have problems running the script, ensure that: #. You have the PHP CLI installed and that it has the proper modules enabled diff --git a/app/vendor/cakephp/bake/docs/ja/development.rst b/app/vendor/cakephp/bake/docs/ja/development.rst index 75ffc543..a7d733ed 100644 --- a/app/vendor/cakephp/bake/docs/ja/development.rst +++ b/app/vendor/cakephp/bake/docs/ja/development.rst @@ -207,8 +207,8 @@ Bake テンプレートのカスタマイズ bake テンプレートを作成することができます。この方法では、bake する際、コマンドラインで ``--theme`` オプションを使用していません。これを行うための最善の方法は、次のとおりです。 -#. 新しいディレクトリー **/src/Template/Bake/** を作成します。 -#. **vendor/cakephp/bake/src/Template/Bake/** から上書きしたいテンプレートを +#. 新しいディレクトリー **/templates/plugin/Bake/** を作成します。 +#. **vendor/cakephp/bake/templates/bake/** から上書きしたいテンプレートを あなたのアプリケーションの中の適切なファイルにコピーします。 Bake コマンドオプションの新規作成 diff --git a/app/vendor/cakephp/bake/docs/ja/index.rst b/app/vendor/cakephp/bake/docs/ja/index.rst index a37f45b3..7eeca3dd 100644 --- a/app/vendor/cakephp/bake/docs/ja/index.rst +++ b/app/vendor/cakephp/bake/docs/ja/index.rst @@ -19,7 +19,7 @@ bake は Composer を使ってインストールするプラグインとして 上記のコマンドは、bake を開発環境で使用するパッケージとしてインストールします。 この入れ方の場合、本番環境としてデプロイする際には、 bake はインストールされません。 -Twig テンプレートを使用する場合、 ``WyriHaximus/TwigView`` プラグインをブートストラップとともに +Twig テンプレートを使用する場合、 ``Cake/TwigView`` プラグインをブートストラップとともに 読み込んでいることを確認してください。それを完全に省略して、 Bake プラグインにこのプラグインを読み込ませることもできます。 diff --git a/app/vendor/cakephp/bake/docs/pt/development.rst b/app/vendor/cakephp/bake/docs/pt/development.rst index eeab55e0..5e4fb05f 100644 --- a/app/vendor/cakephp/bake/docs/pt/development.rst +++ b/app/vendor/cakephp/bake/docs/pt/development.rst @@ -1,16 +1,21 @@ -Extendendo o Bake +Estendendo o Bake ################# -Bake fornece uma extenssiva arquitetura que permite a sua aplicação ou plugin ser modificado ou adicionar funcionalidades as bases. Bake faz uso de uma classe view dedicada que usa o `Twig `_ engine de templates. +O Bake fornece uma arquitetura expansível que permite a sua aplicação ou plugin +modificar ou adicionar funcionalidades às suas funções básicas. Bake faz uso de +uma classe view dedicada que usa a ferramenta de templates `Twig +`_. Eventos do Bake =============== -Como uma class view , ``BakeView`` emite o mesmo evento como qualquer outra classe view, -mais uma extra que inicializa eventos. No entanto, onde classe view padrão usa o prefixo "View.", ``BakeView`` usa o prefixo "Bake.". +Como uma class view , ``BakeView`` emite o mesmo evento como qualquer outra +classe view, mais uma extra que inicializa eventos. No entanto, onde as classes +view padrão usam o prefixo "View.", ``BakeView`` usa o prefixo "Bake.". -O inicializador de eventos pode ser usado para fazer mudanças quando aplicadoa toda a saida do bake -, por exemplo ao adicionar outro helper ao bake view class este evebti oide ser usado:: +O inicializador de eventos pode ser usado para fazer mudanças quando aplicado +a todas as saídas do Bake, por exemplo, ao adicionar outro helper à classe bake +view este evento pode ser usado:: on('Bake.initialize', function (Event $event) { $view = $event->getSubject(); - // No meu bake de templates, permite uso de MuSpecial helper + // In my bake templates, allow the use of the MySpecial helper $view->loadHelper('MySpecial', ['some' => 'config']); - // E adicionar uma variável $author então este estará sempre disponível + // And add an $author variable so it's always available $view->set('author', 'Andy'); }); -Se você quer modificar o seu bake apartir de outro pugin, coloque o bake do seu plugin dentro do arquivo do seu próprio plugin ``config/bootstrap.php`` será uma boa ideia. +Se você deseja modificar o bake de outro plugin, é recomendável colocar os +eventos do bake do seu plugin no arquivo **config/bootstrap.php**. -Os eventos do Bake podem ser úteis para fazer pequenas alterações nos modelos existentes. -Por exemplo, para alterar os nomes das variáveis usados quando o controlador / modelo de baking -arquivos podem usar uma função ouvindo ``Bake.beforeRender`` para modificar as variaveis usadas no bake templates:: +Os eventos do Bake podem ser úteis para fazer pequenas alterações nos modelos +existentes. Por exemplo, para alterar os nomes das variáveis usados no +controller/template quando executar o bake, pode-se usar uma função esperando +o ``Bake.beforeRender`` para modificar as variáveis usadas no bake templates:: on('Bake.beforeRender', function (Event $event) { $view = $event->getSubject(); - // Use $ rows para a variável de dados principal em índices + // Use $rows for the main data variable in indexes if ($view->get('pluralName')) { $view->set('pluralName', 'rows'); } @@ -52,7 +59,7 @@ arquivos podem usar uma função ouvindo ``Bake.beforeRender`` para modificar as $view->set('pluralVar', 'rows'); } - // Use $ theOne para a variável de dados principal em exibição / edição + // Use $theOne for the main data variable in view/edit if ($view->get('singularName')) { $view->set('singularName', 'theOne'); } @@ -62,8 +69,10 @@ arquivos podem usar uma função ouvindo ``Bake.beforeRender`` para modificar as }); -Você também pode abranger o ``Bake.beforeRender`` e ``Bake.afterRender`` eventos para um arquivo gerado específico. Por exemplo, se você quiser adicionar ações específicas para seu UsersController ao gerar a partir de um arquivo **Controller/controller.twig**, -você pode usar o seguinte evento:: +Você também pode abranger os eventos ``Bake.beforeRender`` +e ``Bake.afterRender`` para um arquivo específico. Por exemplo, se você quiser +adicionar ações específicas para seu UsersController ao gerar a partir de um +arquivo **Controller/controller.twig**, você pode usar o seguinte evento:: getSubject(); if ($view->viewVars['name'] == 'Users') { - // adicionar ações de login e logout ao Users controller - $view->viewVars['actions'] = [ + // add the login and logout actions to the Users controller + $view->set('actions', [ 'login', 'logout', 'index', @@ -86,27 +95,30 @@ você pode usar o seguinte evento:: 'add', 'edit', 'delete' - ]; + ]); } } ); -Ao adicionar eventos que escutam o seu bake de templates, você pode simplesmente relacionar a sua logica de eventos com o bake e fornecer callbacks que são facilmente testáveis. +Ao adicionar eventos que escutam um bake templates específico, você pode +simplesmente relacionar a sua lógica de eventos com o bake e fornecer callbacks +que são facilmente testáveis. Sintaxe de Templates do Bake ============================ -Bake arquivos de template usa a sintaxe `Twig `__ de templates . +Os arquivos de templates do Bake usam a sintaxe `Twig `__. -Uma forma de ver/entender como o bake de templates funciona, especialmente quando tentamos modificar os arquivos de templates, é executar o bake de uma classe que compara o template usado com o template pré processado deixado anteriormente pela aplicação +Uma forma de ver e entender como o bake funciona, especialmente quando tentamos +modificar os arquivos de templates, é executar o bake de uma classe que compara +o template usado com o template pré-processado deixado anteriormente pela +aplicação na pasta **tmp/bake**. -**tmp/bake** folder. - -Então, por exemplo, quando baking a shell é como? +Então, por exemplo, quando você executar algo como:: .. code-block:: bash - bin/cake bake shell Foo + $ bin/cake bake shell Foo O template usado (**vendor/cakephp/bake/src/Template/Bake/Shell/shell.twig**) parece com algo assim:: @@ -132,7 +144,7 @@ parece com algo assim:: } -E o resultado baked é uma classe (**src/Shell/FooShell.php**) que parece algo assim:: +E o resultado baked é uma classe (**src/Shell/FooShell.php**) semelhante a:: `` Um template bake php fecha a tag * ``<%=`` Um template bake php short-echo tag - * ``<%-`` Um template bake php abre a tag, revirando qualquer espaço em branco antes da tag - * ``-%>`` Um template bake php fecha a tag, revirando qualqualquer espaço em branco após a tag + * ``<%-`` Um template bake php abre a tag, retirando qualquer espaço em branco antes da tag + * ``-%>`` Um template bake php fecha a tag, retirando qualqualquer espaço em branco após a tag .. _creating-a-bake-theme: Criando um Tema Bake ===================== -Se você deseja modificar a saída produzida com o comando bake, você pode criar o seu próprio tema para o bake, aos quais permitirá a você subsituir algum ou todos os tempaltes que o bake usa. o mmelhor jeito de fazer isto é: +Se você deseja modificar a saída produzida com o comando bake, você pode criar +o seu próprio tema para o bake que permitirá você substituir algum ou todos os +tempaltes que o bake usa. O mmelhor jeito de fazer isto é: -#. Bake um novo plugin. O nome do plugin é o bake 'nome do tema' -#. Crie uma nova pasta em **plugins/[name]/src/Template/Bake/Template/**. -#. Copie qualquer template que você queira para sobrescrer de - **vendor/cakephp/bake/src/Template/Bake/Template** que feche com os arquivos no seu plugin. -#. Quando executando o bake use a opção ``--theme`` para especificar qual o tema que o bake deve usar - . Para evitar problemas com esta opção, em cada chamada, você tambem pode definir o seu template customizado para ser usado como o template padrão:: +#. Bake um novo plugin. O nome do plugin é o 'nome do tema' +#. Crie uma nova pasta em **plugins/[name]/Template/Bake/Template/**. +#. Copie qualquer template que você queira modificar de + **vendor/cakephp/bake/src/Template/Bake/Template** para a pasta acima e modificá-los conforme sua necessidade. +#. Quando executar o bake use a opção ``--theme`` para especificar qual o tema + que o bake deve usar. Para evitar problemas com esta opção, em cada chamada, + você também pode definir o seu template customizado para ser usado como + o template padrão:: - ] Options: - --connection, -c Database connection to use in conjunction with `bake - all`. (default: default) - --everything Bake a complete MVC skeleton, using all the available - tables. Usage: "bake all --everything" - --force, -f Force overwriting existing files without prompting. - --help, -h Display this help. - --plugin, -p Plugin to bake into. - --prefix Prefix to bake controllers and templates into. - --quiet, -q Enable quiet output. - --tablePrefix Table prefix to be used in models. - --theme, -t The theme to use when baking code. (choices: - Bake|Migrations) - --verbose, -v Enable verbose output. + --connection, -c The datasource connection to get data from. + (default: default) + --display-field The displayField if you would like to choose one. + --fields A comma separated list of fields to make + accessible. + --force, -f Force overwriting existing files without + prompting. + --help, -h Display this help. + --hidden A comma separated list of fields to hide. + --no-associations Disable generating associations. + --no-entity Disable generating an entity class. + --no-fields Disable generating accessible fields in the + entity. + --no-fixture Do not generate a test fixture skeleton. + --no-hidden Disable generating hidden fields in the entity. + --no-rules Disable generating a rules checker. + --no-table Disable generating a table class. + --no-test Do not generate a test case skeleton. + --no-validation Disable generating validation rules. + --plugin, -p Plugin to bake into. + --primary-key The primary key if you would like to manually set + one. Can be a comma separated list if you are + using a composite primary key. + --quiet, -q Enable quiet output. + --table The table name to use if you have + non-conventional table names. + --theme, -t The theme to use when baking code. + --verbose, -v Enable verbose output. + + Arguments: + + name Name of the model to bake (without the Table suffix). You can use + Plugin.name to bake plugin models. (optional) + + Omitting all arguments and options will list the table names you can + generate models for. + + Temas para o Bake ================= -A opção de tema é comum a todos os comandos do bake, e permite mudar os arquivos de modelo usados no bake. Para criar seus próprios modelos, veja a -:ref:`documentação de criação de themes para o bake `. +A opção de tema é comum a todos os comandos do Bake e permite mudar os arquivos de modelo usados por ele. Para criar seus próprios modelos, veja a +:ref:`documentação de criação de temas para o Bake `. .. meta:: :title lang=pt: Geração de código com bake diff --git a/app/vendor/cakephp/bake/phpcs.xml.dist b/app/vendor/cakephp/bake/phpcs.xml.dist index 9e40ece7..ce02df23 100644 --- a/app/vendor/cakephp/bake/phpcs.xml.dist +++ b/app/vendor/cakephp/bake/phpcs.xml.dist @@ -1,11 +1,8 @@ - - - - + + - - - 0 - + + + */comparisons/* diff --git a/app/vendor/cakephp/bake/phpstan.neon b/app/vendor/cakephp/bake/phpstan.neon index 68b9999e..691502eb 100644 --- a/app/vendor/cakephp/bake/phpstan.neon +++ b/app/vendor/cakephp/bake/phpstan.neon @@ -1,7 +1,5 @@ parameters: - level: 5 - autoload_files: + level: 6 + checkMissingIterableValueType: false + bootstrapFiles: - tests/bootstrap.php - ignoreErrors: - - '#Call to an undefined method Cake\\Database\\Type::getDateTimeClassName\(\)#' - - '#Parameter \#1 \$size of method .+CollectionInterface::take\(\) expects int, array given.#' diff --git a/app/vendor/cakephp/bake/psalm-baseline.xml b/app/vendor/cakephp/bake/psalm-baseline.xml new file mode 100644 index 00000000..a49882bc --- /dev/null +++ b/app/vendor/cakephp/bake/psalm-baseline.xml @@ -0,0 +1,19 @@ + + + + + new Filesystem() + + + findRecursive + + + + + new Filesystem() + + + find + + + diff --git a/app/vendor/cakephp/bake/psalm.xml b/app/vendor/cakephp/bake/psalm.xml new file mode 100644 index 00000000..de014916 --- /dev/null +++ b/app/vendor/cakephp/bake/psalm.xml @@ -0,0 +1,18 @@ + + + + + + + + + diff --git a/app/vendor/cakephp/bake/src/Command/AllCommand.php b/app/vendor/cakephp/bake/src/Command/AllCommand.php new file mode 100644 index 00000000..89434754 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/AllCommand.php @@ -0,0 +1,123 @@ +_setCommonOptions($parser); + + $parser = $parser->setDescription( + 'Generate the model, controller, template, tests and fixture for a table.' + )->addArgument('name', [ + 'help' => 'Name of the table to generate code for.', + ])->addOption('everything', [ + 'help' => 'Generate code for all tables.', + 'default' => false, + 'boolean' => true, + ])->addOption('prefix', [ + 'help' => 'The namespace prefix to use.', + 'default' => false, + ]); + + return $parser; + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null The exit code or null for success + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + $this->extractCommonProperties($args); + $name = $args->getArgument('name') ?? ''; + $name = $this->_getName($name); + + $io->out('Bake All'); + $io->hr(); + + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + if (empty($name) && !$args->getOption('everything')) { + $io->out('Choose a table to generate from the following:'); + foreach ($scanner->listUnskipped() as $table) { + $io->out('- ' . $this->_camelize($table)); + } + + return static::CODE_SUCCESS; + } + if ($args->getOption('everything')) { + $tables = $scanner->listUnskipped(); + } else { + $tables = [$name]; + } + + foreach ($this->commands as $commandName) { + /** @var \Cake\Command\Command $command */ + $command = new $commandName(); + + $options = $args->getOptions(); + if ( + $args->hasOption('prefix') && + !($command instanceof ControllerCommand) && + !($command instanceof TemplateCommand) + ) { + unset($options['prefix']); + } + + foreach ($tables as $table) { + $subArgs = new Arguments([$table], $options, ['name']); + $command->execute($subArgs, $io); + } + } + + $io->out('Bake All complete.', 1, ConsoleIo::QUIET); + + return static::CODE_SUCCESS; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/BakeCommand.php b/app/vendor/cakephp/bake/src/Command/BakeCommand.php new file mode 100644 index 00000000..d8d2a433 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/BakeCommand.php @@ -0,0 +1,148 @@ +plugin = $plugin; + } + + return $name; + } + + /** + * Get the prefix name. + * + * Handles camelcasing each namespace in the prefix path. + * + * @param \Cake\Console\Arguments $args Arguments instance to read the prefix option from. + * @return string The inflected prefix path. + */ + protected function getPrefix(Arguments $args): string + { + $prefix = $args->getOption('prefix'); + if (!$prefix) { + return ''; + } + $parts = explode('/', $prefix); + + return implode('/', array_map([$this, '_camelize'], $parts)); + } + + /** + * Gets the path for output. Checks the plugin property + * and returns the correct path. + * + * @param \Cake\Console\Arguments $args Arguments instance to read the prefix option from. + * @return string Path to output. + */ + public function getPath(Arguments $args): string + { + $path = APP . $this->pathFragment; + if ($this->plugin) { + $path = $this->_pluginPath($this->plugin) . 'src/' . $this->pathFragment; + } + $prefix = $this->getPrefix($args); + if ($prefix) { + $path .= $prefix . DIRECTORY_SEPARATOR; + } + + return str_replace('/', DIRECTORY_SEPARATOR, $path); + } + + /** + * Gets the path to the template path for the application or plugin. + * + * @param \Cake\Console\Arguments $args Arguments instance to read the prefix option from. + * @param string|null $container The container directory in the templates directory. + * @return string Path to output. + */ + public function getTemplatePath(Arguments $args, ?string $container = null): string + { + $paths = (array)Configure::read('App.paths.templates'); + if (empty($paths)) { + throw new InvalidArgumentException( + 'Could not read template paths. ' . + 'Ensure `App.paths.templates` is defined in your application configuration.' + ); + } + $path = $paths[0]; + if ($this->plugin) { + $path = $this->_pluginPath($this->plugin) . 'templates' . DIRECTORY_SEPARATOR; + } + if ($container) { + $path .= $container . DIRECTORY_SEPARATOR; + } + $prefix = $this->getPrefix($args); + if ($prefix) { + $path .= $prefix . DIRECTORY_SEPARATOR; + } + + return str_replace('/', DIRECTORY_SEPARATOR, $path); + } + + /** + * Delete empty file in a given path + * + * @param string $path Path to folder which contains 'empty' file. + * @param \Cake\Console\ConsoleIo $io ConsoleIo to delete file with. + * @return void + */ + protected function deleteEmptyFile(string $path, ConsoleIo $io): void + { + if (file_exists($path)) { + unlink($path); + $io->out(sprintf('Deleted `%s`', $path), 1, ConsoleIo::QUIET); + } + } +} diff --git a/app/vendor/cakephp/bake/src/Command/BehaviorCommand.php b/app/vendor/cakephp/bake/src/Command/BehaviorCommand.php new file mode 100644 index 00000000..e5b5e852 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/BehaviorCommand.php @@ -0,0 +1,54 @@ +getPrefix($arguments); + if ($prefix) { + $prefix = '\\' . str_replace('/', '\\', $prefix); + } + + $namespace = Configure::read('App.namespace'); + if ($this->plugin) { + $namespace = $this->_pluginNamespace($this->plugin); + } + + return compact('namespace', 'prefix'); + } + + /** + * Bake the Cell class and template file. + * + * @param string $name The name of the cell to make. + * @param \Cake\Console\Arguments $args The console arguments + * @param \Cake\Console\ConsoleIo $io The console io + * @return void + */ + public function bake(string $name, Arguments $args, ConsoleIo $io): void + { + $this->bakeTemplate($name, $args, $io); + + parent::bake($name, $args, $io); + } + + /** + * Bake an empty file for a cell. + * + * @param string $name The name of the cell a template is needed for. + * @param \Cake\Console\Arguments $args The console arguments + * @param \Cake\Console\ConsoleIo $io The console io + * @return void + */ + protected function bakeTemplate(string $name, Arguments $args, ConsoleIo $io): void + { + $path = $this->getTemplatePath($args, 'cell'); + $path .= implode(DS, [$name, 'display.php']); + + $io->createFile($path, '', $args->getOption('force')); + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser Parser instance + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = parent::buildOptionParser($parser); + $parser->addOption('prefix', [ + 'help' => 'The namespace prefix to use.', + ]); + + return $parser; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/CommandCommand.php b/app/vendor/cakephp/bake/src/Command/CommandCommand.php new file mode 100644 index 00000000..dfca1a41 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/CommandCommand.php @@ -0,0 +1,54 @@ +controllerCommand = new ControllerCommand(); + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null The exit code or null for success + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + $this->extractCommonProperties($args); + + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + foreach ($scanner->listUnskipped() as $table) { + $this->getTableLocator()->clear(); + $controllerArgs = new Arguments([$table], $args->getOptions(), ['name']); + $this->controllerCommand->execute($controllerArgs, $io); + } + + return static::CODE_SUCCESS; + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser The console option parser + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = $this->controllerCommand->buildOptionParser($parser); + $parser + ->setDescription('Bake all controller files with tests.') + ->setEpilog(''); + + return $parser; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/ControllerCommand.php b/app/vendor/cakephp/bake/src/Command/ControllerCommand.php new file mode 100644 index 00000000..d83e4396 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/ControllerCommand.php @@ -0,0 +1,279 @@ +extractCommonProperties($args); + $name = $args->getArgument('name') ?? ''; + $name = $this->_getName($name); + + if (empty($name)) { + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + $io->out('Possible controllers based on your current database:'); + foreach ($scanner->listUnskipped() as $table) { + $io->out('- ' . $this->_camelize($table)); + } + + return static::CODE_SUCCESS; + } + + $controller = $this->_camelize($name); + $this->bake($controller, $args, $io); + + return static::CODE_SUCCESS; + } + + /** + * Assembles and writes a Controller file + * + * @param string $controllerName Controller name already pluralized and correctly cased. + * @param \Cake\Console\Arguments $args The console arguments + * @param \Cake\Console\ConsoleIo $io The console io + * @return void + */ + public function bake(string $controllerName, Arguments $args, ConsoleIo $io): void + { + $io->quiet(sprintf('Baking controller class for %s...', $controllerName)); + + $actions = []; + if (!$args->getOption('no-actions') && !$args->getOption('actions')) { + $actions = ['index', 'view', 'add', 'edit', 'delete']; + } + if ($args->getOption('actions')) { + $actions = array_map('trim', explode(',', $args->getOption('actions'))); + $actions = array_filter($actions); + } + + $helpers = $this->getHelpers($args); + $components = $this->getComponents($args); + + $prefix = $this->getPrefix($args); + if ($prefix) { + $prefix = '\\' . str_replace('/', '\\', $prefix); + } + + // Controllers default to importing AppController from `App` + $baseNamespace = $namespace = Configure::read('App.namespace'); + if ($this->plugin) { + $namespace = $this->_pluginNamespace($this->plugin); + } + // If the plugin has an AppController other plugin controllers + // should inherit from it. + if ($this->plugin && class_exists("{$namespace}\Controller\AppController")) { + $baseNamespace = $namespace; + } + + $currentModelName = $controllerName; + $plugin = $this->plugin; + if ($plugin) { + $plugin .= '.'; + } + + if ($this->getTableLocator()->exists($plugin . $currentModelName)) { + $modelObj = $this->getTableLocator()->get($plugin . $currentModelName); + } else { + $modelObj = $this->getTableLocator()->get($plugin . $currentModelName, [ + 'connectionName' => $this->connection, + ]); + } + + $pluralName = $this->_variableName($currentModelName); + $singularName = $this->_singularName($currentModelName); + $singularHumanName = $this->_singularHumanName($controllerName); + $pluralHumanName = $this->_variableName($controllerName); + + $defaultModel = sprintf('%s\Model\Table\%sTable', $namespace, $controllerName); + if (!class_exists($defaultModel)) { + $defaultModel = null; + } + $entityClassName = $this->_entityName($modelObj->getAlias()); + + $data = compact( + 'actions', + 'components', + 'currentModelName', + 'defaultModel', + 'entityClassName', + 'helpers', + 'modelObj', + 'namespace', + 'baseNamespace', + 'plugin', + 'pluralHumanName', + 'pluralName', + 'prefix', + 'singularHumanName', + 'singularName' + ); + $data['name'] = $controllerName; + + $this->bakeController($controllerName, $data, $args, $io); + $this->bakeTest($controllerName, $args, $io); + } + + /** + * Generate the controller code + * + * @param string $controllerName The name of the controller. + * @param array $data The data to turn into code. + * @param \Cake\Console\Arguments $args The console args + * @param \Cake\Console\ConsoleIo $io The console io + * @return void + */ + public function bakeController(string $controllerName, array $data, Arguments $args, ConsoleIo $io): void + { + $data += [ + 'name' => null, + 'namespace' => null, + 'prefix' => null, + 'actions' => null, + 'helpers' => null, + 'components' => null, + 'plugin' => null, + 'pluginPath' => null, + ]; + + $renderer = new TemplateRenderer($this->theme); + $renderer->set($data); + + $contents = $renderer->generate('Bake.Controller/controller'); + + $path = $this->getPath($args); + $filename = $path . $controllerName . 'Controller.php'; + $io->createFile($filename, $contents, $args->getOption('force')); + } + + /** + * Assembles and writes a unit test file + * + * @param string $className Controller class name + * @param \Cake\Console\Arguments $args The console arguments + * @param \Cake\Console\ConsoleIo $io The console io + * @return void + */ + public function bakeTest(string $className, Arguments $args, ConsoleIo $io): void + { + if ($args->getOption('no-test')) { + return; + } + $test = new TestCommand(); + $testArgs = new Arguments( + ['controller', $className], + $args->getOptions(), + ['type', 'name'] + ); + $test->execute($testArgs, $io); + } + + /** + * Get the list of components for the controller. + * + * @param \Cake\Console\Arguments $args The console arguments + * @return string[] + */ + public function getComponents(Arguments $args): array + { + $components = []; + if ($args->getOption('components')) { + $components = explode(',', $args->getOption('components')); + $components = array_values(array_filter(array_map('trim', $components))); + } + + return $components; + } + + /** + * Get the list of helpers for the controller. + * + * @param \Cake\Console\Arguments $args The console arguments + * @return string[] + */ + public function getHelpers(Arguments $args): array + { + $helpers = []; + if ($args->getOption('helpers')) { + $helpers = explode(',', $args->getOption('helpers')); + $helpers = array_values(array_filter(array_map('trim', $helpers))); + } + + return $helpers; + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser The console option parser + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = $this->_setCommonOptions($parser); + $parser->setDescription( + 'Bake a controller skeleton.' + )->addArgument('name', [ + 'help' => 'Name of the controller to bake (without the `Controller` suffix). ' . + 'You can use Plugin.name to bake controllers into plugins.', + ])->addOption('components', [ + 'help' => 'The comma separated list of components to use.', + ])->addOption('helpers', [ + 'help' => 'The comma separated list of helpers to use.', + ])->addOption('prefix', [ + 'help' => 'The namespace/routing prefix to use.', + ])->addOption('actions', [ + 'help' => 'The comma separated list of actions to generate. ' . + 'You can include custom methods provided by your template set here.', + ])->addOption('no-test', [ + 'boolean' => true, + 'help' => 'Do not generate a test skeleton.', + ])->addOption('no-actions', [ + 'boolean' => true, + 'help' => 'Do not generate basic CRUD action methods.', + ]); + + return $parser; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/EntryCommand.php b/app/vendor/cakephp/bake/src/Command/EntryCommand.php new file mode 100644 index 00000000..6ad97212 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/EntryCommand.php @@ -0,0 +1,223 @@ +commands = $commands; + } + + /** + * Run the command. + * + * Override the run() method so that we can splice in dynamic + * subcommand handling for legacy tasks. + * + * @param array $argv Arguments from the CLI environment. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null Exit code or null for success. + */ + public function run(array $argv, ConsoleIo $io): ?int + { + $this->initialize(); + + $parser = $this->getOptionParser(); + try { + [$options, $arguments] = $parser->parse($argv); + $args = new Arguments( + $arguments, + $options, + $parser->argumentNames() + ); + } catch (ConsoleException $e) { + $io->err('Error: ' . $e->getMessage()); + + return static::CODE_ERROR; + } + $this->setOutputLevel($args, $io); + + // This is the variance from Command::run() + if (!$args->getArgumentAt(0) && $args->getOption('help')) { + $this->executeCommand($this->help, [], $io); + + return static::CODE_SUCCESS; + } + + return $this->execute($args, $io); + } + + /** + * Execute the command. + * + * This command acts as a catch-all for legacy tasks that may + * be defined in the application or plugins. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null The exit code or null for success + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + if ($args->hasArgumentAt(0)) { + $name = $args->getArgumentAt(0); + $task = $this->createTask($name, $io); + if ($task) { + $argList = $args->getArguments(); + + // Remove command name. + array_shift($argList); + foreach ($args->getOptions() as $key => $value) { + if ($value === false) { + continue; + } elseif ($value === true) { + $argList[] = '--' . $key; + } else { + $argList[] = '--' . $key; + $argList[] = $value; + } + } + + $result = $task->runCommand($argList); + if ($result === false) { + return static::CODE_ERROR; + } + if ($result === true) { + return static::CODE_SUCCESS; + } + + return $result; + } + $io->err("Could not find a task named `{$name}`."); + + return static::CODE_ERROR; + } + $io->err('No command provided. Run `bake --help` to get a list of commands.'); + + return static::CODE_ERROR; + } + + /** + * Find and create a Shell based BakeTask + * + * @param string $name The task name. + * @param \Cake\Console\ConsoleIo $io The console io. + * @return \Cake\Console\Shell|null + */ + protected function createTask(string $name, ConsoleIo $io): ?Shell + { + $found = false; + $name = Inflector::camelize($name); + $factory = function ($className, $io) { + $task = new $className($io); + $task->setRootName('cake bake'); + + return $task; + }; + + // Look in each plugin for the requested task + foreach (CorePlugin::loaded() as $plugin) { + $namespace = str_replace('/', '\\', $plugin); + $candidate = $namespace . '\Shell\Task\\' . $name . 'Task'; + if (class_exists($candidate) && is_subclass_of($candidate, BakeTask::class)) { + return $factory($candidate, $io); + } + } + + // Try the app as well + $namespace = Configure::read('App.namespace'); + $candidate = $namespace . '\Shell\Task\\' . $name . 'Task'; + if (class_exists($candidate) && is_subclass_of($candidate, BakeTask::class)) { + return $factory($candidate, $io); + } + + return null; + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser The console option parser + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $this->help = new HelpCommand(); + /** @psalm-suppress InaccessibleMethod Protected methods as class based */ + $parser = $this->help->buildOptionParser($parser); + $parser + ->setDescription( + 'Bake generates code for your application. Different types of classes can be generated' . + ' with the subcommands listed below. For example run bake controller --help' . + ' to learn more about generating a controller.' + ) + ->setEpilog('Older Shell based tasks will not be listed here, but can still be run.'); + $commands = []; + foreach ($this->commands as $command => $class) { + if (substr($command, 0, 4) === 'bake') { + $parts = explode(' ', $command); + + // Remove `bake` + array_shift($parts); + if (count($parts) === 0) { + continue; + } + $commands[$command] = $class; + } + } + + $CommandCollection = new CommandCollection($commands); + $this->help->setCommandCollection($CommandCollection); + + return $parser; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/FixtureAllCommand.php b/app/vendor/cakephp/bake/src/Command/FixtureAllCommand.php new file mode 100644 index 00000000..88e29a39 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/FixtureAllCommand.php @@ -0,0 +1,88 @@ +_setCommonOptions($parser); + + $parser = $parser->setDescription( + 'Generate all fixtures for use with the test suite.' + )->addOption('count', [ + 'help' => 'When using generated data, the number of records to include in the fixture(s).', + 'short' => 'n', + 'default' => 1, + ])->addOption('schema', [ + 'help' => 'Create a fixture that imports schema, instead of dumping a schema snapshot into the fixture.', + 'short' => 's', + 'boolean' => true, + ])->addOption('records', [ + 'help' => 'Generate a fixture with records from the non-test database.' . + ' Used with --count and --conditions to limit which records are added to the fixture.', + 'short' => 'r', + 'boolean' => true, + ])->addOption('conditions', [ + 'help' => 'The SQL snippet to use when importing records.', + 'default' => '1=1', + ]); + + return $parser; + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + $this->extractCommonProperties($args); + + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($args->getOption('connection') ?? 'default'); + $scanner = new TableScanner($connection); + $fixture = new FixtureCommand(); + foreach ($scanner->listUnskipped() as $table) { + $fixtureArgs = new Arguments([$table], $args->getOptions(), ['name']); + $fixture->execute($fixtureArgs, $io); + } + + return static::CODE_SUCCESS; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/FixtureCommand.php b/app/vendor/cakephp/bake/src/Command/FixtureCommand.php new file mode 100644 index 00000000..ec92e87d --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/FixtureCommand.php @@ -0,0 +1,456 @@ +plugin) { + $path = $this->_pluginPath($this->plugin) . 'tests/' . $dir; + } + + return str_replace('/', DS, $path); + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser Option parser to update. + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = $this->_setCommonOptions($parser); + + $parser = $parser->setDescription( + 'Generate fixtures for use with the test suite. You can use `bake fixture all` to bake all fixtures.' + )->addArgument('name', [ + 'help' => 'Name of the fixture to bake (without the `Fixture` suffix). ' . + 'You can use Plugin.name to bake plugin fixtures.', + ])->addOption('table', [ + 'help' => 'The table name if it does not follow conventions.', + ])->addOption('count', [ + 'help' => 'When using generated data, the number of records to include in the fixture(s).', + 'short' => 'n', + 'default' => 1, + ])->addOption('schema', [ + 'help' => 'Create a fixture that imports schema, instead of dumping a schema snapshot into the fixture.', + 'short' => 's', + 'boolean' => true, + ])->addOption('records', [ + 'help' => 'Generate a fixture with records from the non-test database.' . + ' Used with --count and --conditions to limit which records are added to the fixture.', + 'short' => 'r', + 'boolean' => true, + ])->addOption('conditions', [ + 'help' => 'The SQL snippet to use when importing records.', + 'default' => '1=1', + ]); + + return $parser; + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null The exit code or null for success + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + $this->extractCommonProperties($args); + $name = $args->getArgument('name') ?? ''; + $name = $this->_getName($name); + + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + if (empty($name)) { + $io->out('Choose a fixture to bake from the following:'); + foreach ($scanner->listUnskipped() as $table) { + $io->out('- ' . $this->_camelize($table)); + } + + return static::CODE_SUCCESS; + } + + $table = $args->getOption('table') ?? ''; + $model = $this->_camelize($name); + $this->bake($model, $table, $args, $io); + + return static::CODE_SUCCESS; + } + + /** + * Assembles and writes a Fixture file + * + * @param string $model Name of model to bake. + * @param string $useTable Name of table to use. + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return void + * @throws \RuntimeException + */ + protected function bake(string $model, string $useTable, Arguments $args, ConsoleIo $io): void + { + $table = $schema = $records = $import = $modelImport = null; + + if (!$useTable) { + $useTable = Inflector::tableize($model); + } elseif ($useTable !== Inflector::tableize($model)) { + $table = $useTable; + } + + $importBits = []; + if ($args->getOption('schema')) { + $modelImport = true; + $importBits[] = "'table' => '{$useTable}'"; + } + if (!empty($importBits) && $this->connection !== 'default') { + $importBits[] = "'connection' => '{$this->connection}'"; + } + if (!empty($importBits)) { + $import = sprintf('[%s]', implode(', ', $importBits)); + } + + try { + $data = $this->readSchema($model, $useTable); + } catch (Exception $e) { + $this->getTableLocator()->remove($model); + $useTable = Inflector::underscore($model); + $table = $useTable; + $data = $this->readSchema($model, $useTable); + } + + if ($modelImport === null) { + $schema = $this->_generateSchema($data); + } + + if ($args->getOption('records')) { + $records = $this->_makeRecordString($this->_getRecordsFromTable($args, $model, $useTable)); + } else { + $recordCount = 1; + if ($args->hasOption('count')) { + $recordCount = (int)$args->getOption('count'); + } + $records = $this->_makeRecordString($this->_generateRecords($data, $recordCount)); + } + + $this->generateFixtureFile($args, $io, $model, compact('records', 'table', 'schema', 'import')); + } + + /** + * Get schema metadata for the current table mapping. + * + * @param string $name The model alias to use + * @param string $table The table name to get schema metadata for. + * @return \Cake\Database\Schema\TableSchemaInterface + */ + public function readSchema(string $name, string $table): TableSchemaInterface + { + $connection = ConnectionManager::get($this->connection); + + if ($this->getTableLocator()->exists($name)) { + $model = $this->getTableLocator()->get($name); + } else { + $model = $this->getTableLocator()->get($name, [ + 'table' => $table, + 'connection' => $connection, + ]); + } + + return $model->getSchema(); + } + + /** + * Generate the fixture file, and write to disk + * + * @param \Cake\Console\Arguments $args The CLI arguments. + * @param \Cake\Console\ConsoleIo $io The console io instance. + * @param string $model name of the model being generated + * @param array $otherVars Contents of the fixture file. + * @return void + */ + public function generateFixtureFile(Arguments $args, ConsoleIo $io, string $model, array $otherVars): void + { + $defaults = [ + 'name' => $model, + 'table' => null, + 'schema' => null, + 'records' => null, + 'import' => null, + 'fields' => null, + 'namespace' => Configure::read('App.namespace'), + ]; + if ($this->plugin) { + $defaults['namespace'] = $this->_pluginNamespace($this->plugin); + } + $vars = $otherVars + $defaults; + + $path = $this->getPath($args); + $filename = $vars['name'] . 'Fixture.php'; + + $renderer = new TemplateRenderer($args->getOption('theme')); + $renderer->set('model', $model); + $renderer->set($vars); + $content = $renderer->generate('Bake.tests/fixture'); + + $io->out("\n" . sprintf('Baking test fixture for %s...', $model), 1, ConsoleIo::QUIET); + $io->createFile($path . $filename, $content, $args->getOption('force')); + $emptyFile = $path . '.gitkeep'; + $this->deleteEmptyFile($emptyFile, $io); + } + + /** + * Generates a string representation of a schema. + * + * @param \Cake\Database\Schema\TableSchemaInterface $table Table schema + * @return string fields definitions + */ + protected function _generateSchema(TableSchemaInterface $table): string + { + $cols = $indexes = $constraints = []; + foreach ($table->columns() as $field) { + $fieldData = $table->getColumn($field); + $properties = implode(', ', $this->_values($fieldData)); + $cols[] = " '$field' => [$properties],"; + } + foreach ($table->indexes() as $index) { + $fieldData = $table->getIndex($index); + $properties = implode(', ', $this->_values($fieldData)); + $indexes[] = " '$index' => [$properties],"; + } + foreach ($table->constraints() as $index) { + $fieldData = $table->getConstraint($index); + $properties = implode(', ', $this->_values($fieldData)); + $constraints[] = " '$index' => [$properties],"; + } + $options = $this->_values($table->getOptions()); + + $content = implode("\n", $cols) . "\n"; + if (!empty($indexes)) { + $content .= " '_indexes' => [\n" . implode("\n", $indexes) . "\n ],\n"; + } + if (!empty($constraints)) { + $content .= " '_constraints' => [\n" . implode("\n", $constraints) . "\n ],\n"; + } + if (!empty($options)) { + foreach ($options as &$option) { + $option = ' ' . $option; + } + $content .= " '_options' => [\n" . implode(",\n", $options) . "\n ],\n"; + } + + return "[\n$content ]"; + } + + /** + * Formats Schema columns from Model Object + * + * @param array $values options keys(type, null, default, key, length, extra) + * @return string[] Formatted values + */ + protected function _values(array $values): array + { + $vals = []; + + foreach ($values as $key => $val) { + if (is_array($val)) { + $vals[] = "'{$key}' => [" . implode(', ', $this->_values($val)) . ']'; + } else { + $val = var_export($val, true); + if ($val === 'NULL') { + $val = 'null'; + } + if (!is_numeric($key)) { + $vals[] = "'{$key}' => {$val}"; + } else { + $vals[] = "{$val}"; + } + } + } + + return $vals; + } + + /** + * Generate String representation of Records + * + * @param \Cake\Database\Schema\TableSchemaInterface $table Table schema array + * @param int $recordCount The number of records to generate. + * @return array Array of records to use in the fixture. + */ + protected function _generateRecords(TableSchemaInterface $table, int $recordCount = 1): array + { + $records = []; + for ($i = 0; $i < $recordCount; $i++) { + $record = []; + foreach ($table->columns() as $field) { + $fieldInfo = $table->getColumn($field); + $insert = ''; + switch ($fieldInfo['type']) { + case 'decimal': + $insert = $i + 1.5; + break; + case 'biginteger': + case 'integer': + case 'float': + case 'smallinteger': + case 'tinyinteger': + $insert = $i + 1; + break; + case 'string': + case 'binary': + $isPrimary = in_array($field, $table->getPrimaryKey()); + if ($isPrimary) { + $insert = Text::uuid(); + } else { + $insert = 'Lorem ipsum dolor sit amet'; + if (!empty($fieldInfo['length'])) { + $insert = substr( + $insert, + 0, + (int)$fieldInfo['length'] > 2 + ? (int)$fieldInfo['length'] - 2 + : (int)$fieldInfo['length'] + ); + } + } + break; + case 'timestamp': + case 'timestampfractional': + $insert = time(); + break; + case 'datetime': + $insert = date('Y-m-d H:i:s'); + break; + case 'date': + $insert = date('Y-m-d'); + break; + case 'time': + $insert = date('H:i:s'); + break; + case 'boolean': + $insert = 1; + break; + case 'text': + $insert = 'Lorem ipsum dolor sit amet, aliquet feugiat.'; + $insert .= ' Convallis morbi fringilla gravida,'; + $insert .= ' phasellus feugiat dapibus velit nunc, pulvinar eget sollicitudin'; + $insert .= ' venenatis cum nullam, vivamus ut a sed, mollitia lectus. Nulla'; + $insert .= ' vestibulum massa neque ut et, id hendrerit sit,'; + $insert .= ' feugiat in taciti enim proin nibh, tempor dignissim, rhoncus'; + $insert .= ' duis vestibulum nunc mattis convallis.'; + break; + case 'uuid': + $insert = Text::uuid(); + break; + } + $record[$field] = $insert; + } + $records[] = $record; + } + + return $records; + } + + /** + * Convert a $records array into a string. + * + * @param array $records Array of records to be converted to string + * @return string A string value of the $records array. + */ + protected function _makeRecordString(array $records): string + { + $out = "[\n"; + foreach ($records as $record) { + $values = []; + foreach ($record as $field => $value) { + if ($value instanceof DateTimeInterface) { + $value = $value->format('Y-m-d H:i:s'); + } + $val = var_export($value, true); + if ($val === 'NULL') { + $val = 'null'; + } + $values[] = " '$field' => $val"; + } + $out .= " [\n"; + $out .= implode(",\n", $values); + $out .= ",\n ],\n"; + } + $out .= ' ]'; + + return $out; + } + + /** + * Interact with the user to get a custom SQL condition and use that to extract data + * to build a fixture. + * + * @param \Cake\Console\Arguments $args CLI arguments + * @param string $modelName name of the model to take records from. + * @param string|null $useTable Name of table to use. + * @return array Array of records. + */ + protected function _getRecordsFromTable(Arguments $args, string $modelName, ?string $useTable = null): array + { + $recordCount = ($args->getOption('count') ?? 10); + /** @var string $conditions */ + $conditions = ($args->getOption('conditions') ?? '1=1'); + if ($this->getTableLocator()->exists($modelName)) { + $model = $this->getTableLocator()->get($modelName); + } else { + $model = $this->getTableLocator()->get($modelName, [ + 'table' => $useTable, + 'connection' => ConnectionManager::get($this->connection), + ]); + } + $records = $model->find('all') + ->where($conditions) + ->limit((int)$recordCount) + ->enableHydration(false); + + return $records->toArray(); + } +} diff --git a/app/vendor/cakephp/bake/src/Command/FormCommand.php b/app/vendor/cakephp/bake/src/Command/FormCommand.php new file mode 100644 index 00000000..f84572ba --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/FormCommand.php @@ -0,0 +1,54 @@ +modelCommand = new ModelCommand(); + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser The parser to configure + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = $this->modelCommand->buildOptionParser($parser); + $parser + ->setDescription('Bake all model files with associations and validation.') + ->setEpilog(''); + + return $parser; + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null The exit code or null for success + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + $this->extractCommonProperties($args); + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + foreach ($scanner->listUnskipped() as $table) { + $this->getTableLocator()->clear(); + $modelArgs = new Arguments([$table], $args->getOptions(), ['name']); + $this->modelCommand->execute($modelArgs, $io); + } + + return static::CODE_SUCCESS; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/ModelCommand.php b/app/vendor/cakephp/bake/src/Command/ModelCommand.php new file mode 100644 index 00000000..87a4f2c9 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/ModelCommand.php @@ -0,0 +1,1205 @@ +extractCommonProperties($args); + $name = $this->_getName($args->getArgument('name') ?? ''); + + if (empty($name)) { + $io->out('Choose a model to bake from the following:'); + foreach ($this->listUnskipped() as $table) { + $io->out('- ' . $this->_camelize($table)); + } + + return static::CODE_SUCCESS; + } + + $this->bake($this->_camelize($name), $args, $io); + + return static::CODE_SUCCESS; + } + + /** + * Generate code for the given model name. + * + * @param string $name The model name to generate. + * @param \Cake\Console\Arguments $args Console Arguments. + * @param \Cake\Console\ConsoleIo $io Console Io. + * @return void + */ + public function bake(string $name, Arguments $args, ConsoleIo $io): void + { + $table = $this->getTable($name, $args); + $tableObject = $this->getTableObject($name, $table); + $data = $this->getTableContext($tableObject, $table, $name, $args, $io); + $this->bakeTable($tableObject, $data, $args, $io); + $this->bakeEntity($tableObject, $data, $args, $io); + $this->bakeFixture($tableObject->getAlias(), $tableObject->getTable(), $args, $io); + $this->bakeTest($tableObject->getAlias(), $args, $io); + } + + /** + * Get table context for baking a given table. + * + * @param \Cake\ORM\Table $tableObject The model name to generate. + * @param string $table The table name for the model being baked. + * @param string $name The model name to generate. + * @param \Cake\Console\Arguments $args CLI Arguments + * @param \Cake\Console\ConsoleIo $io CLI io + * @return array + */ + public function getTableContext( + Table $tableObject, + string $table, + string $name, + Arguments $args, + ConsoleIo $io + ): array { + $associations = $this->getAssociations($tableObject, $args, $io); + $this->applyAssociations($tableObject, $associations); + $associationInfo = $this->getAssociationInfo($tableObject); + + $primaryKey = $this->getPrimaryKey($tableObject, $args); + $displayField = $this->getDisplayField($tableObject, $args); + $propertySchema = $this->getEntityPropertySchema($tableObject); + $fields = $this->getFields($tableObject, $args); + $validation = $this->getValidation($tableObject, $associations, $args); + $rulesChecker = $this->getRules($tableObject, $associations, $args); + $behaviors = $this->getBehaviors($tableObject); + $connection = $this->connection; + $hidden = $this->getHiddenFields($tableObject, $args); + + return compact( + 'associations', + 'associationInfo', + 'primaryKey', + 'displayField', + 'table', + 'propertySchema', + 'fields', + 'validation', + 'rulesChecker', + 'behaviors', + 'connection', + 'hidden' + ); + } + + /** + * Get a model object for a class name. + * + * @param string $className Name of class you want model to be. + * @param string $table Table name + * @return \Cake\ORM\Table Table instance + */ + public function getTableObject(string $className, string $table): Table + { + if (!empty($this->plugin)) { + $className = $this->plugin . '.' . $className; + } + + if ($this->getTableLocator()->exists($className)) { + return $this->getTableLocator()->get($className); + } + + return $this->getTableLocator()->get($className, [ + 'name' => $className, + 'table' => $this->tablePrefix . $table, + 'connection' => ConnectionManager::get($this->connection), + ]); + } + + /** + * Get the array of associations to generate. + * + * @param \Cake\ORM\Table $table The table to get associations for. + * @param \Cake\Console\Arguments $args CLI Arguments + * @param \Cake\Console\ConsoleIo $io CLI io + * @return array + */ + public function getAssociations(Table $table, Arguments $args, ConsoleIo $io): array + { + if ($args->getOption('no-associations')) { + return []; + } + $io->out('One moment while associations are detected.'); + + $this->listAll(); + + $associations = [ + 'belongsTo' => [], + 'hasMany' => [], + 'belongsToMany' => [], + ]; + + $primary = $table->getPrimaryKey(); + $associations = $this->findBelongsTo($table, $associations); + + if (is_array($primary) && count($primary) > 1) { + $io->err( + 'Bake cannot generate associations for composite primary keys at this time.' + ); + + return $associations; + } + + $associations = $this->findHasMany($table, $associations); + $associations = $this->findBelongsToMany($table, $associations); + + return $associations; + } + + /** + * Sync the in memory table object. + * + * Composer's class cache prevents us from loading the + * newly generated class. Applying associations if we have a + * generic table object means fields will be detected correctly. + * + * @param \Cake\ORM\Table $model The table to apply associations to. + * @param array $associations The associations to append. + * @return void + */ + public function applyAssociations(Table $model, array $associations): void + { + if (get_class($model) !== Table::class) { + return; + } + foreach ($associations as $type => $assocs) { + foreach ($assocs as $assoc) { + $alias = $assoc['alias']; + unset($assoc['alias']); + $model->{$type}($alias, $assoc); + } + } + } + + /** + * Collects meta information for associations. + * + * The information returned is in the format of map, where the key is the + * association alias: + * + * ``` + * [ + * 'associationAlias' => [ + * 'targetFqn' => '...' + * ], + * // ... + * ] + * ``` + * + * @param \Cake\ORM\Table $table The table from which to collect association information. + * @return array A map of association information. + */ + public function getAssociationInfo(Table $table): array + { + $info = []; + + $appNamespace = Configure::read('App.namespace'); + + foreach ($table->associations() as $association) { + /** @var \Cake\ORM\Association $association */ + + $tableClass = get_class($association->getTarget()); + if ($tableClass === Table::class) { + $namespace = $appNamespace; + + $className = $association->getClassName(); + [$plugin, $className] = pluginSplit($className); + if ($plugin !== null) { + $namespace = $plugin; + } + + $namespace = str_replace('/', '\\', trim($namespace, '\\')); + $tableClass = $namespace . '\Model\Table\\' . $className . 'Table'; + } + + $info[$association->getName()] = [ + 'targetFqn' => '\\' . $tableClass, + ]; + } + + return $info; + } + + /** + * Find belongsTo relations and add them to the associations list. + * + * @param \Cake\ORM\Table $model Database\Table instance of table being generated. + * @param array $associations Array of in progress associations + * @return array Associations with belongsTo added in. + */ + public function findBelongsTo(Table $model, array $associations): array + { + $schema = $model->getSchema(); + foreach ($schema->columns() as $fieldName) { + if (!preg_match('/^.+_id$/', $fieldName) || ($schema->getPrimaryKey() === [$fieldName])) { + continue; + } + + if ($fieldName === 'parent_id') { + $className = $this->plugin ? $this->plugin . '.' . $model->getAlias() : $model->getAlias(); + $assoc = [ + 'alias' => 'Parent' . $model->getAlias(), + 'className' => $className, + 'foreignKey' => $fieldName, + ]; + } else { + $tmpModelName = $this->_modelNameFromKey($fieldName); + if (!in_array(Inflector::tableize($tmpModelName), $this->_tables, true)) { + $found = $this->findTableReferencedBy($schema, $fieldName); + if ($found) { + $tmpModelName = Inflector::camelize($found); + } + } + $assoc = [ + 'alias' => $tmpModelName, + 'foreignKey' => $fieldName, + ]; + if ($schema->getColumn($fieldName)['null'] === false) { + $assoc['joinType'] = 'INNER'; + } + } + + if ($this->plugin && empty($assoc['className'])) { + $assoc['className'] = $this->plugin . '.' . $assoc['alias']; + } + $associations['belongsTo'][] = $assoc; + } + + return $associations; + } + + /** + * find the table, if any, actually referenced by the passed key field. + * Search tables in db for keyField; if found search key constraints + * for the table to which it refers. + * + * @param \Cake\Database\Schema\TableSchemaInterface $schema The table schema to find a constraint for. + * @param string $keyField The field to check for a constraint. + * @return string|null Either the referenced table or null if the field has no constraints. + */ + public function findTableReferencedBy(TableSchemaInterface $schema, string $keyField): ?string + { + if (!$schema->getColumn($keyField)) { + return null; + } + + foreach ($schema->constraints() as $constraint) { + $constraintInfo = $schema->getConstraint($constraint); + if (!in_array($keyField, $constraintInfo['columns'])) { + continue; + } + + if (!isset($constraintInfo['references'])) { + continue; + } + $length = $this->tablePrefix ? mb_strlen($this->tablePrefix) : 0; + if ($length > 0 && mb_substr($constraintInfo['references'][0], 0, $length) === $this->tablePrefix) { + return mb_substr($constraintInfo['references'][0], $length); + } + + return $constraintInfo['references'][0]; + } + + return null; + } + + /** + * Find the hasMany relations and add them to associations list + * + * @param \Cake\ORM\Table $model Model instance being generated + * @param array $associations Array of in progress associations + * @return array Associations with hasMany added in. + */ + public function findHasMany(Table $model, array $associations): array + { + $schema = $model->getSchema(); + $primaryKey = $schema->getPrimaryKey(); + $tableName = $schema->name(); + $foreignKey = $this->_modelKey($tableName); + + $tables = $this->listAll(); + foreach ($tables as $otherTableName) { + $otherModel = $this->getTableObject($this->_camelize($otherTableName), $otherTableName); + $otherSchema = $otherModel->getSchema(); + + $pregTableName = preg_quote($tableName, '/'); + $pregPattern = "/^{$pregTableName}_|_{$pregTableName}$/"; + if (preg_match($pregPattern, $otherTableName) === 1) { + $possibleHABTMTargetTable = preg_replace($pregPattern, '', $otherTableName); + if (in_array($possibleHABTMTargetTable, $tables)) { + continue; + } + } + + foreach ($otherSchema->columns() as $fieldName) { + $assoc = false; + if (!in_array($fieldName, $primaryKey) && $fieldName === $foreignKey) { + $assoc = [ + 'alias' => $otherModel->getAlias(), + 'foreignKey' => $fieldName, + ]; + } elseif ($otherTableName === $tableName && $fieldName === 'parent_id') { + $className = $this->plugin ? $this->plugin . '.' . $model->getAlias() : $model->getAlias(); + $assoc = [ + 'alias' => 'Child' . $model->getAlias(), + 'className' => $className, + 'foreignKey' => $fieldName, + ]; + } + if ($assoc && $this->plugin && empty($assoc['className'])) { + $assoc['className'] = $this->plugin . '.' . $assoc['alias']; + } + if ($assoc) { + $associations['hasMany'][] = $assoc; + } + } + } + + return $associations; + } + + /** + * Find the BelongsToMany relations and add them to associations list + * + * @param \Cake\ORM\Table $model Model instance being generated + * @param array $associations Array of in-progress associations + * @return array Associations with belongsToMany added in. + */ + public function findBelongsToMany(Table $model, array $associations): array + { + $schema = $model->getSchema(); + $tableName = $schema->name(); + $foreignKey = $this->_modelKey($tableName); + + $tables = $this->listAll(); + foreach ($tables as $otherTableName) { + $assocTable = null; + $offset = strpos($otherTableName, $tableName . '_'); + $otherOffset = strpos($otherTableName, '_' . $tableName); + + if ($offset !== false) { + $assocTable = substr($otherTableName, strlen($tableName . '_')); + } elseif ($otherOffset !== false) { + $assocTable = substr($otherTableName, 0, $otherOffset); + } + if ($assocTable && in_array($assocTable, $tables)) { + $habtmName = $this->_camelize($assocTable); + $assoc = [ + 'alias' => $habtmName, + 'foreignKey' => $foreignKey, + 'targetForeignKey' => $this->_modelKey($habtmName), + 'joinTable' => $otherTableName, + ]; + if ($this->plugin) { + $assoc['className'] = $this->plugin . '.' . $assoc['alias']; + } + $associations['belongsToMany'][] = $assoc; + } + } + + return $associations; + } + + /** + * Get the display field from the model or parameters + * + * @param \Cake\ORM\Table $model The model to introspect. + * @param \Cake\Console\Arguments $args CLI Arguments + * @return string|null + * @psalm-suppress InvalidReturnType + */ + public function getDisplayField(Table $model, Arguments $args): ?string + { + if ($args->getOption('display-field')) { + return (string)$args->getOption('display-field'); + } + + /** @psalm-suppress InvalidReturnStatement */ + return $model->getDisplayField(); + } + + /** + * Get the primary key field from the model or parameters + * + * @param \Cake\ORM\Table $model The model to introspect. + * @param \Cake\Console\Arguments $args CLI Arguments + * @return string[] The columns in the primary key + */ + public function getPrimaryKey(Table $model, Arguments $args): array + { + if ($args->getOption('primary-key')) { + $fields = explode(',', $args->getOption('primary-key')); + + return array_values(array_filter(array_map('trim', $fields))); + } + + return (array)$model->getPrimaryKey(); + } + + /** + * Returns an entity property "schema". + * + * The schema is an associative array, using the property names + * as keys, and information about the property as the value. + * + * The value part consists of at least two keys: + * + * - `kind`: The kind of property, either `column`, which indicates + * that the property stems from a database column, or `association`, + * which identifies a property that is generated for an associated + * table. + * - `type`: The type of the property value. For the `column` kind + * this is the database type associated with the column, and for the + * `association` type it's the FQN of the entity class for the + * associated table. + * + * For `association` properties an additional key will be available + * + * - `association`: Holds an instance of the corresponding association + * class. + * + * @param \Cake\ORM\Table $model The model to introspect. + * @return array The property schema + */ + public function getEntityPropertySchema(Table $model): array + { + $properties = []; + + $schema = $model->getSchema(); + foreach ($schema->columns() as $column) { + $columnSchema = $schema->getColumn($column); + + $properties[$column] = [ + 'kind' => 'column', + 'type' => $columnSchema['type'], + 'null' => $columnSchema['null'], + ]; + } + + foreach ($model->associations() as $association) { + $entityClass = '\\' . ltrim($association->getTarget()->getEntityClass(), '\\'); + + if ($entityClass === '\Cake\ORM\Entity') { + $namespace = Configure::read('App.namespace'); + + [$plugin, ] = pluginSplit($association->getTarget()->getRegistryAlias()); + if ($plugin !== null) { + $namespace = $plugin; + } + $namespace = str_replace('/', '\\', trim($namespace, '\\')); + + $entityClass = $this->_entityName($association->getTarget()->getAlias()); + $entityClass = '\\' . $namespace . '\Model\Entity\\' . $entityClass; + } + + $properties[$association->getProperty()] = [ + 'kind' => 'association', + 'association' => $association, + 'type' => $entityClass, + ]; + } + + return $properties; + } + + /** + * Evaluates the fields and no-fields options, and + * returns if, and which fields should be made accessible. + * + * If no fields are specified and the `no-fields` parameter is + * not set, then all non-primary key fields + association + * fields will be set as accessible. + * + * @param \Cake\ORM\Table $table The table instance to get fields for. + * @param \Cake\Console\Arguments $args CLI Arguments + * @return string[]|false|null Either an array of fields, `false` in + * case the no-fields option is used, or `null` if none of the + * field options is used. + */ + public function getFields(Table $table, Arguments $args) + { + if ($args->getOption('no-fields')) { + return false; + } + if ($args->getOption('fields')) { + $fields = explode(',', $args->getOption('fields')); + + return array_values(array_filter(array_map('trim', $fields))); + } + $schema = $table->getSchema(); + $fields = $schema->columns(); + foreach ($table->associations() as $assoc) { + $fields[] = $assoc->getProperty(); + } + $primaryKey = $schema->getPrimaryKey(); + + return array_values(array_diff($fields, $primaryKey)); + } + + /** + * Get the hidden fields from a model. + * + * Uses the hidden and no-hidden options. + * + * @param \Cake\ORM\Table $model The model to introspect. + * @param \Cake\Console\Arguments $args CLI Arguments + * @return string[] The columns to make accessible + */ + public function getHiddenFields(Table $model, Arguments $args): array + { + if ($args->getOption('no-hidden')) { + return []; + } + if ($args->getOption('hidden')) { + $fields = explode(',', $args->getOption('hidden')); + + return array_values(array_filter(array_map('trim', $fields))); + } + $schema = $model->getSchema(); + $columns = $schema->columns(); + $whitelist = ['token', 'password', 'passwd']; + + return array_values(array_intersect($columns, $whitelist)); + } + + /** + * Generate default validation rules. + * + * @param \Cake\ORM\Table $model The model to introspect. + * @param array $associations The associations list. + * @param \Cake\Console\Arguments $args CLI Arguments + * @return array|false The validation rules. + */ + public function getValidation(Table $model, array $associations, Arguments $args) + { + if ($args->getOption('no-validation')) { + return []; + } + $schema = $model->getSchema(); + $fields = $schema->columns(); + if (!$fields) { + return false; + } + + $validate = []; + $primaryKey = $schema->getPrimaryKey(); + $foreignKeys = []; + if (isset($associations['belongsTo'])) { + foreach ($associations['belongsTo'] as $assoc) { + $foreignKeys[] = $assoc['foreignKey']; + } + } + foreach ($fields as $fieldName) { + if (in_array($fieldName, $foreignKeys, true)) { + continue; + } + $field = $schema->getColumn($fieldName); + $validation = $this->fieldValidation($schema, $fieldName, $field, $primaryKey); + if ($validation) { + $validate[$fieldName] = $validation; + } + } + + return $validate; + } + + /** + * Does individual field validation handling. + * + * @param \Cake\Database\Schema\TableSchemaInterface $schema The table schema for the current field. + * @param string $fieldName Name of field to be validated. + * @param array $metaData metadata for field + * @param array $primaryKey The primary key field + * @return array Array of validation for the field. + */ + public function fieldValidation( + TableSchemaInterface $schema, + string $fieldName, + array $metaData, + array $primaryKey + ): array { + $ignoreFields = ['lft', 'rght', 'created', 'modified', 'updated']; + if (in_array($fieldName, $ignoreFields, true)) { + return []; + } + + $rules = []; + if ($fieldName === 'email') { + $rules['email'] = []; + } elseif ($metaData['type'] === 'uuid') { + $rules['uuid'] = []; + } elseif ($metaData['type'] === 'integer') { + if ($metaData['unsigned']) { + $rules['nonNegativeInteger'] = []; + } else { + $rules['integer'] = []; + } + } elseif ($metaData['type'] === 'float') { + $rules['numeric'] = []; + if ($metaData['unsigned']) { + $rules['greaterThanOrEqual'] = [ + 0, + ]; + } + } elseif ($metaData['type'] === 'decimal') { + $rules['decimal'] = []; + if ($metaData['unsigned']) { + $rules['greaterThanOrEqual'] = [ + 0, + ]; + } + } elseif ($metaData['type'] === 'boolean') { + $rules['boolean'] = []; + } elseif ($metaData['type'] === 'date') { + $rules['date'] = []; + } elseif ($metaData['type'] === 'time') { + $rules['time'] = []; + } elseif (strpos($metaData['type'], 'datetime') === 0) { + $rules['dateTime'] = []; + } elseif (strpos($metaData['type'], 'timestamp') === 0) { + $rules['dateTime'] = []; + } elseif ($metaData['type'] === 'inet') { + $rules['ip'] = []; + } elseif (in_array($metaData['type'], ['char', 'string', 'text'], true)) { + $rules['scalar'] = []; + if ($metaData['length'] > 0) { + $rules['maxLength'] = [$metaData['length']]; + } + } + + $validation = []; + foreach ($rules as $rule => $args) { + $validation[$rule] = [ + 'rule' => $rule, + 'args' => $args, + ]; + } + + if (in_array($fieldName, $primaryKey, true)) { + $validation['allowEmpty'] = [ + 'rule' => $this->getEmptyMethod($fieldName, $metaData), + 'args' => ['null', "'create'"], + ]; + } elseif ($metaData['null'] === true) { + $validation['allowEmpty'] = [ + 'rule' => $this->getEmptyMethod($fieldName, $metaData), + 'args' => [], + ]; + } else { + if ($metaData['default'] === null || $metaData['default'] === false) { + $validation['requirePresence'] = [ + 'rule' => 'requirePresence', + 'args' => ["'create'"], + ]; + } + $validation['notEmpty'] = [ + 'rule' => $this->getEmptyMethod($fieldName, $metaData, 'not'), + 'args' => [], + ]; + } + + foreach ($schema->constraints() as $constraint) { + $constraint = $schema->getConstraint($constraint); + if (!in_array($fieldName, $constraint['columns'], true) || count($constraint['columns']) > 1) { + continue; + } + + $timeTypes = [ + 'datetime', + 'timestamp', + 'datetimefractional', + 'timestampfractional', + 'timestamptimezone', + 'date', + 'time', + ]; + $notDatetime = !in_array($metaData['type'], $timeTypes, true); + if ($constraint['type'] === TableSchema::CONSTRAINT_UNIQUE && $notDatetime) { + $validation['unique'] = ['rule' => 'validateUnique', 'provider' => 'table']; + } + } + + return $validation; + } + + /** + * Get the specific allow empty method for field based on metadata. + * + * @param string $fieldName Field name. + * @param array $metaData Field meta data. + * @param string $prefix Method name prefix. + * @return string + */ + protected function getEmptyMethod(string $fieldName, array $metaData, string $prefix = 'allow'): string + { + switch ($metaData['type']) { + case 'date': + return $prefix . 'EmptyDate'; + + case 'time': + return $prefix . 'EmptyTime'; + + case 'datetime': + case 'datetimefractional': + case 'timestamp': + case 'timestampfractional': + case 'timestamptimezone': + return $prefix . 'EmptyDateTime'; + } + + if (preg_match('/file|image/', $fieldName)) { + return $prefix . 'EmptyFile'; + } + + return $prefix . 'EmptyString'; + } + + /** + * Generate default rules checker. + * + * @param \Cake\ORM\Table $model The model to introspect. + * @param array $associations The associations for the model. + * @param \Cake\Console\Arguments $args CLI Arguments + * @return array The rules to be applied. + */ + public function getRules(Table $model, array $associations, Arguments $args): array + { + if ($args->getOption('no-rules')) { + return []; + } + $schema = $model->getSchema(); + $fields = $schema->columns(); + if (empty($fields)) { + return []; + } + + $uniqueColumns = ['username', 'login']; + if (in_array($model->getAlias(), ['Users', 'Accounts'])) { + $uniqueColumns[] = 'email'; + } + + $rules = []; + foreach ($fields as $fieldName) { + if (in_array($fieldName, $uniqueColumns, true)) { + $rules[$fieldName] = ['name' => 'isUnique']; + } + } + foreach ($schema->constraints() as $name) { + $constraint = $schema->getConstraint($name); + if ($constraint['type'] !== TableSchema::CONSTRAINT_UNIQUE) { + continue; + } + if (count($constraint['columns']) > 1) { + continue; + } + $rules[$constraint['columns'][0]] = ['name' => 'isUnique']; + } + + if (empty($associations['belongsTo'])) { + return $rules; + } + + foreach ($associations['belongsTo'] as $assoc) { + $rules[$assoc['foreignKey']] = ['name' => 'existsIn', 'extra' => $assoc['alias']]; + } + + return $rules; + } + + /** + * Get behaviors + * + * @param \Cake\ORM\Table $model The model to generate behaviors for. + * @return array Behaviors + */ + public function getBehaviors(Table $model): array + { + $behaviors = []; + $schema = $model->getSchema(); + $fields = $schema->columns(); + if (empty($fields)) { + return []; + } + if (in_array('created', $fields, true) || in_array('modified', $fields, true)) { + $behaviors['Timestamp'] = []; + } + + if ( + in_array('lft', $fields, true) + && $schema->getColumnType('lft') === 'integer' + && in_array('rght', $fields, true) + && $schema->getColumnType('rght') === 'integer' + && in_array('parent_id', $fields, true) + ) { + $behaviors['Tree'] = []; + } + + $counterCache = $this->getCounterCache($model); + if (!empty($counterCache)) { + $behaviors['CounterCache'] = $counterCache; + } + + return $behaviors; + } + + /** + * Get CounterCaches + * + * @param \Cake\ORM\Table $model The table to get counter cache fields for. + * @return string[] CounterCache configurations + */ + public function getCounterCache(Table $model): array + { + $belongsTo = $this->findBelongsTo($model, ['belongsTo' => []]); + $counterCache = []; + foreach ($belongsTo['belongsTo'] as $otherTable) { + $otherAlias = $otherTable['alias']; + $otherModel = $this->getTableObject($this->_camelize($otherAlias), Inflector::underscore($otherAlias)); + + try { + $otherSchema = $otherModel->getSchema(); + } catch (Exception $e) { + continue; + } + + $otherFields = $otherSchema->columns(); + $alias = $model->getAlias(); + $field = Inflector::singularize(Inflector::underscore($alias)) . '_count'; + if (in_array($field, $otherFields, true)) { + $counterCache[] = "'{$otherAlias}' => ['{$field}']"; + } + } + + return $counterCache; + } + + /** + * Bake an entity class. + * + * @param \Cake\ORM\Table $model Model name or object + * @param array $data An array to use to generate the Table + * @param \Cake\Console\Arguments $args CLI Arguments + * @param \Cake\Console\ConsoleIo $io CLI io + * @return void + */ + public function bakeEntity(Table $model, array $data, Arguments $args, ConsoleIo $io): void + { + if ($args->getOption('no-entity')) { + return; + } + $name = $this->_entityName($model->getAlias()); + + $namespace = Configure::read('App.namespace'); + $pluginPath = ''; + if ($this->plugin) { + $namespace = $this->_pluginNamespace($this->plugin); + $pluginPath = $this->plugin . '.'; + } + + $data += [ + 'name' => $name, + 'namespace' => $namespace, + 'plugin' => $this->plugin, + 'pluginPath' => $pluginPath, + 'primaryKey' => [], + ]; + + $renderer = new TemplateRenderer($this->theme); + $renderer->set($data); + $out = $renderer->generate('Bake.Model/entity'); + + $path = $this->getPath($args); + $filename = $path . 'Entity' . DS . $name . '.php'; + $io->out("\n" . sprintf('Baking entity class for %s...', $name), 1, ConsoleIo::QUIET); + $io->createFile($filename, $out, $args->getOption('force')); + + $emptyFile = $path . 'Entity' . DS . '.gitkeep'; + $this->deleteEmptyFile($emptyFile, $io); + } + + /** + * Bake a table class. + * + * @param \Cake\ORM\Table $model Model name or object + * @param array $data An array to use to generate the Table + * @param \Cake\Console\Arguments $args CLI Arguments + * @param \Cake\Console\ConsoleIo $io CLI Arguments + * @return void + */ + public function bakeTable(Table $model, array $data, Arguments $args, ConsoleIo $io): void + { + if ($args->getOption('no-table')) { + return; + } + + $namespace = Configure::read('App.namespace'); + $pluginPath = ''; + if ($this->plugin) { + $namespace = $this->_pluginNamespace($this->plugin); + } + + $name = $model->getAlias(); + $entity = $this->_entityName($model->getAlias()); + $data += [ + 'plugin' => $this->plugin, + 'pluginPath' => $pluginPath, + 'namespace' => $namespace, + 'name' => $name, + 'entity' => $entity, + 'associations' => [], + 'primaryKey' => 'id', + 'displayField' => null, + 'table' => null, + 'validation' => [], + 'rulesChecker' => [], + 'behaviors' => [], + 'connection' => $this->connection, + ]; + + $renderer = new TemplateRenderer($this->theme); + $renderer->set($data); + $out = $renderer->generate('Bake.Model/table'); + + $path = $this->getPath($args); + $filename = $path . 'Table' . DS . $name . 'Table.php'; + $io->out("\n" . sprintf('Baking table class for %s...', $name), 1, ConsoleIo::QUIET); + $io->createFile($filename, $out, $args->getOption('force')); + + // Work around composer caching that classes/files do not exist. + // Check for the file as it might not exist in tests. + if (file_exists($filename)) { + require_once $filename; + } + $this->getTableLocator()->clear(); + + $emptyFile = $path . 'Table' . DS . '.gitkeep'; + $this->deleteEmptyFile($emptyFile, $io); + } + + /** + * Outputs the a list of possible models or controllers from database + * + * @return string[] + */ + public function listAll(): array + { + if (!empty($this->_tables)) { + return $this->_tables; + } + + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + $this->_tables = $scanner->listAll(); + + return $this->_tables; + } + + /** + * Outputs the a list of unskipped models or controllers from database + * + * @return string[] + */ + public function listUnskipped(): array + { + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + + return $scanner->listUnskipped(); + } + + /** + * Get the table name for the model being baked. + * + * Uses the `table` option if it is set. + * + * @param string $name Table name + * @param \Cake\Console\Arguments $args The CLI arguments + * @return string + */ + public function getTable(string $name, Arguments $args): string + { + if ($args->getOption('table')) { + return (string)$args->getOption('table'); + } + + return Inflector::underscore($name); + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser The parser to configure + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = $this->_setCommonOptions($parser); + + $parser->setDescription( + 'Bake table and entity classes.' + )->addArgument('name', [ + 'help' => 'Name of the model to bake (without the Table suffix). ' . + 'You can use Plugin.name to bake plugin models.', + ])->addOption('table', [ + 'help' => 'The table name to use if you have non-conventional table names.', + ])->addOption('no-entity', [ + 'boolean' => true, + 'help' => 'Disable generating an entity class.', + ])->addOption('no-table', [ + 'boolean' => true, + 'help' => 'Disable generating a table class.', + ])->addOption('no-validation', [ + 'boolean' => true, + 'help' => 'Disable generating validation rules.', + ])->addOption('no-rules', [ + 'boolean' => true, + 'help' => 'Disable generating a rules checker.', + ])->addOption('no-associations', [ + 'boolean' => true, + 'help' => 'Disable generating associations.', + ])->addOption('no-fields', [ + 'boolean' => true, + 'help' => 'Disable generating accessible fields in the entity.', + ])->addOption('fields', [ + 'help' => 'A comma separated list of fields to make accessible.', + ])->addOption('no-hidden', [ + 'boolean' => true, + 'help' => 'Disable generating hidden fields in the entity.', + ])->addOption('hidden', [ + 'help' => 'A comma separated list of fields to hide.', + ])->addOption('primary-key', [ + 'help' => 'The primary key if you would like to manually set one.' . + ' Can be a comma separated list if you are using a composite primary key.', + ])->addOption('display-field', [ + 'help' => 'The displayField if you would like to choose one.', + ])->addOption('no-test', [ + 'boolean' => true, + 'help' => 'Do not generate a test case skeleton.', + ])->addOption('no-fixture', [ + 'boolean' => true, + 'help' => 'Do not generate a test fixture skeleton.', + ])->setEpilog( + 'Omitting all arguments and options will list the table names you can generate models for.' + ); + + return $parser; + } + + /** + * Interact with FixtureTask to automatically bake fixtures when baking models. + * + * @param string $className Name of class to bake fixture for + * @param string $useTable Optional table name for fixture to use. + * @param \Cake\Console\Arguments $args Arguments instance + * @param \Cake\Console\ConsoleIo $io ConsoleIo instance + * @return void + */ + public function bakeFixture( + string $className, + string $useTable, + Arguments $args, + ConsoleIo $io + ): void { + if ($args->getOption('no-fixture')) { + return; + } + $fixture = new FixtureCommand(); + $fixtureArgs = new Arguments( + [$className], + ['table' => $useTable] + $args->getOptions(), + ['name'] + ); + $fixture->execute($fixtureArgs, $io); + } + + /** + * Assembles and writes a unit test file + * + * @param string $className Model class name + * @param \Cake\Console\Arguments $args Arguments instance + * @param \Cake\Console\ConsoleIo $io ConsoleIo instance + * @return void + */ + public function bakeTest(string $className, Arguments $args, ConsoleIo $io): void + { + if ($args->getOption('no-test')) { + return; + } + $test = new TestCommand(); + $testArgs = new Arguments( + ['table', $className], + $args->getOptions(), + ['type', 'name'] + ); + $test->execute($testArgs, $io); + } +} diff --git a/app/vendor/cakephp/bake/src/Command/PluginCommand.php b/app/vendor/cakephp/bake/src/Command/PluginCommand.php new file mode 100644 index 00000000..9afc3558 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/PluginCommand.php @@ -0,0 +1,425 @@ +path = current(App::path('plugins')); + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null The exit code or null for success + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + $name = $args->getArgument('name'); + if (empty($name)) { + $io->err('You must provide a plugin name in CamelCase format.'); + $io->err('To make an "MyExample" plugin, run `cake bake plugin MyExample`.'); + + return static::CODE_ERROR; + } + $parts = explode('/', $name); + $plugin = implode('/', array_map([Inflector::class, 'camelize'], $parts)); + + $pluginPath = $this->_pluginPath($plugin); + if (is_dir($pluginPath)) { + $io->out(sprintf('Plugin: %s already exists, no action taken', $plugin)); + $io->out(sprintf('Path: %s', $pluginPath)); + + return static::CODE_ERROR; + } + if (!$this->bake($plugin, $args, $io)) { + $io->error(sprintf('An error occurred trying to bake: %s in %s', $plugin, $this->path . $plugin)); + $this->abort(); + } + + return static::CODE_SUCCESS; + } + + /** + * Bake the plugin's contents + * + * Also update the autoloader and the root composer.json file if it can be found + * + * @param string $plugin Name of the plugin in CamelCased format + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return bool|null + */ + public function bake(string $plugin, Arguments $args, ConsoleIo $io): ?bool + { + $pathOptions = App::path('plugins'); + if (count($pathOptions) > 1) { + $this->findPath($pathOptions, $io); + } + $io->out(sprintf('Plugin Name: %s', $plugin)); + $io->out(sprintf('Plugin Directory: %s', $this->path . $plugin)); + $io->hr(); + + $looksGood = $io->askChoice('Look okay?', ['y', 'n', 'q'], 'y'); + + if (strtolower($looksGood) !== 'y') { + return null; + } + + $this->_generateFiles($plugin, $this->path, $args, $io); + + $this->_modifyAutoloader($plugin, $this->path, $args, $io); + $this->_modifyApplication($plugin, $io); + + $io->hr(); + $io->out(sprintf('Created: %s in %s', $plugin, $this->path . $plugin), 2); + + $emptyFile = $this->path . '.gitkeep'; + $this->deleteEmptyFile($emptyFile, $io); + + return true; + } + + /** + * Modify the application class + * + * @param string $plugin Name of plugin the plugin. + * @param \Cake\Console\ConsoleIo $io ConsoleIo + * @return void + */ + protected function _modifyApplication(string $plugin, ConsoleIo $io): void + { + $this->executeCommand(PluginLoadCommand::class, [$plugin], $io); + } + + /** + * Generate all files for a plugin + * + * Find the first path which contains `src/Template/Bake/Plugin` that contains + * something, and use that as the template to recursively render a plugin's + * contents. Allows the creation of a bake them containing a `Plugin` folder + * to provide customized bake output for plugins. + * + * @param string $pluginName the CamelCase name of the plugin + * @param string $path the path to the plugins dir (the containing folder) + * @param \Cake\Console\Arguments $args CLI arguments. + * @param \Cake\Console\ConsoleIo $io The io instance. + * @return void + */ + protected function _generateFiles( + string $pluginName, + string $path, + Arguments $args, + ConsoleIo $io + ): void { + $namespace = str_replace('/', '\\', $pluginName); + $baseNamespace = Configure::read('App.namespace'); + + $name = $pluginName; + $vendor = 'your-name-here'; + if (strpos($pluginName, '/') !== false) { + [$vendor, $name] = explode('/', $pluginName); + } + $package = Inflector::dasherize($vendor) . '/' . Inflector::dasherize($name); + + /** @psalm-suppress UndefinedConstant */ + $composerConfig = json_decode( + file_get_contents(ROOT . DS . 'composer.json'), + true + ); + + $renderer = new TemplateRenderer($args->getOption('theme')); + $renderer->set([ + 'package' => $package, + 'namespace' => $namespace, + 'baseNamespace' => $baseNamespace, + 'plugin' => $pluginName, + 'routePath' => Inflector::dasherize($pluginName), + 'path' => $path, + 'root' => ROOT, + 'cakeVersion' => $composerConfig['require']['cakephp/cakephp'], + ]); + + $root = $path . $pluginName . DS; + + $paths = []; + if ($args->hasOption('theme')) { + $paths[] = Plugin::templatePath($args->getOption('theme')); + } + + $paths = array_merge($paths, Configure::read('App.paths.templates')); + $paths[] = Plugin::templatePath('Bake'); + + $fs = new Filesystem(); + $templates = []; + do { + $templatesPath = array_shift($paths) . BakeView::BAKE_TEMPLATE_FOLDER . '/Plugin'; + if (is_dir($templatesPath)) { + $templates = array_keys(iterator_to_array( + $fs->findRecursive($templatesPath, '/.*\.(twig|php)/') + )); + } + } while (!$templates); + + sort($templates); + foreach ($templates as $template) { + $template = substr($template, strrpos($template, 'Plugin' . DIRECTORY_SEPARATOR) + 7, -4); + $template = rtrim($template, '.'); + $this->_generateFile($renderer, $template, $root, $io); + } + } + + /** + * Generate a file + * + * @param \Bake\Utility\TemplateRenderer $renderer The renderer to use. + * @param string $template The template to render + * @param string $root The path to the plugin's root + * @param \Cake\Console\ConsoleIo $io The io instance. + * @return void + */ + protected function _generateFile( + TemplateRenderer $renderer, + string $template, + string $root, + ConsoleIo $io + ): void { + $io->out(sprintf('Generating %s file...', $template)); + $out = $renderer->generate('Bake.Plugin/' . $template); + $io->createFile($root . $template, $out); + } + + /** + * Modifies App's composer.json to include the plugin and tries to call + * composer dump-autoload to refresh the autoloader cache + * + * @param string $plugin Name of plugin + * @param string $path The path to save the phpunit.xml file to. + * @param \Cake\Console\Arguments $args The Arguments instance. + * @param \Cake\Console\ConsoleIo $io The io instance. + * @return bool True if composer could be modified correctly + */ + protected function _modifyAutoloader( + string $plugin, + string $path, + Arguments $args, + ConsoleIo $io + ): bool { + $file = $this->_rootComposerFilePath(); + + if (!file_exists($file)) { + $io->out(sprintf('Main composer file %s not found', $file)); + + return false; + } + + $autoloadPath = str_replace(ROOT . DS, '', $this->path); + $autoloadPath = str_replace('\\', '/', $autoloadPath); + $namespace = str_replace('/', '\\', $plugin); + + $config = json_decode(file_get_contents($file), true); + $config['autoload']['psr-4'][$namespace . '\\'] = $autoloadPath . $plugin . '/src/'; + $config['autoload-dev']['psr-4'][$namespace . '\\Test\\'] = $autoloadPath . $plugin . '/tests/'; + + $io->out('Modifying composer autoloader'); + + $out = json_encode($config, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . "\n"; + $io->createFile($file, $out, (bool)$args->getOption('force')); + + $composer = $this->findComposer($args, $io); + + if (!$composer) { + $io->error('Could not locate composer. Add composer to your PATH, or use the --composer option.'); + $this->abort(); + } + + try { + $cwd = getcwd(); + + // Windows makes running multiple commands at once hard. + chdir(dirname($this->_rootComposerFilePath())); + $command = 'php ' . escapeshellarg($composer) . ' dump-autoload'; + $process = new Process($io); + $io->out($process->call($command)); + + chdir($cwd); + } catch (\RuntimeException $e) { + $error = $e->getMessage(); + $io->error(sprintf('Could not run `composer dump-autoload`: %s', $error)); + $this->abort(); + } + + return true; + } + + /** + * The path to the main application's composer file + * + * This is a test isolation wrapper + * + * @return string the abs file path + */ + protected function _rootComposerFilePath(): string + { + return ROOT . DS . 'composer.json'; + } + + /** + * find and change $this->path to the user selection + * + * @param array $pathOptions The list of paths to look in. + * @param \Cake\Console\ConsoleIo $io The io object + * @return void + */ + public function findPath(array $pathOptions, ConsoleIo $io): void + { + $valid = false; + foreach ($pathOptions as $i => $path) { + if (!is_dir($path)) { + unset($pathOptions[$i]); + } + } + $pathOptions = array_values($pathOptions); + $max = count($pathOptions); + + if ($max === 0) { + $io->error('No valid plugin paths found! Please configure a plugin path that exists.'); + $this->abort(); + } + + if ($max === 1) { + $this->path = $pathOptions[0]; + + return; + } + + $choice = 0; + while (!$valid) { + foreach ($pathOptions as $i => $option) { + $io->out($i + 1 . '. ' . $option); + } + $prompt = 'Choose a plugin path from the paths above.'; + $choice = (int)$io->ask($prompt); + if ($choice > 0 && $choice <= $max) { + $valid = true; + } + } + $this->path = $pathOptions[$choice - 1]; + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser The option parser + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser->setDescription( + 'Create the directory structure, AppController class and testing setup for a new plugin. ' . + 'Can create plugins in any of your bootstrapped plugin paths.' + )->addArgument('name', [ + 'help' => 'CamelCased name of the plugin to create.', + ])->addOption('composer', [ + 'default' => ROOT . DS . 'composer.phar', + 'help' => 'The path to the composer executable.', + ]); + + return $parser; + } + + /** + * Uses either the CLI option or looks in $PATH and cwd for composer. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return string|bool Either the path to composer or false if it cannot be found. + */ + public function findComposer(Arguments $args, ConsoleIo $io) + { + if ($args->hasOption('composer')) { + /** @var string $path */ + $path = $args->getOption('composer'); + if (file_exists($path)) { + return $path; + } + } + $composer = false; + $path = env('PATH'); + if (!empty($path)) { + $paths = explode(PATH_SEPARATOR, $path); + $composer = $this->_searchPath($paths, $io); + } + + return $composer; + } + + /** + * Search the $PATH for composer. + * + * @param array $path The paths to search. + * @param \Cake\Console\ConsoleIo $io The console io + * @return string|bool + */ + protected function _searchPath(array $path, ConsoleIo $io) + { + $composer = ['composer.phar', 'composer']; + foreach ($path as $dir) { + foreach ($composer as $cmd) { + if (is_file($dir . DS . $cmd)) { + $io->verbose('Found composer executable in ' . $dir); + + return $dir . DS . $cmd; + } + } + } + + return false; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/ShellCommand.php b/app/vendor/cakephp/bake/src/Command/ShellCommand.php new file mode 100644 index 00000000..a724415b --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/ShellCommand.php @@ -0,0 +1,54 @@ +plugin) { + $namespace = $this->_pluginNamespace($this->plugin); + } + + return ['namespace' => $namespace]; + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null The exit code or null for success + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + $this->extractCommonProperties($args); + $name = $args->getArgumentAt(0); + if (empty($name)) { + $io->err('You must provide a name to bake a ' . $this->name()); + $this->abort(); + + return null; + } + $name = $this->_getName($name); + $name = Inflector::camelize($name); + $this->bake($name, $args, $io); + $this->bakeTest($name, $args, $io); + + return static::CODE_SUCCESS; + } + + /** + * Generate a class stub + * + * @param string $name The class name + * @param \Cake\Console\Arguments $args The console arguments + * @param \Cake\Console\ConsoleIo $io The console io + * @return void + */ + protected function bake(string $name, Arguments $args, ConsoleIo $io): void + { + $renderer = new TemplateRenderer($args->getOption('theme')); + $renderer->set('name', $name); + $renderer->set($this->templateData($args)); + $contents = $renderer->generate($this->template()); + + $filename = $this->getPath($args) . $this->fileName($name); + $io->createFile($filename, $contents, (bool)$args->getOption('force')); + + $emptyFile = $this->getPath($args) . '.gitkeep'; + $this->deleteEmptyFile($emptyFile, $io); + } + + /** + * Generate a test case. + * + * @param string $className The class to bake a test for. + * @param \Cake\Console\Arguments $args The console arguments + * @param \Cake\Console\ConsoleIo $io The console io + * @return void + */ + public function bakeTest(string $className, Arguments $args, ConsoleIo $io): void + { + if ($args->getOption('no-test')) { + return; + } + $test = new TestCommand(); + $test->plugin = $this->plugin; + $test->bake($this->name(), $className, $args, $io); + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser Option parser to update. + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = $this->_setCommonOptions($parser); + $name = $this->name(); + $parser->setDescription( + sprintf('Bake a %s class file.', $name) + )->addArgument('name', [ + 'help' => sprintf( + 'Name of the %s to bake. Can use Plugin.name to bake %s files into plugins.', + $name, + $name + ), + ])->addOption('no-test', [ + 'boolean' => true, + 'help' => 'Do not generate a test skeleton.', + ]); + + return $parser; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/TaskCommand.php b/app/vendor/cakephp/bake/src/Command/TaskCommand.php new file mode 100644 index 00000000..e508e537 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/TaskCommand.php @@ -0,0 +1,54 @@ +templateCommand = new TemplateCommand(); + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int The exit code + */ + public function execute(Arguments $args, ConsoleIo $io): int + { + $this->extractCommonProperties($args); + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + + foreach ($scanner->listUnskipped() as $table) { + $templateArgs = new Arguments([$table], $args->getOptions(), ['name']); + $this->templateCommand->execute($templateArgs, $io); + } + + return static::CODE_SUCCESS; + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser The option parser to update. + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = $this->_setCommonOptions($parser); + $parser + ->setDescription('Bake all view template files.') + ->addOption('prefix', [ + 'help' => 'The routing prefix to generate views for.', + ])->addOption('index-columns', [ + 'help' => 'Limit for the number of index columns', + 'default' => 0, + ]); + + return $parser; + } +} diff --git a/app/vendor/cakephp/bake/src/Command/TemplateCommand.php b/app/vendor/cakephp/bake/src/Command/TemplateCommand.php new file mode 100644 index 00000000..bb8bfd90 --- /dev/null +++ b/app/vendor/cakephp/bake/src/Command/TemplateCommand.php @@ -0,0 +1,435 @@ +path = current(App::path('templates')); + } + + /** + * Execute the command. + * + * @param \Cake\Console\Arguments $args The command arguments. + * @param \Cake\Console\ConsoleIo $io The console io + * @return int|null The exit code or null for success + */ + public function execute(Arguments $args, ConsoleIo $io): ?int + { + $this->extractCommonProperties($args); + $name = $args->getArgument('name') ?? ''; + $name = $this->_getName($name); + + if (empty($name)) { + $io->out('Possible tables to bake view templates for based on your current database:'); + /** @var \Cake\Database\Connection $connection */ + $connection = ConnectionManager::get($this->connection); + $scanner = new TableScanner($connection); + foreach ($scanner->listUnskipped() as $table) { + $io->out('- ' . $this->_camelize($table)); + } + + return static::CODE_SUCCESS; + } + $template = $args->getArgument('template'); + $action = $args->getArgument('action'); + + $controller = $args->getOption('controller'); + $this->controller($args, $name, $controller); + $this->model($name); + + if ($template && $action === null) { + $action = $template; + } + if ($template) { + $this->bake($args, $io, $template, true, $action); + + return static::CODE_SUCCESS; + } + + $vars = $this->_loadController($io); + $methods = $this->_methodsToBake(); + + foreach ($methods as $method) { + try { + $content = $this->getContent($args, $io, $method, $vars); + $this->bake($args, $io, $method, $content); + } catch (MissingTemplateException $e) { + $io->verbose($e->getMessage()); + } catch (RuntimeException $e) { + $io->error($e->getMessage()); + } + } + + return static::CODE_SUCCESS; + } + + /** + * Set the model class for the table. + * + * @param string $table The table/model that is being baked. + * @return void + */ + public function model(string $table): void + { + $tableName = $this->_camelize($table); + $plugin = $this->plugin; + if ($plugin) { + $plugin = $plugin . '.'; + } + $this->modelName = $plugin . $tableName; + } + + /** + * Set the controller related properties. + * + * @param \Cake\Console\Arguments $args The arguments + * @param string $table The table/model that is being baked. + * @param string|null $controller The controller name if specified. + * @return void + */ + public function controller(Arguments $args, string $table, ?string $controller = null): void + { + $tableName = $this->_camelize($table); + if (empty($controller)) { + $controller = $tableName; + } + $this->controllerName = $controller; + + $plugin = $this->plugin; + if ($plugin) { + $plugin .= '.'; + } + $prefix = $this->getPrefix($args); + if ($prefix) { + $prefix .= '/'; + } + $this->controllerClass = (string)App::className($plugin . $prefix . $controller, 'Controller', 'Controller'); + } + + /** + * Get the path base for view templates. + * + * @param \Cake\Console\Arguments $args The arguments + * @param string|null $container Unused. + * @return string + */ + public function getTemplatePath(Arguments $args, ?string $container = null): string + { + $path = parent::getTemplatePath($args, $container); + $path .= $this->controllerName . DS; + + return $path; + } + + /** + * Get a list of actions that can / should have view templates baked for them. + * + * @return string[] Array of action names that should be baked + */ + protected function _methodsToBake(): array + { + $base = Configure::read('App.namespace'); + + $methods = []; + if (class_exists($this->controllerClass)) { + $methods = array_diff( + array_map( + 'Cake\Utility\Inflector::underscore', + get_class_methods($this->controllerClass) + ), + array_map( + 'Cake\Utility\Inflector::underscore', + get_class_methods($base . '\Controller\AppController') + ) + ); + } + if (empty($methods)) { + $methods = $this->scaffoldActions; + } + foreach ($methods as $i => $method) { + if ($method[0] === '_') { + unset($methods[$i]); + } + } + + return $methods; + } + + /** + * Loads Controller and sets variables for the template + * Available template variables: + * + * - 'modelObject' + * - 'modelClass' + * - 'entityClass' + * - 'primaryKey' + * - 'displayField' + * - 'singularVar' + * - 'pluralVar' + * - 'singularHumanName' + * - 'pluralHumanName' + * - 'fields' + * - 'keyFields' + * - 'schema' + * + * @param \Cake\Console\ConsoleIo $io Instance of the ConsoleIO + * @return array Returns variables to be made available to a view template + */ + protected function _loadController(ConsoleIo $io): array + { + if ($this->getTableLocator()->exists($this->modelName)) { + $modelObject = $this->getTableLocator()->get($this->modelName); + } else { + $modelObject = $this->getTableLocator()->get($this->modelName, [ + 'connectionName' => $this->connection, + ]); + } + + $namespace = Configure::read('App.namespace'); + + $primaryKey = $displayField = $singularVar = $singularHumanName = null; + $schema = $fields = $modelClass = null; + try { + $primaryKey = (array)$modelObject->getPrimaryKey(); + $displayField = $modelObject->getDisplayField(); + $singularVar = $this->_singularName($this->controllerName); + $singularHumanName = $this->_singularHumanName($this->controllerName); + $schema = $modelObject->getSchema(); + $fields = $schema->columns(); + $modelClass = $this->modelName; + } catch (\Exception $exception) { + $io->error($exception->getMessage()); + $this->abort(); + } + + [, $entityClass] = namespaceSplit($this->_entityName($this->modelName)); + $entityClass = sprintf('%s\Model\Entity\%s', $namespace, $entityClass); + if (!class_exists($entityClass)) { + $entityClass = EntityInterface::class; + } + $associations = $this->_filteredAssociations($modelObject); + $keyFields = []; + if (!empty($associations['BelongsTo'])) { + foreach ($associations['BelongsTo'] as $assoc) { + $keyFields[$assoc['foreignKey']] = $assoc['variable']; + } + } + + $pluralVar = Inflector::variable($this->controllerName); + $pluralHumanName = $this->_pluralHumanName($this->controllerName); + + return compact( + 'modelObject', + 'modelClass', + 'entityClass', + 'schema', + 'primaryKey', + 'displayField', + 'singularVar', + 'pluralVar', + 'singularHumanName', + 'pluralHumanName', + 'fields', + 'associations', + 'keyFields', + 'namespace' + ); + } + + /** + * Assembles and writes bakes the view file. + * + * @param \Cake\Console\Arguments $args CLI arguments + * @param \Cake\Console\ConsoleIo $io Console io + * @param string $template Template file to use. + * @param string|true $content Content to write. + * @param string $outputFile The output file to create. If null will use `$template` + * @return void + */ + public function bake( + Arguments $args, + ConsoleIo $io, + string $template, + $content = '', + ?string $outputFile = null + ): void { + if ($outputFile === null) { + $outputFile = $template; + } + if ($content === true) { + $content = $this->getContent($args, $io, $template); + } + if (empty($content)) { + $io->err("No generated content for '{$template}.php', not generating template."); + + return; + } + $path = $this->getTemplatePath($args); + $filename = $path . Inflector::underscore($outputFile) . '.php'; + + $io->out("\n" . sprintf('Baking `%s` view template file...', $outputFile), 1, ConsoleIo::QUIET); + $io->createFile($filename, $content, $args->getOption('force')); + } + + /** + * Builds content from template and variables + * + * @param \Cake\Console\Arguments $args The CLI arguments + * @param \Cake\Console\ConsoleIo $io The console io + * @param string $action name to generate content to + * @param array|null $vars passed for use in templates + * @return string|false Content from template + */ + public function getContent(Arguments $args, ConsoleIo $io, string $action, ?array $vars = null) + { + if (!$vars) { + $vars = $this->_loadController($io); + } + + if (empty($vars['primaryKey'])) { + $io->error('Cannot generate views for models with no primary key'); + $this->abort(); + } + + $renderer = new TemplateRenderer($args->getOption('theme')); + $renderer->set('action', $action); + $renderer->set('plugin', $this->plugin); + $renderer->set($vars); + + $indexColumns = 0; + if ($action === 'index' && $args->getOption('index-columns') !== null) { + $indexColumns = $args->getOption('index-columns'); + } + $renderer->set('indexColumns', $indexColumns); + + return $renderer->generate("Bake.Template/$action"); + } + + /** + * Gets the option parser instance and configures it. + * + * @param \Cake\Console\ConsoleOptionParser $parser The option parser to update. + * @return \Cake\Console\ConsoleOptionParser + */ + public function buildOptionParser(ConsoleOptionParser $parser): ConsoleOptionParser + { + $parser = $this->_setCommonOptions($parser); + + $parser->setDescription( + 'Bake views for a controller, using built-in or custom templates. ' + )->addArgument('name', [ + 'help' => 'Name of the controller views to bake. You can use Plugin.name as a shortcut for plugin baking.', + ])->addArgument('template', [ + 'help' => "Will bake a single action's file. core templates are (index, add, edit, view)", + ])->addArgument('action', [ + 'help' => 'Will bake the template in