X-Git-Url: http://scm.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FDXUser.pm;h=0522cf2da2d6ade1dd3d6986434eb6769e37e040;hb=7a372829b040bc232fac4ef37448673ffef8e46d;hp=c1ab95aeb52b46314a5ca8b274ea15441c65255d;hpb=83e360f5c54444dc63a14de5124ad0a78624bf5a;p=spider.git diff --git a/perl/DXUser.pm b/perl/DXUser.pm index c1ab95ae..0522cf2d 100644 --- a/perl/DXUser.pm +++ b/perl/DXUser.pm @@ -83,6 +83,7 @@ $v3 = 0; wantpc16 => '9,Want Users from node,yesno', wantsendpc16 => '9,Send PC16,yesno', wantroutepc19 => '9,Route PC19,yesno', + wantusstate => '9,Show US State,yesno', lastoper => '9,Last for/oper,cldatetime', nothere => '0,Not Here Text', registered => '9,Registered?,yesno', @@ -129,12 +130,16 @@ sub init if ($@) { $ufn = "$fn.v2"; + $v3 = $convert = 0; + dbg("the module Storable appears to be missing!!"); + dbg("trying to continue in compatibility mode (this may fail)"); + dbg("please install Storable from CPAN as soon as possible"); } else { import Storable qw(nfreeze thaw); $ufn = "$fn.v3"; $v3 = 1; - $convert = ! -e $ufn; + $convert++ unless -e $ufn; } if ($mode) { @@ -142,14 +147,17 @@ sub init } else { $dbm = tie (%u, 'DB_File', $ufn, O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]"; } + + $lru = LRU->newbase("DXUser", $lrusize); # do a conversion if required if ($convert) { my ($key, $val, $action, $count, $err) = ('','',0,0,0); my %oldu; - dbg("Converting the User File to V3 (I suggest you go and have cup of strong tea)"); - my $odbm = tie (%oldu, 'DB_File', "${fn}.v2", O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn ($!) [rebuild it from user_asc?]"; + dbg("Converting the User File to V3 "); + dbg("This will take a while, I suggest you go and have cup of strong tea"); + my $odbm = tie (%oldu, 'DB_File', "$fn.v2", O_RDONLY, 0666, $DB_BTREE) or confess "can't open user file: $fn.v2 ($!) [rebuild it from user_asc?]"; for ($action = R_FIRST; !$odbm->seq($key, $val, $action); $action = R_NEXT) { my $ref = asc_decode($val); if ($ref) { @@ -164,7 +172,6 @@ sub init dbg("Conversion completed $count records $err errors"); } $filename = $ufn; - $lru = LRU->newbase("DXUser", $lrusize); } sub del_file @@ -663,6 +670,11 @@ sub wantroutepc16 return _want('routepc16', @_); } +sub wantusstate +{ + return _want('usstate', @_); +} + sub wantlogininfo { my $self = shift;