‪TYPO3CMS  10.4
FileBrowser.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the TYPO3 CMS project.
5  *
6  * It is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License, either version 2
8  * of the License, or any later version.
9  *
10  * For the full copyright and license information, please read the
11  * LICENSE.txt file that was distributed with this source code.
12  *
13  * The TYPO3 project - inspiring people to share!
14  */
15 
17 
36 
42 {
51  protected ‪$expandFolder;
52 
56  protected ‪$selectedFolder;
57 
63  protected ‪$elements = [];
64 
68  protected ‪$searchWord;
69 
73  protected ‪$fileRepository;
74 
78  protected ‪$thumbnailConfiguration = [];
79 
83  protected function ‪initialize()
84  {
85  parent::initialize();
86  $this->pageRenderer->loadRequireJsModule('TYPO3/CMS/Recordlist/BrowseFiles');
87  $this->fileRepository = GeneralUtility::makeInstance(FileRepository::class);
88 
89  $thumbnailConfig = $this->‪getBackendUser()->‪getTSConfig()['options.']['file_list.']['thumbnail.'] ?? [];
90  if (isset($thumbnailConfig['width']) && ‪MathUtility::canBeInterpretedAsInteger($thumbnailConfig['width'])) {
91  $this->thumbnailConfiguration['width'] = (int)$thumbnailConfig['width'];
92  }
93  if (isset($thumbnailConfig['height']) && ‪MathUtility::canBeInterpretedAsInteger($thumbnailConfig['height'])) {
94  $this->thumbnailConfiguration['height'] = (int)$thumbnailConfig['height'];
95  }
96  }
97 
101  protected function ‪initVariables()
102  {
103  parent::initVariables();
104  $this->expandFolder = GeneralUtility::_GP('expandFolder');
105  $this->searchWord = (string)GeneralUtility::_GP('searchWord');
106  }
107 
114  public function ‪processSessionData($data)
115  {
116  if ($this->expandFolder !== null) {
117  $data['expandFolder'] = ‪$this->expandFolder;
118  $store = true;
119  } else {
120  $this->expandFolder = $data['expandFolder'];
121  $store = false;
122  }
123  return [$data, $store];
124  }
125 
129  public function ‪render()
130  {
131  $_MCONF = [];
132  $backendUser = $this->‪getBackendUser();
133 
134  // The key number 3 of the bparams contains the "allowed" string. Disallowed is not passed to
135  // the element browser at all but only filtered out in DataHandler afterwards
136  $allowedFileExtensions = ‪GeneralUtility::trimExplode(',', explode('|', $this->bparams)[3], true);
137  if (!empty($allowedFileExtensions) && $allowedFileExtensions[0] !== 'sys_file' && $allowedFileExtensions[0] !== '*') {
138  // Create new filter object
139  $filterObject = GeneralUtility::makeInstance(FileExtensionFilter::class);
140  $filterObject->setAllowedFileExtensions($allowedFileExtensions);
141  // Set file extension filters on all storages
142  $storages = $backendUser->getFileStorages();
144  foreach ($storages as $storage) {
145  $storage->addFileAndFolderNameFilter([$filterObject, 'filterFileList']);
146  }
147  }
148  if ($this->expandFolder) {
149  $fileOrFolderObject = null;
150 
151  // Try to fetch the folder the user had open the last time he browsed files
152  // Fallback to the default folder in case the last used folder is not existing
153  try {
154  $fileOrFolderObject = GeneralUtility::makeInstance(ResourceFactory::class)->retrieveFileOrFolderObject($this->expandFolder);
155  } catch (Exception $accessException) {
156  // We're just catching the exception here, nothing to be done if folder does not exist or is not accessible.
157  } catch (\InvalidArgumentException $driverMissingException) {
158  // We're just catching the exception here, nothing to be done if the driver does not exist anymore.
159  }
160 
161  if ($fileOrFolderObject instanceof Folder) {
162  // It's a folder
163  $this->selectedFolder = $fileOrFolderObject;
164  } elseif ($fileOrFolderObject instanceof FileInterface) {
165  // It's a file
166  $this->selectedFolder = $fileOrFolderObject->getParentFolder();
167  }
168  }
169  // Or get the user's default upload folder
170  if (!$this->selectedFolder) {
171  try {
172  [, $pid, $table,, $field] = explode('-', explode('|', $this->bparams)[4]);
173  $this->selectedFolder = $backendUser->getDefaultUploadFolder($pid, $table, $field);
174  } catch (\Exception $e) {
175  // The configured default user folder does not exist
176  }
177  }
178  // Build the file upload and folder creation form
179  $uploadForm = '';
180  $createFolder = '';
181  if ($this->selectedFolder) {
182  $folderUtilityRenderer = GeneralUtility::makeInstance(FolderUtilityRenderer::class, $this);
183  $uploadForm = $folderUtilityRenderer->uploadForm($this->selectedFolder, $allowedFileExtensions);
184  $createFolder = $folderUtilityRenderer->createFolder($this->selectedFolder);
185  }
186 
187  // Getting flag for showing/not showing thumbnails:
188  $noThumbs = $backendUser->getTSConfig()['options.']['noThumbsInEB'] ?? false;
189  $_MOD_SETTINGS = [];
190  if (!$noThumbs) {
191  // MENU-ITEMS, fetching the setting for thumbnails from File>List module:
192  $_MOD_MENU = ['displayThumbs' => ''];
193  $_MCONF['name'] = 'file_list';
194  $_MOD_SETTINGS = ‪BackendUtility::getModuleData($_MOD_MENU, GeneralUtility::_GP('SET'), $_MCONF['name']);
195  }
196  $displayThumbs = $_MOD_SETTINGS['displayThumbs'] ?? false;
197  $noThumbs = $noThumbs ?: !$displayThumbs;
198  $folderTree = GeneralUtility::makeInstance(ElementBrowserFolderTreeView::class);
199  $folderTree->setLinkParameterProvider($this);
200  $tree = $folderTree->getBrowsableTree();
201  if ($this->selectedFolder) {
202  $files = $this->‪renderFilesInFolder($this->selectedFolder, $allowedFileExtensions, $noThumbs);
203  } else {
204  $files = '';
205  }
206 
207  $this->‪setBodyTagParameters();
208  $this->moduleTemplate->setTitle($this->‪getLanguageService()->getLL('fileSelector'));
209  $view = $this->moduleTemplate->getView();
210  $view->assignMultiple([
211  'treeEnabled' => true,
212  'tree' => $tree,
213  'content' => $files . $uploadForm . $createFolder
214  ]);
215  return $this->moduleTemplate->renderContent();
216  }
217 
226  public function ‪renderFilesInFolder(Folder $folder, array $extensionList = [], $noThumbs = false)
227  {
228  if (!$folder->checkActionPermission('read')) {
229  return '';
230  }
231  $lang = $this->‪getLanguageService();
232  $titleLen = (int)$this->‪getBackendUser()->uc['titleLen'];
233 
234  if ($this->searchWord !== '') {
235  $searchDemand = ‪FileSearchDemand::createForSearchTerm($this->searchWord)->withRecursive();
236  $files = $folder->searchFiles($searchDemand);
237  } else {
238  $extensionList = !empty($extensionList) && $extensionList[0] === '*' ? [] : $extensionList;
239  $files = $this->‪getFilesInFolder($folder, $extensionList);
240  }
241  $filesCount = count($files);
242 
243  $lines = [];
244 
245  // Create the header of current folder:
246  $folderIcon = $this->iconFactory->getIconForResource($folder, ‪Icon::SIZE_SMALL);
247 
248  $lines[] = '
249  <tr>
250  <th class="col-title nowrap">' . $folderIcon . ' ' . htmlspecialchars(GeneralUtility::fixed_lgd_cs($folder->getStorage()->getName() . ':' . $folder->getReadablePath(), $titleLen)) . '</th>
251  <th class="col-control nowrap"></th>
252  <th class="col-clipboard nowrap">
253  <a href="#" class="btn btn-default disabled" id="t3js-importSelection" title="' . htmlspecialchars($lang->getLL('importSelection')) . '">' . $this->iconFactory->getIcon('actions-document-import-t3d', ‪Icon::SIZE_SMALL) . '</a>
254  <a href="#" class="btn btn-default" id="t3js-toggleSelection" title="' . htmlspecialchars($lang->getLL('toggleSelection')) . '">' . $this->iconFactory->getIcon('actions-document-select', ‪Icon::SIZE_SMALL) . '</a>
255  </th>
256  <th class="nowrap">&nbsp;</th>
257  </tr>';
258 
259  if ($filesCount === 0) {
260  $lines[] = '
261  <tr>
262  <td colspan="4">No files found.</td>
263  </tr>';
264  }
265 
266  foreach ($files as $fileObject) {
267  // Thumbnail/size generation:
268  $imgInfo = [];
269  if (!$noThumbs && ($fileObject->isMediaFile() || $fileObject->isImage())) {
270  $processedFile = $fileObject->process(
272  $this->thumbnailConfiguration
273  );
274  $imageUrl = $processedFile->getPublicUrl(true);
275  $imgInfo = [
276  $fileObject->getProperty('width'),
277  $fileObject->getProperty('height')
278  ];
279  $pDim = $imgInfo[0] . 'x' . $imgInfo[1] . ' pixels';
280  $clickIcon = '<img src="' . $imageUrl . '"'
281  . ' width="' . $processedFile->getProperty('width') . '"'
282  . ' height="' . $processedFile->getProperty('height') . '"'
283  . ' hspace="5" vspace="5" border="1" />';
284  } else {
285  $clickIcon = '';
286  $pDim = '';
287  }
288  // Create file icon:
289  $size = ' (' . GeneralUtility::formatSize($fileObject->getSize(), $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_common.xlf:byteSizeUnits')) . ($pDim ? ', ' . $pDim : '') . ')';
290  $icon = '<span title="id=' . htmlspecialchars($fileObject->getUid()) . '">' . $this->iconFactory->getIconForResource($fileObject, ‪Icon::SIZE_SMALL) . '</span>';
291  // Create links for adding the file:
292  $filesIndex = count($this->elements);
293  $this->elements['file_' . $filesIndex] = [
294  'type' => 'file',
295  'table' => 'sys_file',
296  'uid' => $fileObject->getUid(),
297  'fileName' => $fileObject->getName(),
298  'filePath' => $fileObject->getUid(),
299  'fileExt' => $fileObject->getExtension(),
300  'fileIcon' => $icon
301  ];
302  if ($this->‪fileIsSelectableInFileList($fileObject, $imgInfo)) {
303  $ATag = '<a href="#" class="btn btn-default" title="' . htmlspecialchars($fileObject->getName()) . '" data-file-index="' . $filesIndex . '" data-close="0">';
304  $ATag .= '<span title="' . htmlspecialchars($lang->getLL('addToList')) . '">' . $this->iconFactory->getIcon('actions-add', ‪Icon::SIZE_SMALL)->render() . '</span>';
305  $ATag_alt = '<a href="#" title="' . htmlspecialchars($fileObject->getName()) . $size . '" data-file-index="' . $filesIndex . '" data-close="1">';
306  $ATag_e = '</a>';
307  $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>';
308  } else {
309  $ATag = '';
310  $ATag_alt = '';
311  $ATag_e = '';
312  $bulkCheckBox = '';
313  }
315  $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class);
316  // Create link to showing details about the file in a window:
317  $Ahref = (string)$uriBuilder->buildUriFromRoute('show_item', [
318  'type' => 'file',
319  'table' => '_FILE',
320  'uid' => $fileObject->getCombinedIdentifier(),
321  'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI')
322  ]);
323 
324  // Combine the stuff:
325  $filenameAndIcon = $ATag_alt . $icon . htmlspecialchars(GeneralUtility::fixed_lgd_cs($fileObject->getName(), $titleLen)) . $ATag_e;
326  // Show element:
327  $lines[] = '
328  <tr class="file_list_normal">
329  <td class="col-title nowrap">' . $filenameAndIcon . '&nbsp;</td>
330  <td class="col-control">
331  <div class="btn-group">' . $ATag . $ATag_e . '
332  <a href="' . htmlspecialchars($Ahref) . '" class="btn btn-default" title="' . htmlspecialchars($lang->getLL('info')) . '">' . $this->iconFactory->getIcon('actions-document-info', ‪Icon::SIZE_SMALL) . '</a>
333  </td>
334  <td class="col-clipboard" valign="top">' . $bulkCheckBox . '</td>
335  <td class="nowrap">&nbsp;' . $pDim . '</td>
336  </tr>';
337  if ($pDim) {
338  $lines[] = '
339  <tr>
340  <td class="filelistThumbnail" colspan="4">' . $ATag_alt . $clickIcon . $ATag_e . '</td>
341  </tr>';
342  }
343  }
344 
345  $markup = [];
346  $markup[] = '<h3>' . htmlspecialchars($lang->getLL('files')) . ' ' . $filesCount . ':</h3>';
347  $markup[] = GeneralUtility::makeInstance(FolderUtilityRenderer::class, $this)->getFileSearchField($this->searchWord);
348  $markup[] = '<div id="filelist">';
349  $markup[] = ' ' . $this->‪getBulkSelector($filesCount);
350  $markup[] = ' <!-- Filelisting -->';
351  $markup[] = ' <div class="table-fit">';
352  $markup[] = ' <table class="table table-striped table-hover" id="typo3-filelist">';
353  $markup[] = ' ' . implode('', $lines);
354  $markup[] = ' </table>';
355  $markup[] = ' </div>';
356  $markup[] = ' </div>';
357  $content = implode('', $markup);
358 
359  return $content;
360  }
361 
369  protected function ‪getFilesInFolder(Folder $folder, array $extensionList)
370  {
371  if (!empty($extensionList)) {
373  $filter = GeneralUtility::makeInstance(FileExtensionFilter::class);
374  $filter->setAllowedFileExtensions($extensionList);
375  $folder->setFileAndFolderNameFilters([[$filter, 'filterFileList']]);
376  }
377  return $folder->getFiles();
378  }
379 
386  protected function ‪getBulkSelector($filesCount)
387  {
388  $_MCONF = [];
389  if (!$filesCount) {
390  return '';
391  }
392 
393  $lang = $this->‪getLanguageService();
394  $out = '';
395 
396  // Getting flag for showing/not showing thumbnails:
397  $noThumbsInEB = $this->‪getBackendUser()->‪getTSConfig()['options.']['noThumbsInEB'] ?? false;
398  if (!$noThumbsInEB && $this->selectedFolder) {
399  // MENU-ITEMS, fetching the setting for thumbnails from File>List module:
400  $_MOD_MENU = ['displayThumbs' => ''];
401  $_MCONF['name'] = 'file_list';
402  $_MOD_SETTINGS = ‪BackendUtility::getModuleData($_MOD_MENU, GeneralUtility::_GP('SET'), $_MCONF['name']);
403  $addParams = ‪HttpUtility::buildQueryString($this->‪getUrlParameters(['identifier' => $this->selectedFolder->getCombinedIdentifier()]), '&');
404  $thumbNailCheck = '<div class="checkbox" style="padding:5px 0 15px 0"><label for="checkDisplayThumbs">'
406  '',
407  'SET[displayThumbs]',
408  $_MOD_SETTINGS['displayThumbs'],
409  $this->‪thisScript,
410  $addParams,
411  'id="checkDisplayThumbs"'
412  )
413  . htmlspecialchars($lang->sL('LLL:EXT:recordlist/Resources/Private/Language/locallang_browse_links.xlf:displayThumbs')) . '</label></div>';
414  $out .= $thumbNailCheck;
415  } else {
416  $out .= '<div style="padding-top: 15px;"></div>';
417  }
418  return $out;
419  }
420 
430  protected function ‪fileIsSelectableInFileList(FileInterface $file, array $imgInfo)
431  {
432  return true;
433  }
434 
438  protected function ‪getBodyTagAttributes()
439  {
440  return [
441  'data-mode' => 'file',
442  'data-elements' => json_encode($this->elements)
443  ];
444  }
445 
450  public function ‪getUrlParameters(array $values)
451  {
452  return [
453  'mode' => 'file',
454  'expandFolder' => $values['identifier'] ?? ‪$this->expandFolder,
455  'bparams' => ‪$this->bparams
456  ];
457  }
458 
463  public function ‪isCurrentlySelectedItem(array $values)
464  {
465  return false;
466  }
467 
473  public function ‪getScriptUrl()
474  {
475  return ‪$this->thisScript;
476  }
477 }
‪TYPO3\CMS\Core\Imaging\Icon\SIZE_SMALL
‪const SIZE_SMALL
Definition: Icon.php:30
‪TYPO3\CMS\Core\Resource\ProcessedFile\CONTEXT_IMAGEPREVIEW
‪const CONTEXT_IMAGEPREVIEW
Definition: ProcessedFile.php:52
‪TYPO3\CMS\Core\Utility\MathUtility\canBeInterpretedAsInteger
‪static bool canBeInterpretedAsInteger($var)
Definition: MathUtility.php:74
‪TYPO3\CMS\Core\Resource\FileInterface
Definition: FileInterface.php:22
‪TYPO3\CMS\Recordlist\Browser\ElementBrowserInterface
Definition: ElementBrowserInterface.php:19
‪TYPO3\CMS\Recordlist\Browser\FileBrowser
Definition: FileBrowser.php:42
‪TYPO3\CMS\Core\Imaging\Icon
Definition: Icon.php:26
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\$thisScript
‪string $thisScript
Definition: AbstractElementBrowser.php:46
‪TYPO3\CMS\Core\Authentication\BackendUserAuthentication\getTSConfig
‪array getTSConfig()
Definition: BackendUserAuthentication.php:1217
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\getBackendUser
‪BackendUserAuthentication getBackendUser()
Definition: AbstractElementBrowser.php:165
‪TYPO3\CMS\Backend\Tree\View\ElementBrowserFolderTreeView
Definition: ElementBrowserFolderTreeView.php:31
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\thisScript
‪array< string, function getBodyTagAttributes();protected array< string, function getBParamDataAttributes() {[ $fieldRef, $rteParams, $rteConfig,, $irreObjectId]=explode('|', $this->bparams);return['data-this-script-url'=> strpos( $this->thisScript, '?')===false ? $this-> thisScript
Definition: AbstractElementBrowser.php:144
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\isCurrentlySelectedItem
‪bool isCurrentlySelectedItem(array $values)
Definition: FileBrowser.php:457
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$fileRepository
‪FileRepository $fileRepository
Definition: FileBrowser.php:68
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getBodyTagAttributes
‪string[] getBodyTagAttributes()
Definition: FileBrowser.php:432
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\getLanguageService
‪array< string, getBodyTagAttributes();protected array< string, function getBParamDataAttributes() {[ $fieldRef, $rteParams, $rteConfig,, $irreObjectId]=explode('|', $this->bparams);return['data-this-script-url'=> strpos( $this->thisScript, '?')===false ? $this-> LanguageService function getLanguageService()
Definition: AbstractElementBrowser.php:157
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\fileIsSelectableInFileList
‪bool fileIsSelectableInFileList(FileInterface $file, array $imgInfo)
Definition: FileBrowser.php:424
‪TYPO3\CMS\Core\Resource\Folder\getStorage
‪ResourceStorage getStorage()
Definition: Folder.php:149
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$selectedFolder
‪Folder $selectedFolder
Definition: FileBrowser.php:54
‪TYPO3\CMS\Core\Resource\FileRepository
Definition: FileRepository.php:33
‪TYPO3\CMS\Core\Resource\Search\FileSearchDemand
Definition: FileSearchDemand.php:26
‪TYPO3\CMS\Backend\Routing\UriBuilder
Definition: UriBuilder.php:38
‪TYPO3\CMS\Core\Resource\Folder
Definition: Folder.php:37
‪TYPO3\CMS\Core\Resource\ResourceFactory
Definition: ResourceFactory.php:41
‪TYPO3\CMS\Core\Utility\HttpUtility\buildQueryString
‪static string buildQueryString(array $parameters, string $prependCharacter='', bool $skipEmptyParameters=false)
Definition: HttpUtility.php:163
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser
Definition: AbstractElementBrowser.php:33
‪TYPO3\CMS\Core\Resource\File
Definition: File.php:24
‪TYPO3\CMS\Backend\Utility\BackendUtility\getModuleData
‪static array getModuleData( $MOD_MENU, $CHANGED_SETTINGS, $modName, $type='', $dontValidateList='', $setDefaultList='')
Definition: BackendUtility.php:2893
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\initVariables
‪initVariables()
Definition: FileBrowser.php:95
‪TYPO3\CMS\Backend\Utility\BackendUtility\getFuncCheck
‪static string getFuncCheck( $mainParams, $elementName, $currentValue, $script='', $addParams='', $tagParams='')
Definition: BackendUtility.php:2709
‪TYPO3\CMS\Core\Resource\Folder\checkActionPermission
‪bool checkActionPermission($action)
Definition: Folder.php:423
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getUrlParameters
‪string[] getUrlParameters(array $values)
Definition: FileBrowser.php:444
‪TYPO3\CMS\Core\Resource\Filter\FileExtensionFilter
Definition: FileExtensionFilter.php:28
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\render
‪string render()
Definition: FileBrowser.php:123
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$elements
‪mixed[][] $elements
Definition: FileBrowser.php:60
‪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:218
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$thumbnailConfiguration
‪array $thumbnailConfiguration
Definition: FileBrowser.php:72
‪TYPO3\CMS\Backend\Utility\BackendUtility
Definition: BackendUtility.php:75
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$expandFolder
‪string null $expandFolder
Definition: FileBrowser.php:50
‪TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode
‪static string[] trimExplode($delim, $string, $removeEmptyValues=false, $limit=0)
Definition: GeneralUtility.php:1059
‪TYPO3\CMS\Core\Resource\ProcessedFile
Definition: ProcessedFile.php:44
‪TYPO3\CMS\Core\Resource\Exception
Definition: Exception.php:22
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\processSessionData
‪array[] processSessionData($data)
Definition: FileBrowser.php:108
‪TYPO3\CMS\Core\Resource\Folder\getReadablePath
‪string getReadablePath($rootId=null)
Definition: Folder.php:106
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\initialize
‪initialize()
Definition: FileBrowser.php:77
‪TYPO3\CMS\Core\Resource\Folder\setFileAndFolderNameFilters
‪setFileAndFolderNameFilters(array $filters)
Definition: Folder.php:512
‪TYPO3\CMS\Core\Utility\MathUtility
Definition: MathUtility.php:22
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\renderFilesInFolder
‪string renderFilesInFolder(Folder $folder, array $extensionList=[], $noThumbs=false)
Definition: FileBrowser.php:220
‪TYPO3\CMS\Recordlist\View\FolderUtilityRenderer
Definition: FolderUtilityRenderer.php:33
‪TYPO3\CMS\Core\Utility\HttpUtility
Definition: HttpUtility.php:24
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\$bparams
‪string $bparams
Definition: AbstractElementBrowser.php:69
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getBulkSelector
‪string getBulkSelector($filesCount)
Definition: FileBrowser.php:380
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getScriptUrl
‪string getScriptUrl()
Definition: FileBrowser.php:467
‪TYPO3\CMS\Core\Resource\Folder\searchFiles
‪FileSearchResultInterface searchFiles(FileSearchDemand $searchDemand, int $filterMode=self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS)
Definition: Folder.php:243
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:46
‪TYPO3\CMS\Core\Resource\Search\FileSearchDemand\createForSearchTerm
‪static createForSearchTerm(string $searchTerm)
Definition: FileSearchDemand.php:70
‪TYPO3\CMS\Core\Resource\Exception
Definition: AbstractFileOperationException.php:16
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\getFilesInFolder
‪File[] getFilesInFolder(Folder $folder, array $extensionList)
Definition: FileBrowser.php:363
‪TYPO3\CMS\Recordlist\Browser\AbstractElementBrowser\setBodyTagParameters
‪setBodyTagParameters()
Definition: AbstractElementBrowser.php:118
‪TYPO3\CMS\Recordlist\Browser
Definition: AbstractElementBrowser.php:16
‪TYPO3\CMS\Recordlist\Browser\FileBrowser\$searchWord
‪string $searchWord
Definition: FileBrowser.php:64
‪TYPO3\CMS\Core\Resource\ResourceStorage\getName
‪string getName()
Definition: ResourceStorage.php:311