diff --git a/app/classes/agent.php b/app/classes/agent.php
index dd60994..5bc9f73 100644
--- a/app/classes/agent.php
+++ b/app/classes/agent.php
@@ -286,7 +286,7 @@ class Agent {
$base64Url_payload = $this->base64UrlEncode($payload);
// signature
- $signature = hash_hmac('sha256', $base64Url_header . "." . $base64Url_payload, $secret_key, true);
+ $signature = hash_hmac('sha256', $base64Url_header . "." . $base64Url_payload, $secret_key ?? '', true);
$base64Url_signature = $this->base64UrlEncode($signature);
// build the JWT
diff --git a/app/pages/status.php b/app/pages/status.php
index 77c9bbb..7ac45ff 100644
--- a/app/pages/status.php
+++ b/app/pages/status.php
@@ -13,7 +13,9 @@ include '../app/includes/messages.php';
include '../app/includes/messages-show.php';
require '../app/classes/agent.php';
+require '../app/classes/host.php';
$agentObject = new Agent($dbWeb);
+$hostObject = new Host($dbWeb);
include '../app/templates/status-server.php';
@@ -25,49 +27,58 @@ foreach ($platformsAll as $platform) {
if ($response['error'] !== null) {
$jilo_database_status = $response['error'];
} else {
- $jilo_database_status = 'OK';
+ $jilo_database_status = 'Connected';
}
include '../app/templates/status-platform.php';
- // fetch agent details for the current platform
- $agentDetails = $agentObject->getAgentDetails($platform['id']);
- foreach ($agentDetails as $agent) {
- $agent_url = parse_url($agent['url']);
- $agent_protocol = isset($agent_url['scheme']) ? $agent_url['scheme']: '';
- $agent_host = isset($agent_url['host']) ? $agent_url['host']: '';
- $agent_port = isset($agent_url['port']) ? $agent_url['port']: '';
+ // fetch hosts for the current platform
+ $hostDetails = $hostObject->getHostDetails($platform['id']);
+ foreach ($hostDetails as $host) {
+ // fetch agent details for the current host
+ $agentDetails = $agentObject->getAgentDetails($host['id']);
+ foreach ($agentDetails as $agent) {
+ // we try to parse the URL to scheme:/host:port
+ $agent_url = parse_url($agent['url']);
+ $agent_protocol = isset($agent_url['scheme']) ? $agent_url['scheme']: '';
+ // on failure we keep the full value for displaying purpose
+ $agent_host = isset($agent_url['host']) ? $agent_url['host']: $agent['url'];
+ $agent_port = isset($agent_url['port']) ? $agent_url['port']: '';
- // we get agent data to check availability
- $agent_response = $agentObject->fetchAgent($agent['id'], true);
- $agent_data = json_decode($agent_response);
+ // we get agent data to check availability
+ $agent_response = $agentObject->fetchAgent($agent['id'], true);
+ $agent_data = json_decode($agent_response);
- // determine agent availability based on response data
- if (json_last_error() === JSON_ERROR_NONE) {
- $agent_availability = 'unknown';
- foreach ($agent_data as $key => $value) {
- if ($key === 'error') {
- $agent_availability = $value;
- break;
- }
- if (preg_match('/_state$/', $key)) {
- if ($value === 'error') {
- $agent_availability = 'not running';
+ // determine agent availability based on response data
+ if (json_last_error() === JSON_ERROR_NONE) {
+ $agent_availability = 'unknown';
+ foreach ($agent_data as $key => $value) {
+ if ($key === 'error') {
+ $agent_availability = $value;
break;
}
- if ($value === 'running') {
- $agent_availability = 'running';
- break;
+ if (preg_match('/_state$/', $key)) {
+ if ($value === 'error') {
+ $agent_availability = 'not running';
+ break;
+ }
+ if ($value === 'running') {
+ $agent_availability = 'running';
+ break;
+ }
}
}
+ } else {
+ $agent_availability = 'json error';
}
- } else {
- $agent_availability = 'json error';
- }
- include '../app/templates/status-agent.php';
+ include '../app/templates/status-agent.php';
+ }
}
- echo '';
- echo '';
+ echo "\n\t\t\t\t\t\t\t\n";
}
+echo "\n\t\t\t\t\t\t";
+echo "\n\t\t\t\t\t";
+echo "\n\t\t\t\t";
+
?>
diff --git a/app/templates/page-footer.php b/app/templates/page-footer.php
index b7fb1e2..9eb3d6d 100644
--- a/app/templates/page-footer.php
+++ b/app/templates/page-footer.php
@@ -12,14 +12,13 @@
-
+
-
-