5. fix talkmode so that it only does 'via' PC10s when it really needs to.
[spider.git] / cmd / dx.pl
index c946d76107b6a70f46ff0bcae4506888711ebe52..75ba77dc866e8a0152d918a1ce514a9c6660186a 100644 (file)
--- a/cmd/dx.pl
+++ b/cmd/dx.pl
@@ -15,6 +15,7 @@ my $spotted;
 my $freq;
 my @out;
 my $valid = 0;
+return (1, $self->msg('e5')) if $self->remotecmd;
 
 # do we have at least two args?
 return (1, $self->msg('dx2')) unless @f >= 2;
@@ -43,7 +44,7 @@ if ($f[0] =~ /[A-Za-z]/) {
 }
 
 # make line the rest of the line
-$line = $f[2];
+$line = $f[2] || " ";
 @f = split /\s+/, $line;
 
 # bash down the list of bands until a valid one is reached
@@ -97,9 +98,10 @@ $line =~ s/\^/:/og;
 
 # Store it here (but only if it isn't baddx)
 if (grep $_ eq $spotted, @DXProt::baddx) {
-       my $buf = Spot::formatb($freq, $spotted, $main::systime, $line, $spotter);
+       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
@@ -108,3 +110,8 @@ if (grep $_ eq $spotted, @DXProt::baddx) {
 }
 
 return (1, @out);
+
+
+
+
+