public function FeaturesManager::getAllModules in Features 8.4
Same name and namespace in other branches
- 8.3 src/FeaturesManager.php \Drupal\features\FeaturesManager::getAllModules()
Returns a list of all modules present on the site's file system.
Return value
Drupal\Core\Extension\Extension[] An array of extension objects.
Overrides FeaturesManagerInterface::getAllModules
2 calls to FeaturesManager::getAllModules()
- FeaturesManager::getFeaturesModules in src/
FeaturesManager.php - Returns a list of Features modules regardless of if they are installed.
- TestFeaturesManager::getAllModules in tests/
src/ Unit/ FeaturesManagerTest.php - Returns a list of all modules present on the site's file system.
1 method overrides FeaturesManager::getAllModules()
- TestFeaturesManager::getAllModules in tests/
src/ Unit/ FeaturesManagerTest.php - Returns a list of all modules present on the site's file system.
File
- src/
FeaturesManager.php, line 464
Class
- FeaturesManager
- The FeaturesManager provides helper functions for building packages.
Namespace
Drupal\featuresCode
public function getAllModules() {
static $modules;
if (!isset($modules)) {
// ModuleHandler::getModuleDirectories() returns data only for installed
// modules. system_rebuild_module_data() includes only the site's install
// profile directory, while we may need to include a custom profile.
// @see _system_rebuild_module_data().
$listing = new ExtensionDiscovery($this->root);
$profile_directories = $listing
->setProfileDirectoriesFromSettings()
->getProfileDirectories();
$installed_profile = $this
->drupalGetProfile();
if (isset($bundle) && $bundle
->isProfile()) {
$profile_directory = 'profiles/' . $bundle
->getProfileName();
if ($bundle
->getProfileName() != $installed_profile && is_dir($profile_directory)) {
$profile_directories[] = $profile_directory;
}
}
$listing
->setProfileDirectories($profile_directories);
// Find modules.
$modules = $listing
->scan('module');
// Find installation profiles.
$profiles = $listing
->scan('profile');
foreach ($profiles as $key => $profile) {
$modules[$key] = $profile;
}
}
return $modules;
}