X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Fstation.pl;h=68a1437593ad0a6e1fca110a2e501c37c09bb89f;hb=9516ccc97c92ca802204b059a9a4baab04ff3b65;hp=a79e93a8901572369718f984b370f8b6fb8972cf;hpb=78cf2dcb9be8128af7f8dc5ae37540c9c53c6057;p=spider.git diff --git a/cmd/show/station.pl b/cmd/show/station.pl index a79e93a8..68a14375 100644 --- a/cmd/show/station.pl +++ b/cmd/show/station.pl @@ -13,9 +13,18 @@ my $call; my $seek; push @f, $self->call unless @f; -if (@f == 1 && uc $f[0] eq 'ALL') { - return (1, $self->msg('e6')) if ($self->priv < 6); - my @calls = DXUser::get_all_calls(); +if (@f <= 2 && uc $f[0] eq 'ALL') { + return (1, $self->msg('e6')) if @f == 1 && $self->priv < 6; + return (1, $self->msg('e6')) if $self->priv < 5 || $f[1] eq '*'; + shift @f; + my $exp = shellregex(uc shift @f) if @f; + my @calls; + if ($exp) { + @calls = grep {m{$exp}} DXUser::get_all_calls(); + } else { + @calls = DXUser::get_all_calls(); + } + foreach $call (@calls) { my $ref = DXUser->get_current($call); next if !$ref; @@ -61,7 +70,7 @@ if (@f == 1 && uc $f[0] eq 'ALL') { } my $cref = Route::get($call); - my $seek = join(',', $cref->parents) if $cref; + my $seek = $cref->isa('Route::Node') ? $call : join(',', $ref->parents) if $cref; if ($seek) { push @out, "User : $call (at $seek)";