429 lines
24 KiB
PHP

<?php include('include/headscript.php'); ?>
<?php include('../../languages/it/generaluserdashboard.php'); ?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<?php include('include/seodashboard.php'); ?>
<!-- App favicon -->
<link rel="shortcut icon" href="assets/dist/img/favicon.png">
<!-- Global Styles(used by all pages) -->
<link href="assets/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/plugins/metisMenu/metisMenu.min.css" rel="stylesheet">
<link href="assets/plugins/fontawesome/css/all.min.css" rel="stylesheet">
<!-- Third party Styles(used by this page) -->
<link rel="stylesheet" href="assets/plugins/jquery-fancyfileuploader/fancy-file-uploader/fancy_fileupload.css">
<!-- App css -->
<link href="assets/dist/css/app.min.css" rel="stylesheet">
<!-- Start Your Custom Style Now -->
<link href="assets/dist/css/style.css" rel="stylesheet">
</head>
<style>
/* Classe per evidenziare i campi non validi */
.input-error {
border: 2px solid red !important;
}
</style>
<body class="fixed sidebar-mini">
<div class="wrapper">
<!-- Sidebar -->
<?php include('include/leftnavbar.php'); ?>
<!-- Page Content -->
<div class="content-wrapper">
<div class="main-content">
<!-- Star navbar -->
<!-- End /. search -->
<?php include('include/topbar.php'); ?>
<!-- End /. navbar -->
<div class="body-content">
<div class="decoration blur-2"></div>
<div class="decoration blur-3"></div>
<div class="container-xxl">
<!-- Start Page Header -->
<div class="card mb-3 p-3">
<!-- Profile Cover -->
<div class="profile-cover">
<div class="profile-cover-img-wrapper">
<img class="profile-cover-img" src="assets/dist/img/profile-bg.jpg" alt="Image Description">
<div class="end-0 me-3 mt-3 position-absolute top-0">
</div>
</div>
</div>
<!-- /. End Profile Cover -->
<div class="text-center">
<!-- Start Image -->
<img class="bg-white p-1 position-relative profile-cover-avatar rounded-circle shadow" src="../../upload/users/<?php echo $avatarName; ?>" alt="">
<!-- /. End Image -->
<!-- Start Title -->
<h4 class="align-items-center justify-content-center d-flex gap-2 mt-3 mb-2 fw-semibold">
<?php echo $name; ?> <?php echo $surname; ?>
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" class="bi bi-patch-check-fill text-success" viewBox="0 0 16 16">
<path d="M10.067.87a2.89 2.89 0 0 0-4.134 0l-.622.638-.89-.011a2.89 2.89 0 0 0-2.924 2.924l.01.89-.636.622a2.89 2.89 0 0 0 0 4.134l.637.622-.011.89a2.89 2.89 0 0 0 2.924 2.924l.89-.01.622.636a2.89 2.89 0 0 0 4.134 0l.622-.637.89.011a2.89 2.89 0 0 0 2.924-2.924l-.01-.89.636-.622a2.89 2.89 0 0 0 0-4.134l-.637-.622.011-.89a2.89 2.89 0 0 0-2.924-2.924l-.89.01-.622-.636zm.287 5.984-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 1 1 .708-.708L7 8.793l2.646-2.647a.5.5 0 0 1 .708.708z"></path>
</svg>
</h4>
<!-- /. End Title -->
<ul class="fs-14 fw-medium list-inline list-separator mb-0 mb-2 text-muted justify-content-center">
<li class="list-inline-item">
<!-- <i class="fa-solid fa-user fs-14 me-1"></i> -->
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-geo-alt me-1" viewBox="0 0 16 16">
<path d="M12.166 8.94c-.524 1.062-1.234 2.12-1.96 3.07A31.493 31.493 0 0 1 8 14.58a31.481 31.481 0 0 1-2.206-2.57c-.726-.95-1.436-2.008-1.96-3.07C3.304 7.867 3 6.862 3 6a5 5 0 0 1 10 0c0 .862-.305 1.867-.834 2.94M8 16s6-5.686 6-10A6 6 0 0 0 2 6c0 4.314 6 10 6 10" />
<path d="M8 8a2 2 0 1 1 0-4 2 2 0 0 1 0 4m0 1a3 3 0 1 0 0-6 3 3 0 0 0 0 6" />
</svg>
<a href="#"> <?php echo $city; ?></a>
</li>
<li class="list-inline-item">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-calendar2-plus me-1" viewBox="0 0 16 16">
<path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M2 2a1 1 0 0 0-1 1v11a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1z" />
<path d="M2.5 4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H3a.5.5 0 0 1-.5-.5zM8 8a.5.5 0 0 1 .5.5V10H10a.5.5 0 0 1 0 1H8.5v1.5a.5.5 0 0 1-1 0V11H6a.5.5 0 0 1 0-1h1.5V8.5A.5.5 0 0 1 8 8" />
</svg>
<span><?php echo date('d - F Y', strtotime($createDate)); ?></span>
</li>
</ul>
</div>
</div>
<!-- /. End Page Header -->
<div class="card mb-4">
<div class="card-header position-relative">
<h6 class="fs-17 fw-semi-bold mb-0"><?php echo $details; ?></h6>
</div>
<div class="card-body">
<div class="row g-4">
<div class="col-sm-6 col-lg-4">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $nametitle; ?></label>
<input type="text" class="form-control" id="first_name" name="first_name" placeholder="<?php echo $nametitle; ?>" value="<?php echo $name; ?>" required="">
</div>
<!-- end /. form group -->
</div>
<div class="col-sm-6 col-lg-4">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $surnametitle; ?></label>
<input type="text" class="form-control" id="last_name" name="last_name" placeholder="<?php echo $surnametitle; ?>" value="<?php echo $surname; ?>" required="">
</div>
<!-- end /. form group -->
</div>
<div class="col-lg-4">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $emailtitle; ?></label>
<input type="email" class="form-control" id="email" name="email" placeholder="<?php echo $emailtitle; ?>" value="<?php echo $emailuser; ?>" required="" readonly>
</div>
<!-- end /. form group -->
</div>
<div class="card-header position-relative">
<h6 class="fs-17 fw-semi-bold mb-0"><?php echo $invoicedetails; ?></h6>
</div>
<div class="col-sm-12">
<hr>
</div>
<div class="col-sm-6 col-lg-4">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $addresstitle; ?></label>
<input type="text" class="form-control" id="address" name="address" placeholder="<?php echo $addresstitle; ?>" value="<?php echo $address; ?>" required="">
</div>
<!-- end /. form group -->
</div>
<div class="col-sm-6 col-lg-4">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $ziptitle; ?></label>
<input type="text" class="form-control" id="zip" name="zip" value="<?php echo $zip; ?>" placeholder="<?php echo $ziptitle; ?>" required="">
</div>
<!-- end /. form group -->
</div>
<div class="col-lg-4">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $citytitle; ?></label>
<input type="text" class="form-control" id="city" name="city" value="<?php echo $city; ?>" placeholder="<?php echo $citytitle; ?>" required="">
</div>
<!-- end /. form group -->
</div>
<div class="col-sm-6 col-lg-4">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $countrytitle; ?></label>
<select class="form-control" id="country_id" name="country_id" required="">
<option value=""><?php echo $selecttitle; ?></option> <!-- Opzione "Seleziona" -->
<?php
// Query per recuperare i paesi dalla tabella auth_countries
$conn = new mysqli($servername, $username, $password, $database);
$query = "SELECT id, name FROM auth_countries";
$result = $conn->query($query);
// Recupera il country_id attuale dell'utente dal database
$selected_country_id = $user_country_id; // Supponendo che tu abbia già il valore di $user_country_id
echo $user_country_id;
echo "ciao";
// Cicla tra i paesi e seleziona quello corrente, se esiste
while ($row = $result->fetch_assoc()) {
$selected = ($row['id'] == $selected_country_id) ? 'selected' : ''; // Verifica se l'id corrisponde a quello selezionato
echo '<option value="' . $row['id'] . '" ' . $selected . '>' . $row['name'] . '</option>';
}
?>
</select>
</div>
<!-- end /. form group -->
</div>
<div class="col-sm-6 col-lg-4">
<!-- start form group -->
<div class="">
<label class="fw-medium mb-2"><?php echo $phonetitle; ?></label>
<input type="text" class="form-control" id="phone" name="phone" value="<?php echo $phone; ?>" placeholder="<?php echo $phonetitle; ?>">
</div>
<!-- end /. form group -->
</div>
<div class="col-lg-4">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $fiscalcodetitle; ?></label>
<input type="text" class="form-control" id="fiscalcode" name="fiscalcode" value="<?php echo $fiscalcode; ?>" placeholder="<?php echo $fiscalcodetitle; ?>" required="">
</div>
<!-- end /. form group -->
</div>
<div class="col-12">
<button id="saveButton" class="btn btn-success">
<i class="fas fa-save"></i>
</button>
</div>
</div>
</div>
</div>
<div class="card mb-4">
<div class="card-header position-relative">
<h6 class="fs-17 fw-semi-bold mb-0"><?php echo $changepassword; ?></h6>
</div>
<div class="card-body">
<div class="row g-4">
<div class="col-sm-6">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $newpassword; ?></label>
<div class="input-group">
<input type="password" class="form-control" id="new_password" name="password" required="">
<button class="btn btn-outline-secondary" type="button" id="toggleNewPassword">
<i class="fas fa-eye"></i>
</button>
</div>
</div>
<!-- end /. form group -->
</div>
<div class="col-sm-6">
<!-- start form group -->
<div class="">
<label class="required fw-medium mb-2"><?php echo $confirmpassword; ?></label>
<div class="input-group">
<input type="password" class="form-control" id="confirm_password" name="password" required="">
<button class="btn btn-outline-secondary" type="button" id="toggleConfirmPassword">
<i class="fas fa-eye"></i>
</button>
</div>
</div>
<!-- end /. form group -->
</div>
</div>
<div class="col-12">
<button id="savePasswordButton" class="btn btn-success">
<i class="fas fa-save"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<!--/.body content-->
</div>
<!--/.main content-->
<footer class="footer-content">
<div class="align-items-center d-flex footer-text gap-3 justify-content-between">
<div class="copy">© 2022 ListOn - All Rights Reserved</div>
<div class="credit">Developed by: <a href="#">ListOn</a> 🌺💚</div>
</div>
</footer>
<!--/.footer content-->
<div class="overlay"></div>
</div>
<!--/.wrapper-->
</div>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function() {
$('#saveButton').click(function(e) {
e.preventDefault();
// Recupera i valori dai campi input
var first_name = $('#first_name').val();
var last_name = $('#last_name').val();
var address = $('#address').val();
var zip = $('#zip').val();
var city = $('#city').val();
var country_id = $('#country_id').val();
var phone = $('#phone').val();
var fiscalcode = $('#fiscalcode').val();
// Verifica che tutti i campi richiesti abbiano dei valori
if (!first_name || !last_name || !address || !zip || !city || !country_id || !fiscalcode) {
Swal.fire({
icon: 'error',
title: 'Errore',
text: 'Tutti i campi richiesti devono essere compilati!',
});
return;
}
// Effettua la richiesta AJAX
$.ajax({
url: 'update_user.php', // File PHP per l'aggiornamento
type: 'POST',
data: {
first_name: first_name,
last_name: last_name,
address: address,
zip: zip,
city: city,
country_id: country_id,
phone: phone,
fiscalcode: fiscalcode,
user_id: <?php echo $iduserlogin; ?> // Passa l'ID dell'utente loggato
},
success: function(response) {
// Mostra un SweetAlert di successo
Swal.fire({
icon: 'success',
title: 'Dati aggiornati con successo!',
showConfirmButton: false,
timer: 2000
});
// Cambia il colore degli input a verde per qualche secondo
$('input').addClass('input-success'); // Aggiungi la classe 'input-success' a tutti gli input
setTimeout(function() {
$('input').removeClass('input-success'); // Rimuovi la classe dopo 2 secondi
}, 2000);
},
error: function(xhr, status, error) {
Swal.fire({
icon: 'error',
title: 'Errore durante l\'aggiornamento dei dati',
text: error,
});
}
});
});
});
</script>
<script>
$(document).ready(function() {
// Mostra/nascondi password
$('#toggleNewPassword').click(function() {
const input = $('#new_password');
const icon = $(this).find('i');
if (input.attr('type') === 'password') {
input.attr('type', 'text');
icon.removeClass('fa-eye').addClass('fa-eye-slash');
} else {
input.attr('type', 'password');
icon.removeClass('fa-eye-slash').addClass('fa-eye');
}
});
$('#toggleConfirmPassword').click(function() {
const input = $('#confirm_password');
const icon = $(this).find('i');
if (input.attr('type') === 'password') {
input.attr('type', 'text');
icon.removeClass('fa-eye').addClass('fa-eye-slash');
} else {
input.attr('type', 'password');
icon.removeClass('fa-eye-slash').addClass('fa-eye');
}
});
// Gestione del salvataggio della password con AJAX
$('#savePasswordButton').click(function(e) {
e.preventDefault();
var new_password = $('#new_password').val();
var confirm_password = $('#confirm_password').val();
// Verifica che le password coincidano
if (new_password !== confirm_password) {
Swal.fire({
icon: 'error',
title: 'Errore',
text: 'Le password non coincidono!',
});
return;
}
// Effettua la richiesta AJAX
$.ajax({
url: 'update_password.php', // File PHP per l'aggiornamento della password
type: 'POST',
data: {
new_password: new_password,
user_id: <?php echo $iduserlogin; ?> // Passa l'ID dell'utente loggato
},
success: function(response) {
Swal.fire({
icon: 'success',
title: 'Password aggiornata con successo!',
showConfirmButton: false,
timer: 2000
});
},
error: function(xhr, status, error) {
Swal.fire({
icon: 'error',
title: 'Errore durante l\'aggiornamento della password',
text: error,
});
}
});
});
});
</script>
<style>
/* Aggiungi una classe per l'effetto verde degli input */
.input-success {
border-color: #28a745 !important;
background-color: #d4edda !important;
}
</style>
<!-- Global script(used by all pages) -->
<script src="assets/plugins/jQuery/jquery.min.js"></script>
<script src="assets/plugins/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="assets/plugins/metisMenu/metisMenu.min.js"></script>
<script src="assets/plugins/perfect-scrollbar/perfect-scrollbar.min.js"></script>
<!-- Third Party Scripts(used by this page) -->
<!-- Page Scripts(used by all page) -->
<script src="assets/dist/js/app.min.js"></script>
<!-- Page Active Scripts(used by this page) -->
<script src="assets/dist/js/dashboard.js"></script>
</body>
</html>