You are here

function media_directories_ui_file_validator in Media Directories 2.x

Same name and namespace in other branches
  1. 8 modules/media_directories_ui/media_directories_ui.module \media_directories_ui_file_validator()

Wrapper validator callback to do the actual file validations.

Parameters

\Drupal\file\FileInterface $file: A file entity.

array $validators_by_media_type: All validators per media type.

Return value

array An empty array if the file is accepted or error message(s) if it's not.

See also

hook_file_validate()

File

modules/media_directories_ui/media_directories_ui.module, line 342
Main module file.

Code

function media_directories_ui_file_validator(FileInterface $file, array $validators_by_media_type) {
  $errors = [];
  $ui_helper = \Drupal::service('media_directories_ui.helper');

  /** @var \Drupal\media\Entity\MediaType $media_type */
  $media_type = $ui_helper
    ->getMediaType($file);
  if ($media_type != NULL) {
    $errors = file_validate($file, $validators_by_media_type[$media_type
      ->id()]);
  }
  else {
    $errors[] = t('Only files with the following extensions are allowed: %files-allowed.', [
      '%files-allowed' => $ui_helper
        ->getValidExtensions(),
    ]);
  }
  return $errors;
}