Piwik\Plugins\Live\API::getCounters PHP Method

getCounters() public method

This will return simple counters, for a given website ID, for visits over the last N minutes
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);
    }

Usage Example

Esempio n. 1
0
 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);
 }
All Usage Examples Of Piwik\Plugins\Live\API::getCounters