You are here

protected function AddMediaFormBase::getUploadValidators in Media Directories 2.x

Same name and namespace in other branches
  1. 8 modules/media_directories_ui/src/Form/AddMediaFormBase.php \Drupal\media_directories_ui\Form\AddMediaFormBase::getUploadValidators()

Returns the upload validators for a field.

Parameters

\Drupal\media\MediaTypeInterface $media_type: The array of field settings.

Return value

array The file fields upload validators argument.

Throws

\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException

\Drupal\Component\Plugin\Exception\PluginNotFoundException

2 calls to AddMediaFormBase::getUploadValidators()
FileUploadForm::buildInputElement in modules/media_directories_ui/src/Form/FileUploadForm.php
Inheriting classes need to build the desired input element.
MediaCombinedUploadForm::buildInputElement in modules/media_directories_ui/src/Form/MediaCombinedUploadForm.php
Inheriting classes need to build the desired input element.

File

modules/media_directories_ui/src/Form/AddMediaFormBase.php, line 220

Class

AddMediaFormBase
Class AddMediaFormBase.

Namespace

Drupal\media_directories_ui\Form

Code

protected function getUploadValidators(MediaTypeInterface $media_type) {
  $upload_validators = $this
    ->createFileItem($media_type)
    ->getUploadValidators();
  $source_field = $media_type
    ->getSource()
    ->getConfiguration()['source_field'];
  $field_config = $this->entityTypeManager
    ->getStorage('field_config')
    ->load('media.' . $media_type
    ->id() . '.' . $source_field);
  if ($field_config
    ->getSetting('max_resolution') || $field_config
    ->getSetting('min_resolution')) {
    $upload_validators['file_validate_is_image'] = [];
    $upload_validators['file_validate_image_resolution'] = [
      $field_config
        ->getSetting('max_resolution'),
      $field_config
        ->getSetting('min_resolution'),
    ];
  }
  if (!isset($upload_validators['file_validate_size'])) {
    $max_filesize = Environment::getUploadMaxSize();
    $upload_validators['file_validate_size'] = [
      $max_filesize,
    ];
  }
  return $upload_validators;
}