added mark messages as read or unread
[spider.git] / cmd / set / node.pl
index fa0cf8007509b0f96cecff1784ab3796bc301ef7..0895b20c9bfa497423395ed48d5ff48402dc3d64 100644 (file)
@@ -13,23 +13,27 @@ my @args = split /\s+/, $line;
 my $call;
 my @out;
 my $user;
+my $create;
 
-return (0) if $self->priv < 5;
+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);
-       if ($user) {
-         $user->sort('A');
-         $user->close();
-      push @out, $self->msg('node', $call);
+       $call = uc $call;
+       my $chan = DXChannel->get($call);
+       if ($chan) {
+               push @out, $self->msg('nodee1', $call);
        } else {
-      push @out, $self->msg('e3', "Set Node", $call);
+               $user = DXUser->get($call);
+               $create = !$user;
+               $user = DXUser->new($call) if $create;
+               if ($user) {
+                       $user->sort('A');
+                       $user->homenode($call);
+                       $user->close();
+                       push @out, $self->msg($create ? 'nodec' : 'node', $call);
+               } else {
+                       push @out, $self->msg('e3', "Set Node", $call);
+               }
        }
-  }
 }
 return (1, @out);