From 7ce005341ee6c7b99876e01403038df49b64b6a1 Mon Sep 17 00:00:00 2001 From: Lee <42119604+Leesneaks@users.noreply.github.com> Date: Tue, 9 Mar 2021 23:17:24 +0000 Subject: [PATCH] Twig filter (timeago) Added twig filter timeago for dates. --- system/twig.php | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/system/twig.php b/system/twig.php index 84562ed4..da4dc448 100644 --- a/system/twig.php +++ b/system/twig.php @@ -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); });