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]);