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
$storage
The storage this folder belongs to.
protected
ResourceStorage
$storage
Methods
__construct()
Initialization of the folder
public
__construct(ResourceStorage $storage, string $identifier, string $name) : mixed
Parameters
- $storage : ResourceStorage
- $identifier : string
- $name : string
addFile()
Adds a file from the local server disk. If the file already exists and overwriting is disabled,
public
addFile(string $localFilePath[, string $fileName = null ][, string|DuplicationBehavior $conflictMode = DuplicationBehavior::CANCEL ]) : File
Parameters
- $localFilePath : string
- $fileName : string = null
- $conflictMode : string|DuplicationBehavior = DuplicationBehavior::CANCEL
Tags
Return values
File —The file object
addUploadedFile()
Adds an uploaded file into the Storage.
public
addUploadedFile(array<string|int, mixed> $uploadedFileData[, string|DuplicationBehavior $conflictMode = DuplicationBehavior::CANCEL ]) : FileInterface
Parameters
- $uploadedFileData : array<string|int, mixed>
-
contains information about the uploaded file given by $_FILES['file1']
- $conflictMode : string|DuplicationBehavior = DuplicationBehavior::CANCEL
Tags
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
boolcopyTo()
Copies folder to a target folder
public
copyTo(Folder $targetFolder[, string $targetFolderName = null ][, string|DuplicationBehavior $conflictMode = DuplicationBehavior::RENAME ]) : Folder
Parameters
- $targetFolder : Folder
-
Target folder to copy to.
- $targetFolderName : string = null
-
an optional destination fileName
- $conflictMode : string|DuplicationBehavior = DuplicationBehavior::RENAME
Tags
Return values
Folder —New (copied) folder object.
createFile()
Creates a new blank file
public
createFile(string $fileName) : File
Parameters
- $fileName : string
Tags
Return values
File —The new file object
createFolder()
Creates a new folder
public
createFolder(string $folderName) : Folder
Parameters
- $folderName : string
Tags
Return values
Folder —The new 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
Return values
nevergetCombinedIdentifier()
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
intgetFile()
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|nullgetFileCount()
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
Return values
intgetFiles()
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
Return values
array<string|int, File>getHashedIdentifier()
public
getHashedIdentifier() : non-empty-string
Return values
non-empty-stringgetIdentifier()
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-stringgetModificationTime()
Returns the modification time of the file as Unix timestamp
public
getModificationTime() : int
Return values
intgetName()
public
getName() : string
Return values
stringgetParentFolder()
Returns the parent folder.
public
getParentFolder() : FolderInterface
In non-hierarchical storages, that always is the root folder.
The parent folder of the root folder is the root folder.
Tags
Return values
FolderInterfacegetPublicUrl()
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
stringgetRole()
Returns the role of this folder (if any). See FolderInterface::ROLE_* constants for possible values.
public
getRole() : string
Return values
stringgetStorage()
public
getStorage() : ResourceStorage
Return values
ResourceStoragegetSubfolder()
Returns the object for a subfolder of the current folder, if it exists.
public
getSubfolder(string $name) : never
Parameters
- $name : string
-
Name of the subfolder
Tags
Return values
nevergetSubfolders()
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
Return values
neverhasFile()
Checks if a file exists in this folder
public
hasFile(string $name) : never
Parameters
- $name : string
Tags
Return values
neverhasFolder()
Checks if a folder exists in this folder.
public
hasFolder(string $name) : never
Parameters
- $name : string
Tags
Return values
nevermoveTo()
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
Return values
Folder —New (copied) folder object.
rename()
Renames this folder.
public
rename(string $newName) : $this
Parameters
- $newName : string
Tags
Return values
$thissearchFiles()
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
FileSearchResultInterfacesetFileAndFolderNameFilters()
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
neversetName()
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
neverupdateProperties()
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>
Return values
neverprepareFiltersInStorage()
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
throwInaccessibleException()
Throws an Exception, used to prevent duplicate code in all the methods
protected
throwInaccessibleException() : never