fix all DXChannel->get to ::get
[spider.git] / cmd / links.pl
1 #
2 # links : which are active
3 # a complete list of currently connected linked nodes
4 #
5 # Created by Iain Philipps G0RDI, based entirely on
6 # who.pl, which is Copyright (c) 1999 Dirk Koopman G1TLH
7 # and subsequently plagerized by K1XX.
8 #
9 # 16-Jun-2000
10 # $Id: links.pl
11 #
12
13 my $self = shift;
14 my $dxchan;
15 my @out;
16 my $nowt = time;
17
18 push @out, "                                      Ave   Obs   Ping   Sec Since";
19 push @out, "  Callsign Type Started               RTT  count  Int.   Last Ping";
20
21 foreach $dxchan ( sort {$a->call cmp $b->call} grep {$_->is_node || $_->is_aranea} DXChannel::get_all() ) {
22         next if $dxchan->is_user;
23         my $call = $dxchan->call();
24         next if $dxchan == $main::me;
25         my $t = cldatetime($dxchan->startt);
26         my $sort;
27         my $name = $dxchan->user->name || " ";
28         my $obscount = $dxchan->nopings;
29         my $lastt = $nowt - ($dxchan->lastping);
30         my $pingint = $dxchan->pingint;
31         my $ping = $dxchan != $main::me ? sprintf("%8.2f",$dxchan->pingave) : "";
32         $sort = 'ANEA' if $dxchan->is_aranea;
33         $sort = "DXSP" if $dxchan->is_spider;
34         $sort = "CLX " if $dxchan->is_clx;
35         $sort = "DXNT" if $dxchan->is_dxnet;
36         $sort = "AR-C" if $dxchan->is_arcluster;
37         $sort = "AK1A" if $dxchan->is_ak1a;
38         push @out, sprintf "%10s $sort $t$ping    $obscount   %5d       %5d", $call, $pingint, $lastt;
39 }
40
41 return (1, @out)
42
43
44
45