Drupal 8.0.0 beta 12. More info: https://www.drupal.org/node/2514176
This commit is contained in:
commit
9921556621
13277 changed files with 1459781 additions and 0 deletions
40
core/modules/file/src/FileUsage/FileUsageBase.php
Normal file
40
core/modules/file/src/FileUsage/FileUsageBase.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file
|
||||
* Contains \Drupal\file\FileUsage\FileUsageBase.
|
||||
*/
|
||||
|
||||
namespace Drupal\file\FileUsage;
|
||||
|
||||
use Drupal\file\FileInterface;
|
||||
|
||||
/**
|
||||
* Defines the base class for database file usage backend.
|
||||
*/
|
||||
abstract class FileUsageBase implements FileUsageInterface {
|
||||
|
||||
/**
|
||||
* Implements Drupal\file\FileUsage\FileUsageInterface::add().
|
||||
*/
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Implements Drupal\file\FileUsage\FileUsageInterface::delete().
|
||||
*/
|
||||
public function delete(FileInterface $file, $module, $type = NULL, $id = NULL, $count = 1) {
|
||||
// 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();
|
||||
}
|
||||
}
|
||||
}
|
Reference in a new issue