2007-04-12 20:24:50 +00:00
|
|
|
#!/usr/local/bin/perl
|
|
|
|
# save_virt.cgi
|
|
|
|
# Save some kind of per-server configuration
|
|
|
|
|
|
|
|
require './apache-lib.pl';
|
|
|
|
&ReadParse();
|
|
|
|
($conf, $v) = &get_virtual_config($in{'virt'});
|
|
|
|
&can_edit_virt($v) || &error($text{'virt_ecannot'});
|
|
|
|
$access_types{$in{'type'}} || &error($text{'etype'});
|
2020-05-26 23:01:26 +03:00
|
|
|
if ($in{'type'} == 14) {
|
|
|
|
$in{'SSLProtocol'} || &error($text{'virt_eprotocol'});
|
|
|
|
}
|
2007-04-12 20:24:50 +00:00
|
|
|
$in{'type'} == 8 && !$access{'vuser'} &&
|
|
|
|
&error($text{'virt_euser'});
|
|
|
|
@edit = &editable_directives($in{'type'}, 'virtual');
|
|
|
|
if (!$in{'virt'}) {
|
|
|
|
@edit = grep { !$_->{'virtualonly'} } @edit;
|
|
|
|
}
|
2012-03-27 17:35:28 -07:00
|
|
|
if ($in{'type'} == 5 && &is_virtualmin_domain($v)) {
|
|
|
|
@edit = grep { $_->{'name'} ne 'DocumentRoot' &&
|
|
|
|
$_->{'name'} ne 'ServerPath' } @edit;
|
|
|
|
}
|
|
|
|
elsif ($in{'type'} == 1 && &is_virtualmin_domain($v)) {
|
|
|
|
@edit = grep { $_->{'name'} ne 'ServerName' &&
|
|
|
|
$_->{'name'} ne 'ServerAlias' } @edit;
|
|
|
|
}
|
2007-04-12 20:24:50 +00:00
|
|
|
|
|
|
|
&error_setup(&text('efailed', $text{"type_$in{'type'}"}));
|
|
|
|
&parse_inputs(\@edit, $conf, &get_config());
|
|
|
|
&webmin_log("virt", $in{'type'}, &virtual_name($v, 1), \%in);
|
2020-08-17 12:04:22 +03:00
|
|
|
|
2007-04-12 20:24:50 +00:00
|
|
|
&redirect("virt_index.cgi?virt=$in{'virt'}");
|