#
# Copyright (c) 2000 Dirk Koopman G1TLH
#
-# $Id$
+#
#
my ($self, $line) = @_;
my @f = split /\s+/, $line;
my @out;
-my $dxchan = $self;
my $sort = 'wwv';
my $flag;
my $fno = 1;
-my $call = $dxchan->call;
+my $call = $self->call;
+my $f;
-my $f = lc shift @f if @f;
if ($self->priv >= 8) {
- if (is_callsign(uc $f)) {
- my $uref = DXUser->get(uc $f);
+ if (@f && is_callsign(uc $f[0])) {
+ $f = uc shift @f;
+ my $uref = DXUser::get($f);
$call = $uref->call if $uref;
+ } elsif (@f && lc $f[0] eq 'node_default' || lc $f[0] eq 'user_default') {
+ $call = lc shift @f;
}
- if (@f) {
- $f = lc shift @f;
- if ($f eq 'input') {
- $flag = 'in';
- $f = shift @f if @f;
- }
+ if (@f && $f[0] eq 'input') {
+ shift @f;
+ $flag = 'in';
}
}
-$fno = $f if $f;
+$fno = shift @f if @f && $f[0] =~ /^\d|all$/;
+
my $filter = Filter::read_in($sort, $call, $flag);
-Filter::delete($sort, $call, $flag, $fno);
+Filter::delete($sort, $call, $flag, $fno, $self);
$flag = $flag ? "input " : "";
push @out, $self->msg('filter4', $flag, $sort, $fno, $call);
return (1, @out);