sort our priv levels in a more sophisticated way
[spider.git] / cmd / show / station.pl
index a79e93a8901572369718f984b370f8b6fb8972cf..d9f2b9d10d631f8feb433b5aec0f67159546b567 100644 (file)
@@ -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;