yogiwhere/public/schoolarea/edit_class.php
2024-09-25 21:32:59 +02:00

174 lines
8.7 KiB
PHP

<?php include('include/headscript.php');
// Verifica se l'ID della classe è stato passato correttamente tramite GET
if (isset($_GET['idyogaclass']) && is_numeric($_GET['idyogaclass'])) {
$idyogaclass = intval($_GET['idyogaclass']);
} else {
// Se non c'è un ID valido, reindirizza alla pagina delle classi
header("Location: yogaclass.php");
exit;
}
// Recupera i dati della classe corrente dal database
$conn = new mysqli($servername, $username, $password, $database);
$query = $conn->prepare("SELECT * FROM yogaclass WHERE idyogaclass = ?");
$query->bind_param("i", $idyogaclass);
$query->execute();
$result = $query->get_result();
$classData = $result->fetch_assoc();
// Se il form è stato inviato, aggiorna i dati
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$nameyogaclass = $_POST['nameyogaclass'];
$idclasscategory = $_POST['idclasscategory'];
$descriptionyogaclass = $_POST['descriptionyogaclass'];
$productcode = $_POST['productcode'];
// Se è stata caricata una nuova immagine
if (!empty($_FILES['imgyogaclass']['name'])) {
$img_name = $_FILES['imgyogaclass']['name'];
$img_tmp_name = $_FILES['imgyogaclass']['tmp_name'];
$ext = pathinfo($img_name, PATHINFO_EXTENSION);
$new_img_name = time() . '-' . $idyogaclass . '.' . $ext;
$upload_path = 'uploadphotoclass/' . $new_img_name;
// Elimina l'immagine precedente
if (!empty($classData['imgyogaclass']) && file_exists('uploadphotoclass/' . $classData['imgyogaclass'])) {
unlink('uploadphotoclass/' . $classData['imgyogaclass']);
}
// Carica la nuova immagine
move_uploaded_file($img_tmp_name, $upload_path);
} else {
// Mantieni l'immagine esistente se non viene caricata una nuova
$new_img_name = $_POST['existing_img'];
}
// Aggiorna i dati della classe nel database
$update_query = $conn->prepare("
UPDATE yogaclass
SET nameyogaclass = ?, idclasscategory = ?, descriptionyogaclass = ?, imgyogaclass = ?, productcode = ?
WHERE idyogaclass = ?
");
$update_query->bind_param("sisssi", $nameyogaclass, $idclasscategory, $descriptionyogaclass, $new_img_name, $productcode, $idyogaclass);
if ($update_query->execute()) {
// Reindirizza alla pagina delle classi con un messaggio di successo
header("Location: yogaclass.php?message=class_updated");
exit;
} else {
echo "Errore durante l'aggiornamento della classe.";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Modifica Classe</title>
<?php include('include/seo.php'); ?>
<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">
<script src="https://cdn.ckeditor.com/ckeditor5/35.0.1/classic/ckeditor.js"></script>
</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">
<div class="btn-group float-right">
<ol class="breadcrumb hide-phone p-0 m-0">
<li class="breadcrumb-item"><a href="#">YogiWhere</a></li>
<li class="breadcrumb-item active">Modifica Classe</li>
</ol>
</div>
<h4 class="page-title">Modifica Classe</h4>
</div>
</div>
</div>
<!-- Form per modificare la classe -->
<div class="row">
<div class="col-lg-12">
<div class="card card-body">
<h4 class="card-title font-20 mt-0">Modifica Classe</h4>
<form method="POST" enctype="multipart/form-data">
<div class="form-group">
<label for="nameyogaclass">Nome Classe</label>
<input type="text" class="form-control" id="nameyogaclass" name="nameyogaclass" value="<?php echo htmlspecialchars($classData['nameyogaclass']); ?>" required>
</div>
<div class="form-group">
<label for="idclasscategory">Categoria Classe</label>
<select class="form-control" id="idclasscategory" name="idclasscategory" required>
<?php
// Recupera le categorie esistenti
$query_categories = $conn->query("SELECT * FROM classcategory");
while ($row = $query_categories->fetch_assoc()) {
$selected = ($row['idclasscategory'] == $classData['idclasscategory']) ? 'selected' : '';
echo '<option value="' . $row['idclasscategory'] . '" ' . $selected . '>' . $row['namecategory'] . '</option>';
}
?>
</select>
</div>
<div class="form-group">
<label for="descriptionyogaclass">Descrizione Classe</label>
<textarea class="form-control" id="descriptionyogaclass" name="descriptionyogaclass" rows="10"><?php echo htmlspecialchars($classData['descriptionyogaclass']); ?></textarea>
</div>
<div class="form-group">
<label for="imgyogaclass">Immagine Classe</label>
<input type="file" class="form-control" id="imgyogaclass" name="imgyogaclass">
<input type="hidden" name="existing_img" value="<?php echo $classData['imgyogaclass']; ?>">
<?php if (!empty($classData['imgyogaclass'])): ?>
<img src="uploadphotoclass/<?php echo $classData['imgyogaclass']; ?>" alt="Immagine Classe" style="width: 150px; height: auto;">
<?php endif; ?>
</div>
<div class="form-group">
<label for="productcode">Codice Prodotto (Opzionale)</label>
<input type="text" class="form-control" id="productcode" name="productcode" value="<?php echo htmlspecialchars($classData['productcode']); ?>">
</div>
<button type="submit" class="btn btn-primary">Salva Modifiche</button>
<a href="yogaclass.php" class="btn btn-secondary">Annulla</a>
</form>
</div>
</div>
</div>
</div> <!-- container-fluid -->
</div> <!-- page-content-wrapper -->
</div> <!-- content -->
<?php include('include/footer.php'); ?>
</div> <!-- content-page -->
</div> <!-- wrapper -->
<!-- Includi CKEditor -->
<script>
ClassicEditor
.create(document.querySelector('#descriptionyogaclass'))
.catch(error => {
console.error(error);
});
</script>
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/bootstrap.min.js"></script>
<script src="assets/js/app.js"></script>
</body>
</html>