fix new swearing code.
[spider.git] / perl / DXMsg.pm
index 67165ef455a03df1fcae0368bd1ba21504f5c325..fe65cdb3b204667d1931113c4036f6583fcd56a8 100644 (file)
@@ -346,17 +346,21 @@ sub handle_32
                                }
 
                                # check the message for bad words 
+                               my @bad;
                                my @words;
+                               @bad = BadWords::check($ref->{subject});
+                               push @words, [$ref->{subject}, @bad] if @bad; 
                                for (@{$ref->{lines}}) {
-                                       push @words, BadWords::check($_);
+                                       @bad = BadWords::check($_);
+                                       push @words, [$_, @bad] if @bad;
                                }
-                               push @words, BadWords::check($ref->{subject});
                                if (@words) {
-                                       dbg("$ref->{from} swore: '@words' -> $ref->{to} '$ref->{subject}' origin: $ref->{origin} via " . $dxchan->call) if isdbg('msg');
-                                       Log('msg',"$ref->{from} swore: '@words' -> $ref->{to} origin: $ref->{origin} via " . $dxchan->call);
-                                       Log('msg',"subject: $ref->{subject}");
-                                       for (@{$ref->{lines}}) {
-                                               Log('msg', "line: $_");
+                                       LogDbg('msg',"$ref->{from} swore: $ref->{to} origin: $ref->{origin} via " . $dxchan->call);
+                                       LogDbg('msg',"subject: $ref->{subject}");
+                                       for (@words) {
+                                               my $r = $_;
+                                               my $line = shift @$r;
+                                               LogDbg('msg', "line: $line (using words: ". join(',', @$r).")");
                                        }
                                        $ref->stop_msg($fromnode);
                                        return;
@@ -479,7 +483,7 @@ sub notify
        my $ref = shift;
        my $to = $ref->{to};
        my $uref = DXUser->get_current($to);
-       my $dxchan = DXChannel->get($to);
+       my $dxchan = DXChannel::get($to);
        if (((*Net::SMTP && $email_server) || $email_prog) && $uref && $uref->wantemail) {
                my $email = $uref->email;
                if ($email) {
@@ -1109,7 +1113,7 @@ sub do_send_stuff
                                        $ref->notify;
                                }
                        } else {
-                               Log('msg', $self->call . " swore to @{$loc->{to}} subject: '$loc->{subject}' in msg, REJECTED");
+                               LogDbg('msg', $self->call . " swore to @{$loc->{to}} subject: '$loc->{subject}' in msg, REJECTED");
                        }
                        
                        delete $loc->{lines};