diff --git a/admin/health_check.php b/admin/health_check.php
index d99d85b6c176..727e68a17826 100644
--- a/admin/health_check.php
+++ b/admin/health_check.php
@@ -193,17 +193,78 @@ function _isAPPInstalled($appName)
$messages['Server'][] = ["Scheduler plugin crontab is NOT runing", Scheduler::getCronHelp() . '
' . $reason];
}
-$ports = json_decode(checkPorts());
-$ports = object_to_array($ports);
+$messages['portsExternal'] = array();
+$messages['portsInternal'] = array();
+
$varables = getPorts();
-foreach ($ports['ports'] as $key => $value) {
- $name = $varables[$value['port']];
- if ($value['isOpen']) {
- $messages['Server'][] = "{$name} Port {$value['port']} is open";
+foreach ($varables as $port => $name) {
+ $isOpen = isPortOpenExternal($port, 4);
+ if ($isOpen) {
+ $messages['portsExternal'][] = "{$name} (Port {$port}) is externally accessible.";
+ } else {
+ $messages['portsExternal'][] = ["{$name} (Port {$port}) is not externally accessible."];
+ }
+ $isOpen = isLocalPortOpen($port);
+ if ($isOpen) {
+ $messages['portsInternal'][] = "{$name} (Port {$port}) is accessible within the local network.";
} else {
- $messages['Server'][] = ["{$name} Port {$value['port']} is closed"];
+ $messages['portsInternal'][] = ["{$name} (Port {$port}) is not accessible within the local network."];
}
}
+
+function printMessages($messages, $cols = array(4, 6))
+{
+?>
+