# DPass 61D4 — Divisore Strutture personalizzabile IT/EN

Base richiesta: progetto locale riallineato fino alla 61D3.

## Funzione
Cambia solo l'intestazione del gruppo Strutture nel menu utente condiviso.
Le variabili sono facoltative e valgono per l'intera installazione:

```dotenv
DPASS_FACILITY_MENU_LABEL_IT="Aree Camper"
DPASS_FACILITY_MENU_LABEL_EN="Motorhome Areas"
```

Senza variabili, con valori vuoti o solo spazi, rimangono Strutture in italiano e
Facilities in inglese. Il ripiego e indipendente per lingua. La lingua e quella
gia scelta dall'utente. Il testo viene escapato: non e ammesso HTML eseguibile.
Le etichette lunghe vanno a capo. Il menu continua a mostrare le intestazioni in
maiuscolo tramite lo stile gia esistente.

Non cambiano Prenota ingresso / Book entry, Le mie prenotazioni / My bookings,
modulo amministrativo, titoli delle pagine, branding, condizioni di disponibilita,
prenotazioni, importi, pagamenti, limite giorni o disponibilita numerica.

## Applicazione locale (WSL)
Salvare dpass_patch_61D4_etichetta_menu_strutture.zip in C:\Users\massi\Downloads.
Incollare il blocco completo, comprese le parentesi:

```bash
(
  set -e
  cd ~/progetti/dpass
  PATCH_DIR="$(mktemp -d /tmp/dpass_patch_61D4.XXXXXX)"
  unzip -q \
    /mnt/c/Users/massi/Downloads/dpass_patch_61D4_etichetta_menu_strutture.zip \
    -d "$PATCH_DIR"
  bash "$PATCH_DIR/apply_patch.sh" "$PWD"
)
```

L'installer controlla il marcatore 61D3, i prerequisiti e gli hash; crea backup,
applica i sorgenti, esegue i test senza database e invalida la cache standard di
configurazione e le viste compilate. Non modifica il .env. Conflitti non riconosciuti
bloccano l'applicazione; errori successivi alla copia attivano il tentativo di ripristino.
Esito: `[61D4] PATCH 61D4 APPLICATA E VERIFICATA.`

## Personalizzazione facoltativa
Aggiungere o modificare UNA SOLA riga per ciascuna delle due variabili nel .env
locale. Non sostituire il .env con ENV_61D4.example e non duplicare le chiavi.
Dopo la modifica:

```bash
cd ~/progetti/dpass
php artisan config:clear
```

Ricaricare la pagina e provare italiano/inglese. Senza modificare il .env il menu
resta identico al precedente: e il comportamento previsto.

Il limite DPASS_FACILITY_BOOKING_MAX_DAYS resta intatto.
Il .env e globale all'installazione: non consente etichette diverse per Comuni che
condividono la stessa installazione.

## Database e dipendenze
Nessuna migration, query SQL, modifica Composer/NPM o cron. Il cumulativo
61A/61B/61D e incluso identico alla 61D3 solo come riferimento; NON eseguirlo
per questa patch e NON applicare separatamente il vecchio SQL 61B.

## Backup e ripristino
Backup in storage/app/patch-backups/dpass_patch_61D4_<data>_<identificativo>.
Marcatore in storage/app/patches/dpass_patch_61D4.json.
Per il solo controllo preventivo usare: bash apply_patch.sh ~/progetti/dpass --check.
Per ripristinare usare, dalla cartella estratta:
`bash rollback.sh ~/progetti/dpass`.
Il ripristino si ferma se trova successive modifiche non riconosciute. Il .env non
e incluso nel backup e non viene modificato o ripristinato.

## Produzione
Solo dopo il collaudo locale: consultare CPANEL_RILASCIO_61D4.md.
I due file applicativi da prendere dal locale sono in FILES_PRODUZIONE_61D4.txt.
Il cumulativo Strutture e aggiornato nell'intestazione, con gli stessi percorsi
precedenti: entrambi i file erano gia compresi nella lista.

## Limiti delle verifiche
PHP 8.4.23, framework/vendor dello ZIP, dati sintetici e nessun database o pagamento.
L'installer ripete sul locale le suite menu, branding e operativita senza database.
Il dettaglio delle verifiche realmente eseguite e in VERIFICHE_E_LIMITI.md.
