mirror of
git://scm.dxcluster.org/scm/spider
synced 2024-09-21 15:57:12 +00:00
57 lines
1.2 KiB
Perl
57 lines
1.2 KiB
Perl
#
|
|
# show the users on this cluster from the routing tables
|
|
#
|
|
# Copyright (c) 1998 Dirk Koopman G1TLH
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
my ($self, $line) = @_;
|
|
my @list = map { uc } split /\s+/, $line; # list of callsigns of nodes
|
|
my @out;
|
|
|
|
if (@list) {
|
|
foreach my $call (sort @list) {
|
|
my $uref = DXUser->get_current($call);
|
|
if ($uref) {
|
|
my $name = $uref->name || '?';
|
|
my $qth = $uref->qth || '?';
|
|
my $qra = $uref->qra || '';
|
|
my $route = '';
|
|
if (my $rref = Route::get($call)) {
|
|
$route = '(at ' . join(',', $rref->parents) . ')';
|
|
}
|
|
push @out, "$call $route $name $qth $qra",
|
|
} else {
|
|
push @out, $self->msg('usernf', $call);
|
|
}
|
|
}
|
|
} else {
|
|
my $node = $main::routeroot;
|
|
push @out, "Callsigns connected to $main::mycall";
|
|
my $call;
|
|
my $i = 0;
|
|
my @l;
|
|
my @val = sort $node->users;
|
|
foreach $call (@val) {
|
|
if ($i >= 5) {
|
|
push @out, sprintf "%-12s %-12s %-12s %-12s %-12s %-12s", @l;
|
|
@l = ();
|
|
$i = 0;
|
|
}
|
|
my $uref = Route::User::get($call);
|
|
my $s = $call;
|
|
if ($uref) {
|
|
$s = sprintf "(%s)", $call unless $uref->here;
|
|
} else {
|
|
$s = "$call?";
|
|
}
|
|
push @l, $s;
|
|
$i++;
|
|
}
|
|
push @out, sprintf "%-12s %-12s %-12s %-12s %-12s %-12s", @l;
|
|
}
|
|
|
|
return (1, @out);
|
|
|