From 1dc44471365cccef7ab2b3ec766c0d0c26f86475 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 5 Jan 2014 02:42:21 +0100 Subject: [PATCH] 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. --- config/cfgroot/general-functions.pl | 72 ++++++++--------------------- doc/language_issues.de | 5 ++ doc/language_issues.en | 5 ++ doc/language_issues.es | 5 -- doc/language_issues.fr | 5 -- doc/language_issues.nl | 5 -- doc/language_issues.pl | 5 -- doc/language_issues.ru | 5 -- doc/language_issues.tr | 5 ++ langs/en/cgi-bin/en.pl | 2 +- 10 files changed, 36 insertions(+), 78 deletions(-) diff --git a/config/cfgroot/general-functions.pl b/config/cfgroot/general-functions.pl index 9d9ee5d900..9a5e6714d6 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 b07ee32c4d..8b46d6f093 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 314643dd60..d4281e0912 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 09ebf81917..9ae2c0a336 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 c37425e87b..7e5a1f576b 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 55fd951cbe..10e12db540 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 09ebf81917..9ae2c0a336 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 200ab29208..f46ba7a055 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 30a7a8a6fd..5bd50a0200 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 30bf70a3e1..5754c7d82e 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', -- 2.39.2