spider/cmd/show/filter.pl

39 lines
811 B
Perl
Raw Normal View History

#
# show filter commands
#
# Copyright (c) 2000 Dirk Koopman G1TLH
#
#
#
my ($self, $line) = @_;
my @f = split /\s+/, $line;
my @out;
2000-11-04 00:08:08 +00:00
my $call = $self->call;
2001-03-19 17:41:02 +00:00
if (@f) {
2000-11-04 00:08:08 +00:00
if (is_callsign(uc $f[0])) {
2001-03-19 17:41:02 +00:00
return (1, $self->msg('e5')) unless $self->priv >= 1;
2000-11-04 00:08:08 +00:00
$call = uc shift @f;
} elsif ($f[0] eq 'node_default' || $f[0] eq 'user_default') {
2001-03-19 17:41:02 +00:00
return (1, $self->msg('e5')) unless $self->priv >= 1;
2000-11-04 00:08:08 +00:00
$call = shift @f;
}
}
2000-11-04 00:08:08 +00:00
my @in;
if (@f) {
push @in, @f;
} else {
2001-08-08 15:56:49 +00:00
push @in, qw(route ann spots wcy wwv);
2000-11-04 00:08:08 +00:00
}
2000-11-04 01:04:41 +00:00
my $sort;
foreach $sort (@in) {
my $ref = Filter::read_in($sort, $call, 1);
push @out, $ref->print($call, $sort, "input") if $ref;
$ref = Filter::read_in($sort, $call, 0);
push @out, $ref->print($call, $sort, "") if $ref;
}
2000-11-04 00:08:08 +00:00
push @out, $self->msg('filter3', $call) unless @out;
return (1, @out);