TYPO3 CMS  TYPO3_8-7
TYPO3\CMS\Core\Utility\File\ExtendedFileUtility Class Reference
Inheritance diagram for TYPO3\CMS\Core\Utility\File\ExtendedFileUtility:
TYPO3\CMS\Core\Utility\File\BasicFileUtility

Public Member Functions

 getExistingFilesConflictMode ()
 
 setExistingFilesConflictMode ($existingFilesConflictMode)
 
 start ($fileCmds)
 
 setActionPermissions (array $permissions=[])
 
 processData ()
 
 pushErrorMessagesToFlashMessageQueue ()
 
 getErrorMessages ()
 
 writeLog ($action, $error, $details_nr, $details, $data)
 
 func_rename ($cmds)
 
 func_newfolder ($cmds)
 
 func_newfile ($cmds)
 
 func_edit ($cmds)
 
- Public Member Functions inherited from TYPO3\CMS\Core\Utility\File\BasicFileUtility
 __construct ()
 
 setFileExtensionPermissions ($allowedFilePermissions, $deniedFilePermissions)
 
 checkIfAllowed ($ext, $_, $filename='')
 
 getUniqueName ($theFile, $theDest, $dontCheckForUnique=false)
 
 cleanFileName ($fileName)
 

Public Attributes

 $actionPerms
 
 $internalUploadMap = []
 
- Public Attributes inherited from TYPO3\CMS\Core\Utility\File\BasicFileUtility
const UNSAFE_FILENAME_CHARACTER_EXPRESSION = '\\x00-\\x2C\\/\\x3A-\\x3F\\x5B-\\x60\\x7B-\\xBF'
 
 $maxNumber = 99
 
 $uniquePrecision = 6
 

Protected Member Functions

 addMessageToFlashMessageQueue ($localizationKey, array $replaceMarkers=[], $severity=FlashMessage::ERROR)
 
 transformFileReferenceToRecordReference (array $referenceRecord)
 
 getFileObject ($identifier)
 
 func_move ($cmds)
 
 replaceFile (array $cmdArr)
 
 getIndexer (ResourceStorage $storage)
 
 getBackendUser ()
 
 getLanguageService ()
 
- Protected Member Functions inherited from TYPO3\CMS\Core\Utility\File\BasicFileUtility
 is_allowed ($fileExtension)
 
 is_directory ($theDir)
 

Protected Attributes

 $existingFilesConflictMode
 
 $errorMessages = []
 
 $flashMessages = []
 
 $fileCmdMap
 
 $fileFactory
 
- Protected Attributes inherited from TYPO3\CMS\Core\Utility\File\BasicFileUtility
 $fileExtensionPermissions = []
 

Detailed Description

Contains functions for performing file operations like copying, pasting, uploading, moving, deleting etc. through the TCE

See document "TYPO3 Core API" for syntax

This class contains functions primarily used by tce_file.php (TYPO3 Core Engine for file manipulation) Functions include copying, moving, deleting, uploading and so on...

Important internal variables:

$fileExtensionPermissions (see basicFileFunctions)

All fileoperations must be within the filemount paths of the user. Further the fileextension MUST validate TRUE with the fileExtensionPermissions array

Definition at line 62 of file ExtendedFileUtility.php.

Member Function Documentation

◆ addMessageToFlashMessageQueue()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::addMessageToFlashMessageQueue (   $localizationKey,
array  $replaceMarkers = [],
  $severity = FlashMessage::ERROR 
)
protected

◆ func_edit()

◆ func_move()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::func_move (   $cmds)
protected

Moving files and folders (action=3)

$cmds['data'] (string): The file/folder to move

  • example "4:mypath/tomyfolder/myfile.jpg")
  • for backwards compatibility: the identifier was the path+filename $cmds['target'] (string): The path where to move to.
  • example "2:targetpath/targetfolder/" $cmds['altName'] (string): Use an alternative name if the target already exists
Parameters
array$cmdsCommand details as described above
Returns

Definition at line 749 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\addMessageToFlashMessageQueue(), TYPO3\CMS\Core\Resource\DuplicationBehavior\CANCEL, TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\getFileObject(), TYPO3\CMS\Core\Messaging\AbstractMessage\OK, TYPO3\CMS\Core\Resource\DuplicationBehavior\RENAME, and TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\writeLog().

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\processData().

◆ func_newfile()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::func_newfile (   $cmds)

This creates a new file. (action=8) $cmds['data'] (string): The new file name $cmds['target'] (string): The path where to create it.

  • example "2:targetpath/targetfolder/"
Parameters
array$cmdsCommand details as described above
Returns
string Returns the new filename upon success

