public function FileUsageBase::delete in Drupal 10
Same name and namespace in other branches
- 8 core/modules/file/src/FileUsage/FileUsageBase.php \Drupal\file\FileUsage\FileUsageBase::delete()
- 9 core/modules/file/src/FileUsage/FileUsageBase.php \Drupal\file\FileUsage\FileUsageBase::delete()
Removes a record to indicate that a module is no longer using a file.
Parameters
\Drupal\file\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.
Overrides FileUsageInterface::delete
2 methods override FileUsageBase::delete()
- DatabaseFileUsageBackend::delete in core/
modules/ file/ src/ FileUsage/ DatabaseFileUsageBackend.php - Removes a record to indicate that a module is no longer using a file.
- TestFileUsage::delete in core/
modules/ system/ tests/ modules/ service_provider_test/ src/ TestFileUsage.php - Removes a record to indicate that a module is no longer using a file.
File
- core/
modules/ file/ src/ FileUsage/ FileUsageBase.php, line 44
Class
- FileUsageBase
- Defines the base class for database file usage backend.
Namespace
Drupal\file\FileUsageCode
public function delete(FileInterface $file, $module, $type = NULL, $id = NULL, $count = 1) {
// Do not actually mark files as temporary when the behavior is disabled.
if (!$this->configFactory
->get('file.settings')
->get('make_unused_managed_files_temporary')) {
return;
}
// If there are no more remaining usages of this file, mark it as temporary,
// which result in a delete through system_cron().
$usage = \Drupal::service('file.usage')
->listUsage($file);
if (empty($usage)) {
$file
->setTemporary();
$file
->save();
}
}