53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
<?php
 | 
						|
 | 
						|
// Jilo components status checks
 | 
						|
//
 | 
						|
 | 
						|
require '../app/classes/agent.php';
 | 
						|
$agentObject = new Agent($dbWeb);
 | 
						|
 | 
						|
include '../app/templates/status-server.php';
 | 
						|
 | 
						|
foreach ($platformsAll as $platform) {
 | 
						|
 | 
						|
    include '../app/templates/status-platform.php';
 | 
						|
 | 
						|
    $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']: '';
 | 
						|
 | 
						|
        // we get agent data to check availability
 | 
						|
        $agent_response = $agentObject->fetchAgent($agent['id'], true);
 | 
						|
        $agent_data = json_decode($agent_response);
 | 
						|
 | 
						|
        if (json_last_error() === JSON_ERROR_NONE) {
 | 
						|
            $agent_availability = '<span class="text-warning">unknown</span>';
 | 
						|
            foreach ($agent_data as $key => $value) {
 | 
						|
                if ($key === 'error') {
 | 
						|
                    $agent_availability = '<span class="text-danger">' . htmlspecialchars($value) . '</span>';
 | 
						|
                    break;
 | 
						|
                }
 | 
						|
                if (preg_match('/_state$/', $key)) {
 | 
						|
                    if ($value === 'error') {
 | 
						|
                        $agent_availability = '<span class="text-danger">not running</span>';
 | 
						|
                        break;
 | 
						|
                    }
 | 
						|
                    if ($value === 'running') {
 | 
						|
                        $agent_availability = '<span class="text-success">running</span>';
 | 
						|
                        break;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        } else {
 | 
						|
            $agent_availability = 'json error';
 | 
						|
        }
 | 
						|
 | 
						|
        include '../app/templates/status-agent.php';
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
?>
 |