#
# 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 @l, "" while $i++ < 5;
	push @out, sprintf "%-12s %-12s %-12s %-12s %-12s %-12s", @l;
}

return (1, @out);

