checkIf($processorConfiguration['if.'])) { return $processedData; } // gather data $fileCollector = GeneralUtility::makeInstance(FileCollector::class); // references / relations if ( (isset($processorConfiguration['references']) && $processorConfiguration['references']) || (isset($processorConfiguration['references.']) && $processorConfiguration['references.']) ) { $referencesUidList = (string)$cObj->stdWrapValue('references', $processorConfiguration); $referencesUids = GeneralUtility::intExplode(',', $referencesUidList, true); $fileCollector->addFileReferences($referencesUids); if (!empty($processorConfiguration['references.'])) { $referenceConfiguration = $processorConfiguration['references.']; $relationField = $cObj->stdWrapValue('fieldName', $referenceConfiguration); // If no reference fieldName is set, there's nothing to do if (!empty($relationField)) { // Fetch the references of the default element $relationTable = $cObj->stdWrapValue('table', $referenceConfiguration, $cObj->getCurrentTable()); if (!empty($relationTable)) { $fileCollector->addFilesFromRelation($relationTable, $relationField, $cObj->data); } } } } // files $files = $cObj->stdWrapValue('files', $processorConfiguration); if ($files) { $files = GeneralUtility::intExplode(',', (string)$files, true); $fileCollector->addFiles($files); } // collections $collections = $cObj->stdWrapValue('collections', $processorConfiguration); if (!empty($collections)) { $collections = GeneralUtility::intExplode(',', (string)$collections, true); $fileCollector->addFilesFromFileCollections($collections); } // folders $folders = $cObj->stdWrapValue('folders', $processorConfiguration); if (!empty($folders)) { $folders = GeneralUtility::trimExplode(',', (string)$folders, true); $fileCollector->addFilesFromFolders($folders, (bool)$cObj->stdWrapValue('recursive', $processorConfiguration['folders.'] ?? [], false)); } // make sure to sort the files $sortingProperty = $cObj->stdWrapValue('sorting', $processorConfiguration); if ($sortingProperty) { $sortingDirection = $cObj->stdWrapValue( 'direction', $processorConfiguration['sorting.'] ?? [], 'ascending' ); $fileCollector->sort($sortingProperty, $sortingDirection); } // set the files into a variable, default "files" $targetVariableName = $cObj->stdWrapValue('as', $processorConfiguration, 'files'); $processedData[$targetVariableName] = $fileCollector->getFiles(); return $processedData; } }