diff --git a/.gitignore b/.gitignore index 9d7ae73..f0ed818 100644 --- a/.gitignore +++ b/.gitignore @@ -1,21 +1,2 @@ -# Exclude files and directories from version control -*.log -/.*/ -/.*/ -/*auth* -/node_modules -/public/build -/public/hot -/public/storage -/storage/*.key -/storage/pail -/vendor -Thumbs.db -/*.md -/.env* - -# Exceptions -!README.md -!CHANGELOG.md -!.gitattributes -!.env.example +_ignored +/.*/ \ No newline at end of file diff --git a/tampermonkey-script/GAIA-Swissknife.user.js b/tampermonkey-script/GAIA-Swissknife.user.js index 8d4f1d9..3219936 100644 --- a/tampermonkey-script/GAIA-Swissknife.user.js +++ b/tampermonkey-script/GAIA-Swissknife.user.js @@ -5,7 +5,7 @@ // @downloadURL https://luigidacunto.com/scripts/gaia-swissknife/tampermonkey-script/GAIA-Swissknife.user.js // @changelogURL https://luigidacunto.com/scripts/gaia-swissknife/tampermonkey-script/CHANGELOG.md // @author Luigi D'Acunto -// @version 1.1.011 +// @version 1.1.010 // @description Aggiunge funzionalità alle pagine di GAIA // @match https://gaia.cri.it/* // @require https://code.jquery.com/jquery-3.6.0.min.js @@ -208,7 +208,6 @@ GM_addStyle(GM_getResourceText("DataTablesCSS")); }); } - // Funzione per applicare le correzioni di stile alle celle del curriculum function applyStyleFixes() { const url = window.location.href; @@ -814,17 +813,6 @@ GM_addStyle(GM_getResourceText("DataTablesCSS")); } } - // Converte una data in italiano (es. "Domenica 27 Settembre 2026 09:00") in formato ISO 8601 ("2026-09-27T09:00:00") - function parseDataItaliana(testo) { - const mesi = { gennaio: 1, febbraio: 2, marzo: 3, aprile: 4, maggio: 5, giugno: 6, luglio: 7, agosto: 8, settembre: 9, ottobre: 10, novembre: 11, dicembre: 12 }; - const m = (testo || '').match(/(\d{1,2})\s+([a-zA-Zàèìòù]+)\s+(\d{4})\s+(\d{2}):(\d{2})/i); - if (!m) return null; - const mese = mesi[m[2].toLowerCase()]; - if (!mese) return null; - const giorno = m[1].padStart(2, '0'); - return `${m[3]}-${String(mese).padStart(2, '0')}-${giorno}T${m[4]}:${m[5]}:00`; - } - // Funzione per copiare i dati del corso per LURCH in clipboard come JSON function addCopyForLurchButton() { if (!window.location.href.match(/\/aspirante\/corso-base\/\d+\//)) return; @@ -832,30 +820,21 @@ GM_addStyle(GM_getResourceText("DataTablesCSS")); console.log("GAIA Swissknife: Aggiungo pulsante Copia per LURCH..."); - function getPanel(labelSubstr) { - return [...document.querySelectorAll('.panel.panel-info')].find(el => el.querySelector('.panel-title')?.innerText.includes(labelSubstr)); - } - function getPanelText(labelSubstr) { - return getPanel(labelSubstr)?.querySelector('.panel-body')?.innerText?.trim() || ''; - } - function extractLurchData() { const corso = document.querySelector('h1, h2')?.innerText?.trim() || ''; const titleMatch = document.title.match(/([A-Z]{2,}\/\d{4}\/[A-Z0-9\-]+(?: [A-Z0-9\-]+)?\/\d+)/); const protocollo = titleMatch ? titleMatch[1] : ''; - const direttore = getPanel('Direttore')?.querySelector('.panel-body a')?.innerText?.trim() || ''; + const direttorePanel = [...document.querySelectorAll('.panel.panel-info')].find(el => el.querySelector('.panel-title')?.innerText.includes('Direttore')); + const direttore = direttorePanel?.querySelector('.panel-body a')?.innerText?.trim() || ''; - const quotaText = getPanelText('Quota') || '0'; + const quotaPanel = [...document.querySelectorAll('.panel.panel-info')].find(el => el.querySelector('.panel-title')?.innerText.includes('Quota')); + const quotaText = quotaPanel?.querySelector('.panel-body')?.innerText?.trim() || '0'; const quotaValore = parseFloat(quotaText.replace(/[^\d,]/g, '').replace(',', '.')) || 0; const quota = quotaValore !== 0; - const dataInizio = parseDataItaliana(getPanelText('Data di inizio')); - const dataEsame = parseDataItaliana(getPanelText('Data di esame')); - const scadenzaDomande = parseDataItaliana(getPanelText('Termine di scadenza per le domande di ammissione')); - - return { direttore, quota, quotaValore, corso, protocollo, linkGaia: window.location.href, dataInizio, dataEsame, scadenzaDomande }; + return { direttore, quota, quotaValore, corso, protocollo, linkGaia: window.location.href }; } const $btn = $(''); @@ -893,11 +872,10 @@ GM_addStyle(GM_getResourceText("DataTablesCSS")); })(jQuery.noConflict(true)); // ==CHANGELOG== -// v1.1.011 - Nuovi campi nel JSON "Copia per LURCH": -// - Aggiunti dataInizio, dataEsame e scadenzaDomande (termine per le domande di ammissione), in formato ISO 8601 -// v1.1.010 - Nuova funzione: +// v1.1.010 - Nuove funzioni: // - Aggiunto pulsante "Copia per LURCH (JSON)" nella sidebar delle pagine corso (/aspirante/corso-base/) -// - Estrae direttore, quota, corso, protocollo e link GAIA, e copia il JSON in clipboard +// - Estrae: Direttore, Quota (bool), QuotaValore (numerico), Corso (nome), Protocollo, Link GAIA +// - Copia il JSON in clipboard con feedback visivo // v1.1.009 - Nuove funzioni: // - Aggiunto pulsante "Copia catalogo corsi (JSON)" nella sidebar di /courses/catalog/ // - Estrae nome, codice, livello, tipo, obiettivo per ogni corso e copia il JSON in clipboard