public function Reports::visits_chart in Yandex.Metrics 8.2
The function generates chart with information about page views, visitors and new visitors.
File
- yandex_metrics_reports/
src/ Reports.php, line 85 - Contains \Drupal\yandex_metrics_reports\YandexMetricsReports.
Class
- Reports
- Reports manager for YandexMetrics module.
Namespace
Drupal\yandex_metrics_reportsCode
public function visits_chart() {
$date_range = _yandex_metrics_reports_filter_to_date_range($this->filter);
$parameters = array(
'id' => $this->counter_id,
'date1' => $date_range['start_date'],
'date2' => $date_range['end_date'],
);
if (isset($date_range['group'])) {
$parameters['group'] = $date_range['group'];
}
$results = yandex_metrics_reports_retreive_data('/stat/traffic/summary', $parameters);
$visits = json_decode($results
->getBody(TRUE));
if (empty($visits->data)) {
return t('There is no information about page views and visitors for the selected date range.');
}
foreach ($visits->data as $value) {
$data[] = array(
'dates' => String::checkPlain($value->date),
'page_views' => (int) $value->page_views,
'visitors' => (int) $value->visitors,
'new_visitors' => (int) $value->new_visitors,
);
}
$data = array_reverse($data);
$chart = array(
'#theme' => 'visualization',
'#options' => array(
'title' => t('Page Views, Visitors, New Visitors'),
'width' => 500,
'height' => 250,
'fields' => array(
'dates' => array(
'label' => t('Dates'),
'enabled' => FALSE,
),
'page_views' => array(
'label' => t('Page Views'),
'enabled' => TRUE,
),
'visitors' => array(
'label' => t('Visitors'),
'enabled' => TRUE,
),
'new_visitors' => array(
'label' => t('New Visitors'),
'enabled' => TRUE,
),
),
'xAxis' => array(
'labelField' => 'dates',
),
'data' => $data,
'type' => 'line',
),
);
return drupal_render($chart);
}