You are here

interface FileAccessFormatterControlHandlerInterface in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/file/src/FileAccessFormatterControlHandlerInterface.php \Drupal\file\FileAccessFormatterControlHandlerInterface
  2. 10 core/modules/file/src/FileAccessFormatterControlHandlerInterface.php \Drupal\file\FileAccessFormatterControlHandlerInterface

Defines an interface for file access handlers that need to run on file formatters.

\Drupal\Core\Field\Plugin\Field\FieldFormatter\EntityReferenceFormatterBase, which file and image formatters extend, checks 'view' access on the referenced files before displaying them. That check would be useless and costly with Core's default access control implementation for files (\Drupal\file\FileAccessControlHandler grants access based on whether there are existing entities with granted access that reference the file). But it might be needed if a different access control handler with different logic is swapped in.

\Drupal\file\Plugin\Field\FieldFormatter\FileFormatterBase thus adjusts that behavior, and only checks access if the access control handler in use for files opts in by implementing this interface.

Hierarchy

Expanded class hierarchy of FileAccessFormatterControlHandlerInterface

All classes that implement FileAccessFormatterControlHandlerInterface

See also

\Drupal\file\Plugin\Field\FieldFormatter\FileFormatterBase::needsAccessCheck()

1 file declares its use of FileAccessFormatterControlHandlerInterface
FileTestAccessControlHandler.php in core/modules/file/tests/file_test/src/FileTestAccessControlHandler.php

File

core/modules/file/src/FileAccessFormatterControlHandlerInterface.php, line 25

Namespace

Drupal\file
View source
interface FileAccessFormatterControlHandlerInterface extends EntityAccessControlHandlerInterface {

}

Members

Namesort descending Modifiers Type Description Overrides
EntityAccessControlHandlerInterface::access public function Checks access to an operation on a given entity or entity translation. 1
EntityAccessControlHandlerInterface::createAccess public function Checks access to create an entity. 1
EntityAccessControlHandlerInterface::fieldAccess public function Checks access to an operation on a given entity field. 1
EntityAccessControlHandlerInterface::resetCache public function Clears all cached access checks. 1
EntityAccessControlHandlerInterface::setModuleHandler public function Sets the module handler for this access control handler.