diff options
Diffstat (limited to 'usr/local/www/widgets/widgets')
-rw-r--r-- | usr/local/www/widgets/widgets/captive_portal_status.widget.php | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/usr/local/www/widgets/widgets/captive_portal_status.widget.php b/usr/local/www/widgets/widgets/captive_portal_status.widget.php index 6c699ab..4726ba1 100644 --- a/usr/local/www/widgets/widgets/captive_portal_status.widget.php +++ b/usr/local/www/widgets/widgets/captive_portal_status.widget.php @@ -47,10 +47,21 @@ require_once("captiveportal.inc"); <?php -if (($_GET['act'] == "del") && (!empty($_GET['zone']))) { - $cpzone = $_GET['zone']; +if (!is_array($config['captiveportal'])) + $config['captiveportal'] = array(); +$a_cp =& $config['captiveportal']; + +$cpzone = $_GET['zone']; +if (isset($_POST['zone'])) + $cpzone = $_POST['zone']; + +if (isset($cpzone) && !empty($cpzone) && isset($a_cp[$cpzone]['zoneid'])) + $cpzoneid = $a_cp[$cpzone]['zoneid']; + +if (($_GET['act'] == "del") && !empty($cpzone) && isset($cpzoneid)) { captiveportal_disconnect_client($_GET['id']); } +unset($cpzone); flush(); @@ -59,10 +70,6 @@ function clientcmp($a, $b) { return strcmp($a[$order], $b[$order]); } -if (!is_array($config['captiveportal'])) - $config['captiveportal'] = array(); -$a_cp =& $config['captiveportal']; - $cpdb_all = array(); foreach ($a_cp as $cpzone => $cp) { |