public function quickRegister() { $passwordError = ""; if ($_POST) { $isValid = true; if ($_POST['email'] == null || $_POST['password1'] == null || $_POST['password2'] == null) { $isValid = false; $passwordError = "vide!"; } else { $email = $_POST['email']; $password1 = $_POST['password1']; $password2 = $_POST['password2']; if ($password1 != $password2) { $isValid = false; $passwordError = "Les mots de passe ne correspondent pas !"; } else { $password = $password1; } $usermanager = new \Manager\UserManager(); if ($usermanager->emailExists($email)) { $isValid = false; $passwordError = "Email déjà utilisé !"; } else { // si c'est valide if ($isValid) { // on insère en bdd $usermanager->insert(["id" => "", "username" => "aqw", "email" => $email, "password" => password_hash($password, PASSWORD_DEFAULT), "birthday" => date("Y-m-d H:i:s"), "country" => "france", "urlpicture" => "urlpicture", "biography" => "blablabla", "created" => date("Y-m-d H:i:s"), "token" => "gsnsgnw"]); // on redirige l"utilisateur $this->show('logger/quickRegister', ["statut" => 1]); } } } } $this->show('logger/quickRegister', ["passwordError" => $passwordError]); }
public function deleteUser($userId) { // je récupère la ligne en DB $userManager = new \Manager\UserManager(); $currentUser = $userManager->find($userId); if (!is_numeric($userId)) { $this->redirectToRoute('profil'); } // je compare le mdp rentré par l'utilisateur et celui en DB if (password_verify($_POST['password-client'], $currentUser['password'])) { // si c'est true // je supprime le compte $userManager->delete($userId); // puis je le recré avec le meme id, nom et prenom mais sans pass ni email $userManager->insert(['id' => $userId, 'nom' => $currentUser['nom'], 'prenom' => $currentUser['prenom'], 'role' => 'client']); $this->redirectToRoute('logoff'); } $this->show('user/profil_error', ['errorPass' => true]); }
public function quickRegister() { unset($_SESSION['error']); if ($_POST) { $isValid = true; if (\isIsset($_POST)) { $email = $_POST['email']; $password = $_POST['password']; $passwordRepeat = $_POST['passwordRepeat']; $captcha = $_POST['g-recaptcha-response']; $response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=6LeqaRcTAAAAAKoJJAS6klv4BQ1vYwXLb2d5zZMs&response=" . $captcha . "&remoteip=" . $_SERVER['REMOTE_ADDR']); $response = json_decode($response, true); if ($response["success"]) { if (filter_var($email, FILTER_VALIDATE_EMAIL)) { if (preg_match("#^[a-zA-Z0-9]{8,12}#", $password)) { if ($password == $passwordRepeat) { $usermanager = new \Manager\UserManager(); if (!$usermanager->emailExists($email)) { // on insère en bdd $token = \W\Security\StringUtils::randomString(32); $tokentime = time() + 20 * 60; $usermanager->insert(["id" => "", "username" => $email, "email" => $email, "password" => password_hash($password, PASSWORD_DEFAULT), "birthday" => "", "country" => "", "urlpicture" => "", "biography" => "", "subscription" => 0, "created" => date("Y-m-d H:i:s"), "token" => password_hash($token, PASSWORD_DEFAULT), "token_timestamp" => $tokentime]); $user = $usermanager->getUserByUsernameOrEmail($email); $auth = new \W\Security\AuthentificationManager(); $auth->logUserIn($user); // // on redirige l"utilisateur $lien = '<a href="' . $this->generateUrl('mailAccount', ['token' => $token, 'id' => $_SESSION['user']['id']], true) . '">http://www.mudeo.dev/verif/u675CXIV9YOLHbYIjhgc8O7UNM</a>'; $lien_img = "http://img.clubic.com/07220896-photo-logo-samsung-milk-music.jpg"; $msg = "<img src='" . $lien_img . "' style='width:100px;height:100px'/> <h2>Mudéo </h2>"; $msg .= "<h4>MFF Corp.</h4><br/><br/>"; $msg .= "Pour pouvoir confirmer l'activation de votre compte sur le réseau de partage musique et vidéos de Mudéo pour le compte de <span style='font-weight:bold;'>" . strtoupper($email) . "</span>. Veuillez cliquer sur le lien suivant qui vous redirigera vers notre site<br/><br/>" . $lien; $msg .= "<br/><br/>Attention ce message s'auto-détruira dans 5.. 4.. 3.. 2.. 1.. bon dans 3 jours en fait !!!!! "; require_once 'assets/inc/mailer.php'; if (isset($errorMail)) { $_SESSION['error']['quickRegister'] = $errorMail; } else { $_SESSION['error']['quickRegister'] = "Un mail vous a été envoyer. Veuillez cliquer sur le lien pour confirmer votre inscription !"; } smtpmailer('*****@*****.**', '*****@*****.**', 'Admin', 'Vérification de la création de compte Mudéo', $msg); } else { $isValid = false; $_SESSION['error']['quickRegister'] = "Email déjà utilisé !"; } } else { $isValid = false; $_SESSION['error']['quickRegister'] = "Les mots de passe ne correspondent pas !"; } } else { $isValid = false; $_SESSION['error']['quickRegister'] = "Le mot de passe doivent faire entre 8 et 12 caractères !"; } } else { $isValid = false; $_SESSION['error']['quickRegister'] = "Le format de l'email n'est pas valide !"; } } else { $isValid = false; $_SESSION['error']['quickRegister'] = 'Là tu es un robot ! DEGAGE !!!!'; } } else { $isValid = false; $_SESSION['error']['quickRegister'] = "Veuillez remplir tous les champs !"; } } $this->redirectToRoute('home'); }
/** * Page d'inscription */ public function register() { $error = array(); $isValid = true; // si l'utilisateur est déjà connecté => redirige vers la page "Mon compte" $authentificationManager = new \W\Security\AuthentificationManager(); if ($authentificationManager->getLoggedUser()) { $this->show('user/detail_account', ['user' => $this->getUser()]); } // formulaire soumis ? if ($_POST) { $username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; $passwordConfirm = $_POST['passwordConfirm']; $lastname = $_POST['lastname']; $firstname = $_POST['firstname']; $birthyear = $_POST['birthyear']; $sex = $_POST['sex']; $job = $_POST['job']; $instructorDescription = $_POST['instructorDescription']; $studentDescription = $_POST['studentDescription']; // validation des données => à coder $isValid = true; // Contrôle des champs obligatoires sur la formation $validator = new \Utils\FormValidator(); $validator->validateNotEmpty($username, "username", "Le pseudo est obligatoire !"); $validator->validateNotEmpty($email, "email", "L'email est obligatoire !"); $validator->validateNotEmpty($password, "password", "Choisir un mot de passe !"); $validator->validateNotEmpty($passwordConfirm, "passwordConfirm", "Ressaisir le mot de passe !"); $validator->validateNotEmpty($lastname, "lastname", "Saisir votre nom !"); $validator->validateNotEmpty($firstname, "firstname", "Saisir votre prénom !"); $validator->validateNotEmpty($birthyear, "birthyear", "Saisir votre année de naissance !"); $validator->validateNotEmpty($sex, "sex", "Indiquer votre sexe !"); $validator->validateNotEmpty($job, "job", "Saisir votre métier !"); $validator->validateNotEmpty($instructorDescription, "instructorDescription", "Saisir votre description en tant que formateur !"); $validator->validateNotEmpty($studentDescription, "studentDescription", "Saisir votre description en tant qu'étudiant !"); if ($validator->isValid()) { $validator->validateEmail($email, "email", "L'email est incorrect !"); $validator->validateYear($birthyear, "birthyear", "Votre année de naissance doit être comprise entre 1900-2099 !"); $validator->validateCharacter($username, "username", "Le pseudo comporte des caractères interdits !"); } if (!$validator->isValid()) { $error = $validator->getErrors(); $isValid = false; } if ($isValid) { // 1 - on crée l'instance $userManager = new \Manager\UserManager(); // erreur pour le mail (déjà existant) if ($userManager->emailExists($email)) { $isValid = false; $error['email'] = 'Email déjà utlisé !'; } if ($userManager->usernameExists($username)) { $isValid = false; $error['username'] = '******'; } // erreur sur le mdp if ($password != $passwordConfirm) { $isValid = false; $error['passwordConfirm'] = 'Les mots de passe ne correspondent pas !'; } } // upload du fichier if ($_FILES['image']['size'] != 0) { $file = new \Utils\ImageUpload($_FILES['image'], 'assets/img/users/'); $file->uploadFile(); $file->reduceImage(false); if (!$file->isValid()) { $isValid = false; $error['image'] = $file->getErrors(); } else { $error['image'] = 'img/users/' . $file->getFileName(); $_SESSION['image_user'] = $file->getFileName(); } } else { $_SESSION['image_user'] = '******'; } // si c'est valide if ($isValid) { // on insère en base de données // 2 - on appelle la méthode insert $user = $userManager->insert(["username" => $_POST['username'], "email" => $_POST['email'], "password" => password_hash($_POST['password'], PASSWORD_DEFAULT), "lastname" => $_POST['lastname'], "firstname" => $_POST['firstname'], "birthyear" => $_POST['birthyear'], "sex" => $_POST['sex'], "job" => $_POST['job'], "instructorDescription" => $_POST['instructorDescription'], "studentDescription" => $_POST['studentDescription'], "credit" => 2, "image" => $_SESSION['image_user'], "dateCreated" => date("Y-m-d H:i:s")]); // on connecte l'utilisateur if ($user) { $userId = $userManager->lastInsertUser(); $userConnect = $userManager->find($userId['id']); $userSecurity = new \W\Security\AuthentificationManager(); // Connecte l'utiliasteur $userSecurity->logUserIn($userConnect); } // on redirige l'utilisateur vers une page de Bienvenue $this->redirectToRoute("succeedregister"); } } $this->show('user/register', ['error' => $error]); }