diff options
Diffstat (limited to 'src/usr/local/www/vpn_ipsec_settings.php')
-rw-r--r-- | src/usr/local/www/vpn_ipsec_settings.php | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/src/usr/local/www/vpn_ipsec_settings.php b/src/usr/local/www/vpn_ipsec_settings.php index 4360837..9e21937 100644 --- a/src/usr/local/www/vpn_ipsec_settings.php +++ b/src/usr/local/www/vpn_ipsec_settings.php @@ -33,16 +33,7 @@ require_once("shaper.inc"); require_once("ipsec.inc"); require_once("vpn.inc"); -$def_loglevel = '1'; - -foreach (array_keys($ipsec_log_cats) as $cat) { - if (isset($config['ipsec']['logging'][$cat])) { - $pconfig[$cat] = $config['ipsec']['logging'][$cat]; - } else { - $pconfig[$cat] = $def_loglevel; - } -} - +$pconfig['logging'] = ipsec_get_loglevels(); $pconfig['unityplugin'] = isset($config['ipsec']['unityplugin']); $pconfig['strictcrlpolicy'] = isset($config['ipsec']['strictcrlpolicy']); $pconfig['makebeforebreak'] = isset($config['ipsec']['makebeforebreak']); @@ -59,8 +50,10 @@ if ($_POST) { $pconfig = $_POST; foreach ($ipsec_log_cats as $cat => $desc) { - if (!in_array(intval($pconfig[$cat]), array_keys($ipsec_log_sevs), true)) { + if (!in_array(intval($pconfig['logging_' . $cat]), array_keys($ipsec_log_sevs), true)) { $input_errors[] = sprintf(gettext("A valid value must be specified for %s debug."), $desc); + } else { + $pconfig['logging'][$cat] = $pconfig['logging_' . $cat]; } } @@ -79,12 +72,12 @@ if ($_POST) { * get set when we save, even if it's to the default level. */ foreach (array_keys($ipsec_log_cats) as $cat) { - if (!isset($pconfig[$cat])) { + if (!isset($pconfig['logging'][$cat])) { continue; } - if ($pconfig[$cat] != $config['ipsec']['logging'][$cat]) { - $config['ipsec']['logging'][$cat] = $pconfig[$cat]; - vpn_update_daemon_loglevel($cat, $pconfig[$cat]); + if ($pconfig['logging'][$cat] != $config['ipsec']['logging'][$cat]) { + $config['ipsec']['logging'][$cat] = $pconfig['logging'][$cat]; + vpn_update_daemon_loglevel($cat, $pconfig['logging'][$cat]); } } @@ -172,20 +165,11 @@ if ($_POST) { write_config(); + $changes_applied = true; $retval = 0; - $retval = filter_configure(); - if (stristr($retval, "error") <> true) { - $savemsg = get_std_save_message(gettext($retval)); - $class = 'success'; - } else { - $savemsg = gettext($retval); - $class = 'warning'; - } + $retval |= filter_configure(); vpn_ipsec_configure($needsrestart); - - header("Location: vpn_ipsec_settings.php"); - return; } // The logic value sent by $POST for autoexcludelanaddress is opposite to @@ -220,8 +204,8 @@ function maxmss_checked(obj) { </script> <?php -if ($savemsg) { - print_info_box($savemsg, $class); +if ($changes_applied) { + print_apply_result_box($retval); } if ($input_errors) { @@ -241,9 +225,9 @@ $section = new Form_Section('IPsec Logging Controls'); foreach ($ipsec_log_cats as $cat => $desc) { $section->addInput(new Form_Select( - $cat, + 'logging_' . $cat, $desc, - $pconfig[$cat], + $pconfig['logging'][$cat], $ipsec_log_sevs ))->setWidth(2); } |