You are here

protected function GinLoginConfigurationForm::validatePath in Gin Login 8

Helper function for the system_theme_settings form.

Attempt 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 GinLoginConfigurationForm::validatePath()
GinLoginConfigurationForm::submitForm in src/Form/GinLoginConfigurationForm.php
Form submission handler.
GinLoginConfigurationForm::validateForm in src/Form/GinLoginConfigurationForm.php
Form validation handler.

File

src/Form/GinLoginConfigurationForm.php, line 234

Class

GinLoginConfigurationForm
Class SettingsForm.

Namespace

Drupal\gin_login\Form

Code

protected function validatePath($path) {
  $file_system = \Drupal::service('file_system');

  // Absolute local file paths are invalid.
  if ($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;
}