class DatabaseFileUsageBackend extends FileUsageBase (View source)

Defines the database file usage backend. This is the default Drupal backend.

Properties

protected ConfigFactoryInterface $configFactory

The config factory.

from  FileUsageBase
protected Connection $connection

The database connection used to store file usage information.

protected string $tableName

The name of the SQL table used to store file usage information.

Methods

__construct(ConfigFactoryInterface $config_factory, Connection $connection, string $table = 'file_usage')

Construct the DatabaseFileUsageBackend.

add(FileInterface $file, string $module, string $type, string $id, int $count = 1)

Records that a module is using a file.

delete(FileInterface $file, string $module, string $type = NULL, string $id = NULL, int $count = 1)

Removes a record to indicate that a module is no longer using a file.

array
listUsage(FileInterface $file)

Determines where a file is used.

Details

__construct(ConfigFactoryInterface $config_factory, Connection $connection, string $table = 'file_usage')

Construct the DatabaseFileUsageBackend.

Parameters

ConfigFactoryInterface $config_factory

The config factory.

Connection $connection

The database connection which will be used to store the file usage information.

string $table

(optional) The table to store file usage info. Defaults to 'file_usage'.

add(FileInterface $file, string $module, string $type, string $id, int $count = 1)

Records that a module is using a file.

Examples:

  • A module that associates files with nodes, so $type would be 'node' and $id would be the node's nid. Files for all revisions are stored within a single nid.
  • The User module associates an image with a user, so $type would be 'user' and the $id would be the user's uid.

Parameters

FileInterface $file

A file entity.

string $module

The name of the module using the file.

string $type

The type of the object that contains the referenced file.

string $id

The unique ID of the object containing the referenced file.

int $count

(optional) The number of references to add to the object. Defaults to 1.

delete(FileInterface $file, string $module, string $type = NULL, string $id = NULL, int $count = 1)

Removes a record to indicate that a module is no longer using a file.

Parameters

FileInterface $file

A file entity.

string $module

The name of the module using the file.

string $type

(optional) The type of the object that contains the referenced file. May be omitted if all module references to a file are being deleted. Defaults to NULL.

string $id

(optional) The unique ID of the object containing the referenced file. May be omitted if all module references to a file are being deleted. Defaults to NULL.

int $count

(optional) The number of references to delete from the object. Defaults to 1. Zero may be specified to delete all references to the file within a specific object.

array listUsage(FileInterface $file)

Determines where a file is used.

Parameters

FileInterface $file

A file entity.

Return Value

array

A nested array with usage data. The first level is keyed by module name, the second by object type and the third by the object id. The value of the third level contains the usage count.