Exemplo n.º 1
0
 public function load(ObjectManager $manager)
 {
     $userAdmin = new User();
     // Attribution des attributs
     $userAdmin->setRoles(array('ROLE_ADMIN'));
     $userAdmin->setUsername('admin');
     $userAdmin->setMail('*****@*****.**');
     // Encodage du mot de passe
     $encoder = $this->container->get('security.password_encoder');
     $encoded = $encoder->encodePassword($userAdmin, 'admin');
     $userAdmin->setPassword($encoded);
     // Enregistrement sur la BDD
     $manager->persist($userAdmin);
     $manager->flush();
     $this->addReference('user_admin', $userAdmin);
     $user = new User();
     // Attribution des attributs
     $user->setRoles(array('ROLE_USER'));
     $user->setUsername('user');
     $user->setMail('*****@*****.**');
     // Encodage du mot de passe
     $encoder = $this->container->get('security.password_encoder');
     $encoded = $encoder->encodePassword($user, 'user');
     $user->setPassword($encoded);
     // Enregistrement sur la BDD
     $manager->persist($user);
     $manager->flush();
     $this->addReference("user", $user);
 }
Exemplo n.º 2
0
 public function inscriptionAction(Request $request)
 {
     // Récupération des données envoyées par le formulaire d'inscription
     $request = $this->container->get('request_stack')->getCurrentRequest();
     $username = $request->request->get('username');
     $password = $request->request->get('password');
     $password2 = $request->request->get('password2');
     $mail = $request->request->get('mail');
     // Récupérations des users de la base de données
     // pour comparer l'existant
     $repository = $this->getDoctrine()->getRepository('MQUserBundle:User');
     $users = $repository->findAll();
     $userDejaUtilise = false;
     $mailDelaUtilise = false;
     foreach ($users as $userCourant) {
         if ($userCourant->getUsername() == $username) {
             $userDejaUtilise = true;
         }
         if ($mail == $userCourant->getMail()) {
             $mailDelaUtilise = true;
         }
     }
     // On vérifie si le login n'est pas déjà utilisé
     if ($userDejaUtilise) {
         return $this->render('MQQuiziBundle:Default:index.html.twig', array('error_inscription' => 'Utilisateur déjà utilisé'));
     } else {
         // On vérifie que les mots de passes sont les même
         if ($password != $password2) {
             return $this->render('MQQuiziBundle:Default:index.html.twig', array('error_inscription' => 'Mots de passe différents'));
         } else {
             // On vérifie le format du mail
             if (!filter_var($mail, FILTER_VALIDATE_EMAIL)) {
                 return $this->render("MQQuiziBundle:Default:index.html.twig", array('error_inscription' => 'Format du mail incorrect : ****@***.**'));
             } else {
                 // On vérifie le mail n'est pas déjà utilisé
                 if ($mailDelaUtilise) {
                     return $this->render("MQQuiziBundle:Default:index.html.twig", array('error_inscription' => 'Mail déjà utilisé'));
                 } else {
                     // Création de l'utilisateur
                     $user = new User();
                     // Attribution des attributs
                     $user->setRoles(array('ROLE_USER'));
                     $user->setUsername($username);
                     $user->setMail($mail);
                     // Encodage du mot de passe
                     $encoder = $this->container->get('security.password_encoder');
                     $encoded = $encoder->encodePassword($user, $password);
                     $user->setPassword($encoded);
                     // Enregistrement sur la BDD
                     $em = $this->getDoctrine()->getManager();
                     $em->persist($user);
                     $em->flush();
                     if (!$user) {
                         throw new UsernameNotFoundException("User not found");
                     } else {
                         $token = new UsernamePasswordToken($user, null, "main", $user->getRoles());
                         $this->get("security.context")->setToken($token);
                         // Log le user inscrit
                         $request = $this->get("request");
                         $event = new InteractiveLoginEvent($request, $token);
                         $this->get("event_dispatcher")->dispatch("security.interactive_login", $event);
                     }
                     return $this->redirect($this->generateUrl('mq_quizi_homepage'));
                 }
             }
         }
         return $this->render("MQQuiziBundle:Default:index.html.twig");
     }
 }
 /**
  * {@inheritDoc}
  */
 public function setRoles($roles)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRoles', array($roles));
     return parent::setRoles($roles);
 }