Same name and namespace in other branches
  1. 10 core/includes/install.inc \drupal_check_profile()
  2. 6.x includes/install.inc \drupal_check_profile()
  3. 7.x includes/install.inc \drupal_check_profile()
  4. 8.9.x core/includes/install.inc \drupal_check_profile()
  5. 9 core/includes/install.inc \drupal_check_profile()

Check a profile's requirements.

Parameters

profile: Name of profile to check.

1 call to drupal_check_profile()
install_check_requirements in ./install.php
Page to check installation requirements and report any errors.

File

includes/install.inc, line 678

Code

function drupal_check_profile($profile) {
  include_once './includes/file.inc';
  include_once './includes/common.inc';
  $profile_file = "./profiles/{$profile}/{$profile}.profile";
  if (!isset($profile) || !file_exists($profile_file)) {
    install_no_profile_error();
  }
  require_once $profile_file;

  // Get a list of modules required by this profile.
  $function = $profile . '_profile_modules';
  $module_list = array_unique(array_merge(array(
    'system',
  ), $function()));

  // Get a list of all .install files.
  $installs = drupal_get_install_files($module_list);

  // Collect requirement testing results
  $requirements = array();
  foreach ($installs as $install) {
    require_once $install->filename;
    if (module_hook($install->name, 'requirements')) {
      $requirements = array_merge($requirements, module_invoke($install->name, 'requirements', 'install'));
    }
  }
  return $requirements;
}