X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fdisconnect.pl;h=61ba3bf49ed59f22eacdf5f3cd33584cf11c7fc9;hb=b922eb1d8811f06f593a921dcb748a1ba19aaac9;hp=51ddc696e4a54bf62abf593ffff9a552a1531f15;hpb=6a0068ec3df1dca0c6ae2714af3c0a4a62998dcf;p=spider.git diff --git a/cmd/disconnect.pl b/cmd/disconnect.pl index 51ddc696..61ba3bf4 100644 --- a/cmd/disconnect.pl +++ b/cmd/disconnect.pl @@ -6,24 +6,26 @@ my @calls = split /\s+/, $line; my $call; my @out; -if ($self->priv < 9) { - return (1, "not allowed"); +if ($self->priv < 5) { + return (1, $self->msg('e5')); } foreach $call (@calls) { - $call = uc $call; - next if $call eq $main::mycall; - my $dxchan = DXChannel->get($call); - if ($dxchan) { - if ($dxchan->is_ak1a) { - $dxchan->send_now("D", DXProt::pc39($main::mycall, 'Disconnected')); - } else { - $dxchan->disconnect; - } - push @out, "disconnected $call"; - } else { - push @out, "$call not connected locally"; - } + $call = uc $call; + next if $call eq $main::mycall; + my $dxchan = DXChannel->get($call); + if ($dxchan) { + if ($dxchan->is_node) { +# $dxchan->send_now("D", DXProt::pc39($main::mycall, $self->msg('disc1', $self->call))); + } else { + return (1, $self->msg('e5')) if $self->priv < 8; + $dxchan->send_now('D', $self->msg('disc1', $self->call)); + } + $dxchan->disconnect; + push @out, $self->msg('disc2', $call); + } else { + push @out, $self->msg('e10', $call); + } } return (1, @out);