InaccessibleFolder extends Folder

A representation for an inaccessible folder.

If a folder has execution rights you can list it's contents despite the access rights on the subfolders. If a subfolder has no rights it has to be shown anyhow, but marked as inaccessible.

Table of Contents

Constants

FILTER_MODE_NO_FILTERS  = 0
Modes for filter usage in getFiles()/getFolders()
FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS  = 1
FILTER_MODE_USE_OWN_FILTERS  = 3
FILTER_MODE_USE_STORAGE_FILTERS  = 2

Properties

$fileAndFolderNameFilters  : array<string|int, callable>
The filters this folder should use for a filelist.
$identifier  : string
The identifier of this folder to identify it on the storage.
$name  : string
The name of this folder
$storage  : ResourceStorage
The storage this folder belongs to.

Methods

__construct()  : mixed
Initialization of the folder
addFile()  : File
Adds a file from the local server disk. If the file already exists and overwriting is disabled,
addUploadedFile()  : FileInterface
Adds an uploaded file into the Storage.
checkActionPermission()  : bool
Check if a file operation (= action) is allowed on this folder
copyTo()  : Folder
Copies folder to a target folder
createFile()  : File
Creates a new blank file
createFolder()  : Folder
Creates a new folder
delete()  : never
Deletes this folder from its storage. This also means that this object becomes useless.
getCombinedIdentifier()  : string
Returns a combined identifier of this folder, i.e. the storage UID and the folder identifier separated by a colon ":".
getCreationTime()  : int
Returns the creation time of the file as Unix timestamp
getFile()  : FileInterface|null
Fetches a file from a folder, must be a direct descendant of a folder.
getFileCount()  : int
Returns amount of all files within this folder, optionally filtered by the given pattern
getFiles()  : array<string|int, File>
Returns a list of files in this folder, optionally filtered. There are several filter modes available, see the FILTER_MODE_* constants for more information.
getHashedIdentifier()  : non-empty-string
getIdentifier()  : non-empty-string
Returns the path of this folder inside the storage. It depends on the type of storage whether this is a real path or just some unique identifier.
getModificationTime()  : int
Returns the modification time of the file as Unix timestamp
getName()  : string
getParentFolder()  : FolderInterface
Returns the parent folder.
getPublicUrl()  : string|null
Returns a publicly accessible URL for this folder
getReadablePath()  : string
Returns the full path of this folder, from the root.
getRole()  : string
Returns the role of this folder (if any). See FolderInterface::ROLE_* constants for possible values.
getStorage()  : ResourceStorage
getSubfolder()  : never
Returns the object for a subfolder of the current folder, if it exists.
getSubfolders()  : never
Returns a list of subfolders
hasFile()  : never
Checks if a file exists in this folder
hasFolder()  : never
Checks if a folder exists in this folder.
moveTo()  : Folder
Moves folder to a target folder
rename()  : $this
Renames this folder.
searchFiles()  : FileSearchResultInterface
Returns a file search result based on the given demand.
setFileAndFolderNameFilters()  : never
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
setName()  : never
Sets a new name of the folder currently this does not trigger the "renaming process" as the name is more seen as a label
updateProperties()  : never
Updates the properties of this folder, e.g. after re-indexing or moving it.
prepareFiltersInStorage()  : array<string|int, mixed>
Prepares the filters in this folder's storage according to a set filter mode.
restoreBackedUpFiltersInStorage()  : mixed
Restores the filters of a storage.
throwInaccessibleException()  : never
Throws an Exception, used to prevent duplicate code in all the methods

Constants

FILTER_MODE_NO_FILTERS

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

public mixed FILTER_MODE_NO_FILTERS = 0

FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS

public mixed FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS = 1

FILTER_MODE_USE_OWN_FILTERS

public mixed FILTER_MODE_USE_OWN_FILTERS = 3

FILTER_MODE_USE_STORAGE_FILTERS

public mixed FILTER_MODE_USE_STORAGE_FILTERS = 2

Properties

$fileAndFolderNameFilters

The filters this folder should use for a filelist.

protected array<string|int, callable> $fileAndFolderNameFilters = []

$identifier

The identifier of this folder to identify it on the storage.

protected string $identifier

On some drivers, this is the path to the folder, but drivers could also just provide any other unique identifier for this folder on the specific storage.

$name

The name of this folder

protected string $name

Methods

__construct()

Initialization of the folder

public __construct(ResourceStorage $storage, string $identifier, string $name) : mixed
Parameters
$storage : ResourceStorage
$identifier : string
$name : string

addUploadedFile()

Adds an uploaded file into the Storage.

public addUploadedFile(array<string|int, mixed> $uploadedFileData[, DuplicationBehavior $conflictMode = DuplicationBehavior::CANCEL ]) : FileInterface
Parameters
$uploadedFileData : array<string|int, mixed>

contains information about the uploaded file given by $_FILES['file1']

$conflictMode : DuplicationBehavior = DuplicationBehavior::CANCEL
Tags
throws
InsufficientFolderReadPermissionsException
Return values
FileInterface

The file object

checkActionPermission()

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

public checkActionPermission(string $action) : bool
Parameters
$action : string

Action that can be read, write or delete

Return values
bool

copyTo()

Copies folder to a target folder

