From b4d1ff06a14d48643a7050370036503a9a0ae893 Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Tue, 13 May 2014 06:39:30 +0200 Subject: [PATCH] refs #4706 prevent sumRowArray exception in Live API --- plugins/Live/API.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/Live/API.php b/plugins/Live/API.php index de41680fb2b..1ecfc9ab391 100644 --- a/plugins/Live/API.php +++ b/plugins/Live/API.php @@ -547,6 +547,9 @@ private function addFilterToCleanVisitors(DataTable $dataTable, $idSite, $flat = $timezone = $website->getTimezone(); $currencies = APISitesManager::getInstance()->getCurrencySymbols(); + // live api is not summable, prevents errors like "Unexpected ECommerce status value" + $table->deleteRow(DataTable::ID_SUMMARY_ROW); + foreach ($table->getRows() as $visitorDetailRow) { $visitorDetailsArray = Visitor::cleanVisitorDetails($visitorDetailRow->getColumns()); @@ -686,6 +689,15 @@ private function loadLastVisitorDetailsFromDatabase($idSite, $period, $date, $se $dataTable = new DataTable(); $dataTable->addRowsFromSimpleArray($data); + // $dataTable->disableFilter('Truncate'); + + if (!empty($data[0])) { + $columnsToNotAggregate = array_map(function () { + return 'skip'; + }, $data[0]); + + $dataTable->setMetadata(DataTable::COLUMN_AGGREGATION_OPS_METADATA_NAME, $columnsToNotAggregate); + } return $dataTable; }