install_main

Хочешь помочь с переводом? Это очень просто и быстро. Лишь зарегистрируйся, и можешь тут же начать переводить.

./install.php, строка 18

Версии
5 – 6
install_main()

The Drupal installation happens in a series of steps. We begin by verifying that the current environment meets our minimum requirements. We then go on to verify that settings.php is properly configured. From there we connect to the configured database and verify that it meets our minimum requirements. Finally we can allow the user to select an installation profile and complete the installation process.

Параметры

$phase The installation phase we should proceed to.

Код

<?php
function install_main() {
  require_once './includes/bootstrap.inc';
  drupal_bootstrap(DRUPAL_BOOTSTRAP_CONFIGURATION);

  // This must go after drupal_bootstrap(), which unsets globals!
  global $profile, $install_locale, $conf;

  require_once './modules/system/system.install';
  require_once './includes/file.inc';

  // Ensure correct page headers are sent (e.g. caching)
  drupal_page_header();

  // Set up $language, so t() caller functions will still work.
  drupal_init_language();

  // Load module basics (needed for hook invokes).
  include_once './includes/module.inc';
  $module_list['system']['filename'] = 'modules/system/system.module';
  $module_list['filter']['filename'] = 'modules/filter/filter.module';
  module_list(TRUE, FALSE, FALSE, $module_list);
  drupal_load('module', 'system');
  drupal_load('module', 'filter');

  // Set up theme system for the maintenance page.
  drupal_maintenance_theme();

  // Check existing settings.php.
  $verify = install_verify_settings();

  if ($verify) {
    // Since we have a database connection, we use the normal cache system.
    // This is important, as the installer calls into the Drupal system for
    // the clean URL checks, so we should maintain the cache properly.
    require_once './includes/cache.inc';
    $conf['cache_inc'] = './includes/cache.inc';

    // Establish a connection to the database.
    require_once './includes/database.inc';
    db_set_active();

    // Check if Drupal is installed.
    $task = install_verify_drupal();
    if ($task == 'done') {
      install_already_done_error();
    }
  }
  else {
    // Since no persistent storage is available yet, and functions that check
    // for cached data will fail, we temporarily replace the normal cache
    // system with a stubbed-out version that short-circuits the actual
    // caching process and avoids any errors.
    require_once './includes/cache-install.inc';
    $conf['cache_inc'] = './includes/cache-install.inc';

    $task = NULL;
  }

  // Decide which profile to use.
  if (!empty($_GET['profile'])) {
    $profile = preg_replace('/[^a-zA-Z_0-9]/', '', $_GET['profile']);
  }
  elseif ($profile = install_select_profile()) {
    install_goto("install.php?profile=$profile");
  }
  else {
    install_no_profile_error();
  }

  // Load the profile.
  require_once "./profiles/$profile/$profile.profile";

  // Locale selection
  if (!empty($_GET['locale'])) {
    $install_locale = preg_replace('/[^a-zA-Z_0-9\-]/', '', $_GET['locale']);
  }
  elseif (($install_locale = install_select_locale($profile)) !== FALSE) {
    install_goto("install.php?profile=$profile&locale=$install_locale");
  }

  // Tasks come after the database is set up
  if (!$task) {
    global $db_url;

    if (!$verify && !empty($db_url)) {
      // Do not install over a configured settings.php.
      install_already_done_error();
    }

    // Check the installation requirements for Drupal and this profile.
    install_check_requirements($profile, $verify);

    // Verify existence of all required modules.
    $modules = drupal_verify_profile($profile, $install_locale);

    // If any error messages are set now, it means a requirement problem.
    $messages = drupal_set_message();
    if (!empty($messages['error'])) {
      install_task_list('requirements');
      drupal_set_title(st('Requirements problem'));
      print theme('install_page', '');
      exit;
    }

    // Change the settings.php information if verification failed earlier.
    // Note: will trigger a redirect if database credentials change.
    if (!$verify) {
      install_change_settings($profile, $install_locale);
    }

    // Install system.module.
    drupal_install_system();
    // Save the list of other modules to install for the 'profile-install'
    // task. variable_set() can be used now that system.module is installed
    // and drupal is bootstrapped.
    variable_set('install_profile_modules', array_diff($modules, array('system')));
  }

  // The database is set up, turn to further tasks.
  install_tasks($profile, $task);
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему