43 $allowedStorageIds = array_map(
45 return $storage->getUid();
50 $storageUid = (int)$PA[
'row'][
'base'][0];
53 $storageUid = (int)$PA[
'row'][
'storage'][0];
55 if ($storageUid > 0 && in_array($storageUid, $allowedStorageIds,
true)) {
57 $storageRepository = GeneralUtility::makeInstance(StorageRepository::class);
59 $storage = $storageRepository->findByUid($storageUid);
60 if ($storage ===
null) {
62 $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class);
63 $queue = $flashMessageService->getMessageQueueByIdentifier();
65 if (empty($PA[
'items'])) {
67 $PA[
'row'][$PA[
'field']],
68 $PA[
'row'][$PA[
'field']]
71 } elseif ($storage->isBrowsable()) {
72 $rootLevelFolders = [];
74 $fileMounts = $storage->getFileMounts();
75 if (!empty($fileMounts)) {
76 foreach ($fileMounts as $fileMountInfo) {
77 $rootLevelFolders[] = $fileMountInfo[
'folder'];
80 $rootLevelFolders[] = $storage->getRootLevelFolder();
83 foreach ($rootLevelFolders as $rootLevelFolder) {
85 foreach ($folderItems as $item) {
87 $item->getIdentifier(),
88 $item->getIdentifier()
94 $flashMessageService = GeneralUtility::makeInstance(FlashMessageService::class);
95 $queue = $flashMessageService->getMessageQueueByIdentifier();
97 if (empty($PA[
'items'])) {
99 $PA[
'row'][$PA[
'field']],
100 $PA[
'row'][$PA[
'field']]
105 $PA[
'items'][] = [
'',
'Please choose a FAL mount from above first.'];
124 $allFolderItems = [$parentFolder];
126 foreach ($subFolders as $subFolder) {
130 $subFolderItems = [];
132 $allFolderItems = array_merge($allFolderItems, $subFolderItems);
134 return $allFolderItems;