my @l;
my @val;
-push @out, "Node Callsigns";
+push @out, $self->msg('showconf');
if ($list[0] && $list[0] =~ /^NOD/) {
my @ch = sort {$a->call cmp $b->call} DXChannel::get_all_nodes();
my $dxchan;
foreach $dxchan (@ch) {
@val = sort {$a->call cmp $b->call} grep { $_->dxchan == $dxchan } @nodes;
- my $call = $dxchan->call;
- $call = "($call)" if $dxchan->here == 0;
@l = ();
+ my $call = $dxchan->call;
+ $call ||= '???';
+ $call = "($call)" unless $dxchan->here;
push @l, $call;
- my $i = 0;
- foreach $call (@val) {
- if ($i >= 5) {
+ foreach my $ref (@val) {
+ if (@l >= 6) {
push @out, sprintf "%-12s %-12s %-12s %-12s %-12s %-12s", @l;
@l = ();
push @l, "";
- $i = 0;
}
- my $s = $call->call;
- $s = sprintf "(%s)", $s unless $call->here;
+ my $s = $ref->call;
+ $s ||= '???';
+ $s = sprintf "(%s)", $s unless $ref->here;
push @l, $s;
- $i++;
}
+ push @l, "" while @l < 6;
push @out, sprintf "%-12s %-12s %-12s %-12s %-12s %-12s", @l;
}
} else {
+ my $printall;
+
+ $printall = 1 if @list && $list[0] =~ /^ALL/i;
+
# build up the screen from the Node table
foreach $node (@nodes) {
- next if scalar @list && !grep $node->call =~ /^$_/, @list;
+ unless ($printall) {
+ if (@list) {
+ next unless grep $node->call =~ /^$_/, @list;
+ } else {
+ next unless grep $node->dxcc == $_, @main::my_cc;
+ }
+ }
my $call = $node->call;
- $call = "($call)" unless $node->here;
@l = ();
+ $call ||= '???';
+ $call = "($call)" unless $node->here;
push @l, $call;
@val = sort $node->users;
- my $i = 0;
if (@val == 0 && $node->usercount) {
push @l, sprintf "(%d users)", $node->usercount;
}
foreach $call (@val) {
- if ($i >= 5) {
+ if (@l >= 6) {
push @out, sprintf "%-12s %-12s %-12s %-12s %-12s %-12s", @l;
@l = ();
push @l, "";
- $i = 0;
}
my $uref = Route::User::get($call);
my $s = $call;
$s = "$call?";
}
push @l, $s;
- $i++;
}
+ push @l, "" while @l < 6;
push @out, sprintf "%-12s %-12s %-12s %-12s %-12s %-12s", @l;
}
}