/** * Fonction permettant d'enregistrer un utilisateur de maniere "classique" * @param string $pseudo * @param string $email * @param string $password * @param string $password2 * @param Validator $validator * @return array */ public function registerNormal($pseudo, $email, $password, $password2, Validator $validator) { $validator->checkPseudo($pseudo); $validator->checkEmail($email); $validator->checkPassword($password, $password2); if (count($validator->getErrors()) === 0) { $password = password_hash($password, PASSWORD_BCRYPT); $key = Helper::generateKey(); $sql = $this->db->prepare("INSERT INTO users(pseudo, email, password, created_at, validation_key) VALUES (?, ?, ?, NOW(), ?)"); $sql->execute([$pseudo, $email, $password, $key]); if (!$sql) { $validator->setErrors('insert', "Une erreur s'est produite"); $validator->setErrors('error', true); } else { Helper::sendValidationEmail($this->db->lastInsertId(), $email, $key); } } return $validator->getErrors(); }