X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Funset%2Fhere.pl;h=63a32162b4adab4dda170eddbcc7478cb5684e42;hb=5ace616f093a2e34141d14cbb310d1b048034c0e;hp=76adeeac6414b522a0fcdd26c127c5d58cdcfaa0;hpb=07ea293f3919d2da76220b5fbc55b734008ed44c;p=spider.git diff --git a/cmd/unset/here.pl b/cmd/unset/here.pl index 76adeeac..63a32162 100644 --- a/cmd/unset/here.pl +++ b/cmd/unset/here.pl @@ -14,13 +14,25 @@ my @out; @args = $self->call if (!@args || $self->priv < 9); foreach $call (@args) { - $call = uc $call; - my $user = ($call eq $self->call) ? $self->user : DXUser->get($call); - if ($user) { - $user->here(0); - push @out, DXM::msg('hereu', $call); - } else { - push @out, DXM::msg('e3', "Unset Here", $call); - } + $call = uc $call; + my $dxchan = DXChannel->get($call); + my $ref = Route::User::get($call); + if ($dxchan) { + $dxchan->here(0); + push @out, $self->msg('hereu', $call); + if ($ref) { + DXProt::broadcast_all_ak1a(DXProt::pc24($ref), $DXProt::me) ; + $ref->here(0); + } elsif ($ref = Route::Node::get($call)) { + DXProt::broadcast_all_ak1a(DXProt::pc24($ref), $DXProt::me) ; + $ref->here(0); + } else { + $ref = Route::Node::get($call); + $ref->here(0) if $ref; + } + } else { + push @out, $self->msg('e3', "Unset Here", $call); + } } + return (1, @out);