function drupal_check_module
Same name in other branches
- 7.x includes/install.inc \drupal_check_module()
- 9 core/includes/install.inc \drupal_check_module()
- 8.9.x core/includes/install.inc \drupal_check_module()
- 10 core/includes/install.inc \drupal_check_module()
Checks a module's requirements.
Parameters
string $module: Machine name of module to check.
Return value
bool TRUE or FALSE, depending on whether the requirements are met.
3 calls to drupal_check_module()
- InstallRequirementsTest::testRequirements in core/
tests/ Drupal/ KernelTests/ Core/ Installer/ InstallRequirementsTest.php - Confirm installer checks requirements in designated classes.
- InstallRequirementsTest::testRequirementsFailure in core/
tests/ Drupal/ KernelTests/ Core/ Installer/ InstallRequirementsTest.php - Tests that the installer returns false if module requirements are not met.
- ModulesListForm::buildModuleList in core/
modules/ system/ src/ Form/ ModulesListForm.php - Helper function for building a list of modules to install.
File
-
core/
includes/ install.inc, line 667
Code
function drupal_check_module($module) {
/** @var \Drupal\Core\Extension\ModuleExtensionList $module_list */
$module_list = \Drupal::service('extension.list.module');
$extension = $module_list->get($module);
$file = \Drupal::root() . '/' . $extension->getPath() . "/{$module}.install";
if (is_file($file)) {
require_once $file;
}
// Check requirements
$requirements = \Drupal::moduleHandler()->invoke($module, 'requirements', [
'install',
]) ?? [];
$requirements = array_merge($requirements, install_check_class_requirements($extension));
if (!empty($requirements) && drupal_requirements_severity($requirements) == REQUIREMENT_ERROR) {
// Print any error messages
foreach ($requirements as $requirement) {
if (isset($requirement['severity']) && $requirement['severity'] == REQUIREMENT_ERROR) {
$message = $requirement['description'];
if (isset($requirement['value']) && $requirement['value']) {
$message = t('@requirements_message (Currently using @item version @version)', [
'@requirements_message' => $requirement['description'],
'@item' => $requirement['title'],
'@version' => $requirement['value'],
]);
}
\Drupal::messenger()->addError($message);
}
}
return FALSE;
}
return TRUE;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.