You are here

function elasticsearch_connector_statistics_log_data in Elasticsearch Connector 7.5

Same name and namespace in other branches
  1. 7 modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.module \elasticsearch_connector_statistics_log_data()
  2. 7.2 modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.module \elasticsearch_connector_statistics_log_data()

Parameters

\nodespark\DESConnector\ClientInterface $client:

array $access_log:

1 call to elasticsearch_connector_statistics_log_data()
elasticsearch_connector_statistics_log_statistics in modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.module
Check if everything is OK and log the statistics.

File

modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.module, line 293
Logs and displays access statistics for a site.

Code

function elasticsearch_connector_statistics_log_data(\nodespark\DESConnector\ClientInterface $client) {
  global $user;
  $cluster_settings = variable_get('elasticsearch_connector_statistics_cluster', array());
  $ret = FALSE;
  $doc = array();
  $doc['index'] = $cluster_settings['index'];
  $doc['type'] = variable_get('elasticsearch_connector_statistics_type', ELASTICSEARCH_CONNECTOR_STATS_DEFAULT_TYPE);
  $ttl = variable_get('elasticsearch_connector_statistics_ttl', ELASTICSEARCH_CONNECTOR_STATS_DEFAULT_INTERVAL);
  if (!$client
    ->indices()
    ->existsType(array(
    'index' => $doc['index'],
    'type' => $doc['type'],
  ))) {
    elasticsearch_connector_statistics_create_type($client, $doc['index'], $doc['type'], $ttl);
  }
  $path = $_GET['current_path'];
  $entity = _elasticsearch_connector_statistics_match_entity($path, $user);
  $doc['body'] = array(
    'title' => $_GET['title'],
    'path' => $path,
    'domain' => $_SERVER['SERVER_NAME'],
    'ip' => ip_address(),
    'uid' => $user->uid,
    'username' => $user->uid > 0 ? $user->name : '',
    'page_language' => $_GET['page_language'],
    'entity' => $entity,
    'referer' => $_GET['referer'],
    'timestamp' => time(),
  );
  $doc['ttl'] = $ttl;

  // Alter the document, or add more fields.
  drupal_alter('elasticsearch_connector_statistics_log_data', $doc, $client);

  // Indexing document.
  try {
    $ret = $client
      ->index($doc);
    module_invoke_all('elasticsearch_connector_statistics_log', 'index', $doc);
    return $ret;
  } catch (Exception $e) {
    watchdog('elasticsearch_connector_statistics', $e
      ->getMessage(), array(), WATCHDOG_ERROR);
  }
}