X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=7371a8690ab781391150847d33b86d02747d0a9e;hb=14cb55073f64836f3f2a1aaf3a86207dec4fa103;hp=80a31ed517a6829d91c4cf5ae034478403cf711f;hpb=5f2487385b59dbe88dc763fa9c26fe5a9b4a6b30;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 80a31ed5..7371a869 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -35,6 +35,8 @@ use Net::Telnet; use QSL; use DB_File; use VE7CC; +use Thingy; +use Thingy::Dx; use strict; use vars qw(%Cache %cmd_cache $errstr %aliases $scriptbase $maxerrors %nothereslug $maxbadcount $msgpolltime); @@ -51,7 +53,7 @@ $msgpolltime = 3600; # the time between polls for new messages use vars qw($VERSION $BRANCH); $VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ || (0,0)); +$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /^\d+\.\d+(?:\.(\d+)\.(\d+))?$/ || (0,0)); $main::build += $VERSION; $main::branch += $BRANCH; @@ -129,7 +131,12 @@ sub start # decide which motd to send - my $motd = "${main::motd}_nor" unless $self->{registered}; + my $motd; + unless ($self->{registered}) { + $motd = "${main::motd}_nor_$self->{lang}"; + $motd = "${main::motd}_nor" unless -e $motd; + } + $motd = "${main::motd}_$self->{lang}" unless $motd && -e $motd; $motd = $main::motd unless $motd && -e $motd; $self->send_file($motd) if -e $motd; @@ -839,65 +846,6 @@ sub chat $self->local_send('C', $buf); } -sub format_dx_spot -{ - my $self = shift; - - my $t = ztime($_[2]); - my $loc = ''; - my $clth = $self->{consort} eq 'local' ? 29 : 30; - my $comment = substr $_[3], 0, $clth; - $comment .= ' ' x ($clth - length($comment)); - if ($self->{user}->wantgrid) { - my $ref = DXUser->get_current($_[4]); - if ($ref) { - $loc = $ref->qra || ''; - $loc = ' ' . substr($loc, 0, 4) if $loc; - } - } - - if ($self->{user}->wantdxitu) { - $loc = ' ' . sprintf("%2d", $_[10]) if defined $_[10]; - $comment = substr($comment, 0, $self->{consort} eq 'local' ? 26 : 27) . ' ' . sprintf("%2d", $_[8]) if defined $_[8]; - } elsif ($self->{user}->wantdxcq) { - $loc = ' ' . sprintf("%2d", $_[11]) if defined $_[11]; - $comment = substr($comment, 0, $self->{consort} eq 'local' ? 26 : 27) . ' ' . sprintf("%2d", $_[9]) if defined $_[9]; - } elsif ($self->{user}->wantusstate) { - $loc = ' ' . $_[13] if $_[13]; - $comment = substr($comment, 0, $self->{consort} eq 'local' ? 26 : 27) . ' ' . $_[12] if $_[12]; - } - - return sprintf "DX de %-7.7s%11.1f %-12.12s %-s $t$loc", "$_[4]:", $_[0], $_[1], $comment; -} - -# send a dx spot -sub dx_spot -{ - my $self = shift; - my $line = shift; - my $isolate = shift; - return unless $self->{dx}; - - my ($filter, $hops); - - if ($self->{spotsfilter}) { - ($filter, $hops) = $self->{spotsfilter}->it(@_ ); - return unless $filter; - } - - dbg('spot: "' . join('","', @_) . '"') if isdbg('dxspot'); - - my $buf; - if ($self->{ve7cc}) { - $buf = VE7CC::dx_spot($self, @_); - } else { - $buf = $self->format_dx_spot(@_); - $buf .= "\a\a" if $self->{beep}; - $buf =~ s/\%5E/^/g; - } - - $self->local_send('X', $buf); -} sub wwv {