| 5 install.inc | drupal_verify_profile($profile, $locale) |
| 6 install.inc | drupal_verify_profile( |
| 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