Shorten timeSince helper, now based on Icinga\Util\Format

This commit is contained in:
Thomas Gelf 2014-02-25 10:20:06 +00:00
parent fcb5bc7ace
commit 5948ebed3f

View File

@ -29,6 +29,8 @@
*/ */
// {{{ICINGA_LICENSE_HEADER}}} // {{{ICINGA_LICENSE_HEADER}}}
use Icinga\Util\Format;
/** /**
* Class Zend_View_Helper_TimeSince * Class Zend_View_Helper_TimeSince
*/ */
@ -36,42 +38,9 @@ class Zend_View_Helper_TimeSince extends Zend_View_Helper_Abstract
{ {
public function timeSince($timestamp) public function timeSince($timestamp)
{ {
return '<span class="timesince">'
if (!is_numeric($timestamp)) { . Format::timeSince($timestamp)
$timestamp = strtotime($timestamp); . '</span>';
}
if (!is_numeric($timestamp)) {
return '?';
}
if (! $timestamp) return '-';
$duration = time() - $timestamp;
$prefix = '';
if ($duration < 0) {
$prefix = '-';
$duration *= -1;
}
if ($duration > 3600 * 24 * 3) {
if (date('Y') === date('Y', $timestamp)) {
return date('d.m.', $timestamp);
}
return date('m.Y', $timestamp);
}
return '<span class="timesince">' . $prefix . $this->showHourMin($duration) . '</span>';
}
public static function showHourMin($sec)
{
$min = floor($sec / 60);
if ($min < 60) {
return $min . 'm ' . ($sec % 60) . 's';
}
$hour = floor($min / 60);
if ($hour < 24) {
return date('H:i', time() - $sec);
}
return floor($hour / 24) . 'd ' . ($hour % 24) . 'h';
} }
} }