diff options
author | diosmosis <benaka@piwik.pro> | 2014-11-25 17:39:24 +0300 |
---|---|---|
committer | diosmosis <benaka@piwik.pro> | 2014-11-25 17:39:24 +0300 |
commit | 5fa73701a629b3ecd02cc50c9de3ff30e41cfb79 (patch) | |
tree | c28b5fd7fcecfeb0794e1cd17e301fc47717cf6b /plugins/Actions/API.php | |
parent | 186e6bfe5c6aaf29ad7ebddf4adec241ac7a7fd6 (diff) |
Fix remaining Plugin.get API methods; delete temporary columns in queued filter.
Diffstat (limited to 'plugins/Actions/API.php')
-rw-r--r-- | plugins/Actions/API.php | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/plugins/Actions/API.php b/plugins/Actions/API.php index 0cf5bd63a8..2dd7d9a4df 100644 --- a/plugins/Actions/API.php +++ b/plugins/Actions/API.php @@ -55,17 +55,24 @@ class API extends \Piwik\Plugin\API public function get($idSite, $period, $date, $segment = false, $columns = false) { Piwik::checkUserHasViewAccess($idSite); + + $report = Report::factory("Actions", "get"); $archive = Archive::build($idSite, $period, $date, $segment); $requestedColumns = Piwik::getArrayFromApiParameter($columns); - $columns = Report::factory("Actions", "get")->getMetricsRequiredForReport($allColumns = null, $requestedColumns); + $columns = $report->getMetricsRequiredForReport($allColumns = null, $requestedColumns); $inDbColumnNames = array_map(function ($value) { return 'Actions_' . $value; }, $columns); $dataTable = $archive->getDataTableFromNumeric($inDbColumnNames); + $dataTable->deleteColumns(array_diff($requestedColumns, $columns)); $newNameMapping = array_combine($inDbColumnNames, $columns); $dataTable->filter('ReplaceColumnNames', array($newNameMapping)); + + $columnsToShow = $requestedColumns ?: $report->getAllMetrics(); + $dataTable->queueFilter('ColumnDelete', array($columnsToRemove = array(), $columnsToShow)); + return $dataTable; } |