Changeset 38a7f22 for perl/modules/IRC


Ignore:
Timestamp:
Aug 21, 2008, 2:08:39 AM (13 years ago)
Author:
Nelson Elhage <nelhage@mit.edu>
Branches:
master, debian, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
Children:
a82e091
Parents:
c4ba74d
Message:
Convert Message::IRC and Message::Jabber to use the new BarnOwl::command()

We should now be able to properly narrow to MUCs and users and
channels containing whitespace or quotation marks.
File:
1 edited

Legend:

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

    r4789b17 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 filter personal and }
    34            . qq{( ( direction ^in\$ and sender ^$who\$ ) 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    }
Note: See TracChangeset for help on using the changeset viewer.