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
Linha 1: Linha 1:
mw.loader.using([], function () {
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);


    function atualizarStatus(host, elementId) {
         if (!el) return;
         fetch('/noc/status.php?host=' + host)
            .then(response => response.json())
            .then(data => {
                const el = document.getElementById(elementId);
                if (!el) return;


                if (data.status === "online") {
        let html = '';
                     el.innerHTML = "🟢 Operacional";
 
                } else if (data.status === "offline") {
        if (data.status === "online") {
                     el.innerHTML = "🔴 Offline";
            html = `🟢 Operacional<br>
                } else {
                    <small>Uptime: ${formatUptime(data.uptime)}</small><br>
                    el.innerHTML = "🟡 Indefinido";
                     <small>Último check: ${data.lastcheck}</small>`;
                }
            el.classList.remove("blink");
            })
        } else if (data.status === "offline") {
            .catch(() => {
            html = `🔴 Offline<br>
                const el = document.getElementById(elementId);
                     <small>Último check: ${data.lastcheck ?? '-'}</small>`;
                if (el) el.innerHTML = "🟡 Erro";
            el.classList.add("blink");
            });
        } else {
            html = `🟡 Indefinido`;
        }
 
        el.innerHTML = html;
 
    } catch (e) {
        document.getElementById(elementId).innerHTML = "🟡 Erro";
     }
     }
}
function formatUptime(seconds) {
    if (!seconds) return '-';


     function atualizarTodos() {
     const days = Math.floor(seconds / 86400);
        atualizarStatus("web01", "web01-status");
    const hours = Math.floor((seconds % 86400) / 3600);
        atualizarStatus("web02", "web02-status");
    const minutes = Math.floor((seconds % 3600) / 60);
        atualizarStatus("web03", "web03-status");
 
        atualizarStatus("web04", "web04-status");
    return `${days}d ${hours}h ${minutes}m`;
        atualizarStatus("ns1", "ns1-status");
}
        atualizarStatus("ns2", "ns2-status");
    }


     $(document).ready(function () {
function atualizarTodos() {
        atualizarTodos();
     atualizarStatus("web01", "web01-status");
        setInterval(atualizarTodos, 30000);
    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);
});
});

Edição das 16h57min 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 = `🟢 Operacional<br>
                    <small>Uptime: ${formatUptime(data.uptime)}</small><br>
                    <small>Último check: ${data.lastcheck}</small>`;
            el.classList.remove("blink");
        } else if (data.status === "offline") {
            html = `🔴 Offline<br>
                    <small>Último check: ${data.lastcheck ?? '-'}</small>`;
            el.classList.add("blink");
        } else {
            html = `🟡 Indefinido`;
        }

        el.innerHTML = html;

    } catch (e) {
        document.getElementById(elementId).innerHTML = "🟡 Erro";
    }
}

function formatUptime(seconds) {
    if (!seconds) return '-';

    const days = Math.floor(seconds / 86400);
    const hours = Math.floor((seconds % 86400) / 3600);
    const 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);
});