Cette action est impossible

'; } // Fonction pour obtenir le texte correspondant au privilège function getPrivilegeText($privilege) { $privilegeMap = [ 1 => 'Visiteur', 2 => 'Utilisateur', 3 => 'Modérateur', 4 => 'Administrateur', ]; return isset($privilegeMap[$privilege]) ? $privilegeMap[$privilege] : 'Privilège inconnu'; } function handleProfileModification() { if (empty($_POST['sent'])) { $userData = get_MemberInfoId(); require_once './vue/edit_profile_view.html'; } else { // Collecter les données du formulaire $id = (int)$_SESSION['id_session']; $pseudo = $_SESSION['pseudo_session']; $password = $_POST['password']; $confirm = $_POST['confirm']; $email = $_POST['email']; $localisation = $_POST['localisation']; $phone = $_POST['phone']; $avatar = $_FILES['avatar']; $errors = []; // Validation de l'email if (empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL)) { $errors[] = "L'adresse e-mail est requise et doit être valide."; } if (!get_checkMyMail($email, $id)) { $errors[] = "Votre adresse email est déjà utilisée par un membre."; } // Validation du mot de passe if (empty($password) || strlen($password) < 6 || strlen($password) > 32) { $errors[] = "Le mot de passe est requis et doit contenir entre 6 et 32 caractères."; } if (!preg_match('/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&]).+$/', $password)) { $errors[] = "Le mot de passe doit contenir au moins une lettre, un chiffre et un caractère spécial (@$!%*?&)"; } if ($password !== $confirm) { $errors[] = "Les mots de passe ne correspondent pas."; } // Validation du numéro de téléphone if (empty($phone) || strlen($phone) < 10 || strlen($phone) > 15) { $errors[] = "Le numéro de téléphone est requis et doit contenir entre 10 et 15 caractères."; } if (preg_match('/^\s+$/', $phone)) { $errors[] = "Le numéro de téléphone ne peut pas être composé uniquement d'espaces."; } if (!preg_match('/^\d+$/', $phone)) { $errors[] = "Le numéro de téléphone ne doit contenir que des chiffres."; } // Validation de l'adresse postale if (empty($localisation) || strlen($localisation) < 6 || strlen($localisation) > 70) { $errors[] = "L'adresse postale est requise et doit contenir entre 6 et 70 caractères."; } if (!preg_match('/^[A-Za-zÀ-ÖØ-öø-ÿ0-9 -]+$/', $localisation)) { $errors[] = "L'adresse postale peut contenir uniquement des lettres, des chiffres, des tirets et des espaces."; } if (preg_match('/^\s+$/', $localisation)) { $errors[] = "L'adresse ne peut pas être composée uniquement d'espaces."; } // Validation de l'avatar if (!empty($_FILES['avatar']['size'])) { $maxFileSize = 5 * 1024 * 1024; // 5 Mo en octets if ($_FILES['avatar']['size'] > $maxFileSize) { $errors[] = "La taille de l'avatar dépasse la limite autorisée de 5 Mo."; } $extensions_valides = ['jpg', 'jpeg', 'gif', 'png']; $extension_upload = strtolower(pathinfo($_FILES['avatar']['name'], PATHINFO_EXTENSION)); if (!in_array($extension_upload, $extensions_valides)) { $errors[] = "Extension de l'avatar incorrecte. Seules les extensions JPG, JPEG, GIF et PNG sont autorisées."; } $allowedMimeTypes = ['image/jpeg', 'image/png', 'image/gif']; $fileMimeType = mime_content_type($_FILES['avatar']['tmp_name']); if (!in_array($fileMimeType, $allowedMimeTypes)) { $errors[] = "Type de fichier non pris en charge. Veuillez télécharger une image au format JPG, JPEG, GIF ou PNG."; } } if (empty($errors)) { if (isset($_POST['delete'])) { post_RemoveAvatar($pseudo); } post_UpdateProfile($_SESSION['id_session'], $pseudo, $password, $email, $localisation, $phone, $avatar); $userData = get_MemberInfoId(); // Récupérer les informations mises à jour require_once './vue/edit_profile_view.html'; displayModificationProfilSuccessMessage(); exit(); } else { $userData = get_MemberInfoId(); // Récupérer les informations pour afficher les erreurs require_once './vue/edit_profile_view.html'; displayModificationProfilErrorMessage($errors); } } } // Fonction pour afficher un message de succès lors de la modification du profil function displayModificationProfilSuccessMessage() { echo ''; } // Fonction pour afficher un message d'erreur lors de la modification du profil function displayModificationProfilErrorMessage($errors) { echo ''; } // Fonction pour afficher un message de succès lors de la suppression du profil function displayDeleteProfilSuccessMessage() { echo ''; } ?>