qra => 'Locator',
email => 'E-mail Address',
priv => 'Privilege Level',
- sort => 'Type of User',
lastin => 'Last Time in',
passwd => 'Password',
- addr => 'Full Address'
+ addr => 'Full Address',
+ 'sort' => 'Type of User', # A - ak1a, U - User, S - spider cluster, B - BBS
);
+sub AUTOLOAD
+{
+ my $self = shift;
+ my $name = $AUTOLOAD;
+
+ return if $name =~ /::DESTROY$/;
+ $name =~ s/.*:://o;
+
+ die "Non-existant field '$AUTOLOAD'" if !$valid{$name};
+ @_ ? $self->{$name} = shift : $self->{$name} ;
+}
+
#
# initialise the system
#
{
my ($pkg, $fn) = @_;
- die "need a filename in User\n" if !$fn;
- $dbm = tie %u, MLDBM, $fn, O_CREAT|O_RDWR, 0666 or die "can't open user file: $fn ($!)\n";
+ die "need a filename in User" if !$fn;
+ $dbm = tie %u, MLDBM, $fn, O_CREAT|O_RDWR, 0666 or die "can't open user file: $fn ($!)";
$filename = $fn;
}
sub get
{
- my $call = shift;
+ my ($pkg, $call) = @_;
return $u{$call};
}
}
#
-# return a prompt together with the existing value
+# return a prompt for a field
#
sub prompt
{
my ($self, $ele) = @_;
- return "$valid{$ele} [$self->{$ele}]";
+ return $valid{$ele};
}
#
}
return 0;
}
+
+# some variable accessors
+sub sort
+{
+ my $self = shift;
+ @_ ? $self->{sort} = shift : $self->{sort} ;
+}
1;
__END__