2 # Shows a form for adding a new zone
4 require './zones-lib.pl';
8 $p = new Webmin::Page(undef, $text{'create_title'}, "create");
9 $p->add_form(&get_create_form(\%in));
10 $p->add_footer("index.cgi", $text{'index_return'});
14 &ui_print_header(undef, $text{'create_title'}, "", "create");
15 &foreign_require("time", "time-lib.pl");
17 print &ui_form_start("create_zone.cgi", "post");
18 print &ui_table_start($text{'create_header'}, undef, 2);
20 print &ui_table_row($text{'edit_name'},
21 &ui_textbox("name", undef, 20));
23 print &ui_table_row($text{'create_path'},
24 &ui_opt_textbox("path", undef, 30,
25 &text('create_auto', $config{'base_dir'}),
26 $text{'create_sel'})."\n".
27 &file_chooser_button("path", 1));
29 print &ui_table_row($text{'create_brand'},
30 &ui_select("brand",undef, [ &list_brands() ], 0, 0, $value ? 1 : 0));
32 print &ui_table_row($text{'create_address'},
33 &ui_opt_textbox("address", undef, 20,
34 $text{'create_noaddress'}));
36 print &ui_table_row($text{'net_physical'},
37 &physical_input("physical", &get_default_physical()));
39 print &ui_table_row($text{'create_install'},
40 &ui_yesno_radio("install", 0));
42 print &ui_table_row($text{'create_webmin'},
43 &ui_yesno_radio("webmin", 0));
45 print &ui_table_row($text{'pkg_inherit'},
46 &ui_yesno_radio("inherit", 0));
48 print &ui_table_row($text{'create_pkgs'},
49 &ui_textarea("pkgs", undef, 5, 50));
53 print &ui_table_row($text{'create_cfg'},
54 &ui_radio("cfg", 1, [ [ 1, $text{'create_cfgyes'} ],
55 [ 0, $text{'create_cfgno'} ] ]));
57 print &ui_table_row($text{'create_hostname'},
58 &ui_opt_textbox("hostname", undef, 20,
59 $text{'create_samehost'}));
61 print &ui_table_row($text{'create_root'},
62 &ui_opt_textbox("root", undef, 15, $text{'create_same'}));
64 $tz = &time::get_current_timezone();
65 print &ui_table_row($text{'create_timezone'},
66 &ui_opt_textbox("timezone", undef, 25,
67 &text('create_same2', $tz)));
69 $locale = &get_global_locale();
70 print &ui_table_row($text{'create_locale'},
71 &ui_opt_textbox("locale", undef, 10,
72 &text('create_same2', $locale)));
74 print &ui_table_row($text{'create_terminal'},
75 &ui_opt_textbox("terminal", undef, 10,
76 $text{'create_vt100'}));
78 $dns = &net::get_dns_config();
79 ($resolv) = grep { $_ ne "files" } split(/\s+/, $dns->{'order'});
81 print &ui_table_row($text{'create_name'},
82 &ui_radio("resolv", $resolv, [ [ "none", $text{'create_none'} ],
83 [ "dns", $text{'create_dns'} ],
84 [ "nis", $text{'create_nis'} ],
85 [ "nis+", $text{'create_nis+'} ],
88 $domain = $resolv eq "dns" ? $dns->{'domain'}->[0] :
89 $resolv eq "nis" || $resolv eq "nis+" ? &net::get_domainname()
91 print &ui_table_row($text{'create_domain'},
92 &ui_textbox("domain", $domain, 20));
94 if ($resolv eq "dns") {
95 @servers = map { &to_hostname($_) || $_ }
96 @{$dns->{'nameserver'}};
97 $server = join(" ", @servers);
99 elsif ($resolv eq "nis" || $resolv eq "nis+") {
103 print &ui_table_row($text{'create_server'},
104 &ui_textbox("server", $server, 40));
106 ($router) = &net::get_default_gateway();
108 # Use active settings
109 foreach $r (&net::list_routes()) {
110 $router = $r->{'gateway'} if ($r->{'dest'} eq '0.0.0.0');
113 print &ui_table_row($text{'create_router'},
114 &ui_opt_textbox("router", $router, 20,
115 $text{'create_none'}));
117 print &ui_table_end();
118 print &ui_form_end([ [ "ok", $text{'create_ok'} ] ]);
120 &ui_print_footer("index.cgi", $text{'index_return'});