2 declare(strict_types = 1);
148 array $currentFormElement,
149 string $prototypeName,
152 $renderables = $currentFormElement[
'renderables'] ?? [];
153 $propertyCollectionElements = $currentFormElement[
'finishers'] ?? $currentFormElement[
'validators'] ?? [];
154 $propertyCollectionName = $currentFormElement[
'type'] ===
'Form' ?
'finishers' :
'validators';
155 unset($currentFormElement[
'renderables'], $currentFormElement[
'finishers'], $currentFormElement[
'validators']);
157 $validationDto = GeneralUtility::makeInstance(
158 ValidationDto::class,
160 $currentFormElement[
'type'],
161 $currentFormElement[
'identifier'],
163 $propertyCollectionName
173 foreach ($propertyCollectionElements as $propertyCollectionElement) {
174 $validationDto = $validationDto->withPropertyCollectionElementIdentifier(
175 $propertyCollectionElement[
'identifier']
178 if ($this->
getConfigurationService()->isPropertyCollectionElementIdentifierCreatableByFormEditor($validationDto)) {
180 $propertyCollectionElement,
186 $propertyCollectionElement,
195 foreach ($propertyCollectionElements as $propertyCollectionElement) {
197 $propertyCollectionElement,
204 foreach ($renderables as $renderable) {
235 $hmacContent[] = $propertyValue;
237 $expectedHash = GeneralUtility::hmac(serialize($hmacContent), $sessionToken);
238 return hash_equals($expectedHash, $hmacData[
'hmac']);
253 $hmac = $hmacData[
'hmac'] ??
null;
258 $hmacContent[] = $hmacData[
'value'] ??
'';
259 $expectedHash = GeneralUtility::hmac(serialize($hmacContent), $sessionToken);
261 if (!hash_equals($expectedHash, $hmac)) {
262 throw new PropertyException(
'Unauthorized modification of historical data. #1528538252', 1528538252);
275 array $currentElement,
279 GeneralUtility::makeInstance(ArrayProcessor::class, $currentElement)->forEach(
280 GeneralUtility::makeInstance(
281 ArrayProcessing::class,
282 'validateProperties',
283 '^(?!(_orig_.*|.*\._orig_.*)$).*',
284 GeneralUtility::makeInstance(
285 FormElementHmacDataValidator::class,
303 array $currentElement,
307 GeneralUtility::makeInstance(ArrayProcessor::class, $currentElement)->forEach(
308 GeneralUtility::makeInstance(
309 ArrayProcessing::class,
310 'validateProperties',
311 '^(?!(_orig_.*|.*\._orig_.*)$).*',
312 GeneralUtility::makeInstance(
313 PropertyCollectionElementHmacDataValidator::class,
334 array $currentElement,
338 GeneralUtility::makeInstance(ArrayProcessor::class, $currentElement)->forEach(
339 GeneralUtility::makeInstance(
340 ArrayProcessing::class,
341 'validateProperties',
342 '^(?!(_orig_.*|.*\._orig_.*|type|identifier)$).*',
343 GeneralUtility::makeInstance(
344 CreatableFormElementPropertiesValidator::class,
365 array $currentElement,
369 GeneralUtility::makeInstance(ArrayProcessor::class, $currentElement)->forEach(
370 GeneralUtility::makeInstance(
371 ArrayProcessing::class,
372 'validateProperties',
373 '^(?!(_orig_.*|.*\._orig_.*|identifier)$).*',
374 GeneralUtility::makeInstance(
375 CreatablePropertyCollectionElementPropertiesValidator::class,
400 return GeneralUtility::makeInstance(ObjectManager::class);