You are here

protected function CustomSearchBlock::validatePath in Custom Search 8

Helper function for the form.

Attempts to validate normal system paths, paths relative to the public files directory, or stream wrapper URIs. If the given path is any of the above, returns a valid path or URI that the theme system can display.

Parameters

string $path: A path relative to the Drupal root or to the public files directory, or a stream wrapper URI.

Return value

mixed A valid path that can be displayed through the theme system, or FALSE if the path could not be validated.

2 calls to CustomSearchBlock::validatePath()
CustomSearchBlock::blockSubmit in src/Plugin/Block/CustomSearchBlock.php
Overrides \Drupal\block\BlockBase::blockSubmit().
CustomSearchBlock::blockValidate in src/Plugin/Block/CustomSearchBlock.php
Overrides \Drupal\block\BlockBase::blockValidate().

File

src/Plugin/Block/CustomSearchBlock.php, line 1266

Class

CustomSearchBlock
Provides a 'Custom Search form' block.

Namespace

Drupal\custom_search\Plugin\Block

Code

protected function validatePath($path) {

  // Absolute local file paths are invalid.
  if (\Drupal::service('file_system')
    ->realpath($path) == $path) {
    return FALSE;
  }

  // A path relative to the Drupal root or a fully qualified URI is valid.
  if (is_file($path)) {
    return $path;
  }

  // Prepend 'public://' for relative file paths within public filesystem.
  if (StreamWrapperManager::getScheme($path) === FALSE) {
    $path = 'public://' . $path;
  }
  if (is_file($path)) {
    return $path;
  }
  return FALSE;
}