update shared homes and documents section
This commit is contained in:
@@ -4,6 +4,10 @@
|
||||
// Connessione al database
|
||||
$conn = new mysqli($servername, $username, $password, $database);
|
||||
|
||||
// Recupera l'id utente loggato e la sua email
|
||||
$iduserlogin = $_SESSION['iduserlogin'];
|
||||
$emailuser = $_SESSION['emailuser'];
|
||||
|
||||
// Verifica se si sta aggiungendo una nuova casa o aggiornando una esistente
|
||||
$idhome = isset($_GET['idhome']) ? intval($_GET['idhome']) : 0;
|
||||
$isNew = ($idhome == 0);
|
||||
@@ -20,9 +24,44 @@ if ($isNew) {
|
||||
exit(); // Assicurati di uscire per evitare che il codice continui
|
||||
}
|
||||
|
||||
// Se esiste già l'idhome, carica i dati della casa
|
||||
$query = $conn->prepare("SELECT * FROM home WHERE idhome = ? AND iduser = ?");
|
||||
$query->bind_param("ii", $idhome, $iduserlogin);
|
||||
// Determina l'iduser corretto per l'immobile, controllando sia il proprietario che le condivisioni
|
||||
$ownerId = null;
|
||||
$queryOwner = $conn->prepare("SELECT iduser FROM home WHERE idhome = ?");
|
||||
$queryOwner->bind_param("i", $idhome);
|
||||
$queryOwner->execute();
|
||||
$resultOwner = $queryOwner->get_result();
|
||||
if ($resultOwner->num_rows > 0) {
|
||||
$ownerData = $resultOwner->fetch_assoc();
|
||||
$ownerId = $ownerData['iduser'];
|
||||
}
|
||||
|
||||
// Verifica se l'utente ha accesso diretto (è il proprietario) o tramite condivisione
|
||||
$hasAccess = false;
|
||||
if ($ownerId == $iduserlogin) {
|
||||
$hasAccess = true; // Utente è il proprietario
|
||||
} else {
|
||||
// Controlla se l'utente ha accesso tramite home_sharing
|
||||
$querySharing = $conn->prepare("
|
||||
SELECT * FROM home_sharing
|
||||
WHERE idhome = ?
|
||||
AND (idshareduser = ? OR shared_email = ?)
|
||||
AND status = 'accepted'
|
||||
");
|
||||
$querySharing->bind_param("iis", $idhome, $iduserlogin, $emailuser);
|
||||
$querySharing->execute();
|
||||
$resultSharing = $querySharing->get_result();
|
||||
$hasAccess = ($resultSharing->num_rows > 0);
|
||||
}
|
||||
|
||||
// Se l'utente non ha accesso, reindirizza o mostra un errore
|
||||
if (!$hasAccess) {
|
||||
header("Location: access-denied.php"); // O una pagina di errore personalizzata
|
||||
exit();
|
||||
}
|
||||
|
||||
// Carica i dati della casa per l'utente con accesso
|
||||
$query = $conn->prepare("SELECT * FROM home WHERE idhome = ?");
|
||||
$query->bind_param("i", $idhome);
|
||||
$query->execute();
|
||||
$result = $query->get_result();
|
||||
$homeData = $result->fetch_assoc();
|
||||
|
||||
Reference in New Issue
Block a user