public static function time_since($original)
{
$original = strtotime($original);
$chunks = array(array(60 * 60 * 24 * 365, Pubwich::_('year')), array(60 * 60 * 24 * 30, Pubwich::_('month')), array(60 * 60 * 24 * 7, Pubwich::_('week')), array(60 * 60 * 24, Pubwich::_('day')), array(60 * 60, Pubwich::_('hour')), array(60, Pubwich::_('minute')));
$today = time();
$since = $today - $original;
if ($since < 0) {
return sprintf(Pubwich::_('just moments ago'), $since);
}
if ($since < 60) {
return sprintf(Pubwich::_('%d seconds ago'), $since);
}
if ($since > 7 * 24 * 60 * 60) {
$print = strftime(Pubwich::_('%e %B at %H:%M'), $original);
return $print;
}
for ($i = 0, $j = count($chunks); $i < $j; $i++) {
$seconds = $chunks[$i][0];
$name = $chunks[$i][1];
if (($count = floor($since / $seconds)) != 0) {
break;
}
}
$suffixe = "s";
$print = $count == 1 ? '1 ' . $name : $count . ' ' . $name . $suffixe;
return sprintf(Pubwich::_('%s ago'), $print);
}