From 472f4055f3da696c8e4dd63eb34c538ec5d53a73 Mon Sep 17 00:00:00 2001 From: Yorhel Date: Sun, 16 Aug 2009 18:41:57 +0200 Subject: L10N: Moved some functions from Func.pm to L10N.pm and added Russian quant() and age() --- lib/VNDB/Func.pm | 68 +------------------------------------------------------- 1 file changed, 1 insertion(+), 67 deletions(-) (limited to 'lib/VNDB/Func.pm') diff --git a/lib/VNDB/Func.pm b/lib/VNDB/Func.pm index 31a04f8a..cd4c4b62 100644 --- a/lib/VNDB/Func.pm +++ b/lib/VNDB/Func.pm @@ -6,7 +6,7 @@ use warnings; use YAWF ':html'; use Exporter 'import'; use POSIX 'strftime', 'ceil', 'floor'; -our @EXPORT = qw| shorten age date datestr monthstr userstr bb2html gtintype liststat clearfloat cssicon tagscore mt |; +our @EXPORT = qw| shorten bb2html gtintype liststat clearfloat cssicon tagscore mt |; # I would've done this as a #define if this was C... @@ -16,72 +16,6 @@ sub shorten { } -# Argument: unix timestamp -# Returns: age -sub age { - my $a = time-$_[0]; - return sprintf '%d %s ago', - $a > 60*60*24*365*2 ? ( $a/60/60/24/365, 'years' ) : - $a > 60*60*24*(365/12)*2 ? ( $a/60/60/24/(365/12), 'months' ) : - $a > 60*60*24*7*2 ? ( $a/60/60/24/7, 'weeks' ) : - $a > 60*60*24*2 ? ( $a/60/60/24, 'days' ) : - $a > 60*60*2 ? ( $a/60/60, 'hours' ) : - $a > 60*2 ? ( $a/60, 'min' ) : - ( $a, 'sec' ); -} - - -# argument: unix timestamp and optional format (compact/full) -# return value: yyyy-mm-dd -# (maybe an idea to use cgit-style ages for recent timestamps) -sub date { - my($t, $f) = @_; - return strftime '%Y-%m-%d', gmtime $t if !$f || $f eq 'compact'; - return strftime '%Y-%m-%d at %R', gmtime $t; -} - - -# argument: database release date format (yyyymmdd) -# y = 0000 -> unknown -# y = 9999 -> TBA -# m = 99 -> month+day unknown -# d = 99 -> day unknown -# return value: (unknown|TBA|yyyy|yyyy-mm|yyyy-mm-dd) -# if date > now: str -sub datestr { - my $date = sprintf '%08d', shift||0; - my $future = $date > strftime '%Y%m%d', gmtime; - my($y, $m, $d) = ($1, $2, $3) if $date =~ /^([0-9]{4})([0-9]{2})([0-9]{2})$/; - - my $str = $y == 0 ? 'unknown' : $y == 9999 ? 'TBA' : - $m == 99 ? sprintf('%04d', $y) : - $d == 99 ? sprintf('%04d-%02d', $y, $m) : - sprintf('%04d-%02d-%02d', $y, $m, $d); - - return $str if !$future; - return qq|$str|; -} - -# same as datestr(), but different output format: -# e.g.: 'Jan 2009', '2009', 'unknown', 'TBA' -sub monthstr { - my $date = sprintf '%08d', shift||0; - my($y, $m, $d) = ($1, $2, $3) if $date =~ /^([0-9]{4})([0-9]{2})([0-9]{2})/; - return 'TBA' if $y == 9999; - return 'unknown' if $y == 0; - return $y if $m == 99; - my $r = sprintf '%s %d', [qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)]->[$m-1], $y; - return $d == 99 ? "$r" : $r; -} - - -# Arguments: (uid, username), or a hashref containing that info -sub userstr { - my($id,$n) = ref($_[0])eq'HASH'?($_[0]{uid}||$_[0]{requester}, $_[0]{username}):@_; - return !$id ? '[deleted]' : ''.$n.''; -} - - # Arguments: input, and optionally the maximum length # Parses: # [url=..] [/url] -- cgit v1.2.3