diff options
author | mattab <matthieu.aubry@gmail.com> | 2014-09-09 04:10:34 +0400 |
---|---|---|
committer | mattab <matthieu.aubry@gmail.com> | 2014-09-09 04:10:34 +0400 |
commit | 29ba89aa83604d13987e746354e78bef189127d5 (patch) | |
tree | c11f27f51612573537676ee1c9261368864193e9 /plugins/VisitsSummary | |
parent | a315cfcbb43802c46151fe889bf1af551ecb77e0 (diff) |
refs #6162 Extending config setting enable_processing_unique_visitors_* to also affect the nb_uniq_users metric processing over periods, + only show Users metrics when it's greater than zero, + fix more tests and renamed test suite to UserIdAndVisitorIdTest
Diffstat (limited to 'plugins/VisitsSummary')
-rw-r--r-- | plugins/VisitsSummary/API.php | 26 | ||||
-rw-r--r-- | plugins/VisitsSummary/templates/_sparklines.twig | 11 |
2 files changed, 29 insertions, 8 deletions
diff --git a/plugins/VisitsSummary/API.php b/plugins/VisitsSummary/API.php index 6d58d933a7..8012de8f50 100644 --- a/plugins/VisitsSummary/API.php +++ b/plugins/VisitsSummary/API.php @@ -89,14 +89,13 @@ class API extends \Piwik\Plugin\API $columns = array( 'nb_visits', 'nb_actions', - 'nb_users', 'nb_visits_converted', 'bounce_count', 'sum_visit_length', 'max_actions' ); if (SettingsPiwik::isUniqueVisitorsEnabled($period)) { - $columns = array_merge(array('nb_uniq_visitors'), $columns); + $columns = array_merge(array('nb_uniq_visitors', 'nb_users'), $columns); } $columns = array_values($columns); return $columns; @@ -117,12 +116,16 @@ class API extends \Piwik\Plugin\API public function getUniqueVisitors($idSite, $period, $date, $segment = false) { - return $this->getNumeric($idSite, $period, $date, $segment, 'nb_uniq_visitors'); + $metric = 'nb_uniq_visitors'; + $this->checkUniqueIsEnabledOrFail($period, $metric); + return $this->getNumeric($idSite, $period, $date, $segment, $metric); } public function getUsers($idSite, $period, $date, $segment = false) { - return $this->getNumeric($idSite, $period, $date, $segment, 'nb_users'); + $metric = 'nb_users'; + $this->checkUniqueIsEnabledOrFail($period, $metric); + return $this->getNumeric($idSite, $period, $date, $segment, $metric); } public function getActions($idSite, $period, $date, $segment = false) @@ -161,4 +164,19 @@ class API extends \Piwik\Plugin\API } return $table; } + + /** + * @param $period + * @param $metric + * @throws \Exception + */ + private function checkUniqueIsEnabledOrFail($period, $metric) + { + if (!SettingsPiwik::isUniqueVisitorsEnabled($period)) { + throw new \Exception( + "The metric " . $metric . " is not enabled for the requested period. " . + "Please see this FAQ: http://piwik.org/faq/how-to/faq_113/" + ); + } + } } diff --git a/plugins/VisitsSummary/templates/_sparklines.twig b/plugins/VisitsSummary/templates/_sparklines.twig index 566781c380..fd58642ad2 100644 --- a/plugins/VisitsSummary/templates/_sparklines.twig +++ b/plugins/VisitsSummary/templates/_sparklines.twig @@ -4,10 +4,13 @@ {{ 'General_NVisits'|translate("<strong>"~nbVisits~"</strong>")|raw }}{% if displayUniqueVisitors %}, {{ 'VisitsSummary_NbUniqueVisitors'|translate("<strong>"~nbUniqVisitors~"</strong>")|raw }}{% endif %} </div> - <div class="sparkline"> - {{ sparkline(urlSparklineNbUsers)|raw }} - {{ 'General_NUsers'|translate("<strong>"~nbUsers~"</strong>")|raw }} - </div> + {% if nbUsers > 0 %} + {# Most of users will not have used `setUserId` so this would be confusingly zero #} + <div class="sparkline"> + {{ sparkline(urlSparklineNbUsers)|raw }} + {{ 'General_NUsers'|translate("<strong>"~nbUsers~"</strong>")|raw }} + </div> + {% endif %} <div class="sparkline"> {{ sparkline(urlSparklineAvgVisitDuration)|raw }} {% set averageVisitDuration=averageVisitDuration|sumtime %} |