FolderBasedFileCollection extends AbstractFileCollection

A collection containing a set of files to be represented as a (virtual) folder.

This collection is persisted to the database with the accordant folder reference.

Table of Contents

Properties

$description  : string
Collection description
$folder  : Folder
The folder
$itemsCriteria  : mixed
Field contents of $itemsCriteriaField. Defines which the items or search criteria for the items depending on the type (see self::$type above) of this file collection.
$itemsCriteriaField  : string
The name of the field items are handled with (usually either criteria, items or folder)
$itemTableName  : string
Name of the table records of this collection are stored in
$recursive  : bool
$storage  : SplDoublyLinkedList
The local storage
$storageItemsField  : string
The table name collections are stored to
$storageTableName  : string
The table name collections are stored to
$title  : string
Collection title
$type  : string
The type of file collection (see \TYPO3\CMS\Core\Collection\RecordCollectionRepository::TYPE constants)
$uid  : int
Uid of the storage

Methods

__construct()  : mixed
Creates this object.
__serialize()  : array<string|int, mixed>
Returns class state to be serialized.
__unserialize()  : void
Load records with the given serialized information
add()  : mixed
Adds a file to this collection.
addAll()  : mixed
Adds all files of another collection to the current one.
count()  : int
(PHP 5 >= 5.1.0) Count elements of an object
create()  : CollectionInterface
Creates a new collection objects and reconstitutes the given database record to the new object.
current()  : mixed
(PHP 5 >= 5.1.0) Return the current element
fromArray()  : mixed
Similar to method in \TYPO3\CMS\Core\Collection\AbstractRecordCollection, but without $this->itemTableName= $array['table_name'], but with $this->storageItemsFieldContent = $array[self::$storageItemsField];
getDescription()  : string
Getter for the description
getIdentifier()  : int
Returns the uid of the collection
getItems()  : array<string|int, mixed>
Gets the current available items.
getItemsCriteria()  : string
Gets the items criteria.
getItemTableName()  : string
Setter for the name of the data-source table
getTitle()  : string
Getter for the title
getUid()  : int
Getter for the UID
key()  : string
Return the key of the current element
load()  : CollectionInterface
Loads the collections with the given id from persistence
loadContents()  : mixed
Populates the content-entries of the storage
moveItemAt()  : mixed
Moves the item within the collection
next()  : mixed
(PHP 5 >= 5.1.0) Move forward to next element
persist()  : mixed
Persists current collection state to underlying storage
remove()  : mixed
Removes a file from this collection.
removeAll()  : mixed
Removes all elements of the current collection.
rewind()  : mixed
(PHP 5 >= 5.1.0) Rewind the Iterator to the first element
serialize()  : string
(PHP 5 >= 5.1.0) String representation of object
setDescription()  : mixed
Sets the description.
setIdentifier()  : mixed
Sets the identifier of the collection
setItemsCriteria()  : mixed
Sets the items criteria.
setItemTableName()  : mixed
Setter for the name of the data-source table
setTitle()  : mixed
Setter for the title
toArray()  : array<string|int, mixed>
Similar to method in \TYPO3\CMS\Core\Collection\AbstractRecordCollection, but without 'table_name' => $this->getItemTableName()
unserialize()  : mixed
(PHP 5 >= 5.1.0) Constructs the object
usort()  : mixed
Sorts collection via given callBackFunction
valid()  : bool
(PHP 5 >= 5.1.0) Checks if current position is valid
getCollectionDatabaseTable()  : string
getItemUidList()  : string
Generates comma-separated list of entry uids for usage in DataHandler
getPersistableDataArray()  : array<string|int, mixed>
Returns an array of the persistable properties and contents which are processable by DataHandler.

Properties

$description

Collection description

protected string $description

$itemsCriteria

Field contents of $itemsCriteriaField. Defines which the items or search criteria for the items depending on the type (see self::$type above) of this file collection.

protected mixed $itemsCriteria

$itemsCriteriaField

The name of the field items are handled with (usually either criteria, items or folder)

protected static string $itemsCriteriaField = 'folder'

$itemTableName

Name of the table records of this collection are stored in

protected string $itemTableName = 'sys_file'

$storage

The local storage

protected SplDoublyLinkedList $storage

$storageItemsField

The table name collections are stored to

protected static string $storageItemsField = 'items'

$storageTableName

The table name collections are stored to

protected static string $storageTableName = 'sys_file_collection'

$title

Collection title

protected string $title

$type

The type of file collection (see \TYPO3\CMS\Core\Collection\RecordCollectionRepository::TYPE constants)

protected static string $type = 'folder'

$uid

Uid of the storage

protected int $uid = 0

Methods

__construct()

Creates this object.

public __construct() : mixed

__serialize()

Returns class state to be serialized.

public __serialize() : array<string|int, mixed>
Return values
array<string|int, mixed>

__unserialize()

Load records with the given serialized information

public __unserialize(array<string|int, mixed> $arrayRepresentation) : void
Parameters
$arrayRepresentation : array<string|int, mixed>

addAll()

Adds all files of another collection to the current one.

public addAll(CollectionInterface $other) : mixed
Parameters
$other : CollectionInterface

count()

(PHP 5 >= 5.1.0) Count elements of an object

public count() : int
Tags
link
https://php.net/manual/en/countable.count.php
todo:

