You are here

protected function WildcardFileFinder::validateCandidate in X Autoload 7.4

Same name and namespace in other branches
  1. 7.5 src/Discovery/WildcardFileFinder.php \Drupal\xautoload\Discovery\WildcardFileFinder::validateCandidate()

Parameters

$candidate: String to be checked against the wildcard.

$wildcard: Wildcard string like '*', '*.*' or '*.inc'.

Return value

bool TRUE, if $candidate matches $wildcard.

1 call to WildcardFileFinder::validateCandidate()
WildcardFileFinder::scanDirectoryLevel in lib/Discovery/WildcardFileFinder.php

File

lib/Discovery/WildcardFileFinder.php, line 180

Class

WildcardFileFinder
Scan directories for wildcard files[] instructions in a module's info file.

Namespace

Drupal\xautoload\Discovery

Code

protected function validateCandidate($candidate, $wildcard) {
  if ($candidate == '.' || $candidate == '..') {
    return FALSE;
  }
  if (strpos($candidate, '*') !== FALSE) {
    return FALSE;
  }
  if ($wildcard == '*' || $wildcard == '**') {
    return TRUE;
  }

  // More complex wildcard string.
  $fragments = array();
  foreach (explode('*', $wildcard) as $fragment) {
    $fragments[] = preg_quote($fragment);
  }
  $regex = implode('.*', $fragments);
  return preg_match("/^{$regex}\$/", $candidate);
}