#!/usr/local/bin/perl # edit_table.cgi # Display the structure of some table require './postgresql-lib.pl'; &ReadParse(); &can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'}); $desc = &text('table_header', "$in{'table'}", "$in{'db'}"); &ui_print_header($desc, $text{'table_title'}, "", "edit_table"); @desc = &table_structure($in{'db'}, $in{'table'}); print "
\n"; print "\n"; print "\n"; $mid = int((@desc / 2)+0.5); print "
\n"; &type_table(0, $mid); print "\n"; &type_table($mid, scalar(@desc)) if (@desc > 1); print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; if (!&can_drop_fields()) { print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; } # Create index button if (&supports_indexes() && $access{'indexes'}) { print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; } print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
\n"; print "
\n"; print "
\n"; print "
\n"; print "
\n"; print "
\n"; print "
\n"; &ui_print_footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'}, "", $text{'index_return'}); sub type_table { print "\n"; print " ", " ", " ", "\n"; local $i; for($i=$_[0]; $i<$_[1]; $i++) { local $r = $desc[$i]; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "\n"; } print "
$text{'table_field'}$text{'table_type'}$text{'table_arr'}$text{'table_null'}
",&html_escape($r->{'field'}),"",&html_escape($r->{'type'}),"",$r->{'arr'} eq 'YES' ? $text{'yes'} : $text{'no'},"",$r->{'null'} eq 'YES' ? $text{'yes'} : $text{'no'},"
\n"; }