installDrupal

Definition

installDrupal($version, $instance)
install_drupal.inc, line 131

Code

<?php
function installDrupal($version, $instance) {
  # Install Drupal
  global $args, $bins, $db_user, $db_pass, $simpletest_install_dir_url, $simpletest_install_dir;
  $args->instance = $instance;
  $args->db_user = $db_user;
  $args->db_pass = $db_pass;
  $args->install_url = $simpletest_install_dir_url;
  $args->install_dir = $simpletest_install_dir;
  switch ($version) {
    case '6':
      chmod($simpletest_install_dir . '/' . $instance . '/sites/default', 0777);
      $test = &new TestDrupal6Install();
      $reporter = &new InstallReporter();
      $test->run($reporter);
      $result = $reporter->getOutput();
      print_r($result);
      $fails = $result[1];
      if ($fails > 0) {
        terminateTesting(STA_FAIL, $result[0]);
        return FALSE;
      }
      break;
    case '5':
      $test = &new TestDrupal5Install();
      $reporter = &new InstallReporter();
      $test->run($reporter);
      $result = $reporter->getOutput();
      $fails = $result[1];
      if ($fails > 0) {
        terminateTesting(STA_FAIL, $result[0]);
        return FALSE;
      }
      break;
    case '4.7':
      $result = installDrupal47();
      if(!$result) {
        terminateTesting(STA_FAIL, 'Drupal 4.7 install failed');
        return FALSE;
      }
      break;
  }
  if ($version == '5' || $version == '4.7') {
    //we need to manually insert admin user and some additional data
    //inserting admin user
    $scriptdir = realpath(dirname(__FILE__));
    $exec_cmd = $bins['mysql']." -u $db_user -p$db_pass $instance < $scriptdir/additions.mysql";
    if (execute($exec_cmd, "Unable to insert additions into database.", STA_ERROR) === FALSE) return FALSE;
  }
  
  //setting base_url for all drupal versions
  if(!setBaseUrl($args->install_url . $args->instance, $args->install_dir . '/' . $args->instance . '/sites/default/settings.php')) return FALSE;
  
  return TRUE;
}
?>