You are here

protected function LinkToFileConstraint::hasValidExtension in File Link 2.0.x

Same name and namespace in other branches
  1. 8 src/Plugin/Validation/Constraint/LinkToFileConstraint.php \Drupal\file_link\Plugin\Validation\Constraint\LinkToFileConstraint::hasValidExtension()

Check whereas basename has a valid extension.

Validation copied from file_validate_extensions() with the only difference that file basename should be parsed for basename, to avoid issue with the query parameters passed.

Parameters

string $basename: URL path basename.

\Drupal\file_link\Plugin\Field\FieldType\FileLinkItem $link: Link item.

Return value

bool Whereas basename has a valid extension.

See also

file_validate_extensions()

1 call to LinkToFileConstraint::hasValidExtension()
LinkToFileConstraint::validate in src/Plugin/Validation/Constraint/LinkToFileConstraint.php

File

src/Plugin/Validation/Constraint/LinkToFileConstraint.php, line 179

Class

LinkToFileConstraint
Validation constraint for file_link, checking that URI points to a file.

Namespace

Drupal\file_link\Plugin\Validation\Constraint

Code

protected function hasValidExtension($basename, FileLinkItem $link) {
  $extensions = trim($link
    ->getFieldDefinition()
    ->getSetting('file_extensions'));
  if (!empty($extensions)) {
    $regex = '/\\.(' . preg_replace('/ +/', '|', preg_quote($extensions)) . ')$/i';
    return (bool) preg_match($regex, parse_url($basename, PHP_URL_PATH)) !== FALSE;
  }
  return TRUE;
}