diff --git a/plugins/API/API.php b/plugins/API/API.php index f88598447894adefab43f76a10e53704c953af15..aa38c0b07e4baa6078df42c4deb44d8c9413e48b 100644 --- a/plugins/API/API.php +++ b/plugins/API/API.php @@ -768,7 +768,9 @@ class Piwik_API_API } - /** Get a combined report of the *.get API methods. */ + /** + * Get a combined report of the *.get API methods. + */ public function get( $idSite, $period, $date, $segment = false, $columns = false) { $columns = Piwik::getArrayFromApiParameter($columns); @@ -791,7 +793,9 @@ class Piwik_API_API foreach ($reportMeta['metrics'] as $column => $columnTranslation) { // a metric from this report has been requested - if (isset($columnsMap[$column])) + if (isset($columnsMap[$column]) + // or by default, return all metrics + || empty($columnsMap)) { $columnsByPlugin[$plugin][] = $column; } @@ -800,14 +804,13 @@ class Piwik_API_API } $mergedDataTable = false; - $params = compact('idSite', 'period', 'date', 'segment'); + $params = compact('idSite', 'period', 'date', 'segment', 'idGoal'); foreach ($columnsByPlugin as $plugin => $columns) { // load the data $className = 'Piwik_'.$plugin.'_API'; $params['columns'] = implode(',', $columns); $dataTable = Piwik_API_Proxy::getInstance()->call($className, 'get', $params); - // make sure the table has all columns $array = ($dataTable instanceof Piwik_DataTable_Array ? $dataTable->getArray() : array($dataTable)); foreach ($array as $table) diff --git a/tests/integration/expected/test_apiGetReportMetadata__API.get_day.xml b/tests/integration/expected/test_apiGetReportMetadata__API.get_day.xml index f5722c2b947ae81c5390b2448986be96d1bf4ff3..724e8459e4371ffe369415963cf634fdc77f1b7a 100644 --- a/tests/integration/expected/test_apiGetReportMetadata__API.get_day.xml +++ b/tests/integration/expected/test_apiGetReportMetadata__API.get_day.xml @@ -1,2 +1,26 @@ <?xml version="1.0" encoding="utf-8" ?> -<result>0</result> \ No newline at end of file +<result> + <nb_uniq_visitors>1</nb_uniq_visitors> + <nb_visits>1</nb_visits> + <nb_actions>1</nb_actions> + <max_actions>1</max_actions> + <bounce_rate>100%</bounce_rate> + <nb_actions_per_visit>1</nb_actions_per_visit> + <avg_time_on_site>1086</avg_time_on_site> + <nb_pageviews>1</nb_pageviews> + <nb_uniq_pageviews>1</nb_uniq_pageviews> + <nb_downloads>0</nb_downloads> + <nb_uniq_downloads>0</nb_uniq_downloads> + <nb_outlinks>0</nb_outlinks> + <nb_uniq_outlinks>0</nb_uniq_outlinks> + <nb_conversions>1</nb_conversions> + <nb_visits_converted>1</nb_visits_converted> + <conversion_rate>100</conversion_rate> + <revenue>42.26</revenue> + <nb_visits_returning>0</nb_visits_returning> + <bounce_count_returning>0</bounce_count_returning> + <bounce_rate_returning>0%</bounce_rate_returning> + <nb_actions_returning>0</nb_actions_returning> + <avg_time_on_site_returning>0</avg_time_on_site_returning> + <nb_actions_per_visit_returning>0</nb_actions_per_visit_returning> +</result> \ No newline at end of file