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

De WIKI Netnews
Ir para navegação Ir para pesquisar
Criou página com 'function atualizarStatus(host, elementId) { fetch('/noc/status.php?host=' + host) .then(response => response.json()) .then(data => { const el = document.getElementById(elementId); if (!el) return; if (data.status === "online") { el.innerHTML = "🟢 Operacional"; } else if (data.status === "offline") { el.innerHTML = "🔴 Offline"; } else { el...'
 
Sem resumo de edição
 
(10 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
$(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) {
function atualizarStatus(host, elementId) {
    fetch('/noc/status.php?host=' + host)
        .then(response => response.json())
        .then(data => {
            const el = document.getElementById(elementId);
            if (!el) return;


            if (data.status === "online") {
    $.getJSON('/noc/status.php?host=' + host)
                el.innerHTML = "🟢 Operacional";
    .done(function(data){
            } else if (data.status === "offline") {
 
                el.innerHTML = "🔴 Offline";
        var el = $('#' + elementId);
            } else {
        if (!el.length) return;
                el.innerHTML = "🟡 Indefinido";
 
            }
        if (data.status === "online") {
        })
 
        .catch(() => {
            el.html(
            document.getElementById(elementId).innerHTML = "🟡 Erro";
                '<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");
    });
 
}
}


Linha 24: 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", atualizarTodos);
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);
    }
 
});

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

});