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) {
+ foreach my $ref (@val) {
if ($i >= 5) {
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 ($i++ < 5);
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;
push @l, $s;
$i++;
}
+ push @l, "" while ($i++ < 5);
push @out, sprintf "%-12s %-12s %-12s %-12s %-12s %-12s", @l;
}
}