diff --git a/.build/phpcs.xml b/.build/phpcs.xml
deleted file mode 100644
index 9a21299..0000000
--- a/.build/phpcs.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
- error
-
-
- error
-
-
- warning
-
-
- error
-
-
- error
-
-
- error
-
-
- warning
-
-
- error
-
-
- error
-
-
- error
-
-
- error
-
-
- error
-
-
-
-
-
- error
-
-
\ No newline at end of file
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 264c4e9..3a51f4a 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: remindgmbh/commitlint-action@v1.0.0
- phpcs:
+ static-analysis:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -18,4 +18,4 @@ jobs:
extensions: intl
tools: composer:v2
- run: composer install
- - run: composer run-script phpcs
+ - run: composer run-script static-analysis
diff --git a/.gitignore b/.gitignore
index 886cc03..8f49cf2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,18 +1,2 @@
-### IDE ###
-nbproject/
-.idea/
-
-### Composer ###
-composer.phar
-
-### General ###
-*.log
-cache.properties
-
-### CI ###
-.build/bin/
-.build/logs/
-.build/var/
-.build/vendor/
-.build/web/
-coverage.xml
+/vendor
+/public
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 2326d1c..6c03ad3 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,8 +1,6 @@
{
- "phpCodeSniffer.exec.linux": "./.build/bin/phpcs",
+ "phpCodeSniffer.exec.linux": "./vendor/bin/phpcs",
"phpCodeSniffer.standard": "Custom",
- "phpCodeSniffer.standardCustom": "./.build/phpcs.xml",
- "phpCodeSniffer.exclude": [
- "**/.build/vendor/**"
- ]
+ "phpCodeSniffer.standardCustom": "./phpcs.xml",
+ "phpCodeSniffer.exclude": []
}
diff --git a/Classes/BreadcrumbTitle/AbstractBreadcrumbTitleProvider.php b/Classes/BreadcrumbTitle/AbstractBreadcrumbTitleProvider.php
index d20ee70..4cbb58c 100644
--- a/Classes/BreadcrumbTitle/AbstractBreadcrumbTitleProvider.php
+++ b/Classes/BreadcrumbTitle/AbstractBreadcrumbTitleProvider.php
@@ -8,7 +8,7 @@
class AbstractBreadcrumbTitleProvider implements BreadcrumbTitleProviderInterface, SingletonInterface
{
- protected $title = '';
+ protected string $title = '';
public function getTitle(): string
{
diff --git a/Classes/BreadcrumbTitle/BreadcrumbTitleProviderManager.php b/Classes/BreadcrumbTitle/BreadcrumbTitleProviderManager.php
index 2fc6c5d..b700f23 100644
--- a/Classes/BreadcrumbTitle/BreadcrumbTitleProviderManager.php
+++ b/Classes/BreadcrumbTitle/BreadcrumbTitleProviderManager.php
@@ -16,7 +16,10 @@ class BreadcrumbTitleProviderManager implements SingletonInterface, LoggerAwareI
{
use LoggerAwareTrait;
- private $breadcrumbTitleCache = [];
+ /**
+ * @var string[]
+ */
+ private array $breadcrumbTitleCache = [];
public function getTitle(): string
{
@@ -28,7 +31,7 @@ public function getTitle(): string
$orderedTitleProviders = GeneralUtility::makeInstance(DependencyOrderingService::class)
->orderByDependencies($titleProviders);
- $this->logger->debug('Breadcrumb title providers ordered', [
+ $this->logger?->debug('Breadcrumb title providers ordered', [
'orderedTitleProviders' => $orderedTitleProviders,
]);
@@ -43,17 +46,17 @@ class_exists($configuration['provider']) &&
($breadcrumbTitle = $titleProviderObject->getTitle())
|| ($breadcrumbTitle = $this->breadcrumbTitleCache[$configuration['provider']] ?? '') !== ''
) {
- $this->logger->debug('Breadcrumb title provider {provider} used on page {title}', [
- 'title' => $breadcrumbTitle,
+ $this->logger?->debug('Breadcrumb title provider {provider} used on page {title}', [
'provider' => $configuration['provider'],
+ 'title' => $breadcrumbTitle,
]);
$this->breadcrumbTitleCache[$configuration['provider']] = $breadcrumbTitle;
break;
}
- $this->logger->debug('Breadcrumb title provider {provider} skipped on page {title}', [
- 'title' => $breadcrumbTitle,
+ $this->logger?->debug('Breadcrumb title provider {provider} skipped on page {title}', [
'provider' => $configuration['provider'],
'providerUsed' => $configuration['provider'],
+ 'title' => $breadcrumbTitle,
]);
}
}
@@ -61,6 +64,10 @@ class_exists($configuration['provider']) &&
return $breadcrumbTitle;
}
+ /**
+ * @param mixed[] $orderInformation
+ * @return mixed[]
+ */
protected function setProviderOrder(array $orderInformation): array
{
foreach ($orderInformation as $provider => &$configuration) {
@@ -88,6 +95,9 @@ protected function setProviderOrder(array $orderInformation): array
return $orderInformation;
}
+ /**
+ * @return mixed[]
+ */
private function getBreadcrumbTitleProviderConfiguration(): array
{
$typoscriptService = GeneralUtility::makeInstance(TypoScriptService::class);
diff --git a/Classes/DataProcessing/FlexFormProcessor.php b/Classes/DataProcessing/FlexFormProcessor.php
index d68e349..19bea8c 100644
--- a/Classes/DataProcessing/FlexFormProcessor.php
+++ b/Classes/DataProcessing/FlexFormProcessor.php
@@ -17,29 +17,32 @@
class FlexFormProcessor implements DataProcessorInterface
{
protected ContentObjectRenderer $cObj;
+
+ /**
+ * @var mixed[]
+ */
protected array $processorConf;
/**
- * @param ContentObjectRenderer $cObj The data of the content element or page
- * @param array $contentObjectConf The configuration of Content Object
- * @param array $processorConf The configuration of this processor
- * @param array $processedData Key/value store of processed data (e.g. to be passed to a Fluid View)
- * @return array the processed data as key/value store
+ * @phpcsSuppress SlevomatCodingStandard.Functions.UnusedParameter
+ * @param mixed[] $contentObjectConf
+ * @param mixed[] $processorConf
+ * @param mixed[] $processedData
+ * @return mixed[]
*/
public function process(
ContentObjectRenderer $cObj,
array $contentObjectConf,
array $processorConf,
array $processedData
- ): array {
- $this->cObj = $cObj;
+ ): array { $this->cObj = $cObj;
$this->processorConf = $processorConf;
$flexFormTools = GeneralUtility::makeInstance(FlexFormTools::class);
$flexFormTools->reNumberIndexesOfSectionData = true;
$flexFormService = GeneralUtility::makeInstance(FlexFormService::class);
- $fieldName = $cObj->stdWrapValue('fieldName', $processorConf);
+ $fieldName = (string) $cObj->stdWrapValue('fieldName', $processorConf);
// default flexform field name
if (empty($fieldName)) {
@@ -93,20 +96,20 @@ public function process(
if (!empty($targetVariableName)) {
$processedData[$targetVariableName] = $flexformData;
} else {
- if ($processedData['data'][$fieldName]) {
- $processedData['data'][$fieldName] = $flexformData;
- } else {
- $processedData[$fieldName] = $flexformData;
- }
+ $processedData['data'][$fieldName] = $flexformData;
}
return $processedData;
}
+ /**
+ * @phpcsSuppress SlevomatCodingStandard.Functions.UnusedParameter
+ * @param mixed[] $element
+ */
public function parseElement(
array $element,
string $value,
- $additionalParameters,
+ mixed $additionalParameters,
string $path,
FlexFormTools $flexFormTools
): void {
@@ -127,7 +130,7 @@ public function parseElement(
}
if ($type === 'text') {
- $newValue = $this->cObj->parseFunc($value, [], '< lib.parseFunc_links');
+ $newValue = $this->cObj->parseFunc($value, null, '< lib.parseFunc_links');
}
if ($type === 'file') {
@@ -140,9 +143,13 @@ public function parseElement(
$fieldName = $element['config']['foreign_match_fields']['fieldname'];
try {
- $overrule = ArrayUtility::getValueByPath($this->processorConf, ['filesConfiguration.', ...array_map(function ($value) {
- return $value . '.';
- }, explode('.', $fieldName))]);
+ $overrule = ArrayUtility::getValueByPath(
+ $this->processorConf,
+ ['filesConfiguration.', ...array_map(function ($value) {
+ return $value . '.';
+ },
+ explode('.', $fieldName))]
+ );
ArrayUtility::mergeRecursiveWithOverrule($assetProcessingConfiguration, $overrule);
} catch (MissingArrayPathException $e) {
}
@@ -151,14 +158,14 @@ public function parseElement(
$as = 'file';
$processorConfiguration = [
'as' => $as,
+ 'processingConfiguration.' => $assetProcessingConfiguration,
'references.' => [
'fieldName' => $fieldName,
],
- 'processingConfiguration.' => $assetProcessingConfiguration,
];
$processedData = [
- 'data' => $this->cObj->data,
'current' => null,
+ 'data' => $this->cObj->data,
];
$processedData = $filesProcessor->process(
$this->cObj,
diff --git a/Classes/Event/Listener/AfterCacheableContentIsGeneratedEventListener.php b/Classes/Event/Listener/AfterCacheableContentIsGeneratedEventListener.php
index eda3e66..a4d1b3c 100644
--- a/Classes/Event/Listener/AfterCacheableContentIsGeneratedEventListener.php
+++ b/Classes/Event/Listener/AfterCacheableContentIsGeneratedEventListener.php
@@ -17,7 +17,7 @@ public function __construct(
) {
}
- public function __invoke(AfterCacheableContentIsGeneratedEvent $event)
+ public function __invoke(AfterCacheableContentIsGeneratedEvent $event): void
{
try {
$content = json_decode($event->getController()->content, true, 512, JSON_THROW_ON_ERROR);
diff --git a/Classes/Event/Listener/AfterFlexFormDataStructureIdentifierInitializedEventListener.php b/Classes/Event/Listener/AfterFlexFormDataStructureIdentifierInitializedEventListener.php
index 8e1d020..b06929e 100644
--- a/Classes/Event/Listener/AfterFlexFormDataStructureIdentifierInitializedEventListener.php
+++ b/Classes/Event/Listener/AfterFlexFormDataStructureIdentifierInitializedEventListener.php
@@ -1,5 +1,7 @@
getParsedBody();
+ $body = (array) $request->getParsedBody();
$context = json_decode($body['ajax']['context'] ?? null, true);
$config = json_decode($context['config'] ?? null, true);
$queryParams = parse_url($config['originalReturnUrl'], PHP_URL_QUERY);
- parse_str($queryParams, $queryParams);
+ parse_str($queryParams ?: '', $queryParams);
$type = $queryParams['defVals'][$foreignTable][$foreignField] ?? null;
} else {
$connectionPool = GeneralUtility::makeInstance(ConnectionPool::class);
@@ -54,7 +56,7 @@ public function __invoke(AfterFlexFormDataStructureIdentifierInitializedEvent $e
$type = $queryBuilder->executeQuery()->fetchOne();
}
} else {
- $body = $request->getParsedBody();
+ $body = (array) $request->getParsedBody();
$foreignRow = current($body['data'][$foreignTable]);
$type = $foreignRow[$foreignField];
}
diff --git a/Classes/Event/Listener/EnrichFileDataEventListener.php b/Classes/Event/Listener/EnrichFileDataEventListener.php
index 593d68b..f3f773f 100644
--- a/Classes/Event/Listener/EnrichFileDataEventListener.php
+++ b/Classes/Event/Listener/EnrichFileDataEventListener.php
@@ -12,7 +12,7 @@ public function __invoke(EnrichFileDataEvent $event): void
{
$originalFile = $event->getOriginal();
$properties = $event->getProperties();
- $properties['lazyLoading'] = (bool) $originalFile->getProperty('tx_headless_lazy_loading') ?? true;
+ $properties['lazyLoading'] = (bool) $originalFile->getProperty('tx_headless_lazy_loading');
$event->setProperties($properties);
}
}
diff --git a/Classes/Form/AbstractModelDecorator.php b/Classes/Form/AbstractModelDecorator.php
index a7178c1..8492f79 100644
--- a/Classes/Form/AbstractModelDecorator.php
+++ b/Classes/Form/AbstractModelDecorator.php
@@ -9,9 +9,16 @@
abstract class AbstractModelDecorator extends FormDefinitionDecorator
{
protected string $actionName = '';
+
protected string $controllerName = '';
+
protected string $valueName = '';
+ /**
+ * @param mixed[] $decorated
+ * @param mixed[] $definition
+ * @return mixed[]
+ */
protected function overrideDefinition(array $decorated, array $definition, int $currentPage): array
{
$decorated = parent::overrideDefinition($decorated, $definition, $currentPage);
@@ -25,15 +32,18 @@ protected function overrideDefinition(array $decorated, array $definition, int $
$controllerArguments = $arguments[$this->controllerName] ?? null;
- if ($controllerArguments) {
- $uid = (int) $controllerArguments[$this->valueName] ?? null;
+ if (is_array($controllerArguments)) {
+ $uid = (int) $controllerArguments[$this->valueName];
$action = $controllerArguments['action'] ?? null;
- if ($action === $this->actionName && $uid) {
+ if (
+ $action === $this->actionName &&
+ $uid
+ ) {
$decorated['elements'][] = [
- 'type' => 'Hidden',
'defaultValue' => $uid,
'name' => $this->controllerName . '[' . $this->valueName . ']',
+ 'type' => 'Hidden',
];
}
}
diff --git a/Classes/Form/FormDefinitionDecorator.php b/Classes/Form/FormDefinitionDecorator.php
index ff4d315..4f4f7d9 100644
--- a/Classes/Form/FormDefinitionDecorator.php
+++ b/Classes/Form/FormDefinitionDecorator.php
@@ -7,6 +7,7 @@
use FriendsOfTYPO3\Headless\Form\Decorator\AbstractFormDefinitionDecorator;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
+use TYPO3\CMS\Frontend\Typolink\LinkResult;
class FormDefinitionDecorator extends AbstractFormDefinitionDecorator
{
@@ -18,12 +19,22 @@ class FormDefinitionDecorator extends AbstractFormDefinitionDecorator
];
private ContentObjectRenderer $cObj;
+
+ /**
+ * @param mixed[] $formStatus
+ */
public function __construct(array $formStatus = [])
{
parent::__construct($formStatus);
$this->cObj = GeneralUtility::makeInstance(ContentObjectRenderer::class);
}
+ /**
+ * @phpcsSuppress SlevomatCodingStandard.Functions.UnusedParameter
+ * @param mixed[] $decorated
+ * @param mixed[] $definition
+ * @return mixed[]
+ */
protected function overrideDefinition(array $decorated, array $definition, int $currentPage): array
{
foreach ($decorated['elements'] as &$element) {
@@ -33,6 +44,9 @@ protected function overrideDefinition(array $decorated, array $definition, int $
return $decorated;
}
+ /**
+ * @param mixed[] $element
+ */
private function setNotEmptyValidationErrorMessages(array &$element): void
{
$notEmptyValidators = array_filter($element['validators'] ?? [], function (array $validator) {
@@ -54,12 +68,20 @@ private function setNotEmptyValidationErrorMessages(array &$element): void
unset($element['properties']['fluidAdditionalAttributes']);
}
+ /**
+ * @param mixed[] $element
+ */
private function setCheckboxLinks(array &$element): void
{
- if ($element['type'] === 'Checkbox' && isset($element['properties']['links'])) {
+ if (
+ $element['type'] === 'Checkbox' &&
+ isset($element['properties']['links'])
+ ) {
foreach ($element['properties']['links'] as $pageUid => $label) {
- $link = $this->cObj->createLink($label, ['parameter' => $pageUid])->getHtml();
- $element['label'] = sprintf($element['label'], $link);
+ $link = $this->cObj->createLink($label, ['parameter' => $pageUid]);
+ if ($link instanceof LinkResult) {
+ $element['label'] = sprintf($element['label'], $link->getHtml());
+ }
}
unset($element['properties']['links']);
}
diff --git a/Classes/Middleware/AssetMiddleware.php b/Classes/Middleware/AssetMiddleware.php
index 6bf2303..71b35ed 100644
--- a/Classes/Middleware/AssetMiddleware.php
+++ b/Classes/Middleware/AssetMiddleware.php
@@ -9,7 +9,6 @@
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\MiddlewareInterface;
use Psr\Http\Server\RequestHandlerInterface;
-use TYPO3\CMS\Core\Imaging\ImageManipulation\Area;
use TYPO3\CMS\Core\Imaging\ImageManipulation\CropVariantCollection;
use TYPO3\CMS\Core\Resource\AbstractFile;
use TYPO3\CMS\Core\Resource\ResourceFactory;
@@ -18,20 +17,22 @@
class AssetMiddleware implements MiddlewareInterface
{
private ResponseFactoryInterface $responseFactory;
+
private ImageService $imageService;
+
private ResourceFactory $resourceFactory;
- public function injectImageService(ImageService $imageService)
+ public function injectImageService(ImageService $imageService): void
{
$this->imageService = $imageService;
}
- public function injectResponseFactory(ResponseFactoryInterface $responseFactory)
+ public function injectResponseFactory(ResponseFactoryInterface $responseFactory): void
{
$this->responseFactory = $responseFactory;
}
- public function injectResourceFactory(ResourceFactory $resourceFactory)
+ public function injectResourceFactory(ResourceFactory $resourceFactory): void
{
$this->resourceFactory = $resourceFactory;
}
@@ -43,7 +44,10 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface
$path = $routing->getUri()->getPath();
$queryParams = $request->getQueryParams();
$uid = $queryParams['uid'] ?? null;
- if ($path === '/asset' && $uid) {
+ if (
+ $path === '/asset' &&
+ $uid
+ ) {
$resource = $this->resourceFactory->getFileReferenceObject($uid);
$tstamp = intval($resource->getProperty('tstamp'));
@@ -62,7 +66,13 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface
$targetFileExtension = $queryParams['fileExtension'] ?? null;
// Skip processing for SVGs without changing image type
- if ($resource->getExtension() !== 'svg' || (!$targetFileExtension || $targetFileExtension === 'svg')) {
+ if (
+ $resource->getExtension() !== 'svg' ||
+ (
+ !$targetFileExtension ||
+ $targetFileExtension === 'svg'
+ )
+ ) {
$cropVariant = $queryParams['breakpoint'] ?? 'default';
$crop = $resource->getProperty('crop');
@@ -70,17 +80,17 @@ public function process(ServerRequestInterface $request, RequestHandlerInterface
$cropArea = $cropVariantCollection->getCropArea($cropVariant);
// Use default cropVariant if breakpoint cropVariant does not exist
- if ($cropArea == Area::createEmpty()) {
+ if ($cropArea->isEmpty()) {
$cropArea = $cropVariantCollection->getCropArea();
}
$processingInstructions = [
- 'width' => $queryParams['width'] ?? null,
+ 'crop' => $cropArea->makeAbsoluteBasedOnFile($resource),
+ 'fileExtension' => $queryParams['fileExtension'] ?? null,
'height' => $queryParams['height'] ?? null,
- 'maxWidth' => $queryParams['maxWidth'] ?? null,
'maxHeight' => $queryParams['maxHeight'] ?? null,
- 'fileExtension' => $queryParams['fileExtension'] ?? null,
- 'crop' => $cropArea->makeAbsoluteBasedOnFile($resource),
+ 'maxWidth' => $queryParams['maxWidth'] ?? null,
+ 'width' => $queryParams['width'] ?? null,
];
$processedResource = $this->imageService->applyProcessingInstructions($resource, $processingInstructions);
diff --git a/Classes/Preview/ContentWithItemsPreviewRenderer.php b/Classes/Preview/ContentWithItemsPreviewRenderer.php
index fac2cb6..94d45b3 100644
--- a/Classes/Preview/ContentWithItemsPreviewRenderer.php
+++ b/Classes/Preview/ContentWithItemsPreviewRenderer.php
@@ -58,6 +58,9 @@ public function renderPageModulePreviewContent(GridColumnItem $item): string
return $out;
}
+ /**
+ * @param mixed[] $item
+ */
private function renderItemHeader(array $item): string
{
$outHeader = '';
@@ -67,7 +70,7 @@ private function renderItemHeader(array $item): string
$hiddenHeaderNote = '';
// If header layout is set to 'hidden', display an accordant note:
- if ($item['header_layout'] == 100) {
+ if (((int) $item['header_layout']) === 100) {
$hiddenHeaderNote = ' [' . htmlspecialchars($this->getLanguageService()->sL(
'LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:labels.hidden'
)) . ']';
diff --git a/Classes/Service/JsonService.php b/Classes/Service/JsonService.php
index 515f038..75ad6ba 100644
--- a/Classes/Service/JsonService.php
+++ b/Classes/Service/JsonService.php
@@ -6,32 +6,26 @@
use FriendsOfTYPO3\Headless\Utility\FileUtility;
use Psr\Http\Message\ServerRequestInterface;
-use Psr\Log\LoggerInterface;
use TYPO3\CMS\Core\Pagination\PaginationInterface;
-use TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface;
use TYPO3\CMS\Extbase\Mvc\Web\RequestBuilder;
use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder;
use TYPO3\CMS\Extbase\Service\ImageService;
class JsonService
{
- private array $settings = [];
-
public function __construct(
private readonly UriBuilder $uriBuilder,
- private readonly LoggerInterface $logger,
private readonly ImageService $imageService,
private readonly FileUtility $fileUtility,
RequestBuilder $requestBuilder,
- ConfigurationManagerInterface $configurationManager
) {
$extbaseRequest = $requestBuilder->build($this->getRequest());
$this->uriBuilder->setRequest($extbaseRequest);
- $this->settings = $configurationManager->getConfiguration(
- ConfigurationManagerInterface::CONFIGURATION_TYPE_SETTINGS
- );
}
+ /**
+ * @return mixed[]
+ */
public function serializePagination(PaginationInterface $pagination, string $queryParam, int $currentPage): array
{
$firstPageNumber = $pagination->getFirstPageNumber();
@@ -49,14 +43,20 @@ public function serializePagination(PaginationInterface $pagination, string $que
->setAddQueryString('untrusted')
->uriFor(null, [$queryParam => $lastPageNumber]);
- if ($previousPageNumber && $previousPageNumber >= $firstPageNumber) {
+ if (
+ $previousPageNumber &&
+ $previousPageNumber >= $firstPageNumber
+ ) {
$prev = $this->uriBuilder
->reset()
->setAddQueryString('untrusted')
->uriFor(null, [$queryParam => $previousPageNumber]);
}
- if ($nextPageNumber && $nextPageNumber <= $lastPageNumber) {
+ if (
+ $nextPageNumber &&
+ $nextPageNumber <= $lastPageNumber
+ ) {
$next = $this->uriBuilder
->reset()
->setAddQueryString('untrusted')
@@ -72,26 +72,29 @@ public function serializePagination(PaginationInterface $pagination, string $que
->uriFor(null, [$queryParam => $page]);
$pages[] = [
- 'pageNumber' => $page,
- 'link' => $link,
'active' => $page === $currentPage,
+ 'link' => $link,
+ 'pageNumber' => $page,
];
}
$result = [
- 'startRecordNumber' => $pagination->getStartRecordNumber(),
'endRecordNumber' => $pagination->getEndRecordNumber(),
'first' => $first,
'last' => $last,
- 'prev' => $prev ?? null,
'next' => $next ?? null,
'pages' => $pages,
+ 'prev' => $prev ?? null,
+ 'startRecordNumber' => $pagination->getStartRecordNumber(),
];
return $result;
}
- public function processImage(int $uid): ?array
+ /**
+ * @return mixed[]
+ */
+ public function processImage(int $uid): array
{
$imageObj = $this->imageService->getImage(strval($uid), null, true);
return $this->fileUtility->processFile($imageObj);
diff --git a/Classes/TCA/DisplayCond.php b/Classes/TCA/DisplayCond.php
index 25c6108..d9ec961 100644
--- a/Classes/TCA/DisplayCond.php
+++ b/Classes/TCA/DisplayCond.php
@@ -10,6 +10,9 @@
class DisplayCond
{
+ /**
+ * @param mixed[] $args
+ */
public function parentIsRoot(array $args): bool
{
['record' => $record] = $args;
diff --git a/Classes/Utility/ConfigUtility.php b/Classes/Utility/ConfigUtility.php
index fc5f7e1..bf25ff3 100644
--- a/Classes/Utility/ConfigUtility.php
+++ b/Classes/Utility/ConfigUtility.php
@@ -12,6 +12,9 @@
class ConfigUtility
{
+ /**
+ * @return mixed[]
+ */
public static function getRootPageConfig(): array
{
$request = self::getRequest();
diff --git a/Classes/Utility/TcaUtility.php b/Classes/Utility/TcaUtility.php
index dafa24e..232fc7e 100644
--- a/Classes/Utility/TcaUtility.php
+++ b/Classes/Utility/TcaUtility.php
@@ -12,7 +12,7 @@
class TcaUtility
{
/**
- * @param array $variants array with breakpoint names as key and aspect-ratios as value
+ * @param mixed[] $variants array with breakpoint names as key and aspect-ratios as value
* the value can contain multple aspect ratios consisting of value and title
* e.g. [
* 'lg' => [
@@ -23,16 +23,16 @@ class TcaUtility
* ['value' => 16 / 9, 'title' => '16:9']
* ]
* ]
+ * @return mixed[]
*/
public static function getCropVariants(array $variants): array
{
return array_reduce(array_keys($variants), function (array $result, string $breakpoint) use ($variants) {
$aspectRatios = $variants[$breakpoint];
$result[$breakpoint] = [
- 'title' => $breakpoint,
'allowedAspectRatios' => array_reduce(array_keys($aspectRatios), function (
array $result,
- string $key
+ string|int $key
) use (
$aspectRatios,
$breakpoint,
@@ -41,11 +41,16 @@ public static function getCropVariants(array $variants): array
$result[$breakpoint . '_' . $aspectRatio['value']] = $aspectRatio;
return $result;
}, []),
+ 'title' => $breakpoint,
];
return $result;
}, []);
}
+ /**
+ * @param mixed[] $breakpoints
+ * @return mixed[]
+ */
public static function getCropVariantsFree(array $breakpoints): array
{
return self::getCropVariants(
@@ -54,8 +59,8 @@ public static function getCropVariantsFree(array $breakpoints): array
function (array $result, string $breakpoint) {
$result[$breakpoint] = [
[
- 'value' => 0.0,
'title' => 'LLL:EXT:core/Resources/Private/Language/locallang_wizards.xlf:imwizard.ratio.free',
+ 'value' => 0.0,
],
];
return $result;
@@ -65,8 +70,8 @@ function (array $result, string $breakpoint) {
);
}
- /**
- * @param array|string $dataStructure either a xml flexform file path, a xml flexform string or a flexform array
+ /**
+ * @param mixed[]|string $dataStructure either a xml flexform file path, a xml flexform string or a flexform array
*/
public static function addPageConfigFlexForm(array|string $dataStructure): void
{
@@ -86,6 +91,10 @@ public static function addPageConfigFlexForm(array|string $dataStructure): void
$GLOBALS['TCA']['pages']['columns']['tx_headless_config']['config']['ds']['default'] = $newFlexFormString;
}
+ /**
+ * @param mixed[]|string $dataStructure either a xml flexform file path, a xml flexform string or a flexform array
+ * @return mixed[]
+ */
private static function getFlexFormArray(array|string $dataStructure): array
{
if (is_array($dataStructure)) {
@@ -94,7 +103,10 @@ private static function getFlexFormArray(array|string $dataStructure): array
// Taken from TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools
if (strpos(trim($dataStructure), 'FILE:') === 0) {
$file = GeneralUtility::getFileAbsFileName(substr(trim($dataStructure), 5));
- if (empty($file) || !@is_file($file)) {
+ if (
+ empty($file) ||
+ !@is_file($file)
+ ) {
throw new RuntimeException(
'Data structure file ' . $file . ' could not be resolved to an existing file',
1478105826
diff --git a/Configuration/RequestMiddlewares.php b/Configuration/RequestMiddlewares.php
index 5a4eb04..dcd398e 100644
--- a/Configuration/RequestMiddlewares.php
+++ b/Configuration/RequestMiddlewares.php
@@ -1,17 +1,19 @@
[
'rmnd_headless/asset' => [
- 'target' => AssetMiddleware::class,
'after' => [
'typo3/cms-frontend/site',
],
'before' => [
'typo3/cms-frontend/backend-user-authentication',
],
+ 'target' => AssetMiddleware::class,
],
],
];
diff --git a/Configuration/TCA/Overrides/pages.php b/Configuration/TCA/Overrides/pages.php
index 302a220..d085bb0 100644
--- a/Configuration/TCA/Overrides/pages.php
+++ b/Configuration/TCA/Overrides/pages.php
@@ -1,5 +1,7 @@
[
- 'exclude' => 0,
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_pages.xlf:breadcrumbs_background_color',
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'default' => null,
'items' => [
[
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_pages.xlf:breadcrumbs_background_color.none',
'value' => null,
],
],
- 'default' => null,
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
+ 'exclude' => 0,
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_pages.xlf:breadcrumbs_background_color',
],
'tx_headless_config' => [
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_pages.xlf:page_config',
'config' => [
- 'type' => 'flex',
'behaviour' => [
'allowLanguageSynchronization' => true,
],
'ds' => [
'default' => 'FILE:EXT:rmnd_headless/Configuration/FlexForms/Empty.xml',
],
+ 'type' => 'flex',
],
'displayCond' => 'FIELD:is_siteroot:REQ:true',
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_pages.xlf:page_config',
],
'tx_headless_overview_label' => [
- 'exclude' => 0,
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_pages.xlf:overview_label',
'config' => [
'type' => 'input',
],
+ 'exclude' => 0,
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_pages.xlf:overview_label',
],
]
);
diff --git a/Configuration/TCA/Overrides/sys_file_reference.php b/Configuration/TCA/Overrides/sys_file_reference.php
index 687c355..a992ab9 100644
--- a/Configuration/TCA/Overrides/sys_file_reference.php
+++ b/Configuration/TCA/Overrides/sys_file_reference.php
@@ -1,5 +1,7 @@
[
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_file.xlf:lazy_loading',
- 'description' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_file.xlf:lazy_loading.description',
'config' => [
- 'type' => 'check',
- 'renderType' => 'checkboxToggle',
'default' => 0,
+ 'renderType' => 'checkboxToggle',
+ 'type' => 'check',
],
+ 'description' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_file.xlf:lazy_loading.description',
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_file.xlf:lazy_loading',
],
]);
-$GLOBALS
- ['TCA']
- ['sys_file_reference']
- ['types']
- [AbstractFile::FILETYPE_IMAGE]
- ['columnsOverrides']
- ['tx_headless_lazy_loading']
- ['config']
- ['default'] = 1;
+$GLOBALS['TCA']['sys_file_reference']['types'][AbstractFile::FILETYPE_IMAGE]['columnsOverrides']['tx_headless_lazy_loading']['config']['default'] = 1;
ExtensionManagementUtility::addFieldsToPalette(
'sys_file_reference',
diff --git a/Configuration/TCA/Overrides/sys_template.php b/Configuration/TCA/Overrides/sys_template.php
index e2e554d..59014ac 100644
--- a/Configuration/TCA/Overrides/sys_template.php
+++ b/Configuration/TCA/Overrides/sys_template.php
@@ -1,5 +1,7 @@
[
- 'exclude' => 0,
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:background_color',
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'default' => null,
'items' => [
[
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:background_color.none',
'value' => null,
],
],
- 'default' => null,
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
+ 'exclude' => 0,
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:background_color',
'onChange' => 'reload',
],
'tx_headless_background_full_width' => [
- 'exclude' => 0,
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:background_full_width',
'config' => [
- 'type' => 'check',
- 'renderType' => 'checkboxToggle',
'items' => [
[
'label' => '',
'value' => 0,
],
],
+ 'renderType' => 'checkboxToggle',
+ 'type' => 'check',
],
'displayCond' => 'FIELD:tx_headless_background_color:REQ:true',
+ 'exclude' => 0,
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:background_full_width',
],
'tx_headless_cookie_category' => [
- 'exclude' => 0,
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:cookie.category',
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'default' => null,
'items' => [
[
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:cookie.category.none',
@@ -67,36 +66,36 @@
'value' => 3,
],
],
- 'default' => null,
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
+ 'exclude' => 0,
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:cookie.category',
],
'tx_headless_cookie_message' => [
- 'l10n_mode' => 'prefixLangTitle',
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:cookie.message',
'config' => [
- 'type' => 'text',
'cols' => 80,
+ 'enableRichtext' => true,
'rows' => 10,
'softref' => 'typolink_tag,email[subst],url',
- 'enableRichtext' => true,
+ 'type' => 'text',
],
+ 'l10n_mode' => 'prefixLangTitle',
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:cookie.message',
],
'tx_headless_item' => [
- 'exclude' => 0,
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:tx_headless_item',
'config' => [
- 'type' => 'inline',
- 'foreign_table' => 'tx_headless_item',
'foreign_field' => 'foreign_uid',
+ 'foreign_table' => 'tx_headless_item',
'foreign_table_field' => 'foreign_table',
+ 'type' => 'inline',
],
- ],
- 'tx_headless_space_before_inside' => [
'exclude' => 0,
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_before_inside',
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:tx_headless_item',
+ ],
+ 'tx_headless_space_after_inside' => [
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'default' => '',
'items' => [
[
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_none',
@@ -123,16 +122,16 @@
'value' => 'extra-large',
],
],
- 'default' => '',
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
'displayCond' => 'FIELD:tx_headless_background_color:REQ:true',
- ],
- 'tx_headless_space_after_inside' => [
'exclude' => 0,
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_after_inside',
+ ],
+ 'tx_headless_space_before_inside' => [
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'default' => '',
'items' => [
[
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_none',
@@ -159,9 +158,12 @@
'value' => 'extra-large',
],
],
- 'default' => '',
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
'displayCond' => 'FIELD:tx_headless_background_color:REQ:true',
+ 'exclude' => 0,
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_before_inside',
],
]
);
@@ -228,21 +230,5 @@
];
// Workaround for TCEFORM (https://forge.typo3.org/issues/100775)
- $GLOBALS
- ['TCA']
- ['tt_content']
- ['columns']
- ['space_after_class']
- ['config']
- ['items']
- [0]
- ['label'] = 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_none';
- $GLOBALS
- ['TCA']
- ['tt_content']
- ['columns']
- ['space_before_class']
- ['config']
- ['items']
- [0]
- ['label'] = 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_none';
+ $GLOBALS['TCA']['tt_content']['columns']['space_after_class']['config']['items'][0]['label'] = 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_none';
+ $GLOBALS['TCA']['tt_content']['columns']['space_before_class']['config']['items'][0]['label'] = 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:space_none';
diff --git a/Configuration/TCA/Overrides/tt_content_accordion.php b/Configuration/TCA/Overrides/tt_content_accordion.php
index 08177b6..17dcb32 100644
--- a/Configuration/TCA/Overrides/tt_content_accordion.php
+++ b/Configuration/TCA/Overrides/tt_content_accordion.php
@@ -1,5 +1,7 @@
'default',
+ 'icon' => 'content-accordion',
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ce.xlf:accordion.title',
'value' => 'accordion',
- 'icon' => 'content-accordion',
- 'group' => 'default',
],
);
$GLOBALS['TCA']['tt_content']['types']['accordion'] = [
- 'showitem' => '
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
- --palette--;;general,
- --palette--;;headers,
- tx_headless_item,
- --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
- --palette--;;frames,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
- --palette--;;language,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
- --palette--;;hidden,
- --palette--;;access,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
- categories,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
- rowDescription,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
- ',
'columnsOverrides' => [
'tx_headless_item' => [
'config' => [
@@ -58,4 +42,22 @@
],
],
],
+ 'showitem' => '
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
+ --palette--;;general,
+ --palette--;;headers,
+ tx_headless_item,
+ --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
+ --palette--;;frames,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
+ --palette--;;language,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
+ --palette--;;hidden,
+ --palette--;;access,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+ categories,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
+ rowDescription,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+ ',
];
diff --git a/Configuration/TCA/Overrides/tt_content_footer_content.php b/Configuration/TCA/Overrides/tt_content_footer_content.php
index 1497f84..f14eca1 100644
--- a/Configuration/TCA/Overrides/tt_content_footer_content.php
+++ b/Configuration/TCA/Overrides/tt_content_footer_content.php
@@ -1,5 +1,7 @@
'default',
+ 'icon' => 'content-footer',
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ce.xlf:footer_content.title',
'value' => 'footer_content',
- 'icon' => 'content-footer',
- 'group' => 'default',
],
);
diff --git a/Configuration/TCA/Overrides/tt_content_form_formframework.php b/Configuration/TCA/Overrides/tt_content_form_formframework.php
index 892aa98..ba5b603 100644
--- a/Configuration/TCA/Overrides/tt_content_form_formframework.php
+++ b/Configuration/TCA/Overrides/tt_content_form_formframework.php
@@ -1,5 +1,7 @@
'default',
+ 'icon' => 'content-gallery',
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ce.xlf:image_gallery.title',
'value' => 'image_gallery',
- 'icon' => 'content-gallery',
- 'group' => 'default',
],
);
diff --git a/Configuration/TCA/Overrides/tt_content_tabs.php b/Configuration/TCA/Overrides/tt_content_tabs.php
index c9368d2..a254a5d 100644
--- a/Configuration/TCA/Overrides/tt_content_tabs.php
+++ b/Configuration/TCA/Overrides/tt_content_tabs.php
@@ -1,5 +1,7 @@
'default',
+ 'icon' => 'content-tab',
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ce.xlf:tabs.title',
'value' => 'tabs',
- 'icon' => 'content-tab',
- 'group' => 'default',
],
);
$GLOBALS['TCA']['tt_content']['types']['tabs'] = [
- 'showitem' => '
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
- --palette--;;general,
- --palette--;;headers,
- tx_headless_item,
- --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
- --palette--;;frames,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
- --palette--;;language,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
- --palette--;;hidden,
- --palette--;;access,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
- categories,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
- rowDescription,
- --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
- ',
'columnsOverrides' => [
'tx_headless_item' => [
'config' => [
@@ -58,4 +42,22 @@
],
],
],
+ 'showitem' => '
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
+ --palette--;;general,
+ --palette--;;headers,
+ tx_headless_item,
+ --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,
+ --palette--;;frames,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,
+ --palette--;;language,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,
+ --palette--;;hidden,
+ --palette--;;access,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,
+ categories,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,
+ rowDescription,
+ --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended,
+ ',
];
diff --git a/Configuration/TCA/tx_headless_item.php b/Configuration/TCA/tx_headless_item.php
index 19134dd..25b996c 100644
--- a/Configuration/TCA/tx_headless_item.php
+++ b/Configuration/TCA/tx_headless_item.php
@@ -1,40 +1,37 @@
[
- 'title' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_item.xlf:title',
- 'label' => 'header',
- 'label_alt' => 'subheader,bodytext',
- 'tstamp' => 'tstamp',
- 'crdate' => 'crdate',
- 'hideTable' => true,
- 'sortby' => 'sorting',
- 'delete' => 'deleted',
- 'versioningWS' => true,
- 'languageField' => 'sys_language_uid',
- 'transOrigPointerField' => 'l10n_parent',
- 'transOrigDiffSourceField' => 'l10n_diffsource',
- 'translationSource' => 'l10n_source',
- 'enablecolumns' => [
- 'disabled' => 'hidden',
- 'starttime' => 'starttime',
- 'endtime' => 'endtime',
+ 'columns' => [
+ 'bodytext' => [
+ 'config' => [
+ 'cols' => 80,
+ 'enableRichtext' => true,
+ 'rows' => 10,
+ 'softref' => 'typolink_tag,email[subst],url',
+ 'type' => 'text',
+ ],
+ 'l10n_mode' => 'prefixLangTitle',
+ 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.text',
],
- 'searchFields' => 'header,subheader,bodytext',
- 'iconfile' => 'EXT:core/Resources/Public/Icons/T3Icons/svgs/actions/actions-folder.svg',
- 'security' => [
- 'ignorePageTypeRestriction' => true,
+ 'endtime' => [
+ 'config' => [
+ 'default' => 0,
+ 'range' => [
+ 'upper' => mktime(0, 0, 0, 1, 1, 2038),
+ ],
+ 'type' => 'datetime',
+ ],
+ 'exclude' => true,
+ 'l10n_display' => 'defaultAsReadonly',
+ 'l10n_mode' => 'exclude',
+ 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
],
- ],
- 'columns' => [
'flexform' => [
- 'l10n_display' => 'hideDiff',
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_item.xlf:columns.flexform',
'config' => [
- // FlexForm according to tt_content:CType is selected in Remind\Headless\Event\Listener\AfterFlexFormDataStructureIdentifierInitializedEventListener
- 'type' => 'flex',
'ds' => [
'default' => '
@@ -54,117 +51,43 @@
',
],
+ // FlexForm according to tt_content:CType is selected in Remind\Headless\Event\Listener\AfterFlexFormDataStructureIdentifierInitializedEventListener
+ 'type' => 'flex',
],
+ 'l10n_display' => 'hideDiff',
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_item.xlf:columns.flexform',
],
- 'sys_language_uid' => [
- 'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.language',
- 'config' => [
- 'type' => 'language',
- 'renderType' => 'selectSingle',
- ],
- ],
- 'l10n_parent' => [
- 'displayCond' => 'FIELD:sys_language_uid:>:0',
- 'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
- 'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
- 'items' => [
- [
- 'label' => '',
- 'value' => 0,
- ],
- ],
- 'foreign_table' => 'tx_headless_item',
- 'foreign_table_where' => 'AND tx_headless_item.uid=###REC_FIELD_l10n_parent### AND tx_headless_item.sys_language_uid IN (-1,0)',
- 'default' => 0,
- ],
- ],
- 'l10n_diffsource' => [
- 'config' => [
- 'type' => 'passthrough',
- 'default' => '',
- ],
- ],
- 'l10n_source' => [
- 'config' => [
- 'type' => 'passthrough',
- ],
- ],
- 'hidden' => [
- 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
- 'config' => [
- 'type' => 'check',
- 'default' => 0,
- ],
- ],
- 'starttime' => [
- 'exclude' => true,
- 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
- 'config' => [
- 'type' => 'datetime',
- 'default' => 0,
- ],
- 'l10n_mode' => 'exclude',
- 'l10n_display' => 'defaultAsReadonly',
- ],
- 'endtime' => [
- 'exclude' => true,
- 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.endtime',
+ 'foreign_table' => [
'config' => [
- 'type' => 'datetime',
- 'default' => 0,
- 'range' => [
- 'upper' => mktime(0, 0, 0, 1, 1, 2038),
- ],
+ 'eval' => 'trim',
+ 'size' => 30,
+ 'type' => 'input',
],
'l10n_mode' => 'exclude',
- 'l10n_display' => 'defaultAsReadonly',
],
'foreign_uid' => [
- 'exclude' => true,
'config' => [
'allowed' => '',
- 'type' => 'group',
- 'size' => 1,
'maxitems' => 1,
'minitems' => 0,
+ 'size' => 1,
+ 'type' => 'group',
],
+ 'exclude' => true,
],
- 'foreign_table' => [
- 'l10n_mode' => 'exclude',
+ 'header' => [
'config' => [
+ 'max' => 256,
+ 'size' => 50,
'type' => 'input',
- 'size' => 30,
- 'eval' => 'trim',
- ],
- ],
- 'tx_headless_item' => [
- 'exclude' => 0,
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:tx_headless_item',
- 'config' => [
- 'type' => 'inline',
- 'foreign_table' => 'tx_headless_item',
- 'foreign_field' => 'foreign_uid',
- 'foreign_table_field' => 'foreign_table',
],
- ],
- 'header' => [
- 'l10n_mode' => 'prefixLangTitle',
'l10n_cat' => 'text',
+ 'l10n_mode' => 'prefixLangTitle',
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header',
- 'config' => [
- 'type' => 'input',
- 'size' => 50,
- 'max' => 256,
- ],
],
'header_layout' => [
- 'exclude' => true,
- 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.type',
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'default' => 0,
'items' => [
[
'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_item.xlf:columns.header_layout.text',
@@ -199,15 +122,23 @@
'value' => '100',
],
],
- 'default' => 0,
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
+ 'exclude' => true,
+ 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.type',
],
- 'header_position' => [
- 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_position',
+ 'header_link' => [
+ 'config' => [
+ 'size' => 50,
+ 'type' => 'link',
+ ],
'exclude' => true,
+ 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_link',
+ ],
+ 'header_position' => [
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'default' => '',
'items' => [
[
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.default_value',
@@ -226,51 +157,57 @@
'value' => 'left',
],
],
- 'default' => '',
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
- ],
- 'header_link' => [
'exclude' => true,
- 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_link',
+ 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_position',
+ ],
+ 'hidden' => [
'config' => [
- 'type' => 'link',
- 'size' => 50,
+ 'default' => 0,
+ 'type' => 'check',
],
+ 'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.hidden',
],
- 'subheader' => [
- 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.subheader',
+ 'image' => [
'config' => [
- 'type' => 'input',
- 'size' => 50,
- 'max' => 256,
- 'softref' => 'email[subst]',
+ 'allowed' => 'common-image-types',
+ 'type' => 'file',
],
+ 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.images',
],
- 'title' => [
- 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_item.xlf:columns.title',
+ 'l10n_diffsource' => [
'config' => [
- 'type' => 'input',
- 'size' => 50,
- 'max' => 256,
+ 'default' => '',
+ 'type' => 'passthrough',
],
],
- 'bodytext' => [
- 'l10n_mode' => 'prefixLangTitle',
- 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.text',
+ 'l10n_parent' => [
'config' => [
- 'type' => 'text',
- 'cols' => 80,
- 'rows' => 10,
- 'softref' => 'typolink_tag,email[subst],url',
- 'enableRichtext' => true,
+ 'default' => 0,
+ 'foreign_table' => 'tx_headless_item',
+ 'foreign_table_where' => 'AND tx_headless_item.uid=###REC_FIELD_l10n_parent### AND tx_headless_item.sys_language_uid IN (-1,0)',
+ 'items' => [
+ [
+ 'label' => '',
+ 'value' => 0,
+ ],
+ ],
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
+ 'displayCond' => 'FIELD:sys_language_uid:>:0',
+ 'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.l18n_parent',
],
- 'space_before_class' => [
- 'exclude' => true,
- 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:space_before_class',
+ 'l10n_source' => [
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'type' => 'passthrough',
+ ],
+ ],
+ 'space_after_class' => [
+ 'config' => [
+ 'default' => '',
'items' => [
[
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.default_value',
@@ -297,15 +234,15 @@
'value' => 'extra-large',
],
],
- 'default' => '',
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
- ],
- 'space_after_class' => [
'exclude' => true,
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:space_after_class',
+ ],
+ 'space_before_class' => [
'config' => [
- 'type' => 'select',
- 'renderType' => 'selectSingle',
+ 'default' => '',
'items' => [
[
'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.default_value',
@@ -332,18 +269,98 @@
'value' => 'extra-large',
],
],
- 'default' => '',
+ 'renderType' => 'selectSingle',
+ 'type' => 'select',
],
+ 'exclude' => true,
+ 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:space_before_class',
],
- 'image' => [
- 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.images',
+ 'starttime' => [
'config' => [
- 'type' => 'file',
- 'allowed' => 'common-image-types',
+ 'default' => 0,
+ 'type' => 'datetime',
],
+ 'exclude' => true,
+ 'l10n_display' => 'defaultAsReadonly',
+ 'l10n_mode' => 'exclude',
+ 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.starttime',
+ ],
+ 'subheader' => [
+ 'config' => [
+ 'max' => 256,
+ 'size' => 50,
+ 'softref' => 'email[subst]',
+ 'type' => 'input',
+ ],
+ 'label' => 'LLL:EXT:core/Resources/Private/Language/locallang_general.xlf:LGL.subheader',
+ ],
+ 'sys_language_uid' => [
+ 'config' => [
+ 'renderType' => 'selectSingle',
+ 'type' => 'language',
+ ],
+ 'label' => 'LLL:EXT:lang/Resources/Private/Language/locallang_general.xlf:LGL.language',
+ ],
+ 'title' => [
+ 'config' => [
+ 'max' => 256,
+ 'size' => 50,
+ 'type' => 'input',
+ ],
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_item.xlf:columns.title',
+ ],
+ 'tx_headless_item' => [
+ 'config' => [
+ 'foreign_field' => 'foreign_uid',
+ 'foreign_table' => 'tx_headless_item',
+ 'foreign_table_field' => 'foreign_table',
+ 'type' => 'inline',
+ ],
+ 'exclude' => 0,
+ 'label' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_ttc.xlf:tx_headless_item',
],
],
+ 'ctrl' => [
+ 'crdate' => 'crdate',
+ 'delete' => 'deleted',
+ 'enablecolumns' => [
+ 'disabled' => 'hidden',
+ 'endtime' => 'endtime',
+ 'starttime' => 'starttime',
+ ],
+ 'hideTable' => true,
+ 'iconfile' => 'EXT:core/Resources/Public/Icons/T3Icons/svgs/actions/actions-folder.svg',
+ 'label' => 'header',
+ 'label_alt' => 'subheader,bodytext',
+ 'languageField' => 'sys_language_uid',
+ 'searchFields' => 'header,subheader,bodytext',
+ 'security' => [
+ 'ignorePageTypeRestriction' => true,
+ ],
+ 'sortby' => 'sorting',
+ 'title' => 'LLL:EXT:rmnd_headless/Resources/Private/Language/locallang_item.xlf:title',
+ 'translationSource' => 'l10n_source',
+ 'transOrigDiffSourceField' => 'l10n_diffsource',
+ 'transOrigPointerField' => 'l10n_parent',
+ 'tstamp' => 'tstamp',
+ 'versioningWS' => true,
+ ],
'palettes' => [
+
+ 'access' => [
+ 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access',
+ 'showitem' => '
+ starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
+ endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel,
+ ',
+ ],
+ 'frames' => [
+ 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames',
+ 'showitem' => '
+ space_before_class;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:space_before_class_formlabel,
+ space_after_class;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:space_after_class_formlabel,
+ ',
+ ],
'header' => [
'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers',
'showitem' => '
@@ -376,25 +393,10 @@
',
],
- 'access' => [
- 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access',
- 'showitem' => '
- starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:starttime_formlabel,
- endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:endtime_formlabel,
- ',
- ],
- 'frames' => [
- 'label' => 'LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames',
- 'showitem' => '
- space_before_class;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:space_before_class_formlabel,
- space_after_class;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:space_after_class_formlabel,
- ',
- ],
-
// hidden but needs to be included all the time, so sys_language_uid is set correctly
'hiddenLanguagePalette' => [
- 'showitem' => 'sys_language_uid, l10n_parent',
'isHiddenPalette' => true,
+ 'showitem' => 'sys_language_uid, l10n_parent',
],
],
'types' => [
diff --git a/Tests/Unit/.gitkeep b/Tests/Unit/.gitkeep
deleted file mode 100644
index 8b13789..0000000
--- a/Tests/Unit/.gitkeep
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/composer.json b/composer.json
index 5514823..af532f6 100644
--- a/composer.json
+++ b/composer.json
@@ -26,13 +26,12 @@
"config": {
"optimize-autoloader": true,
"apcu-autoloader": true,
- "vendor-dir": ".build/vendor",
- "bin-dir": ".build/bin",
"sort-packages": true,
"allow-plugins": {
"typo3/cms-composer-installers": true,
"typo3/class-alias-loader": true,
- "dealerdirect/phpcodesniffer-composer-installer": true
+ "dealerdirect/phpcodesniffer-composer-installer": true,
+ "phpstan/extension-installer": true
}
},
"require": {
@@ -43,6 +42,11 @@
},
"require-dev": {
"apache-solr-for-typo3/solr": "^12.0",
+ "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
+ "phpstan/extension-installer": "^1.4",
+ "phpstan/phpstan": "^1.11",
+ "remind/coding-standard": "^1.0",
+ "saschaegerer/phpstan-typo3": "^1.10",
"slevomat/coding-standard": "^8.14",
"squizlabs/php_codesniffer": "^3.7"
},
@@ -50,13 +54,16 @@
"prefer-stable": true,
"extra": {
"typo3/cms": {
- "cms-package-dir": "{$vendor-dir}/typo3/cms",
- "web-dir": ".build/web",
"extension-key": "rmnd_headless"
}
},
"scripts": {
- "phpcs": "@php ./.build/vendor/squizlabs/php_codesniffer/bin/phpcs --standard=.build/phpcs.xml --extensions=php --ignore=.build --report=full -n .",
- "phpcbf": "@php ./.build/vendor/squizlabs/php_codesniffer/bin/phpcbf --standard=.build/phpcs.xml --extensions=php --ignore=.build ."
+ "phpcs": "@php ./vendor/bin/phpcs --standard=phpcs.xml --extensions=php --report=full -n .",
+ "phpcbf": "@php ./vendor/bin/phpcbf --standard=phpcs.xml --extensions=php .",
+ "phpstan": "@php ./vendor/bin/phpstan analyse -c phpstan.neon",
+ "static-analysis": [
+ "@composer phpcs",
+ "@composer phpstan"
+ ]
}
}
diff --git a/composer.lock b/composer.lock
index 30af25f..2ff7245 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "5fe64aed85b3d93aaf2e0df6101a177d",
+ "content-hash": "7c10fcf1f36dcd0e5eb93a19fc72faf1",
"packages": [
{
"name": "bacon/bacon-qr-code",
@@ -340,16 +340,16 @@
},
{
"name": "doctrine/dbal",
- "version": "3.8.4",
+ "version": "3.8.6",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "b05e48a745f722801f55408d0dbd8003b403dbbd"
+ "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/b05e48a745f722801f55408d0dbd8003b403dbbd",
- "reference": "b05e48a745f722801f55408d0dbd8003b403dbbd",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/b7411825cf7efb7e51f9791dea19d86e43b399a1",
+ "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1",
"shasum": ""
},
"require": {
@@ -365,12 +365,12 @@
"doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.1",
- "phpstan/phpstan": "1.10.58",
- "phpstan/phpstan-strict-rules": "^1.5",
- "phpunit/phpunit": "9.6.16",
+ "phpstan/phpstan": "1.11.5",
+ "phpstan/phpstan-strict-rules": "^1.6",
+ "phpunit/phpunit": "9.6.19",
"psalm/plugin-phpunit": "0.18.4",
"slevomat/coding-standard": "8.13.1",
- "squizlabs/php_codesniffer": "3.9.0",
+ "squizlabs/php_codesniffer": "3.10.1",
"symfony/cache": "^5.4|^6.0|^7.0",
"symfony/console": "^4.4|^5.4|^6.0|^7.0",
"vimeo/psalm": "4.30.0"
@@ -433,7 +433,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.8.4"
+ "source": "https://github.com/doctrine/dbal/tree/3.8.6"
},
"funding": [
{
@@ -449,7 +449,7 @@
"type": "tidelift"
}
],
- "time": "2024-04-25T07:04:44+00:00"
+ "time": "2024-06-19T10:38:17+00:00"
},
{
"name": "doctrine/deprecations",
@@ -913,16 +913,16 @@
},
{
"name": "friendsoftypo3/headless",
- "version": "v4.3.1",
+ "version": "v4.3.2",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-Headless/headless.git",
- "reference": "c133e52db4ed55fadc125a5a0b78fa11276afb5f"
+ "reference": "bad58345df134fdd65c663bb9ef43eda955736c0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-Headless/headless/zipball/c133e52db4ed55fadc125a5a0b78fa11276afb5f",
- "reference": "c133e52db4ed55fadc125a5a0b78fa11276afb5f",
+ "url": "https://api.github.com/repos/TYPO3-Headless/headless/zipball/bad58345df134fdd65c663bb9ef43eda955736c0",
+ "reference": "bad58345df134fdd65c663bb9ef43eda955736c0",
"shasum": ""
},
"require": {
@@ -991,7 +991,7 @@
],
"support": {
"issues": "https://github.com/TYPO3-Headless/headless/issues",
- "source": "https://github.com/TYPO3-Headless/headless/tree/v4.3.1"
+ "source": "https://github.com/TYPO3-Headless/headless/tree/v4.3.2"
},
"funding": [
{
@@ -999,26 +999,26 @@
"type": "custom"
}
],
- "time": "2024-05-27T09:56:19+00:00"
+ "time": "2024-07-04T10:34:45+00:00"
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.8.1",
+ "version": "7.9.2",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "41042bc7ab002487b876a0683fc8dce04ddce104"
+ "reference": "d281ed313b989f213357e3be1a179f02196ac99b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104",
- "reference": "41042bc7ab002487b876a0683fc8dce04ddce104",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b",
+ "reference": "d281ed313b989f213357e3be1a179f02196ac99b",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^1.5.3 || ^2.0.1",
- "guzzlehttp/psr7": "^1.9.1 || ^2.5.1",
+ "guzzlehttp/promises": "^1.5.3 || ^2.0.3",
+ "guzzlehttp/psr7": "^2.7.0",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
@@ -1029,9 +1029,9 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
"ext-curl": "*",
- "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+ "guzzle/client-integration-tests": "3.0.2",
"php-http/message-factory": "^1.1",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
"suggest": {
@@ -1109,7 +1109,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.8.1"
+ "source": "https://github.com/guzzle/guzzle/tree/7.9.2"
},
"funding": [
{
@@ -1125,20 +1125,20 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:35:24+00:00"
+ "time": "2024-07-24T11:22:20+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "2.0.2",
+ "version": "2.0.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223"
+ "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223",
- "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
+ "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8",
"shasum": ""
},
"require": {
@@ -1146,7 +1146,7 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"type": "library",
"extra": {
@@ -1192,7 +1192,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/2.0.2"
+ "source": "https://github.com/guzzle/promises/tree/2.0.3"
},
"funding": [
{
@@ -1208,20 +1208,20 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:19:20+00:00"
+ "time": "2024-07-18T10:29:17+00:00"
},
{
"name": "guzzlehttp/psr7",
- "version": "2.6.2",
+ "version": "2.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
"shasum": ""
},
"require": {
@@ -1236,8 +1236,8 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "http-interop/http-factory-tests": "0.9.0",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -1308,7 +1308,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.6.2"
+ "source": "https://github.com/guzzle/psr7/tree/2.7.0"
},
"funding": [
{
@@ -1324,7 +1324,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:05:35+00:00"
+ "time": "2024-07-18T11:15:46+00:00"
},
{
"name": "ichhabrecht/content-defender",
@@ -1405,16 +1405,16 @@
},
{
"name": "lolli42/finediff",
- "version": "1.1.0",
+ "version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/lolli42/FineDiff.git",
- "reference": "784ade1515ba9f56d943a6a551c96073f9858b85"
+ "reference": "015a2f50782d2639c0fb21325dcf747c4136ad2b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/lolli42/FineDiff/zipball/784ade1515ba9f56d943a6a551c96073f9858b85",
- "reference": "784ade1515ba9f56d943a6a551c96073f9858b85",
+ "url": "https://api.github.com/repos/lolli42/FineDiff/zipball/015a2f50782d2639c0fb21325dcf747c4136ad2b",
+ "reference": "015a2f50782d2639c0fb21325dcf747c4136ad2b",
"shasum": ""
},
"require": {
@@ -1425,9 +1425,9 @@
"cogpowered/finediff": "*"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.49.0",
+ "friendsofphp/php-cs-fixer": "^3.50.0",
"phpstan/phpstan": "^1.10.57",
- "phpunit/phpunit": "^10.5.10 || ^11.0.2"
+ "phpunit/phpunit": "^11.2.6"
},
"type": "library",
"autoload": {
@@ -1464,9 +1464,9 @@
],
"support": {
"issues": "https://github.com/lolli42/FineDiff/issues",
- "source": "https://github.com/lolli42/FineDiff/tree/1.1.0"
+ "source": "https://github.com/lolli42/FineDiff/tree/1.1.1"
},
- "time": "2024-02-06T15:34:02+00:00"
+ "time": "2024-07-09T14:25:40+00:00"
},
{
"name": "masterminds/html5",
@@ -1768,16 +1768,16 @@
},
{
"name": "phpstan/phpdoc-parser",
- "version": "1.29.0",
+ "version": "1.29.1",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpdoc-parser.git",
- "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc"
+ "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc",
- "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4",
+ "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4",
"shasum": ""
},
"require": {
@@ -1809,9 +1809,9 @@
"description": "PHPDoc parser with support for nullable, intersection and generic types",
"support": {
"issues": "https://github.com/phpstan/phpdoc-parser/issues",
- "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0"
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.1"
},
- "time": "2024-05-06T12:04:23+00:00"
+ "time": "2024-05-31T08:52:43+00:00"
},
{
"name": "psr/cache",
@@ -2382,16 +2382,16 @@
},
{
"name": "symfony/cache",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "48e3508338987d63b0114a00c208c4cbb76e5303"
+ "reference": "8ac37acee794372f9732fe8a61a8221f6762148e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/48e3508338987d63b0114a00c208c4cbb76e5303",
- "reference": "48e3508338987d63b0114a00c208c4cbb76e5303",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/8ac37acee794372f9732fe8a61a8221f6762148e",
+ "reference": "8ac37acee794372f9732fe8a61a8221f6762148e",
"shasum": ""
},
"require": {
@@ -2399,6 +2399,7 @@
"psr/cache": "^2.0|^3.0",
"psr/log": "^1.1|^2|^3",
"symfony/cache-contracts": "^2.5|^3",
+ "symfony/deprecation-contracts": "^2.5|^3.0",
"symfony/service-contracts": "^2.5|^3",
"symfony/var-exporter": "^6.4|^7.0"
},
@@ -2458,7 +2459,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v7.0.7"
+ "source": "https://github.com/symfony/cache/tree/v7.1.3"
},
"funding": [
{
@@ -2474,7 +2475,7 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-07-17T06:10:24+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -2554,16 +2555,16 @@
},
{
"name": "symfony/clock",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/clock.git",
- "reference": "2008671acb4a30b01c453de193cf9c80549ebda6"
+ "reference": "3dfc8b084853586de51dd1441c6242c76a28cbe7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/clock/zipball/2008671acb4a30b01c453de193cf9c80549ebda6",
- "reference": "2008671acb4a30b01c453de193cf9c80549ebda6",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/3dfc8b084853586de51dd1441c6242c76a28cbe7",
+ "reference": "3dfc8b084853586de51dd1441c6242c76a28cbe7",
"shasum": ""
},
"require": {
@@ -2608,7 +2609,7 @@
"time"
],
"support": {
- "source": "https://github.com/symfony/clock/tree/v7.0.7"
+ "source": "https://github.com/symfony/clock/tree/v7.1.1"
},
"funding": [
{
@@ -2624,26 +2625,26 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/config",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "f66f908a975500aa4594258bf454dc66e3939eac"
+ "reference": "2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/f66f908a975500aa4594258bf454dc66e3939eac",
- "reference": "f66f908a975500aa4594258bf454dc66e3939eac",
+ "url": "https://api.github.com/repos/symfony/config/zipball/2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2",
+ "reference": "2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/filesystem": "^6.4|^7.0",
+ "symfony/filesystem": "^7.1",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
@@ -2683,7 +2684,7 @@
"description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/config/tree/v7.0.7"
+ "source": "https://github.com/symfony/config/tree/v7.1.1"
},
"funding": [
{
@@ -2699,20 +2700,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/console",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "c981e0e9380ce9f146416bde3150c79197ce9986"
+ "reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/c981e0e9380ce9f146416bde3150c79197ce9986",
- "reference": "c981e0e9380ce9f146416bde3150c79197ce9986",
+ "url": "https://api.github.com/repos/symfony/console/zipball/cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9",
+ "reference": "cb1dcb30ebc7005c29864ee78adb47b5fb7c3cd9",
"shasum": ""
},
"require": {
@@ -2776,7 +2777,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v7.0.7"
+ "source": "https://github.com/symfony/console/tree/v7.1.3"
},
"funding": [
{
@@ -2792,27 +2793,27 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-07-26T12:41:01+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "4db1314337f4dd864113f88e08c9a7f98b1c1324"
+ "reference": "8126f0be4ff984e4db0140e60917900a53facb49"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/4db1314337f4dd864113f88e08c9a7f98b1c1324",
- "reference": "4db1314337f4dd864113f88e08c9a7f98b1c1324",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/8126f0be4ff984e4db0140e60917900a53facb49",
+ "reference": "8126f0be4ff984e4db0140e60917900a53facb49",
"shasum": ""
},
"require": {
"php": ">=8.2",
"psr/container": "^1.1|^2.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/service-contracts": "^3.3",
+ "symfony/service-contracts": "^3.5",
"symfony/var-exporter": "^6.4|^7.0"
},
"conflict": {
@@ -2856,7 +2857,7 @@
"description": "Allows you to standardize and centralize the way objects are constructed in your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dependency-injection/tree/v7.0.7"
+ "source": "https://github.com/symfony/dependency-injection/tree/v7.1.3"
},
"funding": [
{
@@ -2872,7 +2873,7 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-07-26T07:35:39+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2943,16 +2944,16 @@
},
{
"name": "symfony/doctrine-messenger",
- "version": "v7.0.7",
+ "version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/doctrine-messenger.git",
- "reference": "78ec63bf2437187ac70ca13a2db3f2a8e41b3493"
+ "reference": "64e2195442df86a7a0c85a77162d0247601e9da9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/78ec63bf2437187ac70ca13a2db3f2a8e41b3493",
- "reference": "78ec63bf2437187ac70ca13a2db3f2a8e41b3493",
+ "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/64e2195442df86a7a0c85a77162d0247601e9da9",
+ "reference": "64e2195442df86a7a0c85a77162d0247601e9da9",
"shasum": ""
},
"require": {
@@ -2995,7 +2996,7 @@
"description": "Symfony Doctrine Messenger Bridge",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/doctrine-messenger/tree/v7.0.7"
+ "source": "https://github.com/symfony/doctrine-messenger/tree/v7.1.2"
},
"funding": [
{
@@ -3011,20 +3012,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-06-20T15:47:37+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9"
+ "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/db2a7fab994d67d92356bb39c367db115d9d30f9",
- "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
+ "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
"shasum": ""
},
"require": {
@@ -3075,7 +3076,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.7"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1"
},
"funding": [
{
@@ -3091,7 +3092,7 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -3171,21 +3172,22 @@
},
{
"name": "symfony/expression-language",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/expression-language.git",
- "reference": "b8ec919a6d3d47fc4e7845c256d164413207bf73"
+ "reference": "463cb95f80c14136175f4e03f7f6199b01c6b8b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/expression-language/zipball/b8ec919a6d3d47fc4e7845c256d164413207bf73",
- "reference": "b8ec919a6d3d47fc4e7845c256d164413207bf73",
+ "url": "https://api.github.com/repos/symfony/expression-language/zipball/463cb95f80c14136175f4e03f7f6199b01c6b8b4",
+ "reference": "463cb95f80c14136175f4e03f7f6199b01c6b8b4",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/cache": "^6.4|^7.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/service-contracts": "^2.5|^3"
},
"type": "library",
@@ -3214,7 +3216,7 @@
"description": "Provides an engine that can compile and evaluate expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/expression-language/tree/v7.0.7"
+ "source": "https://github.com/symfony/expression-language/tree/v7.1.1"
},
"funding": [
{
@@ -3230,26 +3232,28 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v7.0.7",
+ "version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5"
+ "reference": "92a91985250c251de9b947a14bb2c9390b1a562c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/cc168be6fbdcdf3401f50ae863ee3818ed4338f5",
- "reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/92a91985250c251de9b947a14bb2c9390b1a562c",
+ "reference": "92a91985250c251de9b947a14bb2c9390b1a562c",
"shasum": ""
},
"require": {
"php": ">=8.2",
"symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.8",
+ "symfony/polyfill-mbstring": "~1.8"
+ },
+ "require-dev": {
"symfony/process": "^6.4|^7.0"
},
"type": "library",
@@ -3278,7 +3282,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v7.0.7"
+ "source": "https://github.com/symfony/filesystem/tree/v7.1.2"
},
"funding": [
{
@@ -3294,20 +3298,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-06-28T10:03:55+00:00"
},
{
"name": "symfony/finder",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "4d58f0f4fe95a30d7b538d71197135483560b97c"
+ "reference": "717c6329886f32dc65e27461f80f2a465412fdca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/4d58f0f4fe95a30d7b538d71197135483560b97c",
- "reference": "4d58f0f4fe95a30d7b538d71197135483560b97c",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/717c6329886f32dc65e27461f80f2a465412fdca",
+ "reference": "717c6329886f32dc65e27461f80f2a465412fdca",
"shasum": ""
},
"require": {
@@ -3342,7 +3346,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v7.0.7"
+ "source": "https://github.com/symfony/finder/tree/v7.1.3"
},
"funding": [
{
@@ -3358,20 +3362,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-28T11:44:19+00:00"
+ "time": "2024-07-24T07:08:44+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "0194e064b8bdc29381462f790bab04e1cac8fdc8"
+ "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/0194e064b8bdc29381462f790bab04e1cac8fdc8",
- "reference": "0194e064b8bdc29381462f790bab04e1cac8fdc8",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f602d5c17d1fa02f8019ace2687d9d136b7f4a1a",
+ "reference": "f602d5c17d1fa02f8019ace2687d9d136b7f4a1a",
"shasum": ""
},
"require": {
@@ -3419,7 +3423,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v7.0.7"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.1.3"
},
"funding": [
{
@@ -3435,20 +3439,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-07-26T12:41:01+00:00"
},
{
"name": "symfony/mailer",
- "version": "v7.0.7",
+ "version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "4ff41a7c7998a88cfdc31b5841ef64d9246fc56a"
+ "reference": "8fcff0af9043c8f8a8e229437cea363e282f9aee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/4ff41a7c7998a88cfdc31b5841ef64d9246fc56a",
- "reference": "4ff41a7c7998a88cfdc31b5841ef64d9246fc56a",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/8fcff0af9043c8f8a8e229437cea363e282f9aee",
+ "reference": "8fcff0af9043c8f8a8e229437cea363e282f9aee",
"shasum": ""
},
"require": {
@@ -3499,7 +3503,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v7.0.7"
+ "source": "https://github.com/symfony/mailer/tree/v7.1.2"
},
"funding": [
{
@@ -3515,20 +3519,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-06-28T08:00:31+00:00"
},
{
"name": "symfony/messenger",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/messenger.git",
- "reference": "90c217478f85d5289aae597551e2a4251e4d08c3"
+ "reference": "604e182a7758ceea35921a8ad5dd492a6e13bae4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/messenger/zipball/90c217478f85d5289aae597551e2a4251e4d08c3",
- "reference": "90c217478f85d5289aae597551e2a4251e4d08c3",
+ "url": "https://api.github.com/repos/symfony/messenger/zipball/604e182a7758ceea35921a8ad5dd492a6e13bae4",
+ "reference": "604e182a7758ceea35921a8ad5dd492a6e13bae4",
"shasum": ""
},
"require": {
@@ -3585,7 +3589,7 @@
"description": "Helps applications send and receive messages to/from other applications or via message queues",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/messenger/tree/v7.0.7"
+ "source": "https://github.com/symfony/messenger/tree/v7.1.3"
},
"funding": [
{
@@ -3601,20 +3605,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-07-09T19:36:07+00:00"
},
{
"name": "symfony/mime",
- "version": "v7.0.7",
+ "version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "3adbf110c306546f6f00337f421d2edca0e8d3c0"
+ "reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/3adbf110c306546f6f00337f421d2edca0e8d3c0",
- "reference": "3adbf110c306546f6f00337f421d2edca0e8d3c0",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/26a00b85477e69a4bab63b66c5dce64f18b0cbfc",
+ "reference": "26a00b85477e69a4bab63b66c5dce64f18b0cbfc",
"shasum": ""
},
"require": {
@@ -3627,7 +3631,7 @@
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
"symfony/mailer": "<6.4",
- "symfony/serializer": "<6.4"
+ "symfony/serializer": "<6.4.3|>7.0,<7.0.3"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1|^4",
@@ -3637,7 +3641,7 @@
"symfony/process": "^6.4|^7.0",
"symfony/property-access": "^6.4|^7.0",
"symfony/property-info": "^6.4|^7.0",
- "symfony/serializer": "^6.4|^7.0"
+ "symfony/serializer": "^6.4.3|^7.0.3"
},
"type": "library",
"autoload": {
@@ -3669,7 +3673,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v7.0.7"
+ "source": "https://github.com/symfony/mime/tree/v7.1.2"
},
"funding": [
{
@@ -3685,20 +3689,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-06-28T10:03:55+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "23cc173858776ad451e31f053b1c9f47840b2cfa"
+ "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/23cc173858776ad451e31f053b1c9f47840b2cfa",
- "reference": "23cc173858776ad451e31f053b1c9f47840b2cfa",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/47aa818121ed3950acd2b58d1d37d08a94f9bf55",
+ "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55",
"shasum": ""
},
"require": {
@@ -3736,7 +3740,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v7.0.7"
+ "source": "https://github.com/symfony/options-resolver/tree/v7.1.1"
},
"funding": [
{
@@ -3752,20 +3756,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
+ "reference": "0424dff1c58f028c451efff2045f5d92410bd540"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
- "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540",
+ "reference": "0424dff1c58f028c451efff2045f5d92410bd540",
"shasum": ""
},
"require": {
@@ -3815,7 +3819,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0"
},
"funding": [
{
@@ -3831,20 +3835,20 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-05-31T15:07:36+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
- "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
+ "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
- "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a",
+ "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a",
"shasum": ""
},
"require": {
@@ -3893,7 +3897,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0"
},
"funding": [
{
@@ -3909,20 +3913,20 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-05-31T15:07:36+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
- "reference": "a287ed7475f85bf6f61890146edbc932c0fff919"
+ "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919",
- "reference": "a287ed7475f85bf6f61890146edbc932c0fff919",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c",
+ "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c",
"shasum": ""
},
"require": {
@@ -3977,7 +3981,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0"
},
"funding": [
{
@@ -3993,20 +3997,20 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-05-31T15:07:36+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
- "reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
+ "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
- "reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb",
+ "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb",
"shasum": ""
},
"require": {
@@ -4058,7 +4062,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0"
},
"funding": [
{
@@ -4074,20 +4078,20 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-05-31T15:07:36+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
+ "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
- "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
+ "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
"shasum": ""
},
"require": {
@@ -4138,7 +4142,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
},
"funding": [
{
@@ -4154,20 +4158,20 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-06-19T12:30:46+00:00"
},
{
"name": "symfony/polyfill-php72",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
- "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25"
+ "reference": "10112722600777e02d2745716b70c5db4ca70442"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25",
- "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442",
+ "reference": "10112722600777e02d2745716b70c5db4ca70442",
"shasum": ""
},
"require": {
@@ -4211,7 +4215,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0"
},
"funding": [
{
@@ -4227,105 +4231,24 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
- },
- {
- "name": "symfony/polyfill-php80",
- "version": "v1.29.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
- "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-06-19T12:30:46+00:00"
},
{
"name": "symfony/polyfill-php83",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php83.git",
- "reference": "86fcae159633351e5fd145d1c47de6c528f8caff"
+ "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff",
- "reference": "86fcae159633351e5fd145d1c47de6c528f8caff",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9",
+ "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9",
"shasum": ""
},
"require": {
- "php": ">=7.1",
- "symfony/polyfill-php80": "^1.14"
+ "php": ">=7.1"
},
"type": "library",
"extra": {
@@ -4368,7 +4291,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0"
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0"
},
"funding": [
{
@@ -4384,20 +4307,20 @@
"type": "tidelift"
}
],
- "time": "2024-01-29T20:11:03+00:00"
+ "time": "2024-06-19T12:35:24+00:00"
},
{
"name": "symfony/polyfill-uuid",
- "version": "v1.29.0",
+ "version": "v1.30.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-uuid.git",
- "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853"
+ "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853",
- "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9",
+ "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9",
"shasum": ""
},
"require": {
@@ -4447,68 +4370,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2024-01-29T20:11:03+00:00"
- },
- {
- "name": "symfony/process",
- "version": "v7.0.7",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "3839e56b94dd1dbd13235d27504e66baf23faba0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/3839e56b94dd1dbd13235d27504e66baf23faba0",
- "reference": "3839e56b94dd1dbd13235d27504e66baf23faba0",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Executes commands in sub-processes",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/process/tree/v7.0.7"
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0"
},
"funding": [
{
@@ -4524,20 +4386,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T15:07:36+00:00"
},
{
"name": "symfony/property-access",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-access.git",
- "reference": "8661b861480d2807eb2789ff99d034c0c71ab955"
+ "reference": "74e39e6a6276b8e384f34c6ddbc10a6c9a60193a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-access/zipball/8661b861480d2807eb2789ff99d034c0c71ab955",
- "reference": "8661b861480d2807eb2789ff99d034c0c71ab955",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/74e39e6a6276b8e384f34c6ddbc10a6c9a60193a",
+ "reference": "74e39e6a6276b8e384f34c6ddbc10a6c9a60193a",
"shasum": ""
},
"require": {
@@ -4584,7 +4446,7 @@
"reflection"
],
"support": {
- "source": "https://github.com/symfony/property-access/tree/v7.0.7"
+ "source": "https://github.com/symfony/property-access/tree/v7.1.1"
},
"funding": [
{
@@ -4600,25 +4462,26 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/property-info",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/property-info.git",
- "reference": "f0bdb46e19ab308527b324b7ec36161f6880a532"
+ "reference": "88a279df2db5b7919cac6f35d6a5d1d7147e6a9b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/property-info/zipball/f0bdb46e19ab308527b324b7ec36161f6880a532",
- "reference": "f0bdb46e19ab308527b324b7ec36161f6880a532",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/88a279df2db5b7919cac6f35d6a5d1d7147e6a9b",
+ "reference": "88a279df2db5b7919cac6f35d6a5d1d7147e6a9b",
"shasum": ""
},
"require": {
"php": ">=8.2",
- "symfony/string": "^6.4|^7.0"
+ "symfony/string": "^6.4|^7.0",
+ "symfony/type-info": "^7.1"
},
"conflict": {
"phpdocumentor/reflection-docblock": "<5.2",
@@ -4667,7 +4530,7 @@
"validator"
],
"support": {
- "source": "https://github.com/symfony/property-info/tree/v7.0.7"
+ "source": "https://github.com/symfony/property-info/tree/v7.1.3"
},
"funding": [
{
@@ -4683,20 +4546,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-28T11:44:19+00:00"
+ "time": "2024-07-26T07:36:36+00:00"
},
{
"name": "symfony/rate-limiter",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/rate-limiter.git",
- "reference": "7ba48d83a622ebcd0a804776c505c05898a6f0e9"
+ "reference": "f1fbc60e7fed63f1c77bbf8601170cc80fddd95a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/7ba48d83a622ebcd0a804776c505c05898a6f0e9",
- "reference": "7ba48d83a622ebcd0a804776c505c05898a6f0e9",
+ "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/f1fbc60e7fed63f1c77bbf8601170cc80fddd95a",
+ "reference": "f1fbc60e7fed63f1c77bbf8601170cc80fddd95a",
"shasum": ""
},
"require": {
@@ -4737,7 +4600,7 @@
"rate-limiter"
],
"support": {
- "source": "https://github.com/symfony/rate-limiter/tree/v7.0.7"
+ "source": "https://github.com/symfony/rate-limiter/tree/v7.1.1"
},
"funding": [
{
@@ -4753,20 +4616,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/routing",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b"
+ "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b",
- "reference": "9f82bf7766ccc9c22ab7aeb9bebb98351483fa5b",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/8a908a3f22d5a1b5d297578c2ceb41b02fa916d0",
+ "reference": "8a908a3f22d5a1b5d297578c2ceb41b02fa916d0",
"shasum": ""
},
"require": {
@@ -4818,7 +4681,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v7.0.7"
+ "source": "https://github.com/symfony/routing/tree/v7.1.3"
},
"funding": [
{
@@ -4834,7 +4697,7 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-07-17T06:10:24+00:00"
},
{
"name": "symfony/service-contracts",
@@ -4921,16 +4784,16 @@
},
{
"name": "symfony/string",
- "version": "v7.0.7",
+ "version": "v7.1.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63"
+ "reference": "ea272a882be7f20cad58d5d78c215001617b7f07"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/e405b5424dc2528e02e31ba26b83a79fd4eb8f63",
- "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63",
+ "url": "https://api.github.com/repos/symfony/string/zipball/ea272a882be7f20cad58d5d78c215001617b7f07",
+ "reference": "ea272a882be7f20cad58d5d78c215001617b7f07",
"shasum": ""
},
"require": {
@@ -4944,6 +4807,7 @@
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
+ "symfony/emoji": "^7.1",
"symfony/error-handler": "^6.4|^7.0",
"symfony/http-client": "^6.4|^7.0",
"symfony/intl": "^6.4|^7.0",
@@ -4987,7 +4851,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.0.7"
+ "source": "https://github.com/symfony/string/tree/v7.1.3"
},
"funding": [
{
@@ -5003,20 +4867,102 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-07-22T10:25:37+00:00"
+ },
+ {
+ "name": "symfony/type-info",
+ "version": "v7.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/type-info.git",
+ "reference": "60b28eb733f1453287f1263ed305b96091e0d1dc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/type-info/zipball/60b28eb733f1453287f1263ed305b96091e0d1dc",
+ "reference": "60b28eb733f1453287f1263ed305b96091e0d1dc",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "psr/container": "^1.1|^2.0"
+ },
+ "conflict": {
+ "phpstan/phpdoc-parser": "<1.0",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/property-info": "<6.4"
+ },
+ "require-dev": {
+ "phpstan/phpdoc-parser": "^1.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/property-info": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\TypeInfo\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mathias Arlaud",
+ "email": "mathias.arlaud@gmail.com"
+ },
+ {
+ "name": "Baptiste LEDUC",
+ "email": "baptiste.leduc@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Extracts PHP types information.",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "PHPStan",
+ "phpdoc",
+ "symfony",
+ "type"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/type-info/tree/v7.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-05-31T14:59:31+00:00"
},
{
"name": "symfony/uid",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "4f3a5d181999e25918586c8369de09e7814e7be2"
+ "reference": "bb59febeecc81528ff672fad5dab7f06db8c8277"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/4f3a5d181999e25918586c8369de09e7814e7be2",
- "reference": "4f3a5d181999e25918586c8369de09e7814e7be2",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/bb59febeecc81528ff672fad5dab7f06db8c8277",
+ "reference": "bb59febeecc81528ff672fad5dab7f06db8c8277",
"shasum": ""
},
"require": {
@@ -5061,7 +5007,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v7.0.7"
+ "source": "https://github.com/symfony/uid/tree/v7.1.1"
},
"funding": [
{
@@ -5077,20 +5023,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v7.0.7",
+ "version": "v7.1.2",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "cdecc0022e40e90340ba1a59a3d5ccf069777078"
+ "reference": "b80a669a2264609f07f1667f891dbfca25eba44c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/cdecc0022e40e90340ba1a59a3d5ccf069777078",
- "reference": "cdecc0022e40e90340ba1a59a3d5ccf069777078",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/b80a669a2264609f07f1667f891dbfca25eba44c",
+ "reference": "b80a669a2264609f07f1667f891dbfca25eba44c",
"shasum": ""
},
"require": {
@@ -5137,7 +5083,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v7.0.7"
+ "source": "https://github.com/symfony/var-exporter/tree/v7.1.2"
},
"funding": [
{
@@ -5153,20 +5099,20 @@
"type": "tidelift"
}
],
- "time": "2024-04-18T09:29:19+00:00"
+ "time": "2024-06-28T08:00:31+00:00"
},
{
"name": "symfony/yaml",
- "version": "v7.0.7",
+ "version": "v7.1.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c"
+ "reference": "fa34c77015aa6720469db7003567b9f772492bf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c",
- "reference": "0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2",
+ "reference": "fa34c77015aa6720469db7003567b9f772492bf2",
"shasum": ""
},
"require": {
@@ -5208,7 +5154,7 @@
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v7.0.7"
+ "source": "https://github.com/symfony/yaml/tree/v7.1.1"
},
"funding": [
{
@@ -5224,7 +5170,7 @@
"type": "tidelift"
}
],
- "time": "2024-04-28T11:44:19+00:00"
+ "time": "2024-05-31T14:57:53+00:00"
},
{
"name": "typo3/class-alias-loader",
@@ -5290,21 +5236,21 @@
},
{
"name": "typo3/cms-backend",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/backend.git",
- "reference": "892ad58bfd47f39f11ea637eb9518c349a85cfa3"
+ "reference": "558def27d2f47ad496fb0e01d4c688eccac673ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/892ad58bfd47f39f11ea637eb9518c349a85cfa3",
- "reference": "892ad58bfd47f39f11ea637eb9518c349a85cfa3",
+ "url": "https://api.github.com/repos/TYPO3-CMS/backend/zipball/558def27d2f47ad496fb0e01d4c688eccac673ab",
+ "reference": "558def27d2f47ad496fb0e01d4c688eccac673ab",
"shasum": ""
},
"require": {
"psr/event-dispatcher": "^1.0",
- "typo3/cms-core": "12.4.15"
+ "typo3/cms-core": "12.4.17"
},
"conflict": {
"typo3/cms": "*"
@@ -5365,7 +5311,7 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
},
{
"name": "typo3/cms-cli",
@@ -5474,16 +5420,16 @@
},
{
"name": "typo3/cms-core",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/core.git",
- "reference": "715ef27bc73ae13662147ba77ee6c7f2db38c75b"
+ "reference": "39ef6e944a616bf092e788fc814ad63b66875170"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/715ef27bc73ae13662147ba77ee6c7f2db38c75b",
- "reference": "715ef27bc73ae13662147ba77ee6c7f2db38c75b",
+ "url": "https://api.github.com/repos/TYPO3-CMS/core/zipball/39ef6e944a616bf092e788fc814ad63b66875170",
+ "reference": "39ef6e944a616bf092e788fc814ad63b66875170",
"shasum": ""
},
"require": {
@@ -5610,20 +5556,20 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
},
{
"name": "typo3/cms-extbase",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/extbase.git",
- "reference": "cb5ae91c3e3cc6f1a93cb4358277aa665a785169"
+ "reference": "a9a6a661cf95c57a49fe28ba97d534f97b00d618"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/cb5ae91c3e3cc6f1a93cb4358277aa665a785169",
- "reference": "cb5ae91c3e3cc6f1a93cb4358277aa665a785169",
+ "url": "https://api.github.com/repos/TYPO3-CMS/extbase/zipball/a9a6a661cf95c57a49fe28ba97d534f97b00d618",
+ "reference": "a9a6a661cf95c57a49fe28ba97d534f97b00d618",
"shasum": ""
},
"require": {
@@ -5633,7 +5579,7 @@
"symfony/dependency-injection": "^6.4 || ^7.0",
"symfony/property-access": "^6.4 || ^7.0",
"symfony/property-info": "^6.4 || ^7.0",
- "typo3/cms-core": "12.4.15"
+ "typo3/cms-core": "12.4.17"
},
"conflict": {
"typo3/cms": "*"
@@ -5680,26 +5626,26 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
},
{
"name": "typo3/cms-fluid",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/fluid.git",
- "reference": "bd23042b77ecb794056aa7fa9b0bc2c312bc219f"
+ "reference": "ade86574d46b411a50040b91154cfbd5b08cefd7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/bd23042b77ecb794056aa7fa9b0bc2c312bc219f",
- "reference": "bd23042b77ecb794056aa7fa9b0bc2c312bc219f",
+ "url": "https://api.github.com/repos/TYPO3-CMS/fluid/zipball/ade86574d46b411a50040b91154cfbd5b08cefd7",
+ "reference": "ade86574d46b411a50040b91154cfbd5b08cefd7",
"shasum": ""
},
"require": {
"symfony/dependency-injection": "^6.4 || ^7.0",
- "typo3/cms-core": "12.4.15",
- "typo3/cms-extbase": "12.4.15",
+ "typo3/cms-core": "12.4.17",
+ "typo3/cms-extbase": "12.4.17",
"typo3fluid/fluid": "^2.9.2"
},
"conflict": {
@@ -5744,20 +5690,20 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
},
{
"name": "typo3/cms-install",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/install.git",
- "reference": "951cfb0e00d6d8d7d2cf28ae99da3ace0b94a708"
+ "reference": "fb8bca33a5697f48ecad173ef39970c5cf334e12"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/951cfb0e00d6d8d7d2cf28ae99da3ace0b94a708",
- "reference": "951cfb0e00d6d8d7d2cf28ae99da3ace0b94a708",
+ "url": "https://api.github.com/repos/TYPO3-CMS/install/zipball/fb8bca33a5697f48ecad173ef39970c5cf334e12",
+ "reference": "fb8bca33a5697f48ecad173ef39970c5cf334e12",
"shasum": ""
},
"require": {
@@ -5766,9 +5712,9 @@
"nikic/php-parser": "^4.15.4",
"symfony/finder": "^6.4 || ^7.0",
"symfony/http-foundation": "^6.4 || ^7.0",
- "typo3/cms-core": "12.4.15",
- "typo3/cms-extbase": "12.4.15",
- "typo3/cms-fluid": "12.4.15"
+ "typo3/cms-core": "12.4.17",
+ "typo3/cms-extbase": "12.4.17",
+ "typo3/cms-fluid": "12.4.17"
},
"conflict": {
"typo3/cms": "*"
@@ -5812,20 +5758,20 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
},
{
"name": "typo3/html-sanitizer",
- "version": "v2.1.4",
+ "version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/TYPO3/html-sanitizer.git",
- "reference": "b8f90717251d968c49dc77f8c1e5912e2fbe0dff"
+ "reference": "c672a2e02925de8eed0dcaeb3a3c90d3642049a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3/html-sanitizer/zipball/b8f90717251d968c49dc77f8c1e5912e2fbe0dff",
- "reference": "b8f90717251d968c49dc77f8c1e5912e2fbe0dff",
+ "url": "https://api.github.com/repos/TYPO3/html-sanitizer/zipball/c672a2e02925de8eed0dcaeb3a3c90d3642049a0",
+ "reference": "c672a2e02925de8eed0dcaeb3a3c90d3642049a0",
"shasum": ""
},
"require": {
@@ -5861,22 +5807,22 @@
"description": "HTML sanitizer aiming to provide XSS-safe markup based on explicitly allowed tags, attributes and values.",
"support": {
"issues": "https://github.com/TYPO3/html-sanitizer/issues",
- "source": "https://github.com/TYPO3/html-sanitizer/tree/v2.1.4"
+ "source": "https://github.com/TYPO3/html-sanitizer/tree/v2.2.0"
},
- "time": "2023-11-14T07:41:08+00:00"
+ "time": "2024-07-12T15:52:25+00:00"
},
{
"name": "typo3fluid/fluid",
- "version": "2.11.0",
+ "version": "2.14.1",
"source": {
"type": "git",
"url": "https://github.com/TYPO3/Fluid.git",
- "reference": "392c7d5e494a02131843ec8b2a5ef1d3ca4dcdf5"
+ "reference": "ad0deb5ee02b6149efcd635892563d20c0663274"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3/Fluid/zipball/392c7d5e494a02131843ec8b2a5ef1d3ca4dcdf5",
- "reference": "392c7d5e494a02131843ec8b2a5ef1d3ca4dcdf5",
+ "url": "https://api.github.com/repos/TYPO3/Fluid/zipball/ad0deb5ee02b6149efcd635892563d20c0663274",
+ "reference": "ad0deb5ee02b6149efcd635892563d20c0663274",
"shasum": ""
},
"require": {
@@ -5885,13 +5831,15 @@
},
"require-dev": {
"ext-json": "*",
- "friendsofphp/php-cs-fixer": "^3.52.1",
+ "ext-simplexml": "*",
+ "friendsofphp/php-cs-fixer": "^3.59.3",
"phpstan/phpstan": "^1.10.14",
"phpstan/phpstan-phpunit": "^1.3.11",
"phpunit/phpunit": "^10.2.6"
},
"suggest": {
- "ext-json": "PHP JSON is needed when using JSONVariableProvider: A relatively rare use case"
+ "ext-json": "PHP JSON is needed when using JSONVariableProvider: A relatively rare use case",
+ "ext-simplexml": "SimpleXML is required for the XSD schema generator"
},
"bin": [
"bin/fluid"
@@ -5913,7 +5861,7 @@
"issues": "https://github.com/TYPO3/Fluid/issues",
"source": "https://github.com/TYPO3/Fluid"
},
- "time": "2024-04-05T13:06:34+00:00"
+ "time": "2024-07-31T09:09:50+00:00"
},
{
"name": "webmozart/assert",
@@ -5977,16 +5925,16 @@
"packages-dev": [
{
"name": "apache-solr-for-typo3/solr",
- "version": "12.0.3",
+ "version": "12.0.5",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-Solr/ext-solr.git",
- "reference": "9f5ed12031e868bbd00f0c0a8c9decd0b893fa99"
+ "reference": "7e800fb764377eedfba6b03dc0dcbf397c706a9c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-Solr/ext-solr/zipball/9f5ed12031e868bbd00f0c0a8c9decd0b893fa99",
- "reference": "9f5ed12031e868bbd00f0c0a8c9decd0b893fa99",
+ "url": "https://api.github.com/repos/TYPO3-Solr/ext-solr/zipball/7e800fb764377eedfba6b03dc0dcbf397c706a9c",
+ "reference": "7e800fb764377eedfba6b03dc0dcbf397c706a9c",
"shasum": ""
},
"require": {
@@ -5996,7 +5944,7 @@
"ext-pdo": "*",
"ext-simplexml": "*",
"php": "^8.1",
- "solarium/solarium": "6.3.2",
+ "solarium/solarium": "6.3.5",
"typo3/cms-backend": "*",
"typo3/cms-core": "^v12.4.3",
"typo3/cms-extbase": "*",
@@ -6015,9 +5963,9 @@
},
"require-dev": {
"dg/bypass-finals": "^1.6",
- "phpstan/phpstan": "^1.10",
+ "phpstan/phpstan": "^1.11",
"phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^10.1",
+ "phpunit/phpunit": "^10.5",
"typo3/cms-fluid-styled-content": "*",
"typo3/coding-standards": "~0.7.1",
"typo3/testing-framework": "^8.0"
@@ -6025,7 +5973,7 @@
"type": "typo3-cms-extension",
"extra": {
"branch-alias": {
- "dev-main": "12.0.x-dev"
+ "dev-release-12.0.x": "12.0.x-dev"
},
"typo3/cms": {
"extension-key": "solr",
@@ -6039,6 +5987,8 @@
"ext-solrdebugtools": "^12.0",
"ext-solrmlt": "^12.0",
"Apache-Solr": [
+ "9.6.1",
+ "9.6.0",
"9.5.0",
"9.4.1",
"9.4.0",
@@ -6064,9 +6014,9 @@
],
"authors": [
{
- "name": "Ingo Renner",
- "email": "ingo@typo3.org",
- "role": "Lead Developer"
+ "name": "dkd Internet Service GmbH",
+ "email": "info@dkd.de",
+ "homepage": "https://www.dkd.de"
}
],
"description": "Apache Solr for TYPO3",
@@ -6079,7 +6029,7 @@
],
"support": {
"docs": "https://docs.typo3.org/p/apache-solr-for-typo3/solr/main/en-us/",
- "email": "solr-eb-support@dkd.de",
+ "email": "info@dkd.de",
"forum": "https://talk.typo3.org",
"issues": "https://github.com/TYPO3-Solr/ext-solr/issues",
"slack": "https://typo3.slack.com/archives/C02FF05Q4",
@@ -6091,7 +6041,145 @@
"type": "custom"
}
],
- "time": "2024-05-13T08:07:34+00:00"
+ "time": "2024-07-30T12:24:53+00:00"
+ },
+ {
+ "name": "bnf/phpstan-psr-container",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/bnf/phpstan-psr-container.git",
+ "reference": "38242e71616aa677a0fdd08af8edc4a730a24f67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/bnf/phpstan-psr-container/zipball/38242e71616aa677a0fdd08af8edc4a730a24f67",
+ "reference": "38242e71616aa677a0fdd08af8edc4a730a24f67",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0|^8.0",
+ "phpstan/phpstan": "^1.0",
+ "psr/container": "^1.0|^2.0"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Bnf\\PhpstanPsrContainer\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Benjamin Franzke",
+ "email": "benjaminfranzke@gmail.com",
+ "homepage": "https://bnfr.net",
+ "role": "Developer"
+ }
+ ],
+ "description": "PHPStan dynamic return type extension for PSR-11 ContainerInterface",
+ "keywords": [
+ "PHPStan",
+ "PSR-11",
+ "service-provider",
+ "static"
+ ],
+ "support": {
+ "issues": "https://github.com/bnf/phpstan-psr-container/issues",
+ "source": "https://github.com/bnf/phpstan-psr-container/tree/1.0.1"
+ },
+ "time": "2022-04-26T04:03:19+00:00"
+ },
+ {
+ "name": "composer/semver",
+ "version": "3.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/semver.git",
+ "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6",
+ "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.3.2 || ^7.0 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.4",
+ "symfony/phpunit-bridge": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Semver\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nils Adermann",
+ "email": "naderman@naderman.de",
+ "homepage": "http://www.naderman.de"
+ },
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "http://seld.be"
+ },
+ {
+ "name": "Rob Bast",
+ "email": "rob.bast@gmail.com",
+ "homepage": "http://robbast.nl"
+ }
+ ],
+ "description": "Semver library that offers utilities, version constraint parsing and validation.",
+ "keywords": [
+ "semantic",
+ "semver",
+ "validation",
+ "versioning"
+ ],
+ "support": {
+ "irc": "ircs://irc.libera.chat:6697/composer",
+ "issues": "https://github.com/composer/semver/issues",
+ "source": "https://github.com/composer/semver/tree/3.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-07-12T11:35:52+00:00"
},
{
"name": "dealerdirect/phpcodesniffer-composer-installer",
@@ -6230,6 +6318,207 @@
],
"time": "2023-11-28T21:12:40+00:00"
},
+ {
+ "name": "phpstan/extension-installer",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/extension-installer.git",
+ "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f6b87faf9fc7978eab2f7919a8760bc9f58f9203",
+ "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^2.0",
+ "php": "^7.2 || ^8.0",
+ "phpstan/phpstan": "^1.9.0"
+ },
+ "require-dev": {
+ "composer/composer": "^2.0",
+ "php-parallel-lint/php-parallel-lint": "^1.2.0",
+ "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "PHPStan\\ExtensionInstaller\\Plugin"
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\ExtensionInstaller\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Composer plugin for automatic installation of PHPStan extensions",
+ "support": {
+ "issues": "https://github.com/phpstan/extension-installer/issues",
+ "source": "https://github.com/phpstan/extension-installer/tree/1.4.1"
+ },
+ "time": "2024-06-10T08:20:49+00:00"
+ },
+ {
+ "name": "phpstan/phpstan",
+ "version": "1.11.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "e370bcddadaede0c1716338b262346f40d296f82"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e370bcddadaede0c1716338b262346f40d296f82",
+ "reference": "e370bcddadaede0c1716338b262346f40d296f82",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
+ },
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "keywords": [
+ "dev",
+ "static analysis"
+ ],
+ "support": {
+ "docs": "https://phpstan.org/user-guide/getting-started",
+ "forum": "https://github.com/phpstan/phpstan/discussions",
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "security": "https://github.com/phpstan/phpstan/security/policy",
+ "source": "https://github.com/phpstan/phpstan-src"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ }
+ ],
+ "time": "2024-08-01T16:25:18+00:00"
+ },
+ {
+ "name": "remind/coding-standard",
+ "version": "v1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/remindgmbh/coding-standard.git",
+ "reference": "770053583364238e035ada832c7db9b06c737c28"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/remindgmbh/coding-standard/zipball/770053583364238e035ada832c7db9b06c737c28",
+ "reference": "770053583364238e035ada832c7db9b06c737c28",
+ "shasum": ""
+ },
+ "require": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
+ "slevomat/coding-standard": "^8.15",
+ "squizlabs/php_codesniffer": "^3.10"
+ },
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "support": {
+ "issues": "https://github.com/remindgmbh/coding-standard/issues",
+ "source": "https://github.com/remindgmbh/coding-standard/tree/v1.0.1"
+ },
+ "time": "2024-08-08T11:48:58+00:00"
+ },
+ {
+ "name": "saschaegerer/phpstan-typo3",
+ "version": "1.10.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sascha-egerer/phpstan-typo3.git",
+ "reference": "a7549f5d5d6b75ec9dc51122086054604007943c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sascha-egerer/phpstan-typo3/zipball/a7549f5d5d6b75ec9dc51122086054604007943c",
+ "reference": "a7549f5d5d6b75ec9dc51122086054604007943c",
+ "shasum": ""
+ },
+ "require": {
+ "bnf/phpstan-psr-container": "^1.0",
+ "composer/semver": "^3.3",
+ "ext-simplexml": "*",
+ "php": "^7.4 || ^8.0",
+ "phpstan/phpstan": "^1.10.9",
+ "ssch/typo3-debug-dump-pass": "^0.0.2",
+ "typo3/cms-core": "^11.5 || ^12.4 || ^13.0",
+ "typo3/cms-extbase": "^11.5 || ^12.4 || ^13.0"
+ },
+ "require-dev": {
+ "consistence-community/coding-standard": "^3.10",
+ "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
+ "nikic/php-parser": "^v4.19.1",
+ "phing/phing": "^2.17",
+ "php-parallel-lint/php-parallel-lint": "^1.4",
+ "phpstan/phpstan-phpunit": "^1.3",
+ "phpstan/phpstan-strict-rules": "^1.5",
+ "phpunit/phpunit": "^9.6",
+ "symfony/polyfill-php80": "^1.29"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "SaschaEgerer\\PhpstanTypo3\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "TYPO3 CMS class reflection extension for PHPStan",
+ "keywords": [
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/sascha-egerer/phpstan-typo3/issues",
+ "source": "https://github.com/sascha-egerer/phpstan-typo3/tree/1.10.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sascha-egerer",
+ "type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sascha.egerer",
+ "type": "liberapay"
+ }
+ ],
+ "time": "2024-05-06T07:37:36+00:00"
+ },
{
"name": "slevomat/coding-standard",
"version": "8.15.0",
@@ -6297,16 +6586,16 @@
},
{
"name": "solarium/solarium",
- "version": "6.3.2",
+ "version": "6.3.5",
"source": {
"type": "git",
"url": "https://github.com/solariumphp/solarium.git",
- "reference": "52e5623102bd8b056d159eea8cce991d21cb8593"
+ "reference": "ae4ea592dc92d2be4dfd0a329f1ffbe3cbd01cf3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/solariumphp/solarium/zipball/52e5623102bd8b056d159eea8cce991d21cb8593",
- "reference": "52e5623102bd8b056d159eea8cce991d21cb8593",
+ "url": "https://api.github.com/repos/solariumphp/solarium/zipball/ae4ea592dc92d2be4dfd0a329f1ffbe3cbd01cf3",
+ "reference": "ae4ea592dc92d2be4dfd0a329f1ffbe3cbd01cf3",
"shasum": ""
},
"require": {
@@ -6330,6 +6619,7 @@
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-phpunit": "^1.0",
"phpunit/phpunit": "^9.6",
+ "rawr/phpunit-data-provider": "^3.3",
"roave/security-advisories": "dev-master",
"symfony/event-dispatcher": "^5.0 || ^6.0"
},
@@ -6358,22 +6648,22 @@
],
"support": {
"issues": "https://github.com/solariumphp/solarium/issues",
- "source": "https://github.com/solariumphp/solarium/tree/6.3.2"
+ "source": "https://github.com/solariumphp/solarium/tree/6.3.5"
},
- "time": "2023-09-19T06:59:53+00:00"
+ "time": "2024-01-10T08:36:53+00:00"
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.10.1",
+ "version": "3.10.2",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877"
+ "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/8f90f7a53ce271935282967f53d0894f8f1ff877",
- "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/86e5f5dd9a840c46810ebe5ff1885581c42a3017",
+ "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017",
"shasum": ""
},
"require": {
@@ -6440,25 +6730,83 @@
"type": "open_collective"
}
],
- "time": "2024-05-22T21:24:41+00:00"
+ "time": "2024-07-21T23:26:44+00:00"
+ },
+ {
+ "name": "ssch/typo3-debug-dump-pass",
+ "version": "v0.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sabbelasichon/typo3-debug-dump-pass.git",
+ "reference": "44776b48e78e50db999370dc65f85872420b4e79"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sabbelasichon/typo3-debug-dump-pass/zipball/44776b48e78e50db999370dc65f85872420b4e79",
+ "reference": "44776b48e78e50db999370dc65f85872420b4e79",
+ "shasum": ""
+ },
+ "require": {
+ "symfony/config": "^5.0 || ^6.0 || ^7.0",
+ "symfony/dependency-injection": "^5.0 || ^6.0 || ^7.0",
+ "typo3/cms-core": "^10.4 || ^11.5 || ^12.4 || ^13.0"
+ },
+ "require-dev": {
+ "symplify/easy-coding-standard": "^12.1"
+ },
+ "type": "typo3-cms-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.0.x-dev"
+ },
+ "typo3/cms": {
+ "extension-key": "typo3_debug_dump_pass",
+ "web-dir": ".Build/Web"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Ssch\\Typo3DebugDumpPass\\": "Classes/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Schreiber",
+ "email": "me@schreibersebastian.de"
+ }
+ ],
+ "description": "Add debug dump compiler pass for better static analysis",
+ "keywords": [
+ "dev",
+ "refactoring"
+ ],
+ "support": {
+ "issues": "https://github.com/sabbelasichon/typo3-debug-dump-pass/issues",
+ "source": "https://github.com/sabbelasichon/typo3-debug-dump-pass/tree/v0.0.2"
+ },
+ "time": "2024-02-05T19:24:11+00:00"
},
{
"name": "typo3/cms-frontend",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/frontend.git",
- "reference": "4e6aea59e4dfbaba31f039e36d2db9537b3f7fb1"
+ "reference": "844e38e4b8f74bb17da91cb93fc867328517fc84"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/4e6aea59e4dfbaba31f039e36d2db9537b3f7fb1",
- "reference": "4e6aea59e4dfbaba31f039e36d2db9537b3f7fb1",
+ "url": "https://api.github.com/repos/TYPO3-CMS/frontend/zipball/844e38e4b8f74bb17da91cb93fc867328517fc84",
+ "reference": "844e38e4b8f74bb17da91cb93fc867328517fc84",
"shasum": ""
},
"require": {
"ext-libxml": "*",
- "typo3/cms-core": "12.4.15"
+ "typo3/cms-core": "12.4.17"
},
"conflict": {
"typo3/cms": "*"
@@ -6510,24 +6858,24 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
},
{
"name": "typo3/cms-reports",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/reports.git",
- "reference": "c00b2095a7a6eea37ccab7c621cf90076f20d356"
+ "reference": "613a1d87790ff6917fa624bf70c10b9f4789435c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/reports/zipball/c00b2095a7a6eea37ccab7c621cf90076f20d356",
- "reference": "c00b2095a7a6eea37ccab7c621cf90076f20d356",
+ "url": "https://api.github.com/repos/TYPO3-CMS/reports/zipball/613a1d87790ff6917fa624bf70c10b9f4789435c",
+ "reference": "613a1d87790ff6917fa624bf70c10b9f4789435c",
"shasum": ""
},
"require": {
- "typo3/cms-core": "12.4.15"
+ "typo3/cms-core": "12.4.17"
},
"conflict": {
"typo3/cms": "*"
@@ -6571,24 +6919,24 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
},
{
"name": "typo3/cms-scheduler",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/scheduler.git",
- "reference": "eef314234bfe29c1e188b751d3a4fab58fe30250"
+ "reference": "fc9efc238169b5e339b7ea98eee425ba4ae38688"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/scheduler/zipball/eef314234bfe29c1e188b751d3a4fab58fe30250",
- "reference": "eef314234bfe29c1e188b751d3a4fab58fe30250",
+ "url": "https://api.github.com/repos/TYPO3-CMS/scheduler/zipball/fc9efc238169b5e339b7ea98eee425ba4ae38688",
+ "reference": "fc9efc238169b5e339b7ea98eee425ba4ae38688",
"shasum": ""
},
"require": {
- "typo3/cms-core": "12.4.15"
+ "typo3/cms-core": "12.4.17"
},
"conflict": {
"typo3/cms": "*"
@@ -6626,24 +6974,24 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
},
{
"name": "typo3/cms-tstemplate",
- "version": "v12.4.15",
+ "version": "v12.4.17",
"source": {
"type": "git",
"url": "https://github.com/TYPO3-CMS/tstemplate.git",
- "reference": "eedf181377af2e2660634477d2749591b82a3ed2"
+ "reference": "c59da4082ba495ecf9ca04758e1af4dcc8d7d438"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/TYPO3-CMS/tstemplate/zipball/eedf181377af2e2660634477d2749591b82a3ed2",
- "reference": "eedf181377af2e2660634477d2749591b82a3ed2",
+ "url": "https://api.github.com/repos/TYPO3-CMS/tstemplate/zipball/c59da4082ba495ecf9ca04758e1af4dcc8d7d438",
+ "reference": "c59da4082ba495ecf9ca04758e1af4dcc8d7d438",
"shasum": ""
},
"require": {
- "typo3/cms-core": "12.4.15"
+ "typo3/cms-core": "12.4.17"
},
"conflict": {
"typo3/cms": "*"
@@ -6684,7 +7032,7 @@
"issues": "https://forge.typo3.org",
"source": "https://github.com/typo3/typo3"
},
- "time": "2024-05-14T08:24:50+00:00"
+ "time": "2024-07-09T07:19:07+00:00"
}
],
"aliases": [],
diff --git a/ext_localconf.php b/ext_localconf.php
index 5152133..22ecab0 100644
--- a/ext_localconf.php
+++ b/ext_localconf.php
@@ -8,7 +8,7 @@
defined('TYPO3') or die;
-(function () {
+(function (): void {
/* @var $iconRegistry \TYPO3\CMS\Core\Imaging\IconRegistry */
$iconRegistry = GeneralUtility::makeInstance(IconRegistry::class);
@@ -18,47 +18,17 @@
['source' => 'EXT:rmnd_headless/Resources/Public/Icons/content-footer.svg']
);
- $GLOBALS
- ['TYPO3_CONF_VARS']
- ['SYS']
- ['features']
- ['headless.elementBodyResponse'] = true;
+ $GLOBALS['TYPO3_CONF_VARS']['SYS']['features']['headless.elementBodyResponse'] = true;
- $GLOBALS
- ['TYPO3_CONF_VARS']
- ['SYS']
- ['features']
- ['headless.frontendUrls'] = true;
+ $GLOBALS['TYPO3_CONF_VARS']['SYS']['features']['headless.frontendUrls'] = true;
- $GLOBALS
- ['TYPO3_CONF_VARS']
- ['SYS']
- ['locallangXMLOverride']
- ['EXT:headless/Resources/Private/Language/locallang.xlf']
- [] = 'EXT:rmnd_headless/Resources/Private/Language/Overrides/locallang_headless.xlf';
+ $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:headless/Resources/Private/Language/locallang.xlf'][] = 'EXT:rmnd_headless/Resources/Private/Language/Overrides/locallang_headless.xlf';
- $GLOBALS
- ['TYPO3_CONF_VARS']
- ['SYS']
- ['locallangXMLOverride']
- ['de']
- ['EXT:headless/Resources/Private/Language/de.locallang.xlf']
- [] = 'EXT:rmnd_headless/Resources/Private/Language/Overrides/de.locallang_headless.xlf';
+ $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['de']['EXT:headless/Resources/Private/Language/de.locallang.xlf'][] = 'EXT:rmnd_headless/Resources/Private/Language/Overrides/de.locallang_headless.xlf';
- $GLOBALS
- ['TYPO3_CONF_VARS']
- ['SYS']
- ['locallangXMLOverride']
- ['EXT:felogin/Resources/Private/Language/locallang.xlf']
- [] = 'EXT:rmnd_headless/Resources/Private/Language/Overrides/locallang_felogin.xlf';
+ $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:felogin/Resources/Private/Language/locallang.xlf'][] = 'EXT:rmnd_headless/Resources/Private/Language/Overrides/locallang_felogin.xlf';
- $GLOBALS
- ['TYPO3_CONF_VARS']
- ['SYS']
- ['locallangXMLOverride']
- ['de']
- ['EXT:felogin/Resources/Private/Language/de.locallang.xlf']
- [] = 'EXT:rmnd_headless/Resources/Private/Language/Overrides/de.locallang_felogin.xlf';
+ $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['de']['EXT:felogin/Resources/Private/Language/de.locallang.xlf'][] = 'EXT:rmnd_headless/Resources/Private/Language/Overrides/de.locallang_felogin.xlf';
$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['default'] = 'EXT:rmnd_headless/Configuration/RTE/Default.yaml';
})();
diff --git a/phpcs.xml b/phpcs.xml
new file mode 100644
index 0000000..805ea01
--- /dev/null
+++ b/phpcs.xml
@@ -0,0 +1,6 @@
+
+
+ public/*
+ vendor/*
+
+
\ No newline at end of file
diff --git a/phpstan.neon b/phpstan.neon
new file mode 100644
index 0000000..24295ba
--- /dev/null
+++ b/phpstan.neon
@@ -0,0 +1,7 @@
+parameters:
+ level: 8
+ paths:
+ - .
+ excludePaths:
+ - public
+ - vendor