casadoc/public/userportal/manage-home.php
2025-04-22 08:05:22 +02:00

219 lines
9.1 KiB
PHP

<?php include('include/headscript.php'); ?>
<?php require_once 'class/db-functions.php'; ?>
<?php
// Inizializza la connessione al database con la classe DBHandlerSelect
$dbHandler = DBHandlerSelect::getInstance();
$pdo = $dbHandler->getConnection();
// Verifica se si sta aggiungendo una nuova casa o aggiornando una esistente
$idhome = isset($_GET['idhome']) ? intval($_GET['idhome']) : 0;
$isNew = ($idhome == 0);
if ($isNew) {
// Inserisci un nuovo record
$insertQuery = $pdo->prepare("INSERT INTO home (iduser) VALUES (:iduser)");
$insertQuery->execute(['iduser' => $iduserlogin]);
$idhome = $pdo->lastInsertId();
// Ricarica la pagina con il nuovo idhome
header("Location: manage-home-tabs.php?idhome=$idhome");
exit();
}
// Carica i dati della casa
$query = $pdo->prepare("SELECT * FROM home WHERE idhome = :idhome AND iduser = :iduser");
$query->execute(['idhome' => $idhome, 'iduser' => $iduserlogin]);
$homeData = $query->fetch();
// Assegna i valori
$namedb = $homeData['name'] ?? '';
$addressdb = $homeData['address'] ?? '';
$countrydb = $homeData['country'] ?? '';
$citydb = $homeData['city'] ?? '';
$zipdb = $homeData['zip'] ?? '';
$commentdb = $homeData['comment'] ?? '';
$latitudedb = $homeData['latitude'] ?? '';
$longitudedb = $homeData['longitude'] ?? '';
$fulladdressdb = $homeData['fulladdress'] ?? '';
$mainphoto = !empty($homeData['mainphoto']) ? 'mainphoto/' . $homeData['mainphoto'] : 'assets/images/no-image.jpg';
?>
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui">
<title>Gestione Immobile</title>
<link href="assets/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="assets/css/icons.css" rel="stylesheet" type="text/css">
<link href="assets/css/style.css" rel="stylesheet" type="text/css">
<!-- Select2 CSS -->
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-rc.0/css/select2.min.css" rel="stylesheet" />
<link href="https://cdn.datatables.net/1.11.5/css/dataTables.bootstrap4.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet">
<link href="https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.9.2/dropzone.min.css" rel="stylesheet">
<!-- jQuery -->
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<!-- Popper.js (necessario per Bootstrap) -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<!-- Bootstrap JS -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<!-- SweetAlert2 -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Select2 JS con fallback -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.1.0-rc.0/js/select2.min.js"></script>
<!-- DataTables JS -->
<script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.11.5/js/dataTables.bootstrap4.min.js"></script>
<!-- Dropzone JS -->
<script src="https://cdn.jsdelivr.net/npm/dropzone@5.9.2/dist/dropzone.min.js"></script>
<!-- MD5 JS -->
<script src="https://cdn.jsdelivr.net/npm/md5-js@0.0.3/md5.min.js"></script>
<script>
// Fallback per Select2
if (typeof $.fn.select2 === "undefined") {
document.write('<script src="assets/js/select2.min.js"><\/script>');
}
</script>
<style>
/* Stile per il banner */
.header-banner-overlay {
position: relative;
width: 100%;
background: linear-gradient(to right, rgba(30, 58, 138, 0.8), rgba(255, 255, 255, 0.2));
padding: 20px;
display: flex;
align-items: center;
color: white;
border-radius: 10px;
margin-bottom: 20px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.header-banner-overlay img {
width: 80px;
height: 80px;
object-fit: cover;
border-radius: 8px;
margin-right: 20px;
border: 2px solid #fff;
}
.header-banner-overlay .property-info h2 {
font-size: 24px;
margin: 0;
font-weight: bold;
color: #ffffff;
/* Nome dell'immobile in bianco */
}
.header-banner-overlay .property-info p {
font-size: 14px;
margin: 5px 0 0;
opacity: 0.9;
}
.header-banner-overlay .property-info .status {
font-size: 12px;
background: #28a745;
padding: 5px 10px;
border-radius: 12px;
display: inline-block;
margin-top: 10px;
}
/* Stile per i tab */
.nav-tabs .nav-link {
font-weight: bold;
color: #495057;
}
.nav-tabs .nav-link.active {
color: #007bff;
border-color: #007bff;
}
#map {
height: 400px;
width: 100%;
}
.success-flash {
background-color: #d4edda !important;
transition: background-color 1s ease;
}
</style>
</head>
<body class="fixed-left">
<div id="wrapper">
<?php include('include/navigationbar.php'); ?>
<div class="content-page">
<div class="content">
<?php include('include/topbar.php'); ?>
<div class="page-content-wrapper">
<div class="container-fluid">
<div class="row">
<div class="col-sm-12">
<div class="page-title-box d-flex justify-content-between align-items-center">
<h4 class="page-title m-0"><?php echo $isNew ? "Aggiungi Casa" : "Gestisci Casa"; ?></h4>
<button onclick="history.back()" class="btn btn-dark">
<i class="fas fa-arrow-left"></i> Torna indietro
</button>
</div>
</div>
</div>
<!-- Banner -->
<div class="header-banner-overlay">
<img src="<?php echo htmlspecialchars($mainphoto); ?>" alt="Foto Immobile">
<div class="property-info">
<h2><?php echo htmlspecialchars($namedb ?: 'Nuovo Immobile'); ?></h2>
<p><?php echo htmlspecialchars($fulladdressdb ?: 'Indirizzo non specificato'); ?></p>
<span class="status"><?php echo $isNew ? 'Nuovo' : 'Attivo'; ?></span>
</div>
</div>
<!-- Tab Navigation -->
<ul class="nav nav-tabs" id="propertyTabs" role="tablist">
<li class="nav-item">
<a class="nav-link active" id="details-tab" data-toggle="tab" href="#details" role="tab" aria-controls="details" aria-selected="true">Dettagli</a>
</li>
<li class="nav-item">
<a class="nav-link" id="documents-tab" data-toggle="tab" href="#documents" role="tab" aria-controls="documents" aria-selected="false">Documenti</a>
</li>
<li class="nav-item">
<a class="nav-link" id="owners-tab" data-toggle="tab" href="#owners" role="tab" aria-controls="owners" aria-selected="false">Proprietari</a>
</li>
</ul>
<!-- Tab Content -->
<div class="tab-content" id="propertyTabsContent">
<!-- Tab Dettagli -->
<div class="tab-pane fade show active" id="details" role="tabpanel" aria-labelledby="details-tab">
<?php include('tabs/dettagli.php'); ?>
</div>
<!-- Tab Documenti -->
<div class="tab-pane fade" id="documents" role="tabpanel" aria-labelledby="documents-tab">
<?php include('tabs/documenti.php'); ?>
</div>
<!-- Tab Proprietari -->
<div class="tab-pane fade" id="owners" role="tabpanel" aria-labelledby="owners-tab">
<?php include('tabs/proprietari.php'); ?>
</div>
</div>
</div>
</div>
</div>
<?php include('include/footer.php'); ?>
</div>
</div>
<!-- Google Maps API -->
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyADtQRKgCpJNnQCP8QvBeKDcm0TrTPpsGY&libraries=places&callback=initAutocomplete"></script>
</body>
</html>