function install_settings_form_validate

Form validation handler for install_settings_form().

See also

install_settings_form_submit()

File

drupal/core/includes/install.core.inc, line 1099
API functions for installing Drupal.

Code

function install_settings_form_validate($form, &$form_state) {
  $driver = $form_state['values']['driver'];
  $database = $form_state['values'][$driver];

  // When testing the interactive installer, copy the database password and
  // the test prefix.
  if ($test_prefix = drupal_valid_test_ua()) {
    $database['prefix'] = $test_prefix;
    $database['password'] = $GLOBALS['databases']['default']['default']['password'];
  }
  $drivers = drupal_get_database_types();
  $reflection = new \ReflectionClass($drivers[$driver]);
  $install_namespace = $reflection
    ->getNamespaceName();

  // Cut the trailing \Install from namespace.
  $database['namespace'] = substr($install_namespace, 0, strrpos($install_namespace, '\\'));
  $database['driver'] = $driver;

  // @todo PIFR uses 'db_prefix' instead of 'prefix'. Remove this when it gets
  //   fixed.
  if (!$test_prefix) {
    $database['prefix'] = $database['db_prefix'];
  }
  unset($database['db_prefix']);
  $form_state['storage']['database'] = $database;
  $errors = install_database_errors($database, $form_state['values']['settings_file']);
  foreach ($errors as $name => $message) {
    form_set_error($name, $message);
  }
}