added statistic and remove froms school
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
session_start();
|
||||
include('include/headscript.php');
|
||||
|
||||
header('Content-Type: application/json');
|
||||
|
||||
if (!isset($_SESSION['iduserlogin'])) {
|
||||
echo json_encode(['success' => false, 'message' => 'Non autorizzato']);
|
||||
exit;
|
||||
}
|
||||
|
||||
$dbHandler = DBHandlerSelect::getInstance();
|
||||
$pdo = $dbHandler->getConnection();
|
||||
|
||||
$booking_id = (int)($_POST['booking_id'] ?? 0);
|
||||
$user_id = (int)$_SESSION['iduserlogin'];
|
||||
|
||||
if ($booking_id <= 0) {
|
||||
echo json_encode(['success' => false, 'message' => 'ID prenotazione non valido']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Verifica che la prenotazione appartenga all'utente e sia cancellabile
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT sb.id
|
||||
FROM session_bookings sb
|
||||
JOIN class_sessions cs ON sb.session_id = cs.id
|
||||
WHERE sb.id = ?
|
||||
AND sb.user_id = ?
|
||||
AND sb.status = 'booked'
|
||||
AND cs.session_date > DATE_ADD(NOW(), INTERVAL 24 HOUR)
|
||||
");
|
||||
$stmt->execute([$booking_id, $user_id]);
|
||||
if (!$stmt->fetch()) {
|
||||
echo json_encode(['success' => false, 'message' => 'Prenotazione non trovata, non tua, già annullata o non più cancellabile (entro 24 ore)']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Aggiorna status a 'cancelled'
|
||||
$stmt = $pdo->prepare("
|
||||
UPDATE session_bookings
|
||||
SET status = 'cancelled',
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE id = ?
|
||||
");
|
||||
$success = $stmt->execute([$booking_id]);
|
||||
|
||||
echo json_encode([
|
||||
'success' => $success,
|
||||
'message' => $success ? 'Prenotazione annullata con successo' : 'Errore durante l\'aggiornamento'
|
||||
]);
|
||||
Reference in New Issue
Block a user