diff --git a/src/www/widgets/widgets/ipsec.widget.php b/src/www/widgets/widgets/ipsec.widget.php index 2143c1d01..f5af6f021 100644 --- a/src/www/widgets/widgets/ipsec.widget.php +++ b/src/www/widgets/widgets/ipsec.widget.php @@ -38,13 +38,14 @@ $ipsec_leases = array(); if (isset($config['ipsec']['phase1'])) { $ipsec_leases = json_decode(configd_run("ipsec list leases"), true); - if ($ipsec_leases == null) { - $ipsec_leases = array(); + if (!is_array($ipsec_leases) || empty($ipsec_leases['leases'])) { + $ipsec_leases = []; + } else { + $ipsec_leases = $ipsec_leases['leases']; } - $ipsec_status = json_decode(configd_run("ipsec list status"), true); if ($ipsec_status == null) { - $ipsec_status = array(); + $ipsec_status = []; } // parse configured tunnels @@ -141,14 +142,12 @@ if (isset($config['ipsec']['phase2'])) { $pool_details) { - foreach ($pool_details['items'] as $lease) { - if ($lease['status'] == 'online') { - ++$mobile_users; - } + foreach ($ipsec_leases as $lease) { + if ($lease['online']) { + ++$mobile_users; } } -?> + ?> @@ -194,18 +193,16 @@ if (isset($config['ipsec']['phase2'])) { $pool_details): - foreach ($pool_details['items'] as $lease): ?> + foreach ($ipsec_leases as $lease):?> - "> + ">