drupal_verify_profile

5 install.inc drupal_verify_profile($profile, $locale)
6 install.inc drupal_verify_profile($profile, $locale)
7 install.inc drupal_verify_profile($install_state)
8 install.inc drupal_verify_profile($install_state)

Verify a profile for installation.

Parameters

profile: Name of profile to verify.

locale: Name of locale used (if any).

Return value

The list of modules to install.

1 call to drupal_verify_profile()

File

includes/install.inc, line 269

Code

function drupal_verify_profile($profile, $locale) {
  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_merge(drupal_required_modules(), $function(), ($locale != 'en' && !empty($locale) ? array('locale') : array()));

  // Get a list of modules that exist in Drupal's assorted subdirectories.
  $present_modules = array();
  foreach (drupal_system_listing('\.module$', 'modules', 'name', 0) as $present_module) {
    $present_modules[] = $present_module->name;
  }

  // Verify that all of the profile's required modules are present.
  $missing_modules = array_diff($module_list, $present_modules);
  if (count($missing_modules)) {
    foreach ($missing_modules as $module) {
      drupal_set_message(st('The %module module is required but was not found. Please move it into the <em>modules</em> subdirectory.', array('%module' => $module)), 'error');
    }
  }
  else {
    return $module_list;
  }
}
Login or register to post comments