1<?php 2/** 3 * Friendly time 4 * Translates an epoch time into a human-readable time. 5 * 6 * @uses string $vars['time'] Unix-style epoch timestamp 7 * @uses int $vars['number_of_days'] (optional) number of days before friendly time switches to a date format 8 */ 9 10use Elgg\Values; 11 12$timestamp = elgg_extract('time', $vars); 13 14try { 15 $date = Values::normalizeTime($timestamp); 16} catch (DataFormatException $e) { 17 return; 18} 19 20$default_friendly_time_number_of_days = elgg_get_config('friendly_time_number_of_days', 30); 21$friendly_time_number_of_days = (int) elgg_extract('number_of_days', $vars, $default_friendly_time_number_of_days); 22 23if (strtotime("-{$friendly_time_number_of_days}days") < $timestamp) { 24 $output = elgg_get_friendly_time($timestamp); 25} else { 26 $output = $date->formatLocale(elgg_echo('friendlytime:date_format:short')); 27} 28 29$attributes = [ 30 'title' => $date->formatLocale(elgg_echo('friendlytime:date_format')), 31 'datetime' => $date->format('c'), 32]; 33 34echo elgg_format_element('time', $attributes, $output); 35