You are here

public static function FileMediaFormatterBase::isApplicable in Drupal 8

Same name and namespace in other branches
  1. 9 core/modules/file/src/Plugin/Field/FieldFormatter/FileMediaFormatterBase.php \Drupal\file\Plugin\Field\FieldFormatter\FileMediaFormatterBase::isApplicable()
  2. 10 core/modules/file/src/Plugin/Field/FieldFormatter/FileMediaFormatterBase.php \Drupal\file\Plugin\Field\FieldFormatter\FileMediaFormatterBase::isApplicable()

Returns if the formatter can be used for the provided field.

Parameters

\Drupal\Core\Field\FieldDefinitionInterface $field_definition: The field definition that should be checked.

Return value

bool TRUE if the formatter can be used, FALSE otherwise.

Overrides FormatterBase::isApplicable

File

core/modules/file/src/Plugin/Field/FieldFormatter/FileMediaFormatterBase.php, line 74

Class

FileMediaFormatterBase
Base class for media file formatter.

Namespace

Drupal\file\Plugin\Field\FieldFormatter

Code

public static function isApplicable(FieldDefinitionInterface $field_definition) {
  if (!parent::isApplicable($field_definition)) {
    return FALSE;
  }

  /** @var \Symfony\Component\HttpFoundation\File\MimeType\MimeTypeGuesserInterface $extension_mime_type_guesser */
  $extension_mime_type_guesser = \Drupal::service('file.mime_type.guesser.extension');
  $extension_list = array_filter(preg_split('/\\s+/', $field_definition
    ->getSetting('file_extensions')));
  foreach ($extension_list as $extension) {
    $mime_type = $extension_mime_type_guesser
      ->guess('fakedFile.' . $extension);
    if (static::mimeTypeApplies($mime_type)) {
      return TRUE;
    }
  }
  return FALSE;
}