From: Michael Tremer Date: Sun, 5 Jan 2014 01:42:21 +0000 (+0100) Subject: general-functions.pl: Format output of age(). X-Git-Url: http://git.ipfire.org/?p=people%2Fteissler%2Fipfire-2.x.git;a=commitdiff_plain;h=1dc44471365cccef7ab2b3ec766c0d0c26f86475 general-functions.pl: Format output of age(). The output of the age() function was a bit messy with some translations. It was now much simplified and it now shows the time in a standardized format. --- diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl index 9d9ee5d90..9a5e6714d 100644 --- a/config/cfgroot/general-functions.pl +++ b/config/cfgroot/general-functions.pl @@ -229,68 +229,36 @@ sub writehashpart close FILE; } -sub age -{ +sub age { my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, - $atime, $mtime, $ctime, $blksize, $blocks) = stat $_[0]; - my $now = time; - my $timestring = ''; - my $dset = 0; # Day is set, when > 0 - my $hset = 0; # Hour is set, when > 0 - my $mset = 0; # Minute is set, when > 0 - - my $totalsecs = $now - $mtime; - my $days = int($totalsecs / 86400); - my $totalhours = int($totalsecs / 3600); - my $hours = $totalhours % 24; - my $totalmins = int($totalsecs / 60); - my $mins = $totalmins % 60; - my $secs = $totalsecs % 60; + $atime, $mtime, $ctime, $blksize, $blocks) = stat $_[0]; + my $totalsecs = time() - $mtime; + my @s = (); - if ($days > 1) { - ${timestring} .= ${days}.' '.$Lang::tr{'days'}.', '; - $dset = 1; - } - elsif ($days == 1) { - ${timestring} .= ${days}.' '.$Lang::tr{'day'}.', '; - $dset = 1; + my $secs = $totalsecs % 60; + $totalsecs /= 60; + if ($secs > 0) { + push(@s, "${secs}s"); } - if (($hours > 1) && !($dset)) { - ${timestring} .= ${hours}.' '.$Lang::tr{'hours'}.', '; - $hset = 1; - } - elsif (($hours == 1) && !($dset)) { - ${timestring} .= ${hours}.' '.$Lang::tr{'hour'}.', '; - $hset = 1; - } - elsif ($dset) { - ${timestring} .= ${hours}.' '.$Lang::tr{'age shour'}.', '; - $hset = 1; + my $min = $totalsecs % 60; + $totalsecs /= 60; + if ($min > 0) { + push(@s, "${min}m"); } - if ((($mins > 1) || ($mins == 0)) && !($dset || $hset)) { - ${timestring} .= ${mins}.' '.$Lang::tr{'minutes'}.', '; - $mset = 1; - } - elsif (($mins == 1) && !($dset || $hset)) { - ${timestring} .= ${mins}.' '.$Lang::tr{'minute'}.', '; - $mset = 1; - } - else { - ${timestring} .= ${mins}.' '.$Lang::tr{'age sminute'}.', '; - $mset = 1; + my $hrs = $totalsecs % 24; + $totalsecs /= 24; + if ($hrs > 0) { + push(@s, "${hrs}h"); } - if ((($secs > 1) || ($secs == 0)) && !($dset || $hset || $mset)) { - ${timestring} .= ${secs}.' '.$Lang::tr{'age seconds'}; - } - elsif (($secs == 1) && !($dset || $hset || $mset)) { - ${timestring} .= $secs.' '.$Lang::tr{'age second'}; + my $days = int($totalsecs); + if ($days > 0) { + push(@s, "${days}d"); } - else { ${timestring} .= $secs.' '.$Lang::tr{'age ssecond'}; } - return ${timestring}; + return join(" ", reverse(@s)); } sub validip diff --git a/doc/language_issues.de b/doc/language_issues.de index b07ee32c4..8b46d6f09 100644 --- a/doc/language_issues.de +++ b/doc/language_issues.de @@ -40,6 +40,11 @@ WARNING: translation string unused: advproxy errmsg password incorrect WARNING: translation string unused: advproxy no cre groups WARNING: translation string unused: advproxy ssadvanced proxy WARNING: translation string unused: advproxy update notification +WARNING: translation string unused: age second +WARNING: translation string unused: age seconds +WARNING: translation string unused: age shour +WARNING: translation string unused: age sminute +WARNING: translation string unused: age ssecond WARNING: translation string unused: alcatelusb help WARNING: translation string unused: alcatelusb upload WARNING: translation string unused: all interfaces diff --git a/doc/language_issues.en b/doc/language_issues.en index 314643dd6..d4281e091 100644 --- a/doc/language_issues.en +++ b/doc/language_issues.en @@ -41,6 +41,11 @@ WARNING: translation string unused: advproxy no cre groups WARNING: translation string unused: advproxy ssadvanced proxy WARNING: translation string unused: advproxy update information WARNING: translation string unused: advproxy update notification +WARNING: translation string unused: age second +WARNING: translation string unused: age seconds +WARNING: translation string unused: age shour +WARNING: translation string unused: age sminute +WARNING: translation string unused: age ssecond WARNING: translation string unused: alcatelusb help WARNING: translation string unused: alcatelusb upload WARNING: translation string unused: all interfaces diff --git a/doc/language_issues.es b/doc/language_issues.es index 09ebf8191..9ae2c0a33 100644 --- a/doc/language_issues.es +++ b/doc/language_issues.es @@ -557,11 +557,6 @@ WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent -WARNING: untranslated string: age second -WARNING: untranslated string: age seconds -WARNING: untranslated string: age shour -WARNING: untranslated string: age sminute -WARNING: untranslated string: age ssecond WARNING: untranslated string: attention WARNING: untranslated string: bytes WARNING: untranslated string: ccd add diff --git a/doc/language_issues.fr b/doc/language_issues.fr index c37425e87..7e5a1f576 100644 --- a/doc/language_issues.fr +++ b/doc/language_issues.fr @@ -559,11 +559,6 @@ WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent -WARNING: untranslated string: age second -WARNING: untranslated string: age seconds -WARNING: untranslated string: age shour -WARNING: untranslated string: age sminute -WARNING: untranslated string: age ssecond WARNING: untranslated string: attention WARNING: untranslated string: bytes WARNING: untranslated string: ccd add diff --git a/doc/language_issues.nl b/doc/language_issues.nl index 55fd951cb..10e12db54 100644 --- a/doc/language_issues.nl +++ b/doc/language_issues.nl @@ -560,11 +560,6 @@ WARNING: untranslated string: Scan for Songs WARNING: untranslated string: advproxy cache-digest WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent -WARNING: untranslated string: age second -WARNING: untranslated string: age seconds -WARNING: untranslated string: age shour -WARNING: untranslated string: age sminute -WARNING: untranslated string: age ssecond WARNING: untranslated string: bytes WARNING: untranslated string: ccd iroute2 WARNING: untranslated string: default ip diff --git a/doc/language_issues.pl b/doc/language_issues.pl index 09ebf8191..9ae2c0a33 100644 --- a/doc/language_issues.pl +++ b/doc/language_issues.pl @@ -557,11 +557,6 @@ WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent -WARNING: untranslated string: age second -WARNING: untranslated string: age seconds -WARNING: untranslated string: age shour -WARNING: untranslated string: age sminute -WARNING: untranslated string: age ssecond WARNING: untranslated string: attention WARNING: untranslated string: bytes WARNING: untranslated string: ccd add diff --git a/doc/language_issues.ru b/doc/language_issues.ru index 200ab2920..f46ba7a05 100644 --- a/doc/language_issues.ru +++ b/doc/language_issues.ru @@ -551,11 +551,6 @@ WARNING: untranslated string: advproxy errmsg cache WARNING: untranslated string: advproxy errmsg invalid upstream proxy WARNING: untranslated string: advproxy errmsg proxy ports equal WARNING: untranslated string: advproxy proxy port transparent -WARNING: untranslated string: age second -WARNING: untranslated string: age seconds -WARNING: untranslated string: age shour -WARNING: untranslated string: age sminute -WARNING: untranslated string: age ssecond WARNING: untranslated string: attention WARNING: untranslated string: bytes WARNING: untranslated string: ccd add diff --git a/doc/language_issues.tr b/doc/language_issues.tr index 30a7a8a6f..5bd50a020 100644 --- a/doc/language_issues.tr +++ b/doc/language_issues.tr @@ -41,6 +41,11 @@ WARNING: translation string unused: advproxy no cre groups WARNING: translation string unused: advproxy ssadvanced proxy WARNING: translation string unused: advproxy update information WARNING: translation string unused: advproxy update notification +WARNING: translation string unused: age second +WARNING: translation string unused: age seconds +WARNING: translation string unused: age shour +WARNING: translation string unused: age sminute +WARNING: translation string unused: age ssecond WARNING: translation string unused: alcatelusb help WARNING: translation string unused: alcatelusb upload WARNING: translation string unused: all interfaces diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 30bf70a3e..5754c7d82 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1166,7 +1166,7 @@ 'hostname not set' => 'Hostname not set.', 'hosts config added' => 'Hosts config added', 'hosts config changed' => 'Hosts config changed', -'hour' => 'hour', +'hour' => 'Hour', 'hour-graph' => 'Hour', 'hours' => 'hours', 'hours2' => 'Hours',