├── .gitignore ├── vendor ├── psr │ └── event-dispatcher │ │ ├── .gitignore │ │ ├── README.md │ │ ├── .editorconfig │ │ ├── src │ │ ├── EventDispatcherInterface.php │ │ ├── ListenerProviderInterface.php │ │ └── StoppableEventInterface.php │ │ ├── composer.json │ │ └── LICENSE ├── composer │ ├── autoload_namespaces.php │ ├── autoload_classmap.php │ ├── autoload_files.php │ ├── autoload_psr4.php │ ├── platform_check.php │ ├── LICENSE │ └── autoload_real.php ├── symfony │ ├── deprecation-contracts │ │ ├── CHANGELOG.md │ │ ├── composer.json │ │ ├── function.php │ │ ├── LICENSE │ │ └── README.md │ ├── event-dispatcher-contracts │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── LICENSE │ │ ├── composer.json │ │ ├── EventDispatcherInterface.php │ │ └── Event.php │ ├── error-handler │ │ ├── Resources │ │ │ ├── assets │ │ │ │ ├── images │ │ │ │ │ ├── icon-copy.svg │ │ │ │ │ ├── chevron-right.svg │ │ │ │ │ ├── icon-minus-square.svg │ │ │ │ │ ├── icon-minus-square-o.svg │ │ │ │ │ ├── icon-plus-square.svg │ │ │ │ │ ├── icon-plus-square-o.svg │ │ │ │ │ ├── icon-support.svg │ │ │ │ │ ├── icon-book.svg │ │ │ │ │ ├── symfony-logo.svg │ │ │ │ │ └── favicon.png.base64 │ │ │ │ └── css │ │ │ │ │ └── error.css │ │ │ └── views │ │ │ │ └── error.html.php │ │ ├── Error │ │ │ ├── OutOfMemoryError.php │ │ │ ├── ClassNotFoundError.php │ │ │ ├── UndefinedMethodError.php │ │ │ └── UndefinedFunctionError.php │ │ ├── ErrorEnhancer │ │ │ └── ErrorEnhancerInterface.php │ │ ├── ThrowableUtils.php │ │ ├── LICENSE │ │ ├── CHANGELOG.md │ │ ├── Debug.php │ │ ├── ErrorRenderer │ │ │ ├── ErrorRendererInterface.php │ │ │ └── CliErrorRenderer.php │ │ ├── composer.json │ │ ├── README.md │ │ └── Exception │ │ │ └── SilencedErrorContext.php │ ├── routing │ │ ├── Exception │ │ │ ├── LogicException.php │ │ │ ├── RuntimeException.php │ │ │ ├── InvalidArgumentException.php │ │ │ ├── ExceptionInterface.php │ │ │ ├── NoConfigurationException.php │ │ │ ├── RouteNotFoundException.php │ │ │ ├── InvalidParameterException.php │ │ │ ├── ResourceNotFoundException.php │ │ │ ├── RouteCircularReferenceException.php │ │ │ ├── MethodNotAllowedException.php │ │ │ └── MissingMandatoryParametersException.php │ │ ├── RequestContextAwareInterface.php │ │ ├── Annotation │ │ │ └── Route.php │ │ ├── RouteCompilerInterface.php │ │ ├── Matcher │ │ │ ├── Dumper │ │ │ │ ├── MatcherDumper.php │ │ │ │ └── MatcherDumperInterface.php │ │ │ ├── CompiledUrlMatcher.php │ │ │ ├── RedirectableUrlMatcherInterface.php │ │ │ ├── RequestMatcherInterface.php │ │ │ ├── UrlMatcherInterface.php │ │ │ └── ExpressionLanguageProvider.php │ │ ├── Generator │ │ │ └── Dumper │ │ │ │ ├── GeneratorDumper.php │ │ │ │ └── GeneratorDumperInterface.php │ │ ├── Loader │ │ │ ├── ClosureLoader.php │ │ │ ├── ContainerLoader.php │ │ │ ├── GlobFileLoader.php │ │ │ ├── Configurator │ │ │ │ ├── AliasConfigurator.php │ │ │ │ └── RouteConfigurator.php │ │ │ └── DirectoryLoader.php │ │ ├── LICENSE │ │ ├── RouterInterface.php │ │ ├── DependencyInjection │ │ │ ├── AddExpressionLanguageProvidersPass.php │ │ │ └── RoutingResolverPass.php │ │ ├── composer.json │ │ └── Requirement │ │ │ └── EnumRequirement.php │ ├── http-kernel │ │ ├── Exception │ │ │ ├── InvalidMetadataException.php │ │ │ ├── UnexpectedSessionUsageException.php │ │ │ ├── NearMissValueResolverException.php │ │ │ ├── GoneHttpException.php │ │ │ ├── ConflictHttpException.php │ │ │ ├── LockedHttpException.php │ │ │ ├── BadRequestHttpException.php │ │ │ ├── NotFoundHttpException.php │ │ │ ├── LengthRequiredHttpException.php │ │ │ ├── NotAcceptableHttpException.php │ │ │ ├── PreconditionFailedHttpException.php │ │ │ ├── UnsupportedMediaTypeHttpException.php │ │ │ ├── UnprocessableEntityHttpException.php │ │ │ ├── HttpExceptionInterface.php │ │ │ ├── AccessDeniedHttpException.php │ │ │ ├── PreconditionRequiredHttpException.php │ │ │ ├── UnauthorizedHttpException.php │ │ │ ├── MethodNotAllowedHttpException.php │ │ │ ├── ServiceUnavailableHttpException.php │ │ │ ├── ResolverNotFoundException.php │ │ │ └── TooManyRequestsHttpException.php │ │ ├── Event │ │ │ ├── FinishRequestEvent.php │ │ │ ├── TerminateEvent.php │ │ │ ├── ResponseEvent.php │ │ │ ├── ViewEvent.php │ │ │ └── RequestEvent.php │ │ ├── CacheClearer │ │ │ ├── CacheClearerInterface.php │ │ │ ├── ChainCacheClearer.php │ │ │ └── Psr6CacheClearer.php │ │ ├── Fragment │ │ │ ├── EsiFragmentRenderer.php │ │ │ ├── SsiFragmentRenderer.php │ │ │ ├── FragmentRendererInterface.php │ │ │ ├── FragmentUriGeneratorInterface.php │ │ │ └── RoutableFragmentRenderer.php │ │ ├── DataCollector │ │ │ ├── LateDataCollectorInterface.php │ │ │ ├── AjaxDataCollector.php │ │ │ ├── DataCollectorInterface.php │ │ │ └── ExceptionDataCollector.php │ │ ├── README.md │ │ ├── Attribute │ │ │ ├── AsController.php │ │ │ ├── AsTargetedValueResolver.php │ │ │ ├── WithHttpStatus.php │ │ │ ├── WithLogLevel.php │ │ │ ├── ValueResolver.php │ │ │ ├── MapUploadedFile.php │ │ │ ├── MapDateTime.php │ │ │ └── MapQueryString.php │ │ ├── ControllerMetadata │ │ │ └── ArgumentMetadataFactoryInterface.php │ │ ├── Controller │ │ │ ├── ValueResolverInterface.php │ │ │ ├── ArgumentResolverInterface.php │ │ │ ├── ArgumentResolver │ │ │ │ ├── RequestAttributeValueResolver.php │ │ │ │ ├── DefaultValueResolver.php │ │ │ │ ├── SessionValueResolver.php │ │ │ │ ├── TraceableValueResolver.php │ │ │ │ ├── VariadicValueResolver.php │ │ │ │ ├── UidValueResolver.php │ │ │ │ └── RequestValueResolver.php │ │ │ ├── TraceableControllerResolver.php │ │ │ ├── TraceableArgumentResolver.php │ │ │ ├── ControllerReference.php │ │ │ └── ControllerResolverInterface.php │ │ ├── CacheWarmer │ │ │ ├── CacheWarmerInterface.php │ │ │ ├── WarmableInterface.php │ │ │ └── CacheWarmer.php │ │ ├── RebootableInterface.php │ │ ├── TerminableInterface.php │ │ ├── LICENSE │ │ ├── HttpCache │ │ │ └── ResponseCacheStrategyInterface.php │ │ ├── Config │ │ │ └── FileLocator.php │ │ ├── EventListener │ │ │ ├── SessionListener.php │ │ │ ├── DisallowRobotsIndexingListener.php │ │ │ ├── AddRequestFormatsListener.php │ │ │ └── ValidateRequestListener.php │ │ ├── Log │ │ │ ├── DebugLoggerInterface.php │ │ │ └── DebugLoggerConfigurator.php │ │ ├── DependencyInjection │ │ │ ├── MergeExtensionConfigurationPass.php │ │ │ ├── ConfigurableExtension.php │ │ │ ├── RegisterLocaleAwareServicesPass.php │ │ │ ├── LazyLoadingFragmentHandler.php │ │ │ ├── LoggerPass.php │ │ │ ├── ServicesResetter.php │ │ │ └── Extension.php │ │ ├── HttpKernelInterface.php │ │ ├── Debug │ │ │ └── VirtualRequestStack.php │ │ ├── Bundle │ │ │ └── BundleInterface.php │ │ └── Profiler │ │ │ └── ProfilerStorageInterface.php │ └── event-dispatcher │ │ ├── README.md │ │ ├── LICENSE │ │ ├── Attribute │ │ └── AsEventListener.php │ │ ├── DependencyInjection │ │ └── AddEventAliasesPass.php │ │ ├── composer.json │ │ └── EventSubscriberInterface.php └── autoload.php ├── update.php ├── pages ├── index.php └── openapi.php ├── lib ├── RoutePackage.php ├── Auth │ ├── Auth.php │ ├── BearerAuth.php │ └── BackendUser.php └── RoutePackage │ └── Backend │ └── Media.php ├── assets └── vendor │ └── swagger-ui │ └── README.md ├── install.php ├── package.json ├── pnpm-lock.yaml ├── package.yml ├── composer.json ├── lang └── de_de.lang ├── .github └── workflows │ └── publish-to-redaxo-org.yml ├── LICENSE └── boot.php /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | -------------------------------------------------------------------------------- /vendor/psr/event-dispatcher/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | composer.lock 3 | -------------------------------------------------------------------------------- /update.php: -------------------------------------------------------------------------------- 1 | includeFile(__DIR__ . '/install.php'); 5 | -------------------------------------------------------------------------------- /pages/index.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/composer/InstalledVersions.php', 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/composer/autoload_files.php: -------------------------------------------------------------------------------- 1 | $vendorDir . '/symfony/deprecation-contracts/function.php', 10 | ); 11 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/assets/images/icon-copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/assets/css/error.css: -------------------------------------------------------------------------------- 1 | body { background-color: #fff; color: #222; font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; margin: 0; } 2 | .container { margin: 30px; max-width: 600px; } 3 | h1 { color: #dc3545; font-size: 24px; } 4 | h2 { font-size: 18px; } 5 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/assets/images/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /assets/vendor/swagger-ui/README.md: -------------------------------------------------------------------------------- 1 | # Swagger UI 2 | 3 | Diese Dateien wurden von der swagger-ui-dist NPM-Paket automatisch kopiert. 4 | 5 | - Version: 4.19.1 6 | - Quelle: https://github.com/swagger-api/swagger-ui 7 | - Lizenz: Apache License 2.0 8 | - Datum der Installation: 2025-02-26 9 | 10 | Weitere Informationen finden Sie im Lizenzverzeichnis. -------------------------------------------------------------------------------- /vendor/psr/event-dispatcher/README.md: -------------------------------------------------------------------------------- 1 | PSR Event Dispatcher 2 | ==================== 3 | 4 | This repository holds the interfaces related to [PSR-14](http://www.php-fig.org/psr/psr-14/). 5 | 6 | Note that this is not an Event Dispatcher implementation of its own. It is merely interfaces that describe the components of an Event Dispatcher. See the specification for more details. 7 | -------------------------------------------------------------------------------- /install.php: -------------------------------------------------------------------------------- 1 | ensurePrimaryIdColumn() 5 | ->ensureColumn(new rex_sql_column('name', 'varchar(191)')) 6 | ->ensureColumn(new rex_sql_column('token', 'varchar(191)')) 7 | ->ensureColumn(new rex_sql_column('status', 'tinyint(1)', false, '1')) 8 | ->ensureColumn(new rex_sql_column('scopes', 'text')) 9 | ->ensure(); 10 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/assets/images/icon-minus-square.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/psr/event-dispatcher/.editorconfig: -------------------------------------------------------------------------------- 1 | ; This file is for unifying the coding style for different editors and IDEs. 2 | ; More information at http://editorconfig.org 3 | 4 | root = true 5 | 6 | [*] 7 | charset = utf-8 8 | indent_size = 4 9 | indent_style = space 10 | end_of_line = lf 11 | insert_final_newline = true 12 | trim_trailing_whitespace = true 13 | 14 | [Makefile] 15 | indent_style = tab 16 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher-contracts/README.md: -------------------------------------------------------------------------------- 1 | Symfony EventDispatcher Contracts 2 | ================================= 3 | 4 | A set of abstractions extracted out of the Symfony components. 5 | 6 | Can be used to build on semantics that the Symfony components proved useful and 7 | that already have battle tested implementations. 8 | 9 | See https://github.com/symfony/contracts/blob/main/README.md for more information. 10 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "redaxo-api-addon", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "build": "node build/build.js" 7 | }, 8 | "dependencies": { 9 | "swagger-ui-dist": "^4.19.0" 10 | }, 11 | "packageManager": "pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af" 12 | } 13 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/LogicException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | class LogicException extends \LogicException 15 | { 16 | } 17 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Error/OutOfMemoryError.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler\Error; 13 | 14 | class OutOfMemoryError extends FatalError 15 | { 16 | } 17 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/InvalidMetadataException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | class InvalidMetadataException extends \LogicException 15 | { 16 | } 17 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/RuntimeException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | class RuntimeException extends \RuntimeException implements ExceptionInterface 15 | { 16 | } 17 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/assets/images/icon-minus-square-o.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/assets/images/icon-plus-square.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/InvalidArgumentException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface 15 | { 16 | } 17 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | swagger-ui-dist: 12 | specifier: ^4.19.0 13 | version: 4.19.1 14 | 15 | packages: 16 | 17 | swagger-ui-dist@4.19.1: 18 | resolution: {integrity: sha512-n/gFn+R7G/BXWwl5UZLw6F1YgWOlf3zkwGlsPhTMhNtAAolBGKg0JS5b2RKt5NI6/hSopVaSrki2wTIMUDDy2w==} 19 | 20 | snapshots: 21 | 22 | swagger-ui-dist@4.19.1: {} 23 | -------------------------------------------------------------------------------- /package.yml: -------------------------------------------------------------------------------- 1 | package: api 2 | version: '1.1' 3 | 4 | page: 5 | title: 'translate:api-title' 6 | icon: rex-icon fa-exchange 7 | subpages: 8 | token: 9 | title: 'translate:api_token' 10 | openapi: 11 | title: 'translate:api_openapi' 12 | readme: 13 | title: 'translate:readme' 14 | itemClass: pull-right 15 | subPath: README.md 16 | 17 | requires: 18 | php: '>=8.2' 19 | packages: 20 | yform: '>=4.1.1' 21 | redaxo: '^5.17.0' 22 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/UnexpectedSessionUsageException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Mathias Arlaud 16 | */ 17 | class UnexpectedSessionUsageException extends \LogicException 18 | { 19 | } 20 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/ExceptionInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | /** 15 | * ExceptionInterface. 16 | * 17 | * @author Alexandre Salomé 18 | */ 19 | interface ExceptionInterface extends \Throwable 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/psr/event-dispatcher/src/EventDispatcherInterface.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Event/FinishRequestEvent.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Event; 13 | 14 | /** 15 | * Triggered whenever a request is fully processed. 16 | * 17 | * @author Benjamin Eberlei 18 | */ 19 | final class FinishRequestEvent extends KernelEvent 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/NoConfigurationException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | /** 15 | * Exception thrown when no routes are configured. 16 | * 17 | * @author Yonel Ceruto 18 | */ 19 | class NoConfigurationException extends ResourceNotFoundException 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/RouteNotFoundException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | /** 15 | * Exception thrown when a route does not exist. 16 | * 17 | * @author Alexandre Salomé 18 | */ 19 | class RouteNotFoundException extends \InvalidArgumentException implements ExceptionInterface 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/InvalidParameterException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | /** 15 | * Exception thrown when a parameter is not valid. 16 | * 17 | * @author Alexandre Salomé 18 | */ 19 | class InvalidParameterException extends \InvalidArgumentException implements ExceptionInterface 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/ErrorEnhancer/ErrorEnhancerInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler\ErrorEnhancer; 13 | 14 | interface ErrorEnhancerInterface 15 | { 16 | /** 17 | * Returns an \Throwable instance if the class is able to improve the error, null otherwise. 18 | */ 19 | public function enhance(\Throwable $error): ?\Throwable; 20 | } 21 | -------------------------------------------------------------------------------- /vendor/psr/event-dispatcher/src/ListenerProviderInterface.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/CacheClearer/CacheClearerInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\CacheClearer; 13 | 14 | /** 15 | * CacheClearerInterface. 16 | * 17 | * @author Dustin Dobervich 18 | */ 19 | interface CacheClearerInterface 20 | { 21 | /** 22 | * Clears any caches necessary. 23 | */ 24 | public function clear(string $cacheDir): void; 25 | } 26 | -------------------------------------------------------------------------------- /vendor/symfony/routing/RequestContextAwareInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing; 13 | 14 | interface RequestContextAwareInterface 15 | { 16 | /** 17 | * Sets the request context. 18 | */ 19 | public function setContext(RequestContext $context): void; 20 | 21 | /** 22 | * Gets the request context. 23 | */ 24 | public function getContext(): RequestContext; 25 | } 26 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher/README.md: -------------------------------------------------------------------------------- 1 | EventDispatcher Component 2 | ========================= 3 | 4 | The EventDispatcher component provides tools that allow your application 5 | components to communicate with each other by dispatching events and listening to 6 | them. 7 | 8 | Resources 9 | --------- 10 | 11 | * [Documentation](https://symfony.com/doc/current/components/event_dispatcher.html) 12 | * [Contributing](https://symfony.com/doc/current/contributing/index.html) 13 | * [Report issues](https://github.com/symfony/symfony/issues) and 14 | [send Pull Requests](https://github.com/symfony/symfony/pulls) 15 | in the [main Symfony repository](https://github.com/symfony/symfony) 16 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Fragment/EsiFragmentRenderer.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Fragment; 13 | 14 | /** 15 | * Implements the ESI rendering strategy. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | class EsiFragmentRenderer extends AbstractSurrogateFragmentRenderer 20 | { 21 | public function getName(): string 22 | { 23 | return 'esi'; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Fragment/SsiFragmentRenderer.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Fragment; 13 | 14 | /** 15 | * Implements the SSI rendering strategy. 16 | * 17 | * @author Sebastian Krebs 18 | */ 19 | class SsiFragmentRenderer extends AbstractSurrogateFragmentRenderer 20 | { 21 | public function getName(): string 22 | { 23 | return 'ssi'; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/ResourceNotFoundException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | /** 15 | * The resource was not found. 16 | * 17 | * This exception should trigger an HTTP 404 response in your application code. 18 | * 19 | * @author Kris Wallsmith 20 | */ 21 | class ResourceNotFoundException extends \RuntimeException implements ExceptionInterface 22 | { 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/RouteCircularReferenceException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | class RouteCircularReferenceException extends RuntimeException 15 | { 16 | public function __construct(string $routeId, array $path) 17 | { 18 | parent::__construct(\sprintf('Circular reference detected for route "%s", path: "%s".', $routeId, implode(' -> ', $path))); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /vendor/psr/event-dispatcher/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "psr/event-dispatcher", 3 | "description": "Standard interfaces for event handling.", 4 | "type": "library", 5 | "keywords": ["psr", "psr-14", "events"], 6 | "license": "MIT", 7 | "authors": [ 8 | { 9 | "name": "PHP-FIG", 10 | "homepage": "http://www.php-fig.org/" 11 | } 12 | ], 13 | "require": { 14 | "php": ">=7.2.0" 15 | }, 16 | "autoload": { 17 | "psr-4": { 18 | "Psr\\EventDispatcher\\": "src/" 19 | } 20 | }, 21 | "extra": { 22 | "branch-alias": { 23 | "dev-master": "1.0.x-dev" 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DataCollector/LateDataCollectorInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DataCollector; 13 | 14 | /** 15 | * LateDataCollectorInterface. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | interface LateDataCollectorInterface 20 | { 21 | /** 22 | * Collects data as late as possible. 23 | * 24 | * @return void 25 | */ 26 | public function lateCollect(); 27 | } 28 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/NearMissValueResolverException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * Lets value resolvers tell when an argument could be under their watch but failed to be resolved. 16 | * 17 | * Throwing this exception inside `ValueResolverInterface::resolve` does not interrupt the value resolvers chain. 18 | */ 19 | class NearMissValueResolverException extends \RuntimeException 20 | { 21 | } 22 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/GoneHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class GoneHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(410, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/ConflictHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class ConflictHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(409, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/LockedHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Peter Dietrich 16 | */ 17 | class LockedHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(423, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/composer/autoload_psr4.php: -------------------------------------------------------------------------------- 1 | array($vendorDir . '/symfony/event-dispatcher-contracts'), 10 | 'Symfony\\Component\\Routing\\' => array($vendorDir . '/symfony/routing'), 11 | 'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'), 12 | 'Symfony\\Component\\EventDispatcher\\' => array($vendorDir . '/symfony/event-dispatcher'), 13 | 'Symfony\\Component\\ErrorHandler\\' => array($vendorDir . '/symfony/error-handler'), 14 | 'Psr\\EventDispatcher\\' => array($vendorDir . '/psr/event-dispatcher/src'), 15 | ); 16 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/BadRequestHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class BadRequestHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(400, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/NotFoundHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Fabien Potencier 16 | */ 17 | class NotFoundHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(404, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/LengthRequiredHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class LengthRequiredHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(411, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/NotAcceptableHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class NotAcceptableHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(406, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/README.md: -------------------------------------------------------------------------------- 1 | HttpKernel Component 2 | ==================== 3 | 4 | The HttpKernel component provides a structured process for converting a Request 5 | into a Response by making use of the EventDispatcher component. It's flexible 6 | enough to create full-stack frameworks, micro-frameworks or advanced CMS systems like Drupal. 7 | 8 | Resources 9 | --------- 10 | 11 | * [Documentation](https://symfony.com/doc/current/components/http_kernel.html) 12 | * [Contributing](https://symfony.com/doc/current/contributing/index.html) 13 | * [Report issues](https://github.com/symfony/symfony/issues) and 14 | [send Pull Requests](https://github.com/symfony/symfony/pulls) 15 | in the [main Symfony repository](https://github.com/symfony/symfony) 16 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Attribute/AsController.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Attribute; 13 | 14 | /** 15 | * Autoconfigures controllers as services by applying 16 | * the `controller.service_arguments` tag to them. 17 | * 18 | * This enables injecting services as method arguments in addition 19 | * to other conventional dependency injection strategies. 20 | */ 21 | #[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_FUNCTION)] 22 | class AsController 23 | { 24 | } 25 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/PreconditionFailedHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class PreconditionFailedHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(412, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Attribute/AsTargetedValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Attribute; 13 | 14 | /** 15 | * Service tag to autoconfigure targeted value resolvers. 16 | */ 17 | #[\Attribute(\Attribute::TARGET_CLASS)] 18 | class AsTargetedValueResolver 19 | { 20 | /** 21 | * @param string|null $name The name with which the resolver can be targeted 22 | */ 23 | public function __construct(public readonly ?string $name = null) 24 | { 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/UnsupportedMediaTypeHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class UnsupportedMediaTypeHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(415, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/UnprocessableEntityHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Steve Hutchins 16 | */ 17 | class UnprocessableEntityHttpException extends HttpException 18 | { 19 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 20 | { 21 | parent::__construct(422, $message, $previous, $headers, $code); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Annotation/Route.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Annotation; 13 | 14 | // do not deprecate in 6.4/7.0, to make it easier for the ecosystem to support 6.4, 7.4 and 8.0 simultaneously 15 | 16 | class_exists(\Symfony\Component\Routing\Attribute\Route::class); 17 | 18 | if (false) { 19 | #[\Attribute(\Attribute::IS_REPEATABLE | \Attribute::TARGET_CLASS | \Attribute::TARGET_METHOD)] 20 | class Route extends \Symfony\Component\Routing\Attribute\Route 21 | { 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/ControllerMetadata/ArgumentMetadataFactoryInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\ControllerMetadata; 13 | 14 | /** 15 | * Builds method argument data. 16 | * 17 | * @author Iltar van der Berg 18 | */ 19 | interface ArgumentMetadataFactoryInterface 20 | { 21 | /** 22 | * @return ArgumentMetadata[] 23 | */ 24 | public function createArgumentMetadata(string|object|array $controller, ?\ReflectionFunctionAbstract $reflector = null): array; 25 | } 26 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/HttpExceptionInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * Interface for HTTP error exceptions. 16 | * 17 | * @author Kris Wallsmith 18 | */ 19 | interface HttpExceptionInterface extends \Throwable 20 | { 21 | /** 22 | * Returns the status code. 23 | */ 24 | public function getStatusCode(): int; 25 | 26 | /** 27 | * Returns response headers. 28 | */ 29 | public function getHeaders(): array; 30 | } 31 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/AccessDeniedHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Fabien Potencier 16 | * @author Christophe Coevoet 17 | */ 18 | class AccessDeniedHttpException extends HttpException 19 | { 20 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 21 | { 22 | parent::__construct(403, $message, $previous, $headers, $code); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "symfony/http-foundation": "^6", 4 | "symfony/http-kernel": "^7.2", 5 | "symfony/routing": "^7.2" 6 | }, 7 | "replace": { 8 | "psr/log": "*", 9 | "symfony/http-foundation": "^6.4.18", 10 | "symfony/var-dumper": "^6.4.18", 11 | "symfony/polyfill-ctype": "*", 12 | "symfony/polyfill-iconv": "*", 13 | "symfony/polyfill-intl-grapheme": "*", 14 | "symfony/polyfill-intl-normalizer": "*", 15 | "symfony/polyfill-mbstring": "*", 16 | "symfony/polyfill-php72": "*", 17 | "symfony/polyfill-php73": "*", 18 | "symfony/polyfill-php74": "*", 19 | "symfony/polyfill-php80": "*", 20 | "symfony/polyfill-php81": "*", 21 | "symfony/polyfill-php83": "*" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/PreconditionRequiredHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | * 17 | * @see http://tools.ietf.org/html/rfc6585 18 | */ 19 | class PreconditionRequiredHttpException extends HttpException 20 | { 21 | public function __construct(string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 22 | { 23 | parent::__construct(428, $message, $previous, $headers, $code); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /lib/Auth/Auth.php: -------------------------------------------------------------------------------- 1 | headers->get('Authorization') ?? ''); 31 | if ('' == $BearerToken) { 32 | return null; 33 | } 34 | return $BearerToken; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /pages/openapi.php: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 |
15 | 16 | 17 | 26 | 27 | 30 | -------------------------------------------------------------------------------- /vendor/autoload.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 16 | 17 | /** 18 | * Responsible for resolving the value of an argument based on its metadata. 19 | * 20 | * @author Nicolas Grekas 21 | */ 22 | interface ValueResolverInterface 23 | { 24 | /** 25 | * Returns the possible value(s). 26 | */ 27 | public function resolve(Request $request, ArgumentMetadata $argument): iterable; 28 | } 29 | -------------------------------------------------------------------------------- /vendor/symfony/routing/RouteCompilerInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing; 13 | 14 | /** 15 | * RouteCompilerInterface is the interface that all RouteCompiler classes must implement. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | interface RouteCompilerInterface 20 | { 21 | /** 22 | * Compiles the current route instance. 23 | * 24 | * @throws \LogicException If the Route cannot be compiled because the 25 | * path or host pattern is invalid 26 | */ 27 | public static function compile(Route $route): CompiledRoute; 28 | } 29 | -------------------------------------------------------------------------------- /lang/de_de.lang: -------------------------------------------------------------------------------- 1 | 2 | api-title = API 3 | api_token = Token 4 | api_token_caption = Tokens 5 | api_token_name = Name/Beschreibung 6 | api_token_token = Token 7 | api_token_not_found = Keine Tokens bisher vorhanden 8 | api_token_status = aktiv 9 | api_token_create = API-Token erstellen 10 | api_token_token_notice = Wie wäre es mit diesem Token {0} 11 | api_token_token_scopes = Scopes 12 | api_token_update = API-Token bearbeiten 13 | api_token_updated = API-Token Eintrag wurde aktualisiert 14 | api_openapi = OpenAPI 15 | api_token_deleted = API-Token wurde gelöscht 16 | api_token_added = API-Token wurde hinzugefügt 17 | 18 | api_openapi_title = OpenAPI Dokumentation 19 | api_openapi_description = Hier werden alle erfassten Endpunkte ausgegeben und können eingesehen und getestet werden. Um sie nutzen zu können, muss vorher ein Token mit den entsprechenden Zugriffen erstellt werden. 20 | 21 | readme = ReadMe 22 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Matcher/Dumper/MatcherDumper.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Matcher\Dumper; 13 | 14 | use Symfony\Component\Routing\RouteCollection; 15 | 16 | /** 17 | * MatcherDumper is the abstract class for all built-in matcher dumpers. 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | abstract class MatcherDumper implements MatcherDumperInterface 22 | { 23 | public function __construct( 24 | private RouteCollection $routes, 25 | ) { 26 | } 27 | 28 | public function getRoutes(): RouteCollection 29 | { 30 | return $this->routes; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Generator/Dumper/GeneratorDumper.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Generator\Dumper; 13 | 14 | use Symfony\Component\Routing\RouteCollection; 15 | 16 | /** 17 | * GeneratorDumper is the base class for all built-in generator dumpers. 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | abstract class GeneratorDumper implements GeneratorDumperInterface 22 | { 23 | public function __construct( 24 | private RouteCollection $routes, 25 | ) { 26 | } 27 | 28 | public function getRoutes(): RouteCollection 29 | { 30 | return $this->routes; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/UnauthorizedHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class UnauthorizedHttpException extends HttpException 18 | { 19 | /** 20 | * @param string $challenge WWW-Authenticate challenge string 21 | */ 22 | public function __construct(string $challenge, string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 23 | { 24 | $headers['WWW-Authenticate'] = $challenge; 25 | 26 | parent::__construct(401, $message, $previous, $headers, $code); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/CacheWarmer/CacheWarmerInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\CacheWarmer; 13 | 14 | /** 15 | * Interface for classes able to warm up the cache. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | interface CacheWarmerInterface extends WarmableInterface 20 | { 21 | /** 22 | * Checks whether this warmer is optional or not. 23 | * 24 | * Optional warmers can be ignored on certain conditions. 25 | * 26 | * A warmer should return true if the cache can be 27 | * generated incrementally and on-demand. 28 | */ 29 | public function isOptional(): bool; 30 | } 31 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/MethodNotAllowedHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Kris Wallsmith 16 | */ 17 | class MethodNotAllowedHttpException extends HttpException 18 | { 19 | /** 20 | * @param string[] $allow An array of allowed methods 21 | */ 22 | public function __construct(array $allow, string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 23 | { 24 | $headers['Allow'] = strtoupper(implode(', ', $allow)); 25 | 26 | parent::__construct(405, $message, $previous, $headers, $code); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /vendor/psr/event-dispatcher/src/StoppableEventInterface.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/views/error.html.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | An Error Occurred: <?= $statusText; ?> 7 | 8 | 9 | 10 | 11 |
12 |

Oops! An Error Occurred

13 |

The server returned a " ".

14 | 15 |

16 | Something is broken. Please let us know what you were doing when this error occurred. 17 | We will fix it as soon as possible. Sorry for any inconvenience caused. 18 |

19 |
20 | 21 | 22 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/RebootableInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel; 13 | 14 | /** 15 | * Allows the Kernel to be rebooted using a temporary cache directory. 16 | * 17 | * @author Nicolas Grekas 18 | */ 19 | interface RebootableInterface 20 | { 21 | /** 22 | * Reboots a kernel. 23 | * 24 | * The getBuildDir() method of a rebootable kernel should not be called 25 | * while building the container. Use the %kernel.build_dir% parameter instead. 26 | * 27 | * @param string|null $warmupDir pass null to reboot in the regular build directory 28 | */ 29 | public function reboot(?string $warmupDir): void; 30 | } 31 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Attribute/WithHttpStatus.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Attribute; 13 | 14 | /** 15 | * Defines the HTTP status code applied to an exception. 16 | * 17 | * @author Dejan Angelov 18 | */ 19 | #[\Attribute(\Attribute::TARGET_CLASS)] 20 | class WithHttpStatus 21 | { 22 | /** 23 | * @param int $statusCode The HTTP status code to use 24 | * @param array $headers The HTTP headers to add to the response 25 | */ 26 | public function __construct( 27 | public readonly int $statusCode, 28 | public readonly array $headers = [], 29 | ) { 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/assets/images/symfony-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Error/ClassNotFoundError.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler\Error; 13 | 14 | class ClassNotFoundError extends \Error 15 | { 16 | public function __construct(string $message, \Throwable $previous) 17 | { 18 | parent::__construct($message, $previous->getCode(), $previous->getPrevious()); 19 | 20 | foreach ([ 21 | 'file' => $previous->getFile(), 22 | 'line' => $previous->getLine(), 23 | 'trace' => $previous->getTrace(), 24 | ] as $property => $value) { 25 | $refl = new \ReflectionProperty(\Error::class, $property); 26 | $refl->setValue($this, $value); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Error/UndefinedMethodError.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler\Error; 13 | 14 | class UndefinedMethodError extends \Error 15 | { 16 | public function __construct(string $message, \Throwable $previous) 17 | { 18 | parent::__construct($message, $previous->getCode(), $previous->getPrevious()); 19 | 20 | foreach ([ 21 | 'file' => $previous->getFile(), 22 | 'line' => $previous->getLine(), 23 | 'trace' => $previous->getTrace(), 24 | ] as $property => $value) { 25 | $refl = new \ReflectionProperty(\Error::class, $property); 26 | $refl->setValue($this, $value); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Error/UndefinedFunctionError.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler\Error; 13 | 14 | class UndefinedFunctionError extends \Error 15 | { 16 | public function __construct(string $message, \Throwable $previous) 17 | { 18 | parent::__construct($message, $previous->getCode(), $previous->getPrevious()); 19 | 20 | foreach ([ 21 | 'file' => $previous->getFile(), 22 | 'line' => $previous->getLine(), 23 | 'trace' => $previous->getTrace(), 24 | ] as $property => $value) { 25 | $refl = new \ReflectionProperty(\Error::class, $property); 26 | $refl->setValue($this, $value); 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/CacheClearer/ChainCacheClearer.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\CacheClearer; 13 | 14 | /** 15 | * ChainCacheClearer. 16 | * 17 | * @author Dustin Dobervich 18 | * 19 | * @final 20 | */ 21 | class ChainCacheClearer implements CacheClearerInterface 22 | { 23 | /** 24 | * @param iterable $clearers 25 | */ 26 | public function __construct( 27 | private iterable $clearers = [], 28 | ) { 29 | } 30 | 31 | public function clear(string $cacheDir): void 32 | { 33 | foreach ($this->clearers as $clearer) { 34 | $clearer->clear($cacheDir); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/CacheWarmer/WarmableInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\CacheWarmer; 13 | 14 | /** 15 | * Interface for classes that support warming their cache. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | interface WarmableInterface 20 | { 21 | /** 22 | * Warms up the cache. 23 | * 24 | * @param string $cacheDir Where warm-up artifacts should be stored 25 | * @param string|null $buildDir Where read-only artifacts should go; null when called after compile-time 26 | * 27 | * @return string[] A list of classes or files to preload 28 | */ 29 | public function warmUp(string $cacheDir, ?string $buildDir = null): array; 30 | } 31 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ArgumentResolverInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | 16 | /** 17 | * An ArgumentResolverInterface instance knows how to determine the 18 | * arguments for a specific action. 19 | * 20 | * @author Fabien Potencier 21 | */ 22 | interface ArgumentResolverInterface 23 | { 24 | /** 25 | * Returns the arguments to pass to the controller. 26 | * 27 | * @throws \RuntimeException When no value could be provided for a required argument 28 | */ 29 | public function getArguments(Request $request, callable $controller, ?\ReflectionFunctionAbstract $reflector = null): array; 30 | } 31 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Attribute/WithLogLevel.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Attribute; 13 | 14 | use Psr\Log\LogLevel; 15 | 16 | /** 17 | * Defines the log level applied to an exception. 18 | * 19 | * @author Dejan Angelov 20 | */ 21 | #[\Attribute(\Attribute::TARGET_CLASS)] 22 | final class WithLogLevel 23 | { 24 | /** 25 | * @param LogLevel::* $level The level to use to log the exception 26 | */ 27 | public function __construct(public readonly string $level) 28 | { 29 | if (!\defined('Psr\Log\LogLevel::'.strtoupper($this->level))) { 30 | throw new \InvalidArgumentException(\sprintf('Invalid log level "%s".', $this->level)); 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/symfony/deprecation-contracts/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/deprecation-contracts", 3 | "type": "library", 4 | "description": "A generic function and convention to trigger deprecation notices", 5 | "homepage": "https://symfony.com", 6 | "license": "MIT", 7 | "authors": [ 8 | { 9 | "name": "Nicolas Grekas", 10 | "email": "p@tchwork.com" 11 | }, 12 | { 13 | "name": "Symfony Community", 14 | "homepage": "https://symfony.com/contributors" 15 | } 16 | ], 17 | "require": { 18 | "php": ">=8.1" 19 | }, 20 | "autoload": { 21 | "files": [ 22 | "function.php" 23 | ] 24 | }, 25 | "minimum-stability": "dev", 26 | "extra": { 27 | "branch-alias": { 28 | "dev-main": "3.5-dev" 29 | }, 30 | "thanks": { 31 | "name": "symfony/contracts", 32 | "url": "https://github.com/symfony/contracts" 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Matcher/CompiledUrlMatcher.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Matcher; 13 | 14 | use Symfony\Component\Routing\Matcher\Dumper\CompiledUrlMatcherTrait; 15 | use Symfony\Component\Routing\RequestContext; 16 | 17 | /** 18 | * Matches URLs based on rules dumped by CompiledUrlMatcherDumper. 19 | * 20 | * @author Nicolas Grekas 21 | */ 22 | class CompiledUrlMatcher extends UrlMatcher 23 | { 24 | use CompiledUrlMatcherTrait; 25 | 26 | public function __construct(array $compiledRoutes, RequestContext $context) 27 | { 28 | $this->context = $context; 29 | [$this->matchHost, $this->staticRoutes, $this->regexpList, $this->dynamicRoutes, $this->checkCondition] = $compiledRoutes; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Matcher/Dumper/MatcherDumperInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Matcher\Dumper; 13 | 14 | use Symfony\Component\Routing\RouteCollection; 15 | 16 | /** 17 | * MatcherDumperInterface is the interface that all matcher dumper classes must implement. 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | interface MatcherDumperInterface 22 | { 23 | /** 24 | * Dumps a set of routes to a string representation of executable code 25 | * that can then be used to match a request against these routes. 26 | */ 27 | public function dump(array $options = []): string; 28 | 29 | /** 30 | * Gets the routes to dump. 31 | */ 32 | public function getRoutes(): RouteCollection; 33 | } 34 | -------------------------------------------------------------------------------- /lib/Auth/BearerAuth.php: -------------------------------------------------------------------------------- 1 | Token = Token::getFromBearerToken(); 17 | if (null === $this->Token) { 18 | return false; 19 | } 20 | if (in_array($parameters['_route'], $this->Token->getScopes(), true)) { 21 | return true; 22 | } 23 | return false; 24 | } 25 | 26 | public function getAuthorizationObject(): ?Token 27 | { 28 | return $this->Token; 29 | } 30 | 31 | public static function getOpenApiConfig() 32 | { 33 | return [ 34 | 'securityScheme' => 'bearerAuth', 35 | 'type' => 'http', 36 | 'scheme' => 'bearer', 37 | 'bearerFormat' => 'JWT', 38 | ]; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Generator/Dumper/GeneratorDumperInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Generator\Dumper; 13 | 14 | use Symfony\Component\Routing\RouteCollection; 15 | 16 | /** 17 | * GeneratorDumperInterface is the interface that all generator dumper classes must implement. 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | interface GeneratorDumperInterface 22 | { 23 | /** 24 | * Dumps a set of routes to a string representation of executable code 25 | * that can then be used to generate a URL of such a route. 26 | */ 27 | public function dump(array $options = []): string; 28 | 29 | /** 30 | * Gets the routes to dump. 31 | */ 32 | public function getRoutes(): RouteCollection; 33 | } 34 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Matcher/RedirectableUrlMatcherInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Matcher; 13 | 14 | /** 15 | * RedirectableUrlMatcherInterface knows how to redirect the user. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | interface RedirectableUrlMatcherInterface 20 | { 21 | /** 22 | * Redirects the user to another URL and returns the parameters for the redirection. 23 | * 24 | * @param string $path The path info to redirect to 25 | * @param string $route The route name that matched 26 | * @param string|null $scheme The URL scheme (null to keep the current one) 27 | */ 28 | public function redirect(string $path, string $route, ?string $scheme = null): array; 29 | } 30 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DataCollector/AjaxDataCollector.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DataCollector; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\Response; 16 | 17 | /** 18 | * @author Bart van den Burg 19 | * 20 | * @final 21 | */ 22 | class AjaxDataCollector extends DataCollector 23 | { 24 | public function collect(Request $request, Response $response, ?\Throwable $exception = null): void 25 | { 26 | // all collecting is done client side 27 | } 28 | 29 | public function reset(): void 30 | { 31 | // all collecting is done client side 32 | } 33 | 34 | public function getName(): string 35 | { 36 | return 'ajax'; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/ServiceUnavailableHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | */ 17 | class ServiceUnavailableHttpException extends HttpException 18 | { 19 | /** 20 | * @param int|string|null $retryAfter The number of seconds or HTTP-date after which the request may be retried 21 | */ 22 | public function __construct(int|string|null $retryAfter = null, string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 23 | { 24 | if ($retryAfter) { 25 | $headers['Retry-After'] = $retryAfter; 26 | } 27 | 28 | parent::__construct(503, $message, $previous, $headers, $code); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /vendor/composer/platform_check.php: -------------------------------------------------------------------------------- 1 | = 80200)) { 8 | $issues[] = 'Your Composer dependencies require a PHP version ">= 8.2.0". You are running ' . PHP_VERSION . '.'; 9 | } 10 | 11 | if ($issues) { 12 | if (!headers_sent()) { 13 | header('HTTP/1.1 500 Internal Server Error'); 14 | } 15 | if (!ini_get('display_errors')) { 16 | if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { 17 | fwrite(STDERR, 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . implode(PHP_EOL, $issues) . PHP_EOL.PHP_EOL); 18 | } elseif (!headers_sent()) { 19 | echo 'Composer detected issues in your platform:' . PHP_EOL.PHP_EOL . str_replace('You are running '.PHP_VERSION.'.', '', implode(PHP_EOL, $issues)) . PHP_EOL.PHP_EOL; 20 | } 21 | } 22 | trigger_error( 23 | 'Composer detected issues in your platform: ' . implode(' ', $issues), 24 | E_USER_ERROR 25 | ); 26 | } 27 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/ThrowableUtils.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler; 13 | 14 | use Symfony\Component\ErrorHandler\Exception\SilencedErrorContext; 15 | 16 | /** 17 | * @internal 18 | */ 19 | class ThrowableUtils 20 | { 21 | public static function getSeverity(SilencedErrorContext|\Throwable $throwable): int 22 | { 23 | if ($throwable instanceof \ErrorException || $throwable instanceof SilencedErrorContext) { 24 | return $throwable->getSeverity(); 25 | } 26 | 27 | if ($throwable instanceof \ParseError) { 28 | return \E_PARSE; 29 | } 30 | 31 | if ($throwable instanceof \TypeError) { 32 | return \E_RECOVERABLE_ERROR; 33 | } 34 | 35 | return \E_ERROR; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/CacheWarmer/CacheWarmer.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\CacheWarmer; 13 | 14 | /** 15 | * Abstract cache warmer that knows how to write a file to the cache. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | abstract class CacheWarmer implements CacheWarmerInterface 20 | { 21 | protected function writeCacheFile(string $file, $content): void 22 | { 23 | $tmpFile = @tempnam(\dirname($file), basename($file)); 24 | if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $file)) { 25 | @chmod($file, 0666 & ~umask()); 26 | 27 | return; 28 | } 29 | 30 | throw new \RuntimeException(\sprintf('Failed to write cache file "%s".', $file)); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Fragment/FragmentRendererInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Fragment; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\Response; 16 | use Symfony\Component\HttpKernel\Controller\ControllerReference; 17 | 18 | /** 19 | * Interface implemented by all rendering strategies. 20 | * 21 | * @author Fabien Potencier 22 | */ 23 | interface FragmentRendererInterface 24 | { 25 | /** 26 | * Renders a URI and returns the Response content. 27 | */ 28 | public function render(string|ControllerReference $uri, Request $request, array $options = []): Response; 29 | 30 | /** 31 | * Gets the name of the strategy. 32 | */ 33 | public function getName(): string; 34 | } 35 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/ResolverNotFoundException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | class ResolverNotFoundException extends \RuntimeException 15 | { 16 | /** 17 | * @param string[] $alternatives 18 | */ 19 | public function __construct(string $name, array $alternatives = []) 20 | { 21 | $msg = \sprintf('You have requested a non-existent resolver "%s".', $name); 22 | if ($alternatives) { 23 | if (1 === \count($alternatives)) { 24 | $msg .= ' Did you mean this: "'; 25 | } else { 26 | $msg .= ' Did you mean one of these: "'; 27 | } 28 | $msg .= implode('", "', $alternatives).'"?'; 29 | } 30 | 31 | parent::__construct($msg); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/TerminableInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\Response; 16 | 17 | /** 18 | * Terminable extends the Kernel request/response cycle with dispatching a post 19 | * response event after sending the response and before shutting down the kernel. 20 | * 21 | * @author Jordi Boggiano 22 | * @author Pierre Minnieur 23 | */ 24 | interface TerminableInterface 25 | { 26 | /** 27 | * Terminates a request/response cycle. 28 | * 29 | * Should be called after sending the response and before shutting down the kernel. 30 | */ 31 | public function terminate(Request $request, Response $response): void; 32 | } 33 | -------------------------------------------------------------------------------- /lib/Auth/BackendUser.php: -------------------------------------------------------------------------------- 1 | checkLogin()) { 19 | $this->User = $login->getUser(); 20 | } 21 | if (null === $this->User) { 22 | return false; 23 | } 24 | return true; 25 | } 26 | 27 | public function getAuthorizationObject(): mixed 28 | { 29 | return $this->User; 30 | } 31 | 32 | public static function getOpenApiConfig() 33 | { 34 | return [ 35 | 'securityScheme' => 'cookieAuth', 36 | 'name' => 'PHPSESSID', 37 | 'type' => 'apiKey', 38 | 'in' => 'cookie', 39 | 'description' => 'PHP Session Cookie', 40 | ]; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Exception/TooManyRequestsHttpException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Exception; 13 | 14 | /** 15 | * @author Ben Ramsey 16 | * 17 | * @see http://tools.ietf.org/html/rfc6585 18 | */ 19 | class TooManyRequestsHttpException extends HttpException 20 | { 21 | /** 22 | * @param int|string|null $retryAfter The number of seconds or HTTP-date after which the request may be retried 23 | */ 24 | public function __construct(int|string|null $retryAfter = null, string $message = '', ?\Throwable $previous = null, int $code = 0, array $headers = []) 25 | { 26 | if ($retryAfter) { 27 | $headers['Retry-After'] = $retryAfter; 28 | } 29 | 30 | parent::__construct(429, $message, $previous, $headers, $code); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DataCollector/DataCollectorInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DataCollector; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\Response; 16 | use Symfony\Contracts\Service\ResetInterface; 17 | 18 | /** 19 | * DataCollectorInterface. 20 | * 21 | * @author Fabien Potencier 22 | */ 23 | interface DataCollectorInterface extends ResetInterface 24 | { 25 | /** 26 | * Collects data for the given Request and Response. 27 | * 28 | * @return void 29 | */ 30 | public function collect(Request $request, Response $response, ?\Throwable $exception = null); 31 | 32 | /** 33 | * Returns the name of the collector. 34 | * 35 | * @return string 36 | */ 37 | public function getName(); 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Loader/ClosureLoader.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Loader; 13 | 14 | use Symfony\Component\Config\Loader\Loader; 15 | use Symfony\Component\Routing\RouteCollection; 16 | 17 | /** 18 | * ClosureLoader loads routes from a PHP closure. 19 | * 20 | * The Closure must return a RouteCollection instance. 21 | * 22 | * @author Fabien Potencier 23 | */ 24 | class ClosureLoader extends Loader 25 | { 26 | /** 27 | * Loads a Closure. 28 | */ 29 | public function load(mixed $closure, ?string $type = null): RouteCollection 30 | { 31 | return $closure($this->env); 32 | } 33 | 34 | public function supports(mixed $resource, ?string $type = null): bool 35 | { 36 | return $resource instanceof \Closure && (!$type || 'closure' === $type); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Attribute/ValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Attribute; 13 | 14 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 15 | 16 | /** 17 | * Defines which value resolver should be used for a given parameter. 18 | */ 19 | #[\Attribute(\Attribute::TARGET_PARAMETER | \Attribute::IS_REPEATABLE)] 20 | class ValueResolver 21 | { 22 | /** 23 | * @param class-string|string $resolver The class name of the resolver to use 24 | * @param bool $disabled Whether this value resolver is disabled; this allows to enable a value resolver globally while disabling it in specific cases 25 | */ 26 | public function __construct( 27 | public string $resolver, 28 | public bool $disabled = false, 29 | ) { 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Loader/ContainerLoader.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Loader; 13 | 14 | use Psr\Container\ContainerInterface; 15 | 16 | /** 17 | * A route loader that executes a service from a PSR-11 container to load the routes. 18 | * 19 | * @author Ryan Weaver 20 | */ 21 | class ContainerLoader extends ObjectLoader 22 | { 23 | public function __construct( 24 | private ContainerInterface $container, 25 | ?string $env = null, 26 | ) { 27 | parent::__construct($env); 28 | } 29 | 30 | public function supports(mixed $resource, ?string $type = null): bool 31 | { 32 | return 'service' === $type && \is_string($resource); 33 | } 34 | 35 | protected function getObject(string $id): object 36 | { 37 | return $this->container->get($id); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestAttributeValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 16 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 17 | 18 | /** 19 | * Yields a non-variadic argument's value from the request attributes. 20 | * 21 | * @author Iltar van der Berg 22 | */ 23 | final class RequestAttributeValueResolver implements ValueResolverInterface 24 | { 25 | public function resolve(Request $request, ArgumentMetadata $argument): array 26 | { 27 | return !$argument->isVariadic() && $request->attributes->has($argument->getName()) ? [$request->attributes->get($argument->getName())] : []; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Yakamara, www.yakamara.de 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/TraceableControllerResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\Stopwatch\Stopwatch; 16 | 17 | /** 18 | * @author Fabien Potencier 19 | */ 20 | class TraceableControllerResolver implements ControllerResolverInterface 21 | { 22 | public function __construct( 23 | private ControllerResolverInterface $resolver, 24 | private Stopwatch $stopwatch, 25 | ) { 26 | } 27 | 28 | public function getController(Request $request): callable|false 29 | { 30 | $e = $this->stopwatch->start('controller.get_callable'); 31 | 32 | try { 33 | return $this->resolver->getController($request); 34 | } finally { 35 | $e->stop(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004-present Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/routing/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004-present Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/composer/LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) Nils Adermann, Jordi Boggiano 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is furnished 9 | to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | THE SOFTWARE. 21 | 22 | -------------------------------------------------------------------------------- /vendor/symfony/deprecation-contracts/function.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | if (!function_exists('trigger_deprecation')) { 13 | /** 14 | * Triggers a silenced deprecation notice. 15 | * 16 | * @param string $package The name of the Composer package that is triggering the deprecation 17 | * @param string $version The version of the package that introduced the deprecation 18 | * @param string $message The message of the deprecation 19 | * @param mixed ...$args Values to insert in the message using printf() formatting 20 | * 21 | * @author Nicolas Grekas 22 | */ 23 | function trigger_deprecation(string $package, string $version, string $message, mixed ...$args): void 24 | { 25 | @trigger_error(($package || $version ? "Since $package $version: " : '').($args ? vsprintf($message, $args) : $message), \E_USER_DEPRECATED); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019-present Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2004-present Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/routing/RouterInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing; 13 | 14 | use Symfony\Component\Routing\Generator\UrlGeneratorInterface; 15 | use Symfony\Component\Routing\Matcher\UrlMatcherInterface; 16 | 17 | /** 18 | * RouterInterface is the interface that all Router classes must implement. 19 | * 20 | * This interface is the concatenation of UrlMatcherInterface and UrlGeneratorInterface. 21 | * 22 | * @author Fabien Potencier 23 | */ 24 | interface RouterInterface extends UrlMatcherInterface, UrlGeneratorInterface 25 | { 26 | /** 27 | * Gets the RouteCollection instance associated with this Router. 28 | * 29 | * WARNING: This method should never be used at runtime as it is SLOW. 30 | * You might use it in a cache warmer though. 31 | */ 32 | public function getRouteCollection(): RouteCollection; 33 | } 34 | -------------------------------------------------------------------------------- /vendor/psr/event-dispatcher/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2018 PHP-FIG 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /vendor/symfony/deprecation-contracts/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2020-present Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher-contracts/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018-present Fabien Potencier 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher-contracts/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/event-dispatcher-contracts", 3 | "type": "library", 4 | "description": "Generic abstractions related to dispatching event", 5 | "keywords": ["abstractions", "contracts", "decoupling", "interfaces", "interoperability", "standards"], 6 | "homepage": "https://symfony.com", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Nicolas Grekas", 11 | "email": "p@tchwork.com" 12 | }, 13 | { 14 | "name": "Symfony Community", 15 | "homepage": "https://symfony.com/contributors" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=8.1", 20 | "psr/event-dispatcher": "^1" 21 | }, 22 | "autoload": { 23 | "psr-4": { "Symfony\\Contracts\\EventDispatcher\\": "" } 24 | }, 25 | "minimum-stability": "dev", 26 | "extra": { 27 | "branch-alias": { 28 | "dev-main": "3.5-dev" 29 | }, 30 | "thanks": { 31 | "name": "symfony/contracts", 32 | "url": "https://github.com/symfony/contracts" 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/TraceableArgumentResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\Stopwatch\Stopwatch; 16 | 17 | /** 18 | * @author Fabien Potencier 19 | */ 20 | class TraceableArgumentResolver implements ArgumentResolverInterface 21 | { 22 | public function __construct( 23 | private ArgumentResolverInterface $resolver, 24 | private Stopwatch $stopwatch, 25 | ) { 26 | } 27 | 28 | public function getArguments(Request $request, callable $controller, ?\ReflectionFunctionAbstract $reflector = null): array 29 | { 30 | $e = $this->stopwatch->start('controller.get_arguments'); 31 | 32 | try { 33 | return $this->resolver->getArguments($request, $controller, $reflector); 34 | } finally { 35 | $e->stop(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Fragment/FragmentUriGeneratorInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Fragment; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\Controller\ControllerReference; 16 | 17 | /** 18 | * Interface implemented by rendering strategies able to generate a URL for a fragment. 19 | * 20 | * @author Kévin Dunglas 21 | */ 22 | interface FragmentUriGeneratorInterface 23 | { 24 | /** 25 | * Generates a fragment URI for a given controller. 26 | * 27 | * @param bool $absolute Whether to generate an absolute URL or not 28 | * @param bool $strict Whether to allow non-scalar attributes or not 29 | * @param bool $sign Whether to sign the URL or not 30 | */ 31 | public function generate(ControllerReference $controller, ?Request $request = null, bool $absolute = false, bool $strict = true, bool $sign = true): string; 32 | } 33 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Loader/GlobFileLoader.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Loader; 13 | 14 | use Symfony\Component\Config\Loader\FileLoader; 15 | use Symfony\Component\Routing\RouteCollection; 16 | 17 | /** 18 | * GlobFileLoader loads files from a glob pattern. 19 | * 20 | * @author Nicolas Grekas 21 | */ 22 | class GlobFileLoader extends FileLoader 23 | { 24 | public function load(mixed $resource, ?string $type = null): mixed 25 | { 26 | $collection = new RouteCollection(); 27 | 28 | foreach ($this->glob($resource, false, $globResource) as $path => $info) { 29 | $collection->addCollection($this->import($path)); 30 | } 31 | 32 | $collection->addResource($globResource); 33 | 34 | return $collection; 35 | } 36 | 37 | public function supports(mixed $resource, ?string $type = null): bool 38 | { 39 | return 'glob' === $type; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/HttpCache/ResponseCacheStrategyInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * This code is partially based on the Rack-Cache library by Ryan Tomayko, 9 | * which is released under the MIT license. 10 | * (based on commit 02d2b48d75bcb63cf1c0c7149c077ad256542801) 11 | * 12 | * For the full copyright and license information, please view the LICENSE 13 | * file that was distributed with this source code. 14 | */ 15 | 16 | namespace Symfony\Component\HttpKernel\HttpCache; 17 | 18 | use Symfony\Component\HttpFoundation\Response; 19 | 20 | /** 21 | * ResponseCacheStrategyInterface implementations know how to compute the 22 | * Response cache HTTP header based on the different response cache headers. 23 | * 24 | * @author Fabien Potencier 25 | */ 26 | interface ResponseCacheStrategyInterface 27 | { 28 | /** 29 | * Adds a Response. 30 | */ 31 | public function add(Response $response): void; 32 | 33 | /** 34 | * Updates the Response HTTP headers based on the embedded Responses. 35 | */ 36 | public function update(Response $response): void; 37 | } 38 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | CHANGELOG 2 | ========= 3 | 4 | 7.1 5 | --- 6 | 7 | * Increase log level to "error" at least for all PHP errors 8 | 9 | 6.4 10 | --- 11 | 12 | * `FlattenExceptionNormalizer` no longer implements `ContextAwareNormalizerInterface` 13 | 14 | 6.3 15 | --- 16 | 17 | * Display exception properties in the HTML error page 18 | 19 | 6.1 20 | --- 21 | 22 | * Report overridden `@final` constants and properties 23 | * Read environment variable `SYMFONY_IDE` to configure file link format 24 | 25 | 5.4 26 | --- 27 | 28 | * Make `DebugClassLoader` trigger deprecation notices on missing return types 29 | * Add `SYMFONY_PATCH_TYPE_DECLARATIONS='force=2'` mode to `DebugClassLoader` to turn annotations into native return types 30 | 31 | 5.2.0 32 | ----- 33 | 34 | * added the ability to set `HtmlErrorRenderer::$template` to a custom template to render when not in debug mode. 35 | 36 | 5.1.0 37 | ----- 38 | 39 | * The `HtmlErrorRenderer` and `SerializerErrorRenderer` add `X-Debug-Exception` and `X-Debug-Exception-File` headers in debug mode. 40 | 41 | 4.4.0 42 | ----- 43 | 44 | * added the component 45 | * added `ErrorHandler::call()` method utility to turn any PHP error into `\ErrorException` 46 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher-contracts/EventDispatcherInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Contracts\EventDispatcher; 13 | 14 | use Psr\EventDispatcher\EventDispatcherInterface as PsrEventDispatcherInterface; 15 | 16 | /** 17 | * Allows providing hooks on domain-specific lifecycles by dispatching events. 18 | */ 19 | interface EventDispatcherInterface extends PsrEventDispatcherInterface 20 | { 21 | /** 22 | * Dispatches an event to all registered listeners. 23 | * 24 | * @template T of object 25 | * 26 | * @param T $event The event to pass to the event handlers/listeners 27 | * @param string|null $eventName The name of the event to dispatch. If not supplied, 28 | * the class of $event should be used instead. 29 | * 30 | * @return T The passed $event MUST be returned 31 | */ 32 | public function dispatch(object $event, ?string $eventName = null): object; 33 | } 34 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Attribute/MapUploadedFile.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Attribute; 13 | 14 | use Symfony\Component\HttpFoundation\Response; 15 | use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver; 16 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 17 | use Symfony\Component\Validator\Constraint; 18 | 19 | #[\Attribute(\Attribute::TARGET_PARAMETER)] 20 | class MapUploadedFile extends ValueResolver 21 | { 22 | public ArgumentMetadata $metadata; 23 | 24 | public function __construct( 25 | /** @var Constraint|array|null */ 26 | public Constraint|array|null $constraints = null, 27 | public ?string $name = null, 28 | string $resolver = RequestPayloadValueResolver::class, 29 | public readonly int $validationFailedStatusCode = Response::HTTP_UNPROCESSABLE_ENTITY, 30 | ) { 31 | parent::__construct($resolver); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /lib/RoutePackage/Backend/Media.php: -------------------------------------------------------------------------------- 1 | setPath('backend' . $route->getPath()); 22 | $description = $Route['description']; 23 | $responses = $Route['responses']; 24 | $authorization = new BackendUser(); 25 | 26 | RouteCollection::registerRoute( 27 | $scope, 28 | $route, 29 | $description, 30 | $responses, 31 | $authorization, 32 | ['backend'], 33 | ); 34 | } 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Config/FileLocator.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Config; 13 | 14 | use Symfony\Component\Config\FileLocator as BaseFileLocator; 15 | use Symfony\Component\HttpKernel\KernelInterface; 16 | 17 | /** 18 | * FileLocator uses the KernelInterface to locate resources in bundles. 19 | * 20 | * @author Fabien Potencier 21 | */ 22 | class FileLocator extends BaseFileLocator 23 | { 24 | public function __construct( 25 | private KernelInterface $kernel, 26 | ) { 27 | parent::__construct(); 28 | } 29 | 30 | public function locate(string $file, ?string $currentPath = null, bool $first = true): string|array 31 | { 32 | if (isset($file[0]) && '@' === $file[0]) { 33 | $resource = $this->kernel->locateResource($file); 34 | 35 | return $first ? $resource : [$resource]; 36 | } 37 | 38 | return parent::locate($file, $currentPath, $first); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/EventListener/SessionListener.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\EventListener; 13 | 14 | use Psr\Container\ContainerInterface; 15 | use Symfony\Component\HttpFoundation\Session\SessionInterface; 16 | 17 | /** 18 | * Sets the session in the request. 19 | * 20 | * @author Fabien Potencier 21 | * 22 | * @final 23 | */ 24 | class SessionListener extends AbstractSessionListener 25 | { 26 | public function __construct( 27 | private ?ContainerInterface $container = null, 28 | bool $debug = false, 29 | array $sessionOptions = [], 30 | ) { 31 | parent::__construct($container, $debug, $sessionOptions); 32 | } 33 | 34 | protected function getSession(): ?SessionInterface 35 | { 36 | if ($this->container->has('session_factory')) { 37 | return $this->container->get('session_factory')->createSession(); 38 | } 39 | 40 | return null; 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Debug.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler; 13 | 14 | /** 15 | * Registers all the debug tools. 16 | * 17 | * @author Fabien Potencier 18 | */ 19 | class Debug 20 | { 21 | public static function enable(): ErrorHandler 22 | { 23 | error_reporting(-1); 24 | 25 | if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { 26 | ini_set('display_errors', 0); 27 | } elseif (!filter_var(\ini_get('log_errors'), \FILTER_VALIDATE_BOOL) || \ini_get('error_log')) { 28 | // CLI - display errors only if they're not already logged to STDERR 29 | ini_set('display_errors', 1); 30 | } 31 | 32 | @ini_set('zend.assertions', 1); 33 | ini_set('assert.active', 1); 34 | ini_set('assert.exception', 1); 35 | 36 | DebugClassLoader::enable(); 37 | 38 | return ErrorHandler::register(new ErrorHandler(new BufferingLogger(), true)); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Resources/assets/images/favicon.png.base64: -------------------------------------------------------------------------------- 1 | data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAgCAYAAAABtRhCAAADVUlEQVRIx82XX0jTURTHLYPyqZdefQx66CEo80+aYpoIkqzUikz6Z5klQoWUWYRIJYEUGpQ+lIr9U5dOTLdCtkmWZis3rbnC5fw/neYW002307mX/cZvP3/7o1PwwOdh95x7vnf39zvnd29AgBer2xO6DclAXiMqZAqxIiNIN/IYSUS2BPhjmGATchUxI+ADWiRhpWK7HKuHFVBFdmU5YvnI4grFGCaReF/EBH4KsZlGgj2JBTuCYBWRIYF8YoEOJ6wBt/gEs7mBbyOjQXruPLSdOgPCiEiPSUUHDoL8Ug5IUo9B/d5wrt+G7OAKNrODPuVdB6vRCIzN6SdBlpW9RIgk/1FeAXabzRlrUPVCS/JhbmwudztnGeeH9AyXBIwtmM3wLinZJZHifjHw2V+NBoRh+9ixQrbgbnaSIcl7cGea6hoXQbNe7za241oeO5Z0p42M4BV2EqP2D50wo+6HzvwC6C4sApNOR8cmOrtcnhtj2kYRyC9eBvXzKrBZrXSs72kFd1t3MoKVbMekQkEnSNKOO8fac3LpmK6l1TlGtsxmsdKFsecPYgwxst0cwROMYDXboSotg0WLBRqjY51jLYcENElXwW2XJKPydvoI2GN9T8rBtrAArYIUruBJXkFheCQYlCpQP6uk5dAQFQNaUROMSGVQFxLmkoQsxDJrhLbTZ+nvVsERME9MgPJRKV/58AsyomTSzE813WLFvWK++qI0xSfQl8k8Pg46sYRuv5t6dS+4RqxDwaa4BGjYH+NTQvKScIp9+YL/hoZh3jDtLRHtt2C3g6bmhX+CpsFBWg7ilDSPgj0lD2ncr5ev/BP8VvyAJhqVyZeUhPOrEhEFxgEtjft846Z/guQTNT89Q5P9flMLoth4F7808wKtWWKzAwNQHxrh/1vaid2F+XpYTSbQf1XA2McOmOpROnvpvMEA4tSjq1cW0sws2gCYxswY6TKkvzYnJq1NHZLnRU4BX+4U0uburvusu8Kv8iHY7qefkM4IFngJHEOUXmLEPgiGsI8YnlZILit3vSSLRTQe/MPIZva5pshNIEmyFQlCvruJKXPkCEfmePzkphXHdzZNQdoRI9KPlBAxlj/I8U97ERPS5bjGbWDFbEdqHVe5caTBeZZx2H/IMvzeN15yoQAAAABJRU5ErkJggg== 2 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Event/TerminateEvent.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Event; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\Response; 16 | use Symfony\Component\HttpKernel\HttpKernelInterface; 17 | 18 | /** 19 | * Allows to execute logic after a response was sent. 20 | * 21 | * Since it's only triggered on main requests, the `getRequestType()` method 22 | * will always return the value of `HttpKernelInterface::MAIN_REQUEST`. 23 | * 24 | * @author Jordi Boggiano 25 | */ 26 | final class TerminateEvent extends KernelEvent 27 | { 28 | public function __construct( 29 | HttpKernelInterface $kernel, 30 | Request $request, 31 | private Response $response, 32 | ) { 33 | parent::__construct($kernel, $request, HttpKernelInterface::MAIN_REQUEST); 34 | } 35 | 36 | public function getResponse(): Response 37 | { 38 | return $this->response; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Log/DebugLoggerInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Log; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | 16 | /** 17 | * DebugLoggerInterface. 18 | * 19 | * @author Fabien Potencier 20 | */ 21 | interface DebugLoggerInterface 22 | { 23 | /** 24 | * Returns an array of logs. 25 | * 26 | * @return array, 29 | * message: string, 30 | * priority: int, 31 | * priorityName: string, 32 | * timestamp: int, 33 | * timestamp_rfc3339: string, 34 | * }> 35 | */ 36 | public function getLogs(?Request $request = null): array; 37 | 38 | /** 39 | * Returns the number of errors. 40 | */ 41 | public function countErrors(?Request $request = null): int; 42 | 43 | /** 44 | * Removes all log records. 45 | */ 46 | public function clear(): void; 47 | } 48 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher/Attribute/AsEventListener.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\EventDispatcher\Attribute; 13 | 14 | /** 15 | * Service tag to autoconfigure event listeners. 16 | * 17 | * @author Alexander M. Turek 18 | */ 19 | #[\Attribute(\Attribute::TARGET_CLASS | \Attribute::TARGET_METHOD | \Attribute::IS_REPEATABLE)] 20 | class AsEventListener 21 | { 22 | /** 23 | * @param string|null $event The event name to listen to 24 | * @param string|null $method The method to run when the listened event is triggered 25 | * @param int $priority The priority of this listener if several are declared for the same event 26 | * @param string|null $dispatcher The service id of the event dispatcher to listen to 27 | */ 28 | public function __construct( 29 | public ?string $event = null, 30 | public ?string $method = null, 31 | public int $priority = 0, 32 | public ?string $dispatcher = null, 33 | ) { 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ArgumentResolver/DefaultValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 16 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 17 | 18 | /** 19 | * Yields the default value defined in the action signature when no value has been given. 20 | * 21 | * @author Iltar van der Berg 22 | */ 23 | final class DefaultValueResolver implements ValueResolverInterface 24 | { 25 | public function resolve(Request $request, ArgumentMetadata $argument): array 26 | { 27 | if ($argument->hasDefaultValue()) { 28 | return [$argument->getDefaultValue()]; 29 | } 30 | 31 | if (null !== $argument->getType() && $argument->isNullable() && !$argument->isVariadic()) { 32 | return [null]; 33 | } 34 | 35 | return []; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/ErrorRenderer/ErrorRendererInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler\ErrorRenderer; 13 | 14 | use Symfony\Component\ErrorHandler\Exception\FlattenException; 15 | 16 | /** 17 | * Formats an exception to be used as response content. 18 | * 19 | * @author Yonel Ceruto 20 | */ 21 | interface ErrorRendererInterface 22 | { 23 | public const IDE_LINK_FORMATS = [ 24 | 'textmate' => 'txmt://open?url=file://%f&line=%l', 25 | 'macvim' => 'mvim://open?url=file://%f&line=%l', 26 | 'emacs' => 'emacs://open?url=file://%f&line=%l', 27 | 'sublime' => 'subl://open?url=file://%f&line=%l', 28 | 'phpstorm' => 'phpstorm://open?file=%f&line=%l', 29 | 'atom' => 'atom://core/open/file?filename=%f&line=%l', 30 | 'vscode' => 'vscode://file/%f:%l', 31 | ]; 32 | 33 | /** 34 | * Renders a Throwable as a FlattenException. 35 | */ 36 | public function render(\Throwable $exception): FlattenException; 37 | } 38 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher/DependencyInjection/AddEventAliasesPass.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\EventDispatcher\DependencyInjection; 13 | 14 | use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; 15 | use Symfony\Component\DependencyInjection\ContainerBuilder; 16 | 17 | /** 18 | * This pass allows bundles to extend the list of event aliases. 19 | * 20 | * @author Alexander M. Turek 21 | */ 22 | class AddEventAliasesPass implements CompilerPassInterface 23 | { 24 | public function __construct( 25 | private array $eventAliases, 26 | ) { 27 | } 28 | 29 | public function process(ContainerBuilder $container): void 30 | { 31 | $eventAliases = $container->hasParameter('event_dispatcher.event_aliases') ? $container->getParameter('event_dispatcher.event_aliases') : []; 32 | 33 | $container->setParameter( 34 | 'event_dispatcher.event_aliases', 35 | array_merge($eventAliases, $this->eventAliases) 36 | ); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/deprecation-contracts/README.md: -------------------------------------------------------------------------------- 1 | Symfony Deprecation Contracts 2 | ============================= 3 | 4 | A generic function and convention to trigger deprecation notices. 5 | 6 | This package provides a single global function named `trigger_deprecation()` that triggers silenced deprecation notices. 7 | 8 | By using a custom PHP error handler such as the one provided by the Symfony ErrorHandler component, 9 | the triggered deprecations can be caught and logged for later discovery, both on dev and prod environments. 10 | 11 | The function requires at least 3 arguments: 12 | - the name of the Composer package that is triggering the deprecation 13 | - the version of the package that introduced the deprecation 14 | - the message of the deprecation 15 | - more arguments can be provided: they will be inserted in the message using `printf()` formatting 16 | 17 | Example: 18 | ```php 19 | trigger_deprecation('symfony/blockchain', '8.9', 'Using "%s" is deprecated, use "%s" instead.', 'bitcoin', 'fabcoin'); 20 | ``` 21 | 22 | This will generate the following message: 23 | `Since symfony/blockchain 8.9: Using "bitcoin" is deprecated, use "fabcoin" instead.` 24 | 25 | While not recommended, the deprecation notices can be completely ignored by declaring an empty 26 | `function trigger_deprecation() {}` in your application. 27 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/EventListener/DisallowRobotsIndexingListener.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\EventListener; 13 | 14 | use Symfony\Component\EventDispatcher\EventSubscriberInterface; 15 | use Symfony\Component\HttpKernel\Event\ResponseEvent; 16 | use Symfony\Component\HttpKernel\KernelEvents; 17 | 18 | /** 19 | * Ensures that the application is not indexed by search engines. 20 | * 21 | * @author Gary PEGEOT 22 | */ 23 | class DisallowRobotsIndexingListener implements EventSubscriberInterface 24 | { 25 | private const HEADER_NAME = 'X-Robots-Tag'; 26 | 27 | public function onResponse(ResponseEvent $event): void 28 | { 29 | if (!$event->getResponse()->headers->has(static::HEADER_NAME)) { 30 | $event->getResponse()->headers->set(static::HEADER_NAME, 'noindex'); 31 | } 32 | } 33 | 34 | public static function getSubscribedEvents(): array 35 | { 36 | return [ 37 | KernelEvents::RESPONSE => ['onResponse', -255], 38 | ]; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/error-handler", 3 | "type": "library", 4 | "description": "Provides tools to manage errors and ease debugging PHP code", 5 | "keywords": [], 6 | "homepage": "https://symfony.com", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Fabien Potencier", 11 | "email": "fabien@symfony.com" 12 | }, 13 | { 14 | "name": "Symfony Community", 15 | "homepage": "https://symfony.com/contributors" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=8.2", 20 | "psr/log": "^1|^2|^3", 21 | "symfony/var-dumper": "^6.4|^7.0" 22 | }, 23 | "require-dev": { 24 | "symfony/http-kernel": "^6.4|^7.0", 25 | "symfony/serializer": "^6.4|^7.0", 26 | "symfony/deprecation-contracts": "^2.5|^3" 27 | }, 28 | "conflict": { 29 | "symfony/deprecation-contracts": "<2.5", 30 | "symfony/http-kernel": "<6.4" 31 | }, 32 | "autoload": { 33 | "psr-4": { "Symfony\\Component\\ErrorHandler\\": "" }, 34 | "exclude-from-classmap": [ 35 | "/Tests/" 36 | ] 37 | }, 38 | "bin": [ 39 | "Resources/bin/patch-type-declarations" 40 | ], 41 | "minimum-stability": "dev" 42 | } 43 | -------------------------------------------------------------------------------- /vendor/symfony/routing/DependencyInjection/AddExpressionLanguageProvidersPass.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\DependencyInjection; 13 | 14 | use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; 15 | use Symfony\Component\DependencyInjection\ContainerBuilder; 16 | use Symfony\Component\DependencyInjection\Reference; 17 | 18 | /** 19 | * Registers the expression language providers. 20 | * 21 | * @author Fabien Potencier 22 | */ 23 | class AddExpressionLanguageProvidersPass implements CompilerPassInterface 24 | { 25 | public function process(ContainerBuilder $container): void 26 | { 27 | if (!$container->has('router.default')) { 28 | return; 29 | } 30 | 31 | $definition = $container->findDefinition('router.default'); 32 | foreach ($container->findTaggedServiceIds('routing.expression_language_provider', true) as $id => $attributes) { 33 | $definition->addMethodCall('addExpressionLanguageProvider', [new Reference($id)]); 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ArgumentResolver/SessionValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\Session\SessionInterface; 16 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 17 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 18 | 19 | /** 20 | * Yields the Session. 21 | * 22 | * @author Iltar van der Berg 23 | */ 24 | final class SessionValueResolver implements ValueResolverInterface 25 | { 26 | public function resolve(Request $request, ArgumentMetadata $argument): array 27 | { 28 | if (!$request->hasSession()) { 29 | return []; 30 | } 31 | 32 | $type = $argument->getType(); 33 | if (SessionInterface::class !== $type && !is_subclass_of($type, SessionInterface::class)) { 34 | return []; 35 | } 36 | 37 | return $request->getSession() instanceof $type ? [$request->getSession()] : []; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/MethodNotAllowedException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | /** 15 | * The resource was found but the request method is not allowed. 16 | * 17 | * This exception should trigger an HTTP 405 response in your application code. 18 | * 19 | * @author Kris Wallsmith 20 | */ 21 | class MethodNotAllowedException extends \RuntimeException implements ExceptionInterface 22 | { 23 | protected array $allowedMethods = []; 24 | 25 | /** 26 | * @param string[] $allowedMethods 27 | */ 28 | public function __construct(array $allowedMethods, string $message = '', int $code = 0, ?\Throwable $previous = null) 29 | { 30 | $this->allowedMethods = array_map('strtoupper', $allowedMethods); 31 | 32 | parent::__construct($message, $code, $previous); 33 | } 34 | 35 | /** 36 | * Gets the allowed HTTP methods. 37 | * 38 | * @return string[] 39 | */ 40 | public function getAllowedMethods(): array 41 | { 42 | return $this->allowedMethods; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DependencyInjection; 13 | 14 | use Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass as BaseMergeExtensionConfigurationPass; 15 | use Symfony\Component\DependencyInjection\ContainerBuilder; 16 | 17 | /** 18 | * Ensures certain extensions are always loaded. 19 | * 20 | * @author Kris Wallsmith 21 | */ 22 | class MergeExtensionConfigurationPass extends BaseMergeExtensionConfigurationPass 23 | { 24 | /** 25 | * @param string[] $extensions 26 | */ 27 | public function __construct( 28 | private array $extensions, 29 | ) { 30 | } 31 | 32 | public function process(ContainerBuilder $container): void 33 | { 34 | foreach ($this->extensions as $extension) { 35 | if (!\count($container->getExtensionConfig($extension))) { 36 | $container->loadFromExtension($extension, []); 37 | } 38 | } 39 | 40 | parent::process($container); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Loader/Configurator/AliasConfigurator.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Loader\Configurator; 13 | 14 | use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException; 15 | use Symfony\Component\Routing\Alias; 16 | 17 | class AliasConfigurator 18 | { 19 | public function __construct( 20 | private Alias $alias, 21 | ) { 22 | } 23 | 24 | /** 25 | * Whether this alias is deprecated, that means it should not be called anymore. 26 | * 27 | * @param string $package The name of the composer package that is triggering the deprecation 28 | * @param string $version The version of the package that introduced the deprecation 29 | * @param string $message The deprecation message to use 30 | * 31 | * @return $this 32 | * 33 | * @throws InvalidArgumentException when the message template is invalid 34 | */ 35 | public function deprecate(string $package, string $version, string $message): static 36 | { 37 | $this->alias->setDeprecated($package, $version, $message); 38 | 39 | return $this; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /vendor/symfony/routing/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/routing", 3 | "type": "library", 4 | "description": "Maps an HTTP request to a set of configuration variables", 5 | "keywords": ["routing", "router", "url", "uri"], 6 | "homepage": "https://symfony.com", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Fabien Potencier", 11 | "email": "fabien@symfony.com" 12 | }, 13 | { 14 | "name": "Symfony Community", 15 | "homepage": "https://symfony.com/contributors" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=8.2", 20 | "symfony/deprecation-contracts": "^2.5|^3" 21 | }, 22 | "require-dev": { 23 | "symfony/config": "^6.4|^7.0", 24 | "symfony/http-foundation": "^6.4|^7.0", 25 | "symfony/yaml": "^6.4|^7.0", 26 | "symfony/expression-language": "^6.4|^7.0", 27 | "symfony/dependency-injection": "^6.4|^7.0", 28 | "psr/log": "^1|^2|^3" 29 | }, 30 | "conflict": { 31 | "symfony/config": "<6.4", 32 | "symfony/dependency-injection": "<6.4", 33 | "symfony/yaml": "<6.4" 34 | }, 35 | "autoload": { 36 | "psr-4": { "Symfony\\Component\\Routing\\": "" }, 37 | "exclude-from-classmap": [ 38 | "/Tests/" 39 | ] 40 | }, 41 | "minimum-stability": "dev" 42 | } 43 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Event/ResponseEvent.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Event; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\Response; 16 | use Symfony\Component\HttpKernel\HttpKernelInterface; 17 | 18 | /** 19 | * Allows to filter a Response object. 20 | * 21 | * You can call getResponse() to retrieve the current response. With 22 | * setResponse() you can set a new response that will be returned to the 23 | * browser. 24 | * 25 | * @author Bernhard Schussek 26 | */ 27 | final class ResponseEvent extends KernelEvent 28 | { 29 | public function __construct( 30 | HttpKernelInterface $kernel, 31 | Request $request, 32 | int $requestType, 33 | private Response $response, 34 | ) { 35 | parent::__construct($kernel, $request, $requestType); 36 | } 37 | 38 | public function getResponse(): Response 39 | { 40 | return $this->response; 41 | } 42 | 43 | public function setResponse(Response $response): void 44 | { 45 | $this->response = $response; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/EventListener/AddRequestFormatsListener.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\EventListener; 13 | 14 | use Symfony\Component\EventDispatcher\EventSubscriberInterface; 15 | use Symfony\Component\HttpKernel\Event\RequestEvent; 16 | use Symfony\Component\HttpKernel\KernelEvents; 17 | 18 | /** 19 | * Adds configured formats to each request. 20 | * 21 | * @author Gildas Quemener 22 | * 23 | * @final 24 | */ 25 | class AddRequestFormatsListener implements EventSubscriberInterface 26 | { 27 | public function __construct( 28 | private array $formats, 29 | ) { 30 | } 31 | 32 | /** 33 | * Adds request formats. 34 | */ 35 | public function onKernelRequest(RequestEvent $event): void 36 | { 37 | $request = $event->getRequest(); 38 | foreach ($this->formats as $format => $mimeTypes) { 39 | $request->setFormat($format, $mimeTypes); 40 | } 41 | } 42 | 43 | public static function getSubscribedEvents(): array 44 | { 45 | return [KernelEvents::REQUEST => ['onKernelRequest', 100]]; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ArgumentResolver/TraceableValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 16 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 17 | use Symfony\Component\Stopwatch\Stopwatch; 18 | 19 | /** 20 | * Provides timing information via the stopwatch. 21 | * 22 | * @author Iltar van der Berg 23 | */ 24 | final class TraceableValueResolver implements ValueResolverInterface 25 | { 26 | public function __construct( 27 | private ValueResolverInterface $inner, 28 | private Stopwatch $stopwatch, 29 | ) { 30 | } 31 | 32 | public function resolve(Request $request, ArgumentMetadata $argument): iterable 33 | { 34 | $method = $this->inner::class.'::'.__FUNCTION__; 35 | $this->stopwatch->start($method, 'controller.argument_value_resolver'); 36 | 37 | yield from $this->inner->resolve($request, $argument); 38 | 39 | $this->stopwatch->stop($method); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/HttpKernelInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\Response; 16 | 17 | /** 18 | * HttpKernelInterface handles a Request to convert it to a Response. 19 | * 20 | * @author Fabien Potencier 21 | */ 22 | interface HttpKernelInterface 23 | { 24 | public const MAIN_REQUEST = 1; 25 | public const SUB_REQUEST = 2; 26 | 27 | /** 28 | * Handles a Request to convert it to a Response. 29 | * 30 | * When $catch is true, the implementation must catch all exceptions 31 | * and do its best to convert them to a Response instance. 32 | * 33 | * @param int $type The type of the request 34 | * (one of HttpKernelInterface::MAIN_REQUEST or HttpKernelInterface::SUB_REQUEST) 35 | * @param bool $catch Whether to catch exceptions or not 36 | * 37 | * @throws \Exception When an Exception occurs during processing 38 | */ 39 | public function handle(Request $request, int $type = self::MAIN_REQUEST, bool $catch = true): Response; 40 | } 41 | -------------------------------------------------------------------------------- /vendor/symfony/routing/DependencyInjection/RoutingResolverPass.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\DependencyInjection; 13 | 14 | use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; 15 | use Symfony\Component\DependencyInjection\Compiler\PriorityTaggedServiceTrait; 16 | use Symfony\Component\DependencyInjection\ContainerBuilder; 17 | use Symfony\Component\DependencyInjection\Reference; 18 | 19 | /** 20 | * Adds tagged routing.loader services to routing.resolver service. 21 | * 22 | * @author Fabien Potencier 23 | */ 24 | class RoutingResolverPass implements CompilerPassInterface 25 | { 26 | use PriorityTaggedServiceTrait; 27 | 28 | public function process(ContainerBuilder $container): void 29 | { 30 | if (false === $container->hasDefinition('routing.resolver')) { 31 | return; 32 | } 33 | 34 | $definition = $container->getDefinition('routing.resolver'); 35 | 36 | foreach ($this->findAndSortTaggedServices('routing.loader', $container) as $id) { 37 | $definition->addMethodCall('addLoader', [new Reference($id)]); 38 | } 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Matcher/RequestMatcherInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Matcher; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\Routing\Exception\MethodNotAllowedException; 16 | use Symfony\Component\Routing\Exception\NoConfigurationException; 17 | use Symfony\Component\Routing\Exception\ResourceNotFoundException; 18 | 19 | /** 20 | * RequestMatcherInterface is the interface that all request matcher classes must implement. 21 | * 22 | * @author Fabien Potencier 23 | */ 24 | interface RequestMatcherInterface 25 | { 26 | /** 27 | * Tries to match a request with a set of routes. 28 | * 29 | * If the matcher cannot find information, it must throw one of the exceptions documented 30 | * below. 31 | * 32 | * @throws NoConfigurationException If no routing configuration could be found 33 | * @throws ResourceNotFoundException If no matching resource could be found 34 | * @throws MethodNotAllowedException If a matching resource was found but the request method is not allowed 35 | */ 36 | public function matchRequest(Request $request): array; 37 | } 38 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/EventListener/ValidateRequestListener.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\EventListener; 13 | 14 | use Symfony\Component\EventDispatcher\EventSubscriberInterface; 15 | use Symfony\Component\HttpKernel\Event\RequestEvent; 16 | use Symfony\Component\HttpKernel\KernelEvents; 17 | 18 | /** 19 | * Validates Requests. 20 | * 21 | * @author Magnus Nordlander 22 | * 23 | * @final 24 | */ 25 | class ValidateRequestListener implements EventSubscriberInterface 26 | { 27 | /** 28 | * Performs the validation. 29 | */ 30 | public function onKernelRequest(RequestEvent $event): void 31 | { 32 | if (!$event->isMainRequest()) { 33 | return; 34 | } 35 | $request = $event->getRequest(); 36 | 37 | if ($request::getTrustedProxies()) { 38 | $request->getClientIps(); 39 | } 40 | 41 | $request->getHost(); 42 | } 43 | 44 | public static function getSubscribedEvents(): array 45 | { 46 | return [ 47 | KernelEvents::REQUEST => [ 48 | ['onKernelRequest', 256], 49 | ], 50 | ]; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Attribute/MapDateTime.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Attribute; 13 | 14 | use Symfony\Component\HttpKernel\Controller\ArgumentResolver\DateTimeValueResolver; 15 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 16 | 17 | /** 18 | * Controller parameter tag to configure DateTime arguments. 19 | */ 20 | #[\Attribute(\Attribute::TARGET_PARAMETER)] 21 | class MapDateTime extends ValueResolver 22 | { 23 | /** 24 | * @param string|null $format The DateTime format to use, @see https://php.net/datetime.format 25 | * @param bool $disabled Whether this value resolver is disabled; this allows to enable a value resolver globally while disabling it in specific cases 26 | * @param class-string|string $resolver The name of the resolver to use 27 | */ 28 | public function __construct( 29 | public readonly ?string $format = null, 30 | bool $disabled = false, 31 | string $resolver = DateTimeValueResolver::class, 32 | ) { 33 | parent::__construct($resolver, $disabled); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DependencyInjection/ConfigurableExtension.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DependencyInjection; 13 | 14 | use Symfony\Component\DependencyInjection\ContainerBuilder; 15 | 16 | /** 17 | * This extension sub-class provides first-class integration with the 18 | * Config/Definition Component. 19 | * 20 | * You can use this as base class if 21 | * 22 | * a) you use the Config/Definition component for configuration, 23 | * b) your configuration class is named "Configuration", and 24 | * c) the configuration class resides in the DependencyInjection sub-folder. 25 | * 26 | * @author Johannes M. Schmitt 27 | */ 28 | abstract class ConfigurableExtension extends Extension 29 | { 30 | final public function load(array $configs, ContainerBuilder $container): void 31 | { 32 | $this->loadInternal($this->processConfiguration($this->getConfiguration($configs, $container), $configs), $container); 33 | } 34 | 35 | /** 36 | * Configures the passed container according to the merged configuration. 37 | */ 38 | abstract protected function loadInternal(array $mergedConfig, ContainerBuilder $container): void; 39 | } 40 | -------------------------------------------------------------------------------- /boot.php: -------------------------------------------------------------------------------- 1 | getAssetsUrl('vendor/swagger-ui/css/swagger-ui.css')); 28 | rex_view::addCssFile($addon->getAssetsUrl('css/swagger-ui-redaxo-theme.css')); 29 | rex_view::addJsFile($addon->getAssetsUrl('vendor/swagger-ui/js/swagger-ui-bundle.js')); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ArgumentResolver/VariadicValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 16 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 17 | 18 | /** 19 | * Yields a variadic argument's values from the request attributes. 20 | * 21 | * @author Iltar van der Berg 22 | */ 23 | final class VariadicValueResolver implements ValueResolverInterface 24 | { 25 | public function resolve(Request $request, ArgumentMetadata $argument): array 26 | { 27 | if (!$argument->isVariadic() || !$request->attributes->has($argument->getName())) { 28 | return []; 29 | } 30 | 31 | $values = $request->attributes->get($argument->getName()); 32 | 33 | if (!\is_array($values)) { 34 | throw new \InvalidArgumentException(\sprintf('The action argument "...$%1$s" is required to be an array, the request attribute "%1$s" contains a type of "%2$s" instead.', $argument->getName(), get_debug_type($values))); 35 | } 36 | 37 | return $values; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ArgumentResolver/UidValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 16 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 17 | use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; 18 | use Symfony\Component\Uid\AbstractUid; 19 | 20 | final class UidValueResolver implements ValueResolverInterface 21 | { 22 | public function resolve(Request $request, ArgumentMetadata $argument): array 23 | { 24 | if ($argument->isVariadic() 25 | || !\is_string($value = $request->attributes->get($argument->getName())) 26 | || null === ($uidClass = $argument->getType()) 27 | || !is_subclass_of($uidClass, AbstractUid::class, true) 28 | ) { 29 | return []; 30 | } 31 | 32 | try { 33 | return [$uidClass::fromString($value)]; 34 | } catch (\InvalidArgumentException $e) { 35 | throw new NotFoundHttpException(\sprintf('The uid for the "%s" parameter is invalid.', $argument->getName()), $e); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ControllerReference.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller; 13 | 14 | use Symfony\Component\HttpKernel\Fragment\FragmentRendererInterface; 15 | 16 | /** 17 | * Acts as a marker and a data holder for a Controller. 18 | * 19 | * Some methods in Symfony accept both a URI (as a string) or a controller as 20 | * an argument. In the latter case, instead of passing an array representing 21 | * the controller, you can use an instance of this class. 22 | * 23 | * @author Fabien Potencier 24 | * 25 | * @see FragmentRendererInterface 26 | */ 27 | class ControllerReference 28 | { 29 | public array $attributes = []; 30 | public array $query = []; 31 | 32 | /** 33 | * @param string $controller The controller name 34 | * @param array $attributes An array of parameters to add to the Request attributes 35 | * @param array $query An array of parameters to add to the Request query string 36 | */ 37 | public function __construct( 38 | public string $controller, 39 | array $attributes = [], 40 | array $query = [], 41 | ) { 42 | $this->attributes = $attributes; 43 | $this->query = $query; 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Event/ViewEvent.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Event; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\HttpKernelInterface; 16 | 17 | /** 18 | * Allows to create a response for the return value of a controller. 19 | * 20 | * Call setResponse() to set the response that will be returned for the 21 | * current request. The propagation of this event is stopped as soon as a 22 | * response is set. 23 | * 24 | * @author Bernhard Schussek 25 | */ 26 | final class ViewEvent extends RequestEvent 27 | { 28 | public function __construct( 29 | HttpKernelInterface $kernel, 30 | Request $request, 31 | int $requestType, 32 | private mixed $controllerResult, 33 | public readonly ?ControllerArgumentsEvent $controllerArgumentsEvent = null, 34 | ) { 35 | parent::__construct($kernel, $request, $requestType); 36 | } 37 | 38 | public function getControllerResult(): mixed 39 | { 40 | return $this->controllerResult; 41 | } 42 | 43 | public function setControllerResult(mixed $controllerResult): void 44 | { 45 | $this->controllerResult = $controllerResult; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ArgumentResolver/RequestValueResolver.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller\ArgumentResolver; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\Controller\ValueResolverInterface; 16 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 17 | use Symfony\Component\HttpKernel\Exception\NearMissValueResolverException; 18 | 19 | /** 20 | * Yields the same instance as the request object passed along. 21 | * 22 | * @author Iltar van der Berg 23 | */ 24 | final class RequestValueResolver implements ValueResolverInterface 25 | { 26 | public function resolve(Request $request, ArgumentMetadata $argument): array 27 | { 28 | if (Request::class === $argument->getType() || is_subclass_of($argument->getType(), Request::class)) { 29 | return [$request]; 30 | } 31 | 32 | if (str_ends_with($argument->getType() ?? '', '\\Request')) { 33 | throw new NearMissValueResolverException(\sprintf('Looks like you required a Request object with the wrong class name "%s". Did you mean to use "%s" instead?', $argument->getType(), Request::class)); 34 | } 35 | 36 | return []; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Event/RequestEvent.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Event; 13 | 14 | use Symfony\Component\HttpFoundation\Response; 15 | 16 | /** 17 | * Allows to create a response for a request. 18 | * 19 | * Call setResponse() to set the response that will be returned for the 20 | * current request. The propagation of this event is stopped as soon as a 21 | * response is set. 22 | * 23 | * @author Bernhard Schussek 24 | */ 25 | class RequestEvent extends KernelEvent 26 | { 27 | private ?Response $response = null; 28 | 29 | /** 30 | * Returns the response object. 31 | */ 32 | public function getResponse(): ?Response 33 | { 34 | return $this->response; 35 | } 36 | 37 | /** 38 | * Sets a response and stops event propagation. 39 | */ 40 | public function setResponse(Response $response): void 41 | { 42 | $this->response = $response; 43 | 44 | $this->stopPropagation(); 45 | } 46 | 47 | /** 48 | * Returns whether a response was set. 49 | * 50 | * @psalm-assert-if-true !null $this->getResponse() 51 | */ 52 | public function hasResponse(): bool 53 | { 54 | return null !== $this->response; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/README.md: -------------------------------------------------------------------------------- 1 | ErrorHandler Component 2 | ====================== 3 | 4 | The ErrorHandler component provides tools to manage errors and ease debugging PHP code. 5 | 6 | Getting Started 7 | --------------- 8 | 9 | ```bash 10 | composer require symfony/error-handler 11 | ``` 12 | 13 | ```php 14 | use Symfony\Component\ErrorHandler\Debug; 15 | use Symfony\Component\ErrorHandler\ErrorHandler; 16 | use Symfony\Component\ErrorHandler\DebugClassLoader; 17 | 18 | Debug::enable(); 19 | 20 | // or enable only one feature 21 | //ErrorHandler::register(); 22 | //DebugClassLoader::enable(); 23 | 24 | // If you want a custom generic template when debug is not enabled 25 | // HtmlErrorRenderer::setTemplate('/path/to/custom/error.html.php'); 26 | 27 | $data = ErrorHandler::call(static function () use ($filename, $datetimeFormat) { 28 | // if any code executed inside this anonymous function fails, a PHP exception 29 | // will be thrown, even if the code uses the '@' PHP silence operator 30 | $data = json_decode(file_get_contents($filename), true); 31 | $data['read_at'] = date($datetimeFormat); 32 | file_put_contents($filename, json_encode($data)); 33 | 34 | return $data; 35 | }); 36 | ``` 37 | 38 | Resources 39 | --------- 40 | 41 | * [Contributing](https://symfony.com/doc/current/contributing/index.html) 42 | * [Report issues](https://github.com/symfony/symfony/issues) and 43 | [send Pull Requests](https://github.com/symfony/symfony/pulls) 44 | in the [main Symfony repository](https://github.com/symfony/symfony) 45 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Matcher/UrlMatcherInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Matcher; 13 | 14 | use Symfony\Component\Routing\Exception\MethodNotAllowedException; 15 | use Symfony\Component\Routing\Exception\NoConfigurationException; 16 | use Symfony\Component\Routing\Exception\ResourceNotFoundException; 17 | use Symfony\Component\Routing\RequestContextAwareInterface; 18 | 19 | /** 20 | * UrlMatcherInterface is the interface that all URL matcher classes must implement. 21 | * 22 | * @author Fabien Potencier 23 | */ 24 | interface UrlMatcherInterface extends RequestContextAwareInterface 25 | { 26 | /** 27 | * Tries to match a URL path with a set of routes. 28 | * 29 | * If the matcher cannot find information, it must throw one of the exceptions documented 30 | * below. 31 | * 32 | * @param string $pathinfo The path info to be parsed (raw format, i.e. not urldecoded) 33 | * 34 | * @throws NoConfigurationException If no routing configuration could be found 35 | * @throws ResourceNotFoundException If the resource could not be found 36 | * @throws MethodNotAllowedException If the resource was found but the request method is not allowed 37 | */ 38 | public function match(string $pathinfo): array; 39 | } 40 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Controller/ControllerResolverInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Controller; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | 16 | /** 17 | * A ControllerResolverInterface implementation knows how to determine the 18 | * controller to execute based on a Request object. 19 | * 20 | * A Controller can be any valid PHP callable. 21 | * 22 | * @author Fabien Potencier 23 | */ 24 | interface ControllerResolverInterface 25 | { 26 | /** 27 | * Returns the Controller instance associated with a Request. 28 | * 29 | * As several resolvers can exist for a single application, a resolver must 30 | * return false when it is not able to determine the controller. 31 | * 32 | * The resolver must only throw an exception when it should be able to load a 33 | * controller but cannot because of some errors made by the developer. 34 | * 35 | * @return callable|false A PHP callable representing the Controller, 36 | * or false if this resolver is not able to determine the controller 37 | * 38 | * @throws \LogicException If a controller was found based on the request but it is not callable 39 | */ 40 | public function getController(Request $request): callable|false; 41 | } 42 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/ErrorRenderer/CliErrorRenderer.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler\ErrorRenderer; 13 | 14 | use Symfony\Component\ErrorHandler\Exception\FlattenException; 15 | use Symfony\Component\VarDumper\Cloner\VarCloner; 16 | use Symfony\Component\VarDumper\Dumper\CliDumper; 17 | 18 | // Help opcache.preload discover always-needed symbols 19 | class_exists(CliDumper::class); 20 | 21 | /** 22 | * @author Nicolas Grekas 23 | */ 24 | class CliErrorRenderer implements ErrorRendererInterface 25 | { 26 | public function render(\Throwable $exception): FlattenException 27 | { 28 | $cloner = new VarCloner(); 29 | $dumper = new class extends CliDumper { 30 | protected function supportsColors(): bool 31 | { 32 | $outputStream = $this->outputStream; 33 | $this->outputStream = fopen('php://stdout', 'w'); 34 | 35 | try { 36 | return parent::supportsColors(); 37 | } finally { 38 | $this->outputStream = $outputStream; 39 | } 40 | } 41 | }; 42 | 43 | return FlattenException::createFromThrowable($exception) 44 | ->setAsString($dumper->dump($cloner->cloneVar($exception), true)); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Log/DebugLoggerConfigurator.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Log; 13 | 14 | use Monolog\Logger; 15 | 16 | /** 17 | * @author Nicolas Grekas 18 | */ 19 | class DebugLoggerConfigurator 20 | { 21 | private ?object $processor = null; 22 | 23 | public function __construct(callable $processor, ?bool $enable = null) 24 | { 25 | if ($enable ?? !\in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true)) { 26 | $this->processor = \is_object($processor) ? $processor : $processor(...); 27 | } 28 | } 29 | 30 | public function pushDebugLogger(Logger $logger): void 31 | { 32 | if ($this->processor) { 33 | $logger->pushProcessor($this->processor); 34 | } 35 | } 36 | 37 | public static function getDebugLogger(mixed $logger): ?DebugLoggerInterface 38 | { 39 | if ($logger instanceof DebugLoggerInterface) { 40 | return $logger; 41 | } 42 | 43 | if (!$logger instanceof Logger) { 44 | return null; 45 | } 46 | 47 | foreach ($logger->getProcessors() as $processor) { 48 | if ($processor instanceof DebugLoggerInterface) { 49 | return $processor; 50 | } 51 | } 52 | 53 | return null; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /vendor/symfony/error-handler/Exception/SilencedErrorContext.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\ErrorHandler\Exception; 13 | 14 | /** 15 | * Data Object that represents a Silenced Error. 16 | * 17 | * @author Grégoire Pineau 18 | */ 19 | class SilencedErrorContext implements \JsonSerializable 20 | { 21 | public int $count = 1; 22 | 23 | public function __construct( 24 | private int $severity, 25 | private string $file, 26 | private int $line, 27 | private array $trace = [], 28 | int $count = 1, 29 | ) { 30 | $this->count = $count; 31 | } 32 | 33 | public function getSeverity(): int 34 | { 35 | return $this->severity; 36 | } 37 | 38 | public function getFile(): string 39 | { 40 | return $this->file; 41 | } 42 | 43 | public function getLine(): int 44 | { 45 | return $this->line; 46 | } 47 | 48 | public function getTrace(): array 49 | { 50 | return $this->trace; 51 | } 52 | 53 | public function jsonSerialize(): array 54 | { 55 | return [ 56 | 'severity' => $this->severity, 57 | 'file' => $this->file, 58 | 'line' => $this->line, 59 | 'trace' => $this->trace, 60 | 'count' => $this->count, 61 | ]; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Exception/MissingMandatoryParametersException.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Exception; 13 | 14 | /** 15 | * Exception thrown when a route cannot be generated because of missing 16 | * mandatory parameters. 17 | * 18 | * @author Alexandre Salomé 19 | */ 20 | class MissingMandatoryParametersException extends \InvalidArgumentException implements ExceptionInterface 21 | { 22 | private string $routeName = ''; 23 | private array $missingParameters = []; 24 | 25 | /** 26 | * @param string[] $missingParameters 27 | */ 28 | public function __construct(string $routeName = '', array $missingParameters = [], int $code = 0, ?\Throwable $previous = null) 29 | { 30 | $this->routeName = $routeName; 31 | $this->missingParameters = $missingParameters; 32 | $message = \sprintf('Some mandatory parameters are missing ("%s") to generate a URL for route "%s".', implode('", "', $missingParameters), $routeName); 33 | 34 | parent::__construct($message, $code, $previous); 35 | } 36 | 37 | /** 38 | * @return string[] 39 | */ 40 | public function getMissingParameters(): array 41 | { 42 | return $this->missingParameters; 43 | } 44 | 45 | public function getRouteName(): string 46 | { 47 | return $this->routeName; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DependencyInjection/RegisterLocaleAwareServicesPass.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DependencyInjection; 13 | 14 | use Symfony\Component\DependencyInjection\Argument\IteratorArgument; 15 | use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; 16 | use Symfony\Component\DependencyInjection\ContainerBuilder; 17 | use Symfony\Component\DependencyInjection\Reference; 18 | 19 | /** 20 | * Register all services that have the "kernel.locale_aware" tag into the listener. 21 | * 22 | * @author Pierre Bobiet 23 | */ 24 | class RegisterLocaleAwareServicesPass implements CompilerPassInterface 25 | { 26 | public function process(ContainerBuilder $container): void 27 | { 28 | if (!$container->hasDefinition('locale_aware_listener')) { 29 | return; 30 | } 31 | 32 | $services = []; 33 | 34 | foreach ($container->findTaggedServiceIds('kernel.locale_aware') as $id => $tags) { 35 | $services[] = new Reference($id); 36 | } 37 | 38 | if (!$services) { 39 | $container->removeDefinition('locale_aware_listener'); 40 | 41 | return; 42 | } 43 | 44 | $container 45 | ->getDefinition('locale_aware_listener') 46 | ->setArgument(0, new IteratorArgument($services)) 47 | ; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DependencyInjection/LazyLoadingFragmentHandler.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DependencyInjection; 13 | 14 | use Psr\Container\ContainerInterface; 15 | use Symfony\Component\HttpFoundation\RequestStack; 16 | use Symfony\Component\HttpKernel\Controller\ControllerReference; 17 | use Symfony\Component\HttpKernel\Fragment\FragmentHandler; 18 | 19 | /** 20 | * Lazily loads fragment renderers from the dependency injection container. 21 | * 22 | * @author Fabien Potencier 23 | */ 24 | class LazyLoadingFragmentHandler extends FragmentHandler 25 | { 26 | /** 27 | * @var array 28 | */ 29 | private array $initialized = []; 30 | 31 | public function __construct( 32 | private ContainerInterface $container, 33 | RequestStack $requestStack, 34 | bool $debug = false, 35 | ) { 36 | parent::__construct($requestStack, [], $debug); 37 | } 38 | 39 | public function render(string|ControllerReference $uri, string $renderer = 'inline', array $options = []): ?string 40 | { 41 | if (!isset($this->initialized[$renderer]) && $this->container->has($renderer)) { 42 | $this->addRenderer($this->container->get($renderer)); 43 | $this->initialized[$renderer] = true; 44 | } 45 | 46 | return parent::render($uri, $renderer, $options); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher/composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "symfony/event-dispatcher", 3 | "type": "library", 4 | "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", 5 | "keywords": [], 6 | "homepage": "https://symfony.com", 7 | "license": "MIT", 8 | "authors": [ 9 | { 10 | "name": "Fabien Potencier", 11 | "email": "fabien@symfony.com" 12 | }, 13 | { 14 | "name": "Symfony Community", 15 | "homepage": "https://symfony.com/contributors" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=8.2", 20 | "symfony/event-dispatcher-contracts": "^2.5|^3" 21 | }, 22 | "require-dev": { 23 | "symfony/dependency-injection": "^6.4|^7.0", 24 | "symfony/expression-language": "^6.4|^7.0", 25 | "symfony/config": "^6.4|^7.0", 26 | "symfony/error-handler": "^6.4|^7.0", 27 | "symfony/http-foundation": "^6.4|^7.0", 28 | "symfony/service-contracts": "^2.5|^3", 29 | "symfony/stopwatch": "^6.4|^7.0", 30 | "psr/log": "^1|^2|^3" 31 | }, 32 | "conflict": { 33 | "symfony/dependency-injection": "<6.4", 34 | "symfony/service-contracts": "<2.5" 35 | }, 36 | "provide": { 37 | "psr/event-dispatcher-implementation": "1.0", 38 | "symfony/event-dispatcher-implementation": "2.0|3.0" 39 | }, 40 | "autoload": { 41 | "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, 42 | "exclude-from-classmap": [ 43 | "/Tests/" 44 | ] 45 | }, 46 | "minimum-stability": "dev" 47 | } 48 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Loader/DirectoryLoader.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Loader; 13 | 14 | use Symfony\Component\Config\Loader\FileLoader; 15 | use Symfony\Component\Config\Resource\DirectoryResource; 16 | use Symfony\Component\Routing\RouteCollection; 17 | 18 | class DirectoryLoader extends FileLoader 19 | { 20 | public function load(mixed $file, ?string $type = null): mixed 21 | { 22 | $path = $this->locator->locate($file); 23 | 24 | $collection = new RouteCollection(); 25 | $collection->addResource(new DirectoryResource($path)); 26 | 27 | foreach (scandir($path) as $dir) { 28 | if ('.' !== $dir[0]) { 29 | $this->setCurrentDir($path); 30 | $subPath = $path.'/'.$dir; 31 | $subType = null; 32 | 33 | if (is_dir($subPath)) { 34 | $subPath .= '/'; 35 | $subType = 'directory'; 36 | } 37 | 38 | $subCollection = $this->import($subPath, $subType, false, $path); 39 | $collection->addCollection($subCollection); 40 | } 41 | } 42 | 43 | return $collection; 44 | } 45 | 46 | public function supports(mixed $resource, ?string $type = null): bool 47 | { 48 | // only when type is forced to directory, not to conflict with AttributeLoader 49 | 50 | return 'directory' === $type; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher-contracts/Event.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Contracts\EventDispatcher; 13 | 14 | use Psr\EventDispatcher\StoppableEventInterface; 15 | 16 | /** 17 | * Event is the base class for classes containing event data. 18 | * 19 | * This class contains no event data. It is used by events that do not pass 20 | * state information to an event handler when an event is raised. 21 | * 22 | * You can call the method stopPropagation() to abort the execution of 23 | * further listeners in your event listener. 24 | * 25 | * @author Guilherme Blanco 26 | * @author Jonathan Wage 27 | * @author Roman Borschel 28 | * @author Bernhard Schussek 29 | * @author Nicolas Grekas 30 | */ 31 | class Event implements StoppableEventInterface 32 | { 33 | private bool $propagationStopped = false; 34 | 35 | public function isPropagationStopped(): bool 36 | { 37 | return $this->propagationStopped; 38 | } 39 | 40 | /** 41 | * Stops the propagation of the event to further event listeners. 42 | * 43 | * If multiple event listeners are connected to the same event, no 44 | * further event listener will be triggered once any trigger calls 45 | * stopPropagation(). 46 | */ 47 | public function stopPropagation(): void 48 | { 49 | $this->propagationStopped = true; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DependencyInjection/LoggerPass.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DependencyInjection; 13 | 14 | use Psr\Log\LoggerInterface; 15 | use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; 16 | use Symfony\Component\DependencyInjection\ContainerBuilder; 17 | use Symfony\Component\DependencyInjection\Reference; 18 | use Symfony\Component\HttpFoundation\RequestStack; 19 | use Symfony\Component\HttpKernel\Log\Logger; 20 | 21 | /** 22 | * Registers the default logger if necessary. 23 | * 24 | * @author Kévin Dunglas 25 | */ 26 | class LoggerPass implements CompilerPassInterface 27 | { 28 | public function process(ContainerBuilder $container): void 29 | { 30 | if (!$container->has(LoggerInterface::class)) { 31 | $container->setAlias(LoggerInterface::class, 'logger'); 32 | } 33 | 34 | if ($container->has('logger')) { 35 | return; 36 | } 37 | 38 | if ($debug = $container->getParameter('kernel.debug')) { 39 | $debug = $container->hasParameter('kernel.runtime_mode.web') 40 | ? $container->getParameter('kernel.runtime_mode.web') 41 | : !\in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true); 42 | } 43 | 44 | $container->register('logger', Logger::class) 45 | ->setArguments([null, null, null, new Reference(RequestStack::class), $debug]); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Matcher/ExpressionLanguageProvider.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Matcher; 13 | 14 | use Symfony\Component\ExpressionLanguage\ExpressionFunction; 15 | use Symfony\Component\ExpressionLanguage\ExpressionFunctionProviderInterface; 16 | use Symfony\Contracts\Service\ServiceProviderInterface; 17 | 18 | /** 19 | * Exposes functions defined in the request context to route conditions. 20 | * 21 | * @author Ahmed TAILOULOUTE 22 | */ 23 | class ExpressionLanguageProvider implements ExpressionFunctionProviderInterface 24 | { 25 | public function __construct( 26 | private ServiceProviderInterface $functions, 27 | ) { 28 | } 29 | 30 | public function getFunctions(): array 31 | { 32 | $functions = []; 33 | 34 | foreach ($this->functions->getProvidedServices() as $function => $type) { 35 | $functions[] = new ExpressionFunction( 36 | $function, 37 | static fn (...$args) => \sprintf('($context->getParameter(\'_functions\')->get(%s)(%s))', var_export($function, true), implode(', ', $args)), 38 | fn ($values, ...$args) => $values['context']->getParameter('_functions')->get($function)(...$args) 39 | ); 40 | } 41 | 42 | return $functions; 43 | } 44 | 45 | public function get(string $function): callable 46 | { 47 | return $this->functions->get($function); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Fragment/RoutableFragmentRenderer.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Fragment; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpKernel\Controller\ControllerReference; 16 | use Symfony\Component\HttpKernel\EventListener\FragmentListener; 17 | 18 | /** 19 | * Adds the possibility to generate a fragment URI for a given Controller. 20 | * 21 | * @author Fabien Potencier 22 | */ 23 | abstract class RoutableFragmentRenderer implements FragmentRendererInterface 24 | { 25 | /** 26 | * @internal 27 | */ 28 | protected string $fragmentPath = '/_fragment'; 29 | 30 | /** 31 | * Sets the fragment path that triggers the fragment listener. 32 | * 33 | * @see FragmentListener 34 | */ 35 | public function setFragmentPath(string $path): void 36 | { 37 | $this->fragmentPath = $path; 38 | } 39 | 40 | /** 41 | * Generates a fragment URI for a given controller. 42 | * 43 | * @param bool $absolute Whether to generate an absolute URL or not 44 | * @param bool $strict Whether to allow non-scalar attributes or not 45 | */ 46 | protected function generateFragmentUri(ControllerReference $reference, Request $request, bool $absolute = false, bool $strict = true): string 47 | { 48 | return (new FragmentUriGenerator($this->fragmentPath))->generate($reference, $request, $absolute, $strict, false); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Loader/Configurator/RouteConfigurator.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Loader\Configurator; 13 | 14 | use Symfony\Component\Routing\RouteCollection; 15 | 16 | /** 17 | * @author Nicolas Grekas 18 | */ 19 | class RouteConfigurator 20 | { 21 | use Traits\AddTrait; 22 | use Traits\HostTrait; 23 | use Traits\RouteTrait; 24 | 25 | public function __construct( 26 | RouteCollection $collection, 27 | RouteCollection $route, 28 | string $name = '', 29 | protected ?CollectionConfigurator $parentConfigurator = null, // for GC control 30 | ?array $prefixes = null, 31 | ) { 32 | $this->collection = $collection; 33 | $this->route = $route; 34 | $this->name = $name; 35 | $this->prefixes = $prefixes; 36 | } 37 | 38 | /** 39 | * Sets the host to use for all child routes. 40 | * 41 | * @param string|array $host the host, or the localized hosts 42 | * 43 | * @return $this 44 | */ 45 | final public function host(string|array $host): static 46 | { 47 | $previousRoutes = clone $this->route; 48 | $this->addHost($this->route, $host); 49 | foreach ($previousRoutes as $name => $route) { 50 | if (!$this->route->get($name)) { 51 | $this->collection->remove($name); 52 | } 53 | } 54 | $this->collection->addCollection($this->route); 55 | 56 | return $this; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /vendor/composer/autoload_real.php: -------------------------------------------------------------------------------- 1 | register(true); 35 | 36 | $filesToLoad = \Composer\Autoload\ComposerStaticInit1e9c749af16650627b5d230e8a80138a::$files; 37 | $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { 38 | if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { 39 | $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; 40 | 41 | require $file; 42 | } 43 | }, null, null); 44 | foreach ($filesToLoad as $fileIdentifier => $file) { 45 | $requireFile($fileIdentifier, $file); 46 | } 47 | 48 | return $loader; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Debug/VirtualRequestStack.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Debug; 13 | 14 | use Symfony\Component\HttpFoundation\Request; 15 | use Symfony\Component\HttpFoundation\RequestStack; 16 | 17 | /** 18 | * A stack able to deal with virtual requests. 19 | * 20 | * @internal 21 | * 22 | * @author Jules Pietri 23 | */ 24 | final class VirtualRequestStack extends RequestStack 25 | { 26 | public function __construct( 27 | private readonly RequestStack $decorated, 28 | ) { 29 | } 30 | 31 | public function push(Request $request): void 32 | { 33 | if ($request->attributes->has('_virtual_type')) { 34 | if ($this->decorated->getCurrentRequest()) { 35 | throw new \LogicException('Cannot mix virtual and HTTP requests.'); 36 | } 37 | 38 | parent::push($request); 39 | 40 | return; 41 | } 42 | 43 | $this->decorated->push($request); 44 | } 45 | 46 | public function pop(): ?Request 47 | { 48 | return $this->decorated->pop() ?? parent::pop(); 49 | } 50 | 51 | public function getCurrentRequest(): ?Request 52 | { 53 | return $this->decorated->getCurrentRequest() ?? parent::getCurrentRequest(); 54 | } 55 | 56 | public function getMainRequest(): ?Request 57 | { 58 | return $this->decorated->getMainRequest() ?? parent::getMainRequest(); 59 | } 60 | 61 | public function getParentRequest(): ?Request 62 | { 63 | return $this->decorated->getParentRequest() ?? parent::getParentRequest(); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /vendor/symfony/routing/Requirement/EnumRequirement.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\Routing\Requirement; 13 | 14 | use Symfony\Component\Routing\Exception\InvalidArgumentException; 15 | 16 | final class EnumRequirement implements \Stringable 17 | { 18 | private string $requirement; 19 | 20 | /** 21 | * @template T of \BackedEnum 22 | * 23 | * @param class-string|list $cases 24 | */ 25 | public function __construct(string|array $cases = []) 26 | { 27 | if (\is_string($cases)) { 28 | if (!is_subclass_of($cases, \BackedEnum::class, true)) { 29 | throw new InvalidArgumentException(\sprintf('"%s" is not a "BackedEnum" class.', $cases)); 30 | } 31 | 32 | $cases = $cases::cases(); 33 | } else { 34 | $class = null; 35 | 36 | foreach ($cases as $case) { 37 | if (!$case instanceof \BackedEnum) { 38 | throw new InvalidArgumentException(\sprintf('Case must be a "BackedEnum" instance, "%s" given.', get_debug_type($case))); 39 | } 40 | 41 | $class ??= $case::class; 42 | 43 | if (!$case instanceof $class) { 44 | throw new InvalidArgumentException(\sprintf('"%s::%s" is not a case of "%s".', get_debug_type($case), $case->name, $class)); 45 | } 46 | } 47 | } 48 | 49 | $this->requirement = implode('|', array_map(static fn ($e) => preg_quote($e->value), $cases)); 50 | } 51 | 52 | public function __toString(): string 53 | { 54 | return $this->requirement; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DependencyInjection/ServicesResetter.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DependencyInjection; 13 | 14 | use ProxyManager\Proxy\LazyLoadingInterface; 15 | use Symfony\Component\VarExporter\LazyObjectInterface; 16 | use Symfony\Contracts\Service\ResetInterface; 17 | 18 | /** 19 | * Resets provided services. 20 | * 21 | * @author Alexander M. Turek 22 | * @author Nicolas Grekas 23 | * 24 | * @final since Symfony 7.2 25 | */ 26 | class ServicesResetter implements ResetInterface 27 | { 28 | /** 29 | * @param \Traversable $resettableServices 30 | * @param array $resetMethods 31 | */ 32 | public function __construct( 33 | private \Traversable $resettableServices, 34 | private array $resetMethods, 35 | ) { 36 | } 37 | 38 | public function reset(): void 39 | { 40 | foreach ($this->resettableServices as $id => $service) { 41 | if ($service instanceof LazyObjectInterface && !$service->isLazyObjectInitialized(true)) { 42 | continue; 43 | } 44 | 45 | if ($service instanceof LazyLoadingInterface && !$service->isProxyInitialized()) { 46 | continue; 47 | } 48 | 49 | foreach ((array) $this->resetMethods[$id] as $resetMethod) { 50 | if ('?' === $resetMethod[0] && !method_exists($service, $resetMethod = substr($resetMethod, 1))) { 51 | continue; 52 | } 53 | 54 | $service->$resetMethod(); 55 | } 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Bundle/BundleInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Bundle; 13 | 14 | use Symfony\Component\DependencyInjection\ContainerBuilder; 15 | use Symfony\Component\DependencyInjection\ContainerInterface; 16 | use Symfony\Component\DependencyInjection\Extension\ExtensionInterface; 17 | 18 | /** 19 | * BundleInterface. 20 | * 21 | * @author Fabien Potencier 22 | */ 23 | interface BundleInterface 24 | { 25 | /** 26 | * Boots the Bundle. 27 | * 28 | * @return void 29 | */ 30 | public function boot(); 31 | 32 | /** 33 | * Shutdowns the Bundle. 34 | * 35 | * @return void 36 | */ 37 | public function shutdown(); 38 | 39 | /** 40 | * Builds the bundle. 41 | * 42 | * It is only ever called once when the cache is empty. 43 | * 44 | * @return void 45 | */ 46 | public function build(ContainerBuilder $container); 47 | 48 | /** 49 | * Returns the container extension that should be implicitly loaded. 50 | */ 51 | public function getContainerExtension(): ?ExtensionInterface; 52 | 53 | /** 54 | * Returns the bundle name (the class short name). 55 | */ 56 | public function getName(): string; 57 | 58 | /** 59 | * Gets the Bundle namespace. 60 | */ 61 | public function getNamespace(): string; 62 | 63 | /** 64 | * Gets the Bundle directory path. 65 | * 66 | * The path should always be returned as a Unix path (with /). 67 | */ 68 | public function getPath(): string; 69 | 70 | public function setContainer(?ContainerInterface $container): void; 71 | } 72 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DataCollector/ExceptionDataCollector.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DataCollector; 13 | 14 | use Symfony\Component\ErrorHandler\Exception\FlattenException; 15 | use Symfony\Component\HttpFoundation\Request; 16 | use Symfony\Component\HttpFoundation\Response; 17 | 18 | /** 19 | * @author Fabien Potencier 20 | * 21 | * @final 22 | */ 23 | class ExceptionDataCollector extends DataCollector 24 | { 25 | public function collect(Request $request, Response $response, ?\Throwable $exception = null): void 26 | { 27 | if (null !== $exception) { 28 | $this->data = [ 29 | 'exception' => FlattenException::createWithDataRepresentation($exception), 30 | ]; 31 | } 32 | } 33 | 34 | public function hasException(): bool 35 | { 36 | return isset($this->data['exception']); 37 | } 38 | 39 | public function getException(): \Exception|FlattenException 40 | { 41 | return $this->data['exception']; 42 | } 43 | 44 | public function getMessage(): string 45 | { 46 | return $this->data['exception']->getMessage(); 47 | } 48 | 49 | public function getCode(): int 50 | { 51 | return $this->data['exception']->getCode(); 52 | } 53 | 54 | public function getStatusCode(): int 55 | { 56 | return $this->data['exception']->getStatusCode(); 57 | } 58 | 59 | public function getTrace(): array 60 | { 61 | return $this->data['exception']->getTrace(); 62 | } 63 | 64 | public function getName(): string 65 | { 66 | return 'exception'; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/DependencyInjection/Extension.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\DependencyInjection; 13 | 14 | use Symfony\Component\DependencyInjection\Extension\Extension as BaseExtension; 15 | 16 | /** 17 | * Allow adding classes to the class cache. 18 | * 19 | * @author Fabien Potencier 20 | * 21 | * @internal since Symfony 7.1, to be deprecated in 8.1; use Symfony\Component\DependencyInjection\Extension\Extension instead 22 | */ 23 | abstract class Extension extends BaseExtension 24 | { 25 | private array $annotatedClasses = []; 26 | 27 | /** 28 | * Gets the annotated classes to cache. 29 | * 30 | * @return string[] 31 | * 32 | * @deprecated since Symfony 7.1, to be removed in 8.0 33 | */ 34 | public function getAnnotatedClassesToCompile(): array 35 | { 36 | trigger_deprecation('symfony/http-kernel', '7.1', 'The "%s()" method is deprecated since Symfony 7.1 and will be removed in 8.0.', __METHOD__); 37 | 38 | return $this->annotatedClasses; 39 | } 40 | 41 | /** 42 | * Adds annotated classes to the class cache. 43 | * 44 | * @param string[] $annotatedClasses An array of class patterns 45 | * 46 | * @deprecated since Symfony 7.1, to be removed in 8.0 47 | */ 48 | public function addAnnotatedClassesToCompile(array $annotatedClasses): void 49 | { 50 | trigger_deprecation('symfony/http-kernel', '7.1', 'The "%s()" method is deprecated since Symfony 7.1 and will be removed in 8.0.', __METHOD__); 51 | 52 | $this->annotatedClasses = array_merge($this->annotatedClasses, $annotatedClasses); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/CacheClearer/Psr6CacheClearer.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\CacheClearer; 13 | 14 | use Psr\Cache\CacheItemPoolInterface; 15 | 16 | /** 17 | * @author Nicolas Grekas 18 | */ 19 | class Psr6CacheClearer implements CacheClearerInterface 20 | { 21 | private array $pools = []; 22 | 23 | /** 24 | * @param array $pools 25 | */ 26 | public function __construct(array $pools = []) 27 | { 28 | $this->pools = $pools; 29 | } 30 | 31 | public function hasPool(string $name): bool 32 | { 33 | return isset($this->pools[$name]); 34 | } 35 | 36 | /** 37 | * @throws \InvalidArgumentException If the cache pool with the given name does not exist 38 | */ 39 | public function getPool(string $name): CacheItemPoolInterface 40 | { 41 | if (!$this->hasPool($name)) { 42 | throw new \InvalidArgumentException(\sprintf('Cache pool not found: "%s".', $name)); 43 | } 44 | 45 | return $this->pools[$name]; 46 | } 47 | 48 | /** 49 | * @throws \InvalidArgumentException If the cache pool with the given name does not exist 50 | */ 51 | public function clearPool(string $name): bool 52 | { 53 | if (!isset($this->pools[$name])) { 54 | throw new \InvalidArgumentException(\sprintf('Cache pool not found: "%s".', $name)); 55 | } 56 | 57 | return $this->pools[$name]->clear(); 58 | } 59 | 60 | public function clear(string $cacheDir): void 61 | { 62 | foreach ($this->pools as $pool) { 63 | $pool->clear(); 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Profiler/ProfilerStorageInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Profiler; 13 | 14 | /** 15 | * ProfilerStorageInterface. 16 | * 17 | * This interface exists for historical reasons. The only supported 18 | * implementation is FileProfilerStorage. 19 | * 20 | * As the profiler must only be used on non-production servers, the file storage 21 | * is more than enough and no other implementations will ever be supported. 22 | * 23 | * @internal 24 | * 25 | * @author Fabien Potencier 26 | */ 27 | interface ProfilerStorageInterface 28 | { 29 | /** 30 | * Finds profiler tokens for the given criteria. 31 | * 32 | * @param int|null $limit The maximum number of tokens to return 33 | * @param int|null $start The start date to search from 34 | * @param int|null $end The end date to search to 35 | * @param string|null $statusCode The response status code 36 | * @param \Closure|null $filter A filter to apply on the list of tokens 37 | */ 38 | public function find(?string $ip, ?string $url, ?int $limit, ?string $method, ?int $start = null, ?int $end = null, ?string $statusCode = null, ?\Closure $filter = null): array; 39 | 40 | /** 41 | * Reads data associated with the given token. 42 | * 43 | * The method returns false if the token does not exist in the storage. 44 | */ 45 | public function read(string $token): ?Profile; 46 | 47 | /** 48 | * Saves a Profile. 49 | */ 50 | public function write(Profile $profile): bool; 51 | 52 | /** 53 | * Purges all data from the database. 54 | */ 55 | public function purge(): void; 56 | } 57 | -------------------------------------------------------------------------------- /vendor/symfony/http-kernel/Attribute/MapQueryString.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\HttpKernel\Attribute; 13 | 14 | use Symfony\Component\HttpFoundation\Response; 15 | use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestPayloadValueResolver; 16 | use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadata; 17 | use Symfony\Component\Validator\Constraints\GroupSequence; 18 | 19 | /** 20 | * Controller parameter tag to map the query string of the request to typed object and validate it. 21 | * 22 | * @author Konstantin Myakshin 23 | */ 24 | #[\Attribute(\Attribute::TARGET_PARAMETER)] 25 | class MapQueryString extends ValueResolver 26 | { 27 | public ArgumentMetadata $metadata; 28 | 29 | /** 30 | * @param array $serializationContext The serialization context to use when deserializing the query string 31 | * @param string|GroupSequence|array|null $validationGroups The validation groups to use when validating the query string mapping 32 | * @param class-string $resolver The class name of the resolver to use 33 | * @param int $validationFailedStatusCode The HTTP code to return if the validation fails 34 | */ 35 | public function __construct( 36 | public readonly array $serializationContext = [], 37 | public readonly string|GroupSequence|array|null $validationGroups = null, 38 | string $resolver = RequestPayloadValueResolver::class, 39 | public readonly int $validationFailedStatusCode = Response::HTTP_NOT_FOUND, 40 | ) { 41 | parent::__construct($resolver); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /vendor/symfony/event-dispatcher/EventSubscriberInterface.php: -------------------------------------------------------------------------------- 1 | 7 | * 8 | * For the full copyright and license information, please view the LICENSE 9 | * file that was distributed with this source code. 10 | */ 11 | 12 | namespace Symfony\Component\EventDispatcher; 13 | 14 | /** 15 | * An EventSubscriber knows itself what events it is interested in. 16 | * If an EventSubscriber is added to an EventDispatcherInterface, the manager invokes 17 | * {@link getSubscribedEvents} and registers the subscriber as a listener for all 18 | * returned events. 19 | * 20 | * @author Guilherme Blanco 21 | * @author Jonathan Wage 22 | * @author Roman Borschel 23 | * @author Bernhard Schussek 24 | */ 25 | interface EventSubscriberInterface 26 | { 27 | /** 28 | * Returns an array of event names this subscriber wants to listen to. 29 | * 30 | * The array keys are event names and the value can be: 31 | * 32 | * * The method name to call (priority defaults to 0) 33 | * * An array composed of the method name to call and the priority 34 | * * An array of arrays composed of the method names to call and respective 35 | * priorities, or 0 if unset 36 | * 37 | * For instance: 38 | * 39 | * * ['eventName' => 'methodName'] 40 | * * ['eventName' => ['methodName', $priority]] 41 | * * ['eventName' => [['methodName1', $priority], ['methodName2']]] 42 | * 43 | * The code must not depend on runtime state as it will only be called at compile time. 44 | * All logic depending on runtime state must be put into the individual methods handling the events. 45 | * 46 | * @return array> 47 | */ 48 | public static function getSubscribedEvents(); 49 | } 50 | --------------------------------------------------------------------------------