diff options
author | diosmosis <benaka@piwik.pro> | 2014-11-14 05:22:49 +0300 |
---|---|---|
committer | diosmosis <benaka@piwik.pro> | 2014-11-14 05:22:49 +0300 |
commit | 545d316d4dad434edfe5048807bfbe686f856259 (patch) | |
tree | 2f82ab2c064539c0624b7496ccfd41398dee75db /core/Twig.php | |
parent | f57473c98324fa6026c4e7776f30c104d81d0989 (diff) |
Make MetricsFormatter a class with instance methods and move Html related functionality to derived class. Use FOrmatter in Metric::format calls so Metrics do not have to be aware of context of formatting, and so Metric::format methods will have less code redundancy.
Diffstat (limited to 'core/Twig.php')
-rwxr-xr-x | core/Twig.php | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/core/Twig.php b/core/Twig.php index 2e0ef95844..790de9ab3c 100755 --- a/core/Twig.php +++ b/core/Twig.php @@ -10,6 +10,7 @@ namespace Piwik; use Exception; use Piwik\DataTable\Filter\SafeDecodeLabel; +use Piwik\Metrics\Formatter; use Piwik\Period\Range; use Piwik\Translate; use Piwik\View\RenderTokenParser; @@ -35,6 +36,8 @@ class Twig */ private $twig; + private $formatter; + public function __construct() { $loader = $this->getDefaultThemeLoader(); @@ -45,6 +48,8 @@ class Twig $theme = $manager->getThemeEnabled(); $loaders = array(); + $this->formatter = new Formatter(); + //create loader for custom theme to overwrite twig templates if ($theme && $theme->getPluginName() != \Piwik\Plugin\Manager::DEFAULT_THEME) { $customLoader = $this->getCustomThemeLoader($theme); @@ -273,21 +278,23 @@ class Twig protected function addFilter_money() { - $moneyFilter = new Twig_SimpleFilter('money', function ($amount) { + $formatter = $this->formatter; + $moneyFilter = new Twig_SimpleFilter('money', function ($amount) use ($formatter) { if (func_num_args() != 2) { throw new Exception('the money modifier expects one parameter: the idSite.'); } $idSite = func_get_args(); $idSite = $idSite[1]; - return MetricsFormatter::getPrettyMoney($amount, $idSite); + return $formatter->getPrettyMoney($amount, $idSite); }); $this->twig->addFilter($moneyFilter); } protected function addFilter_sumTime() { - $sumtimeFilter = new Twig_SimpleFilter('sumtime', function ($numberOfSeconds) { - return MetricsFormatter::getPrettyTimeFromSeconds($numberOfSeconds); + $formatter = $this->formatter; + $sumtimeFilter = new Twig_SimpleFilter('sumtime', function ($numberOfSeconds) use ($formatter) { + return $formatter->getPrettyTimeFromSeconds($numberOfSeconds); }); $this->twig->addFilter($sumtimeFilter); } |