diff options
-rw-r--r-- | usr/local/www/widgets/widgets/captive_portal_status.widget.php | 31 |
1 files changed, 17 insertions, 14 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 b9d7933..67e5f20 100644 --- a/usr/local/www/widgets/widgets/captive_portal_status.widget.php +++ b/usr/local/www/widgets/widgets/captive_portal_status.widget.php @@ -55,22 +55,25 @@ function clientcmp($a, $b) { return strcmp($a[$order], $b[$order]); } -$cpdb = array(); -if (file_exists("{$g['vardb_path']}/captiveportal.db")) { - $captiveportallck = lock('captiveportaldb'); - $cpcontents = file("{$g['vardb_path']}/captiveportal.db", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); - unlock($captiveportallck); -} else - $cpcontents = array(); +if (!is_array($config['captiveportal'])) + $config['captiveportal'] = array(); +$a_cp =& $config['captiveportal']; -$concurrent = count($cpcontents); +$cpdb = array(); -foreach ($cpcontents as $cpcontent) { - $cpent = explode(",", $cpcontent); - $sessionid = $cpent[5]; - if ($_GET['showact']) - $cpent[5] = captiveportal_get_last_activity($cpent[2]); - $cpdb[$sessionid] = $cpent; +foreach ($a_cp as $cpzone => $cp) { + if (file_exists("{$g['vardb_path']}/captiveportal_{$cpzone}.db")) { + $captiveportallck = lock('captiveportaldb'); + $cpcontents = file("{$g['vardb_path']}/captiveportal_{$cpzone}.db", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); + unlock($captiveportallck); + foreach ($cpcontents as $cpcontent) { + $cpent = explode(",", $cpcontent); + $sessionid = $cpent[5]; + if ($_GET['showact']) + $cpent[5] = captiveportal_get_last_activity($cpent[2]); + $cpdb[$sessionid] = $cpent; + } + } } if ($_GET['order']) { |