function ExtensionDiscovery::filterByProfileDirectories
Same name in other branches
- 9 core/lib/Drupal/Core/Extension/ExtensionDiscovery.php \Drupal\Core\Extension\ExtensionDiscovery::filterByProfileDirectories()
- 8.9.x core/lib/Drupal/Core/Extension/ExtensionDiscovery.php \Drupal\Core\Extension\ExtensionDiscovery::filterByProfileDirectories()
- 11.x core/lib/Drupal/Core/Extension/ExtensionDiscovery.php \Drupal\Core\Extension\ExtensionDiscovery::filterByProfileDirectories()
Filters out extensions not belonging to the scanned installation profiles.
Parameters
\Drupal\Core\Extension\Extension[] $all_files: The list of all extensions.
Return value
\Drupal\Core\Extension\Extension[] The filtered list of extensions.
1 call to ExtensionDiscovery::filterByProfileDirectories()
- ExtensionDiscovery::scan in core/
lib/ Drupal/ Core/ Extension/ ExtensionDiscovery.php - Discovers available extensions of a given type.
File
-
core/
lib/ Drupal/ Core/ Extension/ ExtensionDiscovery.php, line 288
Class
- ExtensionDiscovery
- Discovers available extensions in the filesystem.
Namespace
Drupal\Core\ExtensionCode
protected function filterByProfileDirectories(array $all_files) {
if (empty($this->profileDirectories)) {
return $all_files;
}
$all_files = array_filter($all_files, function ($file) {
if (!str_starts_with($file->subpath, 'profiles')) {
// This extension doesn't belong to a profile, ignore it.
return TRUE;
}
foreach ($this->profileDirectories as $profile_path) {
if (str_starts_with($file->getPath(), $profile_path)) {
// Parent profile found.
return TRUE;
}
}
return FALSE;
});
return $all_files;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.