add functions e change name file
This commit is contained in:
parent
c5c1304549
commit
ab7315340f
2 changed files with 197 additions and 88 deletions
|
|
@ -1,88 +0,0 @@
|
||||||
// ==UserScript==
|
|
||||||
// @id gaia-swissknife@luigidacunto
|
|
||||||
// @name GAIA - Swissknife
|
|
||||||
// @namespace https://gitlab.luigidacunto.com/consultant/gaia-swissknife
|
|
||||||
// @updateURL https://luigidacunto.com/scripts/gaia-swissknife/tampermonkey-script/GAIA-Swissknife-0.1b.user.js
|
|
||||||
// @downloadURL https://luigidacunto.com/scripts/gaia-swissknife/tampermonkey-script/GAIA-Swissknife-0.1b.user.js
|
|
||||||
// @author Luigi D'Acunto
|
|
||||||
// @version 0.1b
|
|
||||||
// @description Aggiunge funzionalità alle pagine di GAIA
|
|
||||||
// @match https://gaia.cri.it/*
|
|
||||||
// @grant none
|
|
||||||
// @run-at document-idle
|
|
||||||
// ==/UserScript==
|
|
||||||
|
|
||||||
(function() {
|
|
||||||
'use strict';
|
|
||||||
// Recupera la versione dallo script se disponibile, altrimenti usa un valore di fallback
|
|
||||||
const currentVersion = (typeof GM_info !== 'undefined' && GM_info.script && GM_info.script.version) ? GM_info.script.version : 'x.x';
|
|
||||||
|
|
||||||
// Controlla se jQuery è caricato, altrimenti lo carica
|
|
||||||
function ensureJQuery(callback) {
|
|
||||||
if (window.jQuery) {
|
|
||||||
callback(window.jQuery);
|
|
||||||
} else {
|
|
||||||
let script = document.createElement('script');
|
|
||||||
script.src = 'https://code.jquery.com/jquery-3.6.0.min.js';
|
|
||||||
script.onload = () => callback(window.jQuery);
|
|
||||||
document.head.appendChild(script);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ensureJQuery(($) => {
|
|
||||||
console.log("GAIA Swissknife: jQuery caricato con successo!");
|
|
||||||
|
|
||||||
function initScript() {
|
|
||||||
// Funzione generica per aggiungere i pulsanti per settare gli esiti degli esami
|
|
||||||
function addExamOutcomeButtons() {
|
|
||||||
// Verifica che ci siano i select che gestiscono gli esiti
|
|
||||||
if ($("select[id^='id_part_'][id$='-ammissione']").length > 0) {
|
|
||||||
// Cerca il menu laterale (ul#sezione) dove inserire il blocco
|
|
||||||
if ($('#sezione').length > 0) {
|
|
||||||
console.log("GAIA Swissknife: Elementi trovati, aggiungo i pulsanti nel menu laterale...");
|
|
||||||
|
|
||||||
const buttonsHTML = `
|
|
||||||
<hr>
|
|
||||||
<li class="dropdown-header grassetto piu-grande">GAIA Swissknife v${currentVersion}</li>
|
|
||||||
<li role="presentation">
|
|
||||||
<button id="button_set_ampp" style="margin: 5px; padding: 8px; width: 97%; background-color: #007BFF; color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
|
|
||||||
Ammessi, Positivo, Positivo
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
<li role="presentation">
|
|
||||||
<button id="button_set_ampo" style="margin: 5px; padding: 8px; width: 97%; background-color: #28a745; color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
|
|
||||||
Ammessi, Positivo, Non previsto
|
|
||||||
</button>
|
|
||||||
</li>
|
|
||||||
`;
|
|
||||||
$('#sezione').append(buttonsHTML);
|
|
||||||
|
|
||||||
// Evento per il pulsante "Tutti Ammessi/Esito Positivo x2"
|
|
||||||
$('#button_set_ampp').click(() => {
|
|
||||||
$("select[id^='id_part_'][id$='-ammissione']").val("AM").trigger('change');
|
|
||||||
$("select[id^='id_part_'][id$='-esito_parte_1']").val("P").trigger('change');
|
|
||||||
$("select[id^='id_part_'][id$='-esito_parte_2']").val("P").trigger('change');
|
|
||||||
console.log("GAIA Swissknife: Valori impostati - Ammessi, Positivo, Positivo");
|
|
||||||
});
|
|
||||||
|
|
||||||
// Evento per il pulsante "Ammessi, Positivo, Non previsto"
|
|
||||||
$('#button_set_ampo').click(() => {
|
|
||||||
$("select[id^='id_part_'][id$='-ammissione']").val("AM").trigger('change');
|
|
||||||
$("select[id^='id_part_'][id$='-esito_parte_1']").val("P").trigger('change');
|
|
||||||
$("select[id^='id_part_'][id$='-esito_parte_2']").val("O").trigger('change');
|
|
||||||
console.log("GAIA Swissknife: Valori impostati - Ammessi, Positivo, Non previsto");
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
console.log("GAIA Swissknife: Elemento ul#sezione non trovato.");
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log("GAIA Swissknife: Nessun elemento trovato, i pulsanti non verranno mostrati.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$(document).ready(addExamOutcomeButtons);
|
|
||||||
}
|
|
||||||
|
|
||||||
initScript();
|
|
||||||
});
|
|
||||||
})();
|
|
||||||
197
tampermonkey-script/GAIA-Swissknife.user.js
Normal file
197
tampermonkey-script/GAIA-Swissknife.user.js
Normal file
|
|
@ -0,0 +1,197 @@
|
||||||
|
// ==UserScript==
|
||||||
|
// @name GAIA - Swissknife
|
||||||
|
// @namespace https://gitlab.luigidacunto.com/consultant/gaia-swissknife
|
||||||
|
// @updateURL https://luigidacunto.com/scripts/gaia-swissknife/tampermonkey-script/GAIA-Swissknife.user.js
|
||||||
|
// @downloadURL https://luigidacunto.com/scripts/gaia-swissknife/tampermonkey-script/GAIA-Swissknife.user.js
|
||||||
|
// @author Luigi D'Acunto
|
||||||
|
// @version 0.2.001b
|
||||||
|
// @description Aggiunge funzionalità alle pagine di GAIA
|
||||||
|
// @match https://gaia.cri.it/*
|
||||||
|
// @grant none
|
||||||
|
// @run-at document-idle
|
||||||
|
// ==/UserScript==
|
||||||
|
|
||||||
|
(function() {
|
||||||
|
'use strict';
|
||||||
|
// Recupera la versione dallo script se disponibile, altrimenti usa un valore di fallback
|
||||||
|
const currentVersion = (typeof GM_info !== 'undefined' && GM_info.script && GM_info.script.version) ? GM_info.script.version : 'x.x';
|
||||||
|
|
||||||
|
// Controlla se jQuery è caricato, altrimenti lo carica
|
||||||
|
function ensureJQuery(callback) {
|
||||||
|
if (window.jQuery) {
|
||||||
|
callback(window.jQuery);
|
||||||
|
} else {
|
||||||
|
let script = document.createElement('script');
|
||||||
|
script.src = 'https://code.jquery.com/jquery-3.6.0.min.js';
|
||||||
|
script.onload = () => callback(window.jQuery);
|
||||||
|
document.head.appendChild(script);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ensureJQuery(($) => {
|
||||||
|
console.log("GAIA Swissknife: jQuery caricato con successo!");
|
||||||
|
|
||||||
|
function initScript() {
|
||||||
|
|
||||||
|
// Funzione per aggiungere il blocco di intestazione
|
||||||
|
function ensureSwissknifeHeader() {
|
||||||
|
if ($('#sezione').length > 0 && $('#gaia-swissknife-header').length === 0) {
|
||||||
|
const headerHTML = `
|
||||||
|
<hr>
|
||||||
|
<li id="gaia-swissknife-header" class="dropdown-header grassetto piu-grande">
|
||||||
|
GAIA Swissknife v${currentVersion}
|
||||||
|
</li>
|
||||||
|
`;
|
||||||
|
$('#sezione').append(headerHTML);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funzione per aggiungere i pulsanti per settare gli esiti degli esami
|
||||||
|
function addExamOutcomeButtons() {
|
||||||
|
console.log("GAIA Swissknife: esecuzione di addExamOutcomeButtons() ...");
|
||||||
|
// Verifica che ci siano i select che gestiscono gli esiti
|
||||||
|
if ($("select[id^='id_part_'][id$='-ammissione']").length > 0) {
|
||||||
|
// Cerca il menu laterale (ul#sezione) dove inserire il blocco
|
||||||
|
if ($('#sezione').length > 0) {
|
||||||
|
console.log("GAIA Swissknife: Elementi trovati, aggiungo i pulsanti nel menu laterale...");
|
||||||
|
|
||||||
|
ensureSwissknifeHeader();
|
||||||
|
// Aggiungi i pulsanti per settare gli esiti
|
||||||
|
const buttonsHTML = `
|
||||||
|
<li role="presentation">
|
||||||
|
<button id="button_set_ampp" style="margin: 5px; padding: 8px; width: 97%; background-color: #007BFF; color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
|
||||||
|
Ammessi, Positivo, Positivo
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li role="presentation">
|
||||||
|
<button id="button_set_ampo" style="margin: 5px; padding: 8px; width: 97%; background-color: #28a745; color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
|
||||||
|
Ammessi, Positivo, Non previsto
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
<li role="presentation">
|
||||||
|
<button id="button_set_amop" style="margin: 5px; padding: 8px; width: 97%; background-color:rgb(167, 40, 99); color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
|
||||||
|
Ammessi, Non previsto, Positivo
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
`;
|
||||||
|
$('#sezione').append(buttonsHTML);
|
||||||
|
|
||||||
|
// Evento per il pulsante "Tutti Ammessi/Esito Positivo x2"
|
||||||
|
$('#button_set_ampp').click(() => {
|
||||||
|
$("select[id^='id_part_'][id$='-ammissione']").val("AM").trigger('change');
|
||||||
|
$("select[id^='id_part_'][id$='-esito_parte_1']").val("P").trigger('change');
|
||||||
|
$("select[id^='id_part_'][id$='-esito_parte_2']").val("P").trigger('change');
|
||||||
|
console.log("GAIA Swissknife: Valori impostati - Ammessi, Positivo, Positivo");
|
||||||
|
});
|
||||||
|
|
||||||
|
// Evento per il pulsante "Ammessi, Positivo, Non previsto"
|
||||||
|
$('#button_set_ampo').click(() => {
|
||||||
|
$("select[id^='id_part_'][id$='-ammissione']").val("AM").trigger('change');
|
||||||
|
$("select[id^='id_part_'][id$='-esito_parte_1']").val("P").trigger('change');
|
||||||
|
$("select[id^='id_part_'][id$='-esito_parte_2']").val("O").trigger('change');
|
||||||
|
console.log("GAIA Swissknife: Valori impostati - Ammessi, Positivo, Non previsto");
|
||||||
|
});
|
||||||
|
|
||||||
|
// Evento per il pulsante "Ammessi, Non previsto, Positivo"
|
||||||
|
$('#button_set_amop').click(() => {
|
||||||
|
$("select[id^='id_part_'][id$='-ammissione']").val("AM").trigger('change');
|
||||||
|
$("select[id^='id_part_'][id$='-esito_parte_1']").val("O").trigger('change');
|
||||||
|
$("select[id^='id_part_'][id$='-esito_parte_2']").val("P").trigger('change');
|
||||||
|
console.log("GAIA Swissknife: Valori impostati - Ammessi, Non previsto, Positivo");
|
||||||
|
});
|
||||||
|
|
||||||
|
} else {
|
||||||
|
console.log("GAIA Swissknife: Elemento ul#sezione non trovato.");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log("GAIA Swissknife: Nessun elemento trovato, i pulsanti non verranno mostrati.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Funzione per aggiungere il pulsante "Apri tutte le schede profilo"
|
||||||
|
function addOpenAllProfilesButton() {
|
||||||
|
if (!window.location.href.includes('/iscritti/')) return;
|
||||||
|
|
||||||
|
const openButton = $(`
|
||||||
|
<button id="open_all_profiles" style="margin: 5px; padding: 8px; width: 97%; background-color:rgba(234, 0, 255, 0.65); color: #FFF; border: none; border-radius: 4px; cursor: pointer;">
|
||||||
|
Apri tutte le schede profilo
|
||||||
|
</button>
|
||||||
|
`);
|
||||||
|
|
||||||
|
openButton.on('click', () => {
|
||||||
|
const iframe = document.querySelector('iframe.embed-responsive-item');
|
||||||
|
if (!iframe) {
|
||||||
|
alert("Impossibile trovare l'iframe con la lista.");
|
||||||
|
console.log("GAIA Swissknife: iframe non trovato.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verifica che il contenuto sia accessibile (same-origin)
|
||||||
|
let iframeDoc;
|
||||||
|
try {
|
||||||
|
iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
|
||||||
|
} catch (err) {
|
||||||
|
alert("Accesso all'iframe bloccato per motivi di sicurezza (cross-origin).");
|
||||||
|
console.error("GAIA Swissknife: accesso iframe negato.", err);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const $iframeLinks = $(iframeDoc).find("a[href^='/profilo/'][href*='?fpc']");
|
||||||
|
if ($iframeLinks.length === 0) {
|
||||||
|
alert("Nessun profilo trovato all'interno dell'iframe.");
|
||||||
|
console.log("GAIA Swissknife: Nessun link profilo nell'iframe.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const profileLinks = $iframeLinks.map(function() {
|
||||||
|
const href = $(this).attr('href');
|
||||||
|
const match = href.match(/\/profilo\/(\d+)\//);
|
||||||
|
if (match && match[1]) {
|
||||||
|
const id = match[1];
|
||||||
|
return `https://gaia.cri.it/profilo/${id}/curriculum/?us`;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}).get().filter(Boolean);
|
||||||
|
|
||||||
|
|
||||||
|
// Mostra le URL in console sempre
|
||||||
|
console.log("GAIA Swissknife: Profili trovati:");
|
||||||
|
profileLinks.forEach(link => console.log(link));
|
||||||
|
|
||||||
|
if (!confirm(`Vuoi aprire ${profileLinks.length} profili in nuove schede?`)) return;
|
||||||
|
|
||||||
|
profileLinks.forEach(link => {
|
||||||
|
window.open(link, '_blank');
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(`GAIA Swissknife: Aperte ${profileLinks.length} schede da iframe.`);
|
||||||
|
});
|
||||||
|
|
||||||
|
// Inserimento del pulsante nel menu laterale o in floating
|
||||||
|
if ($('#sezione').length > 0) {
|
||||||
|
ensureSwissknifeHeader();
|
||||||
|
|
||||||
|
$('#sezione').append(
|
||||||
|
$('<li role="presentation"></li>').append(openButton)
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
openButton.css({
|
||||||
|
position: 'fixed',
|
||||||
|
top: '10px',
|
||||||
|
right: '10px',
|
||||||
|
zIndex: 9999
|
||||||
|
}).appendTo('body');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$(document).ready(() => {
|
||||||
|
addExamOutcomeButtons();
|
||||||
|
addOpenAllProfilesButton();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
initScript();
|
||||||
|
});
|
||||||
|
})();
|
||||||
Loading…
Add table
Add a link
Reference in a new issue