added set/user command
[spider.git] / cmd / set / user.pl
diff --git a/cmd/set/user.pl b/cmd/set/user.pl
new file mode 100644 (file)
index 0000000..a4b76bd
--- /dev/null
@@ -0,0 +1,34 @@
+#
+# set any variable in the User file
+#
+# This is a hack - use the UTMOST CAUTION!!!!!!!!
+#
+# Copyright (c) 1999 Dirk Koopman G1TLH
+#
+# $Id$
+#
+my ($self, $line) = @_;
+return (1, $self->msg('e5')) if $self->priv < 9;
+
+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 @out;
+
+# 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, @out);