- $text =~ s/[^a-zA-Z0-9]//g;
- for (0,60,120,180,240,300) {
- my $dt = $d - $_;
- my $dupkey = "X$freq|$call|$dt|\L$text";
- return 1 if DXDupe::find($dupkey);
+ my $ldupkey = "X$freq|$call|$by|";
+ my $t = DXDupe::find($ldupkey);
+ if ($t && $t - $main::systime > 0) {
+ my ($prefix) = $text = /\b(\w{1,4})$/;
+ if ($prefix) {
+ my @ans = Prefix::extract($prefix);
+ if (@ans) {
+
+ # if we find a prefix then chop it off
+ # the end of the string and then look for
+ # a spot with that text. If we find it then
+ # it has be sucked from an AR-C node and is
+ # a dupe.
+ my $txt = $text;
+ $txt =~ s/\b\w{1,4}$//;
+ $txt =~ s/[^A-Z0-9]//g;
+ $t = DXDupe::find($ldupkey . $txt);
+ return 1 if $t && $t - $main::systime > 0;
+ }
+ }