[440] in BarnOwl Developers

home help back first fref pref prev next nref lref last post

[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;


home help back first fref pref prev next nref lref last post