diff --git a/etc/inc/captiveportal.inc b/etc/inc/captiveportal.inc index a44a99314b..710788be8f 100644 --- a/etc/inc/captiveportal.inc +++ b/etc/inc/captiveportal.inc @@ -962,12 +962,12 @@ function captiveportal_passthrumac_configure_entry($macent, $pipeinrule = false) $bwUp = 0; if (!empty($macent['bw_up'])) $bwUp = $macent['bw_up']; - else if (isset($config['captiveportal'][$cpzone]['bwdefaultup'])) + else if (!empty($config['captiveportal'][$cpzone]['bwdefaultup'])) $bwUp = $config['captiveportal'][$cpzone]['bwdefaultup']; $bwDown = 0; if (!empty($macent['bw_down'])) $bwDown = $macent['bw_down']; - else if (isset($config['captiveportal'][$cpzone]['bwdefaultdn'])) + else if (!empty($config['captiveportal'][$cpzone]['bwdefaultdn'])) $bwDown = $config['captiveportal'][$cpzone]['bwdefaultdn']; $ruleno = captiveportal_get_next_ipfw_ruleno(); @@ -1076,12 +1076,12 @@ function captiveportal_allowedip_configure_entry($ipent, $ishostname = false) { $enBwup = 0; if (!empty($ipent['bw_up'])) $enBwup = intval($ipent['bw_up']); - else if (isset($config['captiveportal'][$cpzone]['bwdefaultup'])) + else if (!empty($config['captiveportal'][$cpzone]['bwdefaultup'])) $enBwup = $config['captiveportal'][$cpzone]['bwdefaultup']; $enBwdown = 0; if (!empty($ipent['bw_down'])) $enBwdown = intval($ipent['bw_down']); - else if (isset($config['captiveportal'][$cpzone]['bwdefaultdn'])) + else if (!empty($config['captiveportal'][$cpzone]['bwdefaultdn'])) $enBwdown = $config['captiveportal'][$cpzone]['bwdefaultdn']; $pipeno = captiveportal_get_next_dn_ruleno(); @@ -1801,12 +1801,12 @@ function captiveportal_reapply_attributes($cpentry, $attributes) { global $config, $cpzone, $g; if (isset($config['captiveportal'][$cpzone]['peruserbw'])) { - $dwfaultbw_up = isset($config['captiveportal'][$cpzone]['bwdefaultup']) ? $config['captiveportal'][$cpzone]['bwdefaultup'] : 0; - $dwfaultbw_down = isset($config['captiveportal'][$cpzone]['bwdefaultdn']) ? $config['captiveportal'][$cpzone]['bwdefaultdn'] : 0; + $dwfaultbw_up = !empty($config['captiveportal'][$cpzone]['bwdefaultup']) ? $config['captiveportal'][$cpzone]['bwdefaultup'] : 0; + $dwfaultbw_down = !empty($config['captiveportal'][$cpzone]['bwdefaultdn']) ? $config['captiveportal'][$cpzone]['bwdefaultdn'] : 0; } else $dwfaultbw_up = $dwfaultbw_down = 0; - $bw_up = isset($attributes['bw_up']) ? round(intval($attributes['bw_up'])/1000, 2) : $dwfaultbw_up; - $bw_down = isset($attributes['bw_down']) ? round(intval($attributes['bw_down'])/1000, 2) : $dwfaultbw_down; + $bw_up = !empty($attributes['bw_up']) ? round(intval($attributes['bw_up'])/1000, 2) : $dwfaultbw_up; + $bw_down = !empty($attributes['bw_down']) ? round(intval($attributes['bw_down'])/1000, 2) : $dwfaultbw_down; $bw_up_pipeno = $cpentry[1]; $bw_down_pipeno = $cpentry[1]+1; @@ -1982,12 +1982,12 @@ function portal_allow($clientip,$clientmac,$username,$password = null, $attribut } if (isset($config['captiveportal'][$cpzone]['peruserbw'])) { - $dwfaultbw_up = isset($config['captiveportal'][$cpzone]['bwdefaultup']) ? $config['captiveportal'][$cpzone]['bwdefaultup'] : 0; - $dwfaultbw_down = isset($config['captiveportal'][$cpzone]['bwdefaultdn']) ? $config['captiveportal'][$cpzone]['bwdefaultdn'] : 0; + $dwfaultbw_up = !empty($config['captiveportal'][$cpzone]['bwdefaultup']) ? $config['captiveportal'][$cpzone]['bwdefaultup'] : 0; + $dwfaultbw_down = !empty($config['captiveportal'][$cpzone]['bwdefaultdn']) ? $config['captiveportal'][$cpzone]['bwdefaultdn'] : 0; } else $dwfaultbw_up = $dwfaultbw_down = 0; - $bw_up = isset($attributes['bw_up']) ? round(intval($attributes['bw_up'])/1000, 2) : $dwfaultbw_up; - $bw_down = isset($attributes['bw_down']) ? round(intval($attributes['bw_down'])/1000, 2) : $dwfaultbw_down; + $bw_up = !empty($attributes['bw_up']) ? round(intval($attributes['bw_up'])/1000, 2) : $dwfaultbw_up; + $bw_down = !empty($attributes['bw_down']) ? round(intval($attributes['bw_down'])/1000, 2) : $dwfaultbw_down; $bw_up_pipeno = $pipeno; $bw_down_pipeno = $pipeno + 1; diff --git a/usr/local/www/services_captiveportal.php b/usr/local/www/services_captiveportal.php index c88f6afe31..8c1487b4e1 100644 --- a/usr/local/www/services_captiveportal.php +++ b/usr/local/www/services_captiveportal.php @@ -339,8 +339,14 @@ if ($_POST) { $newcp['preauthurl'] = $_POST['preauthurl']; $newcp['blockedmacsurl'] = $_POST['blockedmacsurl']; $newcp['peruserbw'] = $_POST['peruserbw'] ? true : false; - $newcp['bwdefaultdn'] = $_POST['bwdefaultdn']; - $newcp['bwdefaultup'] = $_POST['bwdefaultup']; + if (isset($_POST['bwdefaultdn'])) + $newcp['bwdefaultdn'] = $_POST['bwdefaultdn']; + else + unset($newcp['bwdefaultdn']); + if (isset($_POST['bwdefaultup'])) + $newcp['bwdefaultup'] = $_POST['bwdefaultup']; + else + unset($newcp['bwdefaultup']); $newcp['certref'] = $_POST['certref']; $newcp['nohttpsforwards'] = $_POST['nohttpsforwards'] ? true : false; $newcp['logoutwin_enable'] = $_POST['logoutwin_enable'] ? true : false;