Skip to content
Extraits de code Groupes Projets
Valider 042bae30 rédigé par diosmosis's avatar diosmosis
Parcourir les fichiers

Removing '$columns' parameter from VisitsSummary/API.php

parent b082b508
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -222,6 +222,10 @@ class ResponseBuilder ...@@ -222,6 +222,10 @@ class ResponseBuilder
// after queued filters are run so processed metrics can be removed, too) // after queued filters are run so processed metrics can be removed, too)
$hideColumns = Common::getRequestVar('hideColumns', '', 'string', $this->request); $hideColumns = Common::getRequestVar('hideColumns', '', 'string', $this->request);
$showColumns = Common::getRequestVar('showColumns', '', 'string', $this->request); $showColumns = Common::getRequestVar('showColumns', '', 'string', $this->request);
if (empty($showColumns)) {
$showColumns = Common::getRequestVar('columns', '', 'string', $this->request); // TODO: note backwards compatibility
}
if ($hideColumns !== '' || $showColumns !== '') { if ($hideColumns !== '' || $showColumns !== '') {
$datatable->filter('ColumnDelete', array($hideColumns, $showColumns)); $datatable->filter('ColumnDelete', array($hideColumns, $showColumns));
} }
......
...@@ -26,49 +26,13 @@ class API extends \Piwik\Plugin\API ...@@ -26,49 +26,13 @@ class API extends \Piwik\Plugin\API
Piwik::checkUserHasViewAccess($idSite); Piwik::checkUserHasViewAccess($idSite);
$archive = Archive::build($idSite, $period, $date, $segment); $archive = Archive::build($idSite, $period, $date, $segment);
// array values are comma separated $columns = $this->getCoreColumns($period);
$columns = Piwik::getArrayFromApiParameter($columns);
$tempColumns = array();
$actionsPerVisitRequested = $averageVisitDurationRequested = false;
if (!empty($columns)) {
// make sure base metrics are there for processed metrics
if (false !== ($bounceRateIdx = array_search('bounce_rate', $columns))) {
if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits';
if (!in_array('bounce_count', $columns)) $tempColumns[] = 'bounce_count';
unset($columns[$bounceRateIdx]);
}
if (false !== ($actionsPerVisitRequested = array_search('nb_actions_per_visit', $columns))) {
if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits';
if (!in_array('nb_actions', $columns)) $tempColumns[] = 'nb_actions';
unset($columns[$actionsPerVisitRequested]);
}
if (false !== ($averageVisitDurationRequested = array_search('avg_time_on_site', $columns))) {
if (!in_array('nb_visits', $columns)) $tempColumns[] = 'nb_visits';
if (!in_array('sum_visit_length', $columns)) $tempColumns[] = 'sum_visit_length';
unset($columns[$averageVisitDurationRequested]);
}
$tempColumns = array_unique($tempColumns);
rsort($tempColumns);
$columns = array_merge($columns, $tempColumns);
} else {
$actionsPerVisitRequested = $averageVisitDurationRequested = true;
$columns = $this->getCoreColumns($period);
}
$dataTable = $archive->getDataTableFromNumeric($columns); $dataTable = $archive->getDataTableFromNumeric($columns);
// Process ratio metrics from base metrics, when requested // Process ratio metrics from base metrics, when requested
if ($actionsPerVisitRequested !== false) { $dataTable->filter('ColumnCallbackAddColumnQuotient', array('nb_actions_per_visit', 'nb_actions', 'nb_visits', 1));
$dataTable->filter('ColumnCallbackAddColumnQuotient', array('nb_actions_per_visit', 'nb_actions', 'nb_visits', 1)); $dataTable->filter('ColumnCallbackAddColumnQuotient', array('avg_time_on_site', 'sum_visit_length', 'nb_visits', 0));
}
if ($averageVisitDurationRequested !== false) {
$dataTable->filter('ColumnCallbackAddColumnQuotient', array('avg_time_on_site', 'sum_visit_length', 'nb_visits', 0));
}
// remove temp metrics that were used to compute processed metrics
unset($tempColumns[array_search('bounce_count', $tempColumns)]);
$dataTable->deleteColumns($tempColumns);
return $dataTable; return $dataTable;
} }
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter