getConnection(); // Verifica che iduserlogin sia definito if (!isset($iduserlogin)) { die("Errore: ID utente non definito."); } // Recupera i dati della scuola in base all'utente loggato $stmt = $pdo->prepare("SELECT id, name FROM schools WHERE owner_id = ?"); $stmt->execute([$iduserlogin]); $school = $stmt->fetch(); if (!$school) { die("Errore: Nessuna scuola trovata per l'utente loggato."); } $school_id = $school['id']; $school_name = $school['name']; // Gestione delle azioni (aggiunta, modifica, cancellazione) if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['action'])) { $action = $_POST['action']; // Aggiunta di un giorno di chiusura if ($action === 'add') { $start_date = $_POST['start_date'] ?? ''; $end_date = $_POST['end_date'] ?? ''; $description = $_POST['description'] ?? null; // Validazione: assicurarsi che end_date >= start_date if (empty($start_date) || empty($end_date)) { $error = "Le date di inizio e fine sono obbligatorie."; } elseif (strtotime($end_date) < strtotime($start_date)) { $error = "La data di fine non può essere precedente alla data di inizio."; } else { $stmt = $pdo->prepare(" INSERT INTO day_off (school_id, start_date, end_date, description) VALUES (?, ?, ?, ?) "); $success = $stmt->execute([ $school_id, $start_date, $end_date, $description ]); if ($success) { $success_message = "Giorno di chiusura aggiunto con successo!"; } else { $error = "Errore durante l'aggiunta del giorno di chiusura."; } } } // Modifica di un giorno di chiusura if ($action === 'edit') { $id = $_POST['id'] ?? 0; $start_date = $_POST['start_date'] ?? ''; $end_date = $_POST['end_date'] ?? ''; $description = $_POST['description'] ?? null; // Validazione: assicurarsi che end_date >= start_date if (empty($start_date) || empty($end_date)) { $error = "Le date di inizio e fine sono obbligatorie."; } elseif (strtotime($end_date) < strtotime($start_date)) { $error = "La data di fine non può essere precedente alla data di inizio."; } else { $stmt = $pdo->prepare(" UPDATE day_off SET start_date = ?, end_date = ?, description = ? WHERE id = ? AND school_id = ? "); $success = $stmt->execute([ $start_date, $end_date, $description, $id, $school_id ]); if ($success) { $success_message = "Giorno di chiusura aggiornato con successo!"; } else { $error = "Errore durante l'aggiornamento del giorno di chiusura."; } } } // Cancellazione di un giorno di chiusura if ($action === 'delete') { $id = $_POST['id'] ?? 0; $stmt = $pdo->prepare("DELETE FROM day_off WHERE id = ? AND school_id = ?"); $success = $stmt->execute([$id, $school_id]); if ($success) { $success_message = "Giorno di chiusura eliminato con successo!"; } else { $error = "Errore durante l'eliminazione del giorno di chiusura."; } } // Reindirizza per evitare il doppio invio del form header("Location: day_off.php"); exit; } } // Recupera tutti i giorni di chiusura della scuola $stmt = $pdo->prepare(" SELECT * FROM day_off WHERE school_id = ? ORDER BY start_date "); $stmt->execute([$school_id]); $days_off = $stmt->fetchAll(); ?>
Giorni di Chiusura -
Torna alla Dashboard
Data Inizio Data Fine Descrizione Azioni