yogiboook_new/public/userarea/remove_school.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]);