<?php
// Abilita la visualizzazione degli errori (solo per sviluppo, disabilitare in produzione)
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

include('include/headscript.php');

// Connessione al database
$conn = new mysqli($servername, $username, $password, $database);

// Verifica connessione
if ($conn->connect_error) {
    die("Errore di connessione: " . $conn->connect_error);
}

// Verifica se l'ID della casa è stato passato tramite GET
if (isset($_GET['idhome']) && is_numeric($_GET['idhome'])) {
    $idhome = (int)$_GET['idhome'];

    // Avvia la transazione per gestire l'eliminazione di record correlati
    $conn->begin_transaction();

    try {
        // Elimina i documenti associati nella tabella `doc_storage`
        $stmtDocs = $conn->prepare("DELETE FROM doc_storage WHERE idhome = ?");
        $stmtDocs->bind_param('i', $idhome);
        $stmtDocs->execute();
        $stmtDocs->close();

        // Elimina le condivisioni associate nella tabella `home_sharing`
        $stmtSharing = $conn->prepare("DELETE FROM home_sharing WHERE idhome = ?");
        $stmtSharing->bind_param('i', $idhome);
        $stmtSharing->execute();
        $stmtSharing->close();

        // Elimina la casa dalla tabella `home`
        $stmtHome = $conn->prepare("DELETE FROM home WHERE idhome = ?");
        $stmtHome->bind_param('i', $idhome);
        $stmtHome->execute();
        $stmtHome->close();

        // Conferma la transazione
        $conn->commit();

        // Reindirizza alla lista delle case con un messaggio di successo
        header("Location: homes-list.php?success=1");
        exit();
    } catch (Exception $e) {
        // Annulla la transazione in caso di errore
        $conn->rollback();

        // Reindirizza con un messaggio di errore
        header("Location: homes-list.php?error=1");
        exit();
    }
} else {
    // Reindirizza se l'ID non è valido
    header("Location: homes-list.php?error=1");
    exit();
}

$conn->close();
