Change DXUser->get* to DXUser::get*
[spider.git] / perl / create_sysop.pl
index 52cd941f779c7b05ec6e9e8ebb2c6221c9f8c493..c0ac9e3afc7d8557803a71fc146e65a72fc09349 100755 (executable)
@@ -6,7 +6,7 @@
 #
 # Copyright (c) 1998 Dirk Koopman G1TLH
 #
-# $Id$
+#
 # 
 
 # make sure that modules are searched in the order local then perl
@@ -28,20 +28,20 @@ sub delete_it
 
 sub create_it
 {
-       my $ref = DXUser->get($mycall);
+       my $ref = DXUser::get(uc $mycall);
        $ref->del() if $ref;
        
-       my $self = DXUser->new($mycall);
-       $self->{alias} = $myalias;
+       my $self = DXUser->new(uc $mycall);
+       $self->{alias} = uc $myalias;
        $self->{name} = $myname;
        $self->{qth} = $myqth;
-       $self->{qra} = $mylocator;
+       $self->{qra} = uc $mylocator;
        $self->{lat} = $mylatitude;
        $self->{long} = $mylongitude;
        $self->{email} = $myemail;
        $self->{bbsaddr} = $mybbsaddr;
-       $self->{homenode} = $mycall;
-       $self->{sort} = 'A';            # C - Console user, S - Spider cluster, A - AK1A, U - User, B - BBS
+       $self->{homenode} = uc $mycall;
+       $self->{sort} = 'S';            # C - Console user, S - Spider cluster, A - AK1A, U - User, B - BBS
        $self->{priv} = 9;                      # 0 - 9 - with 9 being the highest
        $self->{lastin} = 0;
        $self->{dxok} = 1;
@@ -51,31 +51,43 @@ sub create_it
        $self->close();
 
        # now do one for the alias
-       $ref = DXUser->get($myalias);
+       $ref = DXUser::get(uc $myalias);
        $ref->del() if $ref;
 
-       $self = DXUser->new($myalias);
+       $self = DXUser->new(uc $myalias);
        $self->{name} = $myname;
        $self->{qth} = $myqth;
-       $self->{qra} = $mylocator;
+       $self->{qra} = uc $mylocator;
        $self->{lat} = $mylatitude;
        $self->{long} = $mylongitude;
        $self->{email} = $myemail;
        $self->{bbsaddr} = $mybbsaddr;
-       $self->{homenode} = $mycall;
+       $self->{homenode} = uc $mycall;
        $self->{sort} = 'U';            # C - Console user, S - Spider cluster, A - AK1A, U - User, B - BBS
        $self->{priv} = 9;                      # 0 - 9 - with 9 being the highest
        $self->{lastin} = 0;
        $self->{dxok} = 1;
        $self->{annok} = 1;
        $self->{lang} = 'en';
+       $self->{group} = [qw(local #9000)];
   
        # write it away
        $self->close();
 
 }
 
-if (-e "$userfn") {
+$lockfn = "$root/local/cluster.lck";       # lock file name
+if (-e $lockfn) {
+       open(CLLOCK, "$lockfn") or die "Can't open Lockfile ($lockfn) $!";
+       my $pid = <CLLOCK>;
+       chomp $pid;
+       die "Sorry, Lockfile ($lockfn) and process $pid exist, a cluster is running\n" if kill 0, $pid;
+       close CLLOCK;
+}
+
+$DXUser::v3 = 1;
+
+if (-e "$userfn.v2" || -e "$userfn.v3") {
        print "Do you wish to destroy your user database (THINK!!!) [y/N]: ";
        $ans = <STDIN>;
        if ($ans =~ /^[Yy]/) {