Author: dylan
Date: 2005-06-16 04:52:58 -0400 (Thu, 16 Jun 2005)
New Revision: 770

Modified:
   trunk/
   trunk/main/server/lib/Haver/Server/Entity/Channel.pm
   trunk/main/server/lib/Haver/Server/Talker.pm
Log:
 [EMAIL PROTECTED]:  dylan | 2005-06-16 04:51:20 -0400
 QUIT messages are sent now.



Property changes on: trunk
___________________________________________________________________
Name: svk:merge
   - 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/havercurs-objc:43050
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk:11166
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk-merge-10131:11178
27e50396-46e3-0310-8b22-ae223a1f35ce:/local:212
e9404bb1-7af0-0310-a7ff-e22194cd388b:/haver/local:1073
edfcd8bd-4ce7-0310-a97e-bb1efd40edf3:/local:238
   + 1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/havercurs-objc:43050
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk:11166
1f59643a-e6e5-0310-bc24-f7d4c744f460:/haver/local/trunk-merge-10131:11178
27e50396-46e3-0310-8b22-ae223a1f35ce:/local:212
e9404bb1-7af0-0310-a7ff-e22194cd388b:/haver/local:1074
edfcd8bd-4ce7-0310-a97e-bb1efd40edf3:/local:238

Modified: trunk/main/server/lib/Haver/Server/Entity/Channel.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Entity/Channel.pm        2005-06-16 
08:52:57 UTC (rev 769)
+++ trunk/main/server/lib/Haver/Server/Entity/Channel.pm        2005-06-16 
08:52:58 UTC (rev 770)
@@ -31,9 +31,6 @@
     
     
     $self->{_contents}{$ns}{$name} = $object;
-    if ($self->weakref) {
-        Scalar::Util::weaken( $self->{_contents}{$ns}{$name} );
-    }
 }
 
 sub fetch {

Modified: trunk/main/server/lib/Haver/Server/Talker.pm
===================================================================
--- trunk/main/server/lib/Haver/Server/Talker.pm        2005-06-16 08:52:57 UTC 
(rev 769)
+++ trunk/main/server/lib/Haver/Server/Talker.pm        2005-06-16 08:52:58 UTC 
(rev 770)
@@ -14,7 +14,7 @@
 use POE::Driver::SysRW;
 
 our $VERSION = '0.08';
-our $Lobby = new Haver::Server::Entity::Lobby;
+our $Lobby   = lobby Haver::Server::Entity::Lobby;
 
 my $NamePattern = qr/&?[a-z][a-z0-9_.'@-]+/i;
 
@@ -136,6 +136,17 @@
        $heap->{shutdown} = 1;
        unless ($heap->{error}) {
                eval {
+                       my $user = delete $heap->{user};
+                       my %seen;
+                       foreach my $name ($user->channels) {
+                               my $chan = $Lobby->fetch('channel', $name);
+                               $user->part($chan);
+                               foreach my $u ($chan->contents('user')) {
+                                       unless ($seen{ $u->name }++) {
+                                               $u->put(['QUIT', $user->name, 
@why]);
+                                       }       
+                               }
+                       }
                        $heap->{client}->put(['BYE', @why]);
                };
                Log('error', $@) if $@;


Reply via email to