regenrates pages
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
<?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;
|
||||
}
|
||||
Reference in New Issue
Block a user