X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fset%2Fhere.pl;h=e3d56f3ea30c2410b0f8e544aaa39be0d71915b1;hb=a8f8fe60a63b000f22897696fb127fc856c41cb7;hp=114533efa87b8b011d54efc33b992c7e12e704be;hpb=cc24321cfb0cd5bcb0516ba5587dcf84fed2725e;p=spider.git diff --git a/cmd/set/here.pl b/cmd/set/here.pl index 114533ef..e3d56f3e 100644 --- a/cmd/set/here.pl +++ b/cmd/set/here.pl @@ -14,17 +14,25 @@ my @out; @args = $self->call if (!@args || $self->priv < 9); foreach $call (@args) { - $call = uc $call; - my $dxchan = DXChannel->get($call); - my $ref = DXCluster->get_exact($call); - if ($dxchan && $ref) { - $dxchan->here(1); - $ref->here(1); - DXProt::broadcast_all_ak1a(DXProt::pc24($ref), $DXProt::me); - push @out, $self->msg('heres', $call); - } else { - push @out, $self->msg('e3', "Set Here", $call); - } + $call = uc $call; + my $dxchan = DXChannel->get($call); + my $ref = Route::User::get($call); + if ($dxchan) { + $dxchan->here(1); + push @out, $self->msg('heres', $call); + if ($ref) { + DXProt::broadcast_all_ak1a(DXProt::pc24($ref), $DXProt::me) ; + $ref->here(1); + } elsif ($ref = Route::Node::get($call)) { + DXProt::broadcast_all_ak1a(DXProt::pc24($ref), $DXProt::me) ; + $ref->here(1); + } else { + $ref = Route::Node::get($call); + $ref->here(1) if $ref; + } + } else { + push @out, $self->msg('e3', "Set Here", $call); + } } return (1, @out);