X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXCommandmode.pm;h=60626ef41722ba1bb13bca65ceb6d60b09dfb906;hb=e06d5fa736172c044f769e791c23e7cd05ae3445;hp=1743af851f59375d2d401f0dfbca70c6e32edb53;hpb=f155969d600561b9ef151a7ce2494a0c89aed033;p=spider.git diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm index 1743af85..60626ef4 100644 --- a/perl/DXCommandmode.pm +++ b/perl/DXCommandmode.pm @@ -64,8 +64,8 @@ sub start $self->send($self->msg('l2',$self->{name})); $self->send_file($main::motd) if (-e $main::motd); $self->state('prompt'); # a bit of room for further expansion, passwords etc - $self->{priv} = $user->priv; - $self->{lang} = $user->lang; + $self->{priv} = $user->priv || 0; + $self->{lang} = $user->lang || 'en'; $self->{pagelth} = $user->pagelth || 20; $self->{priv} = 0 if $line =~ /^(ax|te)/; # set the connection priv to 0 - can be upgraded later $self->{consort} = $line; # save the connection type @@ -80,7 +80,15 @@ sub start $self->{dx} = $user->wantdx; $self->{logininfo} = $user->wantlogininfo; $self->{here} = 1; - + + # clean up qra locators + my $qra = $user->qra; + $qra = undef if ($qra && !DXBearing::is_qra($qra)); + unless ($qra) { + my $lat = $user->lat; + my $long = $user->long; + $user->qra(DXBearing::lltoqra($lat, $long)) if (defined $lat && defined $long); + } # add yourself to the database my $node = DXNode->get($main::mycall) or die "$main::mycall not allocated in DXNode database"; @@ -306,13 +314,14 @@ sub process sub finish { my $self = shift; + my $conn = shift; my $call = $self->call; # I was the last node visited $self->user->node($main::mycall); # log out text - if (-e "$main::data/logout") { + if ($conn && -e "$main::data/logout") { open(I, "$main::data/logout") or confess; my @in = ; close(I);