diff --git a/public/cancellazioni.php b/public/cancellazioni.php index 4050c24..6237eba 100644 --- a/public/cancellazioni.php +++ b/public/cancellazioni.php @@ -256,6 +256,8 @@ foreach ($rows as $r) {
Ciao " . htmlspecialchars($userName ?: 'Yogi') . ",
-La tua lezione è stata cancellata.
+La tua lezione è stata cancellata.
" . ($ticketLost ? " +Avendo già usato tutte le riprogrammazioni del pacchetto, questa lezione non potrà essere recuperata.
" : "") . "
Lezione: " . htmlspecialchars($className) . "
Data/ora prevista: " . htmlspecialchars($classDateTxt) . "
@@ -265,5 +276,5 @@ try {
}
// Redirect
-header("Location: userpanel.php?deleted=1");
+header("Location: userpanel.php?deleted=" . ($ticketLost ? 'lost' : '1'));
exit();
diff --git a/public/logs/mail_cancel.log b/public/logs/mail_cancel.log
index 6d6f3b8..f889b66 100644
--- a/public/logs/mail_cancel.log
+++ b/public/logs/mail_cancel.log
@@ -4,3 +4,7 @@
[2026-10-14 08:44:30] OK inviata. booking_id=70 user_id=2 to=info@claudiosironi.com lezione='Aerial Yoga - base' prevista='21-10-2026 18:30' cancellata='14-10-2026 08:44'
[2026-10-14 08:46:52] SMTP in uso host=mail.yogasoul.it porta=465 enc=ssl user=info@yogasoul.it
[2026-10-14 08:46:54] OK inviata. booking_id=60 user_id=2 to=info@claudiosironi.com lezione='Aerial Yoga - base' prevista='29-10-2026 20:15' cancellata='14-10-2026 08:46'
+[2026-10-14 13:46:38] SMTP in uso host=mail.yogasoul.it porta=465 enc=ssl user=info@yogasoul.it
+[2026-10-14 13:46:39] OK inviata. booking_id=58 user_id=2 to=info@claudiosironi.com lezione='Aerial Yoga - base' prevista='15-10-2026 20:15' cancellata='14-10-2026 13:46'
+[2026-10-14 13:55:35] SMTP in uso host=mail.yogasoul.it porta=465 enc=ssl user=info@yogasoul.it
+[2026-10-14 13:55:35] OK inviata. booking_id=71 user_id=2 to=info@claudiosironi.com lezione='Aerial Yoga - base' prevista='22-10-2026 20:15' cancellata='14-10-2026 13:55'
diff --git a/public/situationusers.php b/public/situationusers.php
index bdc3288..0173687 100644
--- a/public/situationusers.php
+++ b/public/situationusers.php
@@ -26,10 +26,10 @@ SELECT
MAX(cert.ultima_scadenza) AS ultima_scadenza_cert,
MAX(CASE WHEN cert.ultima_scadenza IS NULL OR cert.ultima_scadenza < CURDATE() THEN 1 ELSE 0 END) AS certificato_scaduto,
COUNT(CASE WHEN bookingclass.bookingstart <= CURDATE() AND bookingclass.lostlesson = 'N' THEN 1 END) AS lezioni_praticate,
- COUNT(CASE WHEN bookingclass.bookingstart > CURDATE() THEN 1 END) AS lezioni_programmate,
+ COUNT(CASE WHEN bookingclass.bookingstart > CURDATE() AND bookingclass.lostlesson = 'N' THEN 1 END)AS lezioni_programmate,
COUNT(CASE WHEN bookingclass.lostlesson = 'Y' THEN 1 END) AS lezioni_perse,
COALESCE(orderbook_lessons.lezioni_acquistate, 0)
- - COUNT(CASE WHEN bookingclass.bookingstart > CURDATE() THEN 1 END)
+ - COUNT(CASE WHEN bookingclass.bookingstart > CURDATE() AND bookingclass.lostlesson = 'N' THEN 1 END)
- COUNT(CASE WHEN bookingclass.bookingstart <= CURDATE() AND bookingclass.lostlesson = 'N' THEN 1 END)
- COUNT(CASE WHEN bookingclass.lostlesson = 'Y' THEN 1 END) AS lezioni_da_programmare
FROM auth_users
diff --git a/public/userpanel.php b/public/userpanel.php
index 5299a68..478a248 100644
--- a/public/userpanel.php
+++ b/public/userpanel.php
@@ -498,20 +498,23 @@ $italianMonths = [
});
}
- function confirmDeleteOnly(idbookingclass, expirydate) {
+ function confirmDeleteOnly(idbookingclass, expirydate, ticketLost) {
+ var html = ticketLost ?
+ `Confermi di voler cancellare questa lezione?
+ Hai già usato tutte le riprogrammazioni del tuo pacchetto.
+ Cancellando liberi il posto in sala, ma
+ la lezione non potrà essere recuperata. ` :
+ `Confermi di voler cancellare questa lezione?
+ RICORDA: dovrai riprogrammarla entro la scadenza del tuo abbonamento per non perderla!
+ La cancellazione conta come una delle riprogrammazioni disponibili per il tuo pacchetto.
+ Scadenza: ${expirydate}`;
+
Swal.fire({
title: "Attenzione",
- html: `
- Confermi di voler cancellare questa lezione?
- RICORDA: dovrai riprogrammarla entro la scadenza del tuo abbonamento per non perderla!
- La cancellazione conta come una delle riprogrammazioni disponibili per il tuo pacchetto.
-
- Scadenza: ${expirydate}
-
- `,
+ html: html,
icon: "warning",
showCancelButton: true,
- confirmButtonText: "Procedi",
+ confirmButtonText: ticketLost ? "Cancella comunque" : "Procedi",
cancelButtonText: "Annulla",
confirmButtonColor: "#d33",
cancelButtonColor: "#3085d6"
@@ -667,6 +670,13 @@ $italianMonths = [