6. make set/isolate and acc/route mutually exclusive (and issue appropriate
[spider.git] / cmd / stat / route_user.pl
index 37a079b8cc455e97793f2b137e0a95f6d4f7b932..e39584cb0877cef3bf8febfd875497380a554ff1 100644 (file)
@@ -7,16 +7,29 @@
 #
 
 my ($self, $line) = @_;
+my @out;
 my @list = split /\s+/, $line;               # generate a list of callsigns
 @list = ($self->call) if !@list;  # my channel if no callsigns
+if ($self->priv > 5 && @list && uc $list[0] eq 'ALL') {
+       push @out, "User Callsigns in Routing Table";
+       @list = sort map {$_->call} Route::User::get_all();
+       my $count = @list;
+       my $n = int $self->width / 10;
+       $n ||= 8;
+       while (@list > $n) {
+               push @out, join(' ', map {sprintf "%9s",$_ } splice(@list, 0, $n));
+       } 
+       push @out, join(' ', map {sprintf "%9s",$_ } @list) if @list;
+       push @out, "$count Users";
+       return (1, @out);
+}
 
 my $call;
-my @out;
 foreach $call (@list) {
   $call = uc $call;
   my $ref = Route::User::get($call);
   if ($ref) {
-    @out = print_all_fields($self, $ref, "Route::User Information $call");
+    push @out, print_all_fields($self, $ref, "Route::User Information $call");
   } else {
     push @out, "Route::User: $call not found";
   }