fixed sh/node
[spider.git] / perl / create_sysop.pl
1 #!/usr/bin/perl
2 #
3 # create a NEW user database and the sysop record
4 #
5 # WARNING - running this will destroy any existing user database
6 #
7 # Copyright (c) 1998 Dirk Koopman G1TLH
8 #
9 # $Id$
10
11
12 # make sure that modules are searched in the order local then perl
13 BEGIN {
14         # root of directory tree for this system
15         $root = "/spider"; 
16         $root = $ENV{'DXSPIDER_ROOT'} if $ENV{'DXSPIDER_ROOT'};
17
18         unshift @INC, "$root/local";
19 }
20
21 use DXVars;
22 use DXUser;
23
24 sub delete_it
25 {
26         DXUser->del_file($userfn);
27 }
28
29 sub create_it
30 {
31         my $ref = DXUser->get($mycall);
32         $ref->del() if $ref;
33         
34         my $self = DXUser->new($mycall);
35         $self->{alias} = $myalias;
36         $self->{name} = $myname;
37         $self->{qth} = $myqth;
38         $self->{qra} = $mylocator;
39         $self->{lat} = $mylatitude;
40         $self->{long} = $mylongitude;
41         $self->{email} = $myemail;
42         $self->{bbsaddr} = $mybbsaddr;
43         $self->{homenode} = $mycall;
44         $self->{sort} = 'A';            # C - Console user, S - Spider cluster, A - AK1A, U - User, B - BBS
45         $self->{priv} = 9;                      # 0 - 9 - with 9 being the highest
46         $self->{lastin} = 0;
47         $self->{dxok} = 1;
48         $self->{annok} = 1;
49
50         # write it away
51         $self->close();
52
53         # now do one for the alias
54         $ref = DXUser->get($myalias);
55         $ref->del() if $ref;
56
57         $self = DXUser->new($myalias);
58         $self->{name} = $myname;
59         $self->{qth} = $myqth;
60         $self->{qra} = $mylocator;
61         $self->{lat} = $mylatitude;
62         $self->{long} = $mylongitude;
63         $self->{email} = $myemail;
64         $self->{bbsaddr} = $mybbsaddr;
65         $self->{homenode} = $mycall;
66         $self->{sort} = 'U';            # C - Console user, S - Spider cluster, A - AK1A, U - User, B - BBS
67         $self->{priv} = 9;                      # 0 - 9 - with 9 being the highest
68         $self->{lastin} = 0;
69         $self->{dxok} = 1;
70         $self->{annok} = 1;
71         $self->{lang} = 'en';
72   
73         # write it away
74         $self->close();
75
76 }
77
78 if (-e "$userfn") {
79         print "Do you wish to destroy your user database (THINK!!!) [y/N]: ";
80         $ans = <STDIN>;
81         if ($ans =~ /^[Yy]/) {
82                 delete_it();
83                 DXUser->init($userfn, 1);
84                 create_it();
85         } else {
86                 print "Do you wish to reset your cluster and sysop information? [y/N]: ";
87                 $ans = <STDIN>;
88                 if ($ans =~ /^[Yy]/) {
89                         DXUser->init($userfn, 1);
90                         create_it();
91                 }
92         }
93   
94 } else {
95         DXUser->init($userfn, 1);
96         create_it();
97 }
98 DXUser->finish();
99 exit(0);
100