TYPO3 CMS  TYPO3_6-2
TYPO3\CMS\Core\Resource\Folder Class Reference
Inheritance diagram for TYPO3\CMS\Core\Resource\Folder:
TYPO3\CMS\Core\Resource\FolderInterface TYPO3\CMS\Core\Resource\ResourceInterface TYPO3\CMS\Core\Resource\InaccessibleFolder

Public Member Functions

 __construct (ResourceStorage $storage, $identifier, $name)
 
 getName ()
 
 getReadablePath ($rootId=NULL)
 
 setName ($name)
 
 getStorage ()
 
 getIdentifier ()
 
 getHashedIdentifier ()
 
 getCombinedIdentifier ()
 
 getPublicUrl ($relativeToCurrentScript=FALSE)
 
 getFiles ($start=0, $numberOfItems=0, $filterMode=self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS, $recursive=FALSE)
 
 getFileCount (array $filterMethods=array(), $recursive=FALSE)
 
 getSubfolders ($start=0, $numberOfItems=0, $filterMode=self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS)
 
 addFile ($localFilePath, $fileName=NULL, $conflictMode='cancel')
 
 addUploadedFile (array $uploadedFileData, $conflictMode='cancel')
 
 rename ($newName)
 
 delete ($deleteRecursively=TRUE)
 
 createFile ($fileName)
 
 createFolder ($folderName)
 
 copyTo (Folder $targetFolder, $targetFolderName=NULL, $conflictMode='renameNewFile')
 
 moveTo (Folder $targetFolder, $targetFolderName=NULL, $conflictMode='renameNewFile')
 
 hasFile ($name)
 
 hasFolder ($name)
 
 checkActionPermission ($action)
 
 updateProperties (array $properties)
 
 setFileAndFolderNameFilters (array $filters)
 
 getRole ()
 
 getParentFolder ()
 
- Public Member Functions inherited from TYPO3\CMS\Core\Resource\FolderInterface
 getSubfolders ()
 
 getSubfolder ($name)
 
 delete ()
 

Public Attributes

const FILTER_MODE_NO_FILTERS = 0
 
const FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS = 1
 
const FILTER_MODE_USE_STORAGE_FILTERS = 2
 
const FILTER_MODE_USE_OWN_FILTERS = 3
 
- Public Attributes inherited from TYPO3\CMS\Core\Resource\FolderInterface
const ROLE_DEFAULT = 'default'
 
const ROLE_RECYCLER = 'recycler'
 
const ROLE_PROCESSING = 'processing'
 
const ROLE_TEMPORARY = 'temporary'
 
const ROLE_USERUPLOAD = 'userupload'
 
const ROLE_MOUNT = 'mount'
 
const ROLE_READONLY_MOUNT = 'readonly-mount'
 
const ROLE_USER_MOUNT = 'user-mount'
 

Protected Member Functions

 prepareFiltersInStorage ($filterMode)
 
 restoreBackedUpFiltersInStorage ($backedUpFilters)
 

Protected Attributes

 $storage
 
 $identifier
 
 $name
 
 $fileAndFolderNameFilters = array()
 

Detailed Description

A folder that groups files in a storage. This may be a folder on the local disk, a bucket in Amazon S3 or a user or a tag in Flickr.

This object is not persisted in TYPO3 locally, but created on the fly by storage drivers for the folders they "offer".

Some folders serve as a physical container for files (e.g. folders on the local disk, S3 buckets or Flickr users). Other folders just group files by a certain criterion, e.g. a tag. The way this is implemented depends on the storage driver.

Author
Andreas Wolf andre.nosp@m.as.w.nosp@m.olf@i.nosp@m.kt-w.nosp@m.erk.d.nosp@m.e
Ingmar Schlecht ingma.nosp@m.r@ty.nosp@m.po3.o.nosp@m.rg

Definition at line 34 of file Folder.php.

Constructor & Destructor Documentation

◆ __construct()

TYPO3\CMS\Core\Resource\Folder::__construct ( ResourceStorage  $storage,
  $identifier,
  $name 
)

