+
+ my $scans = $DBH->prepare(q{SELECT DISTINCT ON (type) type, tick, scan FROM scans
+ WHERE planet = ? AND type ~ 'Unit|Planet|Military|.* Analysis' AND tick + 24 > tick()
+ GROUP BY type, tick, scan ORDER BY type ,tick DESC});
+ $scans->execute($target->{planet});
+ my %scans;
+ while (my $scan = $scans->fetchrow_hashref){
+ $scans{$scan->{type}} = $scan;
+ }
+
+ my @scans;
+ for my $type ('Planet','Unit','Military','Surface Analysis','Technology Analysis'){
+ next unless exists $scans{$type};
+ my $scan = $scans{$type};
+ if ($ND::TICK - $scan->{tick} > 5){
+ $scan->{scan} =~ s{<table( cellpadding="\d+")?>}{<table$1 class="old">};
+ }
+ if ($type eq 'Planet'){
+ $target{PlanetScan} = $scan->{scan};
+ next;
+ }
+ push @scans,{Scan => $scan->{scan}};
+ }
+ $target{Scans} = \@scans;
+