X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=55245a59a2a7cd2b5651dd8dd08e464c73bfe368;hb=3d29b1a4d4aab997da2deff10470068601744530;hp=08c5824a7f4f1b8508ff263c0452eaf25d92a5ce;hpb=0824a94355e5fb2b4c379bb013d66466725629f5;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index 08c5824a..55245a59 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -43,7 +43,9 @@ $filename = undef; lockout => '9,Locked out?,yesno', # won't let them in at all dxok => '9,DX Spots?,yesno', # accept his dx spots? annok => '9,Announces?,yesno', # accept his announces? - reg => '0,Registered?,yesno', # is this user registered? + reg => '0,Registered?,yesno', # is this user registered? + lang => '0,Language', + hmsgno => '0,Highest Msgno', ); no strict; @@ -70,8 +72,8 @@ sub init { my ($pkg, $fn) = @_; - die "need a filename in User" if !$fn; - $dbm = tie (%u, MLDBM, $fn, O_CREAT|O_RDWR, 0666) or die "can't open user file: $fn ($!)"; + confess "need a filename in User" if !$fn; + $dbm = tie (%u, MLDBM, $fn, O_CREAT|O_RDWR, 0666) or confess "can't open user file: $fn ($!)"; $filename = $fn; } @@ -93,14 +95,18 @@ sub finish sub new { - my ($pkg, $call) = @_; - die "can't create existing call $call in User\n!" if $u{$call}; + my $pkg = shift; + my $call = uc shift; + $call =~ s/-\d+//o; + + confess "can't create existing call $call in User\n!" if $u{$call}; my $self = {}; $self->{call} = $call; $self->{sort} = 'U'; $self->{dxok} = 1; $self->{annok} = 1; + $self->{lang} = $main::lang; bless $self, $pkg; $u{call} = $self; } @@ -114,7 +120,7 @@ sub get { my $pkg = shift; my $call = uc shift; - $call =~ s/-\d+//o; # strip ssid + $call =~ s/-\d+$//o; # strip ssid return $u{$call}; } @@ -124,7 +130,7 @@ sub get sub get_all_calls { - return keys %u; + return (sort keys %u); } # @@ -139,7 +145,7 @@ sub get_current { my $pkg = shift; my $call = uc shift; - $call =~ s/-\d+//o; # strip ssid + $call =~ s/-\d+$//o; # strip ssid my $dxchan = DXChannel->get($call); return $dxchan->user if $dxchan;