You are here

public function FileUsageBase::add in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/file/src/FileUsage/FileUsageBase.php \Drupal\file\FileUsage\FileUsageBase::add()

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

\Drupal\file\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.

Overrides FileUsageInterface::add

1 call to FileUsageBase::add()
DatabaseFileUsageBackend::add in core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php
Records that a module is using a file.
2 methods override FileUsageBase::add()
DatabaseFileUsageBackend::add in core/modules/file/src/FileUsage/DatabaseFileUsageBackend.php
Records that a module is using a file.
TestFileUsage::add in core/modules/system/tests/modules/service_provider_test/src/TestFileUsage.php
Records that a module is using a file.

File

core/modules/file/src/FileUsage/FileUsageBase.php, line 33

Class

FileUsageBase
Defines the base class for database file usage backend.

Namespace

Drupal\file\FileUsage

Code

public function add(FileInterface $file, $module, $type, $id, $count = 1) {

  // Make sure that a used file is permanent.
  if (!$file
    ->isPermanent()) {
    $file
      ->setPermanent();
    $file
      ->save();
  }
}