Handle hostnames with upper-case letters
[webmin.git] / apache / allmanual_save.cgi
1 #!/usr/local/bin/perl
2 # allmanual_save.cgi
3 # Save an entire config file
4
5 require './apache-lib.pl';
6 &ReadParseMime();
7 $access{'types'} eq '*' && $access{'virts'} eq '*' ||
8         &error($text{'manual_ecannot'});
9
10 $conf = &get_config();
11 @files = &unique(map { $_->{'file'} } @$conf);
12 &indexof($in{'file'}, @files) >= 0 || &error($text{'manual_efile'});
13
14 $temp = &transname();
15 &execute_command("cp ".quotemeta($in{'file'})." $temp");
16 $in{'data'} =~ s/\r//g;
17 &lock_file($in{'file'});
18 &open_tempfile(FILE, ">$in{'file'}");
19 &print_tempfile(FILE, $in{'data'});
20 &close_tempfile(FILE);
21 &unlock_file($in{'file'});
22 if ($config{'test_manual'}) {
23         $err = &test_config();
24         if ($err) {
25                 &execute_command("mv $temp '$in{'file'}'");
26                 &error(&text('manual_etest', "<pre>$err</pre>"));
27                 }
28         }
29 unlink($temp);
30 &webmin_log("manual", undef, undef, { 'file' => $in{'file'} });
31 &redirect("");
32