make links command work :-)
[spider.git] / cmd / links.pl
index 017d61199d0912ed2db23b054550abb8635a6ec0..16e7e421ffd152a08096f551ea6b8759f8b48cd9 100644 (file)
@@ -4,30 +4,50 @@
 #
 # Created by Iain Philipps G0RDI, based entirely on
 # who.pl, which is Copyright (c) 1999 Dirk Koopman G1TLH
+# and subsequently plagerized by K1XX.
 #
 # 16-Jun-2000
-# $Id: links.pl
+# $Id$
 #
 
 my $self = shift;
 my $dxchan;
 my @out;
+my $nowt = time;
 
-push @out, "  Callsign Type Started            Ave RTT";
+push @out, "                                      Ave  Obs  Ping  Next      Filters";
+push @out, "  Callsign Type Started               RTT Count Int.  Ping Iso? In  Out";
 
-foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_ak1a ) {
+foreach $dxchan ( sort {$a->call cmp $b->call} DXChannel::get_all_nodes ) {
        my $call = $dxchan->call();
+       next if $dxchan == $main::me;
        my $t = cldatetime($dxchan->startt);
        my $sort;
        my $name = $dxchan->user->name || " ";
-       my $ping = $dxchan->is_node && $dxchan != $DXProt::me ? sprintf("%8.2f",
-                                                                                                                                       $dxchan->pingave) : "";
+       my $obscount = $dxchan->nopings;
+       my $lastt = $dxchan->pingint - ($nowt - $dxchan->lastping);
+       my $pingint = $dxchan->pingint;
+       my $ping = $dxchan->is_node && $dxchan != $main::me ? sprintf("%8.2f",$dxchan->pingave) : "";
+       my $iso = $dxchan->isolate ? 'Y' :' ';
+       my ($fin, $fout, $pc92) = (' ', ' ', ' ');
+#      if ($dxchan->do_pc9x) {
+#              $pc92 = 'Y';
+#      } else {
+               my $f;
+               if ($f = $dxchan->inroutefilter) {
+                       $fin = $dxchan->inroutefilter =~ /node_default/ ? 'D' : 'Y';
+               }
+               if ($f = $dxchan->routefilter) {
+                       $fout = $dxchan->routefilter =~ /node_default/ ? 'D' : 'Y';
+               }
+#      }
+       $sort = 'ANEA' if $dxchan->is_aranea;
        $sort = "DXSP" if $dxchan->is_spider;
        $sort = "CLX " if $dxchan->is_clx;
        $sort = "DXNT" if $dxchan->is_dxnet;
        $sort = "AR-C" if $dxchan->is_arcluster;
        $sort = "AK1A" if $dxchan->is_ak1a;
-       push @out, sprintf "%10s $sort $t $ping", $call;
+       push @out, sprintf "%10s $sort $t$ping   $obscount  %5d %5d  $iso    $fin   $fout   $pc92", $call, $pingint, $lastt;
 }
 
 return (1, @out)