Handle hostnames with upper-case letters
[webmin.git] / apache / reconfig_form.cgi
1 #!/usr/local/bin/perl
2 # reconfig_form.cgi
3 # Displays a list of supported modules, and allows the user to pick which
4 # ones are installed in apache
5
6 require './apache-lib.pl';
7 &ReadParse();
8 $access{'global'}==1 || &error($text{'reconfig_ecannot'});
9 if ($in{'vol'}) {
10         &ui_print_header(undef, $text{'reconfig_title'}, "");
11         }
12 else {
13         &ui_print_header(undef, $text{'reconfig_title'}, "", undef, 1, 1);
14         }
15
16 # Is Apache installed OK?
17 ($ver, $mods) = &httpd_info($httpd = &find_httpd());
18 if (!$ver) {
19         print &text('reconfig_ever', "<tt>$httpd</tt>",
20                     "$gconfig{'webprefix'}/config.cgi?$module_name"),"<p>\n";
21         &ui_print_footer("/", $text{'index'});
22         exit;
23         }
24
25 # Work out which modules Apache has
26 %inst = map { $_, 1 } &configurable_modules();
27
28 # Build list of modules know to Webmin
29 push(@mods, "core");
30 opendir(DIR, ".");
31 foreach $f (readdir(DIR)) {
32         if ($f =~ /^(mod_\S+|prefork|worker|perchild|mpm_\S+)\.pl$/) { push(@mods, $1); }
33         }
34 closedir(DIR);
35 @mods = sort { $a cmp $b } @mods;
36
37 if (!$in{'vol'}) {
38         print "$text{'reconfig_desc1'}<p>\n";
39         print "$text{'reconfig_desc3'}<p>\n";
40         }
41 else {
42         print "$text{'reconfig_desc2'}<p>\n";;
43         }
44 print &ui_form_start("reconfig.cgi", "post");
45 print &ui_hidden("size", $in{'size'});
46 print &ui_hidden("ver", $ver);
47
48 @grid = ( );
49 for($i=0; $i<@mods; $i++) {
50         push(@grid, &ui_checkbox("mods", $mods[$i], $mods[$i],
51                                  $inst{$mods[$i]}));
52         }
53 print &ui_grid_table(\@grid, 4, 100);
54 print &ui_form_end([ [ "", $text{'reconfig_ok'} ] ]);
55
56 if ($in{'vol'}) { &ui_print_footer("", $text{'index_return'}); }
57 else { &ui_print_footer("/", $text{'index'}); }
58