* Name: timeAgo
* @author Stephan Otto * @param string * @return string */ function smarty_modifier_timeAgo( $date) { if ($date == "") return "n/a"; $timeStrings = array( 'now', // 0 'Sec', 'Secs', // 1,1 'Min','Mins', // 3,3 'Hour', 'Hrs', // 5,5 'Day', 'Days'); $sec = time() - (( !is_numeric($date) && strtotime($date)) ? strtotime($date) : $date); if ( $sec <= 0) return $timeStrings[0]; if ( $sec < 2) return $sec." ".$timeStrings[1]; if ( $sec < 60) return $sec." ".$timeStrings[2]; $min = $sec / 60; if ( floor($min+0.5) < 2) return floor($min+0.5)." ".$timeStrings[3]; if ( $min < 60) return floor($min+0.5)." ".$timeStrings[4]; $hrs = $min / 60; if ( floor($hrs+0.5) < 2) return floor($hrs+0.5)." ".$timeStrings[5]; if ( $hrs < 24) return floor($hrs+0.5)." ".$timeStrings[6]; $days = $sec/60/60/24; if ($days > 365) { return round(($days/365), 1).' Yrs'; } else if ($days > 90) { return round($days/7).' Wks'; } else { return round($days, 1).'d'; } } ?>