$user->wantusstate(0) unless defined $user->{wantusstate};
# sort out registration
- if ($main::reqreg == 1) {
- $self->{registered} = $user->registered;
- } elsif ($main::reqreg == 2) {
+ if ($main::reqreg == 2) {
$self->{registered} = !$user->registered;
} else {
- $self->{registered} = 1;
- }
+ $self->{registered} = $user->registered;
+ }
+
+ # establish slug queue, if required
+ $self->{sluggedpcs} = [];
+ $self->{isslugged} = $DXProt::pc92_slug_changes + $DXProt::last_pc92_slug + 5 if $DXProt::pc92_slug_changes;
+ $self->{isslugged} = 0 if $self->{priv} > 0 || $user->registered || $user->homenode eq $main::mycall;
# send the relevant MOTD
$self->send_motd;
}
++$users;
$maxusers = $users if $users > $maxusers;
- }
- while (my ($k, $v) = each %nothereslug) {
- if ($main::systime >= $v + 300) {
- delete $nothereslug{$k};
+ if ($dxchan->{isslugged} && $main::systime > $dxchan->{isslugged}) {
+ foreach my $ref (@{$dxchan->{sluggedpcs}}) {
+ if ($ref->[0] == 61) {
+ Spot::add(@{$ref->[2]});
+ DXProt::send_dx_spot($dxchan, $ref->[1], @{$ref->[2]});
+ }
+ }
+
+ $dxchan->{isslugged} = 0;
+ $dxchan->{sluggedpcs} = [];
}
}
my $t = ztime($_[2]);
my $loc = '';
- my $clth = 31 + $self->{width} - 80; # allow comment to grow according the screen width
+ my $clth = 30 + $self->{width} - 80; # allow comment to grow according the screen width
# --$clth if $self->{consort} eq 'local';
my $comment = substr (($_[3] || ''), 0, $clth);
$comment =~ s/\t/ /g;
+
$comment .= ' ' x ($clth - (length($comment)));
if ($self->{user}->wantgrid) {
$comment = substr($comment, 0, $clth-3) . ' ' . $_[12] if $_[12];
}
- return sprintf "DX de %-9.9s%10.1f %-12.12s %-s $t$loc", "$_[4]:", $_[0], $_[1], $comment;
+ return sprintf "DX de %-8.8s%10.1f %-12.12s %-s $t$loc", "$_[4]:", $_[0], $_[1], $comment;
}
+
# send a dx spot
sub dx_spot
{
my $self = shift;
my $motd;
- unless ($self->{registered}) {
+ unless ($self->isregistered) {
$motd = "${main::motd}_nor_$self->{lang}";
$motd = "${main::motd}_nor" unless -e $motd;
}
{
return ($users, $maxusers);
}
+
+sub isregistered
+{
+ my $self = shift;
+
+ # the sysop is registered!
+ return 1 if $self->call eq $main::myalias || $self->call eq $main::mycall;
+
+ if ($main::reqreg) {
+ return $self->{registered};
+ } else {
+ return 1;
+ }
+}
+
1;
__END__