Files
2026-08-09 07:01:23 +02:00

47 lines
1.3 KiB
PHP

<?php
require_once('include/headscript.php');
/**
* Elimina completamente una classe schedulata (serviceschedule) insieme
* a tutte le sue prenotazioni (bookingclass), in un'unica transazione.
*
* Script di sola logica: nessun output, redirect finale.
*/
$pdo = DBHandlerSelect::getInstance()->getConnection();
$idserviceschedule = isset($_GET['idserviceschedule']) ? (int) $_GET['idserviceschedule'] : 0;
if ($idserviceschedule <= 0) {
header('Location: adminpanel.php?error=invalid');
exit;
}
try {
$pdo->beginTransaction();
// 1) Rimuove le prenotazioni collegate a questa schedulazione
$delBookings = $pdo->prepare(
"DELETE FROM bookingclass WHERE idserviceschedule = :id"
);
$delBookings->execute([':id' => $idserviceschedule]);
// 2) Rimuove la schedulazione stessa
$delSchedule = $pdo->prepare(
"DELETE FROM serviceschedule WHERE idserviceschedule = :id"
);
$delSchedule->execute([':id' => $idserviceschedule]);
$pdo->commit();
header('Location: adminpanel.php?success=4');
exit;
} catch (Throwable $ex) {
if ($pdo->inTransaction()) {
$pdo->rollBack();
}
// Log server-side, messaggio generico all'utente
error_log('removeschedule error: ' . $ex->getMessage());
header('Location: adminpanel.php?error=delete');
exit;
}