MediaWiki:Common.js: mudanças entre as edições

De WIKI Netnews
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);


    fetch('/noc/status.php?host=' + host)
         if (!el) return;
         .then(function(response) {
            return response.json();
        })
        .then(function(data) {


            var el = document.getElementById(elementId);
        let html = '';
            if (!el) return;


            var html = '';
        if (data.status === "online") {


             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>';


                html = "🟢 Operacional<br>" +
            el.classList.remove("blink");
                      "<small>Uptime: " + formatUptime(data.uptime) + "</small><br>" +
                      "<small>Último check: " + (data.lastcheck ? data.lastcheck : '-') + "</small>";


                el.classList.remove("blink");
        } else if (data.status === "offline") {


             } else if (data.status === "offline") {
             html =
                '<span style="color:#ef4444;font-weight:600;">● OFFLINE</span><br>' +
                '<small>Último check: ' + (data.lastcheck || '-') + '</small>';


                html = "🔴 Offline<br>" +
            el.classList.add("blink");
                      "<small>Último check: " + (data.lastcheck ? data.lastcheck : '-') + "</small>";


                el.classList.add("blink");
        } else {


             } else {
             html =
                '<span style="color:#facc15;font-weight:600;">● INDEFINIDO</span>';


                html = "🟡 Indefinido";
            el.classList.remove("blink");
            }
        }


            el.innerHTML = html;
        el.innerHTML = html;


        })
    } catch (e) {
        .catch(function() {
        document.getElementById(elementId).innerHTML =
            var el = document.getElementById(elementId);
             '<span style="color:#facc15;">● ERRO</span>';
             if (el) {
    }
                el.innerHTML = "🟡 Erro";
            }
        });
}
}


function formatUptime(seconds) {
function formatUptime(seconds) {
    if (!seconds || seconds <= 0) return '-';
    const days = Math.floor(seconds / 86400);
    const hours = Math.floor((seconds % 86400) / 3600);


     if (!seconds || seconds <= 0) return '-';
     return days + 'd ' + hours + 'h';
}


    var days = Math.floor(seconds / 86400);
function formatHora(datetime) {
     var hours = Math.floor((seconds % 86400) / 3600);
     if (!datetime) return '-';
    var minutes = Math.floor((seconds % 3600) / 60);


     return days + "d " + hours + "h " + minutes + "m";
     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);
});