Set return type to in in v12 as breaking patch and drop #[\ReturnTypeWillChange]

Attributes
#[ReturnTypeWillChange]
Return values
int

The custom count as an integer.

create()

Creates a new collection objects and reconstitutes the given database record to the new object.

public static create(array<string|int, mixed> $collectionRecord[, bool $fillItems = false ]) : CollectionInterface
Parameters
$collectionRecord : array<string|int, mixed>

Database record

$fillItems : bool = false

Populates the entries directly on load, might be bad for memory on large collections

Return values
CollectionInterface

current()

(PHP 5 >= 5.1.0) Return the current element

public current() : mixed
Tags
link
https://php.net/manual/en/iterator.current.php
todo:

Set return type to mixed when PHP >= 8.0 is required and drop #[\ReturnTypeWillChange]

Attributes
#[ReturnTypeWillChange]
Return values
mixed

Can return any type.

fromArray()

Similar to method in \TYPO3\CMS\Core\Collection\AbstractRecordCollection, but without $this->itemTableName= $array['table_name'], but with $this->storageItemsFieldContent = $array[self::$storageItemsField];

public fromArray(array<string|int, mixed> $array) : mixed
Parameters
$array : array<string|int, mixed>

getDescription()

Getter for the description

public getDescription() : string
Return values
string

getIdentifier()

Returns the uid of the collection

public getIdentifier() : int
Return values
int

getItems()

Gets the current available items.

public getItems() : array<string|int, mixed>
Return values
array<string|int, mixed>

getItemsCriteria()

Gets the items criteria.

public getItemsCriteria() : string
Return values
string

getItemTableName()

Setter for the name of the data-source table

public getItemTableName() : string
Return values
string

getTitle()

Getter for the title

public getTitle() : string
Return values
string

getUid()

Getter for the UID

public getUid() : int
Return values
int

key()

Return the key of the current element

public key() : string
Attributes
#[ReturnTypeWillChange]
Return values
string

load()

Loads the collections with the given id from persistence

public static load(int $id[, bool $fillItems = false ]) : CollectionInterface

For memory reasons, per default only f.e. title, database-table, identifier (what ever static data is defined) is loaded. Entries can be load on first access.

Parameters
$id : int

Id of database record to be loaded

$fillItems : bool = false

Populates the entries directly on load, might be bad for memory on large collections

Return values
CollectionInterface

loadContents()

Populates the content-entries of the storage

public loadContents() : mixed

Queries the underlying storage for entries of the collection and adds them to the collection data.

If the content entries of the storage had not been loaded on creation ($fillItems = false) this function is to be used for loading the contents afterwards.

moveItemAt()

Moves the item within the collection

public moveItemAt(int $currentPosition[, int $newPosition = 0 ]) : mixed

the item at $currentPosition will be moved to $newPosition. Omitting $newPosition will move to top.

Parameters
$currentPosition : int
$newPosition : int = 0

persist()

Persists current collection state to underlying storage

public persist() : mixed

remove()

Removes a file from this collection.

public remove(File $file) : mixed
Parameters
$file : File

removeAll()

Removes all elements of the current collection.

public removeAll() : mixed

setDescription()

Sets the description.

public setDescription(string $description) : mixed
Parameters
$description : string

setIdentifier()

Sets the identifier of the collection

public setIdentifier(int $id) : mixed
Parameters
$id : int

setItemsCriteria()

Sets the items criteria.

public setItemsCriteria(mixed $itemsCriteria) : mixed
Parameters
$itemsCriteria : mixed

setItemTableName()

Setter for the name of the data-source table

public setItemTableName(string $tableName) : mixed
Parameters
$tableName : string

setTitle()

Setter for the title

public setTitle(string $title) : mixed
Parameters
$title : string

toArray()

Similar to method in \TYPO3\CMS\Core\Collection\AbstractRecordCollection, but without 'table_name' => $this->getItemTableName()

public toArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

unserialize()

(PHP 5 >= 5.1.0) Constructs the object

public unserialize(string $serialized) : mixed
Parameters
$serialized : string

The string representation of the object

Tags
link
https://php.net/manual/en/serializable.unserialize.php
todo:

Drop method and \Serializable (through parent interface) class interface in v12.

Return values
mixed

the original value unserialized.

usort()

Sorts collection via given callBackFunction

public usort(callable $callbackFunction) : mixed

The comparison function given as must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.

Parameters
$callbackFunction : callable
Tags
see
http://www.php.net/manual/en/function.usort.php

valid()

(PHP 5 >= 5.1.0) Checks if current position is valid

public valid() : bool
Tags
link
https://php.net/manual/en/iterator.valid.php
todo:

Set return type to bool in v12 as breaking patch and drop #[\ReturnTypeWillChange]

Attributes
#[ReturnTypeWillChange]
Return values
bool

The return value will be casted to boolean and then evaluated.

getCollectionDatabaseTable()

protected static getCollectionDatabaseTable() : string
Return values
string

getItemUidList()

Generates comma-separated list of entry uids for usage in DataHandler

protected getItemUidList([bool $includeTableName = false ]) : string
Parameters
$includeTableName : bool = false
Return values
string

getPersistableDataArray()

Returns an array of the persistable properties and contents which are processable by DataHandler.

protected getPersistableDataArray() : array<string|int, mixed>
Return values
array<string|int, mixed>

        
On this page

Search results