You are here

function acquia_search_get_search_status_message in Acquia Search 2.x

Returns formatted message about Acquia Search connection details.

Parameters

\Drupal\search_api\Entity\Server $server: Server entity.

Return value

\Drupal\Component\Render\MarkupInterface|string Renderable array or translatable markup.

Throws

\Drupal\search_api\SearchApiException

3 calls to acquia_search_get_search_status_message()
acquia_search_preprocess_search_api_index in ./acquia_search.module
Implements hook_preprocess_HOOK().
acquia_search_preprocess_search_api_server in ./acquia_search.module
Implements hook_preprocess_HOOK().
acquia_search_requirements in ./acquia_search.install
Implements hook_requirements().

File

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

Code

function acquia_search_get_search_status_message(Server $server) {

  /** @var \Drupal\search_api_solr\Plugin\search_api\backend\SearchApiSolrBackend $backend */
  $backend = $server
    ->getBackend();
  $configuration = $backend
    ->getSolrConnector()
    ->getConfiguration();
  $items[] = acquia_search_get_server_id_message($server
    ->id());
  $items[] = acquia_search_get_server_url_message($configuration);

  // Report on the behavior chosen.
  if (isset($configuration['overridden_by_acquia_search'])) {
    $items[] = acquia_search_get_overridden_mode_message($configuration['overridden_by_acquia_search']);
  }
  $items[] = acquia_search_get_server_availability_message($server);
  $items[] = acquia_search_get_server_auth_check_message($server);
  $list = [
    '#theme' => 'item_list',
    '#items' => $items,
  ];
  $list = \Drupal::service('renderer')
    ->renderRoot($list);
  $msg = t('Connection managed by Acquia Search module.') . $list;
  return Markup::create((string) $msg);
}