diff --git a/plugins/Ecommerce/templates/getSparklines.twig b/plugins/Ecommerce/templates/getSparklines.twig index e8e07f47d5b89f1f230bc14714d3300ef575359d..5e56ad868f6103ee0259c41d676587ce28290315 100644 --- a/plugins/Ecommerce/templates/getSparklines.twig +++ b/plugins/Ecommerce/templates/getSparklines.twig @@ -1,6 +1,6 @@ <div id='leftcolumn' style="clear:both;{% if not isWidget %}width:33%;'{% endif %}"> <div class="sparkline">{{ sparkline(urlSparklineConversions) }} - <strong>{{ nb_conversions }}</strong> + <strong>{{ nb_conversions|number }}</strong> {{ 'General_EcommerceOrders'|translate }} <img src='plugins/Morpheus/images/ecommerceOrder.gif'> @@ -23,10 +23,10 @@ <div id='leftcolumn' {% if not isWidget %}style='width:33%;'{% endif %}> <div class="sparkline">{{ sparkline(urlSparklineConversionRate) }} {% set ecommerceOrdersText %}{{ 'General_EcommerceOrders'|translate }}{% endset %} - {{ 'Goals_ConversionRate'|translate("<strong>"~conversion_rate~"</strong> "~ecommerceOrdersText)|raw }} + {{ 'Goals_ConversionRate'|translate("<strong>"~conversion_rate|percent~"</strong> "~ecommerceOrdersText)|raw }} </div> <div class="sparkline">{{ sparkline(urlSparklinePurchasedProducts) }} - <strong>{{ items }}</strong> {{ 'General_PurchasedProducts'|translate }}</div> + <strong>{{ items|number }}</strong> {{ 'General_PurchasedProducts'|translate }}</div> </div> <div id='rightcolumn' {% if not isWidget %}style='width:30%;'{% endif %}> <div> @@ -36,7 +36,7 @@ <div class="sparkline"> {{ sparkline(cart_urlSparklineConversions) }} {% set ecommerceAbandonedCartsText %}{{ 'Goals_AbandonedCart'|translate }}{% endset %} - <strong>{{ cart_nb_conversions }}</strong> {{ 'General_VisitsWith'|translate(ecommerceAbandonedCartsText) }} + <strong>{{ cart_nb_conversions|number }}</strong> {{ 'General_VisitsWith'|translate(ecommerceAbandonedCartsText) }} </div> <div class="sparkline"> @@ -48,7 +48,7 @@ <div class="sparkline"> {{ sparkline(cart_urlSparklineConversionRate) }} - <strong>{{ cart_conversion_rate }}</strong> + <strong>{{ cart_conversion_rate|percent }}</strong> {{ 'General_VisitsWith'|translate(ecommerceAbandonedCartsText) }} </div> </div> diff --git a/plugins/Goals/Reports/Get.php b/plugins/Goals/Reports/Get.php index 66f167fb2498d77b5c756aac5b8a8fd5edbd5a29..d5a2afca781cd3c94b7660424fa7f0fba33611be 100644 --- a/plugins/Goals/Reports/Get.php +++ b/plugins/Goals/Reports/Get.php @@ -11,6 +11,7 @@ namespace Piwik\Plugins\Goals\Reports; use Piwik\Common; use Piwik\DataTable; use Piwik\Metrics\Formatter; +use Piwik\NumberFormatter; use Piwik\Piwik; use Piwik\Plugin; use Piwik\Plugin\ViewDataTable; @@ -21,6 +22,7 @@ use Piwik\Plugins\Goals\Goals; use Piwik\Plugins\Goals\Pages; use Piwik\Report\ReportWidgetFactory; use Piwik\Site; +use Piwik\Tracker\GoalManager; use Piwik\Widget\WidgetsList; class Get extends Base @@ -82,12 +84,30 @@ class Get extends Base $idGoal = Common::getRequestVar('idGoal', 0, 'int'); - $formatter = new Formatter(); - $view->config->filters[] = function (DataTable $table) use ($formatter, $idSite) { + $numberFormatter = NumberFormatter::getInstance(); + $view->config->filters[] = function (DataTable $table) use ($numberFormatter, $idSite) { $firstRow = $table->getFirstRow(); if ($firstRow) { + $revenue = $firstRow->getColumn('revenue'); - $firstRow->setColumn('revenue', $formatter->getPrettyMoney($revenue, $idSite)); + $currencySymbol = Formatter::getCurrencySymbol($idSite); + $revenue = $numberFormatter->formatCurrency($revenue, $currencySymbol, GoalManager::REVENUE_PRECISION); + $firstRow->setColumn('revenue', $revenue); + + $conversionRate = $firstRow->getColumn('conversion_rate'); + if (false !== $conversionRate) { + $firstRow->setColumn('conversion_rate', $numberFormatter->formatPercent($conversionRate, $precision = 1)); + } + + $conversions = $firstRow->getColumn('nb_conversions'); + if (false !== $conversions) { + $firstRow->setColumn('nb_conversions', $numberFormatter->formatNumber($conversions)); + } + + $visitsConverted = $firstRow->getColumn('nb_visits_converted'); + if (false !== $visitsConverted) { + $firstRow->setColumn('nb_visits_converted', $numberFormatter->formatNumber($visitsConverted)); + } } }; diff --git a/plugins/Referrers/Controller.php b/plugins/Referrers/Controller.php index 8c0320eb47c555fb9af74e64754afca3fd2cb904..1b258f4c6a6889415f80c565b0a94ccb0da3dda9 100644 --- a/plugins/Referrers/Controller.php +++ b/plugins/Referrers/Controller.php @@ -44,6 +44,8 @@ class Controller extends \Piwik\Plugin\Controller $metrics = $this->getReferrersVisitorsByType(); $distinctMetrics = $this->getDistinctReferrersMetrics(); + $numberFormatter = NumberFormatter::getInstance(); + $totalVisits = array_sum($metrics); foreach ($metrics as $name => $value) { @@ -77,10 +79,12 @@ class Controller extends \Piwik\Plugin\Controller $view = ViewDataTable\Factory::build(Sparklines::ID, $api = false, $controller = false, $force = true, $loadUserParams = false); // DIRECT ENTRY + $metrics['visitorsFromDirectEntry'] = $numberFormatter->formatNumber($metrics['visitorsFromDirectEntry']); $values = array($metrics['visitorsFromDirectEntry']); $descriptions = array(Piwik::translate('Referrers_TypeDirectEntries')); if (!empty($metrics['visitorsFromDirectEntryPercent'])) { + $metrics['visitorsFromDirectEntryPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromDirectEntryPercent'], $precision = 1); $values[] = $metrics['visitorsFromDirectEntryPercent']; $descriptions[] = Piwik::translate('Referrers_XPercentOfVisits'); } @@ -91,10 +95,12 @@ class Controller extends \Piwik\Plugin\Controller // WEBSITES + $metrics['visitorsFromWebsites'] = $numberFormatter->formatNumber($metrics['visitorsFromWebsites']); $values = array($metrics['visitorsFromWebsites']); $descriptions = array(Piwik::translate('Referrers_TypeWebsites')); if (!empty($metrics['visitorsFromWebsitesPercent'])) { + $metrics['visitorsFromWebsitesPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromWebsitesPercent'], $precision = 1); $values[] = $metrics['visitorsFromWebsitesPercent']; $descriptions[] = Piwik::translate('Referrers_XPercentOfVisits'); } @@ -105,10 +111,12 @@ class Controller extends \Piwik\Plugin\Controller // SEARCH ENGINES + $metrics['visitorsFromSearchEngines'] = $numberFormatter->formatNumber($metrics['visitorsFromSearchEngines']); $values = array($metrics['visitorsFromSearchEngines']); $descriptions = array(Piwik::translate('Referrers_TypeSearchEngines')); if (!empty($metrics['visitorsFromSearchEnginesPercent'])) { + $metrics['visitorsFromSearchEnginesPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromSearchEnginesPercent'], $precision = 1); $values[] = $metrics['visitorsFromSearchEnginesPercent']; $descriptions[] = Piwik::translate('Referrers_XPercentOfVisits'); } @@ -118,10 +126,12 @@ class Controller extends \Piwik\Plugin\Controller // CAMPAIGNS + $metrics['visitorsFromCampaigns'] = $numberFormatter->formatNumber($metrics['visitorsFromCampaigns']); $values = array($metrics['visitorsFromCampaigns']); $descriptions = array(Piwik::translate('Referrers_TypeCampaigns')); if (!empty($metrics['visitorsFromCampaignsPercent'])) { + $metrics['visitorsFromCampaignsPercent'] = $numberFormatter->formatPercent($metrics['visitorsFromCampaignsPercent'], $precision = 1); $values[] = $metrics['visitorsFromCampaignsPercent']; $descriptions[] = Piwik::translate('Referrers_XPercentOfVisits'); } @@ -134,6 +144,7 @@ class Controller extends \Piwik\Plugin\Controller // DISTINCT SEARCH ENGINES $sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctSearchEnginesGraph'); $value = $distinctMetrics['numberDistinctSearchEngines']; + $value = $numberFormatter->formatNumber($value); $description = Piwik::translate('Referrers_DistinctSearchEngines'); $view->config->addSparkline($sparklineParams, $value, $description, @$distinctMetrics['numberDistinctSearchEnginesEvolution']); @@ -141,6 +152,10 @@ class Controller extends \Piwik\Plugin\Controller // DISTINCT WEBSITES $sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctWebsitesGraph'); + + $distinctMetrics['numberDistinctWebsites'] = $numberFormatter->formatNumber($distinctMetrics['numberDistinctWebsites']); + $distinctMetrics['numberDistinctWebsitesUrls'] = $numberFormatter->formatNumber($distinctMetrics['numberDistinctWebsitesUrls']); + $values = array($distinctMetrics['numberDistinctWebsites'], $distinctMetrics['numberDistinctWebsitesUrls']); $descriptions = array(Piwik::translate('Referrers_DistinctWebsites'), Piwik::translate('Referrers_UsingNDistinctUrls')); @@ -150,6 +165,7 @@ class Controller extends \Piwik\Plugin\Controller // DISTINCT KEYWORDS $sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctKeywordsGraph'); $value = $distinctMetrics['numberDistinctKeywords']; + $value = $numberFormatter->formatNumber($value); $description = Piwik::translate('Referrers_DistinctKeywords'); $view->config->addSparkline($sparklineParams, $value, $description, @$distinctMetrics['numberDistinctKeywordsEvolution']); @@ -158,6 +174,7 @@ class Controller extends \Piwik\Plugin\Controller // DISTINCT CAMPAIGNS $sparklineParams = $this->getDistinctSparklineUrlParams('getLastDistinctCampaignsGraph'); $value = $distinctMetrics['numberDistinctCampaigns']; + $value = $numberFormatter->formatNumber($value); $description = Piwik::translate('Referrers_DistinctCampaigns'); $view->config->addSparkline($sparklineParams, $value, $description, @$distinctMetrics['numberDistinctCampaignsEvolution']); diff --git a/plugins/UserCountry/templates/getDistinctCountries.twig b/plugins/UserCountry/templates/getDistinctCountries.twig index 7a2506f78212226852d2be7261674c82edbab21d..ce78d5ca689c5977960ecea50759d3b55256cacb 100644 --- a/plugins/UserCountry/templates/getDistinctCountries.twig +++ b/plugins/UserCountry/templates/getDistinctCountries.twig @@ -1,5 +1,5 @@ <div class="sparkline"> {{ sparkline(urlSparklineCountries) }} - {{ 'UserCountry_DistinctCountries'|translate("<strong>"~numberDistinctCountries~"</strong>")|raw }} + {{ 'UserCountry_DistinctCountries'|translate("<strong>"~numberDistinctCountries|number~"</strong>")|raw }} </div> <br style="clear:left"/> \ No newline at end of file diff --git a/plugins/VisitFrequency/Reports/Get.php b/plugins/VisitFrequency/Reports/Get.php index 735f1cbe0f7b30671362b64651a99e490adba586..d1368c7a92ded53614c50d8ebba295159a9d779a 100644 --- a/plugins/VisitFrequency/Reports/Get.php +++ b/plugins/VisitFrequency/Reports/Get.php @@ -8,6 +8,8 @@ */ namespace Piwik\Plugins\VisitFrequency\Reports; +use Piwik\DataTable; +use Piwik\NumberFormatter; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit; @@ -67,6 +69,32 @@ class Get extends \Piwik\Plugin\Report $view->requestConfig->apiMethodToRequestDataTable = 'VisitFrequency.get'; $this->addSparklineColumns($view); $view->config->addTranslations($this->getSparklineTranslations()); + + $numberFormatter = NumberFormatter::getInstance(); + $view->config->filters[] = function (DataTable $table) use ($numberFormatter) { + $firstRow = $table->getFirstRow(); + if ($firstRow) { + $value = $firstRow->getColumn('nb_visits_returning'); + if (false !== $value) { + $firstRow->setColumn('nb_visits_returning', $numberFormatter->formatNumber($value)); + } + + $value = $firstRow->getColumn('nb_actions_returning'); + if (false !== $value) { + $firstRow->setColumn('nb_actions_returning', $numberFormatter->formatNumber($value, 1)); + } + + $value = $firstRow->getColumn('nb_actions_per_visit_returning'); + if (false !== $value) { + $firstRow->setColumn('nb_actions_per_visit_returning', $numberFormatter->formatNumber($value)); + } + + $value = $firstRow->getColumn('bounce_rate_returning'); + if (false !== $value) { + $firstRow->setColumn('bounce_rate_returning', $numberFormatter->formatNumber($value, $precision = 1)); + } + } + }; } } diff --git a/plugins/VisitsSummary/Reports/Get.php b/plugins/VisitsSummary/Reports/Get.php index 7fb95d295033d377b5b1fe5797856387153f3607..46ba992787167926c6cecec4472982056b55c481 100644 --- a/plugins/VisitsSummary/Reports/Get.php +++ b/plugins/VisitsSummary/Reports/Get.php @@ -13,6 +13,7 @@ use Piwik\Container\StaticContainer; use Piwik\DataTable; use Piwik\DataTable\DataTableInterface; use Piwik\Metrics\Formatter; +use Piwik\NumberFormatter; use Piwik\Piwik; use Piwik\Plugin\ViewDataTable; use Piwik\Plugins\CoreHome\Columns\Metrics\ActionsPerVisit; @@ -80,7 +81,9 @@ class Get extends \Piwik\Plugin\Report $view->requestConfig->apiMethodToRequestDataTable = 'API.get'; $this->addSparklineColumns($view); $view->config->addTranslations($this->getSparklineTranslations()); - $view->config->filters[] = function (DataTable $table) use ($view) { + + $numberFormatter = NumberFormatter::getInstance(); + $view->config->filters[] = function (DataTable $table) use ($view, $numberFormatter) { $firstRow = $table->getFirstRow(); if (($firstRow->getColumn('nb_pageviews') @@ -108,6 +111,24 @@ class Get extends \Piwik\Plugin\Report $avgGenerationTime = $formatter->getPrettyTimeFromSeconds($avgGenerationTime, true); $firstRow->setColumn('avg_time_generation', $avgGenerationTime); } + + $numberMetrics = array('nb_visits', 'nb_uniq_visitors', 'nb_uniq_visitors', 'nb_users', 'nb_actions', + 'nb_pageviews', 'nb_uniq_pageviews', 'nb_searches', 'nb_keywords', 'nb_downloads', + 'nb_uniq_downloads', 'nb_outlinks', 'nb_uniq_outlinks', 'max_actions'); + foreach ($numberMetrics as $metric) { + $value = $firstRow->getColumn($metric); + if (false !== $value) { + $firstRow->setColumn($metric, $numberFormatter->formatNumber($value)); + } + } + $value = $firstRow->getColumn('bounce_rate'); + if (false !== $value) { + $firstRow->setColumn('bounce_rate', $numberFormatter->formatPercent($value, $precision = 1)); + } + $value = $firstRow->getColumn('nb_actions_per_visit'); + if (false !== $value) { + $firstRow->setColumn('nb_actions_per_visit', $numberFormatter->formatNumber($value, $maxFraction = 1)); + } }; } }