UploadedFileReferenceConverter extends AbstractTypeConverter

Class UploadedFileReferenceConverter

Scope: frontend

Internal

Table of Contents

Constants

CONFIGURATION_FILE_VALIDATORS  = 4
Validator for file types
CONFIGURATION_UPLOAD_CONFLICT_MODE  = 2
How to handle a upload when the name of the uploaded file conflicts.
CONFIGURATION_UPLOAD_FOLDER  = 1
Folder where the file upload should go to (including storage).
CONFIGURATION_UPLOAD_SEED  = 3
Random seed to be used for deriving storage sub-folders.

Properties

$convertedResources  : array<string|int, PseudoFileReference>
$defaultConflictMode  : string
One of 'cancel', 'replace', 'rename'
$defaultUploadFolder  : string
$hashService  : HashService
$persistenceManager  : PersistenceManagerInterface
$priority  : int
Take precedence over the available FileReferenceConverter
$resourceFactory  : ResourceFactory
$sourceTypes  : array<string|int, mixed>
The source types this converter can convert.
$targetType  : string
The target type this converter can convert to.

Methods

canConvertFrom()  : bool
convertFrom()  : AbstractFileFolder|Error|null
Actually convert from $source to $targetType, taking into account the fully built $convertedChildProperties and $configuration.
getPriority()  : int
Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
getSourceChildPropertiesToBeConverted()  : array<string|int, mixed>
Return a list of sub-properties inside the source object.
getSupportedSourceTypes()  : array<string|int, string>
Returns the list of source types the TypeConverter can handle.
getSupportedTargetType()  : string
Return the target type this TypeConverter converts to.
getTargetTypeForSource()  : string
Returns the type for a given source, depending on e.g. the __type setting or other properties.
getTypeOfChildProperty()  : string
Return the type of a given sub-property inside the $targetType
injectHashService()  : mixed
injectPersistenceManager()  : mixed
injectResourceFactory()  : mixed
convertUploadedFileToUploadInfoArray()  : array<string|int, mixed>
createFileReferenceFromFalFileObject()  : PseudoFileReference
createFileReferenceFromFalFileReferenceObject()  : PseudoFileReference
In case no $resourcePointer is given a new file reference domain object will be returned. Otherwise the file reference is reconstituted from storage and will be updated(!) with the provided $falFileReference.
getUploadErrorMessage()  : string
Returns a human-readable message for the given PHP file upload error constant.
importUploadedResource()  : PseudoFileReference
Import a resource and respect configuration given for properties
provideFolderInitialization()  : void
Creates empty index.html file to avoid directory indexing, in case it does not exist yet.
provideTargetFolder()  : Folder
Ensures that particular target folder exists, creates it if it does not.
provideUploadFolder()  : Folder
Ensures that upload folder exists, creates it if it does not.

Constants

CONFIGURATION_FILE_VALIDATORS

Validator for file types

public mixed CONFIGURATION_FILE_VALIDATORS = 4

CONFIGURATION_UPLOAD_CONFLICT_MODE

How to handle a upload when the name of the uploaded file conflicts.

public mixed CONFIGURATION_UPLOAD_CONFLICT_MODE = 2

CONFIGURATION_UPLOAD_FOLDER

Folder where the file upload should go to (including storage).

public mixed CONFIGURATION_UPLOAD_FOLDER = 1

CONFIGURATION_UPLOAD_SEED

Random seed to be used for deriving storage sub-folders.

public mixed CONFIGURATION_UPLOAD_SEED = 3

Properties

$defaultConflictMode

One of 'cancel', 'replace', 'rename'

protected string $defaultConflictMode = 'rename'

$defaultUploadFolder

protected string $defaultUploadFolder = '1:/user_upload/'

$priority

Take precedence over the available FileReferenceConverter

protected int $priority = 12

$sourceTypes

The source types this converter can convert.

protected array<string|int, mixed> $sourceTypes = ['array']

$targetType

The target type this converter can convert to.

protected string $targetType = \TYPO3\CMS\Form\Mvc\Property\TypeConverter\PseudoFileReference::class

Methods

canConvertFrom()

public canConvertFrom(mixed $source, string $targetType) : bool
Deprecated

will be removed in TYPO3 v13.0

Parameters
$source : mixed

the source data

$targetType : string
Return values
bool

convertFrom()

Actually convert from $source to $targetType, taking into account the fully built $convertedChildProperties and $configuration.

