diff --git a/lang/en.json b/lang/en.json index 3925c960e766e5874046d8139ad9eff39a522435..b70d71e53abc939d23afee7fa551b9a2d7e0ae96 100644 --- a/lang/en.json +++ b/lang/en.json @@ -99,7 +99,7 @@ "DateRange": "Date range:", "DateRangeFrom": "From", "DateRangeFromTo": "From %s to %s", - "DateRangeInPeriodList": "Date range", + "DateRangeInPeriodList": "date range", "DateRangeTo": "To", "DaysHours": "%1$s days %2$s hours", "DaysSinceFirstVisit": "Days since first visit", diff --git a/plugins/MultiSites/Dashboard.php b/plugins/MultiSites/Dashboard.php index b364482d902d071040541f10868883a2cc24f62e..a9032b6fd31a0ea122fd90aea192b13d9ba5320c 100644 --- a/plugins/MultiSites/Dashboard.php +++ b/plugins/MultiSites/Dashboard.php @@ -12,6 +12,7 @@ use Piwik\API\DataTablePostProcessor; use Piwik\API\ResponseBuilder; use Piwik\Config; use Piwik\Metrics\Formatter; +use Piwik\NumberFormatter; use Piwik\Period; use Piwik\DataTable; use Piwik\DataTable\Row; @@ -35,6 +36,12 @@ class Dashboard */ private $numSites = 0; + /** + * Array of metrics that will be displayed and will be number formatted + * @var array + */ + private $displayedMetricColumns = array('nb_visits', 'nb_pageviews', 'nb_actions', 'revenue'); + /** * @param string $period * @param string $date @@ -44,7 +51,7 @@ class Dashboard { $sites = API::getInstance()->getAll($period, $date, $segment, $_restrictSitesToLogin = false, $enhanced = true, $searchTerm = false, - $showColumns = array('nb_visits', 'nb_pageviews', 'nb_actions', 'revenue')); + $this->displayedMetricColumns); $sites->deleteRow(DataTable::ID_SUMMARY_ROW); /** @var DataTable $pastData */ @@ -98,15 +105,32 @@ class Dashboard public function getTotals() { - return array( + $totals = array( 'nb_pageviews' => $this->sitesByGroup->getMetadata('total_nb_pageviews'), 'nb_visits' => $this->sitesByGroup->getMetadata('total_nb_visits'), 'nb_actions' => $this->sitesByGroup->getMetadata('total_nb_actions'), 'revenue' => $this->sitesByGroup->getMetadata('total_revenue'), 'nb_visits_lastdate' => $this->sitesByGroup->getMetadata('total_nb_visits_lastdate') ? : 0, ); + $this->formatMetrics($totals); + return $totals; + } + + private function formatMetrics(&$metrics) + { + $formatter = new NumberFormatter(); + foreach($metrics as $metricName => &$value) { + if(in_array($metricName, $this->displayedMetricColumns)) { + + if( strpos($metricName, 'revenue') !== false) { + continue; + } + $value = $formatter->format($value); + } + } } + public function getNumSites() { return $this->numSites; @@ -312,6 +336,8 @@ class Dashboard $site['revenue'] = $formatter->getPrettyMoney($site['revenue'], $site['idsite']); } $site['main_url'] = Site::getMainUrlFor($site['idsite']); + + $this->formatMetrics($site); } return $sites; diff --git a/tests/UI/expected-ui-screenshots b/tests/UI/expected-ui-screenshots index 438a0d269b6a45803831481c6d7016cc02553470..f95ac83dc44d864516fad7d927615555475b8e2e 160000 --- a/tests/UI/expected-ui-screenshots +++ b/tests/UI/expected-ui-screenshots @@ -1 +1 @@ -Subproject commit 438a0d269b6a45803831481c6d7016cc02553470 +Subproject commit f95ac83dc44d864516fad7d927615555475b8e2e