X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fdisconnect.pl;h=7dad27bb31b3703e303782b66e04fbcdada61830;hb=refs%2Fheads%2Fspider;hp=a023c609ee72388bcee49bed1adbaa79ab141524;hpb=75abae88c65a19102d4a633a273a71750aa97728;p=spider.git diff --git a/cmd/disconnect.pl b/cmd/disconnect.pl index a023c609..7dad27bb 100644 --- a/cmd/disconnect.pl +++ b/cmd/disconnect.pl @@ -10,10 +10,17 @@ if ($self->priv < 5) { return (1, $self->msg('e5')); } +if ($calls[0] =~ /^user/i ) { + @calls = grep {$_ ne $self->call} DXChannel::get_all_user_calls(); +} elsif ($calls[0] =~ /^node/i) { + @calls = grep {$_ ne $main::mycall} DXChannel::get_all_node_calls(); +} elsif (lc $calls[0] eq 'all') { + @calls = grep {$_ ne $main::mycall && $_ ne $self->call} DXChannel::get_all_node_calls(), DXChannel::get_all_user_calls(); +} foreach $call (@calls) { $call = uc $call; next if $call eq $main::mycall; - my $dxchan = DXChannel->get($call); + my $dxchan = DXChannel::get($call); if ($dxchan) { if ($dxchan->is_node) { # $dxchan->send_pc39($self->msg('disc1', $self->call)); @@ -28,7 +35,7 @@ foreach $call (@calls) { push @out, $self->msg('disc3', $call); # } elsif (my $ref = DXCluster->get_exact($call)) { # my $dxchancall = $ref->dxchancall; -# if ($dxchancall eq $main::mycall || !DXChannel->get($dxchancall)) { +# if ($dxchancall eq $main::mycall || !DXChannel::get($dxchancall)) { # $ref->del; # push @out, $self->msg('disc4', $call); # }