2 namespace TYPO3\CMS\Core\Resource\Service;
37 public function renderTceformsSelectDropdown(&$PA)
40 $storageUid = (int)$PA[
'row'][
'base'][0];
43 $storageUid = (int)$PA[
'row'][
'storage'];
45 if ($storageUid > 0) {
49 $storage = $storageRepository->findByUid($storageUid);
50 if ($storage === null) {
53 $queue = $flashMessageService->getMessageQueueByIdentifier();
55 if (empty($PA[
'items'])) {
56 $PA[
'items'][] = array(
57 $PA[
'row'][$PA[
'field']],
58 $PA[
'row'][$PA[
'field']]
61 }
elseif ($storage->isBrowsable()) {
62 $rootLevelFolders = array();
64 $fileMounts = $storage->getFileMounts();
65 if (!empty($fileMounts)) {
66 foreach ($fileMounts as $fileMountInfo) {
67 $rootLevelFolders[] = $fileMountInfo[
'folder'];
70 $rootLevelFolders[] = $storage->getRootLevelFolder();
73 foreach ($rootLevelFolders as $rootLevelFolder) {
75 foreach ($folderItems as $item) {
76 $PA[
'items'][] = array(
77 $item->getIdentifier(),
78 $item->getIdentifier()
85 $queue = $flashMessageService->getMessageQueueByIdentifier();
87 if (empty($PA[
'items'])) {
88 $PA[
'items'][] = array(
89 $PA[
'row'][$PA[
'field']],
90 $PA[
'row'][$PA[
'field']]
95 $PA[
'items'][] = array(
'',
'Please choose a FAL mount from above first.');
114 $allFolderItems = array($parentFolder);
115 $subFolders = $parentFolder->getSubfolders();
116 foreach ($subFolders as $subFolder) {
119 }
catch (\TYPO3\CMS\Core\Resource\
Exception\InsufficientFolderReadPermissionsException $e) {
120 $subFolderItems = array();
122 $allFolderItems = array_merge($allFolderItems, $subFolderItems);
124 return $allFolderItems;