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
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
async function atualizarStatus(host, elementId) {
$(function () {
    try {
        const response = await fetch('/noc/status.php?host=' + host);
        const data = await response.json();
        const el = document.getElementById(elementId);


        if (!el) return;
function formatUptime(seconds) {
    if (!seconds) 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 atualizarStatus(host, elementId) {
 
    $.getJSON('/noc/status.php?host=' + host)
    .done(function(data){


         let html = '';
         var el = $('#' + elementId);
        if (!el.length) return;


         if (data.status === "online") {
         if (data.status === "online") {
             html = `🟢 Operacional<br>
 
                    <small>Uptime: ${formatUptime(data.uptime)}</small><br>
             el.html(
                    <small>Último check: ${data.lastcheck}</small>`;
                '<span class="status-dot status-green"></span> Operacional<br>' +
             el.classList.remove("blink");
                '<small>Uptime: ' + formatUptime(data.uptime) + '</small><br>' +
                '<small>Último check: ' + data.lastcheck + '</small>'
            );
 
             el.removeClass("blink");
 
         } else if (data.status === "offline") {
         } else if (data.status === "offline") {
             html = `🔴 Offline<br>
 
                    <small>Último check: ${data.lastcheck ?? '-'}</small>`;
             el.html(
             el.classList.add("blink");
                '<span class="status-dot status-red"></span> Offline<br>' +
                '<small>Último check: ' + (data.lastcheck || '-') + '</small>'
            );
 
             el.addClass("blink");
 
         } else {
         } else {
            html = `🟡 Indefinido`;
        }


        el.innerHTML = html;
            el.html('<span class="status-dot status-yellow"></span> Indefinido');


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


function formatUptime(seconds) {
    })
    if (!seconds) return '-';
    .fail(function(){
        $('#' + elementId).html("🟡 Erro");
    });


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


Linha 44: Linha 56:
     atualizarStatus("web03", "web03-status");
     atualizarStatus("web03", "web03-status");
     atualizarStatus("web04", "web04-status");
     atualizarStatus("web04", "web04-status");
     atualizarStatus("ns1", "ns1-status");
     atualizarStatus("ns1-cloud", "ns1-status");
     atualizarStatus("ns2", "ns2-status");
     atualizarStatus("ns2-cloud", "ns2-status");
}
 
atualizarTodos();
setInterval(atualizarTodos, 30000);
 
});
 
function criarNovoCliente() {
    var nome = prompt("Digite o nome do cliente:");
 
    if (!nome) return;
 
    nome = nome.trim().replace(/\s+/g, "_");
 
    var url = mw.util.getUrl("Cliente/" + nome, {
        action: "edit",
        preload: "Cliente:MODELO"
    });
 
    window.location.href = url;
}
}


document.addEventListener("DOMContentLoaded", function () {
document.addEventListener("DOMContentLoaded", function () {
     atualizarTodos();
 
     setInterval(atualizarTodos, 30000);
     var btn = document.getElementById("btnCriarCliente");
 
     if (!btn) return;
 
    btn.addEventListener("click", function () {
 
        var nome = prompt("Digite o nome do cliente:");
 
        if (!nome) return;
 
        nome = nome.trim().replace(/\s+/g, "_");
 
        var base = mw.config.get("wgScriptPath") + "/index.php/";
 
        var url = base + "Cliente/" + nome + "?action=edit&preload=Cliente:MODELO";
 
        window.location.href = url;
 
    });
 
});
 
document.addEventListener("DOMContentLoaded", function () {
 
    function atualizarStatusServidor(nome) {
 
        fetch('/noc/status.php?host=' + nome.toLowerCase())
            .then(response => response.json())
            .then(data => {
 
                var el = document.getElementById('status-' + nome);
 
                if (!el) return;
 
                if (data.status === "online") {
                    el.innerHTML = "🟢 Operacional<br><small>Uptime: "
                        + formatUptime(data.uptime)
                        + "</small><br><small>Último check: "
                        + data.lastcheck + "</small>";
                } else if (data.status === "offline") {
                    el.innerHTML = "🔴 Offline<br><small>Último check: "
                        + data.lastcheck + "</small>";
                } else {
                    el.innerHTML = "🟡 Indefinido";
                }
 
            });
    }
 
    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`;
    }
 
    // Detecta automaticamente nome do servidor pela URL
    var pageName = mw.config.get("wgTitle");
 
    if (pageName.startsWith("WEB") || pageName.startsWith("NS")) {
        atualizarStatusServidor(pageName);
    }
 
});
});

Edição atual tal como às 19h44min de 20 de fevereiro de 2026

$(function () {

function formatUptime(seconds) {
    if (!seconds) 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 atualizarStatus(host, elementId) {

    $.getJSON('/noc/status.php?host=' + host)
    .done(function(data){

        var el = $('#' + elementId);
        if (!el.length) return;

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

            el.html(
                '<span class="status-dot status-green"></span> Operacional<br>' +
                '<small>Uptime: ' + formatUptime(data.uptime) + '</small><br>' +
                '<small>Último check: ' + data.lastcheck + '</small>'
            );

            el.removeClass("blink");

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

            el.html(
                '<span class="status-dot status-red"></span> Offline<br>' +
                '<small>Último check: ' + (data.lastcheck || '-') + '</small>'
            );

            el.addClass("blink");

        } else {

            el.html('<span class="status-dot status-yellow"></span> Indefinido');

        }

    })
    .fail(function(){
        $('#' + elementId).html("🟡 Erro");
    });

}

function atualizarTodos() {
    atualizarStatus("web01", "web01-status");
    atualizarStatus("web02", "web02-status");
    atualizarStatus("web03", "web03-status");
    atualizarStatus("web04", "web04-status");
    atualizarStatus("ns1-cloud", "ns1-status");
    atualizarStatus("ns2-cloud", "ns2-status");
}

atualizarTodos();
setInterval(atualizarTodos, 30000);

});

function criarNovoCliente() {
    var nome = prompt("Digite o nome do cliente:");

    if (!nome) return;

    nome = nome.trim().replace(/\s+/g, "_");

    var url = mw.util.getUrl("Cliente/" + nome, {
        action: "edit",
        preload: "Cliente:MODELO"
    });

    window.location.href = url;
}

document.addEventListener("DOMContentLoaded", function () {

    var btn = document.getElementById("btnCriarCliente");

    if (!btn) return;

    btn.addEventListener("click", function () {

        var nome = prompt("Digite o nome do cliente:");

        if (!nome) return;

        nome = nome.trim().replace(/\s+/g, "_");

        var base = mw.config.get("wgScriptPath") + "/index.php/";

        var url = base + "Cliente/" + nome + "?action=edit&preload=Cliente:MODELO";

        window.location.href = url;

    });

});

document.addEventListener("DOMContentLoaded", function () {

    function atualizarStatusServidor(nome) {

        fetch('/noc/status.php?host=' + nome.toLowerCase())
            .then(response => response.json())
            .then(data => {

                var el = document.getElementById('status-' + nome);

                if (!el) return;

                if (data.status === "online") {
                    el.innerHTML = "🟢 Operacional<br><small>Uptime: " 
                        + formatUptime(data.uptime) 
                        + "</small><br><small>Último check: " 
                        + data.lastcheck + "</small>";
                } else if (data.status === "offline") {
                    el.innerHTML = "🔴 Offline<br><small>Último check: " 
                        + data.lastcheck + "</small>";
                } else {
                    el.innerHTML = "🟡 Indefinido";
                }

            });
    }

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

    // Detecta automaticamente nome do servidor pela URL
    var pageName = mw.config.get("wgTitle");

    if (pageName.startsWith("WEB") || pageName.startsWith("NS")) {
        atualizarStatusServidor(pageName);
    }

});