function acquia_search_multi_subs_apachesolr_set_default_core in Acquia Search Multiple Indexes 7
Sets our default search core for the acquia index.
Parameters
string $env_id: Environment identifier
array $search_core: The search core data array from the connector subscription data
1 call to acquia_search_multi_subs_apachesolr_set_default_core()
- acquia_search_multi_subs_apachesolr_init in lib/
Drupal/ Apachesolr/ acquia_search_multi_subs.apachesolr.inc - Initializes this module's Apache Solr Search Integration module support.
File
- lib/
Drupal/ Apachesolr/ acquia_search_multi_subs.apachesolr.inc, line 255 - Contains code specific to the Apache Solr Search Integration module.
Code
function acquia_search_multi_subs_apachesolr_set_default_core($env_id, array $search_core) {
// Get the derived key salt from the subscription.
$key = acquia_agent_settings('acquia_key');
$subscription = acquia_agent_settings('acquia_subscription_data');
$derived_key_salt = $subscription['derived_key_salt'];
// Create our derived key.
$derived_key = _acquia_search_multi_subs_create_derived_key($derived_key_salt, $search_core['core_id'], $key);
// Set our variables in the subscription array.
apachesolr_environment_variable_set($env_id, 'acquia_override_subscription_corename', $search_core['core_id']);
apachesolr_environment_variable_set($env_id, 'acquia_search_key', $derived_key);
apachesolr_environment_variable_set($env_id, 'acquia_override_selector', $search_core['core_id']);
// Generate the url where this core should connect to.
$url = 'http://' . $search_core['balancer'] . variable_get('acquia_search_path', '/solr/' . $search_core['core_id']);
$apachesolr_environments = variable_get('apachesolr_environments', array());
$apachesolr_environments[$env_id]['url'] = $url;
$apachesolr_environments[$env_id]['conf']['acquia_search_key'] = $derived_key;
// Set our variable, needs two page loads to make sure it is in the system.
// Setting the global conf variable is not valid as some calls to
// apachesolr_load_all_environments happen too early in the process. If we set
// the variable, we are sure it is there in the next page load. Also, setting
// this variable only happens when the environment changes and another
// environment which fits is found.
variable_set('apachesolr_environments', $apachesolr_environments);
$GLOBALS['conf']['apachesolr_environments'] = $apachesolr_environments;
drupal_static_reset('apachesolr_load_all_environments');
}