Change DXUser->get* to DXUser::get*
[spider.git] / cmd / set / lockout.pl
index 911a82887977390027ce527b274723187d01d341..feb326eb77b5b761cd47fe51533b940f2392bef3 100644 (file)
@@ -3,7 +3,7 @@
 #
 # Copyright (c) 1998 Iain Phillips G0RDI
 #
-# $Id$
+#
 #
 my ($self, $line) = @_;
 my @args = split /\s+/, $line;
@@ -13,19 +13,28 @@ my @out;
 my $user;
 my $ref;
 
-return (1, $self->msg('e5')) if $self->priv < 9;
+if ($self->priv < 9) {
+       Log('DXCommand', $self->call . " attempted to lockout @args");
+       return (1, $self->msg('e5'));
+}
 
 foreach $call (@args) {
        $call = uc $call;
-       if ($ref = DXUser->get_current($call)) {
-               $ref->lockout(1);
-               $ref->put();
-               push @out, $self->msg("lockout", $call);
+       unless ($self->remotecmd || $self->inscript) {
+               if ($ref = DXUser::get_current($call)) {
+                       $ref->lockout(1);
+                       $ref->put();
+                       push @out, $self->msg("lockout", $call);
+               } else {
+                       $ref = DXUser->new($call);
+                       $ref->lockout(1);
+                       $ref->put();
+                       push @out, $self->msg("lockoutc", $call);
+               }
+               Log('DXCommand', $self->call . " locked out $call");
        } else {
-               $ref = DXUser->new($call);
-               $ref->lockout(1);
-               $ref->put();
-               push @out, $self->msg("lockoutc", $call);
+               Log('DXCommand', $self->call . " attempted to lockout $call remotely");
+               push @out, $self->msg('sorry');
        }
 }
 return (1, @out);