From 5fd9fa480f302902328b81f912dd67ce378284f8 Mon Sep 17 00:00:00 2001 From: citizenz7 Date: Thu, 20 Apr 2017 18:50:55 +0200 Subject: V.1.4.6 --- Html/admin/edit-profil.php | 281 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 281 insertions(+) create mode 100644 Html/admin/edit-profil.php (limited to 'Html/admin/edit-profil.php') diff --git a/Html/admin/edit-profil.php b/Html/admin/edit-profil.php new file mode 100644 index 0000000..009c2e0 --- /dev/null +++ b/Html/admin/edit-profil.php @@ -0,0 +1,281 @@ + retour sur la page login +if(!$user->is_logged_in()) { + header('Location: '.SITEURL.'/admin/login.php'); +} + +if(isset($_SESSION['username']) && $_SESSION['username'] != $_GET['membre']) { + header('Location: ./'); +} + + + +//Si on supprime l'avatar... +if(isset($_GET['delavatar'])) { + + $delavatar = html($_GET['delavatar']); + + // on supprime le fichier image + $stmt = $db->prepare('SELECT avatar FROM blog_members WHERE memberID = :memberID'); + $stmt->execute(array( + ':memberID' => $delavatar + )); + $sup = $stmt->fetch(); + + $file = $REP_IMAGES_AVATARS.$sup['avatar']; + if (file_exists($file)) { + unlink($file); + } + + //puis on supprime l'avatar dans la base + $stmt = $db->prepare('UPDATE blog_members SET avatar = NULL WHERE memberID = :memberID'); + $stmt->execute(array( + ':memberID' => $delavatar + )); + + header('Location: '.SITEURL.'/admin/profil.php?action=ok&membre='.html($_SESSION['username'])); + +} + +// titre de la page +$pagetitle = 'Edition du profil de '.html($_SESSION['username']); +require_once '../includes/header.php'; +?> + + +
+ + + +
+
+ +

Edition du profil membre de

+ + 0) { + //if ($_FILES['avatar']['error'] > 0) { + $error[] = 'Erreur lors du transfert de l\'avatar membre.'; + } + + // On cherche si l'image n'existe pas déjà sous ce même nom + if (file_exists($target_file)) { + $error[] = 'Désolé, cet avatar membre existe déjà. Veillez en choisir un autre ou tout simplement changer son nom.'; + } + + // Poids de l'image + if ($_FILES['avatar']['size'] > $MAX_SIZE_AVATAR) { + $error[] = 'Avatar membre trop gros. Taille maxi : '.makesize($MAX_SIZE_AVATAR); + } + + // format de l'image + if($imageFileType != "jpg" && $imageFileType != "png") { + $error[] = 'Désolé : seuls les fichiers jpg et png sont autorisés !'; + } + + // Dimensions de l'image + $image_sizes = getimagesize($_FILES['avatar']['tmp_name']); + if ($image_sizes[0] > $WIDTH_MAX_AVATAR OR $image_sizes[1] > $HEIGHT_MAX_AVATAR) { + $error[] = 'Avatar trop grand : '.$WIDTH_MAX_AVATAR.' x '.$HEIGHT_MAX_AVATAR.' maxi !'; + } + + // on vérifie que c'est bien une image + if($image_sizes == false) { + $error[] = 'L\'image envoyée n\'est pas une image !'; + } + + // on upload l'image s'il n'y a pas d'erreur + if(!isset($error)) { + if(!move_uploaded_file($_FILES['avatar']['tmp_name'], $REP_IMAGES_AVATARS.$_FILES['avatar']['name'])) { + $error[] = 'Problème de téléchargement de l\'avatar membre.'; + } + } + + }//fin de if(isset($_FILES['avatar']['name'])) + + + //very basic validation + if($username ==''){ + $error[] = 'Veuillez entrer un pseudo.'; + } + + // On cherche si le pseudo fait moins de 4 caractères et s'il est déjà dans la base + if (strlen($_POST['username']) < 4) { + $error[] = 'Le pseudo est trop court ! (4 caractères minimum)'; + } + + // Le username ne peut pas contenir de caractères spéciaux, balises, etc. + if (!preg_match("/^[a-zA-Z0-9]+$/",$username)) { + $error[] = 'Le pseudo ne peut contenir que des lettres et des chiffres !'; + } + + /* + if($password ==''){ + $error[] = 'Veuillez entrer un mot de passe.'; + } + */ + + if(!empty($password)) { + + if(strlen($password) < 6) { + $error[] = 'Le mot de passe est trop court ! (6 caractères minimum)'; + } + + if($passwordConfirm ==''){ + $error[] = 'Veuillez confirmer le mot de passe.'; + } + + if($password != $passwordConfirm){ + $error[] = 'Les mots de passe ne concordent pas.'; + } + } + + if($email =='') { + $error[] = 'Veuillez entrer une adresse e-mail.'; + } + + if(!isset($error)) { + + try { + if(isset($password) && !empty($password)){ + + $hashedpassword = $user->password_hash($password, PASSWORD_BCRYPT); + + //Mise à jour de la base avec le nouveau mot de passe + $stmt = $db->prepare('UPDATE blog_members SET password = :password, email = :email WHERE username = :username') ; + $stmt->execute(array( + ':username' => $username, + ':password' => $hashedpassword, + ':email' => $email + )); + } + + elseif(isset($_FILES['avatar']['name']) && !empty($_FILES['avatar']['name'])) { + //Mise à jour de la base avec le nouvel avatar + $stmt = $db->prepare('UPDATE blog_members SET email = :email, avatar = :avatar WHERE username = :username') ; + $stmt->execute(array( + ':username' => $username, + ':avatar' => $_FILES['avatar']['name'], + ':email' => $email + )); + } + + else { + //Mise à jour de la base avec adresse e-mail seulement. Aucun nouveau mot de passe n'a été soumis ni aucun avatar + $stmt = $db->prepare('UPDATE blog_members SET email = :email WHERE username = :username') ; + $stmt->execute(array( + ':username' => $username, + ':email' => $email + )); + } + + write_log('Edition profil utilisateur : '.$username, $db); + + //redirect to page + header('Location: '.SITEURL.'/admin/profil.php?action=ok&membre='.$username); + exit; + + $stmt->closeCursor(); + + } + + catch(PDOException $e) { + echo $e->getMessage(); + } + + } + + } + + //check for any errors + if(isset($error)) { + foreach($error as $error) { + echo '

'.$error.'

'; + } + } + + try { + + $stmt = $db->prepare('SELECT memberID,username,email,avatar FROM blog_members WHERE username = :username') ; + $stmt->execute(array(':username' => $username)); + $row = $stmt->fetch(); + + } + + catch(PDOException $e) { + echo $e->getMessage(); + } + + ?> + +
+ +


+ '>

+ +


+

+ +


+

+ +


+ '>

+ +


+ + +

Avatar actuel : + '; + ?> + Supprimer + '; + } + ?> +

+ +
+

+ +
+
+ + + +
+
+
+ + + + + -- cgit v1.2.1