my $args = join '\',\'', map {defined $_ ? $_ : 'undef'} (ref $_[0] ? @{$_[0]} : @_);
my $true = $r ? "OK " : "REJ";
my $sort = $self->{sort};
my $dir = $self->{name} =~ /^in_/i ? "IN " : "OUT";
my $args = join '\',\'', map {defined $_ ? $_ : 'undef'} (ref $_[0] ? @{$_[0]} : @_);
my $true = $r ? "OK " : "REJ";
my $sort = $self->{sort};
my $dir = $self->{name} =~ /^in_/i ? "IN " : "OUT";
- # tidy up the user string
- $user =~ s/\&\&/ and /g;
- $user =~ s/\|\|/ or /g;
- $user =~ s/\!/ not /g;
- $user =~ s/\s+/ /g;
+ # tidy up the user string (why I have to stick in an if statement when I have initialised it I have no idea! 5.28 bug?
+ if ($user) {
+ $user =~ s/\&\&/ and /g;
+ $user =~ s/\|\|/ or /g;
+ $user =~ s/\!/ not /g;
+ $user =~ s/\s+/ /g;
+ }
return (0, $filter, $fno, $user, $s);
}
return (0, $filter, $fno, $user, $s);
}
sub cmd
{
my ($self, $dxchan, $sort, $type, $line) = @_;
sub cmd
{
my ($self, $dxchan, $sort, $type, $line) = @_;
return $dxchan->msg('filter5') unless $line;
my ($r, $filter, $fno, $user, $s) = $self->parse($dxchan, $sort, $line);
return $dxchan->msg('filter5') unless $line;
my ($r, $filter, $fno, $user, $s) = $self->parse($dxchan, $sort, $line);
my $u = DXUser::get_current($user);
return (1, $dxchan->msg('isow', $user)) if $u && $u->isolate;
my $u = DXUser::get_current($user);
return (1, $dxchan->msg('isow', $user)) if $u && $u->isolate;