put a check for an empty filter command line
[spider.git] / cmd / accept / spots.pl
1 #
2 # accept/reject filter commands
3 #
4 # Copyright (c) 2000 Dirk Koopman G1TLH
5 #
6 # $Id$
7 #
8
9 my ($self, $line) = @_;
10 my $sort = 'accept';
11
12 return (0, $self->msg('filter5')) unless $line;
13
14 my ($r, $filter, $fno, $user, $s) = $Spot::filterdef->parse($self, $line);
15 return (0, $filter) if $r;
16
17 my $fn = "filter$fno";
18
19 $filter->{$fn} = {} unless exists $filter->{$fn};
20 $filter->{$fn}->{$sort} = {} unless exists $filter->{$fn}->{$sort};
21
22 $filter->{$fn}->{$sort}->{user} = $user;
23 my $ref = eval $s;
24 return (0, $s, $@) if $@;
25
26 $filter->{$fn}->{$sort}->{asc} = $s;
27 $r = $filter->write;
28 return (0, $r) if $r;
29
30 $filter->{$fn}->{$sort}->{code} = $ref;
31 $filter->install;
32
33 return (0, $self->msg('filter1', $fno, $filter->{name}));