You are here

function acquia_search_enable_acquia_solr_environment in Acquia Connector 7.3

Same name and namespace in other branches
  1. 7 acquia_search/acquia_search.module \acquia_search_enable_acquia_solr_environment()
  2. 7.2 acquia_search/acquia_search.module \acquia_search_enable_acquia_solr_environment()

Create a new record pointing to the Acquia apachesolr search server.

Set it as the default.

1 call to acquia_search_enable_acquia_solr_environment()
AcquiaSearchWebTestCase::enableAcquiaSearchEnvironment in acquia_search/tests/acquia_search.test
Enable Acquia Search env.

File

acquia_search/acquia_search.module, line 351
Integration between Acquia Drupal and Acquia's hosted solr search service.

Code

function acquia_search_enable_acquia_solr_environment() {

  // Creates the new environment.
  $environment = apachesolr_environment_load(ACQUIA_SEARCH_ENVIRONMENT_ID);
  if (!$environment) {
    $environment['conf'] = array();

    // Copy the bundles from the previous default environment.
    $orig_env_id = apachesolr_default_environment();
    $orig_env = apachesolr_environment_load($orig_env_id);
    $environment['index_bundles'] = $orig_env['index_bundles'];

    // Also make sure that the default search page has Acquia Search as its
    // default environment.
    $default_search_page_id = apachesolr_search_default_search_page();
    $default_search_page = apachesolr_search_page_load($default_search_page_id);
    if (!empty($default_search_page) && $default_search_page['env_id'] != ACQUIA_SEARCH_ENVIRONMENT_ID) {
      $default_search_page['env_id'] = ACQUIA_SEARCH_ENVIRONMENT_ID;
      apachesolr_search_page_save($default_search_page);
    }

    // Only set the default if we just created the environment.
    // This will almost always happen, unless the module was disabled via SQL.
    variable_set('apachesolr_default_environment', ACQUIA_SEARCH_ENVIRONMENT_ID);

    // Make sure apachesolr search is the default search module.
    variable_set('search_default_module', 'apachesolr_search');
  }
  $acquia_environment = acquia_search_get_environment();

  // Override default values.
  foreach ($acquia_environment as $key => $value) {
    $environment[$key] = $value;
  }
  $environment['env_id'] = ACQUIA_SEARCH_ENVIRONMENT_ID;
  $environment['name'] = t('Acquia Search');

  // Allow other modules to override this.
  drupal_alter('acquia_search_enable', $environment);
  apachesolr_environment_save($environment);
}