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

De WIKI Netnews
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Etiqueta: Revertido
Linha 1: Linha 1:
async function atualizarStatus(host, elementId) {
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;
    fetch('/noc/status.php?host=' + host)
         .then(function(response) {
            return response.json();
        })
        .then(function(data) {


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


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


             html =
             if (data.status === "online") {
                '<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");
                html = "🟢 Operacional<br>" +
                      "<small>Uptime: " + formatUptime(data.uptime) + "</small><br>" +
                      "<small>Último check: " + (data.lastcheck ? data.lastcheck : '-') + "</small>";


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


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


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


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


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


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


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


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


function formatUptime(seconds) {
function formatUptime(seconds) {
     if (!seconds || seconds <= 0) return '-';
     if (!seconds || seconds <= 0) return '-';


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


     const partes = datetime.split(' ');
     return days + "d " + hours + "h " + minutes + "m";
    if (partes.length > 1) {
        return partes[1];
    }
    return datetime;
}
}



Edição das 17h31min de 18 de fevereiro de 2026

function atualizarStatus(host, elementId) {

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

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

            var html = '';

            if (data.status === "online") {

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

                el.classList.remove("blink");

            } else if (data.status === "offline") {

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

                el.classList.add("blink");

            } else {

                html = "🟡 Indefinido";
            }

            el.innerHTML = html;

        })
        .catch(function() {
            var el = document.getElementById(elementId);
            if (el) {
                el.innerHTML = "🟡 Erro";
            }
        });
}

function formatUptime(seconds) {

    if (!seconds || seconds <= 0) return '-';

    var days = Math.floor(seconds / 86400);
    var hours = Math.floor((seconds % 86400) / 3600);
    var minutes = Math.floor((seconds % 3600) / 60);

    return days + "d " + hours + "h " + minutes + "m";
}

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);
});