[tmp page_perm]techadmin[/tmp] [tmp page_title]Administration: [data session arg] table information[/tmp] [tmp page_banner][calc]$Config->{CatalogName}[/calc] table information [if session arg]([data session arg])[/if][/tmp] [set ui_class]Admin[/set] [tmp help_name]genconfig.main[/tmp] [tmp icon_name]icon_config.gif[/tmp] @_UI_STD_HEAD_@
[perl tables="[list-databases] __UI_META_TABLE__"] my @tables; if($Session->{arg}) { @tables = split /[\s,\0]+/, $Session->{arg}; } else { @tables = sort keys %{$Config->{Database}}; } my $mdb = $Db{__UI_META_TABLE__}; my %ignore; my @ignore = qw/ Class db_file db_file_extended db_file_extended db_text dir DSN dsn_id Exists_handle EXTENDED file _Insert_h name Object Read_only type Update_handle /; @ignore{@ignore} = @ignore; my %typemap = ( 1 => 'DBM/Memory, auto-detect delimiter', 2 => 'DBM/Memory, LINE delimiter', 3 => 'DBM/Memory, %% delimiter', 4 => 'DBM/Memory, CSV delimiter', 5 => 'DBM/Memory, PIPE delimiter', 6 => 'DBM/Memory, TAB delimiter', 7 => 'This should never appear (old Msql)', 8 => 'DBI/SQL', 9 => 'LDAP', ); my $tcount = 0; for (@tables) { my $tname = $_; my $bgcol = ($tcount++ % 2) ? '__UI_T_ROW_ODD__' : '__UI_T_ROW_EVEN__'; my $tinfo = ''; if($mdb and $mdb->record_exists($tname) ) { $tinfo = $mdb->field($tname, 'label'); if($tinfo) { $tinfo .= "
($tinfo)"; } } my $ref = $Config->{Database}{$_}; my $class = $ref->{Class}; my $file = $ref->{file}; my $dfile = ($class eq 'DBI' ? $ref->{db_file_extended} : $ref->{db_file}); my $dfn = $dfile; $dfile =~ s:^$Config->{ProductDir}/::o; my $dir = $ref->{DIR} || $Config->{ProductDir}; my %delim_map = ( "|" => 'PIPE', "\t" => 'TAB', "\n" => 'LINE', ); my $delim; $delim = $ref->{delimiter}; $delim = $delim_map{$delim} || $delim; my $type = $typemap{$ref->{type}}; $type .= " DSN=$ref->{DSN}" if $ref->{DSN}; my $fn = "$dir/$file"; $file .= "
mod date: " . $Tag->file_info( { name => $fn, date => 1 } ); $file .= "
file size: " . $Tag->file_info( { name => $fn, size => 1 } ); $file .= "
"; $dfile .= "
(not significant for DBI types)" if $class eq 'DBI'; $dfile .= "
mod date: " . $Tag->file_info( { name => $dfn, date => 1 } ); $dfile .= "
file size: " . $Tag->file_info( { name => $dfn, size => 1 } ); $dfile .= "
"; my $obj = $ref->{Object}; $out .= <
$tname$tinfo EOF $out .= < EOF $out .= < EOF for(sort keys %{$ref}) { next if $ignore{$_}; my $key = $_; my $r = $ref->{$_}; my $o = < EOF $out .= $o; } $out .= < EOF } return $out; [/perl]
Type $type
Class $class
Directory $dir
Text File $file
DB File $dfile
Delimiter $delim
Other
$_ EOF if(! defined $r) { $o .= "undef"; } elsif(ref($r) =~ /^ARRAY/) { my $t = join "
", @$r; $o .= $t || ' '; } elsif(ref($r) =~ /^HASH/) { my $t = ''; for(sort keys %$r) { if (! defined $r->{$_} and $key eq 'NUMERIC') { $t .= "$_
"; next; } $t .= "$_ --> $r->{$_}
"; } $o .= $t || ' '; } elsif(! defined $r) { $o .= " "; } elsif(! length($r)) { $o .= " "; } else { $o .= $r; } $o .= <
@_UI_STD_FOOTER_@