From: <tom...@us...> - 2007-09-08 10:41:36
|
Update of /cvsroot/tikiwiki/tiki/lib/smarty_tiki In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv26983/lib/smarty_tiki Modified Files: modifier.duration.php Log Message: [MOD]smarty: duration an option to have a short duration expression + tr Index: modifier.duration.php =================================================================== RCS file: /cvsroot/tikiwiki/tiki/lib/smarty_tiki/modifier.duration.php,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- modifier.duration.php 26 Aug 2004 19:24:02 -0000 1.3 +++ modifier.duration.php 8 Sep 2007 10:41:31 -0000 1.4 @@ -14,26 +14,66 @@ * Purpose: formats a duration from seconds * ------------------------------------------------------------- */ -function smarty_modifier_duration($string) +function smarty_modifier_duration($string, $long=true) { $result=Array(); if($string > 60*60*24) { $days = floor($string/(60*60*24)); - $result[]="$days days"; + if ($days > 1) { + $s = tra('days'); + } else { + $s = tra('day'); + } + if ($long) { + $s = " $s"; + } else { + $s = substr($s, 0, 1); + } + $result[]="$days$s"; $string = $string % (60*60*24); } if($string > 60*60) { $hours = floor($string/(60*60)); - $result[]="$hours hours"; + if ($hours > 1) { + $s = tra('hours'); + } else { + $s = tra('hour'); + } + if ($long) { + $s = " $s"; + } else { + $s = substr($s, 0, 1); + } + $result[]="$hours$s"; $string = $string % (60*60); } - if($string > 60) { + if($string > 60 && ($long || (!$long && empty($days)))) { $mins = floor($string/(60)); - $result[]="$mins minutes"; + if ($mins > 1) { + $s = tra('mins'); + } else { + $s = tra('min'); + } + if ($long) { + $s = " $s"; + } else { + $s = substr($s, 0, 1); + } + $result[]="$mins$s"; $string = $string % (60); } - if($string > 0) { - $result[]="$string seconds"; + if($string > 0 && ($long || (!$long && empty($days) && empty($hours)))) { + if ($string > 1) { + $s = tra('secs'); + } else { + $s = tra('sec'); + } + if ($long) { + $s = " $s"; + } else { + $s = substr($s, 0, 1); + } + $result[]="$string$s"; } return implode(' ',$result); |