$fieldConfig) { if (empty($fieldConfig['config']['type']) || $fieldConfig['config']['type'] !== 'folder') { continue; } // Sanitize max items, set to 99999 if not defined $result['processedTca']['columns'][$fieldName]['config']['maxitems'] = MathUtility::forceIntegerInRange( $fieldConfig['config']['maxitems'] ?? 0, 0, 99999 ); if ($result['processedTca']['columns'][$fieldName]['config']['maxitems'] === 0) { $result['processedTca']['columns'][$fieldName]['config']['maxitems'] = 99999; } $databaseRowFieldContent = ''; if (!empty($result['databaseRow'][$fieldName])) { $databaseRowFieldContent = (string)$result['databaseRow'][$fieldName]; } $items = []; // Simple list of folders $folderList = GeneralUtility::trimExplode(',', $databaseRowFieldContent, true); foreach ($folderList as $folder) { if (empty($folder)) { continue; } try { $folderObject = $this->resourceFactory->retrieveFileOrFolderObject($folder); if ($folderObject instanceof Folder) { $items[] = [ 'folder' => $folder, ]; } } catch (ResourceDoesNotExistException|InsufficientFolderAccessPermissionsException) { continue; } } $result['databaseRow'][$fieldName] = $items; } return $result; } }