Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • perl/modules/IRC/lib/BarnOwl/Message/IRC.pm

    r8df6cbb r38a7f22  
    2020    my $inst = shift;
    2121
    22     my ($filter, $ftext);
     22    my $filter;
     23    my @filter;
    2324
    2425    if($self->is_private) {
     
    3031        }
    3132        $filter = "irc-user-$who";
    32         my $ftext  =
    33              qq{type ^irc\$ and ( ( direction ^in\$ and sender ^$who\$ ) }
    34            . qq{or ( direction ^out\$ and recipient ^$who\$ ) ) };
    35         BarnOwl::filter("$filter $ftext");
     33        @filter  =
     34             (qw{( type ^irc$ and filter personal and },
     35              qw{( ( direction ^in$ and sender}, "^$who\$",
     36              qw{ ) or ( direction ^out$ and recipient}, "^$who\$",
     37              qw{) ) ) });
     38        BarnOwl::command("filter", "$filter", @filter);
    3639        return $filter;
    3740    } else {
     
    4346        if ($inst && $self->body =~ /^(\S+):/) {
    4447            $filter = "irc-$network-channel-$channel-$sender-$1";
    45             $ftext = qq{type ^irc\$ and network ^$network\$ and channel ^$channel\$ and ( sender ^$sender\$ or sender ^$1\$ )};
     48            @filter =
     49                 (qw{type ^irc$ and network}, "^$network\$",
     50                  qw{and channel}, "^$channel\$",
     51                  qw{and ( sender}, "^$sender\$",
     52                  qw{or sender}, "^$1\$",qq{)});
    4653        } else {
    4754            $filter = "irc-$network-channel-$channel";
    48             $ftext = qq{type ^irc\$ and network ^$network\$ and channel ^$channel\$};
     55            @filter = (qw{type ^irc$ and network}, "^$network\$",
     56                       qw{and channel}, "^$channel\$");
    4957        }
    50         BarnOwl::filter("$filter $ftext");
     58        BarnOwl::command("filter", "$filter", @filter);
    5159        return $filter;
    5260    }
     
    5664sub network {shift->{network}}
    5765sub channel {shift->{channel}}
     66sub action {shift->{action}}
     67sub reason {shift->{reason}}
    5868
    5969# display
     
    6575sub login_type {
    6676    my $self = shift;
    67     return " (" . ($self->is_login ? "JOIN" : "PART") . ")";
     77    return " (" . uc $self->action . ")";
    6878}
    6979
    70 sub login_extra { shift->channel; }
    71 
     80sub login_extra {
     81    my $self = shift;
     82    if ($self->action eq "quit") {
     83        return $self->reason;
     84    } else {
     85        return $self->channel;
     86    }
     87}
    7288
    73891;
Note: See TracChangeset for help on using the changeset viewer.