X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=Util.pm;h=6117a4e6b9b60515dc462df53678ac30e2177b72;hb=c862628abd43c8fa3f7f2c17b5540706c2d1f95a;hp=b1b85f3f0b0b1c6971a6a8833b9997a1ecfc0438;hpb=a8c57b57660d7f459f7dcc3404d47fc938a4d8d1;p=mirror%2Fuserdir-ldap-cgi.git diff --git a/Util.pm b/Util.pm index b1b85f3..6117a4e 100644 --- a/Util.pm +++ b/Util.pm @@ -2,6 +2,7 @@ package Util; use strict; +use Date::Manip qw(ParseDate); my $blocksize = 8; # A blowfish block is 8 bytes my $configfile = "/etc/userdir-ldap/userdir-ldap.conf"; @@ -207,12 +208,22 @@ sub FormatLastSeen { # Format: # [Tue, 11 Jan 2000 02:37:18] "Joey Hess " " archive/latest/7130" "<20000110181924.H19910@kitenet.net>" # [Mon, 10 Jan 2000 21:48:19] "9E1E 1052 F8BB A351 0606 5527 50BB 2974 2D59 A7D2" " archive/latest/58632" "<20000110200506.13257.qmail@master.debian.org>" - my $lastseen = shift; - return "No activity detected" if (!$lastseen); + my $lastseenpgp = shift; + my $lastseenfrom = shift; + my ($d1, $d2, $lastseen); - my ($date,$user,$list,$msgid) = ($lastseen =~ /^\[(.+?)\]\s+"(.+?)"\s+"<(.+?)>.+?"\s+"<(.+?)>"/); - - return "$list
Message ID: $msgid"; + return "No activity detected" if (!$lastseenpgp && !$lastseenfrom); + $lastseen = $lastseenfrom if (!$lastseenpgp); + + if ($lastseenfrom && $lastseenpgp) { + ($d1) = ($lastseenpgp =~ /^\[(.+?)\]/); $d1 = ParseDate($d1); + ($d2) = ($lastseenfrom =~ /^\[(.+?)\]/); $d2 = ParseDate($d2); + $lastseen = (($d1 gt $d2) ? $lastseenpgp : $lastseenfrom); + } + + my ($date,$user,$list,$msgid) = ($lastseen =~ /^\[(.+?)\]\s+"(.+?)"\s+"(?:<(.+?)>.+?|\-)"\s+"<(.+?)>"/); + $list = "on $list" if ($list); + return "$date $list
 Message ID: $msgid"; } sub LookupCountry {