2 # Create, update or delete a forwarding filter
4 require './filter-lib.pl';
6 &error_setup($text{'forward_err'});
8 # Find existing forwarding filter object
9 &lock_file($procmail::procmailrc);
10 @filters = &list_filters();
11 ($old) = grep { $_->{'actiontype'} eq '!' && $_->{'nocond'} } @filters;
14 if ($filter && !$in{'enabled'}) {
16 &delete_filter($filter);
18 elsif ($in{'enabled'}) {
21 $filter = { 'actiontype' => '!',
25 $filter->{'continue'} = $in{'continue'};
26 $in{'forward'} =~ /\S/ || &error($text{'save_eforward'});
27 $in{'forward'} =~ s/^\s+//;
28 $in{'forward'} =~ s/\s+$//;
29 $in{'forward'} =~ s/\s+/,/g;
30 $filter->{'action'} = $in{'forward'};
33 &modify_filter($filter);
36 # Forwarding should go last
37 &create_filter($filter);
41 &unlock_file($procmail::procmailrc);