[440] in BarnOwl Developers
[D-O-H] r570 - in trunk: . owl/perl/modules
daemon@ATHENA.MIT.EDU (nelhage@MIT.EDU)
Thu Oct 29 18:06:12 2009
Resent-From: nelhage@mit.edu
Resent-To: barnowl-dev-mtg@charon.mit.edu
Date: Fri, 26 Jan 2007 16:52:38 -0500
To: dirty-owl-hackers@mit.edu
From: nelhage@MIT.EDU
Reply-To: dirty-owl-hackers@MIT.EDU
Author: nelhage
Date: 2007-01-26 16:52:37 -0500 (Fri, 26 Jan 2007)
New Revision: 570
Modified:
trunk/
trunk/owl/perl/modules/jabber.pl
Log:
r18198@phanatique: nelhage | 2007-01-26 16:41:33 -0500
Add smartnarrow on login/out messages.
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- bb873fd7-8e23-0410-944a-99ec44c633eb:/branches/owl/filter-rewrite:15925
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/trunk:18189
+ bb873fd7-8e23-0410-944a-99ec44c633eb:/branches/owl/filter-rewrite:15925
bb873fd7-8e23-0410-944a-99ec44c633eb:/local/d-o-h/trunk:18198
Modified: trunk/owl/perl/modules/jabber.pl
===================================================================
--- trunk/owl/perl/modules/jabber.pl 2007-01-26 19:47:04 UTC (rev 569)
+++ trunk/owl/perl/modules/jabber.pl 2007-01-26 21:52:37 UTC (rev 570)
@@ -1413,7 +1413,7 @@
$from_jid = resolveConnectedJID($from);
die("Unable to resolve account $from") unless $from_jid;
$to_jid = resolveDestJID($to, $from_jid);
- push @matches, [$from_jid, $to_jid];
+ push @matches, [$from_jid, $to_jid] if $to_jid;
} else {
for my $f ($conn->getJIDs) {
$to_jid = resolveDestJID($to, $f);
@@ -1460,19 +1460,31 @@
} else {
$user = $self->to;
}
- $user = Net::Jabber::JID->new($user)->GetJID($inst ? 'full' : 'base');
- $filter = "jabber-user-$user";
- $ftext = qq{type ^jabber\$ and ( ( direction ^in\$ and from ^$user ) } .
- qq{or ( direction ^out\$ and to ^$user ) ) };
- BarnOwl::filter("$filter $ftext");
- return $filter;
+ return smartfilter_user($user, $inst);
} elsif ($self->jtype eq 'groupchat') {
my $room = $self->room;
$filter = "jabber-room-$room";
$ftext = qq{type ^jabber\$ and room ^$room\$};
BarnOwl::filter("$filter $ftext");
return $filter;
+ } elsif ($self->login ne 'none') {
+ return smartfilter_user($self->from, $inst);
}
}
+sub smartfilter_user {
+ my $user = shift;
+ my $inst = shift;
+
+ $user = Net::Jabber::JID->new($user)->GetJID( $inst ? 'full' : 'base' );
+ my $filter = "jabber-user-$user";
+ my $ftext =
+ qq{type ^jabber\$ and ( ( direction ^in\$ and from ^$user ) }
+ . qq{or ( direction ^out\$ and to ^$user ) ) };
+ BarnOwl::filter("$filter $ftext");
+ return $filter;
+
+}
+
+
1;