Initialization of the folder

Parameters
ResourceStorage$storage
$identifier
$name

Definition at line 84 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\$identifier, TYPO3\CMS\Core\Resource\Folder\$name, and TYPO3\CMS\Core\Resource\Folder\$storage.

Member Function Documentation

◆ addFile()

TYPO3\CMS\Core\Resource\Folder::addFile (   $localFilePath,
  $fileName = NULL,
  $conflictMode = 'cancel' 
)

Adds a file from the local server disk. If the file already exists and overwriting is disabled,

Parameters
string$localFilePath
string$fileName
string$conflictModepossible value are 'cancel', 'replace', 'changeName'
Returns
File The file object

Definition at line 277 of file Folder.php.

References TYPO3\CMS\Core\Utility\PathUtility\basename().

◆ addUploadedFile()

TYPO3\CMS\Core\Resource\Folder::addUploadedFile ( array  $uploadedFileData,
  $conflictMode = 'cancel' 
)

Adds an uploaded file into the Storage.

Parameters
array$uploadedFileDatacontains information about the uploaded file given by $_FILES['file1']
string$conflictModepossible value are 'cancel', 'replace'
Returns
File The file object

Definition at line 289 of file Folder.php.

◆ checkActionPermission()

TYPO3\CMS\Core\Resource\Folder::checkActionPermission (   $action)

Check if a file operation (= action) is allowed on this folder

Parameters
string$actionAction that can be read, write or delete
Returns
boolean

Definition at line 383 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\getStorage().

◆ copyTo()

TYPO3\CMS\Core\Resource\Folder::copyTo ( Folder  $targetFolder,
  $targetFolderName = NULL,
  $conflictMode = 'renameNewFile' 
)

Copies folder to a target folder

Parameters
Folder$targetFolderTarget folder to copy to.
string$targetFolderNamean optional destination fileName
string$conflictMode"overrideExistingFile", "renameNewFile" or "cancel
Returns
Folder New (copied) folder object.

Definition at line 341 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\getStorage().

◆ createFile()

TYPO3\CMS\Core\Resource\Folder::createFile (   $fileName)

Creates a new blank file

Parameters
string$fileName
Returns
File The new file object

Definition at line 319 of file Folder.php.

◆ createFolder()

TYPO3\CMS\Core\Resource\Folder::createFolder (   $folderName)

Creates a new folder

Parameters
string$folderName
Returns
Folder The new folder object

Definition at line 329 of file Folder.php.

◆ delete()

TYPO3\CMS\Core\Resource\Folder::delete (   $deleteRecursively = TRUE)

Deletes this folder from its storage. This also means that this object becomes useless.

Parameters
boolean$deleteRecursively
Returns
boolean TRUE if deletion succeeded

Definition at line 309 of file Folder.php.

◆ getCombinedIdentifier()

TYPO3\CMS\Core\Resource\Folder::getCombinedIdentifier ( )

Returns a combined identifier of this folder, i.e. the storage UID and the folder identifier separated by a colon ":".

Returns
string Combined storage and folder identifier, e.g. StorageUID:folder/path/

Definition at line 177 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\getIdentifier(), and TYPO3\CMS\Core\Resource\Folder\getStorage().

Referenced by TYPO3\CMS\Core\Resource\ResourceStorage\isProcessingFolder().

◆ getFileCount()

TYPO3\CMS\Core\Resource\Folder::getFileCount ( array  $filterMethods = array(),
  $recursive = FALSE 
)

Returns amount of all files within this folder, optionally filtered by the given pattern

Parameters
array$filterMethods
bool$recursive
Returns
int
Exceptions
Exception

Definition at line 231 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\$name, TYPO3\CMS\Core\Resource\ResourceFactory\getInstance(), and TYPO3\CMS\Core\Resource\FolderInterface\getSubfolder().

◆ getFiles()

TYPO3\CMS\Core\Resource\Folder::getFiles (   $start = 0,
  $numberOfItems = 0,
  $filterMode = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS,
  $recursive = FALSE 
)

