function elasticsearch_connector_statistics_top_referrers in Elasticsearch Connector 7
Same name and namespace in other branches
- 7.5 modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.admin.inc \elasticsearch_connector_statistics_top_referrers()
- 7.2 modules/elasticsearch_connector_statistics/elasticsearch_connector_statistics.admin.inc \elasticsearch_connector_statistics_top_referrers()
Page callback: Displays the "top referrers" in the access logs.
This displays the pages with the top referrers in a given time interval that haven't been flushed yet. The flush interval is set on the statistics settings form, but is dependent on cron running.
Return value
A render array containing the top referrers information.
1 string reference to 'elasticsearch_connector_statistics_top_referrers'
- elasticsearch_connector_statistics_menu in modules/
elasticsearch_connector_statistics/ elasticsearch_connector_statistics.module - Implements hook_menu().
File
- modules/
elasticsearch_connector_statistics/ elasticsearch_connector_statistics.admin.inc, line 355 - Admin page callbacks for the Statistics module.
Code
function elasticsearch_connector_statistics_top_referrers() {
$header = array(
array(
'data' => t('Hits'),
'field' => 'hits',
'sort' => 'desc',
),
array(
'data' => t('Url'),
'field' => 'url',
),
);
$rows = $facets = array();
$global_facet_name = 'referer_facet';
$field_faceting = 'referer';
$client_id = elasticsearch_connector_statistics_get_cluster_vars();
if (!empty($client_id)) {
$client = elasticsearch_connector_get_client_by_id($client_id);
if ($client) {
try {
$params = array();
$index_name = elasticsearch_connector_statistics_get_cluster_vars('index');
$params['index'] = $index_name;
$params['type'] = variable_get('elasticsearch_connector_statistics_type', ELASTICSEARCH_CONNECTOR_STATS_DEFAULT_TYPE);
$params['search_type'] = 'count';
$params['body']['facets'][$global_facet_name]['terms']['field'] = $field_faceting;
$params['body']['facets'][$global_facet_name]['terms']['size'] = variable_get('elasticsearch_connector_statistics_facet_size', 1000);
$search_result = $client
->search($params);
if (!empty($search_result['facets'])) {
foreach ($search_result['facets'][$global_facet_name]['terms'] as $facet) {
if (!empty($facet['term'])) {
$facet['term'] = l($facet['term'], $facet['term']);
}
$rows[] = array(
$facet['count'],
$facet['term'],
);
}
}
} catch (Exception $e) {
// Show the error message to the user.
drupal_set_message($e
->getMessage(), 'error');
}
}
}
$build['statistics_top_referrers_table'] = array(
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
'#empty' => t('No statistics available.'),
);
return $build;
}