if($file){ if($user){ $file->setOwner($user); } else{ $file->setOwner($this->adminUser); } // Change the file status to be temporary.
$file->setTemporary(); // Save the changes.
$file->save(); }
return$file; }
/**
* Tests upload and remove buttons for a single-valued File field.
*/ publicfunctiontestSingleValuedWidget(){
publicfunctiondelete(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(); } }
}
// Enable marking unused files as temporary, unused permanent files must not
// be referenced now.
$this->config('file.settings') ->set('make_unused_managed_files_temporary', TRUE) ->save(); $this->drupalGet('file/test/1/0/1/' . $file->id()); $this->submitForm([], 'Save'); $this->assertSession()->pageTextContains('The file used in the Managed file & butter field may not be referenced.'); $this->assertSession()->pageTextNotContains('The file ids are ' . $file->id());
// Make the file temporary, now using it is allowed.
$file->setTemporary(); $file->save();