‪TYPO3CMS  10.4
TYPO3\CMS\Frontend\Resource\FileCollector Class Reference
Inheritance diagram for TYPO3\CMS\Frontend\Resource\FileCollector:

Public Member Functions

 addFiles (array $fileUids=[])
 
 addFilesFromRelation ($relationTable, $relationField, array $referenceRecord)
 
 addFileReferences (array $fileReferenceUids=[])
 
 addFilesFromFileCollections (array $fileCollectionUids=[])
 
 addFilesFromFileCollection ($fileCollectionUid=null)
 
 addFilesFromFolders (array $folderIdentifiers=[], $recursive=false)
 
 addFilesFromFolder ($folderIdentifier, $recursive=false)
 
 sort ($sortingProperty='', $sortingOrder='ascending')
 
 addFileObject (FileInterface $file)
 
 addFileObjects ($files)
 
array getFiles ()
 
int count ()
 

Protected Member Functions

array getFileReferences ($tableName, $fieldName, array $element)
 
ResourceFactory getResourceFactory ()
 
FileCollectionRepository getFileCollectionRepository ()
 
FileRepository getFileRepository ()
 

Protected Attributes

array $files = array( )
 
TYPO3 CMS Core Resource FileRepository $fileRepository
 
TYPO3 CMS Core Resource FileCollectionRepository $fileCollectionRepository
 
TYPO3 CMS Core Resource ResourceFactory $resourceFactory
 

Detailed Description

Object to collect files from various sources during runtime Sources can be file references, file collections or folders

Use in FILES Content Object or for a Fluid Data Processor

Is not persisted, use only in FE.

this is an internal TYPO3 implementation and solely used for EXT:frontend and not part of TYPO3's Core API.

Definition at line 40 of file FileCollector.php.

Member Function Documentation

◆ addFileObject()

TYPO3\CMS\Frontend\Resource\FileCollector::addFileObject ( FileInterface  $file)

Add a file object to the collection

Parameters
FileInterface$file‪The file object

Definition at line 245 of file FileCollector.php.

Referenced by TYPO3\CMS\Frontend\Resource\FileCollector\addFileReferences(), and TYPO3\CMS\Frontend\Resource\FileCollector\addFiles().

◆ addFileObjects()

TYPO3\CMS\Frontend\Resource\FileCollector::addFileObjects (   $files)

◆ addFileReferences()

TYPO3\CMS\Frontend\Resource\FileCollector::addFileReferences ( array  $fileReferenceUids = [])

◆ addFiles()

TYPO3\CMS\Frontend\Resource\FileCollector::addFiles ( array  $fileUids = [])

◆ addFilesFromFileCollection()

TYPO3\CMS\Frontend\Resource\FileCollector::addFilesFromFileCollection (   $fileCollectionUid = null)

◆ addFilesFromFileCollections()

TYPO3\CMS\Frontend\Resource\FileCollector::addFilesFromFileCollections ( array  $fileCollectionUids = [])

Add files to the collection from multiple file collections

Parameters
array$fileCollectionUids‪The file collections uids

Definition at line 126 of file FileCollector.php.

References TYPO3\CMS\Frontend\Resource\FileCollector\addFilesFromFileCollection().

◆ addFilesFromFolder()

TYPO3\CMS\Frontend\Resource\FileCollector::addFilesFromFolder (   $folderIdentifier,
  $recursive = false 
)

◆ addFilesFromFolders()

TYPO3\CMS\Frontend\Resource\FileCollector::addFilesFromFolders ( array  $folderIdentifiers = [],
  $recursive = false 
)

Add files to the collection from multiple folders

Parameters
array$folderIdentifiers‪The folder identifiers
bool$recursive‪Add files recursive from given folders

Definition at line 166 of file FileCollector.php.

References TYPO3\CMS\Frontend\Resource\FileCollector\addFilesFromFolder().

◆ addFilesFromRelation()

