function acquia_connector_post_update_move_search_modules in Acquia Connector 8.2
Uninstall Acquia Search and use Acquia Search Solr.
File
- ./
acquia_connector.post_update.php, line 42 - Connector updates once other modules have made their own updates.
Code
function acquia_connector_post_update_move_search_modules() {
if (\Drupal::moduleHandler()
->moduleExists('acquia_search')) {
$config_factory = \Drupal::configFactory();
$config_to_delete = [
'block.block.exposedformacquia_searchpage',
'search_api.index.acquia_search_index',
'search_api.server.acquia_search_server',
'views.view.acquia_search',
];
foreach ($config_to_delete as $config_name) {
if ($config = $config_factory
->getEditable($config_name)) {
$config
->delete();
}
}
/** @var \Drupal\Core\Extension\ModuleInstallerInterface $module_installer */
$module_installer = \Drupal::service('module_installer');
$module_installer
->uninstall([
'acquia_search',
]);
if (\Drupal::moduleHandler()
->moduleExists('search_api_solr_multilingual')) {
$module_installer
->uninstall([
'search_api_solr_multilingual',
]);
}
// Import settings from the connector if it is installed and configured.
$module_installer
->install([
'acquia_search_solr',
]);
$subscription = \Drupal::state()
->get('acquia_subscription_data');
$storage = new Storage();
if (isset($subscription)) {
$storage
->setApiHost(\Drupal::config('acquia_search_solr.settings')
->get('api_host') ?? 'https://api.sr-prod02.acquia.com');
$storage
->setApiKey(\Drupal::state()
->get('acquia_connector.key'));
$storage
->setIdentifier(\Drupal::state()
->get('acquia_connector.identifier'));
$storage
->setUuid($subscription['uuid']);
}
}
}