class FileUsageBase
Same name in other branches
- 9 core/modules/file/src/FileUsage/FileUsageBase.php \Drupal\file\FileUsage\FileUsageBase
- 8.9.x core/modules/file/src/FileUsage/FileUsageBase.php \Drupal\file\FileUsage\FileUsageBase
- 11.x core/modules/file/src/FileUsage/FileUsageBase.php \Drupal\file\FileUsage\FileUsageBase
Defines the base class for database file usage backend.
Hierarchy
- class \Drupal\file\FileUsage\FileUsageBase implements \Drupal\file\FileUsage\FileUsageInterface
Expanded class hierarchy of FileUsageBase
1 file declares its use of FileUsageBase
- TestFileUsage.php in core/
modules/ system/ tests/ modules/ service_provider_test/ src/ TestFileUsage.php
File
-
core/
modules/ file/ src/ FileUsage/ FileUsageBase.php, line 11
Namespace
Drupal\file\FileUsageView source
abstract class FileUsageBase implements FileUsageInterface {
/**
* The config factory.
*
* @var \Drupal\Core\Config\ConfigFactoryInterface
*/
protected $configFactory;
/**
* Creates a FileUsageBase object.
*
* @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
* The config factory.
*/
public function __construct(ConfigFactoryInterface $config_factory) {
$this->configFactory = $config_factory;
}
/**
* {@inheritdoc}
*/
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();
}
}
/**
* {@inheritdoc}
*/
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();
}
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
FileUsageBase::$configFactory | protected | property | The config factory. | ||
FileUsageBase::add | public | function | Records that a module is using a file. | Overrides FileUsageInterface::add | 2 |
FileUsageBase::delete | public | function | Removes a record to indicate that a module is no longer using a file. | Overrides FileUsageInterface::delete | 2 |
FileUsageBase::__construct | public | function | Creates a FileUsageBase object. | 1 | |
FileUsageInterface::listUsage | public | function | Determines where a file is used. | 2 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.