Handle hostnames with upper-case letters
[webmin.git] / postgresql / table_form.cgi
1 #!/usr/local/bin/perl
2 # table_form.cgi
3 # Display a form for creating a table
4
5 require './postgresql-lib.pl';
6 &ReadParse();
7 &can_edit_db($in{'db'}) || &error($text{'dbase_ecannot'});
8
9 # Redirect to other pages depending on button
10 if ($in{'addview'}) {
11         &redirect("edit_view.cgi?new=1&db=".&urlize($in{'db'}));
12         return;
13         }
14 elsif ($in{'addseq'}) {
15         &redirect("edit_seq.cgi?new=1&db=".&urlize($in{'db'}));
16         return;
17         }
18 elsif ($in{'dropdb'}) {
19         &redirect("drop_dbase.cgi?db=".&urlize($in{'db'}));
20         return;
21         }
22 elsif ($in{'backupdb'}) {
23         &redirect("backup_form.cgi?db=".&urlize($in{'db'}));
24         return;
25         }
26 elsif ($in{'restoredb'}) {
27         &redirect("restore_form.cgi?db=".&urlize($in{'db'}));
28         return;
29         }
30 elsif ($in{'exec'}) {
31         &redirect("exec_form.cgi?db=".&urlize($in{'db'}));
32         return;
33         }
34
35 $desc = "<tt>$in{'db'}</tt>";
36 &ui_print_header($desc, $text{'table_title2'}, "", "table_form");
37
38 # Start of form block
39 print &ui_form_start("create_table.cgi", "post");
40 print &ui_hidden("db", $in{'db'});
41 print &ui_table_start($text{'table_header2'}, undef, 2);
42
43 # Table name
44 print &ui_table_row($text{'table_name'},
45         &ui_textbox("name", undef, 40));
46
47 # Initial fields
48 @type_list = &list_types();
49 for($i=0; $i<(int($in{'fields'}) || 4); $i++) {
50         push(@table, [
51                 &ui_textbox("field_$i", undef, 30),
52                 &ui_select("type_$i", undef,
53                            [ [ undef, '&nbsp;' ], @type_list ]),
54                 &ui_textbox("size_$i", undef, 10),
55                 &ui_checkbox("arr_$i", 1, $text{'table_arr'}, 0)." ".
56                 &ui_checkbox("null_$i", 1, $text{'field_null'}, 1)." ".
57                 &ui_checkbox("key_$i", 1, $text{'field_key'}, 0)." ".
58                 &ui_checkbox("uniq_$i", 1, $text{'field_uniq'}, 0),
59                 ]);
60         }
61 print &ui_table_row($text{'table_initial'},
62         &ui_columns_table([ $text{'field_name'}, $text{'field_type'},
63                             $text{'field_size'}, $text{'table_opts'} ],
64                           undef, \@table));
65
66 print &ui_table_end();
67 print &ui_form_end([ [ undef, $text{'create'} ] ]);
68
69 &ui_print_footer("edit_dbase.cgi?db=$in{'db'}", $text{'dbase_return'});
70