| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/postgresql/ |
Upload File : |
#!/usr/bin/perl
# save_field.cgi
# Create or rename a field
require './postgresql-lib.pl';
&ReadParse();
&can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
$qt = "e_table($in{'table'});
if ($in{'delete'}) {
# Attempt to remove field
&error_setup($text{'field_err1'});
&execute_sql_logged($in{'db'}, "alter table $qt ".
"drop column \"$in{'old'}\"");
}
else {
# Validate inputs
&error_setup($text{'field_err2'});
$in{'field'} =~ /^\S+$/ || &error(&text('field_efield', $in{'field'}));
if ($in{'new'}) {
# Add field
if (defined($in{'size'})) {
$in{'size'} =~ /^\d+(,\d+)?$/ ||
&error(&text('field_esize', $in{'size'}));
$size = "($in{'size'})";
}
$arr = $in{'arr'} ? "[]" : "";
&execute_sql_logged($in{'db'}, "alter table $qt add ".
"\"$in{'field'}\" $in{'type'}$size$arr");
}
elsif ($in{'old'} ne $in{'field'}) {
# Rename field
&execute_sql_logged($in{'db'}, "alter table $qt rename ".
"\"$in{'old'}\" to \"$in{'field'}\"");
}
}
&redirect("edit_table.cgi?db=$in{'db'}&table=$in{'table'}");