You are here

function elasticsearch_connector_edit_cluster_form_info in Elasticsearch Connector 7.5

Same name and namespace in other branches
  1. 7 elasticsearch_connector.admin.inc \elasticsearch_connector_edit_cluster_form_info()
  2. 7.2 elasticsearch_connector.admin.inc \elasticsearch_connector_edit_cluster_form_info()

Build the dynamic cluster status.

Parameters

array $cluster_info:

bool $ajax:

Return value

array

1 call to elasticsearch_connector_edit_cluster_form_info()
elasticsearch_connector_edit_cluster in ./elasticsearch_connector.admin.inc
Add/edit Elasticsearch clusters.

File

./elasticsearch_connector.admin.inc, line 599
Created on Dec 23, 2013

Code

function elasticsearch_connector_edit_cluster_form_info($cluster) {
  $element = array();
  if (isset($cluster->url)) {
    try {
      $cluster_info = elasticsearch_connector_get_cluster_info($cluster);
      if ($cluster_info) {
        $headers = array(
          array(
            'data' => t('Cluster name'),
          ),
          array(
            'data' => t('Status'),
          ),
          array(
            'data' => t('Number of nodes'),
          ),
        );
        if (isset($cluster_info['state']) && !isset($cluster_info['state']['error'])) {
          $rows = array(
            array(
              $cluster_info['health']['cluster_name'],
              $cluster_info['health']['status'],
              $cluster_info['health']['number_of_nodes'],
            ),
          );
          $element = array(
            '#theme' => 'table',
            '#header' => $headers,
            '#rows' => $rows,
            '#attributes' => array(
              'class' => array(
                'admin-elasticsearch-connector',
              ),
              'id' => 'cluster-info',
            ),
          );
        }
        else {
          $rows = array(
            array(
              t('Unknown'),
              t('Unavailable'),
              '',
            ),
          );
          $element = array(
            '#theme' => 'table',
            '#header' => $headers,
            '#rows' => $rows,
            '#attributes' => array(
              'class' => array(
                'admin-elasticsearch-connector',
              ),
              'id' => 'cluster-info',
            ),
          );
        }
      }
      else {
        $element['#type'] = 'markup';
        $element['#markup'] = '<div id="cluster-info">&nbsp;</div>';
      }
    } catch (\Exception $e) {
      drupal_set_message($e
        ->getMessage(), 'error');
    }
  }
  return $element;
}