‪TYPO3CMS  9.5
FileBrowser.php
Go to the documentation of this file.
1 <?php
3 
4 /*
5  * This file is part of the TYPO3 CMS project.
6  *
7  * It is free software; you can redistribute it and/or modify it under
8  * the terms of the GNU General Public License, either version 2
9  * of the License, or any later version.
10  *
11  * For the full copyright and license information, please read the
12  * LICENSE.txt file that was distributed with this source code.
13  *
14  * The TYPO3 project - inspiring people to share!
15  */
16 
34 
40 {
49  protected ‪$expandFolder;
50 
54  protected ‪$selectedFolder;
55 
61  protected ‪$elements = [];
62 
66  protected ‪$searchWord;
67 
71  protected ‪$fileRepository;
72 
76  protected ‪$thumbnailConfiguration = [];
77 
81  protected function ‪initialize()
82  {
83  parent::initialize();
84  $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Recordlist/BrowseFiles');
85  $this->fileRepository = GeneralUtility::makeInstance(FileRepository::class);
86 
87  $thumbnailConfig = $this->‪getBackendUser()->‪getTSConfig()['options.']['file_list.']['thumbnail.'] ?? [];
88  if (isset($thumbnailConfig['width']) && ‪MathUtility::canBeInterpretedAsInteger($thumbnailConfig['width'])) {
89  $this->thumbnailConfiguration['width'] = (int)$thumbnailConfig['width'];
90  }
91  if (isset($thumbnailConfig['height']) && ‪MathUtility::canBeInterpretedAsInteger($thumbnailConfig['height'])) {
92  $this->thumbnailConfiguration['height'] = (int)$thumbnailConfig['height'];
93  }
94  }
95 
99  protected function ‪initVariables()
100  {
101  parent::initVariables();
102  $this->expandFolder = GeneralUtility::_GP('expandFolder');
103  $this->searchWord = (string)GeneralUtility::_GP('searchWord');
104  }
105 
112  public function ‪processSessionData($data)
113  {
114  if ($this->expandFolder !== null) {
115  $data['expandFolder'] = ‪$this->expandFolder;
116  $store = true;
117  } else {
118  $this->expandFolder = $data['expandFolder'];
119  $store = false;
120  }
121  return [$data, $store];
122  }
123 
127  public function ‪render()
128  {
129  $backendUser = $this->‪getBackendUser();
130 
131  // The key number 3 of the bparams contains the "allowed" string. Disallowed is not passed to
132  // the element browser at all but only filtered out in DataHandler afterwards
133  $allowedFileExtensions = GeneralUtility::trimExplode(',', explode('|', $this->bparams)[3], true);
134  if (!empty($allowedFileExtensions) && $allowedFileExtensions[0] !== 'sys_file' && $allowedFileExtensions[0] !== '*') {
135  // Create new filter object
136  $filterObject = GeneralUtility::makeInstance(FileExtensionFilter::class);
137  $filterObject->setAllowedFileExtensions($allowedFileExtensions);
138  // Set file extension filters on all storages
139  $storages = $backendUser->getFileStorages();
141  foreach ($storages as $storage) {
142  $storage->addFileAndFolderNameFilter([$filterObject, 'filterFileList']);
143  }
144  }
145  if ($this->expandFolder) {
146  $fileOrFolderObject = null;
147 
148  // Try to fetch the folder the user had open the last time he browsed files
149  // Fallback to the default folder in case the last used folder is not existing
150  try {
151  $fileOrFolderObject = ‪ResourceFactory::getInstance()->‪retrieveFileOrFolderObject($this->expandFolder);
152  } catch (Exception $accessException) {
153  // We're just catching the exception here, nothing to be done if folder does not exist or is not accessible.
154  } catch (\InvalidArgumentException $driverMissingExecption) {
155  // We're just catching the exception here, nothing to be done if the driver does not exist anymore.
156  }
157 
158  if ($fileOrFolderObject instanceof Folder) {
159  // It's a folder
160  $this->selectedFolder = $fileOrFolderObject;
161  } elseif ($fileOrFolderObject instanceof FileInterface) {
162  // It's a file
163  $this->selectedFolder = $fileOrFolderObject->‪getParentFolder();
164  }
165  }
166  // Or get the user's default upload folder
167  if (!$this->selectedFolder) {
168  try {
169  [, $pid, $table,, $field] = explode('-', explode('|', $this->bparams)[4]);
170  $this->selectedFolder = $backendUser->getDefaultUploadFolder($pid, $table, $field);
171  } catch (\Exception $e) {
172  // The configured default user folder does not exist
173  }
174  }
175  // Build the file upload and folder creation form
176  $uploadForm = '';
177  $createFolder = '';
178  if ($this->selectedFolder) {
179  $folderUtilityRenderer = GeneralUtility::makeInstance(FolderUtilityRenderer::class, $this);
180  $uploadForm = $folderUtilityRenderer->uploadForm($this->selectedFolder, $allowedFileExtensions);
181  $createFolder = $folderUtilityRenderer->createFolder($this->selectedFolder);
182  }
183 
184  // Getting flag for showing/not showing thumbnails:
185  $noThumbs = $backendUser->getTSConfig()['options.']['noThumbsInEB'] ?? false;
186  $_MOD_SETTINGS = [];
187  if (!$noThumbs) {
188  // MENU-ITEMS, fetching the setting for thumbnails from File>List module:
189  $_MOD_MENU = ['displayThumbs' => ''];
190  $_MCONF['name'] = 'file_list';
191  $_MOD_SETTINGS = ‪BackendUtility::getModuleData($_MOD_MENU, GeneralUtility::_GP('SET'), $_MCONF['name']);
192  }
193  $displayThumbs = $_MOD_SETTINGS['displayThumbs'] ?? false;
194  $noThumbs = $noThumbs ?: !$displayThumbs;
195  // Create folder tree:
197  $folderTree = GeneralUtility::makeInstance(ElementBrowserFolderTreeView::class);
198  $folderTree->setLinkParameterProvider($this);
199  $tree = $folderTree->getBrowsableTree();
200  if ($this->selectedFolder) {
201  $files = $this->‪renderFilesInFolder($this->selectedFolder, $allowedFileExtensions, $noThumbs);
202  } else {
203  $files = '';
204  }
205 
206  $this->‪initDocumentTemplate();
207  // Starting content:
208  $content = $this->doc->startPage(htmlspecialchars($this->‪getLanguageService()->getLL('fileSelector')));
209 
210  // Putting the parts together, side by side:
211  $markup = [];
212  $markup[] = '<!-- Wrapper table for folder tree / filelist: -->';
213  $markup[] = '<div class="element-browser">';
214  $markup[] = ' <div class="element-browser-panel element-browser-main">';
215  $markup[] = ' <div class="element-browser-main-sidebar">';
216  $markup[] = ' <div class="element-browser-body">';
217  $markup[] = ' ' . $tree;
218  $markup[] = ' </div>';
219  $markup[] = ' </div>';
220  $markup[] = ' <div class="element-browser-main-content">';
221  $markup[] = ' <div class="element-browser-body">';
222  $markup[] = ' ' . $this->doc->getFlashMessages();
223  $markup[] = ' ' . $files;
224  $markup[] = ' ' . $uploadForm;
225  $markup[] = ' ' . $createFolder;
226  $markup[] = ' </div>';
227  $markup[] = ' </div>';
228  $markup[] = ' </div>';
229  $markup[] = '</div>';
230  $content .= implode('', $markup);
231 
232  // Ending page, returning content:
233  $content .= $this->doc->endPage();
234  return $this->doc->insertStylesAndJS($content);
235  }
236 
245  public function ‪renderFilesInFolder(Folder $folder, array $extensionList = [], $noThumbs = false)
246  {
247  if (!$folder->checkActionPermission('read')) {
248  return '';
249  }
250  $lang = $this->‪getLanguageService();
251  $titleLen = (int)$this->‪getBackendUser()->uc['titleLen'];
252 
253  if ($this->searchWord !== '') {
254  $searchDemand = ‪FileSearchDemand::createForSearchTerm($this->searchWord)->withRecursive();
255  $files = $folder->searchFiles($searchDemand);
256  } else {
257  $extensionList = !empty($extensionList) && $extensionList[0] === '*' ? [] : $extensionList;
258  $files = $this->‪getFilesInFolder($folder, $extensionList);
259  }
260  $filesCount = count($files);
261 
262  $lines = [];
263 
264  // Create the header of current folder:
265  $folderIcon = $this->iconFactory->getIconForResource($folder, ‪Icon::SIZE_SMALL);
266 
267  $lines[] = '
268  <tr>
269  <th class="col-title nowrap">' . $folderIcon . ' ' . htmlspecialchars(GeneralUtility::fixed_lgd_cs($folder->getStorage()->getName() . ':' . $folder->getReadablePath(), $titleLen)) . '</th>
270  <th class="col-control nowrap"></th>
271  <th class="col-clipboard nowrap">
272  <a href="#" class="btn btn-default" id="t3js-importSelection" title="' . htmlspecialchars($lang->getLL('importSelection')) . '">' . $this->iconFactory->getIcon('actions-document-import-t3d', ‪Icon::SIZE_SMALL) . '</a>
273  <a href="#" class="btn btn-default" id="t3js-toggleSelection" title="' . htmlspecialchars($lang->getLL('toggleSelection')) . '">' . $this->iconFactory->getIcon('actions-document-select', ‪Icon::SIZE_SMALL) . '</a>
274  </th>
275  <th class="nowrap">&nbsp;</th>
276  </tr>';
277 
278  if ($filesCount === 0) {
279  $lines[] = '
280  <tr>
281  <td colspan="4">No files found.</td>
282  </tr>';
283  }
284 
285  foreach ($files as $fileObject) {
286  $fileExtension = $fileObject->getExtension();
287  // Thumbnail/size generation:
288  $imgInfo = [];
289  if (!$noThumbs && GeneralUtility::inList(strtolower(‪$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'] . ',' . ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['mediafile_ext']), strtolower($fileExtension))) {
290  $processedFile = $fileObject->process(
292  $this->thumbnailConfiguration
293  );
294  $imageUrl = $processedFile->getPublicUrl(true);
295  $imgInfo = [
296  $fileObject->getProperty('width'),
297  $fileObject->getProperty('height')
298  ];
299  $pDim = $imgInfo[0] . 'x' . $imgInfo[1] . ' pixels';
300  $clickIcon = '<img src="' . $imageUrl . '"'
301  . ' width="' . $processedFile->getProperty('width') . '"'
302  . ' height="' . $processedFile->getProperty('height') . '"'
303  . ' hspace="5" vspace="5" border="1" />';
304  } else {
305  $clickIcon = '';
306  $pDim = '';
307  }
308  // Create file icon:
309  $size = ' (' . GeneralUtility::formatSize($fileObject->getSize(), $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:byteSizeUnits')) . ($pDim ? ', ' . $pDim : '') . ')';
310  $icon = '<span title="id=' . htmlspecialchars($fileObject->getUid()) . '">' . $this->iconFactory->getIconForResource($fileObject, ‪Icon::SIZE_SMALL) . '</span>';
311  // Create links for adding the file:
312  $filesIndex = count($this->elements);
313  $this->elements['file_' . $filesIndex] = [
314  'type' => 'file',
315  'table' => 'sys_file',
316  'uid' => $fileObject->getUid(),
317  'fileName' => $fileObject->getName(),
318  'filePath' => $fileObject->getUid(),
319  'fileExt' => $fileExtension,
320  'fileIcon' => $icon
321  ];
322  if ($this->‪fileIsSelectableInFileList($fileObject, $imgInfo)) {
323  $ATag = '<a href="#" class="btn btn-default" title="' . htmlspecialchars($fileObject->getName()) . '" data-file-index="' . htmlspecialchars($filesIndex) . '" data-close="0">';
324  $ATag .= '<span title="' . htmlspecialchars($lang->getLL('addToList')) . '">' . $this->iconFactory->getIcon('actions-add', ‪Icon::SIZE_SMALL)->render() . '</span>';
325  $ATag_alt = '<a href="#" title="' . htmlspecialchars($fileObject->getName()) . $size . '" data-file-index="' . htmlspecialchars($filesIndex) . '" data-close="1">';
326  $ATag_e = '</a>';
327  $bulkCheckBox = '<label class="btn btn-default btn-checkbox"><input type="checkbox" class="typo3-bulk-item" name="file_' . $filesIndex . '" value="0" /><span class="t3-icon fa"></span></label>';
328  } else {
329  $ATag = '';
330  $ATag_alt = '';
331  $ATag_e = '';
332  $bulkCheckBox = '';
333  }
335  $uriBuilder = GeneralUtility::makeInstance(\‪TYPO3\CMS\Backend\Routing\UriBuilder::class);
336  // Create link to showing details about the file in a window:
337  $Ahref = (string)$uriBuilder->buildUriFromRoute('show_item', [
338  'type' => 'file',
339  'table' => '_FILE',
340  'uid' => $fileObject->getCombinedIdentifier(),
341  'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
342  ]);
343 
344  // Combine the stuff:
345  $filenameAndIcon = $ATag_alt . $icon . htmlspecialchars(GeneralUtility::fixed_lgd_cs($fileObject->getName(), $titleLen)) . $ATag_e;
346  // Show element:
347  $lines[] = '
348  <tr class="file_list_normal">
349  <td class="col-title nowrap">' . $filenameAndIcon . '&nbsp;</td>
350  <td class="col-control">
351  <div class="btn-group">' . $ATag . $ATag_e . '
352  <a href="' . htmlspecialchars($Ahref) . '" class="btn btn-default" title="' . htmlspecialchars($lang->getLL('info')) . '">' . $this->iconFactory->getIcon('actions-document-info', ‪Icon::SIZE_SMALL) . '</a>
353  </td>
354  <td class="col-clipboard" valign="top">' . $bulkCheckBox . '</td>
355  <td class="nowrap">&nbsp;' . $pDim . '</td>
356  </tr>';
357  if ($pDim) {
358  $lines[] = '
359  <tr>
360  <td class="filelistThumbnail" colspan="4">' . $ATag_alt . $clickIcon . $ATag_e . '</td>
361  </tr>';
362  }
363  }
364 
365  $markup = [];
366  $markup[] = '<h3>' . htmlspecialchars($lang->getLL('files')) . ' ' . $filesCount . ':</h3>';
367  $markup[] = GeneralUtility::makeInstance(FolderUtilityRenderer::class, $this)->getFileSearchField($this->searchWord);
368  $markup[] = '<div id="filelist">';
369  $markup[] = ' ' . $this->‪getBulkSelector($filesCount);
370  $markup[] = ' <!-- Filelisting -->';
371  $markup[] = ' <div class="table-fit">';
372  $markup[] = ' <table class="table table-striped table-hover" id="typo3-filelist">';
373  $markup[] = ' ' . implode('', $lines);
374  $markup[] = ' </table>';
375  $markup[] = ' </div>';
376  $markup[] = ' </div>';
377  $content = implode('', $markup);
378 
379  return $content;
380  }
381 
389  protected function ‪getFilesInFolder(Folder $folder, array $extensionList)
390  {
391  if (!empty($extensionList)) {
393  $filter = GeneralUtility::makeInstance(FileExtensionFilter::class);
394  $filter->setAllowedFileExtensions($extensionList);
395  $folder->setFileAndFolderNameFilters([[$filter, 'filterFileList']]);
396  }
397  return $folder->getFiles();
398  }
399 
406  protected function ‪getBulkSelector($filesCount)
407  {
408  if (!$filesCount) {
409  return '';
410  }
411 
412  $lang = $this->‪getLanguageService();
413  $out = '';
414 
415  // Getting flag for showing/not showing thumbnails:
416  $noThumbsInEB = $this->‪getBackendUser()->‪getTSConfig()['options.']['noThumbsInEB'] ?? false;
417  if (!$noThumbsInEB && $this->selectedFolder) {
418  // MENU-ITEMS, fetching the setting for thumbnails from File>List module:
419  $_MOD_MENU = ['displayThumbs' => ''];
420  $_MCONF['name'] = 'file_list';
421  $_MOD_SETTINGS = ‪BackendUtility::getModuleData($_MOD_MENU, GeneralUtility::_GP('SET'), $_MCONF['name']);
422  $addParams = ‪HttpUtility::buildQueryString($this->‪getUrlParameters(['identifier' => $this->selectedFolder->getCombinedIdentifier()]), '&');
423  $thumbNailCheck = '<div class="checkbox" style="padding:5px 0 15px 0"><label for="checkDisplayThumbs">'
425  '',
426  'SET[displayThumbs]',
427  $_MOD_SETTINGS['displayThumbs'],
428  $this->thisScript,
429  $addParams,
430  'id="checkDisplayThumbs"'
431  )
432  . htmlspecialchars($lang->sL('LLL:EXT:filelist/Resources/Private/Language/locallang_mod_file_list.xlf:displayThumbs')) . '</label></div>';
433  $out .= $thumbNailCheck;
434  } else {
435  $out .= '<div style="padding-top: 15px;"></div>';
436  }
437  return $out;
438  }
439 
449  protected function ‪fileIsSelectableInFileList(FileInterface $file, array $imgInfo)
450  {
451  return true;
452  }
453 
457  protected function ‪getBodyTagAttributes()
458  {
459  return [
460  'data-mode' => 'file',
461  'data-elements' => json_encode($this->elements)
462  ];
463  }
464 
469  public function ‪getUrlParameters(array $values)
470  {
471  return [
472  'mode' => 'file',
473  'expandFolder' => $values['identifier'] ?? ‪$this->expandFolder,
474  'bparams' => ‪$this->bparams
475  ];
476  }
477 
482  public function ‪isCurrentlySelectedItem(array $values)
483  {
484  return false;
485  }
486 
492  public function ‪getScriptUrl()
493  {
494  return ‪$this->thisScript;
495  }
496 }
‪TYPO3\CMS\Core\Imaging\Icon\SIZE_SMALL
‪const SIZE_SMALL
Definition: Icon.php:29
‪TYPO3\CMS\Core\Resource\ProcessedFile\CONTEXT_IMAGEPREVIEW
‪const CONTEXT_IMAGEPREVIEW
Definition: ProcessedFile.php:50
‪TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger
‪static bool canBeInterpretedAsInteger($var)
Definition: MathUtility.php:73
‪TYPO3\CMS\Core\Resource\FileInterface
Definition: FileInterface.php:21
‪TYPO3\CMS\Recordlist\Browser\ElementBrowserInterface
Definition: ElementBrowserInterface.php:18
‪TYPO3\CMS\Recordlist\Browser\FileBrowser
Definition: FileBrowser.php:40
‪TYPO3\CMS\Core\Imaging\Icon
Definition: Icon.php:25
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\$thisScript
‪string $thisScript
Definition: AbstractElementBrowser.php:45
‪TYPO3
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\getBackendUser
‪BackendUserAuthentication getBackendUser()
Definition: AbstractElementBrowser.php:174
‪TYPO3\CMS\Backend\Tree\View\ElementBrowserFolderTreeView
Definition: ElementBrowserFolderTreeView.php:31
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication\getTSConfig
‪array getTSConfig($objectString=null, $config=null)
Definition: BackendUserAuthentication.php:1232
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\isCurrentlySelectedItem
‪bool isCurrentlySelectedItem(array $values)
Definition: FileBrowser.php:476
‪TYPO3\CMS\Core\Resource\ResourceFactory\getInstance
‪static ResourceFactory getInstance()
Definition: ResourceFactory.php:39
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$fileRepository
‪FileRepository $fileRepository
Definition: FileBrowser.php:66
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getBodyTagAttributes
‪string[] getBodyTagAttributes()
Definition: FileBrowser.php:451
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\fileIsSelectableInFileList
‪bool fileIsSelectableInFileList(FileInterface $file, array $imgInfo)
Definition: FileBrowser.php:443
‪TYPO3\CMS\Core\Resource\Folder\getStorage
‪ResourceStorage getStorage()
Definition: Folder.php:146
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$selectedFolder
‪Folder $selectedFolder
Definition: FileBrowser.php:52
‪TYPO3\CMS\Core\Resource\FileRepository
Definition: FileRepository.php:32
‪TYPO3\CMS\Core\Resource\Search\FileSearchDemand
Definition: FileSearchDemand.php:24
‪TYPO3\CMS\Core\Resource\Folder
Definition: Folder.php:34
‪TYPO3\CMS\Core\Resource\ResourceFactory
Definition: ResourceFactory.php:33
‪TYPO3\CMS\Core\Utility\HttpUtility\buildQueryString
‪static string buildQueryString(array $parameters, string $prependCharacter='', bool $skipEmptyParameters=false)
Definition: HttpUtility.php:160
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser
Definition: AbstractElementBrowser.php:32
‪TYPO3\CMS\Core\Resource\File
Definition: File.php:23
‪TYPO3\CMS\Backend\Utility\BackendUtility\getModuleData
‪static array getModuleData( $MOD_MENU, $CHANGED_SETTINGS, $modName, $type='', $dontValidateList='', $setDefaultList='')
Definition: BackendUtility.php:3259
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\initVariables
‪initVariables()
Definition: FileBrowser.php:93
‪TYPO3\CMS\Backend\Utility\BackendUtility\getFuncCheck
‪static string getFuncCheck( $mainParams, $elementName, $currentValue, $script='', $addParams='', $tagParams='')
Definition: BackendUtility.php:3054
‪TYPO3\CMS\Core\Resource\Folder\checkActionPermission
‪bool checkActionPermission($action)
Definition: Folder.php:420
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getUrlParameters
‪string[] getUrlParameters(array $values)
Definition: FileBrowser.php:463
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\initDocumentTemplate
‪initDocumentTemplate()
Definition: AbstractElementBrowser.php:121
‪TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter
Definition: FileExtensionFilter.php:28
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\render
‪string render()
Definition: FileBrowser.php:121
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$elements
‪mixed[][] $elements
Definition: FileBrowser.php:58
‪TYPO3\CMS\Core\Resource\Folder\getFiles
‪TYPO3 CMS Core Resource File[] getFiles($start=0, $numberOfItems=0, $filterMode=self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS, $recursive=false, $sort='', $sortRev=false)
Definition: Folder.php:215
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$thumbnailConfiguration
‪array $thumbnailConfiguration
Definition: FileBrowser.php:70
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\getLanguageService
‪LanguageService getLanguageService()
Definition: AbstractElementBrowser.php:166
‪TYPO3\CMS\Backend\Utility\BackendUtility
Definition: BackendUtility.php:72
‪TYPO3\CMS\Core\Resource\AbstractFile\getParentFolder
‪FolderInterface getParentFolder()
Definition: AbstractFile.php:573
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$expandFolder
‪string null $expandFolder
Definition: FileBrowser.php:48
‪TYPO3\CMS\Core\Resource\ProcessedFile
Definition: ProcessedFile.php:42
‪TYPO3\CMS\Core\Resource\Exception
Definition: Exception.php:21
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\processSessionData
‪array[] processSessionData($data)
Definition: FileBrowser.php:106
‪TYPO3\CMS\Core\Resource\Folder\getReadablePath
‪string getReadablePath($rootId=null)
Definition: Folder.php:103
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\initialize
‪initialize()
Definition: FileBrowser.php:75
‪TYPO3\CMS\Core\Resource\Folder\setFileAndFolderNameFilters
‪setFileAndFolderNameFilters(array $filters)
Definition: Folder.php:509
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Core\Utility\MathUtility
Definition: MathUtility.php:21
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\renderFilesInFolder
‪string renderFilesInFolder(Folder $folder, array $extensionList=[], $noThumbs=false)
Definition: FileBrowser.php:239
‪TYPO3\CMS\Recordlist\View\FolderUtilityRenderer
Definition: FolderUtilityRenderer.php:31
‪TYPO3\CMS\Core\Utility\HttpUtility
Definition: HttpUtility.php:21
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\$bparams
‪string $bparams
Definition: AbstractElementBrowser.php:71
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getBulkSelector
‪string getBulkSelector($filesCount)
Definition: FileBrowser.php:400
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getScriptUrl
‪string getScriptUrl()
Definition: FileBrowser.php:486
‪TYPO3\CMS\Core\Resource\Folder\searchFiles
‪FileSearchResultInterface searchFiles(FileSearchDemand $searchDemand, int $filterMode=self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS)
Definition: Folder.php:240
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:45
‪TYPO3\CMS\Core\Resource\Search\FileSearchDemand\createForSearchTerm
‪static createForSearchTerm(string $searchTerm)
Definition: FileSearchDemand.php:68
‪TYPO3\CMS\Core\Resource\Exception
Definition: AbstractFileOperationException.php:2
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getFilesInFolder
‪File[] getFilesInFolder(Folder $folder, array $extensionList)
Definition: FileBrowser.php:383
‪TYPO3\CMS\Core\Resource\ResourceFactory\retrieveFileOrFolderObject
‪File Folder null retrieveFileOrFolderObject($input)
Definition: ResourceFactory.php:491
‪TYPO3\CMS\Recordlist\Browser
Definition: AbstractElementBrowser.php:2
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$searchWord
‪string $searchWord
Definition: FileBrowser.php:62
‪TYPO3\CMS\Core\Resource\ResourceStorage\getName
‪string getName()
Definition: ResourceStorage.php:261