Installation task; install the base functionality Drupal needs to bootstrap.
$install_state: An array of information about the current installation state.
function install_base_system(&$install_state) {
// Install system.module.
drupal_install_system();
// Call file_ensure_htaccess() to ensure that all of Drupal's standard
// directories (e.g., the public files directory and config directory) have
// appropriate .htaccess files. These directories will have already been
// created by this point in the installer, since Drupal creates them during
// the install_verify_requirements() task. Note that we cannot call
// file_ensure_access() any earlier than this, since it relies on
// system.module in order to work.
file_ensure_htaccess();
// Enable the user module so that sessions can be recorded during the
// upcoming bootstrap step.
module_enable(array(
'user',
), FALSE);
// Save the list of other modules to install for the upcoming tasks.
// variable_set() can be used now that system.module is installed.
$modules = $install_state['profile_info']['dependencies'];
// The installation profile is also a module, which needs to be installed
// after all the dependencies have been installed.
$modules[] = drupal_get_profile();
state()
->set('install_profile_modules', array_diff($modules, array(
'system',
)));
$install_state['database_tables_exist'] = TRUE;
}