Twig filter (timeago)

Added twig filter timeago for dates.
This commit is contained in:
Lee 2021-03-09 23:17:24 +00:00
parent 84447ef178
commit 7ce005341e

View File

@ -19,6 +19,31 @@ if($dev_mode) {
}
unset($dev_mode);
$filter = new Twig_SimpleFilter('timeago', function ($datetime) {
$time = time() - strtotime($datetime);
$units = array (
31536000 => 'year',
2592000 => 'month',
604800 => 'week',
86400 => 'day',
3600 => 'hour',
60 => 'minute',
1 => 'second'
);
foreach ($units as $unit => $val) {
if ($time < $unit) continue;
$numberOfUnits = floor($time / $unit);
return ($val == 'second')? 'a few seconds ago' :
(($numberOfUnits>1) ? $numberOfUnits : 'a')
.' '.$val.(($numberOfUnits>1) ? 's' : '').' ago';
}
});
$twig->addFilter($filter);
$function = new TwigFunction('getStyle', function ($i) {
return getStyle($i);
});