Definition at line 959 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\addMessageToFlashMessageQueue(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\getFileObject(), TYPO3\CMS\Core\Messaging\AbstractMessage\OK, TYPO3\CMS\Core\Messaging\AbstractMessage\WARNING, and TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\writeLog().

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\processData().

◆ func_newfolder()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::func_newfolder (   $cmds)

This creates a new folder. (action=6)

$cmds['data'] (string): The new folder name $cmds['target'] (string): The path where to copy to.

  • example "2:targetpath/targetfolder/"
Parameters
array$cmdsCommand details as described above
Returns
Returns the new foldername upon success

Definition at line 917 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\addMessageToFlashMessageQueue(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\getFileObject(), TYPO3\CMS\Core\Messaging\AbstractMessage\OK, and TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\writeLog().

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\processData().

◆ func_rename()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::func_rename (   $cmds)

Renaming files or foldes (action=5)

$cmds['data'] (string): The file/folder to copy

  • example "4:mypath/tomyfolder/myfile.jpg")
  • for backwards compatibility: the identifier was the path+filename $cmds['target'] (string): New name of the file/folder
Parameters
array$cmdsCommand details as described above
Returns
Returns the new file upon success

Definition at line 842 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\addMessageToFlashMessageQueue(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\getFileObject(), TYPO3\CMS\Core\Messaging\AbstractMessage\INFO, TYPO3\CMS\Core\Messaging\AbstractMessage\OK, TYPO3\CMS\Core\Messaging\AbstractMessage\WARNING, and TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\writeLog().

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\processData().

◆ getBackendUser()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::getBackendUser ( )
protected

◆ getErrorMessages()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::getErrorMessages ( )

Return all error messages from the file operations of this script instance

Returns
array all errorMessages as a numerical array

Definition at line 313 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\$errorMessages.

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\pushErrorMessagesToFlashMessageQueue().

◆ getExistingFilesConflictMode()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::getExistingFilesConflictMode ( )

Get existingFilesConflictMode

Returns
string

Definition at line 137 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\$existingFilesConflictMode.

◆ getFileObject()

◆ getIndexer()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::getIndexer ( ResourceStorage  $storage)
protected

Gets Indexer

Parameters
\TYPO3\CMS\Core\Resource\ResourceStorage$storage
Returns

Definition at line 1244 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\func_edit().

◆ getLanguageService()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::getLanguageService ( )
protected

Returns LanguageService

Returns
LanguageService

Definition at line 1262 of file ExtendedFileUtility.php.

References $GLOBALS.

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\addMessageToFlashMessageQueue().

◆ processData()

◆ pushErrorMessagesToFlashMessageQueue()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::pushErrorMessagesToFlashMessageQueue ( )

◆ replaceFile()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::replaceFile ( array  $cmdArr)
protected

◆ setActionPermissions()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::setActionPermissions ( array  $permissions = [])

Sets the file action permissions. If no argument is given, permissions of the currently logged in backend user are taken into account.

Parameters
array$permissionsFile Permissions.

Definition at line 183 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\getBackendUser().

◆ setExistingFilesConflictMode()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::setExistingFilesConflictMode (   $existingFilesConflictMode)

Set existingFilesConflictMode

Parameters
\TYPO3\CMS\Core\Resource\DuplicationBehavior | string$existingFilesConflictModeInstance or constant of
Exceptions
Exception

Definition at line 148 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\$existingFilesConflictMode, TYPO3\CMS\Core\Type\Enumeration\cast(), and TYPO3\CMS\Core\Type\Enumeration\getConstants().

◆ start()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::start (   $fileCmds)

Initialization of the class

Parameters
array$fileCmdsArray with the commands to execute. See "TYPO3 Core API" document

Definition at line 169 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Resource\ResourceFactory\getInstance().

◆ transformFileReferenceToRecordReference()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::transformFileReferenceToRecordReference ( array  $referenceRecord)
protected

Maps results from the fal file reference table on the structure of the normal reference index table.

Parameters
array$referenceRecord
Returns
array

Definition at line 600 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\makeInstance().

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\addMessageToFlashMessageQueue().

◆ writeLog()

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::writeLog (   $action,
  $error,
  $details_nr,
  $details,
  $data 
)
Parameters
int$actionThe action number. See the functions in the class for a hint. Eg. edit is '9', upload is '1' ...
int$errorThe severity: 0 = message, 1 = error, 2 = System Error, 3 = security notice (admin)
int$details_nrThis number is unique for every combination of $type and $action. This is the error-message number, which can later be used to translate error messages.
string$detailsThis is the default, raw error message in english
array$dataArray with special information that may go into $details by "%s" marks / sprintf() when the log is shown

Definition at line 325 of file ExtendedFileUtility.php.

References TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\getBackendUser().

Referenced by TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\addMessageToFlashMessageQueue(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\func_edit(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\func_move(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\func_newfile(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\func_newfolder(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\func_rename(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\getFileObject(), TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\processData(), and TYPO3\CMS\Core\Utility\File\ExtendedFileUtility\replaceFile().

Member Data Documentation

◆ $actionPerms

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::$actionPerms
Initial value:
= [
'addFile' => false

Definition at line 79 of file ExtendedFileUtility.php.

◆ $errorMessages

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::$errorMessages = []
protected

◆ $existingFilesConflictMode

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::$existingFilesConflictMode
protected

◆ $fileCmdMap

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::$fileCmdMap
protected

Definition at line 123 of file ExtendedFileUtility.php.

◆ $fileFactory

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::$fileFactory
protected

Definition at line 130 of file ExtendedFileUtility.php.

◆ $flashMessages

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::$flashMessages = []
protected

Definition at line 118 of file ExtendedFileUtility.php.

◆ $internalUploadMap

TYPO3\CMS\Core\Utility\File\ExtendedFileUtility::$internalUploadMap = []

Definition at line 104 of file ExtendedFileUtility.php.