MediaWiki:Common.js: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Sem resumo de edição Etiqueta: Revertido |
Sem resumo de edição Etiqueta: Reversão manual |
||
| Linha 1: | Linha 1: | ||
function atualizarStatus(host, elementId) { | async function atualizarStatus(host, elementId) { | ||
try { | |||
const response = await fetch('/noc/status.php?host=' + host); | |||
const data = await response.json(); | |||
const el = document.getElementById(elementId); | |||
if (!el) return; | |||
let html = ''; | |||
if (data.status === "online") { | |||
html = | |||
'<span style="color:#22c55e;font-weight:600;">● OPERACIONAL</span><br>' + | |||
'<small>Uptime: ' + formatUptime(data.uptime) + '</small><br>' + | |||
'<small>Atualizado: ' + formatHora(data.lastcheck) + '</small>'; | |||
el.classList.remove("blink"); | |||
} else if (data.status === "offline") { | |||
html = | |||
'<span style="color:#ef4444;font-weight:600;">● OFFLINE</span><br>' + | |||
'<small>Último check: ' + (data.lastcheck || '-') + '</small>'; | |||
el.classList.add("blink"); | |||
} else { | |||
html = | |||
'<span style="color:#facc15;font-weight:600;">● INDEFINIDO</span>'; | |||
el.classList.remove("blink"); | |||
} | |||
el.innerHTML = html; | |||
} catch (e) { | |||
document.getElementById(elementId).innerHTML = | |||
'<span style="color:#facc15;">● ERRO</span>'; | |||
} | |||
} | } | ||
function formatUptime(seconds) { | function formatUptime(seconds) { | ||
if (!seconds || seconds <= 0) return '-'; | |||
const days = Math.floor(seconds / 86400); | |||
const hours = Math.floor((seconds % 86400) / 3600); | |||
return days + 'd ' + hours + 'h'; | |||
} | |||
function formatHora(datetime) { | |||
if (!datetime) return '-'; | |||
return | const partes = datetime.split(' '); | ||
if (partes.length > 1) { | |||
return partes[1]; | |||
} | |||
return datetime; | |||
} | } | ||
Edição das 17h32min de 18 de fevereiro de 2026
async function atualizarStatus(host, elementId) {
try {
const response = await fetch('/noc/status.php?host=' + host);
const data = await response.json();
const el = document.getElementById(elementId);
if (!el) return;
let html = '';
if (data.status === "online") {
html =
'<span style="color:#22c55e;font-weight:600;">● OPERACIONAL</span><br>' +
'<small>Uptime: ' + formatUptime(data.uptime) + '</small><br>' +
'<small>Atualizado: ' + formatHora(data.lastcheck) + '</small>';
el.classList.remove("blink");
} else if (data.status === "offline") {
html =
'<span style="color:#ef4444;font-weight:600;">● OFFLINE</span><br>' +
'<small>Último check: ' + (data.lastcheck || '-') + '</small>';
el.classList.add("blink");
} else {
html =
'<span style="color:#facc15;font-weight:600;">● INDEFINIDO</span>';
el.classList.remove("blink");
}
el.innerHTML = html;
} catch (e) {
document.getElementById(elementId).innerHTML =
'<span style="color:#facc15;">● ERRO</span>';
}
}
function formatUptime(seconds) {
if (!seconds || seconds <= 0) return '-';
const days = Math.floor(seconds / 86400);
const hours = Math.floor((seconds % 86400) / 3600);
return days + 'd ' + hours + 'h';
}
function formatHora(datetime) {
if (!datetime) return '-';
const partes = datetime.split(' ');
if (partes.length > 1) {
return partes[1];
}
return datetime;
}
function atualizarTodos() {
atualizarStatus("web01", "web01-status");
atualizarStatus("web02", "web02-status");
atualizarStatus("web03", "web03-status");
atualizarStatus("web04", "web04-status");
atualizarStatus("ns1", "ns1-status");
atualizarStatus("ns2", "ns2-status");
}
document.addEventListener("DOMContentLoaded", function () {
atualizarTodos();
setInterval(atualizarTodos, 30000);
});