Releases: dadebertolino/db-event-manager
Release list
v1.4.0 — Sicurezza endpoint pubblici, prova del consenso, eventi su più giorni
Aggiornamento consigliato a tutti i siti: chiude un'esposizione di dati personali nelle pagine pubbliche e corregge un bug che impediva il salvataggio corretto di IP e prova del consenso.
⚠️ Dopo l'aggiornamento
Le pagine pubbliche di check-in e partecipanti richiedono ora obbligatoriamente un PIN. Se non ne avevi configurato uno, viene generato automaticamente: leggilo in Event Manager → Impostazioni e comunicalo allo staff prima del prossimo evento. Se avevi già un PIN, resta invariato e non cambia nulla.
Sicurezza
- Le pagine pubbliche di check-in e partecipanti richiedono ora obbligatoriamente un PIN. Prima era opzionale e vuoto di default: chiunque conoscesse l'indirizzo poteva leggere le anagrafiche complete degli iscritti, approvare o annullare iscrizioni e far partire email dal sito
- Nuova classe
DBEM_Security: confronto del PIN in tempo costante (hash_equals), rate limit di 10 tentativi per IP ogni 15 minuti, verifica nonce su tutte le chiamate AJAX pubbliche (protezione CSRF) - Corretto un XSS memorizzato nella pagina pubblica partecipanti: il nome di un iscritto poteva iniettare attributi HTML nella tabella vista dall'organizzatore
- Le azioni sui partecipanti sono vincolate all'evento selezionato
- Export CSV: neutralizzate le formule (
=,+,-,@) interpretate da Excel
Dati e consenso
- Corretto l'array di format di
wpdb->insert, che aveva 8 specificatori per 13 colonne: l'indirizzo IP veniva salvato come0a ogni iscrizione e, con checkbox GDPR attiva, testo, timestamp e URL del consenso venivano azzerati. Su MySQL in strict mode l'iscrizione falliva del tutto mostrando comunque un messaggio di successo - Corretto uno statement troncato che rendeva inefficace il controllo di errore sull'inserimento
- Il path DB Form Builder non registra più un consenso non verificato: nuovo campo "Campo Privacy" nella mappatura del form, la prova viene salvata solo a fronte di una checkbox effettivamente spuntata
- Nuovo
uninstall.phpcon opzione "Elimina tutti i dati alla disinstallazione" (disattivata di default)
Elenco eventi
- Gli eventi su più giorni mostrano un intervallo nel riquadro data (
21-25 SET) invece del solo giorno di inizio, la riga di dettaglio riporta l'intervallo completo e compare il badge "Più date" - Nuova opzione per evento "Non mostrare il giorno nel riquadro della card": il riquadro riporta solo mese e anno
Correzioni
- Il promemoria evento ora funziona: nuovo campo "Promemoria evento" (N ore prima dell'inizio). L'hook cron esisteva ma non veniva mai pianificato
- L'azione in blocco "Conferma" non reinvia più l'email a chi era già confermato
- Corretto il markup del metabox Iscrizioni: un
</table>fuori posto lasciava la sezione Privacy/GDPR e "Assegnazione orario" senza layout - Capability corretta nel salvataggio evento (
edit_postal posto dimanage_options) - Rimossa la registrazione AJAX
dbem_save_event_meta, il cui callback non è mai esistito - Aggiunto
load_plugin_textdomaine cartellalanguages/: le stringhe sono ora traducibili - Lo shortcode
[dbem_event]non applica piùthe_contentin modo annidato
Nota sulla v1.3.1
Il tag v1.3.1 era stato creato su un commit in cui l'header del plugin dichiarava ancora Version: 1.3.0, quindi i siti che l'avevano installata continuavano a vedersi proporre l'aggiornamento. Con la 1.4.0 header e tag coincidono e la segnalazione rientra.
v1.3.1
v1.3.0
1.3.0
Integrazione ecosistema privacy DB: dichiarazioni trattamenti al Privacy Hub, DSAR export/erase con dual channel (Hub + WP core), consent storage con 5 colonne GDPR
Checkbox GDPR configurabile per evento: on/off, testo personalizzabile, link privacy policy (fallback a pagina Privacy WP)
Link "Leggi l'informativa privacy" cliccabile nel form di iscrizione
Checkbox GDPR condizionale: visibile e validata solo se attivata per l'evento
Fix variabili consent mancanti nel metodo iscrizione via DB Form Builder
Dichiarazione email privacy con mittente configurato e info trasporto SMTP
Costante DBEM_DSAR_AVAILABLE per integrazione con Privacy Hub policy generator
1.2.0
Pagina pubblica partecipanti: iscrizione manuale (nome + email + orario opzionale) con generazione QR e invio email automatico
Pagina pubblica partecipanti: modifica orario assegnato con modal dedicato (bottone 🕐)
Pagina pubblica partecipanti: export CSV lato client con filtro attivo
Fix sfarfallio hover sulla tabella partecipanti
Bottoni azioni a dimensione fissa per stabilità layout
1.1.0
Approvazione con assegnazione orario
Form orario inline nel link di approvazione email
Nuovo placeholder email {orario}
Se assegnazione orario è attiva, la data evento mostra solo il giorno (senza ora)
Colonna "Orario assegnato" nella tabella partecipanti admin e nel CSV export
Libreria phpqrcode refactorizzata con namespace isolato (DBEM_QRcode_Lib) per evitare conflitti
Generazione QR via file temporaneo per compatibilità con ambienti restrittivi
Fix timezone: le date vengono visualizzate in ora locale senza doppia conversione
Nuove costanti protette con if (!defined(...)) per convivenza con altri plugin QR
Stati "In attesa" e "Rifiutato" aggiunti ai label export CSV
1.0.0
Release iniziale
Gestione eventi con CPT, categorie, meta
Form iscrizione integrato + integrazione DB Form Builder
Modalità accettazione automatica e con approvazione
Approvazione via email con bottoni Approva/Rifiuta (link HMAC)
QR code con phpqrcode (libreria PHP pura affidabile)
Check-in con scanner QR — pagina pubblica con PIN
Ricerca partecipanti cross-evento
Email: conferma, pending, approvazione, rifiuto, promemoria, survey, annullamento
Survey post-evento con link univoco
Gestione partecipanti con 5 stati, tooltip, azioni bulk, export CSV
Shortcode con parametri: past, limit, cols, category
Blocchi Gutenberg
Aggiornamenti automatici da GitHub
Design system admin condiviso (db-admin-ui.css)
Accessibilità WCAG 2.1 AA