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

Add formatting to actions metrics and remove more use of filters & explicit...

Add formatting to actions metrics and remove more use of filters & explicit translation/documentation values for Visualizations.
parent e596b712
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -10,6 +10,7 @@ namespace Piwik\Plugins\Actions\Metrics; ...@@ -10,6 +10,7 @@ namespace Piwik\Plugins\Actions\Metrics;
use Piwik\DataTable; use Piwik\DataTable;
use Piwik\DataTable\Row; use Piwik\DataTable\Row;
use Piwik\Metrics; use Piwik\Metrics;
use Piwik\MetricsFormatter;
use Piwik\Piwik; use Piwik\Piwik;
use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\ProcessedMetric;
use Piwik\Plugin\Report; use Piwik\Plugin\Report;
...@@ -47,6 +48,12 @@ class AveragePageGenerationTime extends ProcessedMetric ...@@ -47,6 +48,12 @@ class AveragePageGenerationTime extends ProcessedMetric
return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3); return Piwik::getQuotientSafe($sumGenerationTime, $hitsWithTimeGeneration, $precision = 3);
} }
public function format($value)
{
// TODO: isHtml needs to be true for this & for revenue columns. perhaps we can make MetricsFormatter an object.
return $value ? MetricsFormatter::getPrettyTimeFromSeconds($value, $displayAsSentence = true, $isHtml = false) : "-";
}
public function beforeCompute($report, DataTable $table) public function beforeCompute($report, DataTable $table)
{ {
$hasTimeGeneration = array_sum($this->getMetricValues($table, 'sum_time_generation')) > 0; $hasTimeGeneration = array_sum($this->getMetricValues($table, 'sum_time_generation')) > 0;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
namespace Piwik\Plugins\Actions\Metrics; namespace Piwik\Plugins\Actions\Metrics;
use Piwik\DataTable\Row; use Piwik\DataTable\Row;
use Piwik\MetricsFormatter;
use Piwik\Piwik; use Piwik\Piwik;
use Piwik\Plugin\ProcessedMetric; use Piwik\Plugin\ProcessedMetric;
...@@ -38,6 +39,11 @@ class AverageTimeOnPage extends ProcessedMetric ...@@ -38,6 +39,11 @@ class AverageTimeOnPage extends ProcessedMetric
return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0); return Piwik::getQuotientSafe($sumTimeSpent, $visits, $precision = 0);
} }
public function format($value)
{
return MetricsFormatter::getPrettyTimeFromSeconds($value);
}
public function getDependentMetrics() public function getDependentMetrics()
{ {
return array('sum_time_spent', 'nb_visits'); return array('sum_time_spent', 'nb_visits');
......
...@@ -58,23 +58,9 @@ abstract class Base extends \Piwik\Plugin\Report ...@@ -58,23 +58,9 @@ abstract class Base extends \Piwik\Plugin\Report
{ {
$view->config->addTranslations(array( $view->config->addTranslations(array(
'nb_hits' => Piwik::translate('General_ColumnPageviews'), 'nb_hits' => Piwik::translate('General_ColumnPageviews'),
'nb_visits' => Piwik::translate('General_ColumnUniquePageviews'), 'nb_visits' => Piwik::translate('General_ColumnUniquePageviews')
'avg_time_on_page' => Piwik::translate('General_ColumnAverageTimeOnPage'),
'bounce_rate' => Piwik::translate('General_ColumnBounceRate'),
'exit_rate' => Piwik::translate('General_ColumnExitRate'),
'avg_time_generation' => Piwik::translate('General_ColumnAverageGenerationTime'),
)); ));
// prettify avg_time_on_page column
$getPrettyTimeFromSeconds = '\Piwik\MetricsFormatter::getPrettyTimeFromSeconds';
$view->config->filters[] = array('ColumnCallbackReplace', array('avg_time_on_page', $getPrettyTimeFromSeconds));
// prettify avg_time_generation column
$avgTimeCallback = function ($time) {
return $time ? MetricsFormatter::getPrettyTimeFromSeconds($time, true, true, false) : "-";
};
$view->config->filters[] = array('ColumnCallbackReplace', array('avg_time_generation', $avgTimeCallback));
// add avg_generation_time tooltip // add avg_generation_time tooltip
$tooltipCallback = function ($hits, $min, $max) { $tooltipCallback = function ($hits, $min, $max) {
if (!$hits) { if (!$hits) {
...@@ -115,5 +101,4 @@ abstract class Base extends \Piwik\Plugin\Report ...@@ -115,5 +101,4 @@ abstract class Base extends \Piwik\Plugin\Report
}; };
} }
} }
}
} \ No newline at end of file
...@@ -50,7 +50,7 @@ class VisitsPercent extends ProcessedMetric ...@@ -50,7 +50,7 @@ class VisitsPercent extends ProcessedMetric
{ {
$visits = $this->getMetric($row, 'nb_visits'); $visits = $this->getMetric($row, 'nb_visits');
return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 2); return Piwik::getQuotientSafe($visits, $this->cachedTotalVisits, $precision = 3);
} }
public function format($value) public function format($value)
......
...@@ -4,14 +4,12 @@ ...@@ -4,14 +4,12 @@
* *
* @link http://piwik.org * @link http://piwik.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*
*/ */
namespace Piwik\Plugins\Goals\Visualizations; namespace Piwik\Plugins\Goals\Visualizations;
use Piwik\Common; use Piwik\Common;
use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal; use Piwik\DataTable\Filter\AddColumnsProcessedMetricsGoal;
use Piwik\MetricsFormatter;
use Piwik\Piwik; use Piwik\Piwik;
use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable; use Piwik\Plugins\CoreVisualizations\Visualizations\HtmlTable;
use Piwik\Plugins\Goals\API as APIGoals; use Piwik\Plugins\Goals\API as APIGoals;
...@@ -103,9 +101,8 @@ class Goals extends HtmlTable ...@@ -103,9 +101,8 @@ class Goals extends HtmlTable
)); ));
$goalName = Piwik::translate('General_EcommerceOrders'); $goalName = Piwik::translate('General_EcommerceOrders');
$this->config->metrics_documentation += array( $this->config->metrics_documentation['revenue_per_visit'] =
'revenue_per_visit' => Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', $goalName) Piwik::translate('Goals_ColumnRevenuePerVisitDocumentation', $goalName);
);
} }
private function setPropertiesForGoalsOverview($idSite) private function setPropertiesForGoalsOverview($idSite)
......
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