/**
* Another example method that returns a data table.
* @param int $idSite
* @param string $period
* @param string $date
* @param bool|string $segment
* @return DataTable
*/
public function getClusterSummary($idSite, $period, $date, $cluster_id, $cluster_type = 'bundle')
{
$table = new DataTable();
$params = array('idSite' => $idSite, 'period' => $period, 'date' => $date, 'segment' => 'customVariablePageName2==' . $cluster_type . 's;customVariablePageValue2=@' . $cluster_id);
$data = \Piwik\API\Request::processRequest('API.get', $params);
$tarray = $this->getTypes($params);
$data->getRowFromId(0)->addColumns($tarray);
$table->addRow($data->getRowFromId(0));
// Get country ISO2 code
$hr_url = 'https://www.humanitarianresponse.info/api/v1.0/' . $cluster_type . 's/' . $cluster_id;
if ($space_raw = @file_get_contents($hr_url)) {
$space = json_decode($space_raw);
$table->getRowFromId(0)->addColumn('label', $space->data[0]->label);
if (isset($space->data[0]->operation[0]->country)) {
$iso2 = $space->data[0]->operation[0]->country->pcode;
$cparams = $params;
$cparams['segment'] = $params['segment'] . ';countryCode==' . $iso2;
$cdata = \Piwik\API\Request::processRequest('API.get', $cparams);
$cdata->getRowFromId(0)->addColumn('label', $space->data[0]->label . ' - in country');
$ctarray = $this->getTypes($cparams);
$cdata->getRowFromId(0)->addColumns($ctarray);
$table->addRow($cdata->getRowFromId(0));
}
}
return $table;
}