Aggiunti file javascript
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
// ==UserScript==
|
||||
// @name EUCARIS php Bridge - VERSIONE ANTI-LOOP
|
||||
// @namespace http://tampermonkey.net/
|
||||
// @version 7.1
|
||||
// @description Navigazione forzata con blocco dei ricarichi infiniti
|
||||
// @author GATTO + Gemini
|
||||
// @match *://www.ilportaledellautomobilista.it/Info/*
|
||||
// @grant GM_xmlhttpRequest
|
||||
// @grant GM_setValue
|
||||
// @grant GM_getValue
|
||||
// @connect 192.168.1.33
|
||||
// @run-at document-end
|
||||
// ==/UserScript==
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
|
||||
const PHP_URL = "http://192.168.1.33/hook/dati1.php";
|
||||
const URL_STEP_1 = "/Info/info/CreateGraph_home.action?SESSION_INFO_NODO_CORRENTE=N370&CRITERIO=99&METODO=/criteria-page/home.jsp";
|
||||
const URL_STEP_2 = "/Info/info/CreateGraph_getFunzioneSelezionata.action?SESSION_INFO_NODO_CORRENTE=N371";
|
||||
const URL_HOME = "/Info/info/CreateGraph_home.action?SESSION_INFO_NODO_CORRENTE=N21&CRITERIO=99&METODO=/criteria-page/home.js";
|
||||
|
||||
let isRedirecting = false;
|
||||
|
||||
// --- FUNZIONE DI SALTO SICURA (EVITA LOOP) ---
|
||||
function safeRedirect(targetPath) {
|
||||
const fullTarget = window.location.origin + targetPath;
|
||||
if (window.location.href !== fullTarget) {
|
||||
console.log("Reindirizzamento a: " + targetPath);
|
||||
isRedirecting = true;
|
||||
window.location.href = fullTarget;
|
||||
} else {
|
||||
console.log("Già a destinazione, evito il loop.");
|
||||
}
|
||||
}
|
||||
|
||||
function autofillEucaris() {
|
||||
const telaioDaInserire = GM_getValue("ultimo_telaio", null);
|
||||
|
||||
if (window.location.href.includes("N371") && telaioDaInserire) {
|
||||
const radio = document.getElementById("CreateGraph_getFunzioneSelezionata_criterio77");
|
||||
const inputTelaio = document.getElementById("CreateGraph_getFunzioneSelezionata_criteri_77__telaio");
|
||||
const inputStato = document.getElementById("CreateGraph_getFunzioneSelezionata_criteri_77__idStato");
|
||||
const btnConfirm = document.getElementById("CreateGraph_getFunzioneSelezionata_button_value_confirm");
|
||||
|
||||
if (radio) radio.checked = true;
|
||||
if (inputTelaio) inputTelaio.value = telaioDaInserire;
|
||||
if (inputStato) inputStato.value = "MCI";
|
||||
|
||||
if (inputTelaio && inputTelaio.value !== "") {
|
||||
GM_setValue("ultimo_telaio", null);
|
||||
if (btnConfirm) {
|
||||
setTimeout(() => { btnConfirm.click(); }, 800);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function checkTask() {
|
||||
if (isRedirecting) return;
|
||||
|
||||
GM_xmlhttpRequest({
|
||||
method: "GET",
|
||||
url: PHP_URL + "?nocache=" + new Date().getTime(),
|
||||
onload: function(response) {
|
||||
try {
|
||||
const data = JSON.parse(response.responseText);
|
||||
if (data.task && data.task.toLowerCase() === "fare") {
|
||||
if (data.valore1 && data.tipo.toUpperCase() === "EUCARIS") {
|
||||
GM_setValue("ultimo_telaio", data.valore1);
|
||||
}
|
||||
eseguiSalto(data);
|
||||
}
|
||||
} catch (e) { }
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function eseguiSalto(data) {
|
||||
const tipo = data.tipo.toUpperCase();
|
||||
const currentUrl = window.location.href;
|
||||
|
||||
if (tipo === "EUCARIS") {
|
||||
// Se non sono ancora in N370 o N371, vai a Step 1
|
||||
if (!currentUrl.includes("N370") && !currentUrl.includes("N371")) {
|
||||
safeRedirect(URL_STEP_1);
|
||||
}
|
||||
// Se sono in N370, segnalo completato e vado a Step 2
|
||||
else if (currentUrl.includes("N370")) {
|
||||
isRedirecting = true;
|
||||
const update = { ...data, task: "completato" };
|
||||
GM_xmlhttpRequest({
|
||||
method: "POST",
|
||||
url: PHP_URL,
|
||||
data: JSON.stringify(update),
|
||||
headers: { "Content-Type": "application/json" },
|
||||
onload: () => { safeRedirect(URL_STEP_2); }
|
||||
});
|
||||
}
|
||||
}
|
||||
else if (tipo === "RESET") {
|
||||
if (!currentUrl.includes("N21")) { // Salta a home solo se non ci sei già
|
||||
isRedirecting = true;
|
||||
const update = { ...data, task: "completato" };
|
||||
GM_xmlhttpRequest({
|
||||
method: "POST",
|
||||
url: PHP_URL,
|
||||
data: JSON.stringify(update),
|
||||
headers: { "Content-Type": "application/json" },
|
||||
onload: () => { safeRedirect(URL_HOME); }
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
autofillEucaris();
|
||||
setInterval(checkTask, 3000); // Leggermente più lento per dare tempo alla pagina di stabilizzarsi
|
||||
})();
|
||||
Reference in New Issue
Block a user