public convertFrom(array<string|int, mixed>|UploadedFile $source, string $targetType[, array<string|int, mixed> $convertedChildProperties = [] ][, PropertyMappingConfigurationInterface|null $configuration = null ]) : AbstractFileFolder|Error|null
Parameters
$source : array<string|int, mixed>|UploadedFile
$targetType : string
$convertedChildProperties : array<string|int, mixed> = []
$configuration : PropertyMappingConfigurationInterface|null = null
Internal
Return values
AbstractFileFolder|Error|null

getPriority()

Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.

public getPriority() : int
Deprecated

will be removed in TYPO3 v13.0, as this is defined in Services.yaml.

Return values
int

getSourceChildPropertiesToBeConverted()

Return a list of sub-properties inside the source object.

public getSourceChildPropertiesToBeConverted(mixed $source) : array<string|int, mixed>
Parameters
$source : mixed
Tags
todo

this method is only used for converter sources that have children (i.e. objects). Introduce another ChildPropertyAwareTypeConverterInterface and drop this method from the main interface

Returns an empty list of sub property names

Return values
array<string|int, mixed>

getSupportedSourceTypes()

Returns the list of source types the TypeConverter can handle.

public getSupportedSourceTypes() : array<string|int, string>
Deprecated

will be removed in TYPO3 v13.0, as this is defined in Services.yaml.

Must be PHP simple types, classes or object is not allowed.

Return values
array<string|int, string>

getSupportedTargetType()

Return the target type this TypeConverter converts to.

public getSupportedTargetType() : string
Deprecated

will be removed in TYPO3 v13.0, as this is defined in Services.yaml.

Can be a simple type or a class name.

Return values
string

getTargetTypeForSource()

Returns the type for a given source, depending on e.g. the __type setting or other properties.

public getTargetTypeForSource(mixed $source, string $originalTargetType[, PropertyMappingConfigurationInterface|null $configuration = null ]) : string
Parameters
$source : mixed

the source data

$originalTargetType : string

the type we originally want to convert to

$configuration : PropertyMappingConfigurationInterface|null = null
Tags
todo

The concept of this method is flawed because it enables the override of the target type depending on the structure of the source. So, technically we no longer convert type A to B but source of type A with structure X to type B defined by X. This makes a type converter non-deterministic.

Returns the $originalTargetType unchanged in this implementation.

Return values
string

getTypeOfChildProperty()

Return the type of a given sub-property inside the $targetType

public getTypeOfChildProperty(string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration) : string
Parameters
$targetType : string
$propertyName : string
$configuration : PropertyMappingConfigurationInterface
Tags
todo

this method is only used for converter sources that have children (i.e. objects). Introduce another ChildPropertyAwareTypeConverterInterface and drop this method from the main interface

This method is never called, as getSourceChildPropertiesToBeConverted() returns an empty array.

Return values
string

the type of $propertyName in $targetType

convertUploadedFileToUploadInfoArray()

protected convertUploadedFileToUploadInfoArray(UploadedFile $uploadedFile) : array<string|int, mixed>
Parameters
$uploadedFile : UploadedFile
Return values
array<string|int, mixed>

createFileReferenceFromFalFileReferenceObject()

In case no $resourcePointer is given a new file reference domain object will be returned. Otherwise the file reference is reconstituted from storage and will be updated(!) with the provided $falFileReference.

protected createFileReferenceFromFalFileReferenceObject(FileReference $falFileReference[, int|null $resourcePointer = null ]) : PseudoFileReference
Parameters
$falFileReference : FileReference
$resourcePointer : int|null = null
Return values
PseudoFileReference

getUploadErrorMessage()

Returns a human-readable message for the given PHP file upload error constant.

protected getUploadErrorMessage(int $errorCode) : string
Parameters
$errorCode : int
Return values
string

provideFolderInitialization()

Creates empty index.html file to avoid directory indexing, in case it does not exist yet.

protected provideFolderInitialization(Folder $parentFolder) : void
Parameters
$parentFolder : Folder

provideTargetFolder()

Ensures that particular target folder exists, creates it if it does not.

protected provideTargetFolder(Folder $parentFolder, string $folderName) : Folder
Parameters
$parentFolder : Folder
$folderName : string
Return values
Folder

provideUploadFolder()

Ensures that upload folder exists, creates it if it does not.

protected provideUploadFolder(string $uploadFolderIdentifier) : Folder
Parameters
$uploadFolderIdentifier : string
Return values
Folder

        
On this page

Search results