function search_api_federated_solr_update_8002 in Search API Federated Solr 8.2
Same name and namespace in other branches
- 8.3 search_api_federated_solr.install \search_api_federated_solr_update_8002()
- 4.x search_api_federated_solr.install \search_api_federated_solr_update_8002()
Configures the search proxy (enabled) and app + block autocomplete proxies (disabled).
File
- ./
search_api_federated_solr.install, line 53 - Contains install and update hooks for the Federated Solr Search API Module.
Code
function search_api_federated_solr_update_8002(&$sandbox) {
$config_factory = \Drupal::configFactory();
$config = $config_factory
->getEditable('search_api_federated_solr.search_app.settings');
// Enable the proxy by default.
$config
->set('proxy.isDisabled', 0);
// Set the autocomplete proxy config.
// Disable the autocomplete proxy to respect current endpoint?
$config
->set('autocomplete.proxy.isDisabled', 0);
if ($config
->get('autocomplete.isEnabled')) {
// If autocomplete enabled, respect current url by setting as direct url.
$direct_url = $config
->get('autocomplete.url');
$config
->set('autocomplete.proxy.isDisabled', 1);
$config
->set('autocomplete.direct.url', $direct_url);
}
// Set autocomplete basic auth config.
$config
->set('autocomplete.username', '');
$config
->set('autocomplete.password', '');
$config
->set('autocomplete.use_search_app_creds', 0);
$config
->set('index.query_fields', []);
// Remove legacy stored urls as they are now computed.
$config
->clear('autocomplete.url');
$config
->clear('autocomplete.proxy.url');
$config
->clear('index.server_url');
$config
->clear('proxy.url');
$config
->save(TRUE);
// Configure block autocomplete proxy.
if ($block = \Drupal\block\Entity\Block::load('federatedsearchpageformblock')) {
$block_config = $config_factory
->getEditable('block.block.federatedsearchpageformblock');
$block_config
->set('settings.autocomplete.proxyIsDisabled', 0);
// Add the string to be replaced with the query value to proxy url.
// Default direct url to server url + params.
if ($block_config
->get('settings.autocomplete.isEnabled')) {
// If autocomplete enabled, respect current url by setting as direct url.
$block_direct_url = $block_config
->get('settings.autocomplete.url');
$block_config
->set('settings.autocomplete.proxyIsDisabled', 1);
$block_config
->set('settings.autocomplete.directUrl', $block_direct_url);
}
// Remove legacy stored autocomplete.url as it is now computed.
$block_config
->clear('settings.autocomplete.url');
$block_config
->save(TRUE);
}
}