Also look in the next-highest directory when detecting VCS; add SVN
[interchange.git] / code / UI_Tag / list_databases.coretag
1 # Copyright 2002-2007 Interchange Development Group and others
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.  See the LICENSE file for details.
7
8 UserTag list-databases Order   nohide extended
9 UserTag list-databases Version 1.5
10 UserTag list-databases routine <<EOR
11 sub {
12         my $nohide = shift;
13         my $extended = shift || '';
14         $extended = "=$extended" if $extended;
15         my @dbs;
16         my $d = $Vend::Cfg->{Database};
17         @dbs = sort keys %$d;
18
19         GENDBLIST: {
20                 last GENDBLIST if $nohide;
21                 my @outdb;
22                 my $record =  ui_acl_enabled();
23                 last GENDBLIST if $record and $record->{super};
24                 undef $record
25                         unless ref($record)
26                                    and $record->{yes_tables} || $record->{no_tables};
27
28                 for(@dbs) {
29                         if($record) {
30                                 next if $record->{no_tables}
31                                         and ui_check_acl($_, $record->{no_tables});
32                                 my $check = "$_$extended";
33                                 next if $record->{yes_tables}
34                                         and ! ui_check_acl($check, $record->{yes_tables});
35                         }
36                         push @outdb, $_;
37                 }
38
39                 @dbs = $nohide ? (@dbs) : (@outdb);
40         }
41
42         return @dbs if wantarray;
43         my $string = join " ", grep /\S/, @dbs;
44         return $string;
45 }
46 EOR