diff options
author | mattpiwik <matthieu.aubry@gmail.com> | 2010-07-17 01:49:51 +0400 |
---|---|---|
committer | mattpiwik <matthieu.aubry@gmail.com> | 2010-07-17 01:49:51 +0400 |
commit | 9181f45d7da2a42dcec14af64502dee4608e03ae (patch) | |
tree | 9134a052001193266e6b95433a33bd275b0bdcfe /plugins/VisitsSummary | |
parent | f18f46f0a336f7820e114a5f65cff2afd6f8a698 (diff) |
Last N graph, click on icon should reload the graph as expected.
Also, when a Sparkline was clicked, then click on icon below graph, reload same metric.
git-svn-id: http://dev.piwik.org/svn/trunk@2521 59fd770c-687e-43c8-a1e3-f5a4ff64c105
Diffstat (limited to 'plugins/VisitsSummary')
-rw-r--r-- | plugins/VisitsSummary/API.php | 26 | ||||
-rw-r--r-- | plugins/VisitsSummary/Controller.php | 1 |
2 files changed, 15 insertions, 12 deletions
diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 7f4f3dcd80..3119b902c3 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -27,33 +27,35 @@ class Piwik_VisitsSummary_API return self::$instance; } - public function get( $idSite, $period, $date, $columns = array() ) + public function get( $idSite, $period, $date, $columns = false) { Piwik::checkUserHasViewAccess( $idSite ); $archive = Piwik_Archive::build($idSite, $period, $date ); + // array values are comma separated + $columns = is_array($columns) ? implode(',', $columns) : ($columns !== false ? array($columns) : false); + $countColumnsRequested = is_array($columns) ? count($columns) : 0; + $bounceRateRequested = $actionsPerVisitRequested = $averageVisitDurationRequested = false; - $countColumnsRequested = count($columns); if(!empty($columns)) { - $toFetch = $columns; - if(($bounceRateRequested = array_search('bounce_rate', $toFetch)) !== false) + if(($bounceRateRequested = array_search('bounce_rate', $columns)) !== false) { - $toFetch = array('nb_visits', 'bounce_count'); + $columns = array('nb_visits', 'bounce_count'); } - elseif(($actionsPerVisitRequested = array_search('nb_actions_per_visit', $toFetch)) !== false) + elseif(($actionsPerVisitRequested = array_search('nb_actions_per_visit', $columns)) !== false) { - $toFetch = array('nb_actions', 'nb_visits'); + $columns = array('nb_actions', 'nb_visits'); } - elseif(($averageVisitDurationRequested = array_search('avg_visit_length', $toFetch)) !== false) + elseif(($averageVisitDurationRequested = array_search('avg_visit_length', $columns)) !== false) { - $toFetch = array('sum_visit_length', 'nb_visits'); + $columns = array('sum_visit_length', 'nb_visits'); } } else { $bounceRateRequested = $actionsPerVisitRequested = $averageVisitDurationRequested = true; - $toFetch = array( 'max_actions', + $columns = array( 'max_actions', 'nb_uniq_visitors', 'nb_visits', 'nb_actions', @@ -63,7 +65,7 @@ class Piwik_VisitsSummary_API ); } - $dataTable = $archive->getDataTableFromNumeric($toFetch); + $dataTable = $archive->getDataTableFromNumeric($columns); // Process ratio metrics from base metrics, when requested if($bounceRateRequested !== false) @@ -85,7 +87,7 @@ class Piwik_VisitsSummary_API && ($bounceRateRequested || $actionsPerVisitRequested || $averageVisitDurationRequested) ) { - $dataTable->deleteColumns($toFetch); + $dataTable->deleteColumns($columns); } return $dataTable; } diff --git a/plugins/VisitsSummary/Controller.php b/plugins/VisitsSummary/Controller.php index bc8549da70..23c11333fb 100644 --- a/plugins/VisitsSummary/Controller.php +++ b/plugins/VisitsSummary/Controller.php @@ -39,6 +39,7 @@ class Piwik_VisitsSummary_Controller extends Piwik_Controller { $columns = Piwik_Common::getRequestVar('columns'); } + $columns = !is_array($columns) ? array($columns) : $columns; $view->setColumnsToDisplay($columns); return $this->renderView($view, $fetch); } |