add a create/user command
[spider.git] / cmd / set / user.pl
index afe67c7ed896df9d3576f7f46282e26e120ed3df..832dcac68037b66debf737e01ea66ed6860fc455 100644 (file)
@@ -1,34 +1,34 @@
 #
-# set any variable in the User file
+# set back to user
 #
-# This is a hack - use the UTMOST CAUTION!!!!!!!!
+# Please note that this is only effective if the user is not on-line
 #
-# Copyright (c) 1999 Dirk Koopman G1TLH
+# Copyright (c) 1998 - Dirk Koopman
 #
 #
 #
-my ($self, $line) = @_;
-return (1, $self->msg('e5')) if $self->priv < 9;
 
+my ($self, $line) = @_;
 my @args = split /\s+/, $line;
-return (1, $self->msg('suser1')) if @args < 3;
-
-my $call = uc $args[0];
-my $ref = DXUser->get_current($call);
-my $field = $args[1];
-my $value = $args[2];
-
-return (1, $self->msg('suser2', $call)) unless $ref;
-return (1, $self->msg('suser4', $field)) unless $ref->field_prompt($field);
+my $call;
 my @out;
+my $user;
+my $create;
 
-# set it (dates and silly things like that can come later)
-
-my $oldvalue = $ref->{$field};
-$ref->{$field} = $value;
-$ref->put();
-
-push @out, $self->msg('suser3', $field, $oldvalue, $value);
-push  @out, print_all_fields($self, $ref, "User Information $call");
+return (1, $self->msg('e5')) if $self->priv < 5;
 
+foreach $call (@args) {
+       $call = uc $call;
+       my $chan = DXChannel::get($call);
+       if ($chan) {
+               push @out, $self->msg('nodee1', $call);
+       } else {
+               $user = DXUser->get($call);
+               return (1, $self->msg('usernf', $call)) if !$user;
+               $user->sort('U');
+               $user->priv(0);
+               $user->close();
+               push @out, $self->msg('nodeu', $call);
+       }
+}
 return (1, @out);