Skip to content

Releases: mavidasnc/wp-alpinebits-reservation

v0.3.2 — Campi inpiazzola/lunghezza nel commento

Choose a tag to compare

@miziomon miziomon released this 23 Jun 13:18

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

Choose a tag to compare

@miziomon miziomon released this 23 Jun 12:02

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

Choose a tag to compare

@miziomon miziomon released this 23 Jun 11:42

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 campi array_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.children per mappare la seconda piazzola (piazzola2, adulti2, eta1 2, …).

Vedi CHANGELOG per la cronologia completa.

v0.2.4 — Fix compatibilità PHP 8.1 (readonly class)

Choose a tag to compare

@miziomon miziomon released this 23 Jun 10:46

Cosa cambia

Corretto

  • ApiResponse: rimosso readonly class (PHP 8.2+) e sostituito con readonly sulle singole proprietà del costruttore (PHP 8.1 compatibile). Il plugin dichiara Requires PHP: 8.1 e il server di produzione causava un PHP Parse error al caricamento del plugin.

Vedi CHANGELOG per la cronologia completa.

v0.2.3 — Fix avviso WP 6.7 translation loading

Choose a tag to compare

@miziomon miziomon released this 23 Jun 10:44

Cosa cambia

Corretto

  • Avviso WordPress 6.7+ _load_textdomain_just_in_time was called incorrectly: load_plugin_textdomain() spostato sull'hook init; le label dei tab di AdminMenu ora vengono inizializzate in modo lazy (al primo accesso dopo init) invece che nel costruttore.

Vedi CHANGELOG per la cronologia completa.

v0.2.2 — Risposta API sempre visibile nel log

Choose a tag to compare

@miziomon miziomon released this 23 Jun 10:19

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

Choose a tag to compare

@miziomon miziomon released this 12 Jun 12:07

Fix in v0.2.1

Corretto

  • Build ZIP di rilascio: usa git archive per garantire l'inclusione di tutti i file tracciati. Nella v0.2.0 il file principale wp-alpinebits-reservation.php era assente dallo ZIP causando l'errore "file del plugin non esiste" all'installazione.
  • Aggiunto script build.py per la generazione del pacchetto di distribuzione.
  • Aggiunto *.zip al .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

Choose a tag to compare

@miziomon miziomon released this 12 Jun 11:53

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_data per 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 da Options.
  • Tab Connessione: rimossa la sezione «Aggiornamenti GitHub» (non più configurabile dall'admin).
  • Options: aggiunti notifications() e save_notifications(); rimossi i metodi github_owner/repo.
  • Sender: i dati CF7 vengono salvati nel DB e passati a Notifier sia all'invio che al reinvio.

v0.1.0 — Initial release

Choose a tag to compare

@miziomon miziomon released this 12 Jun 10:55

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 status e gender).
  • Tabella custom DB {prefix}alpinebits_reservations per il tracciamento di ogni invio con stato pending/success/error, payload JSON e risposta API.
  • Pulsante Reinvia nel tab Invii (riusa lo stesso externalid per 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 children si 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.