95 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			PHP
		
	
			
		
		
	
	
			95 lines
		
	
	
		
			6.6 KiB
		
	
	
	
		
			PHP
		
	
 | 
						|
<!-- agents live data -->
 | 
						|
<div class="container-fluid mt-2">
 | 
						|
    <div class="row mb-4">
 | 
						|
        <div class="col-12 mb-4">
 | 
						|
            <h2 class="mb-0">Jilo Agents on platform <?= htmlspecialchars($platform_id) ?> (<?= htmlspecialchars($platformDetails[0]['name']) ?>)</h2>
 | 
						|
            <small>Manage and monitor agents on this platform.</small>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <!-- hosts and their agents -->
 | 
						|
    <div class="row">
 | 
						|
        <?php foreach ($agentsByHost as $hostId => $hostData): ?>
 | 
						|
            <div class="col-12 mb-4">
 | 
						|
                <div class="card">
 | 
						|
                    <div class="card-header bg-light">
 | 
						|
                        <h5 class="mb-0">
 | 
						|
                            <i class="fas fa-network-wired me-2 text-secondary"></i>
 | 
						|
                            Host: <?= htmlspecialchars($hostData['host_name']) ?>
 | 
						|
                            <a href="<?= htmlspecialchars($app_root) ?>?page=settings#platform-<?= htmlspecialchars($platform_id) ?>host-<?= htmlspecialchars($hostId) ?>" class="text-decoration-none">
 | 
						|
                                <i class="fas fa-edit ms-2"></i>
 | 
						|
                            </a>
 | 
						|
                        </h5>
 | 
						|
                    </div>
 | 
						|
                    <div class="card-body">
 | 
						|
                        <?php if (empty($hostData['agents'])): ?>
 | 
						|
                            <p class="text-muted">No agents on this host.</p>
 | 
						|
                        <?php else: ?>
 | 
						|
                            <?php foreach ($hostData['agents'] as $agent): ?>
 | 
						|
                                <div class="agent-item mb-4 pb-3 border-bottom">
 | 
						|
                                    <div class="d-flex align-items-center mb-2">
 | 
						|
                                        <div class="flex-grow-1">
 | 
						|
                                            <i class="fas fa-robot me-2 text-secondary"></i>
 | 
						|
                                            <strong>Agent ID:</strong> <?= htmlspecialchars($agent['id']) ?> |
 | 
						|
                                            <strong>Type:</strong> <?= htmlspecialchars($agent['agent_type_id']) ?> (<?= htmlspecialchars($agent['agent_description']) ?>) |
 | 
						|
                                            <strong>Endpoint:</strong> <?= htmlspecialchars($agent['url']) ?><?= htmlspecialchars($agent['agent_endpoint']) ?>
 | 
						|
                                            <a href="<?= htmlspecialchars($app_root) ?>?page=settings#platform-<?= htmlspecialchars($platform_id) ?>agent-<?= htmlspecialchars($agent['id']) ?>" class="text-decoration-none">
 | 
						|
                                                <i class="fas fa-edit ms-2"></i>
 | 
						|
                                            </a>
 | 
						|
                                        </div>
 | 
						|
                                    </div>
 | 
						|
 | 
						|
                                    <div class="btn-group" role="group">
 | 
						|
                                        <button id="agent<?= htmlspecialchars($agent['id']) ?>-status" 
 | 
						|
                                                class="btn btn-primary" 
 | 
						|
                                                data-toggle="tooltip" 
 | 
						|
                                                data-trigger="hover" 
 | 
						|
                                                data-placement="bottom" 
 | 
						|
                                                title="Get the agent status" 
 | 
						|
                                                onclick="fetchData('<?= htmlspecialchars($agent['id']) ?>', '<?= htmlspecialchars($agent['url']) ?>', '/status', '<?= htmlspecialchars($agentTokens[$agent['id']]) ?>', true)">
 | 
						|
                                            Get Status
 | 
						|
                                        </button>
 | 
						|
                                        <button id="agent<?= htmlspecialchars($agent['id']) ?>-fetch" 
 | 
						|
                                                class="btn btn-primary" 
 | 
						|
                                                data-toggle="tooltip" 
 | 
						|
                                                data-trigger="hover" 
 | 
						|
                                                data-placement="bottom" 
 | 
						|
                                                title="Get data from the agent" 
 | 
						|
                                                onclick="fetchData('<?= htmlspecialchars($agent['id']) ?>', '<?= htmlspecialchars($agent['url']) ?>', '<?= htmlspecialchars($agent['agent_endpoint']) ?>', '<?= htmlspecialchars($agentTokens[$agent['id']]) ?>', <?= isset($_SESSION["agent{$agent['id']}_cache"]) ? 'true' : 'false' ?>)">
 | 
						|
                                            Fetch Data
 | 
						|
                                        </button>
 | 
						|
                                        <button id="agent<?= htmlspecialchars($agent['id']) ?>-cache" 
 | 
						|
                                                <?= !isset($_SESSION["agent{$agent['id']}_cache"]) ? 'style="display:none;" ' : '' ?>
 | 
						|
                                                class="btn btn-secondary" 
 | 
						|
                                                data-toggle="tooltip" 
 | 
						|
                                                data-trigger="hover" 
 | 
						|
                                                data-placement="bottom" 
 | 
						|
                                                title="Load cache" 
 | 
						|
                                                onclick="loadCache('<?= htmlspecialchars($agent['id']) ?>')">
 | 
						|
                                            Load Cache
 | 
						|
                                        </button>
 | 
						|
                                        <button id="agent<?= htmlspecialchars($agent['id']) ?>-clear" 
 | 
						|
                                                <?= !isset($_SESSION["agent{$agent['id']}_cache"]) ? 'style="display:none;" ' : '' ?>
 | 
						|
                                                class="btn btn-danger" 
 | 
						|
                                                data-toggle="tooltip" 
 | 
						|
                                                data-trigger="hover" 
 | 
						|
                                                data-placement="bottom" 
 | 
						|
                                                title="Clear cache" 
 | 
						|
                                                onclick="clearCache('<?= htmlspecialchars($agent['id']) ?>')">
 | 
						|
                                            Clear Cache
 | 
						|
                                        </button>
 | 
						|
                                    </div>
 | 
						|
                                    <span id="cacheInfo<?= htmlspecialchars($agent['id']) ?>" class="ms-2 <?= isset($_SESSION["agent{$agent['id']}_cache"]) ? '' : 'd-none' ?>"></span>
 | 
						|
                                    <pre class="results mt-3" id="result<?= htmlspecialchars($agent['id']) ?>">Click a button to display data from the agent.</pre>
 | 
						|
                                </div>
 | 
						|
                            <?php endforeach; ?>
 | 
						|
                        <?php endif; ?>
 | 
						|
                    </div>
 | 
						|
                </div>
 | 
						|
            </div>
 | 
						|
        <?php endforeach; ?>
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
<!-- agents live data -->
 |