60 lines
1.8 KiB
PHP
60 lines
1.8 KiB
PHP
<?php
|
|
session_start();
|
|
include('include/headscript.php'); // ← adatta il path se necessario (da userarea/ sale di due livelli)
|
|
|
|
header('Content-Type: application/json');
|
|
|
|
if (!isset($_SESSION['iduserlogin'])) {
|
|
echo json_encode(['success' => false, 'message' => 'Non autorizzato']);
|
|
exit;
|
|
}
|
|
|
|
$dbHandler = DBHandlerSelect::getInstance();
|
|
$pdo = $dbHandler->getConnection();
|
|
|
|
$school_id = (int)($_POST['school_id'] ?? 0);
|
|
$user_id = (int)$_SESSION['iduserlogin'];
|
|
|
|
if ($school_id <= 0) {
|
|
echo json_encode(['success' => false, 'message' => 'Scuola non valida']);
|
|
exit;
|
|
}
|
|
|
|
// Verifica iscrizione attiva
|
|
$stmt = $pdo->prepare("
|
|
SELECT id FROM user_schools
|
|
WHERE user_id = ? AND school_id = ? AND status = 'active'
|
|
");
|
|
$stmt->execute([$user_id, $school_id]);
|
|
if (!$stmt->fetch()) {
|
|
echo json_encode(['success' => false, 'message' => 'Non sei iscritto a questa scuola']);
|
|
exit;
|
|
}
|
|
|
|
// Soft-delete: imposta status = 'inactive'
|
|
$stmt = $pdo->prepare("
|
|
UPDATE user_schools
|
|
SET status = 'inactive', updated_at = CURRENT_TIMESTAMP
|
|
WHERE user_id = ? AND school_id = ?
|
|
");
|
|
$stmt->execute([$user_id, $school_id]);
|
|
|
|
// Opzionale: resetta scuola corrente in sessione
|
|
if (isset($_SESSION['school_id']) && $_SESSION['school_id'] == $school_id) {
|
|
unset($_SESSION['school_id'], $_SESSION['school_name'], $_SESSION['school_selected']);
|
|
}
|
|
|
|
// (Opzionale) cancella dati associati - commenta se NON vuoi eliminare
|
|
// Esempio cancellazione prenotazioni:
|
|
$pdo->prepare("
|
|
DELETE sb FROM session_bookings sb
|
|
JOIN class_sessions cs ON sb.session_id = cs.id
|
|
WHERE sb.user_id = ? AND cs.school_id = ?
|
|
")->execute([$user_id, $school_id]);
|
|
|
|
// Esempio cancellazione ordini:
|
|
$pdo->prepare("DELETE FROM orders WHERE user_id = ? AND school_id = ?")
|
|
->execute([$user_id, $school_id]);
|
|
|
|
echo json_encode(['success' => true]);
|