DB Event Manager
v1.3.0DB Event Manager
Gestione eventi con iscrizione, QR code personale, check-in da telefono e survey post-evento. Approvazione manuale con assegnazione orario, pagina partecipanti pubblica, prova del consenso GDPR per ogni iscrizione. Niente piattaforme esterne, niente account, niente costi ricorrenti.
L’idea di fondo
Gestire eventi con iscrizione online non dovrebbe richiedere un account Eventbrite, un abbonamento mensile a un SaaS, o un plugin freemium che ti mostra la lista partecipanti solo nella versione Pro. Serve creare un evento, raccogliere iscrizioni, generare un QR code per ogni partecipante, fare check-in all’ingresso con lo scanner del telefono, e poi mandare un survey per capire com’è andata.
DB Event Manager fa esattamente questo, tutto dentro WordPress. Il form iscrizione ha campi personalizzabili drag & drop, la checkbox GDPR con link alla privacy policy, l’approvazione manuale con possibilità di assegnare un orario a ogni partecipante. Il QR code viene generato con una libreria PHP pura a namespace isolato che funziona su qualsiasi hosting. Il check-in funziona dal telefono, senza app, senza login WordPress.
Dalla 1.3.0, ogni iscrizione con checkbox GDPR attiva salva la prova esplicita del consenso ricevuto: testo letto, timestamp, URL informativa, versione della Privacy Policy in vigore. Le DSAR di WordPress sono integrate nativamente con doppio canale (Privacy Hub + core WP).
Principi
QR code generato in PHP puro. Scanner QR con html5-qrcode inclusa localmente. Nessun CDN per funzionalità core. Nessuna dipendenza esterna obbligatoria.
Checkbox GDPR configurabile per evento con testo, link privacy, salvataggio prova del consenso. Linking alla versione esatta della Privacy Policy tramite Privacy Hub.
Export e cancellazione dati personali integrati con WordPress core. Doppio canale: filter Hub primario, fallback core WP. La cancellazione rimuove anche i file QR code.
Pagina pubblica check-in ottimizzata per telefono. PIN di protezione, scanner QR integrato, feedback visivo grande e chiaro. Niente app, niente login.
Pagina pubblica partecipanti con PIN: la referente dell’evento gestisce iscrizioni, approva, assegna orari e fa check-in senza accesso all’admin WordPress.
L’unica connessione esterna è il GitHub Updater per gli aggiornamenti automatici. Il plugin non contatta server esterni, non raccoglie telemetria, non ha account.
Caratteristiche principali
Gestione completa
CPT con nome, descrizione Gutenberg, data inizio/fine, luogo, posti disponibili. Categorie gerarchiche, stati automatici (bozza, in programma, concluso). Chiusura automatica iscrizioni a posti esauriti o deadline.
Form personalizzabile
Campi drag & drop (text, email, tel, textarea, select, radio, checkbox, number, date, url). Honeypot anti-spam, rate limiting, barra progresso posti. Due modalità: form integrato o DB Form Builder.
Con assegnazione orario
Modalità manuale: l’approvatore riceve email con bottoni Approva/Rifiuta. Se attiva l’assegnazione orario, cliccando Approva si apre un form con campo orario. Link protetti con HMAC, non indovinabili.
PHP puro, namespace isolato
QR code generato con phpqrcode, classi prefissate DBEM_ per evitare conflitti con qualsiasi altro plugin. Allegato all’email di conferma come PNG. Leggibile da qualsiasi scanner.
Scanner QR da telefono
Pagina pubblica protetta da PIN. Scanner fotocamera integrato (html5-qrcode). Ricerca manuale per nome/email. Feedback visivo immediato con icona, testo e colore. Riavvio automatico scanner.
Pagina pubblica con azioni
Lista iscritti con filtri per stato, contatore presenti/iscritti. Azioni: approva, rifiuta, check-in, reinvia email, modifica orario. Iscrizione manuale. Export CSV. Protetta da PIN.
Template con placeholder
Conferma, pending, approvazione, rifiuto, promemoria, survey, annullamento. Placeholder: {nome}, {email}, {evento}, {data_evento}, {luogo}, {orario}, {qrcode_url}.
Post-evento con link univoco
Campi configurabili per evento. Link univoco per partecipante, niente login. Invio manuale o automatico via cron. Riepilogo risposte con conteggi. Export CSV.
GDPR by design
Checkbox GDPR configurabile per evento con testo e link. Prova del consenso (art. 7.1): testo, timestamp, URL privacy, versione policy. DSAR export + erase con doppio canale. Dichiarazioni trattamenti al Privacy Hub.
Flusso operativo
Modalita automatica
Utente compila il form → validazione + check posti + honeypot
Iscrizione salvata → status
confirmedQR code generato → email conferma con QR allegato
All’ingresso evento → scanner QR da telefono con PIN
Dopo l’evento → email survey automatica o manuale
Modalita con approvazione e orario
pending, email “in attesa”Approvatore riceve email → bottoni Approva / Rifiuta (link HMAC)
Clic su Approva → form con campo orario + riepilogo iscrizione
Inserisce orario e conferma → status
confirmed, QR generato, email con orarioClic su Rifiuta → status
rejected, email notifica all’iscritto
Integrazione con l’ecosistema DB
Il plugin funziona in completa autonomia, ma se sono presenti altri plugin DB sul sito le integrazioni si attivano automaticamente.
DB Form Builder 2.0.0+ — usa un form DBFB esistente come form di iscrizione. DBFB gestisce validazione e campi, DBEM gestisce iscrizione + QR + email.
DB Privacy Hub 1.0.0+ — il plugin dichiara 3 trattamenti nel registro privacy unificato via filter dbph_processing_register. Le DSAR vengono tracciate nello Storico DSAR del Hub.
DB Privacy Hub 1.3.0+ — dalla 1.3.0, il plugin dichiara la propria fonte di consensi al filter dbph_consents_register. Ogni iscrizione con consenso prestato e linkata all’ID della versione Privacy Policy in vigore.
DB SEO Manager 1.2.x — retro-compatibilita con il filter legacy dbseo_processing_register.
Pannello di amministrazione
Menu top-level Event Manager con sotto-pagine.
| Pagina | Funzione |
|---|---|
| Tutti gli Eventi | Lista eventi con stato, conteggio iscritti, categorie |
| Aggiungi Evento | Editor con metabox dettagli, iscrizioni (campi drag & drop, GDPR, approvazione, orario), email, survey |
| Partecipanti | Tabella per evento con stati, check-in, orario, azioni singole e bulk, export CSV |
| Check-in | Scanner QR admin + ricerca manuale + contatore presenti |
| Survey | Riepilogo risposte con conteggi, export CSV |
| Impostazioni | Pagina elenco eventi, PIN check-in/partecipanti, link pagine pubbliche, shortcode disponibili |
Pagine pubbliche
Quattro URL pubblici, ciascuno con il proprio sistema di protezione. Nessuno richiede login WordPress.
| URL | Funzione | Protezione |
|---|---|---|
/?dbem_checkin_page=1 | Check-in con scanner QR da telefono | PIN |
/?dbem_participants_page=1 | Lista partecipanti con azioni e export | PIN |
/?dbem_checkin={token} | Check-in diretto da scansione QR | Token univoco |
/?dbem_survey={token} | Survey post-evento | Token univoco |
Shortcode e blocchi Gutenberg
| Shortcode | Funzione |
|---|---|
| Dettagli evento + form iscrizione |
| Lista eventi futuri |
| Lista eventi passati |
| Limita il numero di eventi |
| Layout a 2 colonne |
| Filtra per categoria (anche multipla con virgola) |
Tutti i parametri sono combinabili. Disponibili anche due blocchi Gutenberg: “Evento singolo” e “Lista eventi”.
Quanto costa
| Funzionalita | Prezzo |
|---|---|
| Gestione eventi con CPT, categorie, stati automatici | GRATIS |
| Form iscrizione drag & drop con campi personalizzabili | GRATIS |
| Approvazione manuale con assegnazione orario | GRATIS |
| QR code personale con email di conferma | GRATIS |
| Check-in con scanner QR da telefono | GRATIS |
| Pagina pubblica partecipanti con azioni | GRATIS |
| Iscrizione manuale e modifica orario | GRATIS |
| Survey post-evento con link univoco | GRATIS |
| Email automatiche con placeholder dinamici | GRATIS |
| Export CSV partecipanti e survey | GRATIS |
| Checkbox GDPR configurabile con link privacy | GRATIS |
| Prova del consenso GDPR (art. 7.1) | GRATIS |
| DSAR integration (export + erase) con doppio canale | GRATIS |
| Dichiarazioni trattamenti al Privacy Hub | GRATIS |
| Integrazione con DB Form Builder | GRATIS |
| Blocchi Gutenberg + shortcode | GRATIS |
| Aggiornamenti automatici da GitHub | GRATIS |
| Accessibilita WCAG 2.1 AA | GRATIS |
| Supporto | Community (GitHub Issues) |
Nessun tier Pro. Nessun limite sul numero di eventi o iscritti. Nessun costo nascosto.
Installazione
- Scarica il file ZIP da questa pagina o da GitHub Releases
- WordPress admin → Plugin → Aggiungi nuovo → Carica plugin → seleziona ZIP → Installa ora → Attiva
- Vai in Impostazioni → Permalink → Salva modifiche per rigenerare le regole di rewrite
- Vai a Event Manager → Aggiungi Evento: compila nome, date, luogo, configura form iscrizione e checkbox GDPR
- Scegli la modalita: accettazione automatica o con approvazione. Se approvazione, abilita “Assegnazione orario”
- Personalizza l’email di conferma con i placeholder. Usa
{orario}per includere l’orario assegnato - Pubblica l’evento e inseriscilo in una pagina con il blocco Gutenberg o lo shortcode
Evento non trovato.
- (Opzionale) Imposta un PIN in Event Manager → Impostazioni per le pagine pubbliche check-in e partecipanti
- (Consigliato) Installa DB Privacy Hub per il registro privacy + Privacy Policy generata + Registro consensi unificato
Struttura del plugin
db-event-manager/ ├── db-event-manager.php # bootstrap, costanti, marker DSAR_AVAILABLE ├── README.md ├── LICENSE ├── assets/ │ ├── css/ │ │ ├── db-admin-ui.css # design system condiviso │ │ ├── admin.css │ │ └── frontend.css │ └── js/ │ ├── admin.js │ ├── frontend.js │ ├── checkin.js # scanner QR admin │ ├── blocks.js # blocchi Gutenberg │ └── vendor/ │ ├── html5-qrcode.min.js # scanner QR (375KB, locale) │ └── Sortable.min.js # drag & drop campi (45KB, locale) ├── inc/ │ ├── class-updater.php # GitHub auto-updater │ ├── class-db.php # tabelle custom + CRUD + migrazione schema │ ├── class-cpt.php # CPT dbem_event + tassonomia │ ├── class-admin.php # metabox, menu, partecipanti, bulk │ ├── class-frontend.php # render evento + form iscrizione │ ├── class-registration.php # gestione iscrizioni + consent capture │ ├── class-email.php # email con placeholder + QR allegato │ ├── class-qrcode.php # wrapper phpqrcode con namespace DBEM_ │ ├── class-checkin.php # check-in admin + pubblico + partecipanti │ ├── class-survey.php # survey post-evento │ ├── class-export.php # export CSV │ ├── class-cron.php # WP Cron: promemoria, survey auto │ ├── class-shortcodes.php │ ├── class-gutenberg.php │ ├── class-privacy-declarations.php # dichiarazioni trattamenti + consent register │ ├── class-privacy-dsar.php # DSAR export/erase dual channel │ └── lib/ │ └── phpqrcode.php # QR code PHP pura (LGPL 3), classi DBEM_* └── templates/ ├── single-dbem_event.php ├── archive-dbem_event.php ├── admin/ │ ├── checkin.php │ ├── participants.php │ └── survey.php └── frontend/ ├── checkin.php # pagina pubblica check-in con PIN ├── participants.php # pagina pubblica partecipanti con PIN └── survey.php
Changelog
Privacy integration GDPR + checkbox configurabile
- Integrazione ecosistema privacy: dichiarazioni trattamenti al Privacy Hub, DSAR export/erase con doppio canale, consent storage con 5 colonne GDPR
- Checkbox GDPR configurabile per evento: on/off, testo personalizzabile, link privacy policy con fallback a pagina Privacy WP
- Link “Leggi l’informativa privacy” cliccabile nel form di iscrizione
- Costante
DBEM_DSAR_AVAILABLEper integrazione con Privacy Hub policy generator - Dichiarazione email privacy con mittente configurato e info trasporto SMTP
- Filter
dbph_consents_register: esposizione consensi al Registro consensi unificato del Hub
Pagina pubblica partecipanti + iscrizione manuale
- Pagina pubblica partecipanti con PIN, filtri stato, azioni (approva/rifiuta/check-in/reinvia email)
- Iscrizione manuale da pagina pubblica (nome + email + orario opzionale)
- Modifica orario assegnato con modal dedicato
- Export CSV lato client con filtro attivo
- Fix sfarfallio hover sulla tabella partecipanti
Approvazione con assegnazione orario
- Approvazione con assegnazione orario: form inline nel link email con campo orario + riepilogo
- Nuovo placeholder email
{orario} - Colonna “Orario assegnato” nella tabella partecipanti e nel CSV export
- Libreria phpqrcode refactorizzata con namespace isolato (
DBEM_QRcode_Lib) - Fix timezone: date in ora locale corretta senza doppia conversione
Release iniziale
- Gestione eventi con CPT, categorie, meta
- Form iscrizione integrato + integrazione DB Form Builder
- Approvazione via email con bottoni HMAC
- QR code con phpqrcode (PHP puro)
- Check-in con scanner QR — pagina pubblica con PIN
- Email: conferma, pending, approvazione, rifiuto, promemoria, survey, annullamento
- Survey post-evento con link univoco
- Shortcode con parametri + Blocchi Gutenberg
- Aggiornamenti automatici da GitHub
- Accessibilita WCAG 2.1 AA
Other Plugins
DB Privacy Hub
Open Source — GPL v2 DB Privacy Hub Hub privacy unificato per l’ecosistema plugin DB. Genera la Privacy Policy che…
DB SEO Manager
Open Source — GPL v2 DB SEO Manager SEO completa per WordPress, costruita prima di tutto per il GDPR. Niente…
DB Site Analytics
DB Site Analytics Tracciamento visite server-side: nessun cookie, nessun servizio esterno, solo visite reali. I dati restano nel tuo database.…