]> dxcluster.net Git - spider.git/blob - cmd/forward/opername.pl
fix some little problems with disconnects
[spider.git] / cmd / forward / opername.pl
1 #
2 # Cause node to send PC41 info frames
3 #
4 # Copyright (c) 1998 - Iain Philipps G0RDI
5 #
6 # Mods by Dirk Koopman G1TLH 12Dec98
7 #
8
9 my ($self, $line) = @_;
10 my @f = split /\s+/, uc $line;
11 my @out;
12
13 if ($self->priv < 1) {
14         if (@f == 0) {
15                 push @f, $self->call;
16         } else {
17                 return (1, $self->msg('e5'));
18         }
19 } elsif (@f == 0) {
20         return (1, $self->msg('e6'));
21 }
22
23 my $call;
24 foreach $call (@f) {
25         my $ref = DXUser->get_current($call);
26         if ($ref) {
27                 my $name = $ref->name;  
28                 my $qth = $ref->qth;
29                 my $lat = $ref->lat;
30                 my $long = $ref->long;
31                 my $node = $ref->homenode;
32                 my $latlong = DXBearing::lltos($lat, $long) if $lat && $long;
33                 DXProt::broadcast_all_ak1a(DXProt::pc41($call, 1, $name), $DXProt::me) if $name;
34                 DXProt::broadcast_all_ak1a(DXProt::pc41($call, 2, $qth), $DXProt::me) if $qth;
35                 DXProt::broadcast_all_ak1a(DXProt::pc41($call, 3, $latlong), $DXProt::me) if $latlong;
36                 DXProt::broadcast_all_ak1a(DXProt::pc41($call, 4, $node), $DXProt::me) if $node;
37         }
38 }
39
40 return (1, @out);