X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=1e06cd3c9d87fa05a243e85ac14b2c896761171b;hb=148f4d43135748ba5aff985c50720b370ca1e336;hp=160877aef11b5658ba9c3ad1e0988d3b016357a0;hpb=bbcb636f1bc71eb1426685ef64382ea42d27ecfb;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index 160877ae..1e06cd3c 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -28,7 +28,7 @@ use vars qw(%u $dbm $filename %valid $lastoperinterval $lasttime); %u = (); $dbm = undef; $filename = undef; -$lastoperinterval = 30*24*60*60; +$lastoperinterval = 60*24*60*60; $lasttime = 0; # hash of valid elements and a simple prompt @@ -40,10 +40,11 @@ $lasttime = 0; lat => '0,Latitude,slat', long => '0,Longitude,slong', qra => '0,Locator', - email => '0,E-mail Address', + email => '0,E-mail Address,parray', priv => '9,Privilege Level', lastin => '0,Last Time in,cldatetime', - passwd => '9,Password', + passwd => '9,Password,yesno', + passphrase => '9,Pass Phrase,yesno', addr => '0,Full Address', 'sort' => '0,Type of User', # A - ak1a, U - User, S - spider cluster, B - BBS xpert => '0,Expert Status,yesno', @@ -53,28 +54,33 @@ $lasttime = 0; lockout => '9,Locked out?,yesno', # won't let them in at all dxok => '9,Accept DX Spots?,yesno', # accept his dx spots? annok => '9,Accept Announces?,yesno', # accept his announces? - reg => '0,Registered?,yesno', # is this user registered? lang => '0,Language', hmsgno => '0,Highest Msgno', group => '0,Access Group,parray', # used to create a group of users/nodes for some purpose or other isolate => '9,Isolate network,yesno', - wantbeep => '0,Rec Beep,yesno', - wantann => '0,Rec Announce,yesno', - wantwwv => '0,Rec WWV,yesno', - wantwcy => '0,Rec WCY,yesno', - wantecho => '0,Rec Echo,yesno', - wanttalk => '0,Rec Talk,yesno', - wantwx => '0,Rec WX,yesno', - wantdx => '0,Rec DX Spots,yesno', + wantbeep => '0,Req Beep,yesno', + wantann => '0,Req Announce,yesno', + wantwwv => '0,Req WWV,yesno', + wantwcy => '0,Req WCY,yesno', + wantecho => '0,Req Echo,yesno', + wanttalk => '0,Req Talk,yesno', + wantwx => '0,Req WX,yesno', + wantdx => '0,Req DX Spots,yesno', + wantemail => '0,Req Msgs as Email,yesno', pagelth => '0,Current Pagelth', pingint => '9,Node Ping interval', nopings => '9,Ping Obs Count', wantlogininfo => '9,Login info req,yesno', wantgrid => '0,DX Grid Info,yesno', wantann_talk => '0,Talklike Anns,yesno', + wantpc90 => '1,Req PC90,yesno', + wantnp => '1,Req New Protocol,yesno', lastoper => '9,Last for/oper,cldatetime', nothere => '0,Not Here Text', registered => '9,Registered?,yesno', + prompt => '0,Required Prompt', + version => '1,Version', + build => '1,Build', ); no strict; @@ -196,11 +202,9 @@ sub get_current my $dxchan = DXChannel->get($call); return $dxchan->user if $dxchan; - my $data; - unless ($dbm->get($call, $data)) { - return decode($data); - } - return undef; + my $rref = Route::get($call); + return $rref->user if $rref && exists $rref->{user}; + return $pkg->get($call); } # @@ -521,6 +525,11 @@ sub wantgrid return _want('grid', @_); } +sub wantemail +{ + return _want('email', @_); +} + sub wantann_talk { return _want('ann_talk', @_); @@ -581,6 +590,18 @@ sub is_ak1a my $self = shift; return $self->{sort} eq 'A'; } + +sub unset_passwd +{ + my $self = shift; + delete $self->{passwd}; +} + +sub unset_passphrase +{ + my $self = shift; + delete $self->{passphrase}; +} 1; __END__