You are here

function acquia_search_init in Acquia Connector 7.3

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

Implements hook_init().

File

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

Code

function acquia_search_init() {

  // Add apachesolr module connection overrides if applicable.
  $auto_switch_disabled = variable_get('acquia_search_disable_auto_switch', 0);
  $subscription = acquia_agent_settings('acquia_subscription_data');
  $sub_active = !empty($subscription['active']);
  if (!$auto_switch_disabled && $sub_active && !module_exists('acquia_search_multi_subs')) {
    module_load_include('php', 'acquia_search', 'src/PreferredSearchCoreService');
    global $conf;
    $acquia_identifier = acquia_agent_settings('acquia_identifier');
    $ah_env = isset($_SERVER['AH_SITE_ENVIRONMENT']) ? $_SERVER['AH_SITE_ENVIRONMENT'] : '';
    $sites_foldername = substr(conf_path(), strrpos(conf_path(), '/') + 1);
    $ah_db_name = isset($conf['acquia_hosting_site_info']['db']['name']) ? $conf['acquia_hosting_site_info']['db']['name'] : '';
    $available_cores = acquia_search_available_cores($subscription);
    $environments = apachesolr_load_all_environments();
    $core_service = new PreferredSearchCoreService($acquia_identifier, $ah_env, $sites_foldername, $ah_db_name, $available_cores);
    $overrode = acquia_search_add_apachesolr_overrides($core_service, $environments);
    if ($overrode) {

      // If an override was applied, then clear the corresponding cache item.
      cache_clear_all('apachesolr:environments', 'cache_apachesolr');
    }
  }
}