TYPO3\CMS\Frontend\Resource\FileCollector::addFilesFromRelation (   $relationTable,
  $relationField,
array  $referenceRecord 
)

Add files to the collection from a relation

Parameters
string$relationTable‪The table of the relation (e.g. tt_content or pages)
string$relationField‪The field which holds the files (e.g. media or images)
array$referenceRecord‪the record which is referencing the files

Definition at line 97 of file FileCollector.php.

References TYPO3\CMS\Frontend\Resource\FileCollector\addFileObjects(), and TYPO3\CMS\Frontend\Resource\FileCollector\getFileReferences().

Referenced by TYPO3\CMS\Frontend\ContentObject\FilesContentObject\addFileReferences().

◆ count()

int TYPO3\CMS\Frontend\Resource\FileCollector::count ( )
Returns
‪int

Definition at line 273 of file FileCollector.php.

Referenced by TYPO3\CMS\Frontend\Resource\FileCollector\sort().

◆ getFileCollectionRepository()

FileCollectionRepository TYPO3\CMS\Frontend\Resource\FileCollector::getFileCollectionRepository ( )
protected

◆ getFileReferences()

array TYPO3\CMS\Frontend\Resource\FileCollector::getFileReferences (   $tableName,
  $fieldName,
array  $element 
)
protected

Gets file references for a given record field, also deal with translated elements, where file references could be attached.

Parameters
string$tableName‪Name of the table
string$fieldName‪Name of the field
array$element‪The parent element referencing to files
Returns
‪array

We just catch the exception here Reasoning: There is nothing an editor or even admin could do

The storage does not exist anymore Log the exception message for admins as they maybe can restore the storage

Definition at line 287 of file FileCollector.php.

References TYPO3\CMS\Frontend\Resource\FileCollector\$fileRepository, $GLOBALS, and TYPO3\CMS\Core\Resource\FileRepository\findByRelation().

Referenced by TYPO3\CMS\Frontend\Resource\FileCollector\addFilesFromRelation().

◆ getFileRepository()

FileRepository TYPO3\CMS\Frontend\Resource\FileCollector::getFileRepository ( )
protected

◆ getFiles()

array TYPO3\CMS\Frontend\Resource\FileCollector::getFiles ( )

Final getter method to fetch the accumulated data

Returns
‪array

Definition at line 265 of file FileCollector.php.

References TYPO3\CMS\Frontend\Resource\FileCollector\$files.

◆ getResourceFactory()

ResourceFactory TYPO3\CMS\Frontend\Resource\FileCollector::getResourceFactory ( )
protected

◆ sort()

TYPO3\CMS\Frontend\Resource\FileCollector::sort (   $sortingProperty = '',
  $sortingOrder = 'ascending' 
)

Sort the file objects based on a property

Parameters
string$sortingProperty‪The sorting property
string$sortingOrder‪can be ascending or descending or "random"

Definition at line 211 of file FileCollector.php.

References TYPO3\CMS\Frontend\Resource\FileCollector\count(), and TYPO3\CMS\Core\Resource\FileInterface\hasProperty().

Member Data Documentation

◆ $fileCollectionRepository

TYPO3 CMS Core Resource FileCollectionRepository TYPO3\CMS\Frontend\Resource\FileCollector::$fileCollectionRepository
protected

The file collection repository

Definition at line 60 of file FileCollector.php.

Referenced by TYPO3\CMS\Frontend\Resource\FileCollector\getFileCollectionRepository().

◆ $fileRepository

TYPO3 CMS Core Resource FileRepository TYPO3\CMS\Frontend\Resource\FileCollector::$fileRepository
protected

◆ $files

◆ $resourceFactory

TYPO3 CMS Core Resource ResourceFactory TYPO3\CMS\Frontend\Resource\FileCollector::$resourceFactory
protected

The resource factory

Definition at line 66 of file FileCollector.php.

Referenced by TYPO3\CMS\Frontend\Resource\FileCollector\getResourceFactory().