fix all DXChannel->get to ::get
[spider.git] / perl / DXUser.pm
index b254ae5ab1723b33b159058014af9a146295afb4..056fe9ff50b3a1e2ce1c42cccc6f3491b4f19839 100644 (file)
@@ -20,10 +20,8 @@ use LRU;
 use strict;
 
 use vars qw($VERSION $BRANCH);
-$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
-$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
-$main::build += $VERSION;
-$main::branch += $BRANCH;
+
+main::mkver($VERSION = q$Revision$);
 
 use vars qw(%u $dbm $filename %valid $lastoperinterval $lasttime $lru $lrusize $tooold $v3);
 
@@ -75,7 +73,7 @@ $v3 = 0;
                  pagelth => '0,Current Pagelth',
                  pingint => '9,Node Ping interval',
                  nopings => '9,Ping Obs Count',
-                 wantlogininfo => '9,Login info req,yesno',
+                 wantlogininfo => '0,Login Info Req,yesno',
           wantgrid => '0,Show DX Grid,yesno',
                  wantann_talk => '0,Talklike Anns,yesno',
                  wantpc90 => '1,Req PC90,yesno',
@@ -92,6 +90,8 @@ $v3 = 0;
                  prompt => '0,Required Prompt',
                  version => '1,Version',
                  build => '1,Build',
+                 believe => '1,Believable nodes,parray',
+                 lastping => '1,Last Ping at,ptimelist',
                 );
 
 #no strict;
@@ -262,7 +262,7 @@ sub get_current
        my $pkg = shift;
        my $call = uc shift;
   
-       my $dxchan = DXChannel->get($call);
+       my $dxchan = DXChannel::get($call);
        return $dxchan->user if $dxchan;
        my $rref = Route::get($call);
        return $rref->user if $rref && exists $rref->{user};
@@ -724,6 +724,12 @@ sub is_node
        return $self->{sort} =~ /[ACRSX]/;
 }
 
+sub is_aranea
+{
+       my $self = shift;
+       return $self->{sort} eq 'W';
+}
+
 sub is_user
 {
        my $self = shift;
@@ -777,6 +783,41 @@ sub unset_passphrase
        my $self = shift;
        delete $self->{passphrase};
 }
+
+sub set_believe
+{
+       my $self = shift;
+       my $call = uc shift;
+       $self->{believe} ||= [];
+       push @{$self->{believe}}, $call unless grep $_ eq $call, @{$self->{believe}};
+}
+
+sub unset_believe
+{
+       my $self = shift;
+       my $call = uc shift;
+       if (exists $self->{believe}) {
+               $self->{believe} = [grep {$_ ne $call} @{$self->{believe}}];
+               delete $self->{believe} unless @{$self->{believe}};
+       }
+}
+
+sub believe
+{
+       my $self = shift;
+       return exists $self->{believe} ? @{$self->{believe}} : ();
+}
+
+sub lastping
+{
+       my $self = shift;
+       my $call = shift;
+       $self->{lastping} ||= {};
+       $self->{lastping} = {} unless ref $self->{lastping};
+       my $b = $self->{lastping};
+       $b->{$call} = shift if @_;
+       return $b->{$call};     
+}
 1;
 __END__