Returns a list of files in this folder, optionally filtered. There are several filter modes available, see the FILTER_MODE_* constants for more information.

For performance reasons the returned items can also be limited to a given range

Parameters
integer$startThe item to start at
integer$numberOfItemsThe number of items to return
integer$filterModeThe filter mode to use for the file list.
boolean$recursive
Returns
[]

Definition at line 206 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\prepareFiltersInStorage(), and TYPO3\CMS\Core\Resource\Folder\restoreBackedUpFiltersInStorage().

Referenced by TYPO3\CMS\Core\Resource\ResourceStorage\addUploadedFile().

◆ getHashedIdentifier()

TYPO3\CMS\Core\Resource\Folder::getHashedIdentifier ( )

Get hashed identifier

Returns
string

Implements TYPO3\CMS\Core\Resource\ResourceInterface.

Definition at line 167 of file Folder.php.

◆ getIdentifier()

◆ getName()

TYPO3\CMS\Core\Resource\Folder::getName ( )

◆ getParentFolder()

TYPO3\CMS\Core\Resource\Folder::getParentFolder ( )

Returns the parent folder.

In non-hierarchical storages, that always is the root folder.

The parent folder of the root folder is the root folder.

Returns
Folder

Implements TYPO3\CMS\Core\Resource\ResourceInterface.

Definition at line 491 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\getIdentifier(), and TYPO3\CMS\Core\Resource\Folder\getStorage().

Referenced by TYPO3\CMS\Core\Resource\Folder\getReadablePath(), and TYPO3\CMS\Core\Resource\ResourceStorage\moveFolder().

◆ getPublicUrl()

TYPO3\CMS\Core\Resource\Folder::getPublicUrl (   $relativeToCurrentScript = FALSE)

Returns a publicly accessible URL for this folder

WARNING: Access to the folder may be restricted by further means, e.g. some web-based authentication. You have to take care of this yourself.

Parameters
boolean$relativeToCurrentScriptDetermines whether the URL returned should be relative to the current script, in case it is relative at all (only for the LocalDriver)
Returns
string

Definition at line 190 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\getStorage().

◆ getReadablePath()

TYPO3\CMS\Core\Resource\Folder::getReadablePath (   $rootId = NULL)

Returns the full path of this folder, from the root.

Parameters
string$rootIdID of the root folder, NULL to auto-detect
Returns
string

Definition at line 106 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\getParentFolder().

◆ getRole()

TYPO3\CMS\Core\Resource\Folder::getRole ( )

Returns the role of this folder (if any). See FolderInterface::ROLE_* constants for possible values.

Returns
integer

Definition at line 478 of file Folder.php.

◆ getStorage()

◆ getSubfolders()

TYPO3\CMS\Core\Resource\Folder::getSubfolders (   $start = 0,
  $numberOfItems = 0,
  $filterMode = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS 
)

Returns a list of subfolders

Parameters
integer$startThe item to start at
integer$numberOfItemsThe number of items to return
integer$filterModeThe filter mode to use for the file list.
Returns
Folder[]

Definition at line 261 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\prepareFiltersInStorage(), and TYPO3\CMS\Core\Resource\Folder\restoreBackedUpFiltersInStorage().

Referenced by TYPO3\CMS\Core\Resource\ResourceStorage\addUploadedFile().

◆ hasFile()

TYPO3\CMS\Core\Resource\Folder::hasFile (   $name)

Checks if a file exists in this folder

Parameters
string$name
Returns
boolean

Implements TYPO3\CMS\Core\Resource\FolderInterface.

Definition at line 363 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\$name.

◆ hasFolder()

TYPO3\CMS\Core\Resource\Folder::hasFolder (   $name)

Checks if a folder exists in this folder.

Parameters
string$name
Returns
boolean

Implements TYPO3\CMS\Core\Resource\FolderInterface.

Definition at line 373 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\$name.

◆ moveTo()

TYPO3\CMS\Core\Resource\Folder::moveTo ( Folder  $targetFolder,
  $targetFolderName = NULL,
  $conflictMode = 'renameNewFile' 
)

