39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php
|
|
// Buffer per scartare eventuale HTML degli include: risposta JSON pulita
|
|
ob_start();
|
|
require_once('include/headscript.php');
|
|
|
|
/**
|
|
* Conferma una prenotazione in attesa: pending -> booked.
|
|
*/
|
|
$pdo = DBHandlerSelect::getInstance()->getConnection();
|
|
|
|
function jsonOut(array $payload): void
|
|
{
|
|
if (ob_get_length() !== false) {
|
|
ob_end_clean();
|
|
}
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
echo json_encode($payload, JSON_UNESCAPED_UNICODE);
|
|
exit;
|
|
}
|
|
|
|
$idbookingclass = isset($_POST['idbookingclass']) ? (int) $_POST['idbookingclass'] : 0;
|
|
|
|
if ($idbookingclass <= 0) {
|
|
jsonOut(['success' => false, 'error' => 'ID prenotazione non valido.']);
|
|
}
|
|
|
|
try {
|
|
// Conferma solo se effettivamente in pending (evita conferme accidentali)
|
|
$stmt = $pdo->prepare(
|
|
"UPDATE bookingclass SET status = 'booked'
|
|
WHERE idbookingclass = :id AND status = 'pending'"
|
|
);
|
|
$stmt->execute([':id' => $idbookingclass]);
|
|
jsonOut(['success' => true]);
|
|
} catch (Throwable $ex) {
|
|
error_log('conferma_pending error: ' . $ex->getMessage());
|
|
jsonOut(['success' => false, 'error' => 'Errore durante la conferma.']);
|
|
}
|