#!/usr/local/bin/perl
# Update proxying settings
require './virtual-server-lib.pl';
&ReadParse();
$d = &get_domain($in{'dom'});
$oldd = { %$d };
&can_edit_domain($d) && &can_edit_forward() || &error($text{'edit_ecannot'});
# Validate inputs
&error_setup($text{'proxy_err'});
if ($in{'enabled'}) {
# Activate or update
$d->{'proxy_pass_mode'} = 1;
$in{'url'} =~ /^(http|https):\/\/\S+$/ || &error($text{'frame_eurl'});
$d->{'proxy_pass'} = $in{'url'};
}
else {
# Turn off
$d->{'proxy_pass_mode'} = 0;
$d->{'proxy_pass'} = undef;
}
# Run the before command
&set_domain_envs(\%oldd, "MODIFY_DOMAIN");
$merr = &making_changes();
&reset_domain_envs($d);
&error(&text('rename_emaking', "$merr")) if (defined($merr));
&ui_print_unbuffered_header(&domain_in($d), $text{'proxy_title'}, "");
&modify_web($d, $oldd);
if ($d->{'ssl'}) {
&modify_ssl($d, $oldd);
}
# Save the domain
print $text{'save_domain'},"
\n";
&save_domain($d);
print $text{'setup_done'},"
\n"; # Run the after command &run_post_actions(); &set_domain_envs($d, "MODIFY_DOMAIN"); &made_changes(); &reset_domain_envs($d); &webmin_log("proxy", "domain", $d->{'dom'}, $d); &ui_print_footer(&domain_footer_link($d), "", $text{'index_return'});