general-functions.pl: Format output of age().
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 5 Jan 2014 01:42:21 +0000 (02:42 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 5 Jan 2014 01:42:21 +0000 (02:42 +0100)
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
doc/language_issues.de
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
langs/en/cgi-bin/en.pl

index 9d9ee5d..9a5e671 100644 (file)
@@ -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
index b07ee32..8b46d6f 100644 (file)
@@ -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
index 314643d..d4281e0 100644 (file)
@@ -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
index 09ebf81..9ae2c0a 100644 (file)
@@ -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
index c37425e..7e5a1f5 100644 (file)
@@ -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
index 55fd951..10e12db 100644 (file)
@@ -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
index 09ebf81..9ae2c0a 100644 (file)
@@ -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
index 200ab29..f46ba7a 100644 (file)
@@ -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
index 30a7a8a..5bd50a0 100644 (file)
@@ -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
index 30bf70a..5754c7d 100644 (file)
 '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',