Moves folder to a target folder

Parameters
Folder$targetFolderTarget folder to move to.
string$targetFolderNamean optional destination fileName
string$conflictMode"overrideExistingFile", "renameNewFile" or "cancel
Returns
Folder New (copied) folder object.

Definition at line 353 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\getStorage().

◆ prepareFiltersInStorage()

TYPO3\CMS\Core\Resource\Folder::prepareFiltersInStorage (   $filterMode)
protected

Prepares the filters in this folder's storage according to a set filter mode.

Parameters
integer$filterModeThe filter mode to use; one of the FILTER_MODE_* constants
Returns
array The backed up filters as an array (NULL if filters were not backed up) and whether to use filters or not (boolean)

Definition at line 416 of file Folder.php.

Referenced by TYPO3\CMS\Core\Resource\Folder\getFiles(), and TYPO3\CMS\Core\Resource\Folder\getSubfolders().

◆ rename()

TYPO3\CMS\Core\Resource\Folder::rename (   $newName)

Renames this folder.

Parameters
string$newName
Returns
Folder

Implements TYPO3\CMS\Core\Resource\FolderInterface.

Definition at line 299 of file Folder.php.

◆ restoreBackedUpFiltersInStorage()

TYPO3\CMS\Core\Resource\Folder::restoreBackedUpFiltersInStorage (   $backedUpFilters)
protected

Restores the filters of a storage.

Parameters
array$backedUpFiltersThe filters to restore; might be NULL if no filters have been backed up, in which case this method does nothing.
See also
prepareFiltersInStorage()

Definition at line 457 of file Folder.php.

Referenced by TYPO3\CMS\Core\Resource\Folder\getFiles(), and TYPO3\CMS\Core\Resource\Folder\getSubfolders().

◆ setFileAndFolderNameFilters()

TYPO3\CMS\Core\Resource\Folder::setFileAndFolderNameFilters ( array  $filters)

Sets the filters to use when listing files. These are only used if the filter mode is one of FILTER_MODE_USE_OWN_FILTERS and FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS

Parameters
array$filters

Definition at line 469 of file Folder.php.

◆ setName()

TYPO3\CMS\Core\Resource\Folder::setName (   $name)

Sets a new name of the folder currently this does not trigger the "renaming process" as the name is more seen as a label

Parameters
string$nameThe new name
Returns
void

Definition at line 139 of file Folder.php.

References TYPO3\CMS\Core\Resource\Folder\$name.

◆ updateProperties()

TYPO3\CMS\Core\Resource\Folder::updateProperties ( array  $properties)

Updates the properties of this folder, e.g. after re-indexing or moving it.

NOTE: This method should not be called from outside the File Abstraction Layer (FAL)!

Parameters
array$properties
Returns
void

Definition at line 400 of file Folder.php.

Member Data Documentation

◆ $fileAndFolderNameFilters

TYPO3\CMS\Core\Resource\Folder::$fileAndFolderNameFilters = array()
protected

Definition at line 64 of file Folder.php.

◆ $identifier

TYPO3\CMS\Core\Resource\Folder::$identifier
protected

◆ $name

◆ $storage

TYPO3\CMS\Core\Resource\Folder::$storage
protected

◆ FILTER_MODE_NO_FILTERS

const TYPO3\CMS\Core\Resource\Folder::FILTER_MODE_NO_FILTERS = 0

Modes for filter usage in getFiles()/getFolders()

Definition at line 69 of file Folder.php.

◆ FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS

const TYPO3\CMS\Core\Resource\Folder::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS = 1

◆ FILTER_MODE_USE_OWN_FILTERS

const TYPO3\CMS\Core\Resource\Folder::FILTER_MODE_USE_OWN_FILTERS = 3

Definition at line 75 of file Folder.php.

◆ FILTER_MODE_USE_STORAGE_FILTERS

const TYPO3\CMS\Core\Resource\Folder::FILTER_MODE_USE_STORAGE_FILTERS = 2

Definition at line 73 of file Folder.php.