public getCounters ( integer $idSite, integer $lastMinutes, boolean | string $segment = false, array $showColumns = [], array $hideColumns = [] ) : array( | ||
$idSite | integer | Id Site |
$lastMinutes | integer | Number of minutes to look back at |
$segment | boolean | string | |
$showColumns | array | The columns to show / not to request. Eg 'visits', 'actions', ... |
$hideColumns | array | The columns to hide / not to request. Eg 'visits', 'actions', ... |
return | array( |
public function getCounters($idSite, $lastMinutes, $segment = false, $showColumns = array(), $hideColumns = array())
{
Piwik::checkUserHasViewAccess($idSite);
$model = new Model();
$counters = array();
$hasVisits = true;
if ($this->shouldColumnBePresentInResponse('visits', $showColumns, $hideColumns)) {
$counters['visits'] = $model->getNumVisits($idSite, $lastMinutes, $segment);
$hasVisits = !empty($counters['visits']);
}
if ($this->shouldColumnBePresentInResponse('actions', $showColumns, $hideColumns)) {
if ($hasVisits) {
$counters['actions'] = $model->getNumActions($idSite, $lastMinutes, $segment);
} else {
$counters['actions'] = 0;
}
}
if ($this->shouldColumnBePresentInResponse('visitors', $showColumns, $hideColumns)) {
if ($hasVisits) {
$counters['visitors'] = $model->getNumVisitors($idSite, $lastMinutes, $segment);
} else {
$counters['visitors'] = 0;
}
}
if ($this->shouldColumnBePresentInResponse('visitsConverted', $showColumns, $hideColumns)) {
if ($hasVisits) {
$counters['visitsConverted'] = $model->getNumVisitsConverted($idSite, $lastMinutes, $segment);
} else {
$counters['visitsConverted'] = 0;
}
}
return array($counters);
}
public function test_GetCounters_ShouldOnlyReturnResultsOfLastMinutes() { $this->trackSomeVisits(); $counters = $this->api->getCounters($this->idSite, 5); $this->assertEquals($this->buildCounter(19, 32, 16, 16), $counters); $counters = $this->api->getCounters($this->idSite, 20); $this->assertEquals($this->buildCounter(24, 60, 20, 40), $counters); $counters = $this->api->getCounters($this->idSite, 0); $this->assertEquals($this->buildCounter(0, 0, 0, 0), $counters); }