Repository navigation
Releases: mavidasnc/wp-alpinebits-reservation
Release list
v0.3.2 — Campi inpiazzola/lunghezza nel commento
Cosa cambia
Nuovo gruppo "Informazioni aggiuntive (→ commento)"
I campi inpiazzola, lunghezza, inpiazzola2, lunghezza2 non hanno un percorso dedicato nell'API AlpineBits. Invece di ignorarli, vengono ora mappabili nel tab Mapping sotto il gruppo "Informazioni aggiuntive (→ commento)" e accodati automaticamente al campo comment del payload.
Formato risultante nel commento:
[eventuale commento CF7]
Piazzola 1: tenda
Lunghezza 1: 6m
Piazzola 2: bungalow
Lunghezza 2: 4m
Se il campo Commento non è mappato, il testo extra diventa il commento stesso.
Vedi CHANGELOG per la cronologia completa.
v0.3.1 — Tariffe condivise + tag input raccolta campi
Cosa cambia
Nuovo gruppo "Tariffe (camere)"
Piano tariffario e Totale camera escono dai gruppi Camera 1/2 e vanno in una sezione dedicata. Il valore configurato viene applicato automaticamente a tutte le camere presenti nel payload — basta impostarlo una volta sola.
Tag input per la raccolta multi-campo
Sostituisce il precedente <select multiple> con una UI a pill/tag:
- I campi già selezionati appaiono come etichette blu con × per rimuoverle
- Una dropdown separata (riga sotto) permette di aggiungere nuovi campi
- Costruita interamente in vanilla JS + jQuery, zero dipendenze esterne
Vedi CHANGELOG per la cronologia completa.
v0.3.0 — Reinvio con mapping aggiornato + Camera 2 + raccolta multi-campo
Cosa cambia
Aggiunto
- Reinvio con mapping aggiornato: il pulsante "Reinvia" ricostruisce il payload dai dati CF7 originali applicando la mappatura corrente. Consente di correggere la mappatura e reinviare senza perdere i dati originali. Genera sempre un nuovo
externalid. - Raccolta multi-campo (
__collect:): nel tab Mapping, per i campiarray_int(come l'età bambini), è ora disponibile l'opzione "Raccolta multi-campo" con un multi-select per scegliere più campi CF7. I campi vuoti vengono ignorati automaticamente. - Camera 2: schema API esteso con
rooms.1.category,rooms.1.occupants.adults,rooms.1.occupants.childrenper mappare la seconda piazzola (piazzola2,adulti2,eta1 2, …).
Vedi CHANGELOG per la cronologia completa.
v0.2.4 — Fix compatibilità PHP 8.1 (readonly class)
Cosa cambia
Corretto
ApiResponse: rimossoreadonly class(PHP 8.2+) e sostituito conreadonlysulle singole proprietà del costruttore (PHP 8.1 compatibile). Il plugin dichiaraRequires PHP: 8.1e il server di produzione causava unPHP Parse erroral caricamento del plugin.
Vedi CHANGELOG per la cronologia completa.
v0.2.3 — Fix avviso WP 6.7 translation loading
Cosa cambia
Corretto
- Avviso WordPress 6.7+
_load_textdomain_just_in_time was called incorrectly:load_plugin_textdomain()spostato sull'hookinit; le label dei tab diAdminMenuora vengono inizializzate in modo lazy (al primo accesso dopoinit) invece che nel costruttore.
Vedi CHANGELOG per la cronologia completa.
v0.2.2 — Risposta API sempre visibile nel log
Cosa cambia
Aggiunto
- Tab Invii: barra di meta-info nel dettaglio inline (codice HTTP, numero di tentativi, data e ora dell'ultimo invio).
- Tab Invii: la colonna "Risposta API" è ora sempre visibile nel dettaglio, anche quando vuota (mostra
—).
Corretto
- Quando la chiamata API fallisce per errore di trasporto WP (timeout, DNS, SSL), il messaggio di errore viene ora serializzato come JSON e salvato nella colonna
response, rendendolo visibile nel log invece di risultare vuoto.
Vedi CHANGELOG per la cronologia completa.
v0.2.1 — Fix build ZIP
Fix in v0.2.1
Corretto
- Build ZIP di rilascio: usa
git archiveper garantire l'inclusione di tutti i file tracciati. Nella v0.2.0 il file principalewp-alpinebits-reservation.phpera assente dallo ZIP causando l'errore "file del plugin non esiste" all'installazione. - Aggiunto script
build.pyper la generazione del pacchetto di distribuzione. - Aggiunto
*.zipal.gitignore; il file di rilascio viene salvato nella cartella del plugin.
Vedi v0.2.0 per tutte le nuove funzionalità di questa versione.
v0.2.0 — Notifiche email, check aggiornamenti, mapping checkmarks
Novità in v0.2.0
Aggiunto
- Tab Notifiche: configurazione email con indirizzo destinatario, oggetto e corpo con placeholder
{field_name}; allegato automatico JSON con tutti i dati CF7; trigger separati per successo API, errore API e reinvio riuscito. - Pulsante «Controlla aggiornamenti» nel tab Connessione: verifica via API GitHub Releases, mostra la versione disponibile e un link diretto alla schermata di aggiornamento standard di WordPress.
- Spunta verde (✓) e sfondo tenue sulle righe già mappate nel tab Mapping.
- Link «Impostazioni» e «GitHub» nella riga del plugin nell'elenco plugin WP (
plugin_action_links_). - Migrazione DB automatica v1.0 → v1.1: colonna
cf7_dataper conservare i dati CF7 originali (usati nelle notifiche di reinvio). Activator::maybe_upgrade()per migrazioni incrementali eseguite a ogni avvio.
Modificato
GitHubUpdater: owner e repo hardcoded come costanti di classe; rimossa dipendenza daOptions.- Tab Connessione: rimossa la sezione «Aggiornamenti GitHub» (non più configurabile dall'admin).
Options: aggiuntinotifications()esave_notifications(); rimossi i metodi github_owner/repo.Sender: i dati CF7 vengono salvati nel DB e passati aNotifiersia all'invio che al reinvio.
v0.1.0 — Initial release
v0.1.0 — Initial release
Aggiunto
- Intercettazione invio form Contact Form 7 tramite hook
wpcf7_before_send_mail. - Pannello di amministrazione a 4 tab: Connessione, Moduli, Mapping, Invii.
- GUI di mapping: associazione visuale tra campi API AlpineBits e campi del form CF7; supporto valori costanti fissi (incluso enum per
statusegender). - Tabella custom DB
{prefix}alpinebits_reservationsper il tracciamento di ogni invio con statopending/success/error, payload JSON e risposta API. - Pulsante Reinvia nel tab Invii (riusa lo stesso
externalidper idempotenza). - Credenziali Basic Auth cifrate con AES-256-CBC; override via costanti
wp-config.php. - Aggiornamenti automatici tramite questa pagina di release (yahnis-elsts/plugin-update-checker).
- PHPCS con ruleset WordPress-Extra + PHPCompatibility PHP 8.1 — 0 errori.
Limitazioni v0.1.0
- La GUI di mapping supporta una sola camera per prenotazione (
rooms.0.*). Multi-camera previsto in una versione futura. - Il campo
childrensi inserisce nel form CF7 come lista di età separate da virgola (es.5,8). - Un errore API non blocca l'invio del form CF7 all'utente finale; la submission è recuperabile dal tab Invii.
Installazione
Scarica wp-alpinebits-reservation-v0.1.0.zip e caricalo dalla bacheca WordPress (Plugin → Aggiungi nuovo → Carica plugin), oppure decomprimi nella cartella wp-content/plugins/. Dopo l'attivazione esegui la configurazione dal menu AlpineBits nella barra laterale dell'admin.