public function format($value, Formatter $formatter) { return $formatter->getPrettyMoney($value, $this->idSite); }
/** * Prettifies a metric value based on the column name. * * @param int $idSite The ID of the site the metric is for (used if the column value is an amount of money). * @param string $columnName The metric name. * @param mixed $value The metric value. * @param bool $isHtml If true, replaces all spaces with `' '`. * @return string */ public static function getPrettyValue(Formatter $formatter, $idSite, $columnName, $value) { if (!is_numeric($value)) { return $value; } // Display time in human readable if (strpos($columnName, 'time_generation') !== false) { return $formatter->getPrettyTimeFromSeconds($value, true); } if (strpos($columnName, 'time') !== false) { return $formatter->getPrettyTimeFromSeconds($value); } // Add revenue symbol to revenues $isMoneyMetric = strpos($columnName, 'revenue') !== false || strpos($columnName, 'price') !== false; if ($isMoneyMetric && strpos($columnName, 'evolution') === false) { return $formatter->getPrettyMoney($value, $idSite); } // Add % symbol to rates if (strpos($columnName, '_rate') !== false) { if (strpos($value, "%") === false) { return $value . "%"; } } return $value; }
/** * @dataProvider getPrettyMoneyTestData */ public function test_getPrettyMoney_ReturnsCorrectResult($value, $idSite, $expected) { $this->assertEquals($expected, $this->formatter->getPrettyMoney($value, $idSite)); }
private function enrichValues($sites) { $formatter = new Formatter(); foreach ($sites as &$site) { if (!isset($site['idsite'])) { continue; } if (isset($site['revenue'])) { $site['revenue'] = $formatter->getPrettyMoney($site['revenue'], $site['idsite']); } $site['main_url'] = Site::getMainUrlFor($site['idsite']); } return $sites; }
public function getPrettyMoney($value, $idSite) { $result = parent::getPrettyMoney($value, $idSite); $result = $this->replaceSpaceWithNonBreakingSpace($result); return $result; }