buddies => '0,Buddies,parray',
build => '1,Build',
call => '0,Callsign',
+ clientoutput => '0,User OUT Format',
+ clientinput => '0,User IN Format',
connlist => '1,Connections,parraydifft',
dxok => '9,Accept DX Spots?,yesno', # accept his dx spots?
email => '0,E-mail Address,parray',
prompt => '0,Required Prompt',
qra => '0,Locator',
qth => '0,Home QTH',
- rbnseeme => '0,RBN See Me',
+ rbnseeme => '0,RBN See Me,yesno',
registered => '9,Registered?,yesno',
startt => '0,Start Time,cldatetime',
+ user_interval => '0,Prompt IdleTime',
version => '1,Version',
wantann => '0,Req Announce,yesno',
wantann_talk => '0,Talklike Anns,yesno',
goto &$AUTOLOAD;
}
+my $readonly;
+
#use strict;
#
$dbm = tie (%u, 'DB_File', $filename, O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_json?]";
}
}
+ $readonly = !$mode;
+
die "Cannot open $filename ($!)\n" unless $dbm || $mode == 2;
return;
}
sub finish
{
+ dbg('DXUser finished') unless $readonly;
$dbm->sync;
undef $dbm;
untie %u;
my $ip = shift;
# add a record to the connect list
$self->{lastin} = $main::systime;
- my $ref = [$startt || $self->{startt}, $main::systime];
+ my $ref = [$self->{startt} || $startt, $main::systime];
push @$ref, $ip if $ip;
push @{$self->{connlist}}, $ref;
shift @{$self->{connlist}} if @{$self->{connlist}} > $maxconnlist;
LogDbg('command', $s);
return ($s);
}
-
+
+sub END
+{
+ if ($dbm) {
+ print "DXUser Ended\n" unless $readonly;
+ finish();
+ }
+}
+
1;
__END__