public copyTo(Folder $targetFolder[, string $targetFolderName = null ][, DuplicationBehavior $conflictMode = DuplicationBehavior::RENAME ]) : Folder
Parameters
$targetFolder : Folder

Target folder to copy to.

$targetFolderName : string = null

an optional destination fileName

$conflictMode : DuplicationBehavior = DuplicationBehavior::RENAME
Tags
throws
InsufficientFolderReadPermissionsException
Return values
Folder

New (copied) folder object.

delete()

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

public delete([bool $deleteRecursively = true ]) : never
Parameters
$deleteRecursively : bool = true
Tags
throws
InsufficientFolderReadPermissionsException
Return values
never

getCombinedIdentifier()

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

public getCombinedIdentifier() : string
Return values
string

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

getCreationTime()

Returns the creation time of the file as Unix timestamp

public getCreationTime() : int
Return values
int

getFile()

Fetches a file from a folder, must be a direct descendant of a folder.

public getFile(string $fileName) : FileInterface|null
Parameters
$fileName : string
Return values
FileInterface|null

getFileCount()

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

public getFileCount([array<string|int, mixed> $filterMethods = [] ][, bool $recursive = false ]) : int
Parameters
$filterMethods : array<string|int, mixed> = []
$recursive : bool = false
Tags
throws
InsufficientFolderReadPermissionsException
Return values
int

getFiles()

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

public getFiles([int $start = 0 ][, int $numberOfItems = 0 ][, int $filterMode = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS ][, bool $recursive = false ][, string $sort = '' ][, bool $sortRev = false ]) : array<string|int, File>

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

Parameters
$start : int = 0

The item to start at

$numberOfItems : int = 0

The number of items to return

$filterMode : int = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS

The filter mode to use for the filelist.

$recursive : bool = false
$sort : string = ''
$sortRev : bool = false
Tags
throws
InsufficientFolderReadPermissionsException
Return values
array<string|int, File>

getHashedIdentifier()

public getHashedIdentifier() : non-empty-string
Return values
non-empty-string

getIdentifier()

Returns the path of this folder inside the storage. It depends on the type of storage whether this is a real path or just some unique identifier.

public getIdentifier() : non-empty-string
Return values
non-empty-string

getModificationTime()

Returns the modification time of the file as Unix timestamp

public getModificationTime() : int
Return values
int

getName()

public getName() : string
Return values
string

getPublicUrl()

Returns a publicly accessible URL for this folder

public getPublicUrl() : string|null

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.

Return values
string|null

NULL if file is missing or deleted, the generated url otherwise

getReadablePath()

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

public getReadablePath([string $rootId = null ]) : string
Parameters
$rootId : string = null

ID of the root folder, NULL to auto-detect

Return values
string

getRole()

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

public getRole() : string
Return values
string

getSubfolders()

Returns a list of subfolders

public getSubfolders([int $start = 0 ][, int $numberOfItems = 0 ][, int $filterMode = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS ][, bool $recursive = false ]) : never
Parameters
$start : int = 0

The item to start at

$numberOfItems : int = 0

The number of items to return

$filterMode : int = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS

The filter mode to use for the filelist.

$recursive : bool = false
Tags
throws
InsufficientFolderReadPermissionsException
Return values
never

moveTo()

Moves folder to a target folder

public moveTo(Folder $targetFolder[, string $targetFolderName = null ][, string|DuplicationBehavior $conflictMode = DuplicationBehavior::RENAME ]) : Folder
Parameters
$targetFolder : Folder

Target folder to move to.

$targetFolderName : string = null

an optional destination fileName

$conflictMode : string|DuplicationBehavior = DuplicationBehavior::RENAME
Tags
throws
InsufficientFolderReadPermissionsException
Return values
Folder

New (copied) folder object.

searchFiles()

Returns a file search result based on the given demand.

public searchFiles(FileSearchDemand $searchDemand[, int $filterMode = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS ]) : FileSearchResultInterface

The result also includes matches in meta data fields that are defined in TCA.

Parameters
$searchDemand : FileSearchDemand
$filterMode : int = self::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS

The filter mode to use for the found files

Return values
FileSearchResultInterface

setFileAndFolderNameFilters()

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

public setFileAndFolderNameFilters(array<string|int, mixed> $filters) : never
Parameters
$filters : array<string|int, mixed>
Return values
never

setName()

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

public setName(string $name) : never
Parameters
$name : string

The new name

Return values
never

updateProperties()

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

public updateProperties(array<string|int, mixed> $properties) : never

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

Parameters
$properties : array<string|int, mixed>
Internal
Return values
never

prepareFiltersInStorage()

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

protected prepareFiltersInStorage(int $filterMode) : array<string|int, mixed>
Parameters
$filterMode : int

The filter mode to use; one of the FILTER_MODE_* constants

Return values
array<string|int, mixed>

The backed up filters as an array (NULL if filters were not backed up) and whether to use filters or not (bool)

restoreBackedUpFiltersInStorage()

Restores the filters of a storage.

protected restoreBackedUpFiltersInStorage(array<string|int, mixed> $backedUpFilters) : mixed
Parameters
$backedUpFilters : array<string|int, mixed>

The filters to restore; might be NULL if no filters have been backed up, in which case this method does nothing.

Tags
see
prepareFiltersInStorage()

        
On this page

Search results