Index: scripts/auto-install.php =================================================================== RCS file: scripts/auto-install.php diff -N scripts/auto-install.php --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ scripts/auto-install.php 1 Jan 1970 00:00:00 -0000 @@ -0,0 +1,172 @@ + Bootstrapping Drupal...\n"; + require_once DRUPAL_ROOT . '/includes/bootstrap.inc'; + drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); + + echo " > Starting installation...\n"; + auto_install_run($args['db'], $args['user'], $args['pass'], $args['prefix'] ? $args['prefix'] : ''); + } + else { + echo "ERROR: failed to copy settings file. (check permisions to sites folder)\n"; + } +} + +/** + * Make a copy of the settings file to ensure there is no permission issue. + * + * @param $site + * Site folder name. + * @return + * Boolean success. + */ +function auto_install_copy_settings($site) { + $default_settings = './sites/default/default.settings.php'; + $settings = "./sites/$site/settings.php"; + echo " > Copying $default_settings to $settings...\n"; + return @copy($default_settings, $settings); +} + +function auto_install_run($db, $user, $pass, $prefix = '') { + module_load_include('php', 'simpletest', 'drupal_web_test_case'); + + // Install Drupal. + $d = new DrupalWebTestCase(); + + // Step: Select an installation profile. + // Step: Choose language. + $d->drupalGet('install.php', array('query' => 'profile=default&locale=en')); + + return; + + // Step: Database configuration. + $edit = array(); + $edit['database'] = $db; + $edit['username'] = $user; + $edit['password'] = $pass; + $edit['db_prefix'] = ''; + $d->drupalPost(NULL, $edit, t('Save and continue')); + + // Step: Site configuration. + $edit = array(); + $edit['site_name'] = 'checkout'; + $edit['site_mail'] = 'admin@example.com'; + $edit['account[name]'] = 'admin'; + $edit['account[mail]'] = 'admin@example.com'; + $edit['account[pass][pass1]'] = $pass = $d->randomName(12); + $edit['account[pass][pass2]'] = $pass; + $edit['clean_url'] = 0; + $edit['update_status_module[1]'] = FALSE; + $d->drupalPost(NULL, $edit, t('Save and continue')); + + // Record password use later. + pifr_review_admin_pass($pass); + + // Step: Finished. + $d->assertText(t('Drupal installation complete')); + +// pifr_review_path(TRUE); + + // Clear SimpleTest results. + simpletest_clean_results_table(); + + // Make sure that site installed correctly. + return ($d->_results['#exception'] + $d->_results['#fail']) == 0; +}