10. Removed export_user.pl (no longer needed)
11. made import_users.pl accept a non related input filename and always
update the current user file.
+12. added an 'auto rcmd <node> for/oper <call>' for people I can see on the
+cluster that issue spots and for whom I have no qra info (no more than once
+a month).
+13. Despace spot texts properly again for deduping purposes.
25Jul00=======================================================================
1. ignore \n in ax25 mode for C client.
2. remove extra space at the end of a DX spot announce when no grid square
$user->put;
}
}
+
+ # send a remote command to a distant cluster if it is visible and there is no
+ # qra locator and we havn't done it for a month.
+
+ unless ($user->qra) {
+ my $node;
+ my $to = $user->homenode;
+ my $last = $user->lastoper || 0;
+ if ($main::systime > $last + $DXUser::lastoperinterval && $to && ($node = DXCluster->get_exact($to)) ) {
+ my $cmd = "forward/opernam $spot[4]";
+ # send the rcmd but we aren't interested in the replies...
+ if ($node && $node->dxchan && $node->dxchan->is_clx) {
+ route(undef, $to, pc84($main::mycall, $to, $main::mycall, $cmd));
+ } else {
+ route(undef, $to, pc34($main::mycall, $to, $cmd));
+ }
+ $user->lastoper($main::systime);
+ $user->put;
+ }
+ }
}
# local processing
$user->lat($lat);
$user->long($long);
my $qra = $user->qra || DXBearing::lltoqra($lat, $long);
- $qra = DXBearing::lltoqra($lat, $long) unless DXBearing::is_qra($qra);
+ $qra = DXBearing::lltoqra($lat, $long) unless $qra && DXBearing::is_qra($qra);
+ $user->qra($qra) if $qra ne $user->qra;
} elsif ($field[2] == 4) {
$user->homenode($field[3]);
}
use DXDebug;
use strict;
-use vars qw(%u $dbm $filename %valid);
+use vars qw(%u $dbm $filename %valid $lastoperinterval);
%u = ();
$dbm = undef;
$filename = undef;
+$lastoperinterval = 30*24*60*60;
# hash of valid elements and a simple prompt
%valid = (