-# send it orf to the cluster (hang onto your tin helmets)!
-DXProt::broadcast_ak1a(DXProt::pc11($spotter, $freq, $spotted, $line));
+return (1, @out) unless $valid;
+
+my @bad;
+if (@bad = BadWords::check($line)) {
+ return (1, $self->msg('e17', @bad));
+}
+
+# Store it here (but only if it isn't baddx)
+if (grep $_ eq $spotted, @DXProt::baddx) {
+ my $buf = Spot::formatb($self->user->wantgrid, $freq, $spotted, $main::systime, $line, $spotter);
+ push @out, $buf;
+} else {
+ return (1, $self->msg('dup')) if Spot::dup($freq, $spotted, (int ($main::systime/60)) * 60, $line);
+ my @spot = Spot::add($freq, $spotted, $main::systime, $line, $spotter, $main::mycall);
+ if (@spot) {
+ # send orf to the users
+ DXProt::send_dx_spot($self, DXProt::pc11($spotter, $freq, $spotted, $line), @spot);
+ }
+}