-# send orf to the users
-my $buf = sprintf "DX de %-7.7s %13.1f %-12.12s %-30.30s %5.5s\a\a", $spotter, $freq, $spotted, $line, ztime(time);
-DXProt::broadcast_users($buf);
+push @out, $self->msg('dx1', $freq) unless $valid;
+
+# check we have a callsign :-)
+if ($spotted le ' ') {
+ push @out, $self->msg('dx2');
+ $valid = 0;
+}
+
+return (1, @out) unless $valid;
+
+# Store it here (but only if it isn't baddx)
+my $t = (int ($main::systime/60)) * 60;
+return (1, $self->msg('dup')) if Spot::dup($freq, $spotted, $t, $line, $spotter);
+my @spot = Spot::prepare($freq, $spotted, $t, $line, $spotter, $main::mycall);
+
+if ($freq =~ /^69/ || $localonly) {
+
+ # heaven forfend that we get a 69Mhz band :-)
+ if ($freq =~ /^69/) {
+ $self->badcount(($self->badcount||0) + 1);
+ }